:root{--void:#03040b;--abyss:#060915;--deep:#0a0f22;--deep-2:#0e1530;--plate:#0d142c9e;--plate-solid:#0d1430;--plate-hi:#162146b8;--glass:#6ea0ff0d;--line:#78afff21;--line-mid:#78beff3d;--line-strong:#6edcff80;--text:#e9f2ff;--text-2:#b8c6e4;--text-dim:#8495ba;--text-faint:#56638a;--cyan:#46e6ff;--cyan-2:#1fb7ff;--blue:#4d7cff;--violet:#a283ff;--indigo:#5d4bff;--magenta:#ff4fd8;--amber:#ffb84d;--red:#ff5b7f;--green:#48f5b0;--accent:var(--cyan);--accent-2:var(--violet);--accent-rgb:70, 230, 255;--st-unknown:#52628c;--st-assessed:#7d8db0;--st-weak:#ff5b7f;--st-developing:#ffb84d;--st-proficient:#46e6ff;--st-mastered:#b48cff;--st-locked:#2e3550;--font-display:"Chakra Petch", "Rajdhani", "Segoe UI", system-ui, sans-serif;--font-body:"Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", "Cascadia Code", "Consolas", ui-monospace, monospace;--r-xs:3px;--r-sm:6px;--r-md:10px;--chamfer:14px;--glow-cyan:0 0 18px #46e6ff59, 0 0 2px #46e6ffcc;--glow-violet:0 0 22px #a283ff66, 0 0 2px #a283ffe6;--shadow-deep:0 30px 80px -30px #000c;--nav-w:248px;--top-h:64px;--gutter:clamp(16px, 2.6vw, 36px);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-snap:cubic-bezier(.2, .9, .1, 1.2);--t-fast:.14s;--t-med:.32s;--t-slow:.7s;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=violet]{--accent:#b48cff;--accent-2:#46e6ff;--accent-rgb:180, 140, 255}[data-theme=magenta]{--accent:#ff5fe0;--accent-2:#a283ff;--accent-rgb:255, 95, 224}[data-theme=aurora]{--accent:#48f5b0;--accent-2:#46e6ff;--accent-rgb:72, 245, 176}[data-motion=reduced] *,[data-motion=reduced] :before,[data-motion=reduced] :after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}@media (prefers-reduced-motion:reduce){[data-motion=system] *,[data-motion=system] :before,[data-motion=system] :after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html,body,#root{min-height:100%}body{background:var(--void);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.55;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:.01em;margin:0;font-weight:600;line-height:1.15}h1{font-size:clamp(28px,3.6vw,44px)}h2{font-size:clamp(20px,2.2vw,26px)}h3{font-size:17px}p{margin:0 0 .6em}a{color:var(--accent);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}img,svg{max-width:100%;display:block}code,kbd,.mono{font-family:var(--font-mono)}kbd{border:1px solid var(--line-mid);color:var(--text-dim);background:#ffffff08;border-bottom-width:2px;border-radius:4px;padding:1px 6px;font-size:11px}::selection{background:rgba(var(--accent-rgb), .35)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1000;background:var(--accent);color:#001;border-radius:6px;padding:8px 14px;font-weight:600;position:absolute;top:-60px;left:12px}.skip-link:focus{top:12px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#78aaff29 padding-box padding-box;border:2px solid #0000;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#78c8ff4d padding-box padding-box}.atmosphere{z-index:0;pointer-events:none;background:radial-gradient(120% 90% at 50% 0%, #0a1030 0%, var(--void) 62%);position:fixed;inset:0;overflow:hidden}.atmosphere .cloud{filter:blur(70px);opacity:.55;mix-blend-mode:screen;border-radius:50%;animation:38s ease-in-out infinite alternate drift;position:absolute}.atmosphere .c1{background:radial-gradient(circle,#1fa0ff59,#0000 65%);width:62vw;height:52vw;top:-22vw;left:-18vw}.atmosphere .c2{background:radial-gradient(circle,#8c5aff52,#0000 62%);width:54vw;height:54vw;animation-duration:46s;top:6vh;right:-20vw}.atmosphere .c3{background:radial-gradient(circle,#ff46d229,#0000 60%);width:50vw;height:40vw;animation-duration:54s;bottom:-28vw;left:22vw}.atmosphere .c4{background:radial-gradient(circle, rgba(var(--accent-rgb), .12), transparent 60%);width:30vw;height:30vw;animation-duration:30s;bottom:8vh;right:18vw}.atmosphere .grid{transform-origin:50% 100%;background-image:linear-gradient(#5aaaff1a 1px,#0000 1px),linear-gradient(90deg,#5aaaff1a 1px,#0000 1px);background-size:64px 64px;height:60%;animation:14s linear infinite gridflow;position:absolute;bottom:-10%;left:-50%;right:-50%;transform:perspective(600px)rotateX(64deg);-webkit-mask-image:linear-gradient(#0000 25%,#000000bf);mask-image:linear-gradient(#0000 25%,#000000bf)}.atmosphere .horizon{background:linear-gradient(90deg, transparent, rgba(var(--accent-rgb), .35), transparent);height:1px;box-shadow:0 0 30px rgba(var(--accent-rgb), .35);position:absolute;bottom:38%;left:0;right:0}.atmosphere .scan{background:repeating-linear-gradient(#ffffff05 0 1px,#0000 1px 3px);position:absolute;inset:0}.atmosphere .noise{opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.9'/%3E%3C/svg%3E");animation:1.2s steps(4,end) infinite grain;position:absolute;inset:-50%}.atmosphere .sweep{background:linear-gradient(to bottom, transparent, rgba(var(--accent-rgb), .05), transparent);height:30vh;animation:11s linear infinite sweep;position:absolute;top:-30vh;left:0;right:0}.atmosphere canvas{width:100%;height:100%;position:absolute;inset:0}.atmosphere .vignette{background:radial-gradient(120% 100% at 50% 40%,#0000 55%,#0009 100%);position:absolute;inset:0}[data-effects=minimal] .atmosphere .cloud,[data-effects=minimal] .atmosphere .sweep,[data-effects=minimal] .atmosphere canvas,[data-effects=balanced] .atmosphere .noise{display:none}@keyframes drift{0%{transform:translate(0,0)scale(1)}to{transform:translate(4vw,3vh)scale(1.12)}}@keyframes gridflow{0%{background-position:0 0}to{background-position:0 64px}}@keyframes grain{0%{transform:translate(0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-1%,3%)}}@keyframes sweep{0%{top:-30vh}to{top:110vh}}.shell{z-index:1;grid-template-columns:var(--nav-w) minmax(0, 1fr);min-height:100vh;display:grid;position:relative}.main{flex-direction:column;min-width:0;display:flex}.page{padding:26px var(--gutter) 90px;width:100%;max-width:1480px;animation:page-in var(--t-slow) var(--ease-out) both;margin:0 auto}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:26px;display:flex}.page-head .lede{color:var(--text-dim);max-width:70ch;margin-top:8px}@keyframes page-in{0%{opacity:0;filter:blur(4px);transform:translateY(14px)}to{opacity:1;filter:none;transform:none}}.rail{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(#080c1edb,#050814bd);flex-direction:column;height:100vh;padding:18px 14px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.rail:after{content:"";background:linear-gradient(to bottom, transparent, rgba(var(--accent-rgb), .5), transparent 60%);width:1px;height:100%;position:absolute;top:0;right:-1px}.brand{color:var(--text);align-items:center;gap:12px;padding:4px 8px 18px;display:flex;text-decoration:none!important}.brand-mark{flex:none;width:34px;height:34px}.brand-name{font-family:var(--font-display);letter-spacing:.32em;font-size:17px;font-weight:700}.brand-sub{font-family:var(--font-mono);letter-spacing:.18em;color:var(--text-faint);text-transform:uppercase;font-size:9.5px}.nav-group{margin-top:14px}.nav-group-label{font-family:var(--font-mono);letter-spacing:.24em;color:var(--text-faint);text-transform:uppercase;align-items:center;gap:8px;padding:0 10px 6px;font-size:10px;display:flex}.nav-group-label:after{content:"";background:linear-gradient(90deg, var(--line-mid), transparent);flex:1;height:1px}.nav-item{color:var(--text-dim);transition:color var(--t-fast), background var(--t-fast);border-radius:6px;align-items:center;gap:11px;padding:7px 10px;font-size:14px;display:flex;position:relative;text-decoration:none!important}.nav-item svg{opacity:.8;flex:none;width:17px;height:17px}.nav-item:hover{color:var(--text);background:#78aaff0f}.nav-item.active{color:var(--text);background:linear-gradient(90deg, rgba(var(--accent-rgb), .16), rgba(var(--accent-rgb), .02) 70%)}.nav-item.active:before{content:"";background:var(--accent);width:3px;box-shadow:var(--glow-cyan);border-radius:0 3px 3px 0;position:absolute;top:6px;bottom:6px;left:-14px}.nav-item.active svg{color:var(--accent);opacity:1;filter:drop-shadow(0 0 6px rgba(var(--accent-rgb), .7))}.nav-item .count{font-family:var(--font-mono);color:var(--red);background:#ff5b7f26;border-radius:8px;margin-left:auto;padding:0 6px;font-size:10.5px}.nav-item .count.cool{background:rgba(var(--accent-rgb), .12);color:var(--accent)}.rail-foot{font-family:var(--font-mono);color:var(--text-faint);letter-spacing:.08em;margin-top:auto;padding:12px 8px 4px;font-size:10px}.topbar{z-index:20;height:var(--top-h);padding:0 var(--gutter);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);background:linear-gradient(#040610db,#0406108c);align-items:center;gap:14px;display:flex;position:sticky;top:0}.topbar:after{content:"";background:linear-gradient(90deg, transparent 5%, rgba(var(--accent-rgb), .45), transparent 60%);height:1px;position:absolute;bottom:-1px;left:0;right:0}.cmd-trigger{border:1px solid var(--line-mid);max-width:520px;color:var(--text-faint);text-align:left;transition:border-color var(--t-fast), box-shadow var(--t-fast);background:#0a102899;border-radius:8px;flex:1;align-items:center;gap:10px;padding:9px 14px;font-size:14px;display:flex}.cmd-trigger:hover{border-color:var(--line-strong);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .08);color:var(--text-dim)}.cmd-trigger svg{width:16px;height:16px}.cmd-trigger kbd{margin-left:auto}.top-stats{align-items:center;gap:18px;margin-left:auto;display:flex}.icon-btn{width:38px;height:38px;color:var(--text-dim);transition:all var(--t-fast);background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;display:grid;position:relative}.icon-btn:hover{color:var(--text);border-color:var(--line-mid);background:#78aaff0d}.icon-btn svg{width:19px;height:19px}.icon-btn .dot{background:var(--magenta);width:8px;height:8px;box-shadow:0 0 10px var(--magenta);border-radius:50%;position:absolute;top:8px;right:8px}.mobile-nav{display:none}@media (max-width:900px){.shell{grid-template-columns:1fr}.rail{display:none}.rail.open{z-index:60;height:100%;display:flex;position:fixed;inset:0 22% 0 0}.rail-scrim{z-index:59;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000008c;position:fixed;inset:0}.mobile-nav{z-index:40;height:64px;padding-bottom:env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line-mid);background:#050814eb;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav a,.mobile-nav button{font-size:10.5px;font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-faint);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;display:flex;text-decoration:none!important}.mobile-nav a.active{color:var(--accent)}.mobile-nav svg{width:20px;height:20px}.page{padding:18px 16px 100px}.top-stats .hide-sm,.cmd-trigger kbd{display:none}.topbar{gap:8px;padding:0 12px}}@media (min-width:901px){.only-mobile{display:none!important}}.row{align-items:center;gap:12px;display:flex}.row.wrap{flex-wrap:wrap}.row.top{align-items:flex-start}.row.between{justify-content:space-between}.stack{flex-direction:column;gap:12px;display:flex}.stack.tight{gap:6px}.stack.loose{gap:22px}.grow{flex:1;min-width:0}.grid{gap:16px;display:grid}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.auto{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.split{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:28px;display:grid}@media (max-width:1200px){.split{grid-template-columns:1fr}.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.grid.two,.grid.three,.grid.four{grid-template-columns:1fr}}.muted{color:var(--text-dim)}.faint{color:var(--text-faint)}.small{font-size:13px}.tiny{font-size:11.5px}.center{text-align:center}.nowrap{white-space:nowrap}.mt{margin-top:14px}.mt-l{margin-top:28px}.mb{margin-bottom:14px}.sys{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--text-faint);align-items:center;gap:8px;font-size:10.5px;display:inline-flex}.sys .code{color:var(--accent);opacity:.9}.sys:before{content:"";border:1px solid var(--accent);width:6px;height:6px;box-shadow:0 0 8px rgba(var(--accent-rgb), .7);transform:rotate(45deg)}.sys.plain:before{display:none}.divider{background:linear-gradient(90deg, rgba(var(--accent-rgb), .5), #78aaff1f 40%, transparent);height:1px;margin:22px 0;position:relative}.divider:before{content:"";background:var(--accent);width:5px;height:5px;box-shadow:var(--glow-cyan);position:absolute;top:-2px;left:0;transform:rotate(45deg)}.plate{background:linear-gradient(135deg, rgba(var(--accent-rgb), .06), transparent 40%), var(--plate);border:1px solid var(--line);clip-path:polygon(var(--chamfer) 0, 100% 0, 100% calc(100% - var(--chamfer)), calc(100% - var(--chamfer)) 100%, 0 100%, 0 var(--chamfer));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:18px 20px;position:relative}.plate:before{content:"";top:0;left:var(--chamfer);background:linear-gradient(90deg, rgba(var(--accent-rgb), .7), transparent);width:40%;height:1px;position:absolute}.plate.flat{clip-path:none;border-radius:var(--r-md)}.plate.hi{background:linear-gradient(135deg, rgba(var(--accent-rgb), .1), transparent 50%), var(--plate-hi);border-color:var(--line-mid)}.plate.interactive{transition:transform var(--t-med) var(--ease-out), border-color var(--t-fast), background var(--t-fast);cursor:pointer}.plate.interactive:hover{border-color:var(--line-strong);transform:translateY(-2px)}.plate.tight{padding:12px 14px}.bracket{padding:22px 24px;position:relative}.bracket>.bk{border-color:rgba(var(--accent-rgb), .75);pointer-events:none;width:16px;height:16px;filter:drop-shadow(0 0 4px rgba(var(--accent-rgb), .6));border-style:solid;position:absolute}.bracket>.bk.tl{border-width:2px 0 0 2px;top:0;left:0}.bracket>.bk.tr{border-width:2px 2px 0 0;top:0;right:0}.bracket>.bk.bl{border-width:0 0 2px 2px;bottom:0;left:0}.bracket>.bk.br{border-width:0 2px 2px 0;bottom:0;right:0}.bracket.violet>.bk{filter:drop-shadow(0 0 4px #a283ffb3);border-color:#a283ffd9}.band{padding-left:18px;position:relative}.band:before{content:"";background:linear-gradient(to bottom, var(--accent), rgba(var(--accent-rgb), .05));width:2px;box-shadow:0 0 10px rgba(var(--accent-rgb), .5);position:absolute;top:4px;bottom:4px;left:0}.btn{--b:var(--accent);border:1px solid rgba(var(--accent-rgb), .55);background:linear-gradient(180deg, rgba(var(--accent-rgb), .18), rgba(var(--accent-rgb), .06));color:var(--text);font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);transition:all var(--t-fast);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;display:inline-flex;position:relative;text-decoration:none!important}.btn:hover{background:linear-gradient(180deg, rgba(var(--accent-rgb), .32), rgba(var(--accent-rgb), .1));box-shadow:0 0 24px rgba(var(--accent-rgb), .35)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.btn svg{width:16px;height:16px}.btn.primary{background:linear-gradient(180deg, var(--accent), var(--cyan-2));color:#021018;text-shadow:none;border-color:#0000}.btn.primary:hover{box-shadow:0 0 30px rgba(var(--accent-rgb), .6);filter:brightness(1.08)}.btn.violet{--accent-rgb:162, 131, 255;border-color:#a283ff99}.btn.ghost{border-color:var(--line-mid);color:var(--text-2);background:0 0}.btn.ghost:hover{border-color:var(--line-strong);color:var(--text);box-shadow:none;background:#78aaff0d}.btn.danger{--accent-rgb:255, 91, 127;border-color:#ff5b7f80}.btn.sm{clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px);padding:6px 12px;font-size:12px}.btn.lg{padding:14px 26px;font-size:15.5px}.btn.block{width:100%}.link-btn{color:var(--accent);font-size:inherit;background:0 0;border:0;padding:0}.link-btn:hover{text-decoration:underline}.field{flex-direction:column;gap:6px;display:flex}.field>label,.label{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);font-size:10.5px}.input,.select,.textarea{border:1px solid var(--line-mid);width:100%;color:var(--text);transition:border-color var(--t-fast), box-shadow var(--t-fast);background:#060a1abf;border-radius:6px;padding:10px 12px}.input:focus,.select:focus,.textarea:focus{border-color:rgba(var(--accent-rgb), .8);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .15), inset 0 0 12px rgba(var(--accent-rgb), .06);outline:none}.textarea{resize:vertical;min-height:120px;line-height:1.6}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-dim) 50%), linear-gradient(135deg, var(--text-dim) 50%, transparent 50%);background-position:calc(100% - 16px),calc(100% - 11px);background-repeat:no-repeat;background-size:5px 5px;padding-right:30px}.input.big{font-size:20px;font-family:var(--font-mono);padding:14px 16px}.tiles{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;display:grid}.tile{text-align:left;border:1px solid var(--line-mid);transition:all var(--t-fast);background:#0a102699;border-radius:8px;flex-direction:column;gap:4px;padding:14px 16px;display:flex;position:relative}.tile:hover{border-color:var(--line-strong);background:#141e42b3}.tile.on{border-color:var(--accent);background:linear-gradient(135deg, rgba(var(--accent-rgb), .18), #0a102699);box-shadow:0 0 0 1px rgba(var(--accent-rgb), .4), 0 0 26px rgba(var(--accent-rgb), .18)}.tile .t-title{font-family:var(--font-display);font-size:15px;font-weight:600}.tile .t-sub{color:var(--text-dim);font-size:12.5px}.chip{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line-mid);color:var(--text-dim);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 9px;font-size:10.5px;display:inline-flex}.chip.accent{border-color:rgba(var(--accent-rgb), .5);color:var(--accent)}.chip.violet{color:var(--violet);border-color:#a283ff80}.chip.amber{color:var(--amber);border-color:#ffb84d80}.chip.red{color:var(--red);border-color:#ff5b7f80}.chip.green{color:var(--green);border-color:#48f5b080}.chip.magenta{color:var(--magenta);border-color:#ff4fd880}.chip.official{color:#fff;border-color:#ffffff59}.chip.derived{color:var(--cyan);border-color:#46e6ff66}.chip.demo{color:var(--amber);border-color:#ffb84d73}.status{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:7px;font-size:10.5px;display:inline-flex}.status i{border:1.5px solid;width:9px;height:9px;transform:rotate(45deg)}.status.UNKNOWN{color:var(--st-unknown)}.status.UNKNOWN i{border-style:dotted}.status.ASSESSED{color:var(--st-assessed)}.status.ASSESSED i{border-style:dashed}.status.WEAK{color:var(--st-weak)}.status.WEAK i{background:#ff5b7f4d}.status.DEVELOPING{color:var(--st-developing)}.status.DEVELOPING i{background:#ffb84d59}.status.PROFICIENT{color:var(--st-proficient)}.status.PROFICIENT i{background:#46e6ff80;box-shadow:0 0 8px #46e6ffb3}.status.MASTERED{color:var(--st-mastered)}.status.MASTERED i{background:#e8dcff;animation:2.4s ease-in-out infinite pulse-m;box-shadow:0 0 10px #c3a6fff2}.status.LOCKED{color:var(--st-locked)}@keyframes pulse-m{50%{box-shadow:0 0 18px #c3a6ff}}.band-tag{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);border:1px solid;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.band-tag.AHEAD{color:#f1e8ff;border-color:var(--violet);background:linear-gradient(90deg,#a283ff66,#ff4fd833);box-shadow:0 0 18px #a283ff66}.band-tag.ADVANCED{color:var(--violet);background:#a283ff1f;border-color:#a283ff99}.band-tag.INTERMEDIATE{color:var(--cyan);background:#46e6ff14;border-color:#46e6ff8c}.band-tag.DEVELOPING{color:var(--amber);background:#ffb84d14;border-color:#ffb84d8c}.band-tag.BELOW_EXPECTED{color:var(--red);background:#ff5b7f14;border-color:#ff5b7f8c}.band-tag.UNASSESSED{color:var(--text-faint);border-color:var(--line-mid);border-style:dashed}.meter{background:#78aaff14;border-radius:2px;height:8px;position:relative;overflow:hidden}.meter>span{background:linear-gradient(90deg, rgba(var(--accent-rgb), .45), var(--accent));box-shadow:0 0 12px rgba(var(--accent-rgb), .7);transition:width .9s var(--ease-out);position:absolute;inset:0 auto 0 0}.meter.seg{background-image:repeating-linear-gradient(90deg,#0000 0 calc(10% - 2px),#000000a6 calc(10% - 2px) 10%)}.meter.violet>span{background:linear-gradient(90deg, #a283ff73, var(--violet));box-shadow:0 0 12px #a283ffb3}.meter.amber>span{background:linear-gradient(90deg, #ffb84d66, var(--amber));box-shadow:0 0 12px #ffb84d99}.meter.red>span{background:linear-gradient(90deg, #ff5b7f66, var(--red));box-shadow:0 0 12px #ff5b7f99}.meter.thin{height:4px}.meter.tall{height:12px}.meter .gain{background:#fff;animation:1.2s ease-out forwards gain-flash;position:absolute;top:0;bottom:0;box-shadow:0 0 14px #fff}@keyframes gain-flash{0%{opacity:1}to{opacity:0}}.metric{flex-direction:column;gap:2px;display:flex}.metric .v{font-family:var(--font-display);letter-spacing:.02em;font-size:30px;font-weight:600;line-height:1}.metric .v small{color:var(--text-dim);margin-left:3px;font-size:.5em}.metric .k{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-faint);font-size:10px}.glow-text{text-shadow:0 0 18px rgba(var(--accent-rgb), .65);color:#f4fbff}.tabs{border-bottom:1px solid var(--line);gap:2px;margin-bottom:20px;display:flex;overflow-x:auto}.tab{color:var(--text-dim);font-family:var(--font-display);letter-spacing:.06em;white-space:nowrap;background:0 0;border:0;padding:10px 14px;font-size:14px;font-weight:500;position:relative}.tab:hover,.tab.on{color:var(--text)}.tab.on:after{content:"";background:var(--accent);height:2px;box-shadow:var(--glow-cyan);position:absolute;bottom:-1px;left:8px;right:8px}.list{flex-direction:column;display:flex}.list-row{border-bottom:1px solid var(--line);transition:background var(--t-fast);align-items:center;gap:14px;padding:12px 6px;display:flex}.list-row:hover{background:#78aaff09}.list-row:last-child{border-bottom:0}.list-row .title{font-weight:500}.table{border-collapse:collapse;width:100%;font-size:13.5px}.table th{text-align:left;font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--line-mid);padding:8px 10px;font-size:10px;font-weight:500}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:9px 10px}.empty{text-align:center;color:var(--text-dim);border:1px dashed var(--line-mid);border-radius:10px;padding:34px 20px}.empty h3{color:var(--text);margin-bottom:6px}.toasts{z-index:80;pointer-events:none;flex-direction:column;gap:10px;width:min(360px,100vw - 32px);display:flex;position:fixed;top:76px;right:20px}.toast{pointer-events:auto;border:1px solid rgba(var(--accent-rgb), .45);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);animation:toast-in .52s var(--ease-out) both;background:#080d20eb;padding:12px 16px 12px 18px;position:relative}.toast:before{content:"";background:var(--accent);width:3px;box-shadow:var(--glow-cyan);position:absolute;top:0;bottom:0;left:0}.toast .t-k{font-family:var(--font-mono);letter-spacing:.24em;color:var(--accent);text-transform:uppercase;font-size:10px}.toast .t-t{font-family:var(--font-display);margin-top:2px;font-size:15px;font-weight:600}.toast .t-b{color:var(--text-2);margin-top:2px;font-size:13px}.toast.mastery{border-color:#c3a6ff99}.toast.mastery:before{background:var(--violet);box-shadow:var(--glow-violet)}.toast.mastery .t-k{color:var(--violet)}.toast.gap{border-color:#ffb84d99}.toast.gap:before{background:var(--amber)}.toast.gap .t-k{color:var(--amber)}.toast.achievement,.toast.quest{border-color:#ff4fd88c}.toast.achievement:before,.toast.quest:before{background:var(--magenta)}.toast.achievement .t-k,.toast.quest .t-k{color:var(--magenta)}.toast.leaving{animation:.38s ease-in forwards toast-out}.xp-float{z-index:90;pointer-events:none;font-family:var(--font-display);color:#fff;text-shadow:0 0 14px rgba(var(--accent-rgb), 1);animation:xp-float 1.4s var(--ease-out) forwards;font-size:20px;font-weight:700;position:fixed}@keyframes toast-in{0%{opacity:0;filter:blur(6px);transform:translate(40px)skew(-8deg)}to{opacity:1;filter:none;transform:none}}@keyframes toast-out{to{opacity:0;transform:translate(30px)}}@keyframes xp-float{0%{opacity:0;transform:translateY(10px)scale(.8)}20%{opacity:1;transform:translateY(0)scale(1.15)}to{opacity:0;transform:translateY(-50px)scale(1)}}.overlay{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#02030ab8;place-items:start center;padding:10vh 16px 16px;animation:.2s both fade-in;display:grid;position:fixed;inset:0}.modal{width:min(680px,100%);max-height:78vh;overflow:auto}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.palette-input{width:100%;color:var(--text);font-size:18px;font-family:var(--font-body);background:0 0;border:0;padding:16px 18px}.palette-input:focus{outline:none}.palette-list{border-top:1px solid var(--line);max-height:52vh;padding:6px;overflow-y:auto}.palette-item{text-align:left;width:100%;color:var(--text-2);background:0 0;border:0;border-radius:6px;align-items:center;gap:12px;padding:10px 12px;display:flex}.palette-item.sel,.palette-item:hover{background:rgba(var(--accent-rgb), .12);color:var(--text)}.palette-item .pk{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);flex:none;width:86px;font-size:9.5px}.xpbar{align-items:center;gap:10px;min-width:200px;display:flex}.lvl-hex{width:36px;height:40px;font-family:var(--font-display);color:#fff;place-items:center;font-size:15px;font-weight:700;display:grid;position:relative}.lvl-hex svg{width:100%;height:100%;position:absolute;inset:0}.lvl-hex span{text-shadow:0 0 10px rgba(var(--accent-rgb), .9);position:relative}.xpbar .xp-meta{flex-direction:column;flex:1;gap:4px;display:flex}.xpbar .xp-line{font-family:var(--font-mono);letter-spacing:.1em;color:var(--text-faint);justify-content:space-between;font-size:10px;display:flex}.streak{font-family:var(--font-display);color:var(--amber);align-items:center;gap:6px;font-weight:600;display:flex}.streak svg{filter:drop-shadow(0 0 6px #ffb84db3);width:18px;height:18px}[data-tip]{position:relative}[data-tip]:hover:after{content:attr(data-tip);z-index:30;width:max-content;max-width:260px;font-size:12px;font-family:var(--font-body);letter-spacing:0;text-transform:none;color:var(--text);border:1px solid var(--line-mid);white-space:normal;pointer-events:none;background:#060a1af5;border-radius:6px;padding:6px 10px;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.reveal{animation:reveal .7s var(--ease-out) both}.reveal-1{animation-delay:80ms}.reveal-2{animation-delay:.16s}.reveal-3{animation-delay:.24s}.reveal-4{animation-delay:.32s}.reveal-5{animation-delay:.4s}@keyframes reveal{0%{opacity:0;clip-path:inset(0 0 100%);transform:translateY(16px)}to{opacity:1;clip-path:inset(0);transform:none}}.scanning{position:relative;overflow:hidden}.scanning:after{content:"";background:linear-gradient(to bottom, transparent, rgba(var(--accent-rgb), .12), transparent);pointer-events:none;height:40%;animation:3.4s linear infinite scan-y;position:absolute;top:-40%;left:0;right:0}@keyframes scan-y{to{top:100%}}.prov{flex-wrap:wrap;gap:6px;display:inline-flex}.qv{flex-direction:column;gap:16px;display:flex;position:relative}.qv-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.qv-context{color:var(--text-2);margin:0;font-style:italic}.qv-prompt{color:#f3f8ff;font-size:clamp(17px,1.6vw,21px);font-weight:500;line-height:1.5}.qv-prompt strong{color:#fff;text-shadow:0 0 12px rgba(var(--accent-rgb), .45)}.qv-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:4px;display:flex}.qv-hints{flex-direction:column;gap:8px;display:flex}.hint{border-left:2px solid var(--amber);color:var(--text-2);background:#ffb84d12;align-items:flex-start;gap:8px;padding:10px 12px;font-size:14px;display:flex}.hint svg{color:var(--amber);flex:none;margin-top:2px}.qv-conf{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.qv-conf .label{margin-right:6px}.conf-btn{border:1px solid var(--line-mid);color:var(--text-dim);background:0 0;border-radius:999px;padding:5px 10px;font-size:12px}.conf-btn.on{border-color:var(--violet);color:#fff;background:#a283ff33}.pips{align-items:center;gap:3px;display:inline-flex}.pips i{background:#78aaff26;width:10px;height:4px;transform:skew(-20deg)}.pips i.on{background:var(--accent);box-shadow:0 0 6px rgba(var(--accent-rgb), .7)}.pips .mono{color:var(--text-faint);margin-left:6px}.opts{gap:8px;display:grid}.opt{text-align:left;border:1px solid var(--line-mid);transition:all var(--t-fast);color:var(--text);background:#080d20a8;border-radius:8px;align-items:center;gap:12px;padding:12px 14px;display:flex}.opt:hover:not(:disabled){border-color:var(--line-strong);background:#142046b3;transform:translate(3px)}.opt.sel{border-color:var(--accent);background:linear-gradient(90deg, rgba(var(--accent-rgb), .2), #080d20a8);box-shadow:0 0 0 1px rgba(var(--accent-rgb), .35), 0 0 22px rgba(var(--accent-rgb), .15)}.opt.correct{border-color:var(--green);background:#48f5b01f}.opt.wrong{border-color:var(--red);background:#ff5b7f1a}.opt.dim{opacity:.45}.opt:disabled{cursor:default}.opt-key{width:24px;height:24px;font-family:var(--font-mono);color:var(--text-faint);border:1px solid var(--line-mid);border-radius:4px;flex:none;place-items:center;font-size:11px;display:grid}.opt.sel .opt-key{color:var(--accent);border-color:var(--accent)}.opt-label{flex:1}.answer-row{align-items:center}.answer-row .input{max-width:420px}.input.ok{border-color:var(--green);box-shadow:0 0 0 3px #48f5b026}.input.bad{border-color:var(--red);box-shadow:0 0 0 3px #ff5b7f1f}.unit{font-family:var(--font-mono);color:var(--text-dim)}.match{flex-direction:column;gap:8px;display:flex}.match-row{border:1px solid var(--line);background:#080d2080;border-radius:8px;grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr);align-items:center;gap:10px;padding:8px 10px;display:grid}.match-arrow{color:var(--accent);text-align:center}.match-row.correct,.cat-row.correct,.step-row.correct,.order-item.correct{border-color:#48f5b099}.match-row.wrong,.cat-row.wrong,.step-row.wrong,.order-item.wrong{border-color:#ff5b7f99}@media (max-width:640px){.match-row{grid-template-columns:1fr}.match-arrow{display:none}}.order{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.order-item{border:1px solid var(--line);background:#080d208c;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;display:flex}.icon-btn.sm{border:1px solid var(--line-mid);width:28px;height:28px;font-size:10px}.cats{flex-direction:column;gap:8px;display:flex}.cat-row{border:1px solid var(--line);background:#080d2080;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.cat-item{flex:1;min-width:160px}.seg{border:1px solid var(--line-mid);border-radius:7px;flex-wrap:wrap;display:inline-flex;overflow:hidden}.seg button{color:var(--text-dim);border:0;border-right:1px solid var(--line);background:0 0;padding:6px 11px;font-size:12.5px}.seg button:last-child{border-right:0}.seg button.on{background:rgba(var(--accent-rgb), .2);color:#fff}.seg button.correct{background:#48f5b033}.seg button.wrong{background:#ff5b7f33}.seg.big button{font-family:var(--font-display);letter-spacing:.08em;padding:10px 26px;font-size:14px;font-weight:600}.steps-in{flex-direction:column;gap:8px;display:flex}.step-row{border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(0,1fr) 180px auto;align-items:center;gap:10px;padding:8px 10px;display:grid}@media (max-width:640px){.step-row{grid-template-columns:1fr}}.tokens{flex-direction:column;gap:10px;display:flex}.token-line{border:1px dashed var(--line-strong);background:rgba(var(--accent-rgb), .04);border-radius:8px;flex-wrap:wrap;gap:6px;min-height:54px;padding:10px;display:flex}.token-line.correct{border-style:solid;border-color:var(--green)}.token-line.wrong{border-style:solid;border-color:var(--red)}.token-bank{flex-wrap:wrap;gap:6px;display:flex}.token{border:1px solid var(--line-mid);transition:transform var(--t-fast);background:#0c142ecc;border-radius:6px;padding:8px 12px;font-size:15px}.token:hover:not(:disabled){border-color:var(--line-strong);transform:translateY(-2px)}.token.on{border-color:rgba(var(--accent-rgb), .6);background:rgba(var(--accent-rgb), .14)}.qv-feedback{border:1px solid var(--line-mid);clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);background:#080d20cc;flex-direction:column;gap:12px;padding:16px 18px;display:flex}.qv-feedback.ok{background:linear-gradient(135deg,#48f5b01a,#080d20d9 55%);border-color:#48f5b08c}.qv-feedback.bad{background:linear-gradient(135deg,#ff5b7f17,#080d20d9 55%);border-color:#ff5b7f80}.fb-head{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.fb-k{font-family:var(--font-mono);letter-spacing:.3em;font-size:11px}.qv-feedback.ok .fb-k{color:var(--green);text-shadow:0 0 10px #48f5b0b3}.qv-feedback.bad .fb-k{color:var(--red)}.fb-t{color:var(--text-2)}.fb-expected{border-left:2px solid var(--green);background:#48f5b00f;padding:10px 12px}.fb-expected.bad-ans{border-color:var(--red);background:#ff5b7f0f}.fb-mis{border-left:2px solid var(--amber);background:#ffb84d12;padding:10px 12px}.fb-mis .fix{color:var(--amber);margin:0}.solution{color:var(--text-2);flex-direction:column;gap:4px;margin:8px 0 0;padding-left:22px;display:flex}.solution li::marker{color:var(--accent);font-family:var(--font-mono)}.qv.fx-ok:before{content:"";pointer-events:none;background:radial-gradient(circle at 50% 60%,#48f5b02e,#0000 60%);animation:.9s ease-out forwards ok-pulse;position:absolute;inset:-20px}.qv.fx-bad{animation:.42s steps(2,end) glitch}@keyframes ok-pulse{0%{opacity:1;transform:scale(.9)}to{opacity:0;transform:scale(1.1)}}@keyframes glitch{0%{filter:none;transform:translate(0)}20%{filter:drop-shadow(2px 0 #ff4fd899)drop-shadow(-2px 0 #46e6ff99);transform:translate(-3px,1px)}40%{transform:translate(3px,-1px)}60%{filter:drop-shadow(-2px 0 #ff4fd880);transform:translate(-2px)}80%{transform:translate(1px,1px)}to{filter:none;transform:translate(0)}}.frac{vertical-align:middle;text-align:center;flex-direction:column;margin:0 2px;font-size:.85em;line-height:1.1;display:inline-flex}.frac .n{border-bottom:1px solid;padding:0 3px}.frac .d{padding:0 3px}sup{font-size:.7em}code{background:#78aaff1a;border-radius:4px;padding:1px 5px;font-size:.9em}.stim{border:1px solid var(--line);background:#04081699;border-radius:8px;flex-direction:column;align-items:flex-start;gap:8px;margin:0;padding:14px;display:flex}.stim figcaption{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-dim);font-size:11px}.stim-table{width:auto;min-width:220px}.stim-table td{text-align:right}.passage{background:linear-gradient(#0e142ecc,#060a1ab3);align-items:stretch}.passage p{color:var(--text);font-size:16px;line-height:1.75;font-family:var(--font-body);margin:0}.passage-title{font-family:var(--font-display);color:var(--accent)}.audio{align-items:center;padding:22px}.audio-orb{border:1px solid rgba(var(--accent-rgb), .6);background:radial-gradient(circle, rgba(var(--accent-rgb), .3), rgba(var(--accent-rgb), .04));color:#fff;border-radius:50%;place-items:center;width:84px;height:84px;display:grid;position:relative}.audio-orb .ring{border:1px solid rgba(var(--accent-rgb), .4);border-radius:50%;animation:2.2s ease-out infinite ring-out;position:absolute;inset:-6px}.audio-orb .ring.r2{animation-delay:1.1s}@keyframes ring-out{0%{opacity:.9;transform:scale(.9)}to{opacity:0;transform:scale(1.5)}}.big-word{font-family:var(--font-display);color:#fff;margin:0;font-size:28px}.punnett{border-collapse:collapse;font-family:var(--font-mono)}.punnett th,.punnett td{text-align:center;border:1px solid var(--line-mid);width:54px;height:44px}.punnett th{color:var(--accent)}.punnett td{color:var(--text-faint)}.visual{width:100%;max-width:420px;height:auto}.v-draw{stroke-dasharray:600;stroke-dashoffset:600px;animation:draw 1.6s var(--ease-out) forwards}.v-draw.d2{animation-delay:.5s}.v-fill{animation:vfill .6s var(--ease-out) both}.v-grow{transform-origin:0;animation:vgrow 1.2s var(--ease-out) both}.v-spin{transform-origin:160px 80px;animation:18s linear infinite spin}.v-hop{stroke-dashoffset:0;animation:1.4s linear infinite dash}.v-pulse{transform-origin:50%;transform-box:fill-box;animation:1.6s ease-in-out infinite vpulse}.v-tilt{transform-origin:160px 50px;animation:4s ease-in-out infinite tilt}@keyframes draw{to{stroke-dashoffset:0}}@keyframes vfill{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes vgrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes dash{to{stroke-dashoffset:-16px}}@keyframes vpulse{50%{transform:scale(1.4)}}@keyframes tilt{0%,to{transform:rotate(0)}25%{transform:rotate(-4deg)}50%{transform:rotate(0)}75%{transform:rotate(4deg)}}.qv-boss .qv-prompt{font-family:var(--font-display);letter-spacing:.01em}.skill-pill{border:1px solid var(--line);color:var(--text-2);transition:all var(--t-fast);background:#080d208c;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;display:inline-flex;text-decoration:none!important}.skill-pill:hover{border-color:var(--line-strong);color:var(--text)}.levelup{z-index:200;background:radial-gradient(circle at 50% 45%, rgba(var(--accent-rgb), .18), #02030aeb 60%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);place-items:center;animation:.3s both fade-in;display:grid;position:fixed;inset:0}.levelup .burst{background:conic-gradient(from 0deg, transparent 0 8deg, rgba(var(--accent-rgb), .1) 8deg 10deg, transparent 10deg 20deg);width:140vmax;height:140vmax;animation:spin 30s linear infinite, burst-in 1.2s var(--ease-out) both;border-radius:50%;position:absolute;-webkit-mask-image:radial-gradient(circle,#000 10%,#0000 55%);mask-image:radial-gradient(circle,#000 10%,#0000 55%)}.levelup .lu-core{text-align:center;flex-direction:column;align-items:center;gap:14px;max-width:560px;padding:30px;display:flex;position:relative}.levelup .lu-k{font-family:var(--font-mono);letter-spacing:.5em;color:var(--accent);animation:reveal .6s .2s var(--ease-out) both;font-size:12px}.levelup .lu-num{font-family:var(--font-display);color:#fff;text-shadow:0 0 40px rgba(var(--accent-rgb), .9), 0 0 120px #a283ffb3;animation:lu-num 1.3s var(--ease-snap) both;font-size:clamp(90px,16vw,170px);font-weight:700;line-height:.9}.levelup .lu-title{font-family:var(--font-display);letter-spacing:.24em;text-transform:uppercase;animation:reveal .7s .6s var(--ease-out) both;font-size:26px}.levelup .lu-unlock{animation:reveal .7s .9s var(--ease-out) both;width:100%}.levelup .lu-bar{width:min(420px,80vw);animation:reveal .7s .4s var(--ease-out) both}.levelup .ptl{width:4px;height:4px;box-shadow:0 0 10px var(--accent);animation:ptl 1.6s var(--ease-out) forwards;background:#fff;border-radius:50%;position:absolute}@keyframes burst-in{0%{opacity:0;transform:scale(.2)rotate(-40deg)}to{opacity:1;transform:scale(1)}}@keyframes lu-num{0%{opacity:0;filter:blur(12px);transform:scale(.3)}60%{opacity:1;filter:none;transform:scale(1.12)}to{transform:scale(1)}}@keyframes ptl{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--dx), var(--dy)) scale(0);opacity:0}}.mastery-flash{z-index:150;pointer-events:none;background:radial-gradient(circle,#c3a6ff40,#0000 50%);animation:1.6s ease-out forwards mflash;position:fixed;inset:0}@keyframes mflash{0%{opacity:1}to{opacity:0}}.loading-scan{place-items:center;height:40vh;display:grid}.meter .indeterminate{animation:1.2s ease-in-out infinite alternate indet;width:40%!important}@keyframes indet{0%{left:0}to{left:60%}}.welcome{z-index:1;place-items:center;min-height:100vh;padding:40px 16px;display:grid;position:relative}.welcome-core{text-align:center;flex-direction:column;align-items:center;gap:18px;max-width:760px;display:flex}.welcome-mark{filter:drop-shadow(0 0 30px #46e6ff80);animation:6s ease-in-out infinite float}.welcome-title{letter-spacing:.32em;background:linear-gradient(#fff 20%,#9fd9ff 60%,#a283ff);color:#0000;filter:drop-shadow(0 0 30px #46e6ff59);-webkit-background-clip:text;background-clip:text;margin-right:-.32em;font-size:clamp(64px,12vw,132px);font-weight:700}.welcome-lede{color:var(--text-2);max-width:620px;font-size:17px}.welcome-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;display:flex}.welcome-facts{color:var(--text-dim);flex-wrap:wrap;justify-content:center;gap:18px;margin-top:18px;font-size:13px;display:flex}.welcome-facts span{align-items:center;gap:6px;display:inline-flex}.welcome-facts svg{color:var(--accent)}.demo-loading{text-align:left;background:var(--plate);width:min(560px,100%)}@keyframes float{50%{transform:translateY(-8px)}}.wizard{z-index:1;flex-direction:column;gap:28px;max-width:1040px;min-height:100vh;margin:0 auto;padding:24px 16px 40px;display:flex;position:relative}.wizard-head{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.wizard-steps{flex-wrap:wrap;gap:6px;display:flex}.wizard-steps span{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:10.5px;display:inline-flex}.wizard-steps span i{background:var(--text-faint);border-radius:50%;width:6px;height:6px}.wizard-steps span.on{color:var(--accent);border-color:rgba(var(--accent-rgb), .5)}.wizard-steps span.on i{background:var(--accent);box-shadow:var(--glow-cyan)}.wizard-steps span.done{color:var(--text-2)}.wizard-steps span.done i{background:var(--green)}.wizard-body{flex:1}.wizard-foot{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.stage-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;display:grid}.se-row{border-bottom:1px solid var(--line);flex-direction:column;gap:10px;padding:14px 0;display:flex}.se-opts{flex-wrap:wrap;gap:6px;display:flex}.se-opt{border:1px solid var(--line-mid);color:var(--text-2);transition:all var(--t-fast);background:#080d2099;border-radius:999px;padding:7px 12px;font-size:13px}.se-opt:hover{border-color:var(--line-strong)}.se-opt.on{border-color:var(--accent);color:#fff;background:rgba(var(--accent-rgb), .2);box-shadow:0 0 16px rgba(var(--accent-rgb), .25)}.init-summary{background:var(--plate)}input[type=range]{accent-color:var(--accent);width:100%}.today-hero{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:stretch;gap:36px;margin-bottom:36px;display:grid}.hero-greet{margin:10px 0 18px;font-size:clamp(30px,4vw,52px);font-weight:600}.where{align-items:center;gap:16px;max-width:520px;display:flex}.where-title{font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;font-size:18px}.hero-metrics{border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:28px;padding-top:18px;display:grid}.hero-objective{background:radial-gradient(120% 120% at 100% 0%, rgba(var(--accent-rgb), .16), transparent 55%), linear-gradient(160deg, #0e1634bf, #080c1e99);flex-direction:column;gap:10px;display:flex}.obj-kind{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);align-items:center;gap:8px;margin-top:6px;font-size:11px;display:inline-flex}.obj-kind svg{width:16px;height:16px}.obj-title{font-size:clamp(22px,2.4vw,32px);line-height:1.15}.obj-reasons{color:var(--text-2);flex-direction:column;gap:3px;margin:4px 0 0;padding-left:18px;display:flex}.obj-reasons li::marker{content:"▸ ";color:var(--accent)}.today-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:36px;margin-bottom:40px;display:grid}.mission-list{margin:16px 0 0;padding:0;list-style:none;position:relative}.mission-list:before{content:"";background:linear-gradient(to bottom, rgba(var(--accent-rgb), .6), rgba(var(--accent-rgb), .05));width:1px;position:absolute;top:10px;bottom:10px;left:17px}.mission{animation:reveal .6s var(--ease-out) both;gap:16px;padding:10px 0 18px;display:flex;position:relative}.m-node{z-index:1;width:35px;height:35px;color:var(--accent);background:var(--abyss);border:1px solid rgba(var(--accent-rgb), .55);clip-path:polygon(25% 3%,75% 3%,100% 50%,75% 97%,25% 97%,0 50%);flex:none;place-items:center;display:grid;position:relative}.m-body{border-bottom:1px solid var(--line);flex-direction:column;flex:1;gap:3px;min-width:0;padding-bottom:14px;display:flex}.m-kind{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--text-faint);font-size:10px}.m-title{font-family:var(--font-display);color:var(--text);font-size:18px;font-weight:600}.m-why{color:var(--text-dim);font-size:13.5px}.signals{flex-direction:column;gap:10px;display:flex}.signal-list{flex-direction:column;gap:4px;margin-top:10px;display:flex}.signal{color:var(--text);transition:background var(--t-fast);border-radius:8px;align-items:center;gap:14px;padding:10px 8px;display:flex;text-decoration:none!important}.signal:hover{background:#78aaff0d}.today-lower{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;display:grid}.gain-list{flex-direction:column;margin-top:12px;display:flex}.gain{border-bottom:1px solid var(--line);color:var(--text);align-items:center;gap:10px;padding:9px 4px;font-size:14px;display:flex;text-decoration:none!important}.gain:hover{background:#78aaff0a}.gain-pct{font-family:var(--font-display);color:var(--green);text-shadow:0 0 10px #48f5b099;font-weight:600}.quest-mini{flex-direction:column;gap:5px;padding:8px 0;display:flex}.map-teaser{flex-direction:column;gap:10px;display:flex}.mini-constellation{border:1px solid var(--line);background:radial-gradient(circle, rgba(var(--accent-rgb), .06), transparent 70%);border-radius:10px;width:100%;height:260px}.legend{flex-wrap:wrap;gap:10px;display:flex}@media (max-width:1100px){.today-hero,.today-grid,.today-lower{grid-template-columns:1fr}.hero-metrics{grid-template-columns:repeat(2,1fr)}}.notif-panel{z-index:50;width:min(380px,92vw);max-height:70vh;position:absolute;top:48px;right:0;overflow-y:auto}.notif{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--text);background:0 0}.notif-dot{background:var(--accent);border-radius:50%;flex:none;width:8px;height:8px}.notif-dot.mastery,.notif-dot.unlock{background:var(--violet)}.notif-dot.gap{background:var(--amber)}.notif-dot.achievement,.notif-dot.quest,.notif-dot.boss{background:var(--magenta)}.notif-dot.levelup{background:#fff}@media (max-width:760px){.hide-sm{display:none!important}}.dim{opacity:.55}.lead{color:var(--text);font-size:18px;line-height:1.6}.callout{border:1px solid var(--line-mid);border-left:3px solid var(--accent);background:rgba(var(--accent-rgb), .06);border-radius:6px;align-items:flex-start;gap:12px;padding:14px 16px;font-size:14px;display:flex}.callout>svg{width:18px;height:18px;color:var(--accent);flex:none;margin-top:2px}.callout.violet{border-left-color:var(--violet);background:#a283ff14}.callout.violet>svg{color:var(--violet)}.callout.amber{border-left-color:var(--amber);background:#ffb84d12}.callout.amber>svg{color:var(--amber)}.cal-hud{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:28px;margin-bottom:22px;padding-bottom:20px;display:flex}.cal-hud-left{flex:1;align-items:center;gap:20px;min-width:280px;display:flex}.cal-orb{flex:none;place-items:center;width:84px;height:84px;display:grid;position:relative}.cal-orb span{border:1px solid rgba(var(--accent-rgb), .45);border-radius:50%;position:absolute;inset:0}.cal-orb .o1{border-style:dashed;animation:6s linear infinite spin}.cal-orb .o2{border-color:#0000 #a283ff99 #a283ff99;animation:9s linear infinite reverse spin;inset:10px}.cal-orb .o3{background:radial-gradient(circle, rgba(var(--accent-rgb), .35), transparent 70%);border:0;animation:2.4s ease-in-out infinite vpulse;inset:22px}.cal-orb-core{font-family:var(--font-display);color:#fff;text-shadow:0 0 14px rgba(var(--accent-rgb), .9);font-size:24px;font-weight:700;border:0!important;position:relative!important;inset:auto!important}.cal-trace{flex-direction:column;gap:4px;display:flex}.trace-svg{border-bottom:1px solid var(--line);width:170px;height:54px}.cal-question{background:linear-gradient(160deg,#0e16348c,#060a1a66);min-height:340px}.cal-why{border-bottom:1px dashed var(--line-mid);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;padding-bottom:14px;display:flex}.cal-analysing{place-items:center;min-height:260px;display:grid}.cal-scanning{filter:saturate(1.3)}.adapt-list{flex-direction:column;gap:10px;margin:14px 0 0;padding:0;list-style:none;display:flex}.adapt{color:var(--text-2);align-items:flex-start;gap:10px;padding-left:4px;display:flex}.adapt.fresh{animation:reveal .6s var(--ease-out) both;color:var(--text)}.adapt-dir{text-align:center;width:20px;color:var(--accent);flex:none;font-size:12px}.adapt.down .adapt-dir{color:var(--amber)}.adapt.probe .adapt-dir{color:var(--violet)}.cal-reveal-head{margin-bottom:22px}.cal-result{background:linear-gradient(160deg,#0e1634b3,#060a1a80)}.domain-bands{flex-direction:column;gap:10px;margin-top:20px;display:flex}.domain-band{align-items:center;gap:14px;display:flex}.db-name{font-family:var(--font-display);min-width:150px;font-size:16px}.db-line{background:linear-gradient(90deg, var(--line-mid), transparent);flex:1;min-width:20px;height:1px}.db-cov{text-align:right;width:42px}.cal-narrative{color:var(--text);border-left:2px solid var(--violet);background:#a283ff12;margin-top:20px;padding:12px 16px;font-size:16px}@media (max-width:640px){.db-name{min-width:0;font-size:14px}.db-line{display:none}.domain-band{flex-wrap:wrap;justify-content:space-between}}.learn-top{flex-direction:column;gap:18px;margin-bottom:24px;display:flex}.skill-header{align-items:center;gap:20px;display:flex}.crumbs{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.skill-title{font-size:clamp(24px,3vw,38px)}.learn-stages{flex-wrap:wrap;gap:4px;display:flex}.ls{border:1px solid var(--line);color:var(--text-faint);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);background:0 0;align-items:center;gap:8px;padding:7px 14px;font-size:12.5px;display:inline-flex}.ls-n{font-family:var(--font-mono);font-size:10px}.ls.on{color:#fff;border-color:rgba(var(--accent-rgb), .6);background:rgba(var(--accent-rgb), .16)}.ls.done{color:var(--text-2)}.explain p{color:var(--text-2);font-size:15.5px}.defs{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin:0;display:grid}.defs>div{border:1px solid var(--line);background:#080d2080;border-radius:6px;padding:10px 12px}.defs dt{font-family:var(--font-display);color:var(--accent);font-weight:600}.defs dd{color:var(--text-2);margin:4px 0 0;font-size:14px}.intuition{background:#0a102880}.worked .qv{margin-top:10px}.mis-list{flex-direction:column;gap:10px;display:flex}.mis-item{border:1px solid var(--line);background:#080d2080;border-radius:8px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.mis-wrong{color:var(--red);flex-wrap:wrap;align-items:center;gap:8px;font-weight:500;display:flex}.mis-fix{color:var(--green);align-items:center;gap:8px;font-size:14px;display:flex}.phase-bar{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.phase-name{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);align-items:center;gap:8px;font-size:15px;display:inline-flex}.phase-steps{gap:4px;display:inline-flex}.phase-steps i{background:#78aaff26;width:22px;height:4px}.phase-steps i.done{background:var(--green)}.phase-steps i.on{background:var(--accent);box-shadow:var(--glow-cyan)}.adapt-note{color:var(--amber);font-family:var(--font-mono)}.practice-frame{background:linear-gradient(160deg,#0e163480,#060a1a59)}.summary-frame{background:radial-gradient(circle at 100% 0,#a283ff2e,#0000 50%),#080c1e99}.debrief{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}@media (max-width:760px){.debrief{grid-template-columns:repeat(2,1fr)}}.learn-rail .plate{padding:16px}.tutor{flex-direction:column;gap:8px;display:flex}.tutor-thread{flex-direction:column;gap:10px;max-height:320px;display:flex;overflow-y:auto}.tutor-q{background:rgba(var(--accent-rgb), .14);border-radius:8px;align-self:flex-end;padding:6px 10px;font-size:13.5px}.tutor-a{border-left:2px solid var(--violet);color:var(--text-2);padding:8px 10px;font-size:13.5px}.rec-strip{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.rec-tile{color:var(--text);flex-direction:column;gap:6px;display:flex;text-decoration:none!important}.rec-title{font-family:var(--font-display);font-size:16px;font-weight:600}.posterior{width:100%;height:90px;margin-top:10px}.subject-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.subject-card{color:var(--text);border:1px solid hsla(var(--hue), 90%, 65%, .25);background:radial-gradient(circle at 100% 0%, hsla(var(--hue), 90%, 55%, .14), transparent 60%), #080d2099;clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);transition:transform var(--t-med) var(--ease-out), border-color var(--t-fast);flex-direction:column;gap:6px;padding:18px;display:flex;position:relative;text-decoration:none!important}.subject-card:hover{border-color:hsla(var(--hue), 90%, 70%, .6);transform:translateY(-3px)}.topic-block{margin-top:14px}.topic-name{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint);margin-bottom:6px;font-size:11px}.skill-rows{flex-direction:column;display:flex}.skill-row{border-bottom:1px solid var(--line);color:var(--text);align-items:center;gap:12px;padding:8px 6px;font-size:14px;display:flex;text-decoration:none!important}.skill-row:hover{background:#78aaff0a}.skill-row.other-track,.skill-row.unavailable{opacity:.45}.stage-tag{width:56px}.map-page{height:calc(100vh - var(--top-h));flex-direction:column;display:flex;position:relative}.map-toolbar{padding:12px var(--gutter);border-bottom:1px solid var(--line);background:#04061080;flex-wrap:wrap;align-items:center;gap:12px;display:flex}.map-search{border:1px solid var(--line-mid);background:#060a1ab3;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;display:flex;position:relative}.map-search input{color:var(--text);background:0 0;border:0;width:180px}.map-search input:focus{outline:none}.map-hits{z-index:10;border:1px solid var(--line-mid);background:#060a1af7;border-radius:6px;flex-direction:column;min-width:240px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0}.map-hits button{text-align:left;color:var(--text-2);background:0 0;border:0;border-radius:4px;padding:6px 8px}.map-hits button:hover{background:rgba(var(--accent-rgb), .12);color:#fff}.map-status-filter{padding:8px var(--gutter);flex-wrap:wrap;gap:6px;display:flex}.status-toggle{border:1px solid var(--line);opacity:.4;background:0 0;border-radius:999px;padding:4px 8px}.status-toggle.on{opacity:1;border-color:var(--line-mid)}.map-stage{flex:1;min-height:420px;position:relative;overflow:hidden}.map-svg{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.map-svg:active{cursor:grabbing}.edge{stroke:#78aaff59;stroke-width:1.4px}.edge.lit{stroke:#46e6ffcc;stroke-width:2.2px;stroke-dasharray:6 8;filter:drop-shadow(0 0 3px #46e6ffb3);animation:1.6s linear infinite flow}.edge.path{stroke:#fff;stroke-width:2.6px;opacity:1!important}@keyframes flow{to{stroke-dashoffset:-28px}}.node{cursor:pointer;transition:opacity var(--t-med)}.node:focus{outline:none}.node:focus circle:nth-of-type(2),.node:hover circle:nth-of-type(2){stroke:#fff;stroke-width:2.5px}.halo-pulse{transform-box:fill-box;transform-origin:50%;animation:3s ease-in-out infinite halo}@keyframes halo{50%{opacity:.4;transform:scale(1.25)}}.rec-marker{animation:1.6s ease-in-out infinite bob}@keyframes bob{50%{transform:translateY(-4px)}}.sel-ring{transform-box:fill-box;transform-origin:50%;animation:8s linear infinite spin}.map-label{fill:var(--text);font-size:12px;font-family:var(--font-body);paint-order:stroke;stroke:#03040be6;stroke-width:4px;pointer-events:none}.map-domain-label{fill:var(--text-dim);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;paint-order:stroke;stroke:#03040be6;stroke-width:5px;pointer-events:none}.map-subject-label{fill:#e9f2ffd9;font-family:var(--font-display);letter-spacing:.3em;paint-order:stroke;stroke:#03040bcc;stroke-width:8px;pointer-events:none;font-weight:700}.map-panel{width:min(340px,100% - 32px);max-height:calc(100% - 32px);position:absolute;top:16px;right:16px;overflow-y:auto}.map-legend{border:1px solid var(--line);color:var(--text-dim);background:#040610bf;border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;display:flex;position:absolute;bottom:14px;left:16px}.lg-edge{vertical-align:middle;background:#78aaff73;width:26px;height:2px;margin-right:6px;display:inline-block}.lg-edge.lit{background:var(--cyan);box-shadow:0 0 6px var(--cyan)}.lg-rec{border-left:5px solid #0000;border-right:5px solid #0000;border-top:8px solid var(--magenta);width:0;height:0;margin-right:6px;display:inline-block}@media (max-width:900px){.map-page{height:calc(100vh - var(--top-h) - 64px)}.map-legend{display:none}.map-panel{top:auto;bottom:10px}}.course-gen{background:radial-gradient(circle at 0% 0%, rgba(var(--accent-rgb), .12), transparent 50%), #080c1e8c}.course-modules{flex-direction:column;gap:22px;display:flex}.module{border-left:1px solid var(--line-mid);padding-left:18px}.module-head{align-items:baseline;gap:10px;display:flex}.lesson-list{flex-direction:column;margin:10px 0 0;padding:0;list-style:none;display:flex}.lesson{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 4px;display:flex}.lesson-dot{border:1px solid var(--line-strong);color:#021018;border-radius:50%;flex:none;place-items:center;width:18px;height:18px;display:grid}.lesson.done .lesson-dot{background:var(--green);border-color:var(--green)}.lesson.done>.grow{opacity:.6}.week{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}@media (max-width:1000px){.week{grid-template-columns:repeat(2,minmax(0,1fr))}}.day{border:1px solid var(--line);background:#060a1a80;border-radius:8px;flex-direction:column;gap:6px;min-height:170px;padding:10px;display:flex}.day.today{border-color:rgba(var(--accent-rgb), .55);box-shadow:inset 0 0 30px rgba(var(--accent-rgb), .06)}.day-head{color:var(--text-faint);justify-content:space-between;align-items:baseline;display:flex}.day-num{font-family:var(--font-display);color:var(--text);font-size:22px}.ev{border-left:3px solid var(--c);background:#ffffff08;border-radius:0 6px 6px 0;flex-direction:column;gap:2px;padding:6px 8px;display:flex}.ev.done{opacity:.45;text-decoration:line-through}.ev-time{color:var(--c);font-size:10.5px}.ev-title{font-size:13px;line-height:1.3}.goal-row{border-bottom:1px solid var(--line);align-items:flex-start;gap:18px;padding:16px 0;display:flex}.exam-row{background:#080c1e80}.exam-bar{top:var(--top-h);z-index:10;border-bottom:1px solid var(--line);background:linear-gradient(#040610f2,#040610bf);flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:18px;padding:12px 0 14px;display:flex;position:sticky}.exam-timer{font-family:var(--font-display);letter-spacing:.08em;color:#fff;text-shadow:0 0 16px rgba(var(--accent-rgb), .6);margin-left:auto;font-size:34px;font-weight:600}.exam-timer.low{color:var(--red);text-shadow:0 0 16px #ff5b7fb3;animation:1s ease-in-out infinite vpulse}.exam-layout{grid-template-columns:72px minmax(0,1fr);align-items:start;gap:20px;display:grid}.exam-nav{top:calc(var(--top-h) + 90px);flex-direction:column;gap:6px;display:flex;position:sticky}.qnav{border:1px solid var(--line-mid);width:44px;height:36px;color:var(--text-dim);font-family:var(--font-mono);background:0 0;border-radius:4px}.qnav.ans{background:rgba(var(--accent-rgb), .16);color:#fff}.qnav.on{border-color:var(--accent);box-shadow:0 0 10px rgba(var(--accent-rgb), .5)}.qnav.flag{border-color:var(--violet)}@media (max-width:760px){.exam-layout{grid-template-columns:1fr}.exam-nav{flex-flow:wrap;position:static}}.exam-q{background:#080c1e80}.exam-score{flex-wrap:wrap;align-items:center;gap:30px;display:flex}.score-big{font-family:var(--font-display);font-size:36px;font-weight:700}.mastery-subject{border-bottom:1px solid var(--line);padding-bottom:28px}.mastery-domains{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px 26px;display:grid}.mastery-domain{flex-direction:column;gap:10px;display:flex}.node-grid{flex-wrap:wrap;gap:6px;display:flex}.mnode{clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:#78aaff14;width:30px;height:34px;position:relative}.mnode:before{content:"";clip-path:inherit;background:var(--abyss);position:absolute;inset:1.5px}.mnode-fill{clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:linear-gradient(to top, var(--c) calc(var(--m) * 100%), transparent calc(var(--m) * 100%));opacity:.9;position:absolute;inset:1.5px}.mnode.UNKNOWN{background:#52628c66}.mnode.UNKNOWN .mnode-fill{background:0 0}.mnode.MASTERED{background:var(--c);box-shadow:0 0 12px var(--c);animation:2.4s ease-in-out infinite pulse-m}.mnode:not(.UNKNOWN){background:var(--c)}.mnode[data-tip]:hover:after{clip-path:none}.chart-tip{z-index:20;white-space:nowrap;border:1px solid var(--line-mid);color:var(--text);pointer-events:none;background:#060a1af7;border-radius:6px;padding:6px 10px;font-size:12px;position:absolute;transform:translate(-50%,-100%)}.chart-legend{flex-wrap:wrap;gap:12px;display:flex}.status-stack{background:#78aaff0d;border-radius:4px;height:20px;position:relative}.status-stack>span{border-radius:4px;place-items:center;display:grid;position:absolute;top:0;bottom:0}.status-stack em{font-style:normal;font-family:var(--font-mono);color:#050812;font-size:10.5px;font-weight:600}.status-stack .seg-UNKNOWN em,.status-stack .seg-ASSESSED em{color:#e9f2ff}.bars{margin:14px 0 26px;position:relative}.bars-grid{pointer-events:none;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0}.bars-grid span{background:#78aaff14;height:1px}.bar-col{justify-content:center;align-items:flex-end;display:flex;position:absolute;top:0;bottom:0}.bar{opacity:.85;width:62%;max-width:28px;min-height:1px;transition:height .7s var(--ease-out);border-radius:4px 4px 0 0}.bar-col:hover .bar{opacity:1;filter:brightness(1.2)}.bars-axis{font-family:var(--font-mono);color:var(--text-faint);border-top:1px solid #c8dcff33;padding-top:4px;font-size:9.5px;display:flex;position:absolute;bottom:-20px;left:0;right:0}.bars-axis span{text-align:center;white-space:nowrap;overflow:hidden}.line-chart{margin-top:10px;position:relative}.heatmap{gap:3px;margin-top:12px;padding-bottom:6px;display:flex;position:relative;overflow-x:auto}.hm-col{flex-direction:column;gap:3px;display:flex}.hm-cell{border-radius:3px;width:13px;height:13px}.kpis{border-bottom:1px solid var(--line);grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:28px;padding-bottom:20px;display:grid}@media (max-width:900px){.kpis{grid-template-columns:repeat(2,1fr)}}.an-section{margin-bottom:30px}.an-row{align-items:center;gap:14px;display:flex}.an-label{flex:none;width:170px;font-size:13.5px}@media (max-width:640px){.an-row{flex-wrap:wrap}.an-label{width:100%}}.calib{flex-direction:column;gap:10px;margin-top:12px;display:flex}.calib-row{align-items:center;gap:12px;display:flex}.mistake{background:#080c1e80}.recovery-flow{flex-wrap:wrap;gap:4px;margin-top:12px;display:flex}.recovery-flow span{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);border:1px solid var(--line);clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);align-items:center;gap:6px;padding:3px 10px;font-size:10px;display:inline-flex}.recovery-flow span i{background:var(--text-faint);border-radius:50%;width:6px;height:6px}.recovery-flow span.done{color:var(--green)}.recovery-flow span.done i{background:var(--green)}.recovery-flow span.on{color:#fff;border-color:rgba(var(--accent-rgb), .5);background:rgba(var(--accent-rgb), .12)}.recovery-flow span.on i{background:var(--accent);box-shadow:var(--glow-cyan)}.review-row{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:12px 6px;display:flex}.flashcard{background:linear-gradient(160deg,#0e1634b3,#060a1a80);flex-direction:column;gap:12px;min-height:260px;display:flex}.flashcard.flipped{background:linear-gradient(160deg,#2818508c,#060a1a80)}.fc-face{color:var(--text);text-align:center;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;min-height:200px;display:flex}.fc-text{font-family:var(--font-display);font-size:clamp(22px,3vw,34px)}.profile-subject{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 0;display:flex}.level-band{border-bottom:1px solid var(--line);align-items:center;gap:22px;padding:22px 0;display:flex}.quest{border-bottom:1px solid var(--line);gap:14px;padding:14px 0;display:flex}.quest-cad{writing-mode:vertical-rl;font-family:var(--font-mono);letter-spacing:.24em;text-transform:uppercase;color:var(--violet);border-left:1px solid #a283ff66;padding-left:6px;font-size:10px;transform:rotate(180deg)}.quest-cad.weekly{color:var(--magenta);border-color:#ff4fd866}.boss-card{background:#080c1e99}.boss-card.open{background:radial-gradient(circle at 100% 0,#ff4fd829,#0000 55%),#0e0a22b3}.ach-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.ach{border:1px solid var(--line);filter:grayscale(.9);opacity:.55;background:#080c1e80;border-radius:10px;align-items:flex-start;gap:14px;padding:16px;display:flex}.ach.on{filter:none;opacity:1;border-color:rgba(var(--accent-rgb), .35)}.ach-glyph{clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);width:50px;height:56px;color:var(--text-dim);background:#78aaff1a;flex:none;place-items:center;display:grid}.ach.on.bronze .ach-glyph{color:#fff;background:linear-gradient(160deg,#c98a4e,#6b3d1d)}.ach.on.silver .ach-glyph{color:#0a1024;background:linear-gradient(160deg,#d6e3ff,#6a7ba3)}.ach.on.gold .ach-glyph{color:#2a1a00;background:linear-gradient(160deg,#ffe38a,#b57a12);box-shadow:0 0 20px #ffd25a66}.ach.on.mythic .ach-glyph{background:linear-gradient(160deg, var(--magenta), var(--violet));color:#fff}.notes-layout{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:24px;display:grid}@media (max-width:900px){.notes-layout{grid-template-columns:1fr}}.notes-list{flex-direction:column;gap:8px;display:flex}.note-item{text-align:left;border:1px solid var(--line);color:var(--text);background:#080c1e80;border-radius:8px;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.note-item.on{border-color:rgba(var(--accent-rgb), .55);background:rgba(var(--accent-rgb), .08)}.note-editor{flex-direction:column;gap:16px;display:flex}.note-title{font-family:var(--font-display);font-size:22px}.note-body{min-height:300px;font-size:15.5px}.palace-plan{aspect-ratio:16/10;border:1px solid var(--line-mid);cursor:crosshair;background:repeating-linear-gradient(0deg,#78aaff0a 0 1px,#0000 1px 24px),repeating-linear-gradient(90deg,#78aaff0a 0 1px,#0000 1px 24px),#060a1ab3;border-radius:10px;position:relative;overflow:hidden}.room{background:#46e6ff06;border:1px solid #78c8ff47;position:absolute}.room span{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);font-size:10px;position:absolute;top:4px;left:6px}.route{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.locus{border:1px solid var(--violet);color:#fff;width:30px;height:30px;font-family:var(--font-mono);background:#a283ff40;border-radius:50%;place-items:center;font-size:12px;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 14px #a283ff80}.locus.on{background:var(--violet);box-shadow:0 0 20px #a283ffe6}.palace-walk{background:radial-gradient(circle at 0 0,#a283ff29,#0000 50%),#080c1e99;max-width:720px}.writing-scores{flex-direction:column;gap:8px;display:flex}.finding{border-left:3px solid var(--line-strong);background:#080c1e80;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.finding.important{border-left-color:var(--red)}.finding.check{border-left-color:var(--amber)}.finding.tip{border-left-color:var(--accent)}.boss-page{--bh:var(--boss-hue,300)}.boss-arena{border:1px solid hsla(var(--bh), 90%, 60%, .35);background:radial-gradient(ellipse at 50% 0%, hsla(var(--bh), 90%, 50%, .28), transparent 60%), radial-gradient(ellipse at 50% 120%, #ff285a2e, transparent 50%), #060410d9;clip-path:polygon(24px 0,100% 0,100% calc(100% - 24px),calc(100% - 24px) 100%,0 100%,0 24px);padding:40px 28px 28px;position:relative;overflow:hidden}.boss-sigil{opacity:.5;pointer-events:none;width:320px;height:320px;position:absolute;top:-60px;right:-60px}.boss-sigil span{border:1px solid hsla(var(--bh), 90%, 65%, .5);animation:24s linear infinite spin;position:absolute;inset:0;transform:rotate(45deg)}.boss-sigil span:nth-child(2){animation-duration:16s;animation-direction:reverse;inset:40px}.boss-sigil span:nth-child(3){border-style:dashed;border-radius:50%;inset:90px}.boss-head{flex-direction:column;gap:8px;max-width:720px;display:flex;position:relative}.boss-name{letter-spacing:.06em;color:#fff;text-shadow:0 0 30px hsla(var(--bh), 100%, 60%, .8);font-size:clamp(32px,5vw,60px)}.boss-title{font-family:var(--font-mono);letter-spacing:.3em;text-transform:uppercase;color:hsla(var(--bh), 90%, 75%, 1);font-size:12px}.boss-hp{border:1px solid hsla(var(--bh), 90%, 60%, .5);background:#ffffff0f;height:14px;margin-top:10px;overflow:hidden;transform:skew(-12deg)}.boss-hp span{background:linear-gradient(90deg, #ff2a6d, hsla(var(--bh), 95%, 60%, 1));height:100%;transition:width .6s var(--ease-out);display:block;box-shadow:0 0 18px #ff2a6dcc}.boss-lore{font-family:var(--font-display);color:var(--text);font-size:19px;font-style:italic}.boss-phase{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.2em;color:hsla(var(--bh), 90%, 75%, 1)}.boss-q{background:#0a0618bf}.boss-hit{animation:.42s steps(2,end) glitch}.boss-hit .boss-hp span{filter:brightness(2)}.player-hit{animation:.3s steps(2,end) glitch;box-shadow:inset 0 0 80px #ff285a80}.boss-end{flex-direction:column;align-items:center;display:flex}
