:root{color-scheme:dark;--bg:#040609;--panel:#090d14;--panel2:#0d121b;--line:rgba(255,255,255,.085);--line2:rgba(103,220,255,.16);--text:#f5f8fc;--muted:#8d99aa;--muted2:#667386;--cyan:#66ddff;--blue:#1c8bff;--violet:#705fff;--green:#48dda0;--amber:#ffb65c;--red:#ff6675;--safe-t:env(safe-area-inset-top);--safe-r:env(safe-area-inset-right);--safe-b:env(safe-area-inset-bottom);--safe-l:env(safe-area-inset-left);--vvh:100dvh;--radius:24px;--shadow:0 28px 90px rgba(0,0,0,.38)}*{box-sizing:border-box}html,body{margin:0;width:100%;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;-webkit-text-size-adjust:100%}body{min-height:var(--vvh);overflow-x:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.os-loading{position:fixed;inset:0;z-index:9999;display:grid;place-content:center;justify-items:center;gap:12px;background:#050609;text-align:center;padding:24px}.os-loading[hidden]{display:none}.os-loading strong{font-size:1.1rem}.os-loading span{max-width:430px;color:var(--muted);font-size:.78rem;line-height:1.5}.loading-orb{width:50px;height:50px;border-radius:50%;background:conic-gradient(from 30deg,#56e4ff,#1688ff,#785fff,#ff6fbd,#56e4ff);box-shadow:0 0 38px rgba(42,150,255,.25);animation:orbSpin 1.3s linear infinite}@keyframes orbSpin{to{transform:rotate(360deg)}}.os-shell{min-height:var(--vvh);display:grid;grid-template-columns:232px minmax(0,1fr);background:radial-gradient(900px 520px at 40% -10%,rgba(20,104,255,.07),transparent 70%),var(--bg)}.sidebar{position:sticky;top:0;height:var(--vvh);padding:22px 14px;border-right:1px solid rgba(255,255,255,.06);background:rgba(5,8,12,.9);display:flex;flex-direction:column;gap:18px}.sidebar-brand{display:flex;align-items:center;padding:4px 8px 12px}.sidebar-brand img{width:190px;max-width:100%;height:auto;display:block}.sidebar-track{padding:12px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.025)}.sidebar-track span{display:block;color:var(--muted2);font-size:.58rem;font-weight:900;letter-spacing:.11em}.sidebar-track b{display:block;margin-top:4px;font-size:.78rem}.nav-list{display:grid;gap:5px}.nav-btn{min-height:46px;padding:0 12px;border:1px solid transparent;border-radius:14px;background:transparent;color:#8793a4;display:flex;align-items:center;gap:10px;text-align:left;font-weight:770;font-size:.76rem}.nav-btn svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.8}.nav-btn.active{color:#e8f6ff;background:linear-gradient(135deg,rgba(20,139,255,.12),rgba(112,95,255,.08));border-color:rgba(103,220,255,.14)}.sidebar-bottom{margin-top:auto;display:grid;gap:8px}.account-chip{padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.022);color:#8c98a8;font-size:.65rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signout-btn{min-height:40px;border:0;border-radius:12px;background:transparent;color:#727f91;text-align:left;font-weight:720;font-size:.68rem}.app-main{min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr)}.topbar{position:sticky;top:0;z-index:40;min-height:68px;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(255,255,255,.055);background:rgba(5,7,11,.88);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.topbar-title span{display:block;color:var(--cyan);font-size:.58rem;font-weight:900;letter-spacing:.1em}.topbar-title h1{margin:3px 0 0;font-size:1.05rem;letter-spacing:-.02em}.topbar-actions{display:flex;gap:8px}.pill-btn,.ghost-btn,.primary-btn{min-height:42px;padding:0 14px;border-radius:13px;font-weight:800;font-size:.7rem}.pill-btn,.ghost-btn{border:1px solid var(--line);background:rgba(255,255,255,.025);color:#d1dae6}.primary-btn{border:0;background:linear-gradient(120deg,#168cff,#4779ff 60%,#755fff);color:#fff;box-shadow:0 12px 30px rgba(33,118,255,.18)}.content{min-width:0;padding:28px 26px 90px}.view{display:grid;gap:18px;max-width:1220px;margin:0 auto}.eyebrow{color:var(--cyan);font-size:.61rem;font-weight:900;letter-spacing:.12em}.page-intro{display:flex;justify-content:space-between;gap:18px;align-items:flex-end}.page-intro h2{margin:6px 0 5px;font-size:clamp(2rem,4vw,4rem);letter-spacing:-.06em;line-height:.94}.page-intro p{max-width:660px;margin:0;color:var(--muted);line-height:1.55}.hero-card,.panel-card{border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(500px 300px at 0 0,rgba(22,139,255,.09),transparent 70%),linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.014));box-shadow:var(--shadow)}.mission-card{padding:24px;display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:22px}.mission-copy h3{margin:7px 0 8px;font-size:clamp(2rem,4vw,3.6rem);letter-spacing:-.055em;line-height:.98}.mission-copy>p{max-width:720px;margin:0;color:#9aa6b7;line-height:1.55}.mission-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.metric-chip{padding:8px 10px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.024);color:#a7b3c3;font-size:.64rem}.mission-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.mission-score{display:grid;place-content:center;text-align:center;border:1px solid rgba(103,220,255,.13);border-radius:20px;background:rgba(5,10,17,.54)}.mission-score span{color:var(--muted2);font-size:.58rem;font-weight:850;letter-spacing:.1em}.mission-score strong{font-size:3.6rem;letter-spacing:-.07em;line-height:1;margin:8px 0;color:#f4f9ff}.mission-score small{color:#6d7b90;font-size:.65rem}.action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.action-card{padding:18px;border:1px solid var(--line);border-radius:19px;background:rgba(255,255,255,.02)}.action-card span{color:var(--cyan);font-size:.58rem;font-weight:900;letter-spacing:.1em}.action-card h3{margin:8px 0 6px;font-size:1rem}.action-card p{margin:0;color:#7f8b9d;font-size:.72rem;line-height:1.45}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.stat-card{padding:17px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.018)}.stat-card strong{display:block;font-size:1.5rem;letter-spacing:-.04em}.stat-card span{display:block;margin-top:4px;color:#687487;font-size:.62rem}.library-toolbar{display:flex;gap:10px;flex-wrap:wrap}.search-box{flex:1;min-width:220px;display:flex;align-items:center;min-height:46px;border:1px solid var(--line);border-radius:14px;background:#070a0f}.search-box input{width:100%;height:44px;padding:0 14px;border:0;background:transparent;color:#fff;outline:0;font-size:16px}.select-box{min-height:46px;padding:0 34px 0 12px;border:1px solid var(--line);border-radius:14px;background:#070a0f;color:#c5d0de}.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.topic-card{overflow:hidden;border:1px solid var(--line);border-radius:19px;background:#090c12;text-align:left;color:#fff;padding:0}.topic-thumb{aspect-ratio:16/9;background:#020408;overflow:hidden}.topic-thumb img{display:block;width:100%;height:100%;object-fit:contain}.topic-body{padding:14px}.topic-body small{display:block;color:#77869a;font-size:.58rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topic-body strong{display:block;margin-top:5px;font-size:.87rem;line-height:1.25}.topic-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;color:#6b7a8e;font-size:.58rem}.topic-state{padding:5px 7px;border-radius:999px;background:rgba(255,255,255,.035)}.topic-state.secure{color:#83ebbb;background:rgba(72,221,160,.07)}.fix-list,.progress-list{display:grid;gap:10px}.list-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.018)}.list-row .num{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:rgba(255,179,81,.08);color:#ffc77c;font-weight:850;font-size:.72rem}.list-row strong{display:block;font-size:.8rem}.list-row small{display:block;margin-top:3px;color:#6e7b8d;font-size:.61rem}.exam-card{padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid{display:grid;gap:13px}.field{display:grid;gap:7px}.field span{color:#a7b3c3;font-size:.66rem;font-weight:800}.field input,.field select{min-height:48px;padding:0 13px;border:1px solid var(--line);border-radius:14px;background:#070a0f;color:#fff;font-size:16px}.exam-summary{padding:18px;border:1px solid rgba(103,220,255,.13);border-radius:18px;background:rgba(103,220,255,.035)}.exam-summary strong{display:block;font-size:2.8rem;letter-spacing:-.06em}.exam-summary span{color:#738297;font-size:.67rem}.mobile-nav{display:none}.toast-region{position:fixed;z-index:5000;right:18px;bottom:18px;display:grid;gap:8px;pointer-events:none}.toast{padding:11px 14px;border:1px solid var(--line);border-radius:13px;background:rgba(10,15,23,.96);box-shadow:0 16px 48px rgba(0,0,0,.4);color:#dbe5f1;font-size:.7rem;opacity:0;transform:translateY(8px);animation:toastIn .2s ease forwards}@keyframes toastIn{to{opacity:1;transform:none}}
/* Mission queue */.modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.68);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.modal[hidden]{display:none}.modal-card{width:min(720px,100%);max-height:min(82dvh,820px);overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr);border:1px solid var(--line);border-radius:25px;background:#090d14;box-shadow:0 40px 140px rgba(0,0,0,.6)}.modal-head{padding:18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.modal-head h2{margin:4px 0 0;font-size:1.3rem}.icon-btn{width:42px;height:42px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.025);color:#fff;display:grid;place-items:center}.queue-list{padding:10px;overflow:auto}.queue-item{width:100%;display:grid;grid-template-columns:38px 88px minmax(0,1fr) auto;gap:11px;align-items:center;padding:10px;border:0;border-bottom:1px solid rgba(255,255,255,.055);background:transparent;color:#fff;text-align:left}.queue-item:last-child{border-bottom:0}.queue-index{width:32px;height:32px;border-radius:10px;background:rgba(103,220,255,.07);color:#8ae8ff;display:grid;place-items:center;font-size:.66rem;font-weight:850}.queue-item img{width:88px;aspect-ratio:16/9;object-fit:contain;background:#020408;border-radius:8px}.queue-item strong{display:block;font-size:.78rem}.queue-item small{display:block;margin-top:3px;color:#6f7c8d;font-size:.59rem}.queue-item em{font-style:normal;color:#6e7b8e;font-size:.58rem}
/* Viewer */.viewer{position:fixed;inset:0;z-index:2000;background:#000;display:grid;grid-template-rows:auto minmax(0,1fr) auto;--ai-width:360px;--rail-w:88px}.viewer[hidden]{display:none}.viewer-top{min-height:58px;padding:max(8px,var(--safe-t)) max(10px,var(--safe-r)) 8px max(10px,var(--safe-l));display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;border-bottom:1px solid rgba(255,255,255,.06);background:#05070a;z-index:8}.viewer-title{min-width:0;text-align:center}.viewer-title span{display:block;color:var(--cyan);font-size:.52rem;font-weight:900;letter-spacing:.08em}.viewer-title strong{display:block;margin-top:2px;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exit-btn{min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:13px;background:#0a0e14;color:#e8eef7;font-size:.67rem;font-weight:800}.focus-timer{position:relative;min-width:220px;height:42px;overflow:hidden;border:1px solid rgba(103,220,255,.18);border-radius:14px;background:#08101a;display:grid;grid-template-columns:auto auto minmax(20px,1fr) auto auto;gap:8px;align-items:center;padding:0 7px 0 12px}.focus-timer[hidden]{display:none}.focus-timer::before{content:"";position:absolute;inset:0 auto 0 0;width:var(--progress,0%);background:linear-gradient(90deg,rgba(42,214,255,.16),rgba(34,129,255,.14),rgba(116,89,255,.14));pointer-events:none}.focus-timer::after{content:"";position:absolute;left:0;bottom:0;width:var(--progress,0%);height:3px;background:linear-gradient(90deg,#36e0ff,#1689ff,#765fff,#ff65b8,#ff9a45);box-shadow:0 0 18px rgba(68,158,255,.45)}.focus-timer span,.focus-timer strong,.focus-timer small,.focus-timer button{position:relative;z-index:1}.focus-timer span{color:#7be6ff;font-size:.51rem;font-weight:900;letter-spacing:.11em}.focus-timer strong{font-size:.87rem}.focus-timer small{color:#6b7b91;font-size:.54rem}.timer-btn{height:32px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.035);color:#d8e1ec;font-size:.57rem;font-weight:800}.viewer-body{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) var(--rail-w);background:#000}.viewer.ai-open .viewer-body{grid-template-columns:minmax(0,1fr) var(--ai-width) var(--rail-w)}.slide-zone{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;padding:8px 8px 0}.slide-viewport{position:relative;min-width:0;min-height:0;overflow:hidden;display:grid;place-items:center;background:radial-gradient(700px 400px at 50% 50%,rgba(12,72,130,.06),transparent 72%),#000;touch-action:none;user-select:none;-webkit-user-select:none}.slide-image,.slide-preview{position:absolute;max-width:none;max-height:none;width:auto;height:auto;object-fit:contain;transform-origin:center;will-change:transform;pointer-events:none}.slide-preview{opacity:.28;filter:blur(4px)}.slide-image{opacity:0;transition:opacity .18s ease}.slide-image.loaded{opacity:1}.slide-loader{position:absolute;display:flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid var(--line);border-radius:13px;background:rgba(6,10,16,.88);color:#8d9db2;font-size:.62rem}.slide-loader[hidden]{display:none}.slide-error{position:absolute;max-width:420px;padding:16px;border:1px solid rgba(255,102,117,.18);border-radius:17px;background:rgba(25,8,12,.9);text-align:center}.slide-error[hidden]{display:none}.slide-error strong{display:block}.slide-error span{display:block;margin-top:5px;color:#a99ba1;font-size:.67rem;line-height:1.45}.fit-btn{position:absolute;top:9px;right:9px;width:40px;height:40px;border:1px solid var(--line);border-radius:13px;background:rgba(7,12,18,.8);color:#d7e4f2;display:grid;place-items:center;opacity:.78}.pathway-bar{min-height:48px;margin:7px 0 5px;padding:7px 10px;border:1px solid rgba(103,220,255,.14);border-radius:15px;background:linear-gradient(135deg,rgba(8,19,32,.95),rgba(12,9,25,.95));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;color:#fff;text-align:left}.pathway-bar[hidden]{display:none}.pathway-bar span{display:block;color:var(--cyan);font-size:.49rem;font-weight:900;letter-spacing:.11em}.pathway-bar strong{display:block;margin-top:2px;font-size:.69rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.path-stages{display:flex;align-items:center;gap:5px}.path-stage{padding:5px 7px;border-radius:9px;background:rgba(255,255,255,.03);color:#768397;font-size:.52rem}.path-stage.current{color:#bfeeff;background:rgba(20,139,255,.10);box-shadow:inset 0 0 0 1px rgba(103,220,255,.16)}.chunk-rail{width:var(--rail-w);padding:7px 6px max(7px,var(--safe-b));border-left:1px solid rgba(255,255,255,.06);background:#05070a;display:flex;flex-direction:column;gap:5px;overflow:auto;scrollbar-width:none}.chunk-rail::-webkit-scrollbar{display:none}.chunk-btn,.ai-launch{min-height:46px;border:1px solid transparent;border-radius:12px;background:transparent;color:#697588;display:grid;place-items:center;gap:2px;padding:5px;font-size:.50rem;font-weight:800}.chunk-btn b{width:21px;height:21px;border-radius:8px;display:grid;place-items:center;background:rgba(255,255,255,.045);color:#aeb8c7;font-size:.57rem}.chunk-btn.active{border-color:rgba(103,220,255,.16);background:rgba(20,139,255,.08);color:#c9efff}.chunk-btn.active b{background:rgba(103,220,255,.12);color:#c9efff}.ai-launch{margin-top:auto;border-color:rgba(114,95,255,.16);background:linear-gradient(145deg,rgba(114,95,255,.09),rgba(20,139,255,.07));color:#e2e9f5}.ai-orb{width:28px;height:28px;border-radius:50%;background:conic-gradient(#5be6ff,#168cff,#725fff,#ff68b8,#5be6ff);box-shadow:0 0 18px rgba(62,145,255,.22)}.viewer-bottom{min-height:58px;padding:7px max(10px,var(--safe-r)) max(7px,var(--safe-b)) max(10px,var(--safe-l));display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;border-top:1px solid rgba(255,255,255,.06);background:#05070a}.nav-arrow{min-height:40px;padding:0 13px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025);color:#cfd8e5;font-weight:800;font-size:.65rem}.rating-group{display:flex;justify-content:center;gap:5px}.rate-btn{min-height:38px;padding:0 10px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.018);color:#778396;font-size:.58rem;font-weight:800}.rate-btn.selected{color:#dff4ff;border-color:rgba(103,220,255,.18);background:rgba(20,139,255,.08)}
/* AI */.ai-panel{min-width:0;min-height:0;border-left:1px solid rgba(255,255,255,.07);background:#070b12;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto}.ai-panel[hidden]{display:none}.ai-head{padding:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line)}.ai-brand{display:flex;align-items:center;gap:9px}.ai-brand .ai-orb{width:32px;height:32px}.ai-brand span{display:block;color:var(--cyan);font-size:.51rem;font-weight:900;letter-spacing:.1em}.ai-brand strong{display:block;margin-top:2px;font-size:.78rem}.ai-controls{display:flex;gap:5px}.ai-controls button{width:36px;height:36px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.025);color:#d3dce8}.ai-context{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.055);color:#7d899b;font-size:.6rem;line-height:1.4}.ai-thread{min-height:0;padding:11px;overflow:auto;display:grid;align-content:start;gap:8px}.ai-msg{max-width:94%;padding:11px 12px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.025)}.ai-msg.user{justify-self:end;background:rgba(20,139,255,.08)}.ai-msg b{display:block;color:#79dfff;font-size:.51rem;letter-spacing:.08em}.ai-msg p{margin:5px 0 0;color:#d3dce8;font-size:.72rem;line-height:1.5;white-space:pre-wrap}.ai-msg small{display:block;margin-top:6px;color:#687589;font-size:.56rem}.ai-fallback{display:grid;gap:7px;margin-top:9px}.ai-fallback a,.ai-fallback button{min-height:38px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.025);color:#dce7f4;text-decoration:none;display:flex;align-items:center;justify-content:center;font-size:.63rem;font-weight:800}.ai-form{padding:10px;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.ai-form textarea{min-height:52px;max-height:92px;resize:none;padding:10px;border:1px solid var(--line);border-radius:13px;background:#05080d;color:#fff;outline:0;font-size:16px}.ai-form button{min-width:64px;border:0;border-radius:12px;background:linear-gradient(135deg,#188cff,#765fff);color:#fff;font-weight:900}.ai-resizer{position:absolute;z-index:15;width:14px;cursor:ew-resize;touch-action:none;left:calc(100% - var(--rail-w) - var(--ai-width) - 7px);top:58px;bottom:58px}.viewer:not(.ai-open) .ai-resizer{display:none}
/* Path modal */.path-modal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:12px}.path-card{padding:13px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.02)}.path-card span{color:#6f7c8e;font-size:.53rem}.path-card strong{display:block;margin-top:4px;font-size:.75rem}.path-link{margin-top:8px;width:100%;min-height:38px;border:1px solid var(--line);border-radius:11px;background:rgba(20,139,255,.05);color:#cdefff;text-align:left;padding:0 10px;font-size:.61rem}.path-link:disabled{opacity:.35}
@media(max-width:1050px){.os-shell{grid-template-columns:200px minmax(0,1fr)}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mission-card{grid-template-columns:1fr 190px}}
@media(max-width:860px){.os-shell{display:block}.sidebar{display:none}.topbar{padding:10px 14px;min-height:60px}.content{padding:20px 14px calc(88px + var(--safe-b))}.mobile-nav{position:fixed;z-index:90;left:max(10px,var(--safe-l));right:max(10px,var(--safe-r));bottom:max(8px,var(--safe-b));display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:5px;border:1px solid var(--line);border-radius:20px;background:rgba(7,10,16,.94);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 20px 60px rgba(0,0,0,.5)}.mobile-nav .nav-btn{min-height:50px;padding:3px 4px;display:grid;place-items:center;gap:2px;font-size:.51rem;text-align:center}.mobile-nav .nav-btn svg{width:18px;height:18px}.mission-card{grid-template-columns:1fr}.mission-score{min-height:120px;place-content:start;padding:16px;text-align:left}.action-grid{grid-template-columns:1fr}.stat-row{grid-template-columns:1fr 1fr}.exam-card{grid-template-columns:1fr}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.viewer-title{display:none}.viewer-top{grid-template-columns:auto minmax(0,1fr)}.viewer-top>.focus-timer{justify-self:end}.focus-timer{min-width:0;width:min(100%,330px)}.viewer-bottom{grid-template-columns:auto minmax(0,1fr) auto}.rating-group{overflow:auto;justify-content:flex-start}.rate-btn{white-space:nowrap}.ai-resizer{display:none!important}}
@media(max-width:600px){.page-intro{align-items:flex-start;flex-direction:column}.page-intro h2{font-size:2.5rem}.topbar-actions .ghost-btn:not(.compact-signout){display:none}.library-grid{grid-template-columns:1fr}.queue-item{grid-template-columns:34px 72px minmax(0,1fr)}.queue-item img{width:72px}.queue-item em{display:none}.modal{padding:0}.modal-card{width:100%;height:var(--vvh);max-height:none;border-radius:0}.mission-card{padding:19px}.stat-row{grid-template-columns:1fr 1fr}}
/* iPhone portrait viewer */
@media(max-width:760px) and (orientation:portrait){.viewer{grid-template-rows:auto minmax(0,1fr) auto}.viewer-top{min-height:58px;padding-top:max(8px,var(--safe-t));grid-template-columns:auto minmax(0,1fr)}.exit-btn{padding:0 10px}.focus-timer{height:44px;width:100%;grid-template-columns:auto auto minmax(8px,1fr) auto auto}.focus-timer small{display:none}.timer-btn{padding:0 8px}.viewer-body,.viewer.ai-open .viewer-body{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.slide-zone{padding:6px 6px 0;min-height:0}.pathway-bar{min-height:46px;margin-bottom:5px}.path-stages{display:none}.chunk-rail{width:auto;max-width:100%;height:54px;padding:4px max(4px,var(--safe-r)) 4px max(4px,var(--safe-l));border-left:0;border-top:1px solid rgba(255,255,255,.06);display:grid;grid-template-columns:repeat(8,minmax(44px,1fr));grid-auto-flow:column;overflow-x:auto;overflow-y:hidden}.chunk-btn,.ai-launch{min-width:44px;min-height:44px;padding:3px}.chunk-btn span,.ai-launch span{display:none}.chunk-btn b{width:22px;height:22px}.ai-launch{margin:0}.ai-orb{width:25px;height:25px}.viewer-bottom{min-height:54px;padding-top:5px}.rate-btn:nth-child(2),.rate-btn:nth-child(4){display:none}.ai-panel{position:fixed;z-index:25;left:max(6px,var(--safe-l));right:max(6px,var(--safe-r));top:max(64px,calc(var(--safe-t) + 58px));bottom:max(6px,var(--safe-b));border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 100px rgba(0,0,0,.68);overflow:hidden}.viewer.ai-open .slide-zone,.viewer.ai-open .chunk-rail{visibility:visible}.ai-resizer{display:none}.fit-btn{width:38px;height:38px}}
/* iPhone/iPad landscape: slide is primary, controls have dedicated rails */
@media(orientation:landscape) and (max-height:680px){.viewer{grid-template-rows:auto minmax(0,1fr);--rail-w:72px}.viewer-bottom{display:none}.viewer-top{min-height:50px;padding-top:max(5px,var(--safe-t));padding-bottom:5px;grid-template-columns:auto minmax(0,1fr) auto}.viewer-title{display:block;text-align:left;padding-left:8px}.viewer-title strong{font-size:.7rem}.focus-timer{height:40px;width:300px;min-width:260px}.timer-btn{height:30px;padding:0 8px}.viewer-body{grid-template-columns:minmax(0,1fr) var(--rail-w)}.viewer.ai-open .viewer-body{grid-template-columns:minmax(0,1fr) min(38vw,350px) var(--rail-w)}.slide-zone{padding:4px 5px 0;grid-template-rows:minmax(0,1fr) auto}.pathway-bar{min-height:38px;margin:4px 0 4px;padding:5px 9px;border-radius:12px}.pathway-bar span{font-size:.44rem}.pathway-bar strong{font-size:.62rem}.path-stage{padding:4px 6px;font-size:.47rem}.chunk-rail{padding:4px 4px max(4px,var(--safe-b));gap:3px}.chunk-btn,.ai-launch{min-height:38px;border-radius:10px;padding:2px}.chunk-btn b{width:19px;height:19px;font-size:.51rem}.chunk-btn span{font-size:.43rem}.ai-orb{width:24px;height:24px}.slide-viewport{touch-action:none}.fit-btn{top:5px;right:5px;width:34px;height:34px}.ai-panel{min-width:0}.ai-head{padding:8px}.ai-brand strong{font-size:.67rem}.ai-context{padding:7px 9px;font-size:.53rem}.ai-thread{padding:8px}.ai-msg p{font-size:.64rem}.ai-form{padding:7px}.ai-form textarea{min-height:42px;max-height:64px}.ai-form button{min-width:54px}.ai-resizer{top:50px;bottom:0}}
@media(orientation:landscape) and (max-height:520px){.viewer-title{display:none}.viewer-top{grid-template-columns:auto minmax(0,1fr)}.focus-timer{justify-self:end;width:280px}.path-stages{display:none}.chunk-btn span{display:none}.chunk-rail{--rail-w:62px}.viewer{--rail-w:62px}.viewer.ai-open .viewer-body{grid-template-columns:minmax(0,1fr) min(40vw,320px) 62px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.viewer{height:var(--vvh);max-height:var(--vvh)}
@media(max-width:760px) and (orientation:portrait){
  .pathway-bar .path-stages{display:none!important}
  .pathway-bar{grid-template-columns:minmax(0,1fr) auto}
  .pathway-bar::after{content:'→';color:#71ddff;font-size:.8rem;font-weight:900;padding-right:4px}
  .chunk-rail .ai-launch .ai-orb{display:block!important}
}
@media(max-width:760px) and (orientation:portrait){
  .viewer{--ai-mobile-height:66dvh}
  .ai-panel{top:auto!important;height:min(var(--ai-mobile-height),calc(var(--vvh) - var(--safe-t) - 76px));max-height:86dvh}
}
/* V8.0.1 — star-tier library search */
.star-tier-select{min-width:190px}
.star-tier-chips{display:flex;align-items:center;gap:7px;overflow-x:auto;padding:1px 0 2px;scrollbar-width:none}
.star-tier-chips::-webkit-scrollbar{display:none}
.star-chip{min-height:36px;padding:0 11px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.018);color:#7f8da1;font-size:.62rem;font-weight:850;white-space:nowrap}
.star-chip span{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:5px;padding:0 5px;border-radius:999px;background:rgba(255,255,255,.045);color:#9cabbd;font-size:.54rem}
.star-chip:hover,.star-chip:focus-visible{border-color:rgba(103,220,255,.22);color:#d8f4ff;outline:none}
.star-chip.active{border-color:rgba(103,220,255,.28);background:linear-gradient(135deg,rgba(20,139,255,.12),rgba(112,95,255,.09));color:#dff5ff;box-shadow:inset 0 0 0 1px rgba(103,220,255,.035)}
.library-result-meta{min-height:26px;display:flex;align-items:center;gap:8px;color:#69778a;font-size:.61rem}
.library-result-meta b{padding:5px 8px;border-radius:999px;background:rgba(255,183,78,.075);color:#ffc77b;font-size:.58rem}
.topic-thumb{position:relative}
.topic-star-badge{position:absolute;top:8px;left:8px;min-width:38px;height:28px;padding:0 8px;display:grid;place-items:center;border:1px solid rgba(255,199,103,.22);border-radius:10px;background:rgba(7,9,13,.86);color:#ffd27e;font-size:.66rem;font-weight:900;box-shadow:0 9px 24px rgba(0,0,0,.32)}
.empty-library-state{padding:28px;text-align:center;display:grid;gap:6px}
.empty-library-state strong{font-size:.9rem}.empty-library-state span{color:#718095;font-size:.68rem}
@media(max-width:600px){.library-toolbar{display:grid;grid-template-columns:1fr}.search-box,.select-box,.star-tier-select{width:100%;min-width:0}.star-tier-chips{margin-inline:-2px}.star-chip{min-height:40px;padding-inline:12px}}

/* V8.0.2 — Personal Today + Exam Day planner */
.welcome-intro h2{max-width:980px}.concise-actions .action-card p{max-width:34rem}
.queue-modal-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px}.queue-modal-title{text-align:center}.queue-back-btn{min-height:42px;padding:0 13px;border:1px solid var(--line);border-radius:13px;background:rgba(103,220,255,.055);color:#dff8ff;display:inline-flex;align-items:center;gap:7px;font-weight:850;font-size:.68rem}.queue-back-btn svg{width:17px;height:17px}.queue-help{padding:10px 18px;border-bottom:1px solid rgba(255,255,255,.05);color:#748296;font-size:.64rem;text-align:center}
.exam-day-view{gap:16px}.exam-cushion{position:relative;overflow:hidden;min-height:310px;padding:28px;border:1px solid rgba(94,206,255,.18);border-radius:28px;background:radial-gradient(620px 340px at 5% 0,rgba(26,142,255,.17),transparent 68%),radial-gradient(440px 300px at 88% 16%,rgba(126,91,255,.13),transparent 70%),linear-gradient(145deg,#090f18,#080b12 58%,#070a10);box-shadow:0 28px 90px rgba(0,0,0,.34);display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:24px;align-items:center}.exam-cushion:after{content:"";position:absolute;inset:auto -10% -58% 38%;height:300px;background:radial-gradient(circle,rgba(70,187,255,.09),transparent 66%);pointer-events:none}.exam-cushion-copy{position:relative;z-index:1}.exam-cushion-copy h3{margin:8px 0 10px;font-size:clamp(2rem,4.1vw,4rem);line-height:.97;letter-spacing:-.06em;max-width:780px}.exam-cushion-copy>p{margin:0;max-width:720px;color:#a4b1c1;line-height:1.55}.exam-reassurance{display:flex;flex-wrap:wrap;gap:8px;margin-top:19px}.exam-reassurance span{padding:8px 10px;border:1px solid rgba(120,211,255,.12);border-radius:999px;background:rgba(108,208,255,.035);color:#a8dff0;font-size:.62rem}.exam-countdown-orb{--coverage:0%;position:relative;width:220px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#56d8ff var(--coverage),rgba(255,255,255,.055) 0);box-shadow:0 0 70px rgba(38,150,255,.12)}.exam-countdown-orb:before{content:"";position:absolute;inset:9px;border-radius:50%;background:radial-gradient(circle at 38% 30%,#111d2e,#080c13 68%);border:1px solid rgba(255,255,255,.08)}.exam-countdown-orb>div{position:relative;z-index:1;text-align:center}.exam-countdown-orb strong{display:block;font-size:4.1rem;line-height:.92;letter-spacing:-.08em}.exam-countdown-orb span{display:block;margin-top:7px;color:#8bdfff;font-size:.65rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.exam-countdown-orb small{display:block;margin-top:12px;color:#718096;font-size:.58rem}
.exam-plan-settings{padding:20px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:18px}.exam-plan-settings .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}.plan-status{padding:18px;border:1px solid rgba(255,184,80,.14);border-radius:18px;background:linear-gradient(145deg,rgba(255,166,55,.06),rgba(255,255,255,.015));display:grid;align-content:center;gap:7px}.plan-status.positive{border-color:rgba(72,221,160,.17);background:linear-gradient(145deg,rgba(72,221,160,.06),rgba(255,255,255,.015))}.plan-status>span{color:#7f90a6;font-size:.58rem;font-weight:900;letter-spacing:.11em}.plan-status strong{font-size:1.05rem;line-height:1.4}.plan-status small{color:#728196;line-height:1.5}
.exam-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.exam-metrics article{padding:17px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.026),rgba(255,255,255,.012))}.exam-metrics span{display:block;color:#718096;font-size:.55rem;font-weight:900;letter-spacing:.09em}.exam-metrics strong{display:block;margin:7px 0 2px;font-size:2.15rem;letter-spacing:-.06em}.exam-metrics small{color:#647185;font-size:.6rem}
.plan-phases,.syllabus-map{padding:22px}.section-heading h3{margin:7px 0 0;font-size:1.55rem;letter-spacing:-.035em}.section-heading p{margin:7px 0 0;color:#738196;font-size:.7rem;line-height:1.5}.phase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:17px}.phase-card{min-height:190px;padding:16px;border:1px solid var(--line);border-radius:18px;background:radial-gradient(260px 160px at 0 0,rgba(74,186,255,.06),transparent 70%),rgba(255,255,255,.012);display:flex;flex-direction:column}.phase-card>span{color:#64d9ff;font-size:.58rem;font-weight:900;letter-spacing:.1em}.phase-card>strong{margin-top:11px;font-size:1rem}.phase-card p{margin:7px 0 0;color:#77869a;font-size:.68rem;line-height:1.45}.phase-card b{margin-top:auto;padding-top:18px;color:#d7e4f3;font-size:.67rem}.phase-card small{margin-top:4px;color:#627085;font-size:.58rem}
.syllabus-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-end}.syllabus-summary-badge{min-width:92px;padding:11px 13px;border:1px solid rgba(103,220,255,.12);border-radius:15px;background:rgba(103,220,255,.035);text-align:center}.syllabus-summary-badge strong{display:block;font-size:1.35rem}.syllabus-summary-badge span{color:#718096;font-size:.55rem}.syllabus-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:17px}.syllabus-row{padding:13px 14px;border:1px solid rgba(255,255,255,.065);border-radius:15px;background:rgba(255,255,255,.014)}.syllabus-row-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.syllabus-row-head strong{display:block;font-size:.72rem;line-height:1.3}.syllabus-row-head small{display:block;margin-top:3px;color:#647287;font-size:.56rem}.syllabus-row-head b{color:#95e9ff;font-size:.65rem}.syllabus-track{height:5px;margin-top:10px;border-radius:999px;background:rgba(255,255,255,.055);overflow:hidden}.syllabus-track i{display:block;width:var(--fill);height:100%;border-radius:inherit;background:linear-gradient(90deg,#27c7ff,#6977ff)}.syllabus-row-foot{display:flex;justify-content:space-between;gap:10px;margin-top:7px;color:#5f6e82;font-size:.53rem}.exam-bottom-cushion{padding:24px;border:1px solid rgba(124,114,255,.14);border-radius:23px;background:radial-gradient(420px 220px at 100% 0,rgba(119,91,255,.09),transparent 72%),linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,.01))}.exam-bottom-cushion h3{margin:8px 0 7px;font-size:1.45rem;letter-spacing:-.035em}.exam-bottom-cushion p{margin:0 0 17px;max-width:800px;color:#78879b;line-height:1.5;font-size:.72rem}
@media(max-width:860px){.exam-cushion{grid-template-columns:minmax(0,1fr) 180px;min-height:260px;padding:22px}.exam-countdown-orb{width:170px}.exam-countdown-orb strong{font-size:3.1rem}.exam-plan-settings{grid-template-columns:1fr}.exam-metrics{grid-template-columns:repeat(2,1fr)}.phase-grid{grid-template-columns:1fr}.phase-card{min-height:0}.syllabus-list{grid-template-columns:1fr}.queue-modal-head{grid-template-columns:auto minmax(0,1fr) auto}.queue-modal-title h2{font-size:1rem}}
@media(max-width:600px){.queue-modal-head{position:sticky;top:0;z-index:3;padding:12px 11px;grid-template-columns:auto minmax(0,1fr)}.queue-back-btn{min-height:44px;padding:0 12px;background:rgba(103,220,255,.09)}.queue-close-icon{display:none}.queue-modal-title{text-align:left}.queue-modal-title .eyebrow{display:none}.queue-modal-title h2{margin:0;font-size:.9rem}.queue-help{text-align:left;padding:9px 13px;position:sticky;top:68px;z-index:2;background:#090d14}.mission-queue-card{grid-template-rows:auto auto minmax(0,1fr)}.exam-cushion{grid-template-columns:1fr;gap:18px;padding:19px;min-height:0}.exam-cushion-copy h3{font-size:2.35rem}.exam-countdown-orb{width:155px;justify-self:center}.exam-reassurance{display:grid;grid-template-columns:1fr}.exam-plan-settings{padding:14px}.exam-plan-settings .form-grid{grid-template-columns:1fr}.exam-metrics{grid-template-columns:1fr 1fr}.exam-metrics strong{font-size:1.75rem}.plan-phases,.syllabus-map{padding:16px}.syllabus-heading{align-items:flex-start}.syllabus-summary-badge{min-width:72px}.exam-bottom-cushion{padding:19px}.welcome-intro h2{font-size:2.25rem}}

/* V8.1.2 — OS hero: plan → repair → recall → review */
.os-hero-intro{align-items:flex-start;padding:8px 0 4px}.os-hero-intro>div{max-width:920px}.os-hero-intro h2{max-width:900px;font-size:clamp(2.55rem,5.2vw,5.2rem);line-height:.94;letter-spacing:-.065em}.os-hero-intro h2 .os-hero-accent{color:var(--cyan)}.os-hero-intro p{max-width:820px;font-size:.82rem}.os-hero-intro p strong{color:#eef8ff}.os-hero-loop{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:16px;color:#6d7d92;font-size:.58rem;font-weight:900;letter-spacing:.12em}.os-hero-loop span{padding:7px 9px;border:1px solid rgba(103,220,255,.12);border-radius:999px;background:rgba(103,220,255,.035);color:#9ceaff}.os-hero-loop i{font-style:normal;color:#526276}@media(max-width:700px){.os-hero-intro h2{font-size:clamp(2.25rem,11vw,4rem)}.os-hero-intro p{font-size:.76rem}.os-hero-loop{gap:6px}.os-hero-loop span{padding:6px 8px}}

/* V8.1.5 — Spence AI grounded visual answers + explicit ChatGPT handoff */
.ai-external{padding:8px 11px;border-bottom:1px solid rgba(255,255,255,.055)}
.ai-external button{width:100%;min-height:46px;text-align:left;padding:9px 11px;border:1px solid rgba(70,170,255,.28);border-radius:12px;background:linear-gradient(135deg,rgba(20,139,255,.12),rgba(118,95,255,.09));color:#edf7ff;cursor:pointer}
.ai-external b{display:block;color:#8be7ff;font-size:.68rem}
.ai-external span{display:block;margin-top:3px;color:#8797aa;font-size:.55rem;line-height:1.35}
.ai-handoff{border-color:rgba(70,170,255,.22)}
.ai-fallback .chatgpt-primary{border-color:rgba(80,196,255,.55);background:linear-gradient(135deg,#147ce5,#6557ef);color:#fff}
