:root{color-scheme:light;--bg: #f0f4ff;--panel: #ffffff;--ink: #18202e;--muted: #64748b;--line: #e2e8f4;--brand: #6366f1;--brand-dark: #4f46e5;--brand-light: #818cf8;--brand-soft: #eef2ff;--brand-glow: rgba(99, 102, 241, .18);--green: #10b981;--green-soft: #d1fae5;--easy: #10b981;--medium: #f59e0b;--hard: #ef4444;--again-color: #ef4444;--good-color: #6366f1;--ez-color: #10b981;--shadow-xs: 0 1px 2px rgba(15,23,42,.05);--shadow-sm: 0 1px 4px rgba(15,23,42,.07), 0 4px 12px rgba(15,23,42,.05);--shadow: 0 2px 8px rgba(15,23,42,.07), 0 8px 24px rgba(15,23,42,.05);--shadow-lg: 0 8px 32px rgba(99,102,241,.16), 0 2px 8px rgba(15,23,42,.08);--shadow-card-hover: 0 6px 24px rgba(99,102,241,.18), 0 2px 8px rgba(15,23,42,.1);--radius: 16px;--radius-sm: 10px;--radius-xs: 7px;--t-fast: .14s ease;--t-med: .24s ease;--t-spring: .45s cubic-bezier(.34,1.56,.64,1)}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.6;min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 70% 50% at -5% -5%,rgba(99,102,241,.06) 0%,transparent 60%),radial-gradient(ellipse 60% 40% at 105% 110%,rgba(139,92,246,.05) 0%,transparent 60%);pointer-events:none;z-index:0}h1,h2,h3{margin:0;line-height:1.25}a{color:var(--brand)}code{background:var(--brand-soft);color:var(--brand-dark);padding:1px 7px;border-radius:6px;font-size:.88em;font-family:Fira Code,Cascadia Code,ui-monospace,monospace}.muted{color:var(--muted)}.small{font-size:.85rem}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 24px;height:62px;background:#ffffffd1;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid rgba(226,232,244,.8);box-shadow:0 1px #fff9,0 4px 20px #0f172a0a;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:12px;flex:none}.logo{font-size:26px;line-height:1}.logo.big{font-size:48px}.brand h1{font-size:1.1rem;font-weight:800;letter-spacing:-.02em;background:linear-gradient(135deg,var(--brand-dark),var(--brand-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tagline{margin:0;font-size:.75rem;color:var(--muted);font-weight:500}.topbar-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.role-select,.search,.diff-select{font:inherit;font-size:.88rem;padding:7px 12px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink);outline:none;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.role-select:focus,.search:focus,.diff-select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.search{min-width:220px}.job-select{max-width:300px}.layout{display:grid;grid-template-columns:290px 1fr;gap:20px;max-width:1240px;margin:20px auto;padding:0 24px;position:relative;z-index:1}@media (max-width: 820px){.layout,.visual-flow{grid-template-columns:1fr}.visual-arrow{justify-self:center;transform:rotate(90deg)}.answer,.card-actions{padding-left:18px}.topbar{height:auto;padding:12px 16px}}.sidebar{display:flex;flex-direction:column;gap:12px;align-self:start;min-width:0;position:sticky;top:78px}.progress-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:14px}.progress-ring-wrap{position:relative;flex:none}.progress-ring-wrap svg{display:block;overflow:visible}.progress-ring-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}.progress-ring-label strong{font-size:.88rem;font-weight:800;color:var(--brand)}.progress-ring-label span{font-size:.62rem;color:var(--muted);font-weight:600}.progress-info{flex:1;min-width:0}.progress-info strong{display:block;font-size:.88rem;font-weight:700;margin-bottom:2px}.progress-info .muted{font-size:.78rem}.progress-bar{height:6px;background:var(--line);border-radius:99px;overflow:hidden;margin:8px 0 4px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--brand),var(--brand-light));border-radius:99px;transition:width .4s ease}.topic-tools{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:10px}.topic-search{background:var(--bg);border:1.5px solid var(--line);border-radius:var(--radius-xs);color:var(--ink);font:inherit;font-size:.88rem;outline:none;padding:8px 12px;width:100%;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.topic-search:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.empty-topics{margin:8px 10px}.topic-list{display:flex;flex-direction:column;gap:3px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);max-height:calc(100vh - 260px);overflow-y:auto;padding:8px;box-shadow:var(--shadow-sm)}.topic-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;border:1.5px solid transparent;background:transparent;color:var(--ink);font:inherit;padding:9px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast),transform var(--t-fast)}.topic-btn:hover{background:var(--bg);border-color:var(--line);transform:translate(2px)}.topic-btn.active{background:linear-gradient(135deg,var(--brand-soft),rgba(238,242,255,.6));border-color:#6366f140;color:var(--brand);font-weight:650}.topic-name{display:grid;gap:1px;font-size:.88rem}.topic-name em{color:var(--muted);font-size:.7rem;font-style:normal;font-weight:600}.topic-meta{display:flex;align-items:center;gap:6px;flex-shrink:0}.topic-count{font-size:.72rem;color:var(--muted);background:var(--bg);border-radius:99px;padding:2px 7px;white-space:nowrap;font-weight:700}.topic-btn.active .topic-count{background:#6366f126;color:var(--brand)}.mini-bar{width:42px;height:4px;background:var(--line);border-radius:99px;overflow:hidden;flex-shrink:0}.mini-fill{height:100%;background:linear-gradient(90deg,var(--brand),var(--brand-light));border-radius:99px;transition:width .4s ease}.content{min-width:0;position:relative;z-index:1}.role-brief{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:14px;padding:14px 18px}.role-brief-main{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.eyebrow{color:var(--brand);font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin:0 0 4px}.role-brief h2{font-size:1.1rem;font-weight:700}.role-desc{color:var(--muted);margin:10px 0 0;font-size:.92rem}.field-subtitle{color:var(--muted);font-size:.88rem;margin:5px 0 0;max-width:720px}.role-stats{display:flex;flex:none;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.role-stats span{background:var(--brand-soft);border-radius:99px;color:var(--brand);font-size:.75rem;font-weight:700;padding:4px 10px}.brief-toggle{background:var(--panel);border:1.5px solid var(--line);border-radius:var(--radius-xs);color:var(--brand);cursor:pointer;font:inherit;font-size:.75rem;font-weight:700;padding:5px 10px;transition:background var(--t-fast),border-color var(--t-fast)}.brief-toggle:hover{border-color:var(--brand);background:var(--brand-soft)}.focus-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin-top:14px}.focus-grid span{background:var(--brand-soft);border-radius:var(--radius-xs);color:var(--ink);font-size:.78rem;font-weight:600;padding:6px 10px}.source-link{color:var(--brand);display:inline-block;font-size:.88rem;font-weight:700;margin-top:14px;text-decoration:none}.source-link:hover{text-decoration:underline}.role-brief.collapsed .role-brief-main{align-items:center}.field-strip{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:16px}.field-strip button{background:var(--panel);border:1.5px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);color:var(--ink);cursor:pointer;display:grid;gap:4px;min-height:68px;padding:12px 14px;text-align:left;transition:border-color var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast)}.field-strip button:hover{border-color:var(--brand);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.field-strip button.active{background:linear-gradient(160deg,var(--brand-soft),var(--panel));border-color:#6366f166;box-shadow:var(--shadow-lg)}.field-strip strong{font-size:.92rem;font-weight:700}.field-strip span{color:var(--muted);font-size:.78rem}.content-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;flex-wrap:wrap}.content-head h2{font-size:1.25rem;font-weight:800}.content-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.seg{display:inline-flex;background:var(--panel);border:1.5px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.seg button{border:none;background:transparent;font:inherit;font-size:.86rem;padding:7px 16px;cursor:pointer;color:var(--muted);transition:background var(--t-fast),color var(--t-fast)}.seg button.on{background:var(--brand);color:#fff;font-weight:650}.filter-btn{border:1.5px solid var(--line);background:var(--panel);color:var(--muted);font:inherit;font-size:.84rem;padding:7px 13px;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--t-fast)}.filter-btn.on{background:#fef9c3;border-color:#fde68a;color:#78350f;font-weight:650}[data-theme=dark] .filter-btn.on{background:#292000;border-color:#a16207;color:#fbbf24}.icon-btn{border:1.5px solid var(--line);background:var(--panel);color:var(--muted);font-size:1rem;font-weight:700;padding:7px 11px;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--t-fast);line-height:1}.icon-btn:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.study-paths{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:14px;padding:14px 16px}.study-paths-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.study-paths-head span{color:var(--brand);display:block;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.study-paths-head p{color:var(--muted);font-size:.86rem;margin:3px 0 0}.study-paths-head button,.cluster-pills button{background:var(--panel);border:1.5px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);cursor:pointer;font:inherit;transition:all var(--t-fast)}.study-paths-head button{flex:none;font-size:.84rem;font-weight:700;padding:6px 12px}.path-head-actions{display:flex;flex:none;gap:8px}.study-paths-head button:hover,.cluster-pills button:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.path-summary{align-items:center;background:linear-gradient(90deg,var(--brand-soft),rgba(236,253,245,.75));border:1px solid rgba(99,102,241,.18);border-radius:12px;display:flex;gap:8px;margin-top:12px;padding:9px 11px}.path-summary strong{color:var(--brand);font-size:1rem}.path-summary span,.path-summary i{color:var(--muted);font-size:.8rem;font-style:normal}.path-summary i{margin-left:auto}.module-tree{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin-top:12px;position:relative;max-height:320px;overflow-y:auto;padding:2px 4px 2px 2px}.module-tree:before{background:linear-gradient(90deg,#6366f12e,#22c55e2e);content:"";height:3px;left:20px;position:absolute;right:20px;top:23px}.module-node{align-items:start;background:var(--panel);border:1.5px solid var(--line);border-radius:13px;color:var(--ink);cursor:pointer;display:grid;gap:5px;grid-template-columns:30px minmax(0,1fr) auto;min-height:82px;padding:10px;position:relative;text-align:left;transition:all var(--t-fast);z-index:1}.module-node:hover{border-color:var(--brand);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.module-node.active{border-color:var(--brand);box-shadow:0 0 0 3px #6366f11f}.module-node.done{background:linear-gradient(160deg,var(--green-soft),var(--panel));border-color:#10b98180}.module-node.progress{background:linear-gradient(160deg,var(--brand-soft),var(--panel))}.module-node i{background:var(--bg);border:1px solid var(--line);border-radius:9px;color:var(--brand);display:grid;font-size:.75rem;font-style:normal;font-weight:900;height:30px;place-items:center;width:30px}.module-node.done i{background:var(--green);border-color:var(--green);color:#fff}.module-node span{font-size:.82rem;font-weight:800;line-height:1.25;min-width:0}.module-node em{color:var(--muted);font-size:.72rem;font-style:normal;font-weight:850}.module-node b{background:var(--bg);border-radius:999px;display:block;grid-column:1 / -1;height:6px;overflow:hidden}.module-node b small{background:linear-gradient(90deg,var(--brand),var(--green));border-radius:inherit;display:block;height:100%;transition:width .3s ease}.cluster-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.cluster-pills button{align-items:center;display:flex;gap:7px;max-width:100%;padding:6px 10px}.cluster-pills span{font-size:.82rem;line-height:1.25}.cluster-pills em{background:var(--bg);border-radius:99px;color:var(--muted);flex:none;font-size:.72rem;font-style:normal;font-weight:800;padding:1px 7px}.study-paths-head button.active,.cluster-pills button.active{background:var(--brand);border-color:var(--brand);color:#fff}.cluster-pills button.active em{background:#ffffff38;color:#fff}.cluster-desc{color:var(--muted);font-size:.88rem;margin:8px 0 0}.cards{display:flex;flex-direction:column;gap:10px}.grouped-cards{gap:18px}.book-outline{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);display:flex;gap:14px;justify-content:space-between;padding:12px 16px}.book-outline span{color:var(--brand);display:block;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.book-outline p{color:var(--muted);font-size:.86rem;margin:3px 0 0}.book-actions{display:flex;flex:none;gap:8px}.book-actions button{background:var(--panel);border:1.5px solid var(--line);border-radius:var(--radius-xs);color:var(--brand);cursor:pointer;font:inherit;font-size:.78rem;font-weight:700;padding:5px 10px;transition:all var(--t-fast)}.book-actions button:hover{background:var(--brand-soft);border-color:var(--brand)}.question-group{display:grid;gap:8px}.question-group-head{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);display:flex;gap:12px;justify-content:space-between;padding:12px 16px;position:sticky;text-align:left;top:72px;z-index:3;width:100%;color:inherit;cursor:pointer;font:inherit;transition:box-shadow var(--t-fast)}.question-group-head:hover{box-shadow:var(--shadow)}.question-group.closed{gap:0}.question-group-body{display:grid;gap:8px}.question-group-head h3{font-size:.96rem;font-weight:700}.question-group-head p{color:var(--muted);font-size:.82rem;margin:3px 0 0}.question-group-meta{align-items:center;display:flex;flex:none;gap:8px}.question-group-meta span{background:var(--brand-soft);border-radius:99px;color:var(--brand);flex:none;font-size:.75rem;font-weight:800;padding:3px 9px}.question-group-meta i{color:var(--muted);font-size:.75rem;font-style:normal;font-weight:700}.card{background:var(--panel);border:1.5px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;transition:border-color var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast);animation:card-in .22s ease both}.card:hover{border-color:#6366f140;box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.card.known{border-color:#a7f3d0}.card.known:hover{border-color:#6ee7b7;box-shadow:0 6px 24px #10b98124,0 2px 8px #0f172a14}.card-head{display:flex;justify-content:space-between;gap:12px;padding:15px 18px;cursor:pointer}.card-q{display:flex;gap:12px}.qnum{flex:none;width:26px;height:26px;border-radius:7px;background:linear-gradient(135deg,var(--brand-soft),rgba(238,242,255,.5));color:var(--brand);font-weight:800;font-size:.75rem;display:grid;place-items:center;border:1px solid rgba(99,102,241,.15)}.card-topic{font-size:.72rem;color:var(--brand);font-weight:700;margin-bottom:2px;letter-spacing:.03em}.prompt{margin:0 0 8px;font-weight:650;font-size:1rem}.badges{display:flex;flex-wrap:wrap;gap:5px}.badge{font-size:.7rem;padding:2px 8px;border-radius:99px;font-weight:700}.badge.tag{background:var(--bg);color:var(--muted)}.diff-easy{background:#d1fae5;color:#065f46}.diff-medium{background:#fef3c7;color:#92400e}.diff-hard{background:#fee2e2;color:#991b1b}.chev{color:var(--muted);transition:transform .22s ease;align-self:flex-start;margin-top:2px;font-size:.9rem}.chev.open{transform:rotate(180deg)}.answer{padding:16px 18px 8px 56px;border-top:1px solid var(--line);animation:answer-slide-in .22s ease both}@keyframes answer-slide-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.answer p{margin:0}.answer-body{display:grid;gap:12px}.answer-body ul{margin:8px 0 10px 18px;padding:0}.answer-body li{margin:5px 0}.answer-breakdown{display:grid;gap:10px}.answer-takeaway,.answer-points{border:1px solid var(--line);border-radius:12px;padding:13px 15px}.answer-takeaway{background:linear-gradient(160deg,var(--brand-soft),rgba(255,255,255,.5));border-left:4px solid var(--brand)}.answer-points{background:var(--bg)}.answer-takeaway>span,.answer-points>span,.visual-title{color:var(--brand);display:block;font-size:.68rem;font-weight:800;letter-spacing:.06em;margin-bottom:7px;text-transform:uppercase}.answer-takeaway p{font-size:1rem;font-weight:650}.answer-points ul{margin-bottom:0}.answer-points li{padding-left:3px}.concept-visual{background:linear-gradient(160deg,var(--bg),rgba(238,242,255,.3));border:1px solid var(--line);border-radius:12px;overflow:hidden;padding:14px}.visual-scene{position:relative}.visual-flow{align-items:stretch;display:grid;grid-template-columns:1fr auto 1fr auto 1.35fr;gap:8px}.visual-flow-dense{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.visual-node{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);display:grid;gap:3px;min-width:0;padding:10px}.visual-node strong{color:var(--ink);font-size:.88rem}.visual-node span{color:var(--muted);font-size:.76rem}.visual-node.accent{background:var(--brand-soft);border-color:#6366f14d}.visual-arrow{align-self:center;color:var(--brand);font-weight:900}.visual-caption{color:var(--muted);font-size:.78rem;line-height:1.45;margin:10px 0 0}.packet-journey{display:grid;gap:10px;grid-template-columns:repeat(var(--node-count),minmax(104px,1fr));position:relative}.journey-line{background:linear-gradient(90deg,#6366f133,#0ea5e959,#22c55e40);border-radius:999px;height:4px;left:30px;overflow:hidden;position:absolute;right:30px;top:18px}.journey-line span{animation:packet-run 2.7s ease-in-out infinite;background:var(--brand);border-radius:999px;box-shadow:0 0 0 5px #6366f124;display:block;height:10px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:10px}.journey-node{background:#ffffffe0;border:1px solid var(--line);border-radius:12px;display:grid;gap:4px;min-width:0;padding:34px 10px 10px;position:relative;z-index:1}.journey-node i{background:var(--brand);border:3px solid var(--panel);border-radius:999px;color:#fff;display:grid;font-size:.72rem;font-style:normal;font-weight:900;height:28px;left:50%;place-items:center;position:absolute;top:5px;transform:translate(-50%);width:28px}.journey-node strong,.header-field strong,.layer-cake strong{color:var(--ink);font-size:.84rem}.journey-node span,.header-field span,.layer-cake span{color:var(--muted);font-size:.76rem;line-height:1.35}.message-ladder{display:grid;gap:8px;grid-template-columns:minmax(80px,.8fr) minmax(180px,2fr) minmax(80px,.8fr)}.ladder-party{background:var(--panel);border:1px solid var(--line);border-radius:999px;color:var(--ink);font-size:.76rem;font-weight:850;padding:7px 10px;text-align:center}.ladder-party.right{grid-column:3}.ladder-row{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:10px;display:grid;gap:3px 9px;grid-column:1 / -1;grid-template-columns:16px minmax(84px,.7fr) minmax(0,1.4fr);padding:8px 10px;position:relative}.ladder-row:before{background:linear-gradient(90deg,var(--brand),#0ea5e9);border-radius:999px;content:"";height:3px;left:38px;position:absolute;right:38px;top:50%;transform:translateY(-50%)}.ladder-row:after{animation:ladder-run 2.2s ease-in-out infinite;background:var(--brand);border-radius:999px;box-shadow:0 0 0 5px #6366f11f;content:"";height:9px;left:36px;position:absolute;top:calc(50% - 4px);width:9px}.ladder-row.reverse:after{animation-direction:reverse}.ladder-dot{background:var(--brand-soft);border:2px solid var(--brand);border-radius:999px;height:12px;position:relative;width:12px;z-index:1}.ladder-row strong,.ladder-row em{background:var(--panel);position:relative;z-index:1}.ladder-row strong{color:var(--ink);font-size:.82rem;padding-right:3px}.ladder-row em{color:var(--muted);font-size:.76rem;font-style:normal;justify-self:start;padding-left:4px}.header-diagram{align-items:stretch;display:flex;gap:5px;min-height:82px}.header-field{animation:header-pop .55s ease both;border:1px solid var(--line);border-radius:10px;display:grid;gap:4px;min-width:76px;padding:10px}.header-field:nth-child(2){animation-delay:70ms}.header-field:nth-child(3){animation-delay:.14s}.header-field:nth-child(4){animation-delay:.21s}.tone-0{background:#eef2ff;border-color:#6366f140}.tone-1{background:#ecfeff;border-color:#0ea5e940}.tone-2{background:#f0fdf4;border-color:#22c55e40}.tone-3{background:#fff7ed;border-color:#f9731640}.tone-4{background:#fdf2f8;border-color:#ec489938}.layer-cake{display:grid;gap:7px}.layer-cake div{animation:layer-slide .6s ease both;animation-delay:calc(var(--layer) * 80ms);background:linear-gradient(90deg,#6366f11f,#0ea5e917);border:1px solid var(--line);border-left:5px solid var(--brand);border-radius:10px;display:grid;gap:3px;padding:9px 11px}.growth-chart{align-items:end;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(56px,1fr));min-height:155px}.growth-chart div{align-items:center;display:grid;gap:7px;grid-template-rows:1fr auto;min-height:140px}.growth-chart span{align-self:end;animation:bar-grow .75s ease both;background:linear-gradient(180deg,var(--brand),#0ea5e9);border-radius:8px 8px 3px 3px;box-shadow:0 8px 18px #6366f129;display:block;justify-self:center;min-height:12px;width:min(42px,72%)}.growth-chart strong{color:var(--muted);font-size:.72rem;text-align:center}.decision-map{display:grid;gap:9px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.decision-card{background:var(--panel);border:1px solid var(--line);border-radius:11px;display:grid;gap:4px;padding:10px;position:relative}.decision-card:not(:last-child):after{background:var(--brand);border-radius:999px;content:"";height:3px;opacity:.45;position:absolute;right:-10px;top:50%;width:10px}.decision-card.result{background:var(--green-soft);border-color:#10b98159}.decision-card strong{color:var(--ink);font-size:.84rem}.decision-card span{color:var(--muted);font-size:.76rem;line-height:1.35}.topology-map{display:grid;gap:12px;grid-template-areas:"spine1 core spine2" "source core right" "leaf1 core leaf2" "left core leaf2";grid-template-columns:minmax(90px,1fr) minmax(112px,1.1fr) minmax(90px,1fr);min-height:190px;position:relative}.topology-node{align-self:center;background:var(--panel);border:1px solid var(--line);border-radius:12px;display:grid;gap:4px;justify-self:stretch;padding:10px;position:relative;text-align:center;z-index:1}.topology-node.core{background:var(--brand-soft);border-color:#6366f152}.topology-node.source{background:var(--green-soft);border-color:#10b98152}.topology-node strong{color:var(--ink);font-size:.84rem}.topology-node span{color:var(--muted);font-size:.74rem;line-height:1.3}.topology-link{background:linear-gradient(90deg,#6366f138,#0ea5e959);border-radius:999px;height:3px;left:14%;position:absolute;right:14%;top:50%}.topology-link.link-1{top:28%;transform:rotate(18deg)}.topology-link.link-2{top:72%;transform:rotate(-18deg)}.topology-link.link-3{top:48%;transform:rotate(-12deg)}.visual-stack{display:grid;gap:12px}.visual-head{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:10px}.visual-head .visual-title{margin:0}.visual-controls{align-items:center;display:inline-flex;gap:6px}.visual-play{background:var(--brand);border:none;border-radius:999px;color:#fff;cursor:pointer;font-size:.72rem;font-weight:800;letter-spacing:.01em;padding:5px 12px;transition:background var(--t-fast),transform var(--t-fast);white-space:nowrap}.visual-play:hover{background:var(--brand-dark)}.visual-play:active{transform:scale(.95)}.visual-play.on{background:var(--hard)}.visual-step{background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer;font-size:.95rem;font-weight:800;height:26px;line-height:1;width:26px;transition:border-color var(--t-fast),background var(--t-fast)}.visual-step:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.visual-step:disabled{cursor:default;opacity:.4}.visual-progress{color:var(--muted);font-size:.72rem;font-weight:700;min-width:74px;text-align:center}.journey-node{cursor:pointer;font:inherit;text-align:left;transition:transform var(--t-spring),box-shadow var(--t-med),border-color var(--t-med),background var(--t-med)}.journey-node.is-done{border-color:#10b98166;background:#d1fae580}.journey-node.is-done i{background:var(--green)}.journey-node.is-active{border-color:var(--brand);box-shadow:0 8px 22px #6366f138;transform:translateY(-4px) scale(1.03)}.journey-node.is-active strong{color:var(--brand-dark)}.journey-line span.journey-packet{animation:none;left:50%}.journey-packet{background:var(--brand);border-radius:999px;box-shadow:0 0 0 6px #6366f129;height:12px;margin-left:-6px;position:absolute;top:50%;transform:translateY(-50%);transition:left var(--t-spring);width:12px}.ladder-row{cursor:pointer;font:inherit;text-align:left;transition:border-color var(--t-med),box-shadow var(--t-med),opacity var(--t-med),transform var(--t-med);width:100%}.ladder-row:after{animation:none;opacity:0}.ladder-row.is-future{opacity:.4}.ladder-row.is-done{opacity:.72;border-color:#10b98152}.ladder-row.is-done .ladder-dot{background:var(--green);border-color:var(--green)}.ladder-row.is-active{border-color:var(--brand);box-shadow:0 6px 18px #6366f133;opacity:1;transform:translateY(-1px)}.ladder-row.is-active:after{animation:ladder-run 1.5s ease-in-out infinite;opacity:1}.ladder-row.is-active.reverse:after{animation-direction:reverse}.ladder-row.is-active strong{color:var(--brand-dark)}.header-field{cursor:pointer;font:inherit;text-align:left;transition:transform var(--t-med),box-shadow var(--t-med),filter var(--t-med)}.header-field.is-active{box-shadow:0 8px 20px #6366f138;transform:translateY(-4px);z-index:1}.header-field:not(.is-active){filter:saturate(.8)}.layer-row{align-items:center;animation:layer-slide .6s ease both;animation-delay:calc(var(--layer) * 80ms);background:linear-gradient(90deg,#6366f11f,#0ea5e917);border:1px solid var(--line);border-left:5px solid var(--brand);border-radius:10px;cursor:pointer;display:grid;font:inherit;gap:10px;grid-template-columns:auto 1fr;padding:9px 11px;text-align:left;transition:transform var(--t-med),box-shadow var(--t-med),border-color var(--t-med);width:100%}.layer-row i{background:var(--brand);border-radius:999px;color:#fff;display:grid;font-size:.72rem;font-style:normal;font-weight:900;height:22px;place-items:center;width:22px}.layer-text{display:block;min-width:0}.layer-row strong{color:var(--ink);display:block;font-size:.84rem}.layer-row .layer-text>span{color:var(--muted);display:block;font-size:.76rem;line-height:1.35}.layer-row.is-active{border-left-color:var(--brand-dark);box-shadow:0 6px 18px #6366f133;transform:translate(4px)}.layer-row:not(.is-active){filter:saturate(.75);opacity:.82}.topology-svg-wrap{width:100%}.topology-svg{display:block;height:auto;width:100%}.topo-link{stroke:#6366f147;stroke-width:2;transition:stroke var(--t-med),stroke-width var(--t-med)}.topo-link.lit{stroke:var(--brand);stroke-width:3.5}.topo-packet{fill:var(--brand);filter:drop-shadow(0 0 4px rgba(99,102,241,.6));transition:cx var(--t-spring),cy var(--t-spring)}.topo-node{cursor:pointer}.topo-node rect{fill:var(--panel);stroke:var(--line);stroke-width:1.5;transition:stroke var(--t-med),filter var(--t-med)}.topo-glyph{fill:none;stroke:var(--muted);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.topo-node.core .topo-glyph,.topo-node.source .topo-glyph{stroke:var(--brand-dark)}.topo-node.is-here .topo-glyph{stroke:var(--brand)}.device-icon{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.field-strip button{display:flex;align-items:center;gap:11px}.field-icon{flex:none;width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-dark)}.field-strip button.active .field-icon{background:#6366f133}.field-strip-text{display:grid;gap:2px;min-width:0}[data-theme=dark] .field-icon{background:var(--brand-soft);color:var(--brand-light)}.detailable{cursor:pointer;font:inherit;color:inherit;text-align:left;transition:filter var(--t-fast),box-shadow var(--t-fast)}.detailable:hover{filter:brightness(1.04)}.topo-node.detailable,.topo-node{cursor:pointer}.concept-grid button{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);display:grid;gap:4px;padding:11px 12px;width:100%}.visual-ladder button{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:var(--radius-xs);font-size:.84rem;font-weight:650;padding:6px 10px;width:100%}.fsm-strip button{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-xs);color:var(--ink);flex:1 1 100px;font-size:.8rem;font-weight:700;padding:7px 9px;position:relative;text-align:center}.fsm-strip button:not(:last-child):after{color:var(--brand);content:"›";font-weight:900;position:absolute;right:-8px;font-size:1rem}.state-flow-table button{align-items:center;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:var(--radius-xs);display:grid;gap:6px;grid-template-columns:minmax(92px,.7fr) minmax(96px,.8fr) minmax(0,1.5fr);padding:8px 10px;width:100%}.state-flow-table button:hover,.visual-ladder button:hover,.fsm-strip button:hover,.concept-grid button:hover,.visual-node.detailable:hover,.decision-card.detailable:hover{border-color:var(--brand);box-shadow:var(--shadow-sm)}.detail-dialog{max-width:520px}.detail-summary{font-size:.92rem;line-height:1.55;color:var(--ink);margin:0 0 14px}.detail-fields{display:grid;gap:8px;margin-bottom:14px}.detail-field{display:grid;gap:2px;padding:9px 11px;background:var(--bg);border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:9px}.detail-field strong{font-size:.85rem;color:var(--ink)}.detail-field span{font-size:.82rem;color:var(--muted);line-height:1.45}.detail-points{margin:0 0 12px;padding-left:18px;display:grid;gap:6px}.detail-points li{font-size:.88rem;line-height:1.5;color:var(--ink)}.detail-hint{font-size:.74rem;color:var(--muted);margin:4px 0 0;text-align:center}.brand-btn{background:none;border:none;cursor:pointer;padding:0;text-align:left}.home{max-width:1040px;margin:0 auto;padding:48px 24px 80px;position:relative;z-index:1}.home-hero{text-align:center;margin-bottom:36px;animation:mode-in .4s ease both}.home-hero h1{font-size:2.1rem;font-weight:900;margin-bottom:10px}.home-hero p{color:var(--muted);font-size:1.02rem;max-width:580px;margin:0 auto;line-height:1.55}.home-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}.home-card{display:grid;gap:7px;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;cursor:pointer;position:relative;box-shadow:var(--shadow-sm);transition:transform var(--t-med),box-shadow var(--t-med),border-color var(--t-med);animation:mode-in .45s ease both}.home-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--brand)}.home-card-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-dark);margin-bottom:4px}.home-card strong{font-size:1.15rem;font-weight:800}.home-card>p{color:var(--muted);font-size:.85rem;line-height:1.5;margin:0}.home-card-meta{font-size:.77rem;font-weight:800;color:var(--brand);margin-top:4px}.home-card-go{position:absolute;top:22px;right:22px;color:var(--muted);font-weight:800;transition:transform var(--t-fast),color var(--t-fast)}.home-card:hover .home-card-go{transform:translate(4px);color:var(--brand)}.picker{max-width:940px;margin:0 auto;padding:26px 24px 120px;position:relative;z-index:1;animation:mode-in .35s ease both}.picker-head{display:flex;align-items:center;gap:14px;margin-bottom:22px}.picker-head-icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-dark);flex:none}.picker-head h1{font-size:1.6rem;font-weight:900}.picker-head p{color:var(--muted);font-size:.9rem;margin:2px 0 0}.back-btn{background:var(--panel);border:1px solid var(--line);border-radius:10px;color:var(--muted);cursor:pointer;font:inherit;font-weight:700;font-size:.85rem;padding:9px 13px;flex:none}.back-btn:hover{border-color:var(--brand);color:var(--brand)}.picker-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.picker-count{font-size:.86rem;color:var(--muted)}.picker-count strong{color:var(--brand)}.picker-actions button{background:none;border:1px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer;font:inherit;font-size:.8rem;font-weight:700;padding:6px 11px;margin-left:8px}.picker-actions button:hover{border-color:var(--brand);color:var(--brand)}.picker-loading{padding:70px;text-align:center;color:var(--muted)}.picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}.picker-card{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;align-items:start;text-align:left;background:var(--panel);border:1.5px solid var(--line);border-radius:12px;padding:14px;cursor:pointer;transition:border-color var(--t-fast),box-shadow var(--t-fast),background var(--t-fast)}.picker-card:hover{border-color:var(--brand)}.picker-card.on{border-color:var(--brand);background:var(--brand-soft)}.picker-check{grid-row:1 / span 3;align-self:center;width:24px;height:24px;border-radius:7px;border:2px solid var(--line);display:grid;place-items:center;color:#fff;font-weight:900;font-size:.85rem}.picker-card.on .picker-check{background:var(--brand);border-color:var(--brand)}.picker-card-main strong{display:block;font-size:.95rem}.picker-card-main p{color:var(--muted);font-size:.8rem;line-height:1.4;margin:2px 0 0}.picker-card-meta{grid-column:2;font-size:.74rem;color:var(--muted);font-weight:700;margin-top:5px}.picker-foot{position:fixed;left:0;right:0;bottom:0;padding:16px 24px;display:grid;place-items:center;background:linear-gradient(transparent,var(--bg) 45%);pointer-events:none;z-index:5}.picker-start{pointer-events:auto;min-width:300px;padding:14px 28px;border:none;border-radius:14px;background:linear-gradient(135deg,var(--brand-light),var(--brand-dark));color:#fff;font:inherit;font-size:1rem;font-weight:800;cursor:pointer;box-shadow:var(--shadow-lg);transition:transform var(--t-fast)}.picker-start:hover:not(:disabled){transform:translateY(-2px)}.picker-start:disabled{background:var(--line);color:var(--muted);cursor:default;box-shadow:none}.breadcrumb{display:flex;align-items:center;gap:6px;margin-bottom:14px;font-size:.86rem;flex-wrap:wrap}.breadcrumb button{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--muted);cursor:pointer;font:inherit;font-weight:700;padding:5px 8px;border-radius:8px}.breadcrumb button:hover{color:var(--brand);background:var(--brand-soft)}.breadcrumb button:last-child{color:var(--ink)}.breadcrumb button em{font-style:normal;font-size:.74rem;color:var(--muted);font-weight:600}.crumb-sep{color:var(--muted)}.topic-list .topic-section-label{display:flex;align-items:center;justify-content:space-between}.sidebar-edit{background:none;border:none;color:var(--brand);cursor:pointer;font:inherit;font-size:.72rem;font-weight:800}@media (max-width: 720px){.home{padding:28px 14px 60px}.home-hero h1{font-size:1.6rem}.picker{padding:20px 14px 100px}.picker-start{min-width:0;width:100%}}.topo-node.core rect{fill:var(--brand-soft);stroke:#6366f166}.topo-node.source rect{fill:var(--green-soft);stroke:#10b98166}.topo-node.is-here rect{stroke:var(--brand);stroke-width:2.5;filter:drop-shadow(0 4px 10px rgba(99,102,241,.3))}.topo-label{fill:var(--ink);font-size:9px;font-weight:800;text-anchor:middle}.topo-detail{fill:var(--muted);font-size:7px;text-anchor:middle}@media (prefers-reduced-motion: reduce){.journey-packet,.topo-packet,.journey-node.is-active,.ladder-row.is-active,.layer-row.is-active,.header-field.is-active{transition:none}.ladder-row.is-active:after{animation:none}}.concept-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.concept-grid div{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);display:grid;gap:4px;padding:11px 12px}.concept-grid strong{color:var(--ink);font-size:.88rem}.concept-grid span{color:var(--muted);font-size:.78rem}.visual-ladder{display:grid;gap:5px}.visual-ladder span{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:var(--radius-xs);font-size:.84rem;font-weight:650;padding:6px 10px}.packet-stack{display:grid;gap:6px}.packet-stack div{align-items:center;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:9px;display:flex;gap:12px;justify-content:space-between;padding:7px 10px}.packet-stack strong{font-size:.86rem}.packet-stack span{color:var(--muted);font-size:.78rem;text-align:right}.fsm-strip{display:flex;flex-wrap:wrap;gap:7px}.fsm-strip span{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-xs);color:var(--ink);flex:1 1 100px;font-size:.8rem;font-weight:700;padding:7px 9px;position:relative;text-align:center}.fsm-strip span:not(:last-child):after{color:var(--brand);content:"›";font-weight:900;position:absolute;right:-8px;font-size:1rem}.congestion-visual{display:grid;gap:7px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.congestion-visual div{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px}.congestion-visual strong{color:var(--brand);display:block;font-size:.9rem;margin-bottom:2px}.congestion-visual span{color:var(--muted);display:block;font-size:.78rem}.bgp-update-visual{display:grid;gap:7px}.bgp-update-visual div{background:var(--panel);border:1px solid var(--line);border-left:5px solid var(--brand);border-radius:var(--radius-sm);display:grid;gap:2px;padding:10px 12px}.bgp-update-visual div:nth-child(2){border-left-color:#0ea5e9}.bgp-update-visual div:nth-child(3){border-left-color:#22c55e}.bgp-update-visual strong{color:var(--ink);font-size:.88rem}.bgp-update-visual span{color:var(--muted);font-size:.78rem}.timeline-visual{display:grid;gap:7px;grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}.timeline-visual span{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-xs);color:var(--ink);font-size:.78rem;font-weight:750;padding:8px 9px;position:relative;text-align:center}.state-flow-table{display:grid;gap:7px}.state-flow-table div{align-items:center;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:var(--radius-xs);display:grid;gap:6px;grid-template-columns:minmax(92px,.7fr) minmax(96px,.8fr) minmax(0,1.5fr);padding:8px 10px}.state-flow-table strong{color:var(--ink);font-size:.82rem}.state-flow-table span{color:var(--brand);font-size:.78rem;font-weight:800}.state-flow-table em{color:var(--muted);font-size:.78rem;font-style:normal}.te-visual{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.te-visual div{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px}.te-visual strong{color:var(--brand);display:block;font-size:.92rem;margin-bottom:3px}.te-visual span{color:var(--muted);display:block;font-size:.78rem}.rr-visual{align-items:center;display:grid;gap:10px;grid-template-columns:minmax(110px,.8fr) minmax(160px,1.2fr)}.rr-clients{display:grid;gap:6px}.rr-clients span,.rr-core,.rr-note{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm)}.rr-clients span{color:var(--ink);font-size:.78rem;font-weight:750;padding:7px 9px;text-align:center}.rr-core{border-color:#6366f159;background:var(--brand-soft);display:grid;gap:3px;padding:13px}.rr-core strong{color:var(--ink);font-size:.92rem}.rr-core span{color:var(--muted);font-size:.78rem}.rr-note{color:var(--muted);font-size:.78rem;grid-column:1 / -1;padding:8px 10px}@keyframes packet-run{0%{left:0}to{left:calc(100% - 10px)}}@keyframes packet-run-y{0%{top:0}to{top:calc(100% - 10px)}}@keyframes ladder-run{0%{left:36px}to{left:calc(100% - 45px)}}@keyframes header-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes layer-slide{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes bar-grow{0%{height:10%;opacity:.45}to{opacity:1}}@media (prefers-reduced-motion: reduce){.journey-line span,.ladder-row:after,.header-field,.layer-cake div,.growth-chart span{animation:none}}.command-intro{color:var(--brand);font-size:.78rem;font-weight:800;margin-top:4px}.command-tabs{border:1px solid #1e293b;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px #00000026}.command-tab-list{align-items:center;background:#0f172a;border-bottom:1px solid #1e293b;display:flex;gap:4px;overflow-x:auto;padding:8px}.command-tab-list button{background:transparent;border:1px solid transparent;border-radius:7px;color:#94a3b8;cursor:pointer;flex:none;font:inherit;font-size:.76rem;font-weight:700;padding:5px 10px;transition:all var(--t-fast)}.command-tab-list button.active{background:#1e293b;border-color:#334155;color:#f1f5f9}.command-block{background:#0f172a;border:1px solid #1e293b;border-left:4px solid var(--brand);border-radius:12px;color:#e2e8f0;font-family:Fira Code,Cascadia Code,ui-monospace,monospace;font-size:.84rem;line-height:1.6;margin:10px 0;max-width:100%;overflow-x:auto;padding:14px 16px;white-space:pre}.command-block.tabbed{border:none;border-left:4px solid var(--brand);border-radius:0;margin:0}.command-block code{background:transparent;color:inherit;padding:0}.card-actions{display:flex;justify-content:space-between;padding:8px 18px 12px 56px;gap:10px;align-items:center}.link-btn{background:none;border:none;color:var(--brand);font:inherit;font-size:.84rem;font-weight:650;cursor:pointer;padding:0;transition:color var(--t-fast)}.link-btn:hover{color:var(--brand-dark)}.known-btn{border:1.5px solid var(--line);background:var(--panel);font:inherit;font-size:.82rem;padding:6px 14px;border-radius:99px;cursor:pointer;color:var(--muted);transition:all var(--t-fast)}.known-btn:hover{border-color:var(--green);color:var(--green)}.known-btn.on{background:var(--green-soft);border-color:#a7f3d0;color:#065f46;font-weight:700}.focus-mode{align-items:start;display:grid;gap:14px;grid-template-columns:minmax(220px,300px) minmax(0,1fr)}.focus-rail,.focus-reader{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm)}.focus-rail{max-height:calc(100vh - 150px);overflow:hidden;position:sticky;top:82px}.focus-rail-head{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:8px;padding:11px 12px}.focus-rail-head span{color:var(--brand);font-size:.68rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.focus-rail-head strong{color:var(--muted);font-size:.76rem}.focus-list{display:grid;gap:4px;max-height:calc(100vh - 202px);overflow-y:auto;padding:8px}.focus-list button{align-items:start;background:transparent;border:1px solid transparent;border-radius:10px;color:var(--ink);cursor:pointer;display:grid;gap:8px;grid-template-columns:24px minmax(0,1fr);padding:8px;text-align:left}.focus-list button:hover{background:var(--bg);border-color:var(--line)}.focus-list button.active{background:var(--brand-soft);border-color:#6366f159}.focus-list button.done span{background:var(--green-soft);color:#065f46}.focus-list span{background:var(--bg);border-radius:7px;color:var(--brand);display:grid;font-size:.72rem;font-weight:850;height:24px;place-items:center;width:24px}.focus-list p{color:var(--ink);display:-webkit-box;font-size:.82rem;font-weight:650;line-height:1.35;margin:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.focus-reader{display:grid;gap:12px;min-width:0;padding:20px}.reader-topline{align-items:center;display:flex;justify-content:space-between;gap:10px}.reader-topline>span:first-child{color:var(--brand);font-size:.72rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.focus-reader h2{font-size:clamp(1.2rem,2vw,1.72rem);letter-spacing:0;max-width:880px}.reader-answer{background:#fbfcff;border:1px solid var(--line);border-radius:14px;padding:16px}.reader-actions{align-items:center;display:grid;gap:10px;grid-template-columns:1fr auto 1fr}.reader-actions .nav-btn:last-child{justify-self:end}.study{display:flex;flex-direction:column;align-items:center;gap:18px}.study-header{width:100%;max-width:680px}.deck-label{background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-bottom:10px;padding:10px 12px;text-align:left}.deck-label span{color:var(--brand);display:block;font-size:.68rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.deck-label strong{color:var(--ink);display:block;font-size:.95rem;margin-top:2px}.study-progress-bar{height:5px;background:var(--line);border-radius:99px;overflow:hidden;margin-bottom:10px}.study-progress-fill{height:100%;background:linear-gradient(90deg,var(--brand),var(--brand-light));border-radius:99px;transition:width .4s ease}.study-stats-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.study-card-pos{font-size:.86rem;font-weight:700;color:var(--ink)}.session-stats{display:flex;gap:10px;align-items:center}.stat-again{color:var(--again-color);font-size:.82rem;font-weight:700}.stat-good{color:var(--good-color);font-size:.82rem;font-weight:700}.stat-easy{color:var(--ez-color);font-size:.82rem;font-weight:700}.study-hint{font-size:.75rem;color:var(--muted);font-weight:500}.flashcard-scene{perspective:1400px;width:100%;max-width:680px;cursor:pointer}.flashcard-inner{position:relative;height:400px;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.34,1.4,.64,1)}.flashcard-inner.flipped{transform:rotateY(180deg);cursor:default}.flashcard-front,.flashcard-back{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:22px;padding:32px;border:1.5px solid var(--line);overflow-y:auto}.flashcard-front{background:linear-gradient(150deg,var(--panel) 55%,var(--brand-soft));box-shadow:0 12px 48px #6366f11f,0 2px 8px #0f172a14;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:18px}.flashcard-front:hover{box-shadow:0 16px 56px #6366f12e,0 4px 12px #0f172a1a}.flashcard-back{transform:rotateY(180deg);background:var(--panel);border-color:#6366f14d;box-shadow:0 12px 48px #6366f11f,0 2px 8px #0f172a14;cursor:default;text-align:left}.flash-prompt{font-size:1.2rem;font-weight:700;margin:0;line-height:1.4;max-width:500px}.flash-badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.flash-hint{font-size:.8rem;color:var(--muted);margin:0;border:1px dashed var(--line);padding:5px 12px;border-radius:99px}.progress-dots{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;max-width:680px}.dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--line);background:var(--panel);cursor:pointer;transition:all var(--t-fast);padding:0}.dot.active{background:var(--brand);border-color:var(--brand);transform:scale(1.3)}.dot.known{background:var(--green);border-color:var(--green)}.rating-row{display:flex;gap:12px;animation:fade-up .25s ease both}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.rate-btn{display:flex;flex-direction:column;align-items:center;gap:4px;border:2px solid transparent;border-radius:14px;cursor:pointer;font:inherit;font-size:.9rem;font-weight:700;padding:12px 22px;transition:all var(--t-fast);min-width:90px}.rate-btn span{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;border-radius:6px;font-size:.72rem;font-weight:900;margin-bottom:2px}.rate-again{background:#fee2e2;color:#991b1b;border-color:#fca5a5}.rate-again span{background:#fca5a5}.rate-again:hover{background:#fecaca;border-color:#ef4444;transform:translateY(-2px);box-shadow:0 4px 14px #ef444440}.rate-good{background:var(--brand-soft);color:var(--brand-dark);border-color:#6366f14d}.rate-good span{background:#6366f133}.rate-good:hover{background:#6366f11f;border-color:var(--brand);transform:translateY(-2px);box-shadow:0 4px 14px var(--brand-glow)}.rate-easy{background:var(--green-soft);color:#065f46;border-color:#a7f3d0}.rate-easy span{background:#a7f3d0}.rate-easy:hover{background:#bbf7d0;border-color:var(--green);transform:translateY(-2px);box-shadow:0 4px 14px #10b98140}.study-controls{display:flex;gap:10px;align-items:center}.nav-btn{border:1.5px solid var(--line);background:var(--panel);font:inherit;font-size:.88rem;font-weight:650;padding:9px 20px;border-radius:var(--radius-sm);cursor:pointer;color:var(--ink);transition:all var(--t-fast)}.nav-btn:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-soft);transform:translateY(-1px)}.overlay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;display:grid;place-items:center;animation:fade-in .18s ease both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.overlay-panel{background:var(--panel);border:1px solid var(--line);border-radius:20px;box-shadow:0 32px 80px #0f172a40,0 4px 16px #0f172a1a;padding:28px 32px;width:90%;max-width:440px;animation:scale-in .2s cubic-bezier(.34,1.56,.64,1) both}@keyframes scale-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.overlay-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.overlay-head h3{font-size:1.1rem;font-weight:800}.overlay-head button{background:var(--bg);border:1px solid var(--line);border-radius:99px;color:var(--muted);cursor:pointer;font:inherit;font-size:1.1rem;font-weight:700;width:32px;height:32px;display:grid;place-items:center;transition:all var(--t-fast)}.overlay-head button:hover{background:var(--line);color:var(--ink)}.shortcut-grid{display:grid;gap:8px}.shortcut-row{display:flex;align-items:center;gap:14px;padding:8px 10px;border-radius:var(--radius-xs);transition:background var(--t-fast)}.shortcut-row:hover{background:var(--bg)}.shortcut-row kbd{flex:none;min-width:80px;background:var(--bg);border:1px solid var(--line);border-bottom-width:2px;border-radius:7px;color:var(--brand);font-family:ui-monospace,monospace;font-size:.78rem;font-weight:700;padding:4px 10px;text-align:center}.shortcut-row span{font-size:.88rem;color:var(--muted)}.toast-container{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast{background:var(--ink);color:#fff;border-radius:12px;padding:12px 22px;font-size:.9rem;font-weight:600;box-shadow:0 8px 32px #0f172a4d;animation:toast-in .3s ease both,toast-out .3s ease 3.1s both;white-space:nowrap}.toast-success{background:linear-gradient(135deg,#065f46,#059669)}@keyframes toast-in{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-10px) scale(.96)}}.center{min-height:100vh;display:grid;place-items:center;padding:24px}.center-box{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:40px;max-width:480px;text-align:center}.center-box h2{margin:14px 0}@keyframes card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 820px){.study-paths-head,.content-controls{align-items:stretch;width:100%}.study-paths-head{display:grid}.study-paths-head button{justify-self:start}.cluster-pills{max-height:168px;overflow-y:auto;padding-right:2px}.question-group-head{position:static}.book-outline,.question-group-head{align-items:stretch;display:grid}.book-actions,.question-group-meta{justify-content:flex-start}.flashcard-inner{height:320px}.flashcard-front,.flashcard-back{padding:22px}.flash-prompt{font-size:1.05rem}.rating-row{gap:8px}.rate-btn{padding:10px 14px;min-width:72px;font-size:.84rem}.progress-card{flex-direction:column;align-items:flex-start}}:root[data-theme=dark]{color-scheme:dark;--bg: #0d1117;--panel: #161b27;--ink: #e2e8f0;--muted: #7b8da6;--line: #243047;--brand: #818cf8;--brand-dark: #6366f1;--brand-light: #a5b4fc;--brand-soft: #1e2447;--brand-glow: rgba(129,140,248,.2);--green: #34d399;--green-soft: #052e1b;--easy: #34d399;--medium: #fbbf24;--hard: #f87171;--again-color: #f87171;--good-color: #818cf8;--ez-color: #34d399;--shadow-sm: 0 1px 4px rgba(0,0,0,.35);--shadow: 0 2px 8px rgba(0,0,0,.35), 0 8px 24px rgba(0,0,0,.25);--shadow-lg: 0 8px 32px rgba(129,140,248,.18), 0 2px 8px rgba(0,0,0,.3);--shadow-card-hover: 0 6px 24px rgba(129,140,248,.2), 0 2px 8px rgba(0,0,0,.3)}[data-theme=dark] body:before{background:radial-gradient(ellipse 70% 50% at -5% -5%,rgba(99,102,241,.1) 0%,transparent 60%),radial-gradient(ellipse 60% 40% at 105% 110%,rgba(139,92,246,.08) 0%,transparent 60%)}[data-theme=dark] .topbar{background:#161b27e0;border-bottom-color:#243047e6}[data-theme=dark] .command-block{background:#080d18;border-color:#1a2540}[data-theme=dark] .command-tab-list{background:#080d18;border-bottom-color:#1a2540}[data-theme=dark] .command-tab-list button.active{background:#1a2540;border-color:#263660}[data-theme=dark] .flashcard-front{background:linear-gradient(150deg,var(--panel) 55%,var(--brand-soft))}[data-theme=dark] .flashcard-back{background:var(--panel)}[data-theme=dark] code{background:var(--brand-soft);color:var(--brand-light)}[data-theme=dark] .answer-points,[data-theme=dark] .concept-visual{background:#111827}[data-theme=dark] .focus-rail,[data-theme=dark] .focus-reader,[data-theme=dark] .reader-answer{background:var(--panel)}[data-theme=dark] .focus-list button:hover{background:#111827}[data-theme=dark] .concept-grid div,[data-theme=dark] .visual-node,[data-theme=dark] .journey-node,[data-theme=dark] .ladder-party,[data-theme=dark] .ladder-row,[data-theme=dark] .ladder-row strong,[data-theme=dark] .ladder-row em,[data-theme=dark] .decision-card,[data-theme=dark] .topology-node,[data-theme=dark] .tone-0,[data-theme=dark] .tone-1,[data-theme=dark] .tone-2,[data-theme=dark] .tone-3,[data-theme=dark] .tone-4,[data-theme=dark] .layer-cake div,[data-theme=dark] .path-summary{background:#0f172a}[data-theme=dark] .module-node{background:var(--panel)}[data-theme=dark] .module-node.done{background:#052e1b}[data-theme=dark] .module-node.progress,[data-theme=dark] .topology-node.core{background:var(--brand-soft)}[data-theme=dark] .diff-easy{background:#052e1b;color:#6ee7b7}[data-theme=dark] .diff-medium{background:#292000;color:#fbbf24}[data-theme=dark] .diff-hard{background:#2d0a0a;color:#fca5a5}[data-theme=dark] .rate-again{background:#2d0a0a;color:#fca5a5;border-color:#f871714d}[data-theme=dark] .rate-again span{background:#f8717133}[data-theme=dark] .rate-good{background:var(--brand-soft);color:var(--brand-light)}[data-theme=dark] .rate-easy{background:var(--green-soft);color:#6ee7b7;border-color:#34d39933}[data-theme=dark] .rate-easy span{background:#34d39926}[data-theme=dark] .dot{background:var(--panel);border-color:var(--line)}[data-theme=dark] .dot.active{background:var(--brand);border-color:var(--brand)}[data-theme=dark] .dot.known{background:var(--green);border-color:var(--green)}[data-theme=dark] .overlay-backdrop{background:#070a12b3}[data-theme=dark] .overlay-panel{background:var(--panel);border-color:var(--line)}[data-theme=dark] .shortcut-row kbd{background:#111827;border-color:var(--line)}[data-theme=dark] .toast{background:#1e293b}[data-theme=dark] .toast-success{background:linear-gradient(135deg,#052e1b,#065f46)}[data-theme=dark] .known-btn.on{background:var(--green-soft);border-color:#34d39940;color:var(--green)}[data-theme=dark] .card.known{border-color:#34d39940}[data-theme=dark] .card.known:hover{border-color:#34d39973}:root{--bg: #f7f8fb;--panel: #ffffff;--ink: #172033;--muted: #667085;--line: #e6e9f0;--brand: #3157d5;--brand-dark: #2545ad;--brand-light: #6b86f4;--brand-soft: #eef3ff;--shadow-sm: 0 1px 2px rgba(15,23,42,.04);--shadow: 0 8px 20px rgba(15,23,42,.06);--shadow-lg: 0 10px 24px rgba(49,87,213,.12);--shadow-card-hover: 0 10px 22px rgba(15,23,42,.08)}body:before{display:none}.topbar{background:#fffffff2;box-shadow:none;height:auto;min-height:60px;padding:10px 24px}.logo{align-items:center;background:var(--brand);border-radius:8px;color:#fff;display:inline-flex;font-size:.82rem;font-weight:850;height:32px;justify-content:center;letter-spacing:0;width:32px}.brand h1{background:none;color:var(--ink);-webkit-text-fill-color:currentColor}.topbar-controls{flex:1;justify-content:flex-end}.role-select,.search,.diff-select,.topic-search{border-width:1px;box-shadow:none}.search{flex:1 1 280px;max-width:440px}.layout{gap:18px;grid-template-columns:300px minmax(0,1fr);max-width:1380px;margin-top:16px}.field-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.field-strip button{box-shadow:none;flex:1 0 210px;min-height:58px}.field-strip button:hover,.field-strip button.active{box-shadow:none;transform:none}.role-brief{box-shadow:none;padding:12px 14px}.role-brief h2{font-size:1rem}.field-subtitle,.role-desc{font-size:.84rem}.prep-dashboard{align-items:stretch;background:linear-gradient(135deg,#10214f,#3157d5);border-radius:14px;color:#fff;display:grid;gap:16px;grid-template-columns:minmax(0,1.4fr) auto minmax(180px,.55fr);margin-bottom:14px;padding:18px}.prep-copy span{color:#c7d2fe;display:block;font-size:.68rem;font-weight:850;letter-spacing:.06em;margin-bottom:5px;text-transform:uppercase}.prep-copy h2{font-size:1.25rem;margin-bottom:5px}.prep-copy p{color:#dbe4ff;font-size:.9rem;margin:0;max-width:760px}.prep-actions{align-content:center;display:grid;gap:8px;min-width:180px}.prep-actions button{background:#ffffff1f;border:1px solid rgba(255,255,255,.24);border-radius:9px;color:#fff;cursor:pointer;font:inherit;font-size:.82rem;font-weight:760;padding:8px 12px;text-align:left}.prep-actions .primary-study-btn{background:#fff;color:#19337b}.quick-topic-row{display:flex;flex-wrap:wrap;gap:8px;grid-column:1 / -1}.quick-topic-row button{align-items:center;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;font:inherit;gap:7px;padding:6px 10px}.quick-topic-row span{font-size:.78rem;font-weight:780}.quick-topic-row em{background:#ffffff2e;border-radius:999px;color:#eef3ff;font-size:.7rem;font-style:normal;font-weight:850;padding:1px 7px}.prep-metrics{display:grid;gap:8px;grid-column:3;grid-row:1;grid-template-columns:1fr}.prep-metrics div{background:#ffffff1a;border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:9px 10px}.prep-metrics strong{display:block;font-size:1.08rem;line-height:1.1}.prep-metrics span{color:#dbe4ff;display:block;font-size:.72rem}.labs-mode{display:grid;gap:12px}.labs-hero{align-items:center;background:linear-gradient(135deg,#0f766e,#1d4ed8);border-radius:14px;color:#fff;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) auto;padding:18px}.labs-hero span{color:#ccfbf1;display:block;font-size:.68rem;font-weight:850;letter-spacing:.06em;margin-bottom:5px;text-transform:uppercase}.labs-hero h2{font-size:1.2rem;margin:0 0 5px}.labs-hero p{color:#e0f2fe;font-size:.9rem;margin:0;max-width:780px}.labs-metrics{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(82px,1fr))}.labs-metrics div{background:#ffffff1f;border:1px solid rgba(255,255,255,.24);border-radius:10px;padding:10px 12px;text-align:center}.labs-metrics strong{display:block;font-size:1.1rem}.labs-metrics span{color:#dff7ff;font-size:.72rem;font-weight:760;text-transform:uppercase}.labs-outline{margin-bottom:0}.progress-card,.topic-tools,.topic-list,.study-paths,.book-outline,.question-group-head,.card{box-shadow:none}.progress-card{border-radius:12px;padding:12px}.topic-tools{border-radius:12px;padding:8px}.topic-list{border-radius:12px;gap:2px;max-height:calc(100vh - 230px);padding:7px}.topic-section-label{color:var(--muted);font-size:.68rem;font-weight:850;letter-spacing:.06em;padding:6px 9px 5px;text-transform:uppercase}.topic-btn{align-items:stretch;display:grid;gap:6px;grid-template-columns:minmax(0,1fr) auto;padding:9px}.topic-btn:hover{transform:none}.topic-btn.priority{border-color:#3157d533}.topic-btn.priority .topic-name:before{color:var(--brand);content:"Priority";display:block;font-size:.62rem;font-weight:850;letter-spacing:.06em;margin-bottom:2px;text-transform:uppercase}.topic-meta{color:var(--muted);display:none;font-size:.73rem;grid-column:1 / -1;line-height:1.35}.topic-btn.active .topic-meta,.topic-btn:hover .topic-meta{display:block}.mini-bar{grid-column:1 / -1;width:100%}.content-head{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-bottom:12px;padding:12px 14px}.content-head h2{font-size:1.12rem}.seg,.filter-btn{background:#f8fafc}.seg button{padding:7px 13px}.study-paths{padding:12px}.cluster-pills{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.cluster-pills button{justify-content:space-between;min-height:36px}.book-outline{border-radius:12px;padding:10px 12px}.question-group{gap:6px}.question-group-head{border-radius:12px;padding:10px 12px;position:static}.question-group-head h3{font-size:.92rem}.question-group-head p{font-size:.78rem}.cards{gap:8px}.card{border-width:1px;border-radius:12px;animation:none}.card:hover{box-shadow:var(--shadow-card-hover);transform:none}.card-head{padding:13px 15px}.card-q{align-items:flex-start;min-width:0}.qnum{background:#f2f5ff;border-radius:8px;height:28px;width:28px}.prompt{font-size:.96rem;line-height:1.45;margin-bottom:7px}.answer{background:#fbfcff;padding:15px 18px 12px 55px}.answer-body{gap:10px;max-width:860px;min-width:0}.answer-body p,.answer-body li{font-size:.94rem;line-height:1.7}.answer-takeaway,.answer-points,.concept-visual,.command-tabs,.command-block{border-radius:10px}@media (max-width: 640px){body{font-size:15px}.topbar{align-items:stretch;gap:10px;padding:10px;position:static}.brand{width:100%}.brand h1{font-size:1rem}.tagline{font-size:.7rem}.topbar-controls{display:grid;gap:8px;grid-template-columns:1fr;width:100%}.role-select,.search,.diff-select,.topic-search{font-size:16px;min-height:42px;width:100%}.layout{display:flex;flex-direction:column;gap:12px;margin:10px auto 28px;max-width:100%;padding:0 10px}.sidebar{gap:8px;order:2;max-width:100%;min-width:0;overflow:hidden;width:100%}.content{order:1}.progress-card{align-items:center;flex-direction:row;gap:10px;max-width:100%;min-width:0;padding:10px;width:100%}.progress-info,.topic-tools,.topic-list{max-width:100%;min-width:0;width:100%}.topic-search{min-width:0}.progress-ring-wrap svg{height:54px;width:54px}.topic-list{display:flex;flex-direction:row;gap:8px;max-height:none;overflow-x:auto;overflow-y:hidden;padding:8px;scroll-snap-type:x proximity}.topic-section-label{align-self:center;flex:0 0 auto;padding:0 2px;writing-mode:vertical-rl}.topic-btn{flex:0 0 220px;min-height:82px;scroll-snap-align:start}.topic-btn.active .topic-meta,.topic-btn:hover .topic-meta{display:none}.field-strip{margin:0 -10px 10px;padding:0 10px 6px}.field-strip button{flex-basis:190px;min-height:56px;padding:10px 12px}.role-brief,.prep-dashboard,.content-head,.study-paths,.book-outline,.question-group-head,.card{border-radius:10px}.role-brief{padding:11px}.role-brief-main{display:grid;gap:10px}.role-stats{justify-content:flex-start}.focus-grid{grid-template-columns:1fr}.prep-dashboard{gap:12px;margin-bottom:10px;padding:13px}.prep-copy h2{font-size:1.08rem}.prep-copy p{font-size:.84rem;line-height:1.5}.prep-actions{grid-template-columns:1fr;min-width:0}.prep-actions button{min-height:40px;text-align:center}.quick-topic-row{flex-wrap:nowrap;margin:0 -13px;overflow-x:auto;padding:0 13px 4px}.quick-topic-row button{flex:0 0 auto}.prep-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.prep-metrics div{padding:8px 7px}.prep-metrics strong{font-size:.95rem}.prep-metrics span{font-size:.65rem}.content-head{display:grid;gap:10px;padding:11px}.content-head h2{font-size:1.02rem;overflow-wrap:anywhere}.content-controls{display:grid;gap:8px;grid-template-columns:1fr;width:100%}.seg{display:grid;grid-template-columns:repeat(5,1fr);width:100%}.seg button,.filter-btn{min-height:40px;padding:8px 6px;text-align:center}.focus-mode{grid-template-columns:1fr}.focus-rail{max-height:none;position:static}.focus-list{display:flex;max-height:none;overflow-x:auto;overflow-y:hidden;padding:8px}.focus-list button{flex:0 0 min(78vw,280px)}.focus-reader{padding:14px}.reader-answer{padding:12px}.reader-actions{grid-template-columns:1fr}.reader-actions .nav-btn:last-child{justify-self:stretch}.study-paths{padding:11px}.study-paths-head{gap:8px}.path-head-actions{display:grid;grid-template-columns:1fr;width:100%}.study-paths-head button{justify-self:stretch;min-height:38px}.path-summary{align-items:flex-start;display:grid;gap:2px 8px;grid-template-columns:auto 1fr}.path-summary i{grid-column:1 / -1;margin-left:0}.module-tree{grid-template-columns:1fr}.module-tree:before{bottom:20px;height:auto;left:24px;right:auto;top:20px;width:3px}.module-node{grid-template-columns:34px minmax(0,1fr) auto}.cluster-pills{display:flex;flex-wrap:nowrap;margin:10px -11px 0;overflow-x:auto;padding:0 11px 4px}.cluster-pills button{flex:0 0 min(78vw,270px);justify-content:space-between;min-height:42px}.book-outline,.question-group-head{padding:11px}.book-actions{display:grid;grid-template-columns:1fr 1fr}.book-actions button{min-height:36px}.question-group-meta{justify-content:space-between}.card-head{gap:8px;padding:12px}.card-q{gap:9px;min-width:0}.qnum{height:26px;width:26px}.prompt{font-size:.93rem;overflow-wrap:anywhere}.badges{gap:4px}.badge{font-size:.66rem;padding:2px 7px}.answer{padding:12px}.answer-body p,.answer-body li{font-size:.9rem;line-height:1.6;overflow-wrap:anywhere}.answer-takeaway,.answer-points,.concept-visual{padding:11px}.visual-flow,.rr-visual,.te-visual,.packet-journey{grid-template-columns:1fr}.journey-line{bottom:24px;height:auto;left:24px;right:auto;top:24px;width:4px}.journey-line span{animation-name:packet-run-y;left:50%;top:0;transform:translate(-50%)}.journey-node{padding:10px 10px 10px 52px}.journey-node i{left:24px;top:50%;transform:translate(-50%,-50%)}.message-ladder{grid-template-columns:1fr}.ladder-party,.ladder-party.right,.ladder-row{grid-column:1}.ladder-row{grid-template-columns:16px 1fr}.ladder-row em{grid-column:2}.ladder-row:before,.ladder-row:after{display:none}.header-diagram{display:grid;grid-template-columns:1fr}.decision-map{grid-template-columns:1fr}.decision-card:not(:last-child):after{bottom:-10px;height:10px;left:24px;right:auto;top:auto;width:3px}.topology-map{grid-template-areas:"spine1" "spine2" "source" "core" "leaf1" "leaf2" "left" "right";grid-template-columns:1fr;min-height:auto}.topology-link{display:none}.state-flow-table div{align-items:start;grid-template-columns:1fr}.visual-arrow{justify-self:center;transform:rotate(90deg)}.packet-stack div{align-items:flex-start;display:grid;gap:3px}.packet-stack span{text-align:left}.fsm-strip{display:grid;grid-template-columns:1fr}.fsm-strip span:not(:last-child):after{bottom:-15px;left:50%;right:auto;transform:translate(-50%) rotate(90deg)}.command-tab-list{overflow-x:auto}.command-tab-list button{flex:0 0 auto;min-height:38px}.command-block{font-size:.76rem;line-height:1.55;padding:11px 12px}.card-actions{align-items:stretch;display:grid;grid-template-columns:1fr;padding:0 12px 12px}.link-btn,.known-btn,.nav-btn{min-height:40px}.study{gap:12px}.study-header{max-width:100%}.study-stats-row,.session-stats{display:grid;gap:6px;grid-template-columns:1fr;width:100%}.study-card-pos,.session-stats span{text-align:center}.flashcard-scene{width:100%}.flashcard-inner{height:min(58vh,430px);min-height:330px}.flashcard-front,.flashcard-back{padding:18px}.flash-prompt{font-size:1rem}.rating-row{display:grid;gap:8px;grid-template-columns:repeat(3,1fr);width:100%}.rate-btn{min-width:0;padding:10px 6px}.study-controls{display:grid;gap:8px;grid-template-columns:1fr;width:100%}.toast-container{bottom:14px;left:10px;right:10px;transform:none}.toast{text-align:center;white-space:normal;width:100%}}@media (max-width: 430px){.layout{padding:0 8px}.field-strip,.quick-topic-row,.cluster-pills{margin-left:-8px;margin-right:-8px}.topic-btn{flex-basis:190px}.prep-metrics{grid-template-columns:1fr}.role-stats span,.quick-topic-row span,.cluster-pills span{font-size:.74rem}.question-group-head h3{font-size:.9rem}.question-group-head p,.cluster-desc,.book-outline p{font-size:.76rem}.command-block{font-size:.72rem}.flashcard-inner{min-height:360px}}.flashcard-inner{height:min(520px,65vh)}.flashcard-front,.flashcard-back{border-radius:16px}@media (max-width: 1080px){.prep-dashboard{grid-template-columns:1fr}.prep-actions{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.prep-metrics{grid-column:auto;grid-row:auto;grid-template-columns:repeat(4,1fr)}.labs-hero{grid-template-columns:1fr}.labs-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 820px){.topbar{padding:10px 14px}.topbar-controls{width:100%}.role-select,.search,.diff-select{flex:1 1 100%;max-width:none}.layout{margin-top:12px;padding:0 12px}.sidebar{position:static}.topic-list{max-height:340px}.prep-dashboard{padding:15px}.prep-metrics{grid-template-columns:1fr}.labs-hero{padding:15px}.labs-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.cluster-pills{grid-template-columns:1fr;max-height:none}.answer,.card-actions{padding-left:15px}}@media (max-width: 640px){.topbar{padding:10px;position:static}.layout{display:flex;flex-direction:column;gap:12px;margin:10px auto 28px;max-width:100%;padding:0 10px}.topic-list{display:flex;flex-direction:row;gap:8px;max-height:none;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity}.topic-btn{flex:0 0 220px;scroll-snap-align:start}.prep-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.labs-hero{border-radius:10px;padding:13px}.labs-hero h2{font-size:1.06rem}.labs-hero p{font-size:.84rem;line-height:1.5}.labs-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.labs-metrics div{padding:8px 6px}.labs-metrics strong{font-size:.98rem}.labs-metrics span{font-size:.62rem}.cluster-pills{display:flex;flex-wrap:nowrap;margin:10px -11px 0;max-height:none;overflow-x:auto;padding:0 11px 4px}.cluster-pills button{flex:0 0 min(78vw,270px)}.answer,.card-actions{padding-left:12px}.flashcard-inner{height:min(58vh,430px);min-height:330px}}@media (max-width: 430px){.layout{padding:0 8px}.topic-btn{flex-basis:190px}.prep-metrics{grid-template-columns:1fr}.flashcard-inner{min-height:360px}}body:before{display:block;background:radial-gradient(ellipse 80% 60% at 0% 0%,rgba(99,102,241,.08) 0%,transparent 55%),radial-gradient(ellipse 70% 50% at 100% 100%,rgba(139,92,246,.07) 0%,transparent 55%),radial-gradient(ellipse 50% 40% at 85% 5%,rgba(14,165,233,.05) 0%,transparent 55%);animation:aurora 26s ease-in-out infinite alternate}:root[data-theme=dark] body:before{background:radial-gradient(ellipse 80% 60% at 0% 0%,rgba(99,102,241,.16) 0%,transparent 55%),radial-gradient(ellipse 70% 50% at 100% 100%,rgba(139,92,246,.13) 0%,transparent 55%),radial-gradient(ellipse 50% 40% at 85% 5%,rgba(14,165,233,.1) 0%,transparent 55%)}@keyframes aurora{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(2%,1.5%,0) scale(1.08)}to{transform:translate3d(-1.5%,2%,0) scale(1.04)}}.topbar{animation:drop-in .5s cubic-bezier(.22,1,.36,1) both}@keyframes drop-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}.logo{position:relative;overflow:hidden}.logo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translate(-120%);animation:logo-shine 5.5s ease-in-out 1.2s infinite}@keyframes logo-shine{0%,72%{transform:translate(-120%)}88%,to{transform:translate(120%)}}.cmd-btn{display:inline-flex;align-items:center;gap:5px;background:var(--panel);border:1px solid var(--line);border-radius:10px;color:var(--muted);cursor:pointer;font:inherit;font-size:.82rem;font-weight:800;padding:8px 12px;transition:border-color var(--t-fast),color var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast)}.cmd-btn:hover{border-color:var(--brand);color:var(--brand);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.cmd-glyph{font-size:.92rem}.cmd-hint{color:var(--muted);font-weight:600;margin-left:4px}.icon-btn{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;font-size:1rem;font-weight:800;transition:all var(--t-fast)}.icon-btn:hover{border-color:var(--brand);color:var(--brand);transform:translateY(-1px)}.theme-toggle{background:none;border:none;cursor:pointer;padding:0}.theme-track{display:flex;align-items:center;width:56px;height:30px;padding:3px;border-radius:99px;background:linear-gradient(120deg,#bae6fd,#fcd34d);box-shadow:inset 0 1px 4px #0f172a2e;transition:background var(--t-med)}.theme-toggle.dark .theme-track{background:linear-gradient(120deg,#1e293b,#4338ca)}.theme-thumb{width:24px;height:24px;border-radius:50%;background:var(--panel);display:grid;place-items:center;font-size:.8rem;box-shadow:var(--shadow-sm);transition:transform var(--t-spring)}.theme-toggle.dark .theme-thumb{transform:translate(26px)}.streak-badge{display:inline-flex;align-items:baseline;gap:4px;padding:6px 12px;border-radius:99px;background:linear-gradient(120deg,#fb923c29,#ef444429);border:1px solid rgba(251,146,60,.32);white-space:nowrap}.streak-badge strong{font-size:.95rem;font-weight:900;color:#ea580c}.streak-flame{font-size:.95rem;animation:flame-flicker 2.2s ease-in-out infinite;align-self:center}.streak-label{font-size:.72rem;color:var(--muted);font-weight:700}[data-theme=dark] .streak-badge strong{color:#fdba74}@keyframes flame-flicker{0%,to{transform:scale(1) rotate(-2deg)}50%{transform:scale(1.14) rotate(2deg)}}.confetti-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:200;overflow:hidden}.confetti-piece{position:absolute;top:-18px;opacity:0;will-change:transform,opacity;animation-name:confetti-fall;animation-timing-function:cubic-bezier(.4,.2,.6,1);animation-fill-mode:forwards}@keyframes confetti-fall{0%{opacity:1;transform:translate(0) rotate(0)}to{opacity:0;transform:translate(var(--drift, 0),102vh) rotate(var(--spin, 540deg))}}.palette-backdrop{align-items:flex-start;padding-top:12vh}.command-palette{width:92%;max-width:560px;background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 32px 90px #0f172a4d,0 4px 16px #0f172a1f;overflow:hidden;animation:scale-in .18s cubic-bezier(.34,1.56,.64,1) both}.palette-input-row{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line)}.palette-search-icon{color:var(--muted);font-size:1.1rem}.palette-input{flex:1;border:none;background:none;outline:none;color:var(--ink);font:inherit;font-size:1rem}.palette-list{max-height:52vh;overflow-y:auto;padding:8px}.palette-empty{padding:24px;text-align:center;color:var(--muted);font-size:.9rem}.palette-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:none;background:none;border-radius:10px;cursor:pointer;font:inherit;text-align:left;color:var(--ink)}.palette-item.active{background:var(--brand-soft)}.palette-icon{width:26px;height:26px;flex:none;display:grid;place-items:center;border-radius:7px;background:var(--bg);font-size:.85rem}.palette-item.active .palette-icon{background:var(--panel)}.palette-label{flex:1;font-size:.92rem;font-weight:600}.palette-group{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--bg);padding:3px 8px;border-radius:99px}.palette-foot{display:flex;gap:16px;padding:10px 18px;border-top:1px solid var(--line);color:var(--muted);font-size:.74rem}.palette-foot kbd{background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:1px 6px;margin-right:3px;font-family:ui-monospace,monospace;font-size:.7rem}.welcome-panel{max-width:480px;text-align:center}.welcome-badge{width:56px;height:56px;margin:0 auto 14px;border-radius:16px;display:grid;place-items:center;font-weight:900;font-size:1.3rem;color:#fff;background:linear-gradient(135deg,var(--brand-light),var(--brand-dark));box-shadow:var(--shadow-lg)}.welcome-panel h3{font-size:1.45rem;font-weight:900}.welcome-sub{color:var(--muted);font-size:.92rem;margin:8px 0 20px;line-height:1.5}.welcome-tips{display:grid;gap:12px;text-align:left;margin-bottom:22px}.welcome-tips>div{display:flex;gap:12px;align-items:flex-start}.welcome-emoji{flex:none;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--brand-soft);font-size:1.05rem}.welcome-tips strong{display:block;font-size:.92rem;margin-bottom:2px}.welcome-tips span{font-size:.84rem;color:var(--muted);line-height:1.45}.welcome-tips kbd,.welcome-foot kbd{background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:1px 6px;font-family:ui-monospace,monospace;font-size:.78rem;color:var(--brand)}.welcome-cta{width:100%;padding:13px;border:none;border-radius:12px;background:linear-gradient(135deg,var(--brand-light),var(--brand-dark));color:#fff;font:inherit;font-size:.98rem;font-weight:800;cursor:pointer;box-shadow:var(--shadow-lg);transition:transform var(--t-fast),box-shadow var(--t-fast)}.welcome-cta:hover{transform:translateY(-2px);box-shadow:0 12px 30px var(--brand-glow)}.welcome-cta:active{transform:translateY(0)}.welcome-foot{margin:14px 0 0;font-size:.76rem;color:var(--muted)}.mode-fade{animation:mode-in .32s cubic-bezier(.22,1,.36,1) both}@keyframes mode-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.card{transition:border-color var(--t-med),box-shadow var(--t-med),transform var(--t-med)}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover);border-color:#6366f147}[data-theme=dark] .cmd-btn,[data-theme=dark] .icon-btn{background:#161b27b3}[data-theme=dark] .command-palette{box-shadow:0 32px 90px #0000008c}[data-theme=dark] .palette-icon{background:#0d1117}[data-theme=dark] .layer-row{background:linear-gradient(90deg,#818cf824,#0ea5e914)}@media (prefers-reduced-motion: reduce){body:before,.logo:after,.streak-flame,.topbar,.mode-fade{animation:none}}@media (max-width: 720px){.cmd-hint{display:none}.cmd-btn{padding:8px 10px}}:root{--s-new: #94a3b8;--s-learning: #f59e0b;--s-review: #6366f1;--s-mastered: #10b981}.auth-cta{font-weight:800}.account-menu{position:relative}.account-avatar{width:38px;height:38px;border-radius:50%;border:none;cursor:pointer;font-weight:900;font-size:.95rem;color:#fff;background:linear-gradient(135deg,var(--brand-light),var(--brand-dark));box-shadow:var(--shadow-sm);transition:transform var(--t-fast)}.account-avatar:hover{transform:translateY(-1px) scale(1.05)}.account-pop{position:absolute;right:0;top:46px;z-index:60;min-width:210px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:6px;animation:scale-in .16s ease both}.account-head{padding:8px 10px 10px;border-bottom:1px solid var(--line);margin-bottom:4px}.account-head strong{display:block;font-size:.92rem}.account-head span{font-size:.76rem;color:var(--muted)}.account-pop button{display:block;width:100%;text-align:left;background:none;border:none;border-radius:8px;padding:9px 10px;font:inherit;font-size:.88rem;color:var(--ink);cursor:pointer;transition:background var(--t-fast)}.account-pop button:hover{background:var(--brand-soft)}.account-pop button.danger{color:var(--hard)}.auth-panel{max-width:420px;text-align:center}.auth-form{display:grid;gap:10px;margin:18px 0 8px}.auth-input{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font:inherit;font-size:.95rem;transition:border-color var(--t-fast)}.auth-input:focus{outline:none;border-color:var(--brand)}.auth-err{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--hard);border-radius:8px;padding:8px 10px;font-size:.84rem;text-align:left}.auth-switch{margin:14px 0 0;font-size:.86rem;color:var(--muted)}.auth-switch button{background:none;border:none;color:var(--brand);font:inherit;font-weight:800;cursor:pointer}.hp-field{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.welcome-secondary{width:100%;margin-top:10px;padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--muted);font:inherit;font-weight:700;cursor:pointer;transition:all var(--t-fast)}.welcome-secondary:hover{border-color:var(--brand);color:var(--brand)}.q-tools{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);display:grid;gap:12px}.q-tools-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.status-control{display:inline-flex;gap:4px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:3px}.status-pill{display:inline-flex;align-items:center;gap:5px;border:none;cursor:pointer;background:none;color:var(--muted);font:inherit;font-size:.78rem;font-weight:700;padding:6px 11px;border-radius:8px;transition:all var(--t-fast)}.status-pill .status-dot{font-size:.7rem}.status-pill:hover{color:var(--ink);background:var(--bg)}.status-pill.s-learning.active{background:var(--s-learning);color:#fff}.status-pill.s-review.active{background:var(--s-review);color:#fff}.status-pill.s-mastered.active{background:var(--s-mastered);color:#fff}.status-pill.s-new.active{background:var(--s-new);color:#fff}.status-filter{display:inline-flex;gap:3px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:3px;flex-wrap:wrap}.status-fpill{display:inline-flex;align-items:center;gap:5px;border:none;cursor:pointer;background:none;color:var(--muted);font:inherit;font-size:.78rem;font-weight:700;padding:6px 11px;border-radius:8px;transition:all var(--t-fast)}.status-fpill .status-dot{font-size:.7rem}.status-fpill:hover{color:var(--ink);background:var(--bg)}.status-fpill.all.active{background:var(--ink);color:var(--panel)}.status-fpill.s-new.active{background:var(--s-new);color:#fff}.status-fpill.s-learning.active{background:var(--s-learning);color:#fff}.status-fpill.s-review.active{background:var(--s-review);color:#fff}.status-fpill.s-mastered.active{background:var(--s-mastered);color:#fff}.card{border-left:3px solid transparent}.card.s-learning{border-left-color:var(--s-learning)}.card.s-review{border-left-color:var(--s-review)}.card.s-mastered{border-left-color:var(--s-mastered)}.status-mark.s-mastered{background:var(--s-mastered);color:#fff}.status-mark.s-review{background:var(--s-review);color:#fff}.status-mark.s-learning{background:var(--s-learning);color:#fff}.badge.interview-badge{background:var(--brand-soft);color:var(--brand-dark)}.tag-control{position:relative}.tag-btn{display:inline-flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:10px;color:var(--muted);cursor:pointer;font:inherit;font-size:.8rem;font-weight:700;padding:7px 12px;transition:all var(--t-fast)}.tag-btn:hover{border-color:var(--brand);color:var(--brand)}.tag-btn.has{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.tag-pop{position:absolute;right:0;top:40px;z-index:50;min-width:230px;max-height:280px;overflow-y:auto;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:6px;animation:scale-in .16s ease both}.tag-opt,.tag-add{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:none;border-radius:8px;padding:8px 9px;font:inherit;font-size:.85rem;color:var(--ink);cursor:pointer;transition:background var(--t-fast)}.tag-opt:hover,.tag-add:hover{background:var(--brand-soft)}.tag-opt.on{font-weight:700}.tag-check{width:16px;color:var(--green);font-weight:900}.tag-co-dot{width:10px;height:10px;border-radius:50%;flex:none}.tag-co-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-add{color:var(--brand);font-weight:700;border-top:1px solid var(--line);margin-top:4px;border-radius:0 0 8px 8px}.tag-empty{padding:10px;font-size:.82rem;color:var(--muted)}.tag-empty button{background:none;border:none;color:var(--brand);font:inherit;font-weight:700;cursor:pointer}.notes-panel{display:grid;gap:6px}.notes-head{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:800;color:var(--muted)}.notes-head em{font-style:normal;font-weight:600;font-size:.72rem;color:var(--muted)}.notes-head em.ok{color:var(--green)}.notes-head em.notes-hint{color:var(--muted)}.notes-area{width:100%;min-height:76px;resize:vertical;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--panel);color:var(--ink);font:inherit;font-size:.9rem;line-height:1.5;transition:border-color var(--t-fast)}.notes-area:focus{outline:none;border-color:var(--brand)}.attach-panel{display:grid;gap:8px}.attach-head{display:flex;align-items:center;justify-content:space-between;font-size:.78rem;font-weight:800;color:var(--muted)}.attach-add{background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--brand);cursor:pointer;font:inherit;font-size:.78rem;font-weight:800;padding:5px 11px;transition:all var(--t-fast)}.attach-add:hover{border-color:var(--brand);background:var(--brand-soft)}.attach-add:disabled{opacity:.6;cursor:default}.attach-signin{background:none;border:1px dashed var(--line);border-radius:10px;color:var(--muted);cursor:pointer;font:inherit;font-size:.82rem;padding:9px}.attach-signin:hover{border-color:var(--brand);color:var(--brand)}.attach-empty{font-size:.8rem;color:var(--muted);margin:0}.attach-grid{display:flex;flex-wrap:wrap;gap:8px}.attach-thumb{position:relative;width:110px;height:84px;border-radius:10px;overflow:hidden;border:1px solid var(--line)}.attach-thumb img{width:100%;height:100%;object-fit:cover;cursor:zoom-in;display:block}.attach-del{position:absolute;top:3px;right:3px;width:22px;height:22px;border-radius:50%;border:none;background:#0f172ab3;color:#fff;cursor:pointer;font-size:1rem;line-height:1;display:grid;place-items:center;opacity:0;transition:opacity var(--t-fast)}.attach-thumb:hover .attach-del{opacity:1}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#070a12e0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:4vh;cursor:zoom-out;animation:fade-in .16s ease both}.lightbox img{max-width:94vw;max-height:92vh;border-radius:10px;box-shadow:0 24px 70px #00000080;cursor:default}.lightbox-close{position:fixed;top:18px;right:22px;width:42px;height:42px;border-radius:50%;border:none;background:#ffffff26;color:#fff;font-size:1.6rem;cursor:pointer}.interview-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.interview-bar-label{font-size:.78rem;font-weight:800;color:var(--muted);margin-right:2px}.interview-chip{display:inline-flex;align-items:center;gap:7px;background:var(--panel);border:1px solid var(--line);border-radius:99px;color:var(--ink);cursor:pointer;font:inherit;font-size:.82rem;font-weight:700;padding:6px 13px;transition:all var(--t-fast)}.interview-chip:hover{border-color:var(--co, var(--brand))}.interview-chip.active{background:var(--co, var(--brand));border-color:var(--co, var(--brand));color:#fff}.interview-chip-dot{width:9px;height:9px;border-radius:50%;background:var(--co, var(--brand))}.interview-chip.active .interview-chip-dot{background:#fff}.interview-chip em{font-style:normal;opacity:.7;font-size:.74rem}.interview-manage{background:none;border:1px dashed var(--line);border-radius:99px;color:var(--muted);cursor:pointer;font:inherit;font-size:.8rem;font-weight:700;padding:6px 12px}.interview-manage:hover{border-color:var(--brand);color:var(--brand)}.interview-banner{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:12px;background:color-mix(in srgb,var(--co, var(--brand)) 12%,var(--panel));border:1px solid var(--co, var(--brand));border-radius:12px;padding:9px 14px;font-size:.85rem}.interview-banner button{margin-left:auto;background:none;border:none;color:var(--co, var(--brand));font:inherit;font-weight:800;cursor:pointer}.company-panel,.dash-panel{max-width:560px}.company-sub{font-size:.86rem;color:var(--muted);margin:4px 0 16px}.company-form{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px;align-items:center}.company-form .auth-input{padding:10px 12px}.company-form .diff-select{grid-column:1}.color-row{display:flex;gap:6px;grid-column:2}.color-dot{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.color-dot.on{border-color:var(--ink);transform:scale(1.12)}.welcome-cta.sm{grid-column:1 / -1;padding:10px;font-size:.9rem}.company-list{display:grid;gap:8px;max-height:42vh;overflow-y:auto}.company-empty{color:var(--muted);font-size:.88rem;text-align:center;padding:14px}.company-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px}.company-dot{width:10px;height:10px;border-radius:50%;background:var(--co, var(--brand));flex:none}.company-card-main{flex:1;min-width:0}.company-card-main strong{display:block;font-size:.92rem}.company-card-main span{font-size:.78rem;color:var(--muted)}.company-status{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;padding:3px 9px;border-radius:99px;background:var(--brand-soft);color:var(--brand-dark)}.company-status.st-offer{background:var(--green-soft);color:var(--green)}.company-status.st-rejected,.company-status.st-archived{background:var(--bg);color:var(--muted)}.company-count{font-size:.76rem;color:var(--muted);white-space:nowrap}.company-del{background:none;border:none;color:var(--muted);font-size:1.2rem;cursor:pointer;line-height:1;padding:2px 6px;border-radius:6px}.company-del:hover{color:var(--hard);background:#ef44441a}.dash-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px}.dash-stat{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px 8px;text-align:center}.dash-stat strong{display:block;font-size:1.5rem;font-weight:900}.dash-stat span{font-size:.72rem;color:var(--muted);font-weight:700}.dash-stat.s-learning strong{color:var(--s-learning)}.dash-stat.s-review strong{color:var(--s-review)}.dash-stat.s-mastered strong{color:var(--s-mastered)}.dash-sub{font-size:.95rem;margin:0 0 10px}.dash-companies{display:grid;gap:8px;max-height:40vh;overflow-y:auto}.dash-company{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:center;width:100%;text-align:left;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:11px 13px;cursor:pointer;transition:border-color var(--t-fast)}.dash-company:hover{border-color:var(--co, var(--brand))}.dash-company-main{display:flex;justify-content:space-between;align-items:baseline}.dash-company-main strong{font-size:.92rem}.dash-company-main span{font-size:.78rem;color:var(--muted)}.dash-bar{grid-column:2;height:6px;border-radius:99px;background:var(--line);overflow:hidden}.dash-bar i{display:block;height:100%;background:var(--co, var(--brand));border-radius:99px;transition:width var(--t-med)}[data-theme=dark] .account-pop,[data-theme=dark] .tag-pop{box-shadow:0 20px 50px #0000008c}[data-theme=dark] .auth-input,[data-theme=dark] .notes-area{background:#0d1117}@media (max-width: 720px){.q-tools-row{flex-direction:column;align-items:stretch}.status-control{justify-content:space-between}.company-form{grid-template-columns:1fr}.color-row{grid-column:1}.dash-stats{grid-template-columns:repeat(2,1fr)}}.ai-studio-btn{font-weight:700;letter-spacing:.2px}.ai-studio-btn.on{background:var(--brand);color:#fff;border-color:var(--brand)}.studio{max-width:1040px;margin:0 auto;padding:26px 24px 80px;animation:fadeUp .35s ease}.studio .picker-head{margin-bottom:22px}.studio-gen{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px 22px 18px;box-shadow:0 6px 24px #141e3c0d}.studio-gen h2,.studio-queue h2{margin:0 0 14px;font-size:17px}.studio-form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 16px}.studio-field{display:flex;flex-direction:column;gap:6px}.studio-field>span{font-size:12.5px;font-weight:600;color:var(--muted)}.studio-field>span em{font-weight:500;font-style:normal;opacity:.7}.studio-field.studio-grow{grid-column:1 / -1}.studio-field.studio-narrow{max-width:140px}.studio-field select,.studio-field input{padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);font-size:14px;font-family:inherit}.studio-field select:focus,.studio-field input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow)}.studio-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;flex-wrap:wrap}.studio-test{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);cursor:pointer}.studio-test input{width:16px;height:16px;accent-color:var(--brand)}.studio-run{padding:11px 22px;border:none;border-radius:var(--radius-sm);background:var(--brand);color:#fff;font-weight:700;font-size:14px;cursor:pointer;transition:background .15s,transform .1s}.studio-run:hover:not(:disabled){background:var(--brand-dark)}.studio-run:active:not(:disabled){transform:translateY(1px)}.studio-run:disabled{opacity:.55;cursor:default}.studio-hint{margin:12px 0 0;font-size:12.5px;color:var(--muted)}.studio-msg{margin:12px 0 0;font-size:13.5px;font-weight:600}.studio-msg.ok{color:#16a34a}.studio-msg.error{color:#dc2626}.studio-queue{margin-top:30px}.studio-queue-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.studio-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;margin-left:8px;border-radius:11px;background:var(--brand);color:#fff;font-size:12px;font-weight:700;vertical-align:middle}.studio-tabs{display:inline-flex;gap:4px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);padding:3px}.studio-tabs button{border:none;background:none;padding:6px 14px;border-radius:var(--radius-xs);font-size:13px;font-weight:600;color:var(--muted);cursor:pointer}.studio-tabs button.on{background:var(--panel);color:var(--ink);box-shadow:0 1px 3px #00000014}.studio-empty{padding:40px 20px;text-align:center;color:var(--muted);background:var(--panel);border:1px dashed var(--line);border-radius:var(--radius);font-size:14px}.studio-list{display:flex;flex-direction:column;gap:16px}.review-card{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--brand-light);border-radius:var(--radius);padding:18px 20px;box-shadow:0 4px 18px #141e3c0d}.review-card.rejected{border-left-color:#dc2626;opacity:.85}.review-card.published{border-left-color:#16a34a}.review-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.review-tags{display:flex;gap:6px;flex-wrap:wrap}.review-pill{font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--bg);color:var(--muted);border:1px solid var(--line)}.review-pill.role{background:var(--brand-soft);color:var(--brand-dark);border-color:transparent}.review-pill.topic{color:var(--ink)}.review-pill.diff{text-transform:capitalize}.review-pill.diff-easy{color:#16a34a}.review-pill.diff-medium{color:#d97706}.review-pill.diff-hard{color:#dc2626}.review-pill.st-rejected{background:#fee2e2;color:#b91c1c;border-color:transparent}.review-pill.st-published{background:#dcfce7;color:#15803d;border-color:transparent}.review-companies{display:flex;gap:5px;flex-wrap:wrap}.review-co{font-size:11px;font-weight:600;padding:2px 8px;border-radius:6px;background:linear-gradient(135deg,var(--brand-soft),var(--bg));color:var(--brand-dark)}.review-prompt{margin:6px 0 12px;font-size:16px;line-height:1.4}.review-answer{max-height:340px;overflow-y:auto;padding:12px 14px;border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--line)}.review-answer .answer-body{font-size:13.5px}.review-edit{display:flex;flex-direction:column;gap:12px;margin:4px 0 14px}.review-edit label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:600;color:var(--muted)}.review-edit textarea{font-family:inherit;font-size:13.5px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);resize:vertical;line-height:1.5}.review-edit textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow)}.review-edit-diff{flex-direction:row!important;align-items:center;gap:10px!important}.review-edit-diff select{padding:7px 10px;border:1px solid var(--line);border-radius:var(--radius-xs);background:var(--bg);color:var(--ink)}.review-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.review-actions-right{display:flex;gap:8px}.review-actions button{padding:8px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--line);background:var(--panel);color:var(--ink);transition:background .15s,border-color .15s}.review-actions button:disabled{opacity:.5;cursor:default}.review-edit-btn:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.review-delete{color:var(--muted)!important}.review-delete:hover:not(:disabled){border-color:#dc2626;color:#dc2626!important}.review-reject:hover:not(:disabled){border-color:#dc2626;color:#dc2626}.review-approve{background:#16a34a!important;color:#fff!important;border-color:#16a34a!important}.review-approve:hover:not(:disabled){background:#15803d!important}@media (max-width: 720px){.studio-form{grid-template-columns:1fr}.studio-field.studio-narrow{max-width:none}.review-actions{flex-direction:column;align-items:stretch}.review-actions-right{justify-content:flex-end}}.account-badge{display:inline-block;margin-top:4px;padding:1px 7px;border-radius:5px;background:var(--brand-soft);color:var(--brand-dark);font-size:10.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}.profile{max-width:960px;margin:0 auto;padding:22px 24px 80px;animation:fadeUp .35s ease}.profile-empty{max-width:460px;margin:8vh auto 0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.profile-empty h2{margin:6px 0 0}.profile-empty p{color:var(--muted);margin:0 0 6px}.back-btn.ghost{background:none;border:none;color:var(--muted);margin-top:4px}.profile-hero{display:flex;align-items:center;gap:18px;padding:6px 4px 22px}.profile-avatar{width:64px;height:64px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brand),var(--brand-dark));color:#fff;font-size:28px;font-weight:700;box-shadow:0 6px 18px var(--brand-glow)}.profile-id{flex:1;min-width:0}.profile-id h1{margin:0;font-size:26px}.profile-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px;color:var(--muted);font-size:13.5px}.profile-badge{padding:1px 8px;border-radius:5px;background:var(--brand-soft);color:var(--brand-dark);font-size:11px;font-weight:700;text-transform:uppercase}.profile-signout{flex:none;padding:9px 16px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel);color:var(--muted);font-size:13px;font-weight:600;cursor:pointer}.profile-signout:hover{border-color:#dc2626;color:#dc2626}.profile-overview{display:flex;align-items:center;gap:28px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;box-shadow:0 6px 24px #141e3c0d}.profile-ring{display:flex;flex-direction:column;align-items:center;gap:8px;flex:none}.profile-ring-cap{font-size:12.5px;color:var(--muted);font-weight:600}.profile-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;flex:1;min-width:280px}.profile-tile{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--line)}.profile-tile-dot{font-size:15px}.profile-tile strong{font-size:22px;line-height:1.1}.profile-tile span:last-child{font-size:12px;color:var(--muted)}.profile-tile.s-mastered{border-left:3px solid #16a34a}.profile-tile.s-review{border-left:3px solid #d97706}.profile-tile.s-learning{border-left:3px solid var(--brand)}.profile-tile.s-new{border-left:3px solid var(--muted)}.profile-tile.streak{border-left:3px solid #f97316}.profile-section{margin-top:30px}.profile-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.profile-section-head h2{margin:0;font-size:17px}.profile-link{border:none;background:none;color:var(--brand);font-weight:600;font-size:13px;cursor:pointer}.profile-link:hover{text-decoration:underline}.profile-card-empty{background:var(--panel);border:1px dashed var(--line);border-radius:var(--radius);padding:26px 20px;text-align:center;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:12px}.profile-card-empty p{margin:0}.profile-interviews{display:flex;flex-direction:column;gap:10px}.profile-interview{display:flex;align-items:center;gap:14px;text-align:left;padding:14px 16px;border-radius:var(--radius-sm);background:var(--panel);border:1px solid var(--line);cursor:pointer;transition:border-color .15s,transform .1s}.profile-interview:hover{border-color:var(--co);transform:translate(2px)}.profile-interview .company-dot{width:11px;height:11px;border-radius:50%;background:var(--co);flex:none}.profile-interview-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.profile-interview-main strong{font-size:15px}.profile-interview-role{font-size:12.5px;color:var(--muted)}.profile-interview-prog{width:180px;flex:none;display:flex;flex-direction:column;gap:5px}.profile-interview-prog>span{font-size:12px;color:var(--muted);text-align:right}.profile-interview .dash-bar{height:6px;border-radius:3px;background:var(--line);overflow:hidden}.profile-interview .dash-bar i{display:block;height:100%;background:var(--co);border-radius:3px}.profile-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.profile-field{display:flex;align-items:center;gap:13px;text-align:left;padding:14px 16px;border-radius:var(--radius-sm);background:var(--panel);border:1px solid var(--line);cursor:pointer;transition:border-color .15s,transform .1s}.profile-field:hover{border-color:var(--brand);transform:translateY(-2px)}.profile-field-icon{width:40px;height:40px;flex:none;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--brand-soft);color:var(--brand-dark)}.profile-field-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.profile-field-main strong{font-size:14.5px}.profile-field-main span{font-size:12px;color:var(--muted)}.profile-field-go{color:var(--brand);font-size:18px;font-weight:700}@media (max-width: 720px){.profile-tiles{grid-template-columns:repeat(2,1fr)}.profile-fields{grid-template-columns:1fr}.profile-hero{flex-wrap:wrap}.profile-interview-prog{width:120px}}.locked-answer{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:26px 22px;border-radius:var(--radius-sm);background:linear-gradient(160deg,var(--brand-soft),var(--bg));border:1px dashed var(--brand-light)}.locked-icon{font-size:26px}.locked-answer strong{font-size:15px}.locked-answer p{margin:0;color:var(--muted);font-size:13px;max-width:420px}.locked-cta{margin-top:4px;padding:9px 20px;border:none;border-radius:var(--radius-sm);background:var(--brand);color:#fff;font-weight:700;font-size:13.5px;cursor:pointer}.locked-cta:hover{background:var(--brand-dark)}.account-avatar.pro{box-shadow:0 0 0 2px #f5b301,0 4px 12px #f5b3014d}.account-avatar-pro{position:absolute;right:-3px;bottom:-3px;font-size:11px;color:#f5b301;background:var(--panel);border-radius:50%;width:15px;height:15px;display:flex;align-items:center;justify-content:center;line-height:1}.account-menu .account-avatar{position:relative}.account-badges{display:flex;gap:5px;margin-top:5px}.account-badge.pro{background:linear-gradient(135deg,#fde68a,#f5b301);color:#6b4e00}.menu-upgrade{color:var(--brand-dark)!important;font-weight:700!important}.upgrade-panel{max-width:440px}.upgrade-sub{color:var(--muted);margin:0 0 16px;font-size:14px}.upgrade-benefits{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:14px}.upgrade-benefits li{display:flex;gap:12px;align-items:flex-start}.upgrade-emoji{font-size:20px;flex:none}.upgrade-benefits strong{display:block;font-size:14px}.upgrade-benefits span{font-size:12.5px;color:var(--muted)}.upgrade-go{width:100%}.upgrade-foot{text-align:center;color:var(--muted);font-size:12px;margin:10px 0 0}.upgrade-done{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;padding:8px 0 4px}.upgrade-star,.upgrade-done .upgrade-star{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:30px;color:#fff;background:linear-gradient(135deg,#fbbf24,#f5b301);box-shadow:0 6px 18px #f5b30166}.upgrade-done p{color:var(--muted);margin:0;max-width:360px}.edit-label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:600;color:var(--muted);text-align:left}.edit-label em{font-weight:500;font-style:normal;opacity:.75}.edit-label .auth-input{margin:0}.profile-hero-actions{display:flex;gap:8px;flex:none}.profile-edit{padding:9px 16px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel);color:var(--ink);font-size:13px;font-weight:600;cursor:pointer}.profile-edit:hover{border-color:var(--brand);color:var(--brand)}.profile-avatar.pro{box-shadow:0 0 0 3px #f5b301,0 6px 18px #f5b30159}.profile-badge.pro{background:linear-gradient(135deg,#fde68a,#f5b301);color:#6b4e00}.profile-upgrade-banner{display:flex;align-items:center;gap:14px;width:100%;text-align:left;margin:4px 0 20px;padding:16px 18px;border-radius:var(--radius);background:linear-gradient(120deg,#1e2235,#2a2350);color:#fff;border:1px solid transparent;cursor:pointer;transition:transform .12s}.profile-upgrade-banner:hover{transform:translateY(-2px)}.profile-upgrade-banner>div{flex:1;display:flex;flex-direction:column;gap:2px}.profile-upgrade-banner strong{font-size:15px}.profile-upgrade-banner span{font-size:13px;opacity:.85}.profile-upgrade-star{width:38px;height:38px;flex:none;border-radius:50%;font-size:20px;display:flex;align-items:center;justify-content:center;color:#6b4e00;background:linear-gradient(135deg,#fde68a,#f5b301)}.profile-upgrade-go{font-weight:700;font-size:14px;white-space:nowrap}.profile-pro-row{display:flex;align-items:center;gap:10px;margin:4px 0 20px;padding:12px 16px;border-radius:var(--radius-sm);background:var(--brand-soft);color:var(--ink);font-size:13.5px}@media (max-width: 720px){.profile-hero-actions{width:100%}.profile-edit,.profile-signout{flex:1}}.admin{max-width:960px;margin:0 auto;padding:26px 24px 80px;animation:fadeUp .35s ease}.admin .picker-head{margin-bottom:18px}.admin-toolbar{display:flex;gap:8px;margin-bottom:16px}.admin-toolbar .auth-input{flex:1;margin:0}.admin-search{padding:0 18px;border:none;border-radius:var(--radius-sm);background:var(--brand);color:#fff;font-weight:600;font-size:13.5px;cursor:pointer}.admin-search:hover{background:var(--brand-dark)}.admin-clear{padding:0 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--muted);font-size:13px;cursor:pointer}.admin-table{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 6px 24px #141e3c0d}.admin-row{display:grid;grid-template-columns:1fr 92px 80px 96px 110px;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid var(--line)}.admin-row:last-child{border-bottom:none}.admin-row.is-self{background:var(--brand-soft)}.admin-head{font-size:11.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);background:var(--bg)}.admin-c{text-align:center}.admin-meta-h,.admin-meta{font-size:12.5px;color:var(--muted);text-align:right}.admin-user{display:flex;align-items:center;gap:11px;min-width:0}.admin-avatar{width:36px;height:36px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brand),var(--brand-dark));color:#fff;font-weight:700;font-size:15px}.admin-avatar.pro{box-shadow:0 0 0 2px #f5b301}.admin-user-main{min-width:0;display:flex;flex-direction:column;gap:1px}.admin-user-main strong{font-size:14px;display:flex;align-items:center;gap:6px}.admin-user-main span{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-you{font-style:normal;font-size:10px;font-weight:700;text-transform:uppercase;padding:1px 6px;border-radius:5px;background:var(--brand);color:#fff}.admin-toggle{width:100%;padding:6px 4px;border-radius:var(--radius-xs);border:1px solid var(--line);background:var(--bg);color:var(--muted);font-size:12.5px;font-weight:600;cursor:pointer;transition:all .12s}.admin-toggle:hover:not(:disabled){border-color:var(--brand);color:var(--ink)}.admin-toggle:disabled{opacity:.45;cursor:not-allowed}.admin-toggle.on{color:#fff;border-color:transparent}.admin-toggle.on.pro{background:linear-gradient(135deg,#fbbf24,#f5b301);color:#6b4e00}.admin-toggle.on.staff{background:var(--brand)}.admin-toggle.on.super{background:#7c3aed}.admin-note{margin:14px 2px 0;font-size:12.5px;color:var(--muted);padding:10px 14px;background:var(--bg);border:1px dashed var(--line);border-radius:var(--radius-sm)}@media (max-width: 720px){.admin-row{grid-template-columns:1fr 70px 60px 72px}.admin-meta-h,.admin-meta{display:none}}.upgrade-price{display:flex;align-items:baseline;gap:10px;margin:0 0 16px}.upgrade-price strong{font-size:28px;color:var(--ink)}.upgrade-price span{font-size:13px;color:var(--muted)}.ghost-cta{background:var(--panel)!important;color:var(--ink)!important;border:1px solid var(--line)!important}.ghost-cta:hover{border-color:var(--brand)!important;color:var(--brand)!important}.profile-pro-row{justify-content:flex-start}.profile-pro-text{flex:1}.profile-pro-manage{border:1px solid var(--line);background:var(--panel);color:var(--ink);padding:6px 14px;border-radius:var(--radius-sm);font-size:12.5px;font-weight:600;cursor:pointer}.profile-pro-manage:hover{border-color:var(--brand);color:var(--brand)}.menu-pro-tag,.coach-pro{margin-left:6px;font-size:9.5px;font-weight:800;letter-spacing:.4px;padding:1px 5px;border-radius:4px;vertical-align:middle;background:linear-gradient(135deg,#fde68a,#f5b301);color:#6b4e00}.pro-lock{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:26px 22px;border-radius:var(--radius-sm);background:linear-gradient(160deg,var(--brand-soft),var(--bg));border:1px dashed var(--brand-light)}.pro-lock-badge{font-size:11px;font-weight:800;letter-spacing:.5px;padding:3px 10px;border-radius:999px;background:linear-gradient(135deg,#fde68a,#f5b301);color:#6b4e00}.pro-lock strong{font-size:16px}.pro-lock p{margin:0;color:var(--muted);font-size:13px;max-width:460px}.coach{margin:14px 0 4px;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.coach-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:11px 14px;background:var(--bg);border:none;cursor:pointer;font-size:13.5px;font-weight:600;color:var(--ink)}.coach-toggle:hover{background:var(--brand-soft)}.coach-chev{color:var(--muted)}.coach-body{padding:14px;display:flex;flex-direction:column;gap:10px}.coach-input{width:100%;box-sizing:border-box;font-family:inherit;font-size:13.5px;line-height:1.5;padding:11px 13px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink);resize:vertical}.coach-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow)}.coach-grade{align-self:flex-start;padding:9px 18px;border:none;border-radius:var(--radius-sm);background:var(--brand);color:#fff;font-weight:700;font-size:13.5px;cursor:pointer}.coach-grade:hover:not(:disabled){background:var(--brand-dark)}.coach-grade:disabled{opacity:.6;cursor:default}.coach-result{display:flex;gap:16px;margin-top:6px;padding-top:14px;border-top:1px solid var(--line)}.coach-score{flex:none;width:84px;height:84px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:4px solid var(--sc);color:var(--sc)}.coach-score strong{font-size:28px;line-height:1}.coach-score span{font-size:11px;color:var(--muted)}.coach-feedback{flex:1;min-width:0}.coach-verdict{margin:0 0 10px;font-weight:600;font-size:14px}.coach-block{margin-bottom:8px}.coach-block h5{margin:0 0 3px;font-size:12px}.coach-block.ok h5{color:#16a34a}.coach-block.gap h5{color:#d97706}.coach-block ul{margin:0;padding-left:18px}.coach-block li{font-size:12.5px;color:var(--ink);margin-bottom:2px}.coach-tip{margin:8px 0 0;font-size:12.5px;color:var(--muted);background:var(--bg);padding:8px 10px;border-radius:var(--radius-xs)}.review{max-width:760px;margin:0 auto;padding:26px 24px 80px;animation:fadeUp .35s ease}.review .picker-head{margin-bottom:20px}.review-empty{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;padding:48px 24px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.review-empty-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;background:var(--brand-soft);color:var(--brand-dark)}.review-empty h2{margin:0}.review-empty p{margin:0;color:var(--muted);max-width:420px}.review-progress{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-size:12.5px;color:var(--muted)}.review-bar{flex:1;height:6px;border-radius:3px;background:var(--line);overflow:hidden}.review-bar i{display:block;height:100%;background:var(--brand);border-radius:3px;transition:width .3s}.review-due{font-weight:700;color:var(--brand)}.review-card-q{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 6px 24px #141e3c0d}.review-card-q h2{margin:6px 0 16px;font-size:20px;line-height:1.35}.review-prompt-rate{margin:16px 0 8px;font-size:13px;font-weight:600;color:var(--muted);text-align:center}.review-ratings{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.review-rate{padding:12px 6px;border-radius:var(--radius-sm);border:1.5px solid var(--rc);background:var(--panel);color:var(--rc);font-weight:700;font-size:13.5px;cursor:pointer;transition:background .12s,color .12s}.review-rate:hover:not(:disabled){background:var(--rc);color:#fff}.review-rate:disabled{opacity:.5;cursor:default}.mock{max-width:760px;margin:0 auto;padding:26px 24px 80px;animation:fadeUp .35s ease}.mock .picker-head{margin-bottom:20px}.mock-setup{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;box-shadow:0 6px 24px #141e3c0d;display:flex;flex-direction:column;gap:16px}.mock-companies{display:flex;flex-wrap:wrap;gap:8px}.mock-co{padding:9px 16px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg);color:var(--ink);font-size:13.5px;font-weight:600;cursor:pointer}.mock-co:hover{border-color:var(--brand)}.mock-co.on{background:var(--brand);color:#fff;border-color:var(--brand)}.mock-setup select,.mock-setup .auth-input{padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);font-size:14px;font-family:inherit}.mock-start{align-self:flex-start}.mock-hint{font-size:12px;color:var(--muted);margin:0}.mock-chatwrap{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 6px 24px #141e3c0d}.mock-chat-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--bg);font-size:13px}.mock-end{padding:7px 14px;border-radius:var(--radius-sm);border:1px solid var(--brand);background:var(--panel);color:var(--brand);font-weight:600;font-size:12.5px;cursor:pointer}.mock-end:hover:not(:disabled){background:var(--brand);color:#fff}.mock-end:disabled{opacity:.5;cursor:default}.mock-chat{max-height:460px;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:14px}.mock-msg{max-width:80%;display:flex;flex-direction:column;gap:3px}.mock-msg .mock-who{font-size:11px;font-weight:700;color:var(--muted)}.mock-msg p{margin:0;padding:10px 13px;border-radius:12px;font-size:13.5px;line-height:1.5;white-space:pre-wrap}.mock-msg.interviewer{align-self:flex-start}.mock-msg.interviewer p{background:var(--bg);border:1px solid var(--line);border-bottom-left-radius:3px}.mock-msg.candidate{align-self:flex-end;align-items:flex-end}.mock-msg.candidate p{background:var(--brand);color:#fff;border-bottom-right-radius:3px}.mock-msg.typing p{opacity:.6;letter-spacing:2px}.mock-input-row{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--line)}.mock-input{flex:1;resize:none;font-family:inherit;font-size:13.5px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink)}.mock-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow)}.mock-send{padding:0 20px;border:none;border-radius:var(--radius-sm);background:var(--brand);color:#fff;font-weight:700;cursor:pointer}.mock-send:disabled{opacity:.5;cursor:default}.mock-chatwrap+.mock-hint,.mock-chatwrap .mock-hint{padding:0 16px 12px}.mock-report{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 6px 24px #141e3c0d}.mock-report-head{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.mock-score{flex:none;width:92px;height:92px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:5px solid var(--sc);color:var(--sc)}.mock-score strong{font-size:30px;line-height:1}.mock-score span{font-size:11px;color:var(--muted)}.mock-rec{display:inline-block;font-weight:800;font-size:13px;letter-spacing:.3px;text-transform:uppercase;color:#fff;background:var(--rc);padding:3px 12px;border-radius:999px}.mock-verdict{margin:8px 0 2px;font-size:14.5px}.mock-sub{margin:0;font-size:12.5px;color:var(--muted)}.mock-comps{display:flex;flex-direction:column;gap:8px;margin:20px 0;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.mock-comp{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}.mock-comp-bar{display:flex;gap:4px}.mock-comp-bar i{width:22px;height:7px;border-radius:3px;background:var(--line)}.mock-comp-bar i.on{background:var(--brand)}.mock-feedback{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.mock-transcript{margin:8px 0 18px}.mock-transcript summary{cursor:pointer;font-weight:600;font-size:13px;color:var(--brand)}.mock-transcript .mock-msg{max-width:100%;margin-top:10px}@media (max-width: 720px){.mock-feedback{grid-template-columns:1fr}.mock-msg{max-width:92%}}.home-tools{max-width:920px;margin:36px auto 0}.home-tools-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.home-tools-head h2{margin:0;font-size:18px;display:flex;align-items:center;gap:8px}.home-tools-pro{font-size:10px;font-weight:800;letter-spacing:.5px;padding:2px 7px;border-radius:5px;background:linear-gradient(135deg,#fde68a,#f5b301);color:#6b4e00}.home-tools-upgrade{border:none;background:none;color:var(--brand);font-weight:600;font-size:13px;cursor:pointer}.home-tools-upgrade:hover{text-decoration:underline}.home-tools-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.tool-card{display:flex;align-items:flex-start;gap:13px;text-align:left;padding:18px;border-radius:var(--radius);cursor:pointer;background:linear-gradient(155deg,var(--brand-soft),var(--panel));border:1px solid var(--line);transition:border-color .15s,transform .12s,box-shadow .15s}.tool-card:hover{border-color:var(--brand);transform:translateY(-3px);box-shadow:0 10px 28px var(--brand-glow)}.tool-icon{font-size:24px;flex:none;line-height:1}.tool-main{flex:1;min-width:0}.tool-main strong{display:flex;align-items:center;gap:7px;font-size:15px}.tool-main p{margin:4px 0 0;font-size:12.5px;color:var(--muted);line-height:1.45}.tool-pro{font-size:9px;font-weight:800;letter-spacing:.4px;padding:1px 5px;border-radius:4px;background:linear-gradient(135deg,#fde68a,#f5b301);color:#6b4e00}.tool-go{color:var(--brand);font-size:18px;font-weight:700;flex:none}@media (max-width: 760px){.home-tools-grid{grid-template-columns:1fr}}.analytics{max-width:920px;margin:0 auto;padding:26px 24px 80px;animation:fadeUp .35s ease}.analytics .picker-head{margin-bottom:20px}.analytics-weak{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.analytics-weak-card{display:flex;flex-direction:column;gap:4px;text-align:left;cursor:pointer;padding:14px 16px;border-radius:var(--radius-sm);background:linear-gradient(155deg,#fff7ed,var(--panel));border:1px solid #fed7aa}.dark .analytics-weak-card,[data-theme=dark] .analytics-weak-card{background:linear-gradient(155deg,rgba(217,119,6,.12),var(--panel));border-color:#d977064d}.analytics-weak-card:hover{transform:translateY(-2px)}.analytics-weak-card strong{font-size:14px}.analytics-weak-card span{font-size:12px;color:var(--muted)}.analytics-weak-go{color:#d97706!important;font-weight:700}.analytics-fields{display:flex;flex-direction:column;gap:10px}.analytics-field{display:block;width:100%;text-align:left;cursor:pointer;padding:13px 16px;border-radius:var(--radius-sm);background:var(--panel);border:1px solid var(--line);transition:border-color .15s}.analytics-field:hover{border-color:var(--brand)}.analytics-field-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:13.5px}.analytics-field-top span{color:var(--muted);font-size:12.5px}.analytics-field-bar{height:8px;border-radius:4px;background:var(--line);overflow:hidden}.analytics-field-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--brand-light));border-radius:4px;transition:width .4s}.mock-past{margin-top:28px}.mock-past h2{font-size:17px;margin:0 0 12px}.mock-past-list{display:flex;flex-direction:column;gap:8px}.mock-past-row{display:flex;align-items:center;gap:14px;text-align:left;cursor:pointer;padding:12px 16px;border-radius:var(--radius-sm);background:var(--panel);border:1px solid var(--line)}.mock-past-row:hover{border-color:var(--brand)}.mock-past-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.mock-past-main strong{font-size:14px}.mock-past-main span{font-size:12px;color:var(--muted)}.mock-past-score{font-size:20px;font-weight:800;color:var(--ink)}.mock-past-rec{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;color:#fff;background:var(--rc);padding:3px 10px;border-radius:999px;white-space:nowrap}@media (max-width: 760px){.analytics-weak{grid-template-columns:1fr}}@media (max-width: 640px){.topbar{flex-direction:column;align-items:stretch;gap:8px;padding:10px 12px}.brand{width:100%;flex:none}.topbar-controls{display:flex!important;flex-wrap:wrap;width:auto!important;grid-template-columns:none!important;gap:6px;align-items:center;justify-content:flex-end}.topbar-controls .cmd-hint{display:none}.topbar-controls .cmd-btn:not(.auth-cta),.topbar-controls .streak-badge{display:none}.topbar-controls .search,.topbar-controls .diff-select{flex:1 1 100%;width:100%!important;min-width:0;min-height:40px;font-size:16px}.icon-btn,.theme-toggle,.account-avatar,.ai-studio-btn{flex:none}.home,.picker,.studio,.admin,.review,.mock,.analytics,.profile{padding-left:14px;padding-right:14px}.layout{padding:0 12px}body{overflow-x:hidden}}.landing{max-width:1080px;margin:0 auto;padding:0 20px 60px;animation:fadeUp .4s ease}.landing-hero{text-align:center;padding:56px 12px 40px}.landing-eyebrow{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--brand-dark);background:var(--brand-soft);padding:5px 14px;border-radius:999px}.landing-hero h1{font-size:clamp(2rem,6vw,3.4rem);line-height:1.08;margin:18px 0 0;letter-spacing:-.02em;background:linear-gradient(135deg,var(--brand-dark),var(--brand-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-hero>p{max-width:620px;margin:16px auto 0;font-size:clamp(1rem,2.5vw,1.18rem);color:var(--muted);line-height:1.55}.landing-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}.landing-primary{padding:13px 26px;border:none;border-radius:var(--radius-sm);cursor:pointer;background:var(--brand);color:#fff;font-weight:700;font-size:15px;box-shadow:0 8px 22px var(--brand-glow);transition:background .15s,transform .1s}.landing-primary:hover{background:var(--brand-dark);transform:translateY(-1px)}.landing-secondary{padding:13px 22px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink);font-weight:600;font-size:15px;cursor:pointer}.landing-secondary:hover{border-color:var(--brand);color:var(--brand)}.landing-stats{display:flex;gap:26px;justify-content:center;flex-wrap:wrap;margin-top:30px;color:var(--muted);font-size:13.5px}.landing-stats strong{color:var(--ink);font-size:18px}.landing-features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}.landing-feature{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 4px 18px #141e3c0a}.landing-feature-icon{font-size:28px}.landing-feature h3{margin:12px 0 6px;font-size:16px;display:flex;align-items:center;gap:8px}.landing-feature p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.5}.landing-pro-tag{font-size:9.5px;font-weight:800;letter-spacing:.4px;padding:1px 6px;border-radius:4px;background:linear-gradient(135deg,#fde68a,#f5b301);color:#6b4e00}.landing-pro{margin-top:36px;border-radius:var(--radius);overflow:hidden;background:linear-gradient(120deg,#1e2235,#2a2350);color:#fff}.landing-pro-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:30px 32px}.landing-pro h2{margin:0 0 6px;font-size:24px}.landing-pro p{margin:0;opacity:.85;max-width:480px;font-size:14px;line-height:1.5}.landing-pro-cta{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.landing-price{font-size:26px;font-weight:800}.landing-price span{display:block;font-size:12px;font-weight:500;opacity:.75}.landing-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:40px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.landing-link{border:none;background:none;color:var(--brand);font-weight:600;cursor:pointer;font-size:13px}.landing-link:hover{text-decoration:underline}@media (max-width: 860px){.landing-features{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.landing-features{grid-template-columns:1fr}.landing-hero{padding:36px 6px 28px}.landing-cta{flex-direction:column}.landing-primary,.landing-secondary{width:100%}.landing-pro-inner{padding:24px 20px}.landing-pro-cta{align-items:stretch;width:100%}.landing-pro-cta .landing-primary{width:100%}}
