:root{--bg:#080d1c;--bg2:#0d1430;--card:#121a38;--card2:#182244;--line:#232f5c;--line2:rgba(130,150,255,0.28);--text:#eaeeff;--muted:#8f9bc4;--brand:#6d8dff;--brand2:#9a6bff;--accent:#22d3ee;--ok:#34d399;--warn:#fbbf24;--err:#fb7185;--t0:#8f9bc4;--t1:#60a5fa;--t2:#a78bfa;--t3:#fbbf24;--radius:14px}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{line-height:1.2;margin:0 0 .5rem;letter-spacing:-.015em}::selection{background:rgba(109,141,255,.3)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.wrap{max-width:1180px;margin:0 auto;padding:1.5rem 16px 4rem}:root{--nav-h:60px;--vh:1vh}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:70;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 clamp(14px,3vw,32px)}.nav:before{content:"";position:absolute;inset:0;z-index:-1;border-bottom:1px solid transparent;background:rgba(8,13,28,.72);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);transition:background .25s,border-color .25s,box-shadow .25s}.nav.scrolled:before{background:rgba(8,13,28,.9);border-bottom-color:rgba(130,150,255,.16);box-shadow:0 10px 30px -18px rgba(0,0,0,.8)}.nav-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;transform-origin:0 50%;transform:scaleX(var(--sp,0));background:linear-gradient(90deg,var(--brand),var(--accent));opacity:.9;pointer-events:none}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:1.1rem;color:var(--text);letter-spacing:-.02em;flex:none}.brand:hover{text-decoration:none}.brand .mark{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--brand),var(--brand2));box-shadow:0 6px 18px -6px var(--brand)}.nav-links{display:flex;align-items:center;gap:2px;margin-inline:auto}.nav-links>a,.nav-trigger{color:#c4cdf0;padding:.45rem .8rem;border-radius:10px;font-weight:500;font-size:.93rem;background:none;border:0;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:6px}.nav-links>a:hover,.nav-trigger:hover,.nav-trigger[aria-expanded=true]{background:rgba(130,150,255,.12);text-decoration:none;color:#fff}.nav-links>a.on{color:#fff;background:rgba(130,150,255,.14)}.nav-trigger svg{transition:transform .2s}.nav-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.nav-end{display:flex;align-items:center;gap:10px;flex:none}.menu-wrap{position:relative}.menu{position:absolute;top:calc(100% + 10px);min-width:260px;padding:8px;border-radius:16px;border:1px solid var(--line2);background:#0f1636;box-shadow:0 28px 60px -20px rgba(0,0,0,.85);z-index:80;animation:menu-in .16s ease-out}.menu.right{right:0}.menu.left{left:-40px;width:340px}@keyframes menu-in{0%{opacity:0;transform:translateY(-6px)}}.menu a,.menu button.mi{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border-radius:11px;color:var(--text);background:none;border:0;text-align:left;font:inherit;cursor:pointer}.menu a:hover,.menu button.mi:hover{background:rgba(130,150,255,.12);text-decoration:none}.menu .mi-ico{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex:none;font-size:1.15rem;background:rgba(130,150,255,.12)}.menu .mi-t b{display:block;font-size:.92rem}.menu .mi-t span{display:block;color:var(--muted);font-size:.78rem}.menu hr{border:0;border-top:1px solid var(--line);margin:6px 4px}.menu .mi-head{padding:10px 12px 8px}.menu .mi-head b{display:block}.menu .mi-head span{color:var(--muted);font-size:.8rem}.avatar-btn{display:inline-flex;align-items:center;gap:9px;padding:4px 10px 4px 4px;border-radius:99px;border:1px solid var(--line2);background:rgba(130,150,255,.06);color:var(--text);font:inherit;font-size:.88rem;cursor:pointer}.avatar-btn:hover{background:rgba(130,150,255,.14)}.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:.8rem;color:#fff;background:linear-gradient(135deg,var(--brand),var(--brand2))}.nav-toggle{display:none;width:42px;height:42px;place-items:center;border-radius:12px;border:1px solid var(--line2);background:rgba(130,150,255,.06);color:var(--text);cursor:pointer}.drawer-back{position:fixed;inset:0;z-index:90;background:rgba(4,7,18,.62);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade .2s}@keyframes fade{0%{opacity:0}}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:95;width:min(360px,92vw);display:flex;flex-direction:column;gap:4px;padding:14px 14px 22px;overflow-y:auto;background:#0b1230;border-left:1px solid var(--line2);box-shadow:-30px 0 70px -20px rgba(0,0,0,.8);animation:drawer-in .26s cubic-bezier(.2,.8,.2,1)}@keyframes drawer-in{0%{transform:translateX(40px);opacity:0}}.drawer-top{justify-content:space-between;margin-bottom:10px}.drawer a.dl,.drawer-top{display:flex;align-items:center}.drawer a.dl{gap:12px;padding:13px 12px;border-radius:12px;color:var(--text);font-weight:600;font-size:1.02rem}.drawer a.dl.on,.drawer a.dl:hover{background:rgba(130,150,255,.12);text-decoration:none}.drawer .dl-sub{padding:14px 12px 4px;color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.drawer .dl-end{margin-top:auto;display:grid;grid-gap:10px;gap:10px;padding-top:18px}@media (max-width:960px){.nav-end .hide-md,.nav-links{display:none}.nav-toggle{display:inline-grid}}@media (max-width:420px){.nav-end{gap:6px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;border:1px solid transparent;border-radius:11px;padding:.62rem 1.1rem;font-weight:650;cursor:pointer;font-size:.92rem;font-family:inherit;box-shadow:0 8px 20px -10px var(--brand2);transition:transform .12s,filter .15s,box-shadow .15s}.btn:hover{text-decoration:none;filter:brightness(1.1);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn.ghost{background:rgba(130,150,255,.06);border:1px solid var(--line2);color:var(--text);box-shadow:none}.btn.ghost:hover{background:rgba(130,150,255,.14)}.btn.sm{padding:.3rem .65rem;font-size:.8rem;border-radius:9px}.btn.lg{padding:.9rem 1.6rem;font-size:1rem;border-radius:13px}.btn.block{width:100%}.spinner{width:15px;height:15px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(1turn)}}.card{background:linear-gradient(180deg,rgba(130,150,255,.05),rgba(130,150,255,0)),var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.15rem}.grid{display:grid;grid-gap:1rem;gap:1rem}.grid.c2{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid.c3{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.muted{color:var(--muted)}.small{font-size:.85rem}.pill{display:inline-block;padding:1px 9px;border-radius:99px;font-size:.72rem;font-weight:700;border:1px solid}.pill.t0{color:var(--t0)}.pill.t1{color:var(--t1)}.pill.t2{color:var(--t2)}.pill.t3{color:var(--t3)}.pill.soon{color:var(--muted);border-style:dashed}.row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.grad{background:linear-gradient(120deg,#7aa2ff,#b18cff 55%,#22d3ee);-webkit-background-clip:text;background-clip:text;color:transparent}.ok{color:var(--ok)}.err{color:var(--err);font-size:.9rem;margin-top:.6rem}.chips{display:flex;gap:.4rem;flex-wrap:wrap;margin:.5rem 0 1rem}.chip{padding:.35rem .9rem;border-radius:99px;border:1px solid var(--line2);background:transparent;color:var(--text);cursor:pointer;font-size:.85rem;font-weight:600;font-family:inherit;transition:all .15s}.chip:hover{background:rgba(130,150,255,.12)}.chip.on{background:linear-gradient(135deg,var(--brand),var(--brand2));border-color:transparent;color:#fff}.exp{display:flex;flex-direction:column;gap:.4rem;color:var(--text);transition:transform .15s,border-color .15s,box-shadow .15s}.exp:hover{border-color:var(--brand);text-decoration:none;transform:translateY(-2px);box-shadow:0 14px 30px -18px var(--brand)}.exp.dim{opacity:.55}input,select,textarea{width:100%;background:rgba(8,13,28,.7);color:var(--text);border:1px solid var(--line2);border-radius:11px;padding:.65rem .8rem;font:inherit;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px rgba(109,141,255,.18)}label{display:block;font-size:.82rem;font-weight:600;color:#b9c3e8;margin:.8rem 0 .3rem}.form{max-width:420px;margin:3rem auto}.alert{display:flex;gap:10px;padding:.7rem .9rem;border-radius:12px;font-size:.88rem;border:1px solid var(--line2);background:rgba(130,150,255,.08);align-items:flex-start}.alert.err{background:rgba(251,113,133,.12);border-color:rgba(251,113,133,.4);color:#fda4af}.alert.ok{background:rgba(52,211,153,.12);border-color:rgba(52,211,153,.4);color:#6ee7b7}.alert.info{background:rgba(96,165,250,.12);border-color:rgba(96,165,250,.35);color:#93c5fd}.auth{min-height:calc(100vh - var(--nav-h));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.auth-hero{position:relative;overflow:hidden;padding:48px;display:flex;flex-direction:column;justify-content:center;gap:22px;color:#fff;background:linear-gradient(145deg,#191f68,#4b2db8 50%,#0b6e8c)}.auth-hero .orb{position:absolute;border-radius:50%;filter:blur(55px);opacity:.55;animation:float 12s ease-in-out infinite}.orb.a{width:360px;height:360px;background:#7c5cff;left:-90px;top:-70px}.orb.b{width:300px;height:300px;background:#22d3ee;right:-70px;bottom:40px;animation-delay:-4s}.orb.c{width:220px;height:220px;background:#f472b6;left:38%;bottom:-80px;animation-delay:-8s}@keyframes float{50%{transform:translate(28px,-24px) scale(1.07)}}.auth-hero>*{position:relative;z-index:1}.auth-hero h2{font-size:clamp(1.8rem,3.2vw,2.6rem);font-weight:800;letter-spacing:-.03em;line-height:1.12;max-width:13em;margin:0}.auth-hero p{opacity:.85;max-width:34em;margin:0}.auth-points{display:grid;grid-gap:12px;gap:12px}.auth-points div{display:flex;gap:12px;align-items:center;padding:11px 14px;border-radius:14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.auth-panel{display:grid;place-items:center;padding:32px 22px}.auth-card{width:100%;max-width:420px}.auth-card h2{font-size:1.7rem;font-weight:800;letter-spacing:-.03em;margin-bottom:4px}.auth-card>p{color:var(--muted);margin:4px 0 22px}.stack{display:grid;grid-gap:16px;gap:16px}.stack label{margin:0 0 6px}.field-wrap{position:relative}.field-wrap .eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;background:transparent;color:var(--muted);cursor:pointer;border-radius:8px;display:grid;place-items:center}.field-wrap .eye:hover{background:rgba(130,150,255,.12);color:var(--text)}.field-wrap input.pw{padding-right:46px}.otp{display:flex;gap:10px;justify-content:space-between}.otp input{width:100%;min-width:0;text-align:center;font-size:1.5rem;font-weight:800;padding:0;height:56px}.strength{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:5px;gap:5px;margin-top:8px}.strength i{height:5px;border-radius:4px;background:#1f2b55;transition:background .2s}.strength.s1 i:nth-child(-n+1){background:var(--err)}.strength.s2 i:nth-child(-n+2){background:var(--warn)}.strength.s3 i:nth-child(-n+3){background:var(--t1)}.strength.s4 i{background:var(--ok)}.hint{font-size:.76rem;color:var(--muted);margin-top:5px}.steps{display:flex;gap:8px;margin:14px 0 22px}.steps i{flex:1 1;height:4px;border-radius:4px;background:#1f2b55}.steps i.on{background:linear-gradient(90deg,var(--brand),var(--brand2))}@media (max-width:900px){.auth{grid-template-columns:1fr}.auth-hero{display:none}}.lab{display:grid;grid-template-columns:minmax(0,1fr) 380px;grid-gap:12px;gap:12px;height:calc(var(--vh) * 100 - var(--nav-h));padding:12px}.lab.embed{position:fixed;inset:0;height:auto;overflow:auto}.stage{display:flex;flex-direction:column;min-height:0;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#0b1220}.stage-bar{flex:none;justify-content:space-between;gap:10px;padding:8px 10px;background:rgba(15,22,54,.9);border-bottom:1px solid var(--line)}.stage .tools,.stage-bar{display:flex;align-items:center;flex-wrap:wrap}.stage .tools{gap:6px}.stage .tools select.speed{width:auto;padding:3px 8px;border-radius:9px}.stage-note{flex:none;min-height:2rem;padding:6px 12px;font-size:.82rem;color:#c9d3f5;background:rgba(15,22,54,.9);border-top:1px solid var(--line);line-height:1.3}.stage-view{position:relative;flex:1 1 auto;min-height:240px}.stage-canvas{position:absolute;inset:0}.hud{flex:none;background:rgba(11,18,32,.92);border-top:1px solid var(--line);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;max-height:34%;overflow:auto}.hud-head{display:flex;width:100%;justify-content:space-between;align-items:center;gap:10px;padding:.45rem .8rem;background:none;border:0;color:var(--text);font:inherit;font-size:.85rem;cursor:pointer;text-align:left}.hud-head span{color:var(--muted);font-size:.7rem}.hud-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));grid-gap:2px 18px;gap:2px 18px;padding:0 .8rem .55rem}.hud-grid>div{display:flex;justify-content:space-between;gap:10px;font-size:.82rem}.hud-grid b{color:var(--brand);font-weight:600}.side{flex-direction:column;overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:14px}.side,.tabs{display:flex}.tabs{border-bottom:1px solid var(--line)}.tabs button{flex:1 1;background:none;border:0;color:var(--muted);padding:.7rem .3rem;cursor:pointer;font-weight:600;border-bottom:2px solid transparent}.tabs button.on{color:var(--text);border-color:var(--brand);background:rgba(109,141,255,.14)}.pane{padding:12px 14px;overflow:auto;flex:1 1}.ctrl{margin-bottom:.9rem}.ctrl .top{display:flex;justify-content:space-between;font-size:.85rem}.ctrl .top b{color:var(--brand);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ctrl input[type=range]{padding:0;accent-color:var(--brand)}.theory h4{margin:1rem 0 .3rem;color:var(--brand);font-size:.9rem;text-transform:uppercase;letter-spacing:.04em}.theory ol,.theory ul{margin:0;padding-left:1.2rem}.theory li{margin-bottom:.35rem}.theory .formula{font-family:Cambria Math,Times New Roman,serif;background:var(--bg);border-left:3px solid var(--brand2);padding:.35rem .6rem;margin:.3rem 0;border-radius:4px;font-size:1rem}canvas.graph{width:100%;height:190px;background:var(--bg);border:1px solid var(--line);border-radius:10px}@media (max-width:900px){.lab{grid-template-columns:1fr;grid-template-rows:auto auto}.lab,.stage{height:auto}.stage-view{flex:none;height:calc(var(--vh) * 48);min-height:280px}.side{max-height:none}.hud{max-height:calc(var(--vh) * 38)}.hud-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.stage .tools .btn{padding:.3rem .5rem}}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:.5rem;border-bottom:1px solid var(--line);font-size:.9rem}body:has(.embed-root) .nav,body:has(.embed-root) .site-footer{display:none}.lang-switch{display:inline-flex;padding:2px;border-radius:99px;border:1px solid var(--line2);background:rgba(130,150,255,.06)}.lang-switch button{border:0;background:transparent;color:var(--muted);font:700 .78rem/1 inherit;padding:.38rem .7rem;border-radius:99px;cursor:pointer}.lang-switch button.on{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff}.bell{position:relative}.bell-btn{position:relative;width:38px;height:38px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--line2);background:rgba(130,150,255,.06);color:var(--text);cursor:pointer}.bell-btn .dot{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--err);color:#fff;font-size:.68rem;font-weight:800;display:grid;place-items:center}.bell-pop{position:absolute;right:0;top:calc(100% + 10px);width:min(380px,calc(100vw - 24px));max-height:70vh;overflow:auto;z-index:60;border-radius:16px;border:1px solid var(--line2);background:#0f1636;box-shadow:0 24px 60px -20px rgba(0,0,0,.7)}.bell-pop header{justify-content:space-between;align-items:center;font-weight:700}.bell-item,.bell-pop header{display:flex;padding:12px 14px;border-bottom:1px solid var(--line)}.bell-item{gap:10px;color:var(--text)}.bell-item:hover{background:rgba(130,150,255,.08);text-decoration:none}.bell-item.new{background:rgba(109,141,255,.09)}.bell-item b{display:block;font-size:.9rem}.bell-item span{font-size:.8rem;color:var(--muted)}@media (max-width:760px){.bell-pop{position:fixed;left:12px;right:12px;top:calc(var(--nav-h) + 6px);width:auto}}.labicon{flex:none;display:inline-grid;place-items:center;border-radius:14px;color:#fff;background:linear-gradient(135deg,#5b7bff,#9a6bff);box-shadow:0 10px 22px -10px rgba(109,141,255,.8),inset 0 1px 0 rgba(255,255,255,.25)}.labicon.chemistry{background:linear-gradient(135deg,#ec4899,#14b8a6);box-shadow:0 10px 22px -10px rgba(236,72,153,.75),inset 0 1px 0 rgba(255,255,255,.25)}.labicon.done{background:linear-gradient(135deg,#10b981,#22d3ee);box-shadow:0 10px 22px -10px rgba(16,185,129,.8),inset 0 1px 0 rgba(255,255,255,.25)}.labicon.locked{background:linear-gradient(135deg,#3a4678,#2a3260);box-shadow:none;opacity:.8}.li-swing{animation:li-swing 1.8s ease-in-out infinite alternate}@keyframes li-swing{0%{transform:rotate(-28deg)}to{transform:rotate(28deg)}}.li-dash{animation:li-dash 1.2s linear infinite}@keyframes li-dash{to{stroke-dashoffset:-14}}.li-ray{animation:li-pulse 1.6s ease-in-out infinite}.li-ray2{animation:li-pulse 1.6s ease-in-out .5s infinite}@keyframes li-pulse{50%{opacity:.25}}.li-zap{animation:li-zap 1.3s ease-in-out infinite;transform-origin:center}@keyframes li-zap{0%,60%,to{transform:scale(1);opacity:1}70%{transform:scale(1.18);opacity:.6}80%{transform:scale(.95);opacity:1}}.li-wob{animation:li-wob 2.2s ease-in-out infinite}@keyframes li-wob{25%{transform:rotate(-9deg)}75%{transform:rotate(9deg)}}.li-flame{animation:li-flame .9s ease-in-out infinite alternate}@keyframes li-flame{0%{transform:scale(1) rotate(-3deg)}to{transform:scale(.88,1.1) rotate(3deg)}}.li-fall{animation:li-fall 1.8s ease-in infinite}@keyframes li-fall{0%{transform:translateY(-4px);opacity:0}20%{opacity:1}to{transform:translateY(5px);opacity:1}}.li-bounce{animation:li-bounce 1s cubic-bezier(.3,0,.6,1) infinite alternate}@keyframes li-bounce{to{transform:translateY(11px)}}.li-spin{animation:li-spin 6s linear infinite}.li-spin.slow{animation-duration:11s}@keyframes li-spin{to{transform:rotate(1turn)}}.li-blink{animation:li-pulse 1.2s steps(2) infinite}.li-drip{animation:li-drip 1.4s ease-in infinite}@keyframes li-drip{0%{transform:translateY(-5px);opacity:0}30%{opacity:1}to{transform:translateY(2px);opacity:0}}.li-liquid{animation:li-liquid 2.4s ease-in-out infinite alternate}@keyframes li-liquid{to{transform:translateY(-1.5px)}}.li-b1{animation:li-rise 2s ease-in infinite}.li-b2{animation:li-rise 2s ease-in .7s infinite}.li-b3{animation:li-rise 2s ease-in 1.3s infinite}@keyframes li-rise{0%{transform:translateY(2px);opacity:0}25%{opacity:1}to{transform:translateY(-7px);opacity:0}}@media (prefers-reduced-motion:reduce){.labicon,.labicon *{animation:none!important}}.rp-back{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px;background:rgba(4,7,18,.7);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.rp-card{width:100%;max-width:460px;max-height:92vh;overflow:auto;padding:20px;border-radius:18px;background:#0f1636;border:1px solid var(--line2);box-shadow:0 30px 80px -20px rgba(0,0,0,.8)}.rp-card textarea{resize:vertical;min-height:96px}.stars{display:flex;gap:4px}.stars button{border:0;background:transparent;font-size:1.7rem;line-height:1;color:#39446f;cursor:pointer;padding:2px;transition:transform .12s,color .12s}.stars button.on{color:#fbbf24}.stars button:hover{transform:scale(1.2)}@media (max-width:520px){.rp-label{display:none}}.dash-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:14px}.dash-head h1{font-size:clamp(1.6rem,4vw,2.2rem);margin-bottom:4px}.dash-search{max-width:280px}.dash-filters,.dash-stats{align-items:center}.dash-stats{display:grid;grid-template-columns:auto minmax(120px,1fr) minmax(0,2fr);grid-gap:20px;gap:20px;padding:18px 22px;border-radius:20px;margin:4px 0 18px;border:1px solid var(--line2);background:radial-gradient(500px 200px at 0 0,rgba(109,141,255,.22),transparent 70%),linear-gradient(135deg,#131c44,#0e1536)}.dash-stats.chemistry{background:radial-gradient(500px 200px at 0 0,rgba(236,72,153,.2),transparent 70%),linear-gradient(135deg,#1a1740,#0e1536)}.ds-text b{display:block;font-size:1.15rem}.ds-text span{color:var(--muted);font-size:.9rem}.ds-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.ds{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;border:1px solid var(--line);background:rgba(8,13,28,.55);border-radius:14px;padding:10px 12px;color:var(--text);font:inherit;cursor:pointer;display:block;transition:transform .15s,border-color .15s}button.ds:hover{transform:translateY(-2px);border-color:var(--brand)}.ds b{display:block;font-size:1.5rem;line-height:1.1}.ds span{font-size:.72rem;color:var(--muted)}.ds.ok b{color:var(--ok)}.ds.warn b{color:var(--warn)}.dash-tabs{margin:0 0 6px}.dash-tabs .chip b{opacity:.75;margin-left:4px}.dash-sec{margin-top:22px}.dash-sec h3{display:flex;align-items:center;gap:8px;font-size:1.15rem}.dash-sec h3 small{color:var(--muted);font-weight:600}.chap{margin:14px 0 6px}.chap h4{margin:0 0 8px;color:#b9c3e8;font-size:.92rem;font-weight:700}.lgrid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}.lgrid.big{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.lcard{position:relative;display:flex;gap:14px;align-items:center;padding:14px;border-radius:18px;color:var(--text);border:1px solid var(--line);background:linear-gradient(180deg,rgba(130,150,255,.07),rgba(130,150,255,0)),var(--card);transition:transform .18s,box-shadow .18s,border-color .18s;overflow:hidden}.lcard:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#5b7bff,#9a6bff);opacity:.9}.lcard.chemistry:before{background:linear-gradient(180deg,#ec4899,#14b8a6)}.lcard:hover{text-decoration:none;transform:translateY(-3px);border-color:var(--brand);box-shadow:0 18px 36px -20px var(--brand)}.lcard.completed{background:linear-gradient(180deg,rgba(52,211,153,.1),rgba(52,211,153,.02)),var(--card);border-color:rgba(52,211,153,.35)}.lcard.completed:before{background:linear-gradient(180deg,#10b981,#22d3ee)}.lcard.progress{border-color:rgba(251,191,36,.4);background:linear-gradient(180deg,rgba(251,191,36,.09),rgba(251,191,36,.01)),var(--card)}.lcard.progress:before{background:linear-gradient(180deg,#fbbf24,#f97316)}.lcard.dim{opacity:.62}.lcard.big{padding:18px}.lc-body{flex:1 1;min-width:0}.lc-body b{display:block;font-size:.98rem;line-height:1.3;margin-bottom:6px}.lc-chips{flex-wrap:wrap}.lc-chips,.lc-foot{display:flex;gap:5px}.lc-foot{align-items:center;margin-top:8px;font-size:.78rem;font-weight:600}.lc-foot.ok{color:var(--ok)}.lc-foot.warn{color:var(--warn)}.lc-bar{height:5px;border-radius:4px;background:rgba(251,191,36,.18);margin-top:7px;overflow:hidden}.lc-bar i{display:block;height:100%;background:linear-gradient(90deg,#fbbf24,#f97316);border-radius:4px}.lc-cta{flex:none;padding:.38rem .8rem;border-radius:99px;font-size:.78rem;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--brand),var(--brand2))}.lc-cta.completed{background:rgba(52,211,153,.18);color:var(--ok)}.lc-cta.progress{background:linear-gradient(135deg,#f59e0b,#f97316)}.dash-empty{text-align:center;padding:36px 10px;color:var(--muted)}.dash-skel{display:grid;grid-gap:14px;gap:14px}.dash-skel i{height:110px;border-radius:18px;background:linear-gradient(90deg,#121a38,#1a2450,#121a38);background-size:200% 100%;animation:sk 1.4s linear infinite}@keyframes sk{to{background-position:-200% 0}}@media (max-width:820px){.dash-stats{grid-template-columns:auto 1fr}.ds-tiles{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.dash-search{max-width:none;width:100%}}@media (max-width:420px){.lgrid,.lgrid.big{grid-template-columns:1fr}.lc-cta{display:none}}.labicon.biology{background:linear-gradient(135deg,#22c55e,#84cc16);box-shadow:0 10px 22px -10px rgba(34,197,94,.75),inset 0 1px 0 rgba(255,255,255,.25)}.lcard.biology:before{background:linear-gradient(180deg,#22c55e,#84cc16)}.dash-stats.biology{background:radial-gradient(500px 200px at 0 0,rgba(34,197,94,.2),transparent 70%),linear-gradient(135deg,#10261f,#0e1536)}.site-footer{position:relative;margin-top:0;border-top:1px solid rgba(130,150,255,.16);background:linear-gradient(180deg,#070b1a,#050814);color:#9aa6d3}.site-footer:before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(109,141,255,.7),rgba(34,211,238,.5),transparent)}.sf-wrap{max-width:1180px;margin:0 auto;padding:clamp(40px,6vw,72px) 20px 28px}.sf-top{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(4,minmax(0,1fr));grid-gap:clamp(24px,4vw,48px);gap:clamp(24px,4vw,48px)}.sf-brand p{margin:14px 0 18px;max-width:34ch;font-size:.92rem;line-height:1.65}.sf-lang{display:flex;align-items:center;gap:10px}.sf-col{display:flex;flex-direction:column;gap:4px;min-width:0}.sf-col h4{margin:0 0 10px;color:#e6ebff;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}.sf-col a{color:#9aa6d3;font-size:.92rem;padding:5px 0;width:-moz-fit-content;width:fit-content;max-width:100%;overflow-wrap:anywhere;transition:color .15s,transform .15s}.sf-col a:hover{color:#fff;text-decoration:none;transform:translateX(3px)}.sf-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px 24px;flex-wrap:wrap;margin-top:clamp(28px,5vw,52px);padding-top:22px;border-top:1px solid rgba(130,150,255,.14);font-size:.82rem}.sf-note{flex:1 1 320px;max-width:62ch;color:#6f7ba8;font-size:.76rem;line-height:1.5}.sf-top-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:99px;border:1px solid rgba(130,150,255,.25);background:rgba(130,150,255,.06);color:#c4cdf0;font:inherit;font-size:.8rem;cursor:pointer;transition:background .2s,transform .2s}.sf-top-btn:hover{background:rgba(130,150,255,.16);transform:translateY(-2px)}@media (max-width:1000px){.sf-top{grid-template-columns:repeat(3,minmax(0,1fr))}.sf-brand{grid-column:1/-1}}@media (max-width:560px){.sf-top{grid-template-columns:repeat(2,minmax(0,1fr))}.sf-bottom{flex-direction:column;align-items:flex-start}.sf-top-btn{align-self:stretch;justify-content:center}}body{min-height:100vh;display:flex;flex-direction:column}.site-footer{margin-top:auto}body>*{min-width:0}.legal{display:grid;grid-template-columns:220px minmax(0,760px);grid-gap:clamp(24px,5vw,64px);gap:clamp(24px,5vw,64px);max-width:1100px;margin:0 auto;padding:clamp(28px,5vw,64px) 20px clamp(48px,8vw,96px);width:100%}.legal-nav{position:-webkit-sticky;position:sticky;top:calc(var(--nav-h) + 24px);align-self:start;display:grid;grid-gap:4px;gap:4px}.legal-nav a{padding:10px 14px;border-radius:11px;color:#aab5df;font-weight:500;font-size:.93rem}.legal-nav a:hover{background:rgba(130,150,255,.1);text-decoration:none;color:#fff}.legal-nav a.on{background:rgba(130,150,255,.16);color:#fff}.legal-body h1{font-size:clamp(1.8rem,4vw,2.6rem);letter-spacing:-.03em;margin:6px 0 12px}.legal-intro{font-size:1.05rem;color:#c3cdf2;margin:0 0 8px}.legal-body h2{font-size:1.2rem;margin:2rem 0 .6rem;letter-spacing:-.01em}.legal-body li,.legal-body p{color:#b5c0e6;line-height:1.75;font-size:.98rem}.legal-body ul{padding-left:1.2rem;display:grid;grid-gap:.5rem;gap:.5rem}.legal-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;margin:18px 0 10px}.legal-cards h3{font-size:1rem;margin-bottom:6px}.legal-cards p{margin:0;font-size:.9rem}@media (max-width:860px){.legal{grid-template-columns:1fr}.legal-nav{position:static;grid-auto-flow:column;overflow-x:auto;gap:6px;padding-bottom:6px}.legal-nav a{white-space:nowrap;border:1px solid rgba(130,150,255,.2)}.legal-cards{grid-template-columns:1fr}}.app-loader{display:grid;justify-items:center;align-content:center;grid-gap:.6rem;gap:.6rem;padding:2rem 1rem;color:var(--muted);min-height:40vh;min-height:calc(var(--vh, 1vh) * 40)}.app-loader.full{position:fixed;inset:0;z-index:80;min-height:0;background:var(--bg,#080d1c)}.app-loader p{margin:0;font-size:.9rem;animation:al-pulse 1.6s ease-in-out infinite}.app-loader .al-core{transform-box:fill-box;transform-origin:center;animation:al-core 1.8s ease-in-out infinite}@keyframes al-pulse{50%{opacity:.55}}@keyframes al-core{50%{transform:scale(1.18)}}@media (prefers-reduced-motion:reduce){.app-loader .al-core,.app-loader p{animation:none}}.hint-list{list-style:none;margin:0 0 .8rem;padding:0;display:grid;grid-gap:.55rem;gap:.55rem}.hint-item{display:flex;gap:.65rem;padding:.65rem .75rem;border-radius:12px;border:1px solid rgba(251,191,36,.35);background:rgba(251,191,36,.07);animation:hint-in .25s ease-out}.hint-ico{flex:none;font-size:1.15rem;line-height:1.4}.hint-item b{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#fbbf24}.hint-item p{margin:.15rem 0 0;font-size:.9rem}@keyframes hint-in{0%{opacity:0;transform:translateY(6px)}}.theory .viva-list{list-style:none;counter-reset:viva;padding:0;display:grid;grid-gap:.5rem;gap:.5rem}.theory .viva-list li{counter-increment:viva;position:relative;margin:0;padding:.6rem .75rem .6rem 2.5rem;border-radius:12px;border:1px solid var(--line);background:var(--bg)}.theory .viva-list li:before{content:counter(viva);position:absolute;left:.7rem;top:.6rem;width:1.4rem;height:1.4rem;border-radius:50%;display:grid;place-items:center;font-size:.75rem;font-weight:700;background:rgba(109,141,255,.2);color:var(--brand)}