@font-face{font-family:"Lexend";font-style:normal;font-weight:400;font-display:swap;src:url(/static/fonts/lexend-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Lexend";font-style:normal;font-weight:400;font-display:swap;src:url(/static/fonts/lexend-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Lexend";font-style:normal;font-weight:700;font-display:swap;src:url(/static/fonts/lexend-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Lexend";font-style:normal;font-weight:700;font-display:swap;src:url(/static/fonts/lexend-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:600;font-display:swap;src:url(/static/fonts/bricolage-grotesque-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:600;font-display:swap;src:url(/static/fonts/bricolage-grotesque-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:800;font-display:swap;src:url(/static/fonts/bricolage-grotesque-latin-800-normal.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:800;font-display:swap;src:url(/static/fonts/bricolage-grotesque-latin-ext-800-normal.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:500;font-display:swap;src:url(/static/fonts/jetbrains-mono-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:500;font-display:swap;src:url(/static/fonts/jetbrains-mono-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:700;font-display:swap;src:url(/static/fonts/jetbrains-mono-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:700;font-display:swap;src:url(/static/fonts/jetbrains-mono-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}

/* Layout: carte online — bara de sus fixă, cuprins lateral pe desktop (sertar pe telefon), pagina de lecție ca o filă de manual ilustrat */
:root{
  --navy:#0A2540; --blue:#1A56DB; --amber:#F59E0B; --amber-ink:#7A4A00;
  --bg:#F3F5F9; --page:#FFFFFF; --ink:#111827; --muted:#576074; --line:#E1E5EE;
  --t-sky:#E7F0FF; --t-sky-ink:#123E9C; --t-mint:#E2F5EA; --t-mint-ink:#11603A;
  --t-sand:#FFF2D9; --t-sand-ink:#7A4A00; --t-lilac:#EFEAFF; --t-lilac-ink:#4B2DA0;
  --ok:#11803F; --bad:#C2341B; --hero:#0A2540; --hero-ink:#F2F6FC;
  --wm:rgba(10,37,64,.06);
  --f-display:"Bricolage Grotesque", "Arial Narrow", system-ui, sans-serif;
  --f-body:"Lexend", "Segoe UI", system-ui, sans-serif;
  --f-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --navy:#9CC2FF; --blue:#7EA8FF; --amber:#FBBF3C; --amber-ink:#2A1A00;
  --bg:#08111E; --page:#0F1C2E; --ink:#E7EDF6; --muted:#9AA7BC; --line:#22324A;
  --t-sky:#132A4D; --t-sky-ink:#BFD5FF; --t-mint:#0F3326; --t-mint-ink:#A6E8C3;
  --t-sand:#3A2A0C; --t-sand-ink:#FFDDA0; --t-lilac:#251D45; --t-lilac-ink:#D3C6FF;
  --ok:#4ADE80; --bad:#FF8A70; --hero:#0B1A2E; --hero-ink:#F2F6FC; --wm:rgba(200,220,255,.05);
  color-scheme:dark }}
:root[data-theme="dark"]{
  --navy:#9CC2FF; --blue:#7EA8FF; --amber:#FBBF3C; --amber-ink:#2A1A00;
  --bg:#08111E; --page:#0F1C2E; --ink:#E7EDF6; --muted:#9AA7BC; --line:#22324A;
  --t-sky:#132A4D; --t-sky-ink:#BFD5FF; --t-mint:#0F3326; --t-mint-ink:#A6E8C3;
  --t-sand:#3A2A0C; --t-sand-ink:#FFDDA0; --t-lilac:#251D45; --t-lilac-ink:#D3C6FF;
  --ok:#4ADE80; --bad:#FF8A70; --hero:#0B1A2E; --hero-ink:#F2F6FC; --wm:rgba(200,220,255,.05);
  color-scheme:dark }
*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.6}
h1,h2,h3{font-family:var(--f-display);text-wrap:balance;line-height:1.12;margin:0}
button,input{font:inherit}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.mono{font-family:var(--f-mono)}
@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}

/* ---------- LOGIN ---------- */
#login{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.login-hero{background:var(--hero);color:var(--hero-ink);padding-block:56px;padding-left:max(40px, env(safe-area-inset-left,0px));padding-right:40px;display:flex;flex-direction:column;gap:28px;justify-content:center;position:relative;overflow:hidden}
.brand{font-family:var(--f-mono);font-weight:700;letter-spacing:.14em;font-size:13px;text-transform:uppercase;color:#FBBF3C}
.login-hero h1{font-size:clamp(34px,5vw,58px);font-weight:800;max-width:14ch;color:var(--hero-ink)}
.login-hero h1 em{font-style:normal;color:#FBBF3C}
.login-hero p{max-width:46ch;color:#C9D6EA;margin:0}
.facts{display:flex;flex-wrap:wrap;gap:12px 28px;margin:0;padding:0;list-style:none}
.facts li{display:flex;flex-direction:column}
.facts b{font-family:var(--f-display);font-size:34px;color:#fff;line-height:1}
.facts span{font-size:13px;color:#9FB2CF;letter-spacing:.06em;text-transform:uppercase}
.hero-crew{display:flex;align-items:flex-end;gap:6px}
.hero-crew img{height:120px;width:auto}
.login-hero svg.rings{position:absolute;right:-120px;top:-120px;width:420px;opacity:.18;pointer-events:none}
.login-form{display:flex;align-items:center;justify-content:center;padding-block:48px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));background:var(--bg)}
.login-form form{width:100%;max-width:400px;display:flex;flex-direction:column;gap:18px}
.login-form h2{font-size:30px}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:14px;font-weight:700;color:var(--muted)}
.field input{padding:13px 14px;border-radius:10px;border:1.5px solid var(--line);background:var(--page);color:var(--ink)}
.field input:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 25%,transparent)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:10px;padding:13px 18px;font-weight:700;cursor:pointer;background:var(--blue);color:#fff}
.btn:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
.btn.amber{background:var(--amber);color:#1C1300}
.err{color:var(--bad);font-size:14px;min-height:1.2em;margin:0}
.demo-note{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin:0}

/* ---------- READER ---------- */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--hero)}
.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--hero);color:var(--hero-ink);display:flex;align-items:center;gap:16px;padding-block:10px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px))}
.topbar .brand{white-space:nowrap}
.progress{flex:1;display:flex;align-items:center;gap:10px;min-width:0}
.bar{flex:1;height:8px;border-radius:99px;background:rgba(255,255,255,.14);overflow:hidden;max-width:360px}
.bar i{display:block;height:100%;background:#FBBF3C;width:0;transition:width .4s}
.progress span{font-family:var(--f-mono);font-size:12px;color:#C9D6EA;white-space:nowrap}
.user{display:flex;align-items:center;gap:10px;font-size:13px;color:#C9D6EA;min-width:0}
.user .email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:22ch}
.topbar button{background:transparent;border:1px solid rgba(255,255,255,.28);color:#fff;border-radius:8px;padding:6px 10px;cursor:pointer;font-size:13px;white-space:nowrap}
#tocBtn{display:none}
.shell{display:grid;grid-template-columns:300px minmax(0,1fr);gap:0;max-width:1320px;margin:0 auto}
aside.toc{position:sticky;top:calc(env(safe-area-inset-top,0px) + 52px);align-self:start;height:calc(100vh - 52px);overflow:auto;padding:28px 18px 40px max(18px, env(safe-area-inset-left,0px));border-right:1px solid var(--line)}
.toc h3{font-size:13px;font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:22px 0 8px}
.toc h3:first-child{margin-top:0}
.toc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.toc a{display:grid;grid-template-columns:28px minmax(0,1fr) 18px;align-items:center;gap:8px;padding:8px 10px;border-radius:9px;color:var(--ink);text-decoration:none;font-size:15px;line-height:1.3}
.toc a .n{font-family:var(--f-mono);font-size:12px;color:var(--muted)}
.toc a:hover{background:var(--t-sky)}
.toc a[aria-current="page"]{background:var(--t-sky);color:var(--t-sky-ink);font-weight:700}
.toc a.locked{color:var(--muted);cursor:default}
.toc a.locked:hover{background:transparent}
.toc .st{font-size:13px;text-align:center}
.toc .st.done{color:var(--ok)}
.mod-soon{font-size:14px;color:var(--muted);padding:6px 10px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.mod-soon em{font-style:normal;font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;background:var(--line);color:var(--muted);padding:2px 7px;border-radius:99px;white-space:nowrap}

main{padding-block:32px 80px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));min-width:0;position:relative}
article.lesson{max-width:780px;margin:0 auto;background:var(--page);border:1px solid var(--line);border-radius:18px;padding:clamp(20px,4vw,48px);display:flex;flex-direction:column;gap:26px;position:relative;box-shadow:0 1px 0 var(--line),0 18px 40px -28px rgba(10,37,64,.35)}
.tag{align-self:flex-start;font-family:var(--f-mono);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 12px;border-radius:99px;background:var(--amber);color:#1C1300}
.lesson h1{font-size:clamp(30px,4.4vw,44px);font-weight:800;color:var(--ink)}
.lead{font-size:19px;color:var(--muted);margin:0;max-width:62ch}
figure{margin:0;border-radius:14px;background:var(--t-sky);padding:18px;display:flex;flex-direction:column;gap:10px}
figure svg{width:100%;height:auto;display:block}
figcaption{font-size:14px;color:var(--t-sky-ink)}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.card{border-radius:14px;padding:18px 18px 16px;display:flex;flex-direction:column;gap:6px;min-width:0}
.card h3{font-family:var(--f-mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.card p{margin:0;font-size:16px}
.card.sky{background:var(--t-sky);color:var(--t-sky-ink)}
.card.mint{background:var(--t-mint);color:var(--t-mint-ink)}
.card.sand{background:var(--t-sand);color:var(--t-sand-ink)}
.card.lilac{background:var(--t-lilac);color:var(--t-lilac-ink)}
.card .big{font-family:var(--f-display);font-size:30px;font-weight:800;line-height:1}
.prose p{margin:0 0 12px;max-width:66ch}
.prose ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.dialog{display:flex;flex-direction:column;gap:14px}
.say{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;align-items:end}
.say.r{grid-template-columns:minmax(0,1fr) 72px}
.say img{width:72px;height:72px;object-fit:contain}
.say .b{background:var(--bg);border:1px solid var(--line);border-radius:16px 16px 16px 4px;padding:12px 16px;font-size:16px}
.say.r .b{border-radius:16px 16px 4px 16px;background:var(--t-sky);border-color:transparent;color:var(--t-sky-ink)}
.say .who{display:block;font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.say.r .who{color:inherit;opacity:.8}
.remember{background:var(--hero);color:var(--hero-ink);border-radius:14px;padding:18px 20px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start}
.remember b{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;background:#FBBF3C;color:#1C1300;padding:5px 9px;border-radius:6px}
.remember p{margin:0;font-size:17px}
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px}
table{border-collapse:collapse;width:100%;font-size:15px;min-width:520px}
th,td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--bg)}
tr:last-child td{border-bottom:0}
td .pill{display:inline-block;font-family:var(--f-mono);font-size:12px;font-weight:700;padding:2px 8px;border-radius:6px;margin:0 4px 4px 0;background:var(--t-sky);color:var(--t-sky-ink)}
.quiz{border:1.5px dashed var(--line);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:18px}
.quiz h2{font-size:22px}
.q{display:flex;flex-direction:column;gap:8px}
.q p{margin:0;font-weight:700}
.opts{display:flex;flex-direction:column;gap:8px}
.opt{text-align:left;background:var(--page);color:var(--ink);border:1.5px solid var(--line);border-radius:10px;padding:10px 14px;cursor:pointer}
.opt:hover:not([disabled]){border-color:var(--blue)}
.opt.right{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,var(--page))}
.opt.wrong{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,var(--page))}
.opt[disabled]{cursor:default}
.expl{font-size:15px;color:var(--muted);margin:0}
.score{font-family:var(--f-mono);font-size:14px;color:var(--muted)}
.pager{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.pager .btn{min-width:0}
.donebar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:20px}
.donebar span{font-size:15px;color:var(--muted)}
.watermark{position:fixed;inset:0;pointer-events:none;z-index:15;background-repeat:repeat}
._old_proto{max-width:780px;margin:0 auto 16px;font-size:13px;color:var(--muted);display:flex;gap:8px;align-items:center}
._old_proto i{font-style:normal;font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;background:var(--t-sand);color:var(--t-sand-ink);padding:2px 8px;border-radius:99px}
/* svg tokens */
.s-sky{fill:var(--t-sky)} .s-page{fill:var(--page)} .s-ink{fill:var(--ink)} .s-muted{fill:var(--muted)}
.s-navy{fill:var(--navy)} .s-blue{fill:var(--blue)} .s-amber{fill:var(--amber)} .s-ok{fill:var(--ok)} .s-bad{fill:var(--bad)}
.s-mint{fill:var(--t-mint)} .s-sand{fill:var(--t-sand)} .s-lilac{fill:var(--t-lilac)} .s-line{fill:var(--line)}
.k-ink{stroke:var(--ink)} .k-muted{stroke:var(--muted)} .k-blue{stroke:var(--blue)} .k-amber{stroke:var(--amber)} .k-bad{stroke:var(--bad)}
.k-navy{stroke:var(--navy)} .k-line{stroke:var(--line)} .k-ok{stroke:var(--ok)} .k-page{stroke:var(--page)} .s-hero{fill:var(--hero)} .s-heroink{fill:var(--hero-ink)}
[hidden]{display:none!important}
figure svg text,.stfig svg text{font-family:var(--f-body)}
svg .sm{font-size:13px} svg .xs{font-size:11px} svg .b7{font-weight:700} svg .mono{font-family:var(--f-mono)}
svg text{font-family:var(--f-mono);font-size:13px}
svg .lbl{font-family:var(--f-display);font-weight:800;font-size:18px}

/* v3: Adrian cu corp, cursanți la alegere */
.av{width:64px;height:64px;border-radius:50%;object-fit:cover;background:var(--t-sand);border:3px solid var(--page);box-shadow:0 0 0 2px var(--line);flex:none}
.av.ph{display:grid;place-items:center;background:var(--c);color:#fff;font-family:var(--f-display);font-weight:800;font-size:28px;line-height:1}
.say .av{width:64px;height:64px}
article .say.r{grid-template-columns:minmax(0,1fr) 175px}
article .say.l{grid-template-columns:105px minmax(0,1fr)}
.say img.stud{width:105px;height:auto;max-height:140px;object-fit:contain;object-position:bottom}
.say img.adr{width:175px;height:auto;max-height:235px;object-fit:contain;object-position:bottom}
.hero-crew{align-items:flex-end;gap:18px}
.hero-crew img.adr{height:230px;width:auto}
.studs{display:flex;padding-bottom:8px}
.studs .av{width:58px;height:58px;margin-left:-12px;border-color:var(--hero);box-shadow:none}
.studs .av:first-child{margin-left:0}
.me{display:inline-flex;text-decoration:none}
.me .av{width:32px;height:32px;border-width:2px;font-size:15px;box-shadow:none;border-color:rgba(255,255,255,.5)}
.pick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.pick button{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 12px 16px;border-radius:16px;border:2px solid var(--line);background:var(--page);color:var(--ink);cursor:pointer;min-width:0}
.pick button:hover{border-color:var(--blue)}
.pick button[aria-pressed="true"]{border-color:var(--amber);background:var(--t-sand);color:var(--t-sand-ink)}
.pick .bust{height:180px;width:auto;max-width:100%;object-fit:contain;object-position:bottom}
.pick button{padding-bottom:14px;overflow:hidden}
.pick b{font-family:var(--f-display);font-size:22px}
.pick small{font-size:13px;color:var(--muted)}
.pick button[aria-pressed="true"] small{color:inherit}
.pick .soon{font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;background:var(--line);color:var(--muted);padding:2px 7px;border-radius:99px}
.bravo{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:end;gap:14px;background:var(--t-mint);color:var(--t-mint-ink);border-radius:14px;padding:12px 16px 0;overflow:hidden}
.bravo img{width:110px;height:auto;display:block}
.bravo p{margin:0 0 18px;font-weight:700;font-size:17px}
@media (max-width: 760px){ .pick{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width: 560px){ article .say.r{grid-template-columns:minmax(0,1fr) 112px} article .say.l{grid-template-columns:68px minmax(0,1fr)} .say img.stud{width:68px} .say img.adr{width:112px} .say .av{width:52px;height:52px} .hero-crew img.adr{height:160px} .bravo{grid-template-columns:84px minmax(0,1fr)} .bravo img{width:84px} }
/* v2: beginner-friendly */
.cards.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.card .term,.rules .term{margin-top:auto}
.term{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-family:var(--f-mono);font-size:12px;font-weight:700;padding:3px 8px 3px 3px;border-radius:7px;background:color-mix(in srgb,currentColor 10%,transparent)}
.term span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:2px 6px;border-radius:5px;background:color-mix(in srgb,currentColor 16%,transparent)}
.rules{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.rules li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start;padding:14px 16px;border-radius:14px;background:var(--bg);border:1px solid var(--line)}
.rules .num{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--amber);color:#1C1300;font-family:var(--f-display);font-size:22px;font-weight:800}
.rules h3{font-size:20px;margin-bottom:2px}
.rules p{margin:0;color:var(--muted)}
.rules .term{color:var(--t-sky-ink)}
details.curios{border:1.5px solid var(--line);border-radius:14px;padding:0 18px;background:var(--page)}
details.curios summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:14px 0;font-weight:700}
details.curios summary::-webkit-details-marker{display:none}
details.curios summary::after{content:"+";margin-left:auto;font-family:var(--f-mono);font-size:20px;color:var(--muted)}
details.curios[open] summary::after{content:"–"}
details.curios summary small{font-weight:400;color:var(--muted);font-size:14px}
details.curios .prose{padding-bottom:16px}
.gloss{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.gloss div{padding:14px 16px;border-radius:12px;background:var(--bg);border:1px solid var(--line);min-width:0}
.gloss dt{font-family:var(--f-mono);font-weight:700;font-size:14px;color:var(--t-sky-ink);background:var(--t-sky);display:inline-block;padding:2px 8px;border-radius:6px;margin-bottom:6px}
.gloss dd{margin:0;font-size:15px}
@media (max-width: 760px){ .cards.c3{grid-template-columns:minmax(0,1fr)} .gloss{grid-template-columns:minmax(0,1fr)} }

@media (max-width: 900px){
  #login{grid-template-columns:minmax(0,1fr)}
  .login-hero{padding-block:36px;padding-left:max(20px, env(safe-area-inset-left,0px));padding-right:max(20px, env(safe-area-inset-right,0px))}
  .hero-crew img{height:84px}
  .shell{grid-template-columns:minmax(0,1fr)}
  #tocBtn{display:inline-block}
  aside.toc{position:fixed;top:calc(env(safe-area-inset-top,0px) + 52px);left:0;bottom:0;width:min(86vw,340px);height:auto;background:var(--page);z-index:25;transform:translateX(-105%);transition:transform .25s;box-shadow:0 0 40px rgba(0,0,0,.25)}
  aside.toc.open{transform:none}
  .user .email{display:none}
}
@media (max-width: 560px){
  body{font-size:16px}
  .cards{grid-template-columns:minmax(0,1fr)}
  .progress span{display:none}
  .topbar .brand{display:none}
  .figscroll{overflow-x:auto}
  .figscroll svg{min-width:560px}
  .say{grid-template-columns:52px minmax(0,1fr)}
  .say.r{grid-template-columns:minmax(0,1fr) 52px}
  .say img{width:52px;height:52px}
  .remember{grid-template-columns:minmax(0,1fr)}
  .remember b{justify-self:start}
}

/* ---------- DroneHUB: completări platformă ---------- */
.alert{border-radius:10px;padding:12px 14px;font-size:15px;margin:0}
.alert.err{background:color-mix(in srgb,var(--bad) 12%,var(--page));color:var(--bad);border:1px solid color-mix(in srgb,var(--bad) 35%,transparent)}
.alert.ok{background:color-mix(in srgb,var(--ok) 12%,var(--page));color:var(--ok);border:1px solid color-mix(in srgb,var(--ok) 35%,transparent)}
.alert.info{background:var(--t-sand);color:var(--t-sand-ink)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted)}
.check input{margin-top:4px;width:18px;height:18px;flex:none}
.links{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px}
.links a,.legal-links a{color:var(--blue)}
.linkbtn{background:none;border:0;color:var(--blue);padding:0;cursor:pointer;text-decoration:underline;font-size:14px}
.msg{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding-block:40px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px))}
.msg article{max-width:520px;width:100%;background:var(--page);border:1px solid var(--line);border-radius:18px;padding:32px;display:flex;flex-direction:column;gap:16px}
.msg h1{font-size:30px}
.msg p{margin:0}
.testbar{max-width:780px;margin:0 auto 16px;font-size:13px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--t-sand);color:var(--t-sand-ink);border-radius:10px;padding:8px 12px}
.testbar b{font-family:var(--f-mono);letter-spacing:.06em}
.testbar form{margin-left:auto}
.status-pill{font-family:var(--f-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:99px;background:var(--line);color:var(--muted)}
.updated{font-size:13px;color:var(--muted);font-family:var(--f-mono)}
.atentie{background:color-mix(in srgb,var(--bad) 10%,var(--page));border:1px solid color-mix(in srgb,var(--bad) 30%,transparent);border-radius:14px;padding:14px 18px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px}
.atentie b{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;color:var(--bad);padding-top:3px}
.atentie p{margin:0}
.video{border-radius:14px;overflow:hidden;background:var(--hero);aspect-ratio:16/9;max-width:100%;display:grid;place-items:center}
.video button{background:none;border:0;color:#fff;display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;font:inherit;padding:20px}
.video button span.play{width:72px;height:72px;border-radius:50%;background:#FBBF3C;color:#1C1300;display:grid;place-items:center;font-size:28px}
.video small{color:#C9D6EA}
.video iframe{width:100%;height:100%;border:0}
.surse{font-size:13px;color:var(--muted)}
.surse ul{margin:6px 0 0;padding-left:18px}
.surse a{color:var(--muted)}
.prose table,.tabelbloc table{border-collapse:collapse;width:100%;font-size:15px}
.tabelbloc{overflow-x:auto;border:1px solid var(--line);border-radius:12px}
.tabelbloc th,.tabelbloc td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line)}
.tabelbloc th{font-family:var(--f-mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--bg)}
.notice{max-width:780px;margin:0 auto 16px}
.panel{background:var(--page);border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:14px}
.panel h2{font-size:22px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form-row{display:flex;flex-direction:column;gap:12px;max-width:420px}
.danger{color:var(--bad)}
.btn.danger{background:var(--bad);color:#fff}
.btn.small{padding:7px 12px;font-size:14px}
.devices{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.devices li{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:14px}
.devices span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.legal{max-width:760px;margin:0 auto;padding-block:40px 80px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px))}
.legal h1{font-size:36px;margin-bottom:12px}
.legal h2{font-size:22px;margin:26px 0 8px}
.foot{max-width:780px;margin:24px auto 0;font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px 16px}
.foot a{color:var(--muted)}
/* admin */
.admin-shell{max-width:1200px;margin:0 auto;padding-block:28px 80px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));display:flex;flex-direction:column;gap:20px}
.admin-nav{display:flex;flex-wrap:wrap;gap:8px}
.admin-nav a{padding:8px 14px;border-radius:9px;border:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:700;font-size:14px;background:var(--page)}
.admin-nav a[aria-current="page"]{background:var(--t-sky);color:var(--t-sky-ink);border-color:transparent}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.kpi{background:var(--page);border:1px solid var(--line);border-radius:14px;padding:16px}
.kpi b{display:block;font-family:var(--f-display);font-size:32px;line-height:1.1;font-variant-numeric:tabular-nums}
.kpi span{font-size:13px;color:var(--muted)}
.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--page)}
.tbl table{border-collapse:collapse;width:100%;font-size:14px;min-width:640px}
.tbl th,.tbl td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl th{font-family:var(--f-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--bg)}
.tbl td.num{font-variant-numeric:tabular-nums}
.tag-live{background:var(--ok);color:#fff}
.tag-test{background:var(--amber);color:#1C1300}
.inline{display:inline}
@media (max-width: 760px){ .grid2{grid-template-columns:minmax(0,1fr)} }

/* ---------- ALEGERI, PAȘI, PROFIL (v1.1) ---------- */
.choice,.profile{border:1.5px solid var(--line);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:14px;background:var(--page)}
.choice h3,.profile h3{font-size:22px}
.choice-tag{align-self:flex-start;font-family:var(--f-mono);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:var(--t-lilac);color:var(--t-lilac-ink);padding:4px 9px;border-radius:6px}
.choice-help{margin:-6px 0 0;color:var(--muted);font-size:15px}
.copts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.copt{display:flex;align-items:center;gap:10px;text-align:left;background:var(--bg);color:var(--ink);border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;cursor:pointer;min-height:56px;transition:border-color .15s,background .15s}
.copt:hover{border-color:var(--blue)}
.copt.on{border-color:var(--blue);background:var(--t-sky);color:var(--t-sky-ink);box-shadow:inset 0 0 0 1px var(--blue)}
.copt .ci{font-size:24px;line-height:1;flex:none}
.choice .cans{margin-top:2px}
article .choice .say.r{grid-template-columns:minmax(0,1fr) 110px}
.say img.adr.sm{width:110px;max-height:150px}
.choice-err{margin:0;color:var(--bad);font-size:15px}
.steps{border-radius:14px;background:var(--t-sky);padding:18px;display:flex;flex-direction:column;gap:14px}
.steps h3{font-size:20px;color:var(--t-sky-ink)}
.stlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px}
.step{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:18px;align-items:center}
.step:not(:has(.stfig)){grid-template-columns:minmax(0,1fr)}
.steps.js .step{display:none}
.steps.js .step.on{display:grid}
.stfig svg,.stfig img{width:100%;height:auto;display:block}
.sttxt{display:flex;flex-direction:column;gap:6px;color:var(--t-sky-ink)}
.sttxt .stn{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;opacity:.8}
.sttxt b{font-family:var(--f-display);font-size:22px;line-height:1.15}
.sttxt p{margin:0;font-size:16px}
.stnav{display:flex;align-items:center;justify-content:space-between;gap:10px}
.stnav .dots{display:flex;gap:6px}
.stnav .dots i{width:9px;height:9px;border-radius:50%;background:var(--t-sky-ink);opacity:.25}
.stnav .dots i.on{opacity:1}
.stnav button[disabled]{opacity:.45;cursor:default}
.pf-sel{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.pf-sel li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed var(--line);padding:6px 0;font-size:15px}
.pf-sel li span{color:var(--muted)}
.pf-sel li b{text-align:right}
.pf-wait{margin:0;color:var(--muted)}
.pf-res{background:var(--hero);color:var(--hero-ink);border-radius:12px;padding:16px 18px}
.pf-res h4{margin:0 0 6px;font-family:var(--f-display);font-size:20px;color:#FBBF3C}
.pf-res p{margin:0}
@media (max-width: 560px){ .step{grid-template-columns:minmax(0,1fr)} .copts{grid-template-columns:minmax(0,1fr)} article .choice .say.r{grid-template-columns:minmax(0,1fr) 58px} .say img.adr.sm{width:58px} .choice,.profile{padding:16px} }

/* ---------- VERIFICĂ RAPID (v1.2) ---------- */
.check{border-left:5px solid var(--amber);background:var(--page);border-radius:0 14px 14px 0;padding:16px 18px;display:flex;flex-direction:column;gap:10px;box-shadow:inset 0 0 0 1px var(--line)}
.check-tag{align-self:flex-start;font-family:var(--f-mono);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:var(--t-sand);color:var(--t-sand-ink);padding:4px 9px;border-radius:6px}
.check-body{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:center}
.check-body:has(.check-fig){grid-template-columns:minmax(0,200px) minmax(0,1fr)}
.check-fig svg,.check-fig img{width:100%;height:auto;display:block}
.check .q{margin:0 0 10px;font-weight:600}
.check-opts{display:flex;flex-direction:column;gap:8px}
.check-fb{margin:10px 0 0;font-size:15px}
.check.is-ok .check-fb b{color:var(--ok)}
.check:not(.is-ok) .check-fb b{color:var(--bad)}
@media (max-width: 560px){ .check-body:has(.check-fig){grid-template-columns:minmax(0,1fr)} .check-fig{max-width:220px} }

/* cursantul cu ochelari FPV, in dialogurile despre zbor (v1.2) */
article .say.l:has(img.fpv){grid-template-columns:140px minmax(0,1fr)}
.say img.stud.fpv{width:140px;max-height:190px}
@media (max-width: 560px){ article .say.l:has(img.fpv){grid-template-columns:90px minmax(0,1fr)} .say img.stud.fpv{width:90px;max-height:130px} }
