:root{--bg: #0a0e16;--bg-deep: #070a10;--raise: #0f1523;--panel: #121a2b;--panel-2: #16203475;--line: #1e2a42;--line-bright: #2c3d61;--text: #e9eef8;--muted: #8fa0bf;--faint: #5d6c8c;--mint: #56e8c4;--mint-dim: #2c8f78;--amber: #f5b54a;--blue: #6aa6ff;--pink: #ff7e9d;--red: #ff6b6b;--green: #6ee7a0;--font-display: "Bricolage Grotesque", sans-serif;--font-body: "Atkinson Hyperlegible", sans-serif;--font-mono: "JetBrains Mono", monospace;--radius: 14px;--radius-sm: 9px;--sidebar-w: 304px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(1100px 500px at 75% -10%,#122036cc 0%,transparent 60%),radial-gradient(800px 600px at -10% 110%,#0e1b2acc 0%,transparent 55%),var(--bg);color:var(--text);font-family:var(--font-body);font-size:16.5px;line-height:1.65;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(to right,#16223a33 1px,transparent 1px),linear-gradient(to bottom,#16223a33 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:radial-gradient(ellipse 90% 80% at 50% 20%,black 30%,transparent 100%);mask-image:radial-gradient(ellipse 90% 80% at 50% 20%,black 30%,transparent 100%);z-index:0}#root{position:relative;z-index:1}::selection{background:#2c8f7866}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.15;letter-spacing:-.015em;margin:0}a{color:var(--mint);text-decoration:none}code,.mono{font-family:var(--font-mono)}button{font-family:var(--font-body);cursor:pointer;border:none;background:none;color:inherit;font-size:inherit}input,select,textarea{font-family:var(--font-mono);background:var(--bg-deep);border:1px solid var(--line-bright);color:var(--text);border-radius:var(--radius-sm);padding:8px 12px;font-size:15px;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--mint-dim)}.shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex-shrink:0;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(180deg,#0d1320f2,#0a0f19f2);border-right:1px solid var(--line)}.sidebar-scroll{flex:1;min-height:0;overflow-y:auto;padding:22px 18px 32px;scrollbar-width:thin;scrollbar-color:var(--line-bright) transparent}.brand{display:flex;align-items:center;gap:11px;padding:4px 8px 18px}.brand-chip{width:38px;height:38px;border-radius:9px;background:var(--bg-deep);border:1px solid var(--line-bright);display:grid;place-items:center;flex-shrink:0}.brand h1{font-size:19px;font-weight:700}.brand .sub{font-size:11.5px;color:var(--faint);letter-spacing:.08em;text-transform:uppercase;font-family:var(--font-mono)}.overall{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-bottom:22px}.overall .pct{font-family:var(--font-display);font-size:30px;font-weight:700;color:var(--mint)}.overall .lbl{font-size:12.5px;color:var(--muted);margin-bottom:8px}.nav-group{margin-bottom:20px}.nav-group>.ghead{display:flex;align-items:baseline;gap:8px;padding:6px 8px;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}.nav-group>.ghead .gcode{color:var(--amber)}.nav-item{display:block;width:100%;text-align:left;padding:10px 12px;border-radius:var(--radius-sm);margin:2px 0;border:1px solid transparent;color:var(--text);transition:background .15s,border-color .15s}.nav-item:hover{background:var(--panel)}.nav-item.active{background:var(--panel);border-color:var(--line-bright)}.nav-item .row{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.nav-item .code{font-family:var(--font-mono);font-size:11px;color:var(--faint)}.nav-item.active .code{color:var(--mint)}.nav-item .name{font-size:14px;font-weight:700}.nav-item .pcttxt{font-family:var(--font-mono);font-size:11px;color:var(--faint)}.minibar{height:4px;background:var(--line);border-radius:3px;margin-top:7px;overflow:hidden}.minibar>div{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--mint-dim),var(--mint));transition:width .5s cubic-bezier(.22,1,.36,1)}.minibar>div.full{background:linear-gradient(90deg,var(--mint),var(--green))}.main{flex:1;min-width:0;padding:0 28px 120px}.content{max-width:860px;margin:0 auto}.hero{padding:84px 0 30px;position:relative}.hero .kicker{font-family:var(--font-mono);font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--amber);margin-bottom:18px}.hero h1{font-size:clamp(40px,6vw,64px);font-weight:800;letter-spacing:-.03em}.hero h1 .hl{color:var(--mint)}.hero p.lede{font-size:18.5px;color:var(--muted);max-width:560px;margin:20px 0 0}.topic-cards{display:grid;gap:18px;margin-top:44px}.tcard{background:linear-gradient(160deg,var(--panel),var(--raise));border:1px solid var(--line);border-radius:var(--radius);padding:26px 28px;position:relative;overflow:hidden}.tcard .watermark{position:absolute;right:18px;top:-14px;font-family:var(--font-display);font-size:96px;font-weight:800;color:#ffffff07;pointer-events:none}.tcard h2{font-size:24px;margin-bottom:4px}.tcard .tag{font-family:var(--font-mono);font-size:12px;color:var(--amber);letter-spacing:.1em}.tcard .subgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}@media (max-width: 760px){.tcard .subgrid{grid-template-columns:1fr}}.subchip{display:block;background:var(--bg-deep);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;color:var(--text);transition:border-color .15s,transform .15s}.subchip:hover{border-color:var(--mint-dim);transform:translateY(-2px)}.subchip .code{font-family:var(--font-mono);font-size:11px;color:var(--faint)}.subchip .nm{font-weight:700;font-size:14.5px}.lesson-head{padding:58px 0 8px;position:relative}.lesson-head .spec-code{font-family:var(--font-mono);color:var(--amber);font-size:13px;letter-spacing:.16em}.lesson-head h1{font-size:clamp(32px,4.6vw,48px);font-weight:800;margin:10px 0 12px}.lesson-head .tagline{color:var(--muted);font-size:17.5px;max-width:620px;margin:0}.lesson-head .bigcode{position:absolute;right:0;top:26px;font-family:var(--font-display);font-weight:800;font-size:110px;color:#ffffff05;pointer-events:none;-webkit-user-select:none;user-select:none}.tabs{display:flex;gap:8px;margin:26px 0 8px;border-bottom:1px solid var(--line);position:sticky;top:0;background:linear-gradient(180deg,var(--bg) 80%,transparent);z-index:5;padding-top:8px}.tab{padding:10px 18px 12px;font-weight:700;font-size:15px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}.tab:hover{color:var(--text)}.tab.on{color:var(--mint);border-bottom-color:var(--mint)}.tab .badge{font-family:var(--font-mono);font-size:10.5px;background:var(--panel);border:1px solid var(--line-bright);padding:2px 7px;border-radius:99px;margin-left:7px;color:var(--muted)}.section{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:28px 30px 22px;margin:26px 0;position:relative}.section.done{border-color:#2c8f7855}.section h2{font-size:23px;font-weight:800;margin-bottom:14px;display:flex;align-items:center;gap:12px}.section h2 .snum{font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--amber);background:var(--bg-deep);border:1px solid var(--line-bright);border-radius:7px;padding:3px 9px;flex-shrink:0}.section p{margin:0 0 14px;color:#cfd9ec}.section ul,.section ol{color:#cfd9ec;margin:0 0 14px;padding-left:24px}.section li{margin-bottom:7px}.section strong{color:var(--text)}.markrow{display:flex;justify-content:flex-end;border-top:1px dashed var(--line);margin-top:18px;padding-top:14px}.markbtn{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:14px;padding:9px 18px;border-radius:99px;border:1px solid var(--line-bright);color:var(--muted);transition:all .18s}.markbtn:hover{border-color:var(--mint-dim);color:var(--text)}.markbtn.done{background:#56e8c414;border-color:var(--mint-dim);color:var(--mint)}.keyterm{border-left:3px solid var(--amber);background:#f5b54a0d;border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:13px 18px;margin:16px 0}.keyterm .t{font-family:var(--font-mono);font-size:12px;color:var(--amber);letter-spacing:.1em;text-transform:uppercase}.keyterm p{margin:5px 0 0!important}.examtip{border:1px solid #6aa6ff44;background:#6aa6ff0d;border-radius:var(--radius-sm);padding:14px 18px;margin:18px 0;display:flex;gap:13px}.examtip .ic{color:var(--blue);flex-shrink:0;font-size:18px}.examtip .t{font-family:var(--font-mono);font-size:11.5px;color:var(--blue);letter-spacing:.12em;text-transform:uppercase;margin-bottom:3px}.examtip p{margin:0!important;font-size:15px}.cmp-table{width:100%;border-collapse:collapse;margin:16px 0;font-size:15px}.cmp-table th{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--amber);text-align:left;padding:9px 13px;border-bottom:1px solid var(--line-bright)}.cmp-table td{padding:10px 13px;border-bottom:1px solid var(--line);color:#cfd9ec;vertical-align:top}.cmp-table tr:last-child td{border-bottom:none}.cmp-table td:first-child{font-weight:700;color:var(--text);white-space:nowrap}.widget{background:var(--bg-deep);border:1px solid var(--line-bright);border-radius:var(--radius);padding:20px 22px;margin:20px 0}.widget-title{display:flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--mint);margin-bottom:14px}.widget-title:before{content:"▸";color:var(--amber)}.btn{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px;padding:9px 18px;border-radius:var(--radius-sm);border:1px solid var(--line-bright);background:var(--panel);color:var(--text);transition:all .15s}.btn:hover{border-color:var(--mint-dim)}.btn.primary{background:var(--mint);color:#06281f;border-color:var(--mint)}.btn.primary:hover{background:#79f0d3}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.sm{padding:6px 13px;font-size:13px}.bits{display:flex;gap:8px;flex-wrap:wrap}.bitcol{text-align:center}.bitcol .pv{font-family:var(--font-mono);font-size:11px;color:var(--faint);margin-bottom:6px}.bitbtn{width:52px;height:58px;border-radius:10px;border:1px solid var(--line-bright);background:var(--panel);font-family:var(--font-mono);font-size:22px;font-weight:700;color:var(--faint);transition:all .12s}.bitbtn.on{background:#56e8c41a;border-color:var(--mint);color:var(--mint);box-shadow:0 0 18px #56e8c42e}@media (max-width: 700px){.bitbtn{width:40px;height:48px;font-size:17px}}.readout{font-family:var(--font-mono);background:var(--raise);border:1px solid var(--line);border-radius:var(--radius-sm);padding:11px 16px;margin-top:14px;font-size:15px;color:var(--muted)}.readout b{color:var(--mint);font-weight:700}.readout .amber{color:var(--amber)}.feedback{font-weight:700;margin-top:10px;font-size:15px}.feedback.ok{color:var(--green)}.feedback.bad{color:var(--red)}.cpu-sim{display:grid;grid-template-columns:1fr 168px;gap:16px}@media (max-width: 700px){.cpu-sim{grid-template-columns:1fr}}.cpu-box{border:1px solid var(--line-bright);border-radius:var(--radius-sm);padding:14px;background:var(--raise)}.cpu-box .bt{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:10px}.reg-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.reg{background:var(--bg-deep);border:1px solid var(--line);border-radius:8px;padding:8px 11px;transition:all .25s}.reg .rn{font-family:var(--font-mono);font-size:10px;color:var(--faint);letter-spacing:.08em}.reg .rv{font-family:var(--font-mono);font-size:16px;font-weight:700;color:var(--text);min-height:24px}.reg.hot{border-color:var(--amber);box-shadow:0 0 14px #f5b54a2b}.reg.hot .rv{color:var(--amber)}.ram-list{display:flex;flex-direction:column;gap:5px}.ram-cell{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:12.5px;background:var(--bg-deep);border:1px solid var(--line);border-radius:7px;padding:5px 10px;color:var(--muted);transition:all .25s}.ram-cell .addr{color:var(--faint)}.ram-cell.hot{border-color:var(--mint);color:var(--mint);box-shadow:0 0 12px #56e8c422}.sim-log{font-family:var(--font-mono);font-size:13px;color:var(--muted);background:var(--raise);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 16px;margin-top:14px;min-height:46px}.sim-log .phase{font-weight:700}.sim-log .phase.fetch{color:var(--mint)}.sim-log .phase.decode{color:var(--amber)}.sim-log .phase.execute{color:var(--pink)}.phase-track{display:flex;gap:6px;margin:14px 0}.phase-pill{flex:1;text-align:center;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;padding:7px 4px;border-radius:99px;border:1px solid var(--line);color:var(--faint);transition:all .25s}.phase-pill.on.fetch{border-color:var(--mint);color:var(--mint);background:#56e8c411}.phase-pill.on.decode{border-color:var(--amber);color:var(--amber);background:#f5b54a11}.phase-pill.on.execute{border-color:var(--pink);color:var(--pink);background:#ff7e9d11}.pixgrid{display:grid;gap:3px;width:fit-content}.pixgrid button{width:30px;height:30px;border-radius:5px;border:1px solid #ffffff14;transition:transform .08s}.pixgrid button:hover{transform:scale(1.12)}.palette{display:flex;gap:8px;margin:12px 0;align-items:center;flex-wrap:wrap}.swatch{width:34px;height:34px;border-radius:8px;border:2px solid transparent}.swatch.sel{border-color:var(--text);box-shadow:0 0 0 2px var(--bg-deep),0 0 0 4px var(--mint)}.binstream{font-family:var(--font-mono);font-size:12px;word-break:break-all;line-height:1.9;color:var(--faint);background:var(--raise);border-radius:var(--radius-sm);border:1px solid var(--line);padding:12px 14px;max-height:110px;overflow-y:auto}.quiz-card{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:30px 32px;margin:26px 0}.quiz-meta{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:12px;color:var(--faint);letter-spacing:.08em;margin-bottom:18px}.quiz-q{font-size:19px;font-weight:700;font-family:var(--font-display);margin-bottom:8px}.quiz-marks{font-family:var(--font-mono);font-size:12.5px;color:var(--amber);margin-bottom:18px}.opt{display:flex;align-items:center;gap:13px;width:100%;text-align:left;background:var(--bg-deep);border:1px solid var(--line);border-radius:var(--radius-sm);padding:13px 16px;margin:8px 0;font-size:15.5px;color:var(--text);transition:all .13s}.opt:hover:not(:disabled){border-color:var(--mint-dim)}.opt .key{font-family:var(--font-mono);font-size:12px;color:var(--faint);border:1px solid var(--line-bright);border-radius:6px;width:24px;height:24px;display:grid;place-items:center;flex-shrink:0}.opt.sel{border-color:var(--blue);background:#6aa6ff10}.opt.correct{border-color:var(--green);background:#6ee7a012}.opt.correct .key{border-color:var(--green);color:var(--green)}.opt.wrong{border-color:var(--red);background:#ff6b6b10}.opt.wrong .key{border-color:var(--red);color:var(--red)}.opt:disabled{cursor:default}.explain{border-left:3px solid var(--mint-dim);background:#56e8c40a;border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:13px 17px;margin-top:16px;font-size:15px;color:#cfd9ec}.explain .t{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mint);margin-bottom:4px}.quiz-actions{display:flex;gap:10px;margin-top:20px;align-items:center}.quiz-result{text-align:center;padding:30px 0 14px}.quiz-result .score{font-family:var(--font-display);font-size:72px;font-weight:800;color:var(--mint);line-height:1}.quiz-result .of{color:var(--muted);font-size:17px;margin:10px 0 26px}.qprogress{height:5px;background:var(--line);border-radius:3px;margin-bottom:24px;overflow:hidden}.qprogress>div{height:100%;background:linear-gradient(90deg,var(--mint-dim),var(--mint));transition:width .35s cubic-bezier(.22,1,.36,1)}.slider-row{display:flex;align-items:center;gap:14px;margin:10px 0}.slider-row label{font-size:14px;color:var(--muted);width:150px;flex-shrink:0}.slider-row input[type=range]{flex:1;accent-color:var(--mint);padding:0;border:none;background:transparent}.slider-row .val{font-family:var(--font-mono);font-size:14px;color:var(--amber);width:90px;text-align:right}.scenario{background:var(--raise);border:1px solid var(--line);border-radius:var(--radius-sm);padding:16px 18px;margin:12px 0}.scenario .sq{font-weight:700;margin-bottom:12px}.chipset{display:flex;gap:8px;flex-wrap:wrap}.chip{font-size:13.5px;font-weight:700;padding:7px 14px;border-radius:99px;border:1px solid var(--line-bright);background:var(--bg-deep);color:var(--muted);transition:all .13s}.chip:hover:not(:disabled){border-color:var(--mint-dim);color:var(--text)}.chip.correct{border-color:var(--green);color:var(--green);background:#6ee7a012}.chip.wrong{border-color:var(--red);color:var(--red);background:#ff6b6b10}.wavebox{background:var(--raise);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px}.kbd-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px}.next-footer{display:flex;justify-content:space-between;gap:14px;margin:44px 0 0}.next-footer .btn{padding:14px 22px}.completion-banner{display:flex;align-items:center;gap:14px;background:#56e8c40e;border:1px solid var(--mint-dim);border-radius:var(--radius);padding:16px 22px;margin:26px 0;color:var(--mint);font-weight:700}@media (max-width: 900px){.shell{flex-direction:column}.sidebar{width:100%;height:auto;position:static}.lesson-head .bigcode{display:none}}.codeblock{font-family:var(--font-mono);font-size:14px;line-height:1.75;background:var(--bg-deep);border:1px solid var(--line-bright);border-radius:var(--radius-sm);padding:14px 18px;margin:14px 0;white-space:pre;overflow-x:auto;color:#cfd9ec}.codeblock .kw{color:var(--pink)}.codeblock .cm{color:var(--faint);font-style:italic}.codeblock .st{color:var(--amber)}.bars{display:flex;align-items:flex-end;gap:7px;height:130px;margin:14px 0 6px}.bar{flex:1;max-width:52px;border-radius:6px 6px 3px 3px;background:var(--panel);border:1px solid var(--line-bright);display:flex;align-items:flex-end;justify-content:center;font-family:var(--font-mono);font-size:12px;padding-bottom:4px;color:var(--muted);transition:height .25s,background .2s,border-color .2s}.bar.compare{background:#f5b54a22;border-color:var(--amber);color:var(--amber)}.bar.swap{background:#ff7e9d22;border-color:var(--pink);color:var(--pink)}.bar.sorted{background:#56e8c41a;border-color:var(--mint-dim);color:var(--mint)}.bar.found{background:#6ee7a022;border-color:var(--green);color:var(--green)}.bar.dim{opacity:.3}.trace-table{border-collapse:collapse;font-family:var(--font-mono);font-size:13.5px;margin-top:12px}.trace-table th{font-size:11px;letter-spacing:.08em;color:var(--amber);border-bottom:1px solid var(--line-bright);padding:6px 16px;text-align:center}.trace-table td{border-bottom:1px solid var(--line);padding:5px 16px;text-align:center;color:#cfd9ec}.trace-table tr.hot td{background:#56e8c40d;color:var(--mint)}.gate-row{display:flex;gap:14px;flex-wrap:wrap}.gate-card{background:var(--raise);border:1px solid var(--line-bright);border-radius:var(--radius-sm);padding:14px 18px;text-align:center;flex:1;min-width:150px}.gate-card .gname{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;color:var(--amber);margin-bottom:10px}.inbit{font-family:var(--font-mono);font-weight:700;font-size:16px;width:42px;height:42px;border-radius:9px;border:1px solid var(--line-bright);background:var(--panel);color:var(--faint);margin:0 4px;transition:all .12s}.inbit.on{border-color:var(--mint);color:var(--mint);background:#56e8c414;box-shadow:0 0 12px #56e8c426}.outbit{display:inline-grid;place-items:center;font-family:var(--font-mono);font-weight:700;font-size:18px;width:46px;height:46px;border-radius:50%;border:2px solid var(--line-bright);color:var(--faint);margin-top:12px;transition:all .15s}.outbit.on{border-color:var(--green);color:var(--green);background:#6ee7a014;box-shadow:0 0 16px #6ee7a030}.exam-controls{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:24px 28px;margin:26px 0}.exam-row{display:flex;align-items:center;gap:14px;margin:12px 0;flex-wrap:wrap}.exam-row>label{width:110px;flex-shrink:0;font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--amber)}.exam-preview{background:#fff;border-radius:var(--radius);border:1px solid var(--line-bright);margin:20px 0;padding:10px;max-height:80vh;overflow-y:auto}.exam-preview svg{width:100%;height:auto;display:block}.nav-extra{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:12px 14px;margin:2px 0 18px;border-radius:var(--radius-sm);border:1px dashed var(--line-bright);color:var(--amber);font-weight:700;font-size:14px;transition:all .15s}.nav-extra:hover{border-color:var(--amber);background:#f5b54a0d}.nav-extra.active{border-style:solid;border-color:var(--amber);background:#f5b54a0d}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeUp .45s cubic-bezier(.22,1,.36,1) both}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(900px 500px at 70% -10%,#16223a88,transparent),var(--bg)}.auth-card{width:100%;max-width:420px;display:flex;flex-direction:column;gap:14px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:28px}.auth-brand h1{font-family:var(--font-display);font-size:26px;color:var(--text)}.auth-brand .sub{font-family:var(--font-mono);font-size:11px;color:var(--faint);letter-spacing:.14em;text-transform:uppercase}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--bg-deep);border:1px solid var(--line);border-radius:var(--radius-sm);padding:4px}.auth-tabs button{padding:8px 0;border-radius:6px;font-weight:700;font-size:13px;color:var(--muted)}.auth-tabs button.active{background:var(--raise);color:var(--mint)}.auth-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:var(--muted)}.auth-error{border:1px solid var(--red);border-radius:var(--radius-sm);padding:10px 13px;font-size:13px;color:var(--red);background:#ff6b6b14}.auth-note{font-size:13px;color:var(--faint);line-height:1.5}.auth-pending{color:var(--faint);font-family:var(--font-mono);font-size:13px}.auth-locked-title{font-family:var(--font-display);font-size:20px;color:var(--text)}.account{flex-shrink:0;display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--bg-deep);border-top:1px solid var(--line)}.avatar{width:32px;height:32px;flex-shrink:0;border-radius:50%;background:var(--raise);border:1px solid var(--line-bright);color:var(--mint);font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;object-fit:cover}.account .who{min-width:0;flex:1}.account .nm{font-size:13px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account .un{font-family:var(--font-mono);font-size:11px;color:var(--faint)}.account .signout{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--line-bright);border-radius:var(--radius-sm);color:var(--muted);transition:all .15s}.account .signout:hover{color:var(--red);border-color:var(--red);background:#ff6b6b14}.admin-head{padding:56px 0 8px}.admin-head h1{font-family:var(--font-display);font-size:30px}.admin-table{width:100%;border-collapse:collapse;margin-top:18px;font-size:14px}.admin-table th{text-align:left;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--faint);padding:8px 10px;border-bottom:1px solid var(--line-bright)}.admin-table td{padding:10px;border-bottom:1px solid var(--line);vertical-align:middle}.admin-table tr.banned td{opacity:.55}.admin-who{display:flex;align-items:center;gap:10px}.admin-who .nm{font-weight:700;color:var(--text)}.admin-who .un,.admin-table .email{font-family:var(--font-mono);font-size:12px;color:var(--faint)}.admin-who .you{font-family:var(--font-mono);font-size:10px;color:var(--amber);border:1px solid var(--amber);border-radius:4px;padding:1px 5px;margin-left:4px}.status{font-family:var(--font-mono);font-size:11px;padding:3px 8px;border-radius:6px;white-space:nowrap}.status.on{color:var(--green);border:1px solid var(--green)}.status.off{color:var(--red);border:1px solid var(--red)}.status.wait{color:var(--amber);border:1px solid var(--amber)}.admin-actions{white-space:nowrap}.admin-actions .btn{margin-left:6px}.admin-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#05070bcc;display:flex;align-items:center;justify-content:center;padding:24px;z-index:50}.admin-dialog-actions{display:flex;justify-content:flex-end;gap:8px}.avatar.lg{width:56px;height:56px;font-size:22px}.admin-avatar-row{display:flex;align-items:center;gap:12px}
