:root{--bg: #0a0c0a;--bg-panel: #11140f;--bg-panel-2: #161a13;--border: #283021;--border-bright: #3a4530;--text: #d9e0cf;--text-dim: #7e8a6e;--text-faint: #4d5742;--amber: #e8b341;--amber-bright: #ffc857;--green: #8bc34a;--green-dim: #5a7a3a;--red: #d96459;--cyan: #6fb3b8;--magenta: #c490c4;--mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--display: "Fraunces", Georgia, serif;--glow: 0 0 8px rgba(232, 179, 65, .25)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--mono);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0px,rgba(255,255,255,.012) 1px,transparent 1px,transparent 3px)}::selection{background:var(--amber);color:var(--bg)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}.shell{display:flex;flex-direction:column;min-height:100%}.topbar{display:flex;align-items:center;gap:16px;padding:14px 22px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--bg-panel) 0%,var(--bg) 100%);position:sticky;top:0;z-index:20}.brand{font-family:var(--display);font-weight:900;font-size:19px;letter-spacing:-.02em;color:var(--amber-bright);text-shadow:var(--glow)}.brand .prompt{color:var(--green);font-family:var(--mono);font-weight:700}.tabs{display:flex;gap:2px;margin-left:12px;flex-wrap:wrap}.tab{background:transparent;border:1px solid transparent;color:var(--text-dim);font-family:var(--mono);font-size:12.5px;font-weight:500;padding:6px 13px;cursor:pointer;letter-spacing:.03em;text-transform:lowercase;transition:all .13s ease}.tab:hover{color:var(--text);background:var(--bg-panel-2)}.tab.active{color:var(--bg);background:var(--amber);border-color:var(--amber);font-weight:700}.spacer{flex:1}.pill{font-size:11px;color:var(--text-faint);border:1px solid var(--border);padding:4px 9px}.pill b{color:var(--green);font-weight:700}.main{flex:1;max-width:1080px;width:100%;margin:0 auto;padding:30px 22px 80px}.h1{font-family:var(--display);font-weight:600;font-size:30px;letter-spacing:-.02em;color:var(--text);margin-bottom:6px}.sub{color:var(--text-dim);font-size:13px;margin-bottom:26px;max-width:620px}.sectlabel{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--amber);font-weight:700;margin-bottom:12px}.searchrow{display:flex;gap:10px;margin-bottom:8px}.input{flex:1;background:var(--bg-panel);border:1px solid var(--border-bright);color:var(--text);font-family:var(--mono);font-size:14px;padding:13px 16px;outline:none;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--text-faint)}.input:focus{border-color:var(--amber);box-shadow:var(--glow)}.btn{background:var(--amber);border:1px solid var(--amber);color:var(--bg);font-family:var(--mono);font-weight:700;font-size:13px;padding:0 20px;cursor:pointer;letter-spacing:.02em;transition:all .13s ease;white-space:nowrap}.btn:hover{background:var(--amber-bright);box-shadow:var(--glow)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--text-dim);border-color:var(--border-bright)}.btn.ghost:hover{color:var(--amber);border-color:var(--amber);background:transparent;box-shadow:none}.btn.ghost.on{color:var(--bg);background:var(--green);border-color:var(--green)}.hint{font-size:11.5px;color:var(--text-faint);margin-bottom:22px}.hint code{color:var(--cyan)}.grid{display:grid;gap:12px}.grid.cols2{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.card{background:var(--bg-panel);border:1px solid var(--border);padding:16px 18px;transition:border-color .15s,transform .15s;animation:rise .35s ease backwards}.card:hover{border-color:var(--border-bright)}.card.click{cursor:pointer}.card.click:hover{border-color:var(--amber);transform:translateY(-1px)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.card-title{font-size:15px;font-weight:700;color:var(--text);margin-bottom:3px}.card-id{font-size:11px;color:var(--text-faint)}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.between{justify-content:space-between}.badge{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:2px 8px;border:1px solid}.badge.junior{color:var(--green);border-color:var(--green-dim)}.badge.mid{color:var(--amber);border-color:var(--border-bright)}.badge.senior{color:var(--red);border-color:var(--red)}.badge.learned{color:var(--bg);background:var(--green);border-color:var(--green)}.dots{letter-spacing:1px;font-size:12px}.dots .on{color:var(--magenta)}.dots .off{color:var(--text-faint)}.layer{margin-bottom:20px}.layer-h{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--cyan);margin-bottom:6px}.layer-b{color:var(--text);font-size:13.5px}pre.code{background:var(--bg);border:1px solid var(--border);border-left:2px solid var(--amber);padding:14px 16px;overflow-x:auto;font-size:12.5px;color:var(--text);line-height:1.5;white-space:pre}.synth{border:1px solid var(--border-bright);border-left:2px solid var(--magenta);background:var(--bg-panel-2);padding:14px 16px;margin-top:8px}.synth-src{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--magenta);margin-bottom:8px}.synth-label{color:var(--text-dim);font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px}.synth-text{color:var(--text);margin-bottom:12px;font-size:13.5px}.synth-text.say{font-style:italic;color:var(--amber-bright)}.meta{display:flex;gap:18px;font-size:11.5px;color:var(--text-dim);margin:14px 0;flex-wrap:wrap}.meta b{color:var(--green)}.resource a{color:var(--cyan);text-decoration:none;border-bottom:1px dotted var(--cyan)}.resource a:hover{color:var(--amber);border-color:var(--amber)}.nextlist{display:flex;flex-direction:column;gap:4px}.nextlink{background:none;border:none;color:var(--text);font-family:var(--mono);font-size:13px;cursor:pointer;text-align:left;padding:4px 0;transition:color .12s}.nextlink:hover{color:var(--amber)}.nextlink .arrow{color:var(--green);margin-right:8px}.qlist{counter-reset:q;display:flex;flex-direction:column;gap:8px}.qitem{display:flex;gap:12px}.qnum{color:var(--amber);font-weight:700;flex-shrink:0}.mistake{display:flex;gap:10px;color:var(--text);font-size:13px;margin-bottom:6px}.mistake .x{color:var(--red);font-weight:700;flex-shrink:0}.terms{display:flex;flex-wrap:wrap;gap:7px}.term{font-size:11.5px;color:var(--green);border:1px solid var(--green-dim);padding:3px 9px}table.mkt{width:100%;border-collapse:collapse;font-size:12.5px}table.mkt th{text-align:left;color:var(--amber);font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;padding:8px 12px;border-bottom:1px solid var(--border-bright)}table.mkt td{padding:10px 12px;border-bottom:1px solid var(--border)}table.mkt tr:hover td{background:var(--bg-panel)}table.mkt .rank{color:var(--text-faint)}table.mkt .type{color:var(--cyan);font-weight:700}table.mkt .val{color:var(--green)}table.mkt .score{color:var(--amber-bright);font-weight:700;text-align:right}.disclaimer{border:1px solid var(--border-bright);border-left:2px solid var(--amber);background:var(--bg-panel-2);padding:10px 14px;font-size:11.5px;color:var(--text-dim);margin-bottom:20px}.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}.login-box{width:100%;max-width:380px}.login-box .brand{font-size:26px;margin-bottom:4px;display:block}.login-box .tag{color:var(--text-dim);font-size:12px;margin-bottom:26px}.login-err{color:var(--red);font-size:12px;margin-top:10px}.cursor:after{content:"▋";color:var(--green);animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}.empty{color:var(--text-faint);font-size:13px;padding:30px 0;text-align:center}.loading{color:var(--amber);font-size:13px}.banner-offline{background:var(--red);color:var(--bg);font-size:12px;font-weight:700;text-align:center;padding:7px;letter-spacing:.03em}.back{color:var(--text-dim);font-size:12px;cursor:pointer;background:none;border:none;font-family:var(--mono);margin-bottom:18px;padding:0}.back:hover{color:var(--amber)}
