@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&family=Barlow+Condensed:wght@400;600;700;900&family=Barlow:wght@400;500;600&display=swap";:root{--bg: #05080e;--s1: rgba(10, 16, 24, .82);--s2: rgba(15, 26, 38, .72);--s3: rgba(22, 32, 48, .82);--border: rgba(73, 116, 154, .22);--b2: rgba(91, 137, 176, .34);--cyan: #00d4ff;--cd: rgba(0, 212, 255, .1);--cg: rgba(0, 212, 255, .25);--green: #00e87a;--gd: rgba(0, 232, 122, .1);--gg: rgba(0, 232, 122, .3);--red: #ff3355;--rd: rgba(255, 51, 85, .1);--rg: rgba(255, 51, 85, .3);--orange: #ff8c42;--od: rgba(255, 140, 66, .1);--gold: #ffc845;--pur: #a78bfa;--text: #cce4f5;--muted: #3d5a78;--m2: #56789a;--r: 8px;--shadow: 0 18px 52px rgba(0, 0, 0, .28)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}@media(hover:none){.tab:hover,.btn:hover,.qopt:hover,.fcnavbtn:hover,.fcfilter:hover,.quiz-filter-button:hover{background:revert;border-color:revert;color:revert}}html{overflow-x:hidden}body{background:var(--bg);color:var(--text);font-family:Barlow,sans-serif;min-height:100vh;overflow-x:hidden}body.modal-open{overflow:hidden}body:before{content:"";position:fixed;inset:0;background-image:radial-gradient(circle at 50% -12rem,rgba(0,212,255,.13),transparent 38rem),radial-gradient(circle at 80% 8rem,rgba(0,232,122,.06),transparent 30rem),linear-gradient(rgba(0,212,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(0,212,255,.018) 1px,transparent 1px);background-size:100% 100%,100% 100%,72px 72px,72px 72px;pointer-events:none;z-index:0}.wrap{position:relative;z-index:1;max-width:1100px;margin:0 auto;padding:12px}@media(min-width:480px){.wrap{padding:20px}}.app-shell{margin-top:10px;margin-bottom:28px;border:1px solid rgba(73,116,154,.18);border-radius:16px;background:#05080e94;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}[hidden]{display:none!important}.launch{position:relative;z-index:1;min-height:100vh;display:grid;place-items:center;padding:18px}.launch-panel{width:min(920px,100%);background:#0a1018f0;border:1px solid var(--border);border-radius:var(--r);padding:26px;box-shadow:0 26px 80px #00000052}.launch-ey{font-family:IBM Plex Mono,monospace;font-size:10px;color:var(--green);text-transform:uppercase;letter-spacing:3px;margin-bottom:8px}.launch-title{font-family:Barlow Condensed,sans-serif;font-size:clamp(34px,7vw,70px);font-weight:900;line-height:.95;color:var(--text);letter-spacing:0;text-transform:uppercase;margin-bottom:10px}.launch-copy{font-size:15px;line-height:1.6;color:var(--m2);max-width:700px}.launch-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:18px 0}.course-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;margin-top:14px}.course-choice{background:var(--s2);border:1px solid var(--border);border-radius:var(--r);padding:14px;text-align:left;color:var(--text);cursor:pointer;display:grid;gap:6px;transition:border-color .18s,background .18s,transform .18s;font-family:Barlow,sans-serif}.course-choice:hover{border-color:var(--green);background:var(--gd);transform:translateY(-1px)}.course-choice strong{font-family:Barlow Condensed,sans-serif;font-size:28px;font-weight:900;line-height:1;color:var(--text)}.course-choice span{font-size:13px;color:var(--m2)}.course-choice small{font-family:IBM Plex Mono,monospace;font-size:9px;color:var(--gold);text-transform:uppercase;letter-spacing:1px}.course-progress{font-family:IBM Plex Mono,monospace;font-size:9px!important;color:var(--cyan)!important;text-transform:uppercase;letter-spacing:1px}.course-choice em{font-style:normal;font-size:13px;line-height:1.45;color:var(--text)}.completed-section{margin-top:18px}.completed-toggle{display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;padding:6px 0;color:var(--m2);font-family:IBM Plex Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:2px;margin-bottom:10px}.completed-toggle:hover{color:var(--gold)}.completed-count{background:#ffc8451f;border:1px solid rgba(255,200,69,.3);border-radius:4px;padding:1px 6px;color:var(--gold);font-size:9px}.completed-chevron{font-size:16px;line-height:1;display:inline-block;transition:transform .2s}.completed-chevron.open{transform:rotate(90deg)}.course-choice.done{border-color:#ffc84533;opacity:.78}.course-choice.done:hover{border-color:var(--gold);background:#ffc8450f;opacity:1;transform:translateY(-1px)}.course-status.passed{color:var(--gold)!important;border-color:#ffc84559!important}.course-status{justify-self:start;font-family:IBM Plex Mono,monospace;font-size:8px!important;color:var(--green)!important;border:1px solid rgba(0,232,122,.35);border-radius:4px;padding:2px 6px;text-transform:uppercase;letter-spacing:1px}header{text-align:center;padding:30px 12px 22px;border-bottom:1px solid rgba(73,116,154,.14);margin-bottom:18px}.ey{font-family:IBM Plex Mono,monospace;font-size:.72rem;letter-spacing:0;color:var(--m2);text-transform:uppercase;margin-bottom:10px}h1{font-family:Barlow Condensed,sans-serif;font-size:3.5rem;font-weight:900;text-transform:uppercase;letter-spacing:0;line-height:1;max-width:720px;margin:0 auto}h1 em{font-style:normal;color:var(--cyan);text-shadow:0 0 18px var(--cg)}.tag{font-family:IBM Plex Mono,monospace;font-size:.68rem;color:var(--m2);margin:10px auto 0;letter-spacing:0;max-width:640px;text-transform:uppercase}.shell-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:14px}.shell-action{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:4px 10px;border:1px solid rgba(139,168,194,.22);border-radius:6px;background:#070e187a;color:var(--m2);cursor:pointer;font-family:IBM Plex Mono,monospace;font-size:.68rem;transition:border-color .16s,background .16s,color .16s}.shell-action:hover{border-color:#00d4ff6b;background:#00d4ff0f;color:var(--text)}.shell-action-sync{display:none;color:var(--cyan)}.shell-action-course{color:var(--gold)}.shell-action-danger{color:#ff3355c7}.auth-label{font-family:IBM Plex Mono,monospace;font-size:.68rem;color:var(--muted);padding:4px 8px}.auth-signout{color:var(--m2);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-signout:hover{color:var(--red);border-color:#f356;background:var(--rd)}.sync-status{font-family:IBM Plex Mono,monospace;font-size:.68rem;color:var(--m2);padding:4px 8px;border:1px solid rgba(139,168,194,.16);border-radius:6px;background:#070e1857}.sync-status.on{color:var(--green)}.sync-status.loading{color:var(--gold)}.sync-status.error{color:var(--red)}.shell-passed-badge,.course-done .ey{color:var(--gold)}.course-done h1 em{color:var(--gold);text-shadow:0 0 18px rgba(255,200,69,.4)}.course-done header{border-bottom-color:#ffc8452e}.course-done .tab.on{background:#ffc8451a;border-color:#ffc8455c;color:var(--gold)}.modal-overlay{position:fixed;inset:0;background:#05080ee0;z-index:999;display:flex;align-items:center;justify-content:center;padding:16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:modal-fade .22s ease;overflow-y:auto}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}.modal-panel{text-align:center;padding:28px 20px;max-width:420px;width:100%;background:#0a1018f7;border:1px solid rgba(73,116,154,.28);border-radius:14px;box-shadow:var(--shadow);display:grid;gap:10px;animation:modal-pop .3s cubic-bezier(.34,1.56,.64,1) .05s both;max-height:calc(100dvh - 32px);overflow-y:auto}@keyframes modal-pop{0%{transform:scale(.86);opacity:0}to{transform:scale(1);opacity:1}}.modal-icon{font-size:48px;line-height:1;font-weight:900}.modal-icon.gold{color:var(--gold);text-shadow:0 0 36px rgba(255,200,69,.6)}.modal-icon.cyan{color:var(--cyan);text-shadow:0 0 36px rgba(0,212,255,.6)}.modal-icon.green{color:var(--green);text-shadow:0 0 36px rgba(0,232,122,.6)}.celebrate-icon{font-size:56px}.modal-panel .modal-title{font-family:Barlow Condensed,sans-serif;font-size:clamp(38px,10vw,58px);font-weight:900;text-transform:uppercase;line-height:1;letter-spacing:2px}.modal-panel .modal-title.gold{color:var(--gold);text-shadow:0 0 40px rgba(255,200,69,.4)}.modal-panel .modal-title.cyan{color:var(--cyan);text-shadow:0 0 40px rgba(0,212,255,.35)}.modal-panel .modal-title.green{color:var(--green);text-shadow:0 0 40px rgba(0,232,122,.4)}.celebrate-huge{font-size:clamp(52px,14vw,80px);letter-spacing:4px}.modal-course{font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--text);text-transform:uppercase;letter-spacing:2px}.modal-hint{font-family:IBM Plex Mono,monospace;font-size:10px;color:var(--m2);text-transform:uppercase;letter-spacing:1px}.modal-body{font-size:13px;line-height:1.6;color:var(--m2);max-width:320px;margin:0 auto}.modal-body strong{color:var(--text)}.modal-panel .modal-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:4px}.modal-btn-gold{background:#ffc8451f;border-color:#ffc84573;color:var(--gold)}.modal-btn-gold:hover{background:#ffc84538;border-color:var(--gold)}.modal-btn-cyan{background:#00d4ff1a;border-color:#00d4ff66;color:var(--cyan)}.modal-btn-cyan:hover{background:#00d4ff2e;border-color:var(--cyan)}.celebrate-gold{border-color:#ffc84566;box-shadow:0 0 80px #ffc8451a,var(--shadow)}@media(max-width:640px){header{padding-top:18px}h1{font-size:2.45rem}.shell-actions{gap:6px}}.hm{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0 18px}@media(min-width:580px){.hm{grid-template-columns:repeat(4,1fr)}}.hmc{background:linear-gradient(180deg,#0f1a26d1,#0a1018c2);border:1px solid rgba(73,116,154,.18);border-radius:var(--r);padding:10px 11px;cursor:pointer;transition:border-color .18s,transform .18s,background .18s}.hmc:hover{border-color:#00d4ff6b;transform:translateY(-1px)}.hmn{font-family:IBM Plex Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:0;color:var(--m2);margin-bottom:4px}.hmb{height:4px;background:var(--border);border-radius:2px;overflow:hidden;margin-bottom:3px}.hmbf{height:100%;border-radius:2px;transition:width .5s,background .5s}.hmp{font-family:IBM Plex Mono,monospace;font-size:10px}.stats{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 6px}.session-actions{display:flex;gap:6px;justify-content:center;margin:6px 0 10px}.session-status{border:1px solid rgba(73,116,154,.16);border-radius:var(--r);color:var(--m2);font-family:IBM Plex Mono,monospace;font-size:9px;margin:0 0 10px;padding:7px 9px;text-align:center;text-transform:uppercase}.session-status.on{background:#00e87a14;border-color:#00e87a42;color:var(--green)}.stat{background:linear-gradient(180deg,#0f1a26c7,#0a1018b3);border:1px solid rgba(73,116,154,.18);border-radius:var(--r);padding:9px 12px;flex:1;min-width:65px;text-align:center}.sv{font-family:Barlow Condensed,sans-serif;font-size:26px;font-weight:900;line-height:1;display:block}.sl{font-family:IBM Plex Mono,monospace;font-size:9px;color:var(--m2);text-transform:uppercase;letter-spacing:0}.sv.c{color:var(--cyan)}.sv.g{color:var(--green)}.sv.r{color:var(--red)}.sv.gold{color:var(--gold)}.stats-life{display:flex;gap:7px;flex-wrap:wrap;margin:4px 0 8px}.stat-life{background:#0f1a2675;border:1px solid rgba(73,116,154,.14);border-radius:var(--r);padding:5px 10px;flex:1;min-width:60px;text-align:center}.svl{font-family:Barlow Condensed,sans-serif;font-size:18px;font-weight:700;line-height:1;display:block;color:var(--m2)}.sll{font-family:IBM Plex Mono,monospace;font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:0}.svl.c{color:#00d4ff99}.svl.g{color:#00e87a99}.svl.r{color:#f359}.svl.gold{color:#ffc84599}.stats-lbl{font-family:IBM Plex Mono,monospace;font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:0;text-align:center;margin-bottom:2px}.accw{background:#0a10189e;border:1px solid rgba(73,116,154,.16);border-radius:var(--r);padding:9px 13px;margin-bottom:11px}.accr{display:flex;justify-content:space-between;margin-bottom:5px}.acl{font-family:IBM Plex Mono,monospace;font-size:9px;color:var(--m2);letter-spacing:0;text-transform:uppercase}.acp{font-family:IBM Plex Mono,monospace;font-size:10px;color:var(--cyan)}.bt{height:4px;background:var(--border);border-radius:2px;overflow:hidden}.bf{height:100%;background:linear-gradient(90deg,var(--cyan),var(--green));border-radius:2px;transition:width .5s;width:0%}.analysis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-bottom:12px}.analysis-card{background:linear-gradient(180deg,#0f1a26bd,#0a1018b3);border:1px solid rgba(73,116,154,.18);border-radius:var(--r);padding:14px}.analysis-card span,.sync-compare span{font-family:IBM Plex Mono,monospace;font-size:9px;color:var(--m2);text-transform:uppercase;letter-spacing:0}.analysis-card strong{display:block;font-family:Barlow Condensed,sans-serif;font-size:28px;font-weight:900;color:var(--text);line-height:1;margin:7px 0}.analysis-card p{font-size:13px;color:var(--m2);line-height:1.45}.analysis-next{align-items:stretch;background:#00d4ff0f;border:1px solid rgba(0,212,255,.2);border-radius:var(--r);display:flex;flex-direction:column;gap:14px;justify-content:space-between;margin-bottom:12px;padding:14px}.analysis-next span{color:var(--cyan);display:block;font-family:IBM Plex Mono,monospace;font-size:9px;margin-bottom:6px;text-transform:uppercase}.analysis-next strong{color:var(--text);display:block;font-family:Barlow Condensed,sans-serif;font-size:24px;line-height:1;text-transform:uppercase}.analysis-next p{color:var(--m2);font-size:13px;line-height:1.45;margin-top:6px}.analysis-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.sync-compare{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.sync-compare div{background:var(--s2);border:1px solid var(--border);border-radius:var(--r);padding:12px}.sync-compare strong{display:block;margin-top:6px;font-size:14px;color:var(--text);line-height:1.4}.sync-options{display:flex;flex-direction:column;gap:8px;margin-top:12px}.sync-option{display:flex;align-items:center;gap:12px}.sync-option button{flex-shrink:0;min-width:130px}.sync-option span{font-size:12px;color:var(--m2);line-height:1.4;text-transform:none;letter-spacing:0}.analysis-actions{justify-content:stretch}.analysis-actions .btn{flex:1}@media(min-width:680px){.analysis-next{align-items:center;flex-direction:row}.analysis-actions{justify-content:flex-end}.analysis-actions .btn{flex:none}}.hm-missed{display:inline-block;background:#f353;border:1px solid rgba(255,51,85,.35);border-radius:3px;font-family:IBM Plex Mono,monospace;font-size:8px;color:var(--red);padding:1px 5px;margin-top:3px}.modal-bg{position:fixed;inset:0;background:#000000b3;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;overscroll-behavior:contain}.modal{background:var(--s1);border:1px solid var(--border);border-radius:10px;padding:20px;max-width:420px;width:100%;max-height:80vh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.modal-title{font-family:Barlow Condensed,sans-serif;font-size:22px;font-weight:900;color:var(--cyan);margin-bottom:14px}.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.modal-stat{background:var(--s2);border:1px solid var(--border);border-radius:var(--r);padding:9px 12px;text-align:center}.modal-stat .n{font-family:Barlow Condensed,sans-serif;font-size:24px;font-weight:900}.modal-stat .l{font-family:IBM Plex Mono,monospace;font-size:9px;color:var(--m2);text-transform:uppercase}.modal-missed-title{font-family:IBM Plex Mono,monospace;font-size:10px;color:var(--red);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.modal-mq{background:var(--s2);border:1px solid var(--border);border-radius:6px;padding:9px 11px;margin-bottom:6px;font-size:12px}.modal-mq-q{color:var(--text);margin-bottom:4px;line-height:1.4}.modal-mq-a{color:var(--green);font-size:11px}.modal-actions{display:flex;gap:7px;margin-top:14px;flex-wrap:wrap}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.modal-close{background:transparent;border:none;color:var(--m2);cursor:pointer;font-size:1.4rem;line-height:1;padding:2px 6px}.modal-close:hover{color:var(--text)}.tabs{display:flex;gap:4px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:18px 0;padding:6px;background:#070e187a;border:1px solid rgba(73,116,154,.18);border-radius:10px;-webkit-mask-image:linear-gradient(to right,black 82%,transparent 100%);mask-image:linear-gradient(to right,black 82%,transparent 100%)}.tabs::-webkit-scrollbar{display:none}.tab{background:transparent;border:1px solid transparent;color:var(--m2);padding:8px 10px;border-radius:6px;cursor:pointer;font-family:Barlow Condensed,sans-serif;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;transition:all .18s;flex:1 1 0;min-width:76px;white-space:nowrap;text-align:center;min-height:38px}@media(min-width:680px){.tabs{flex-wrap:wrap;overflow-x:visible;-webkit-mask-image:none;mask-image:none}.tab{flex:1;min-width:120px;min-height:auto;font-size:13px;letter-spacing:0;padding:9px 14px}}.tab:hover{border-color:#5b89b04d;color:var(--text);background:#ffffff08}.tab.on{background:#00d4ff1a;border-color:#00d4ff5c;color:var(--cyan)}.tab:focus-visible,.btn:focus-visible,.qf:focus-visible,.fcfilter:focus-visible,.fcnavbtn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.panel{display:none}.panel.on{display:block;animation:panelIn .18s ease-out}@keyframes panelIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.co{border-radius:var(--r);padding:11px 13px;margin:8px 0;font-size:13px;line-height:1.6}.co-o{background:var(--od);border:1px solid rgba(255,140,66,.3);color:#ffc49a}.co-b{background:var(--cd);border:1px solid rgba(0,212,255,.2);color:#a8d8ef}.co-r{background:var(--rd);border:1px solid rgba(255,51,85,.3);color:#ffa0b0}.co-g{background:var(--gd);border:1px solid rgba(0,232,122,.25);color:#80f5c0}.guide-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;background:linear-gradient(180deg,#0f1a26c2,#0a1018b8);border:1px solid rgba(73,116,154,.18);border-radius:10px;padding:18px;margin-bottom:12px}.guide-ey{font-family:IBM Plex Mono,monospace;font-size:9px;color:var(--cyan);text-transform:uppercase;letter-spacing:0;margin-bottom:5px}.guide-title{font-family:Barlow Condensed,sans-serif;font-size:28px;font-weight:900;color:var(--text);line-height:1}.guide-sub{font-size:13px;color:var(--m2);line-height:1.5;margin-top:6px;max-width:680px}.guide-meta{font-family:IBM Plex Mono,monospace;font-size:10px;color:var(--gold);white-space:nowrap}.study-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:12px}.study-card{background:linear-gradient(180deg,#0f1a26b8,#0a1018b8);border:1px solid rgba(73,116,154,.18);border-top:2px solid var(--cyan);border-left:1px solid rgba(73,116,154,.18);border-radius:var(--r);padding:15px;display:flex;flex-direction:column;gap:9px}.study-card.critical{border-top-color:var(--red)}.study-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-family:IBM Plex Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:0}.study-priority{color:var(--orange)}.study-card.critical .study-priority{color:var(--red)}.study-count{color:var(--m2)}.study-card h2{font-family:Barlow Condensed,sans-serif;font-size:21px;font-weight:900;line-height:1.05;color:var(--text)}.study-card p{font-size:13px;line-height:1.55;color:var(--m2)}.study-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto}.study-modal{max-width:720px}.study-modal-priority{font-family:IBM Plex Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--gold);margin-top:-8px;margin-bottom:12px}.study-modal-summary{font-size:14px;line-height:1.6;color:var(--text);margin-bottom:12px}.study-modal-block{background:#0f1a26ad;border:1px solid rgba(73,116,154,.18);border-radius:var(--r);padding:11px 13px;margin-bottom:9px}.study-modal-block h3{font-family:IBM Plex Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:0;color:var(--cyan);margin-bottom:7px}.study-modal-block ul{padding-left:18px;display:grid;gap:5px}.study-modal-block li{font-size:13px;line-height:1.45;color:var(--text)}.study-example{display:grid;gap:7px;margin-top:9px}.study-example:first-of-type{margin-top:0}.study-example-title{font-size:12px;font-weight:700;color:var(--text)}.study-example pre{margin:0;overflow-x:auto;background:#03070cb8;border:1px solid rgba(73,116,154,.2);border-radius:6px;padding:10px}.study-example code{font-family:IBM Plex Mono,monospace;font-size:12px;line-height:1.5;color:#d8f4ff}.study-example p{font-size:12px;line-height:1.5;color:var(--m2)}.badge{font-size:9px;font-family:IBM Plex Mono,monospace;padding:2px 7px;border-radius:3px}.br{background:#f353;color:var(--red);border:1px solid rgba(255,51,85,.3)}.bo{background:#ff8c4226;color:var(--orange);border:1px solid rgba(255,140,66,.3)}.bc{background:var(--cd);color:var(--cyan);border:1px solid rgba(0,212,255,.2)}.csg{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.csb{background:linear-gradient(180deg,#0f1a26b3,#0a1018b3);border:1px solid rgba(73,116,154,.18);border-radius:var(--r);padding:12px}.csh{font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:0;color:var(--text);border-bottom:1px solid rgba(73,116,154,.16);padding-bottom:6px;margin-bottom:8px}.csr{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.csk{font-family:IBM Plex Mono,monospace;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--orange)}.cshot{color:var(--red)}.csv-wrap{min-width:0}.cs-text{font-size:13px;color:var(--m2);line-height:1.55}.cs-code{max-width:100%;font-family:IBM Plex Mono,monospace;font-size:12px;background:#05080e99;border:1px solid rgba(0,212,255,.14);border-radius:5px;padding:7px 10px;color:var(--cyan);white-space:pre;overflow-x:auto;margin:0;line-height:1.6}.quiz-start-state{text-align:center;padding:40px 16px}.qs-title{font-family:Barlow Condensed,sans-serif;font-size:1.6rem;font-weight:700;text-transform:uppercase;margin-bottom:10px}.qs-copy{color:var(--m2);font-size:.88rem;line-height:1.6;max-width:420px;margin:0 auto 22px}.qs-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.session-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.empty-pool{text-align:center;padding:40px 16px;color:var(--m2);font-size:.9rem}.quiz-filters{display:grid;gap:9px;grid-template-columns:1fr;margin-bottom:12px;align-items:center}.filter-group,.filter-group-difficulty{min-width:0}.filter-label{color:var(--m2);font-family:IBM Plex Mono,monospace;font-size:9px;margin-bottom:5px;text-transform:uppercase}.filter-scroll{display:flex;gap:6px;overflow-x:auto;padding-bottom:3px;scrollbar-color:rgba(73,116,154,.42) transparent;scrollbar-width:thin}.qf{background:#0a101899;border:1px solid rgba(73,116,154,.2);color:var(--m2);padding:7px 10px;min-height:34px;border-radius:4px;cursor:pointer;font-family:IBM Plex Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:0;transition:all .15s}.quiz-filter-button{flex:0 0 auto}.qf:hover,.qf.on{background:var(--cd);border-color:var(--cyan);color:var(--cyan)}.qf.drill{border-color:var(--red);color:var(--red);background:var(--rd)}.qf.timed{border-color:var(--gold);color:var(--gold);background:#ffc84512}.qf.mock{border-color:var(--pur);color:var(--pur);background:#a78bfa12}.kbh{font-family:IBM Plex Mono,monospace;font-size:9px;color:var(--muted);display:none;gap:4px;align-items:center;grid-column:1 / -1;justify-content:flex-end;margin-top:-4px}kbd{background:var(--s2);border:1px solid var(--b2);border-radius:3px;padding:1px 5px;font-size:9px;color:var(--m2)}.qcard{background:linear-gradient(180deg,#0f1a26c7,#0a1018bd);border:1px solid rgba(73,116,154,.18);border-radius:10px;padding:16px;touch-action:pan-y;transition:border-color .2s,opacity .2s,transform .42s ease}.qcard.qcard-swiping{border-color:#00d4ff5c}.qcard.swipe-left{opacity:.72;transform:translate(-18px)}.qcard.swipe-right{opacity:.72;transform:translate(18px)}.qcard.drill-card{border-color:#ff335557}.drill-mode-banner{align-items:center;background:#ff33551a;border:1px solid rgba(255,51,85,.28);border-radius:var(--r);display:flex;gap:10px;justify-content:space-between;margin-bottom:10px;padding:10px 12px}.drill-mode-banner strong{color:var(--red);font-family:Barlow Condensed,sans-serif;font-size:18px;text-transform:uppercase}.drill-mode-banner span{color:var(--m2);font-size:12px;line-height:1.35;text-align:right}.qmeta{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px}.qtopic{font-family:IBM Plex Mono,monospace;font-size:10px;color:var(--cyan);text-transform:uppercase;letter-spacing:0}.qright{display:flex;align-items:center;gap:9px}.flag-question-btn{border:1px solid rgba(255,200,69,.28);border-radius:6px;background:#ffc8450f;color:var(--gold);cursor:pointer;font-family:IBM Plex Mono,monospace;font-size:.62rem;padding:3px 7px;text-transform:uppercase;touch-action:manipulation}.flag-question-btn.on{background:#ffc84524;border-color:#ffc8457a;color:var(--text)}.flag-label{display:block;color:var(--m2);font-family:IBM Plex Mono,monospace;font-size:.68rem;margin-bottom:7px;text-transform:uppercase}.flag-comment{width:100%;resize:vertical;border:1px solid rgba(73,116,154,.24);border-radius:var(--r);background:#05080e94;color:var(--text);font-family:Barlow,sans-serif;font-size:1rem;line-height:1.45;padding:10px 11px}.qcnt{font-family:IBM Plex Mono,monospace;font-size:10px;color:var(--m2)}.tbadge{font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--gold);background:#ffc8451a;border:1px solid rgba(255,200,69,.3);border-radius:4px;padding:2px 8px;display:none}.tbadge.on{display:inline-block}.tbadge.urg{color:var(--red);background:var(--rd);border-color:#f356;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.qtext{font-size:16px;font-weight:500;line-height:1.65;margin-bottom:15px}.qopts{display:grid;gap:8px}.qopt{background:#0f1a26a8;border:1px solid rgba(73,116,154,.2);border-radius:var(--r);padding:10px 13px;min-height:48px;cursor:pointer;font-size:13px;text-align:left;white-space:normal;color:var(--text);transition:all .13s;font-family:Barlow,sans-serif;width:100%;display:flex;gap:10px;align-items:flex-start;touch-action:manipulation}.qopt:hover:not(:disabled){border-color:#00d4ff6b;background:#00d4ff14}.qopt:disabled{cursor:default}.qopt.swipe-disabled{pointer-events:none}.qopt.ok{border-color:var(--green)!important;background:var(--gd)!important;color:var(--green)!important}.qopt.bad{border-color:var(--red)!important;background:var(--rd)!important;color:var(--red)!important}.ok{border-color:var(--green)!important;background:var(--gd)!important;color:var(--green)!important}.bad{border-color:var(--red)!important;background:var(--rd)!important;color:var(--red)!important}.okey{font-family:IBM Plex Mono,monospace;font-size:10px;opacity:.55;flex-shrink:0;margin-top:1px}.qfb{margin-top:11px;padding:13px 14px;border-radius:var(--r);font-size:13px;line-height:1.6;display:none}.qfb.on{display:block}.qfb.ok{background:var(--gd);border:1px solid rgba(0,232,122,.25);color:#80f5c0}.qfb.bad{background:var(--rd);border:1px solid rgba(255,51,85,.25);color:#fab}.answer-review{margin-top:12px;padding-top:10px;border-top:1px solid rgba(139,168,194,.18)}.answer-review>strong{color:var(--text);display:block;font-family:IBM Plex Mono,monospace;font-size:10px;margin-bottom:7px;text-transform:uppercase}.answer-review-correct p{color:var(--text);line-height:1.6}.answer-review ul{display:grid;gap:7px;margin-top:8px;padding-left:18px}.answer-review li{color:var(--text)}.flag-review{margin-top:14px}.flag-review-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.flag-review-title{color:var(--gold);font-family:IBM Plex Mono,monospace;font-size:.72rem;text-transform:uppercase}.flag-review-list{display:grid;gap:9px}.flag-review-item{background:#0f1a26a3;border:1px solid rgba(255,200,69,.18);border-radius:var(--r);padding:12px}.flag-review-meta{color:var(--gold);font-family:IBM Plex Mono,monospace;font-size:.64rem;margin-bottom:5px;text-transform:uppercase}.flag-review-question{color:var(--text);font-weight:600;line-height:1.45;margin-bottom:7px}.flag-review-comment{color:var(--m2);font-size:.88rem;line-height:1.5;margin-bottom:10px}.qnav{display:flex;justify-content:space-between;align-items:center;margin-top:13px;flex-wrap:wrap;gap:8px}.question-jump{display:flex;align-items:center;gap:7px;margin-inline:auto}.jump-label{align-items:center;color:var(--m2);display:flex;font-family:IBM Plex Mono,monospace;font-size:10px;gap:6px;text-transform:uppercase}.jump-label select{background:#0a1018c2;border:1px solid rgba(73,116,154,.32);border-radius:6px;color:var(--text);font-family:IBM Plex Mono,monospace;font-size:11px;padding:6px 8px}.btn.qstep{padding-inline:11px}.btn:disabled{cursor:not-allowed;opacity:.42}.btn:disabled:hover{background:transparent}.question-map{background:#0a101857;border:1px solid rgba(73,116,154,.16);border-radius:var(--r);margin-top:10px;padding:8px 9px 6px}.qmap-head{align-items:center;color:var(--m2);display:flex;font-family:IBM Plex Mono,monospace;font-size:10px;gap:10px;justify-content:space-between;margin-bottom:6px;text-transform:uppercase}.qmap-head strong{color:var(--gold);font-weight:500}.qmap-grid{display:flex;gap:4px;overflow-x:auto;padding:1px 1px 5px;scrollbar-color:rgba(73,116,154,.5) transparent;scrollbar-width:thin}.qmap-chip{background:#0f1a26a8;border:1px solid rgba(73,116,154,.22);border-radius:6px;color:var(--m2);cursor:pointer;font-family:IBM Plex Mono,monospace;font-size:10px;flex:0 0 30px;min-height:27px;touch-action:manipulation}.qmap-chip.correct{background:#00e87a1a;border-color:#00e87a47;color:var(--green)}.qmap-chip.wrong{background:#ff33551a;border-color:#ff33554d;color:var(--red)}.qmap-chip.current{border-color:var(--cyan);box-shadow:0 0 0 1px #00d4ff4d;color:var(--cyan)}.qmap-chip.flagged:after{color:var(--gold);content:"!";font-weight:700;margin-left:2px}.qmap-chip:disabled{cursor:not-allowed;opacity:.56}.missed-actions{margin-top:10px}.missed-mode-card{align-items:center;background:#ff335512;border:1px solid rgba(255,51,85,.2);border-radius:var(--r);display:flex;gap:12px;justify-content:space-between;padding:10px 12px}.missed-mode-card strong{color:var(--red);display:block;font-family:Barlow Condensed,sans-serif;font-size:16px;text-transform:uppercase}.missed-mode-card span{color:var(--m2);display:block;font-size:12px;line-height:1.35}.missed-mode-buttons{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.btn{background:transparent;border:1px solid var(--cyan);color:var(--cyan);padding:7px 17px;border-radius:6px;cursor:pointer;font-family:Barlow Condensed,sans-serif;font-size:13px;font-weight:700;letter-spacing:0;text-transform:uppercase;transition:all .18s;touch-action:manipulation}.btn:hover{background:var(--cd)}.drill-mode-banner{align-items:flex-start;flex-direction:column}.drill-mode-banner span{text-align:left}.qmeta{align-items:flex-start;gap:8px}.qright{flex-wrap:wrap;justify-content:flex-end}.flag-question-btn,.btn,.jump-label select{min-height:38px}.question-jump{justify-content:center;margin-inline:0;flex-wrap:wrap}.missed-mode-card{align-items:stretch;flex-direction:column}.missed-mode-buttons{justify-content:stretch}.missed-mode-buttons .btn{flex:1}.qmap-chip{flex-basis:33px;min-height:32px}@media(min-width:680px){.quiz-filters{grid-template-columns:minmax(0,1fr) auto;gap:10px}.filter-group-difficulty{min-width:235px}.kbh{display:flex}.qcard{padding:22px}.qf{padding:4px 9px;min-height:unset}.drill-mode-banner{align-items:center;flex-direction:row}.drill-mode-banner span{text-align:right}.qmeta{align-items:center;gap:0}.qright{flex-wrap:nowrap}.question-jump{flex-wrap:nowrap;margin-inline:auto}.missed-mode-card{align-items:center;flex-direction:row}.missed-mode-buttons{justify-content:flex-end}.missed-mode-buttons .btn{flex:none}.qmap-chip{flex-basis:30px;min-height:27px}}.btn.r{border-color:var(--red);color:var(--red)}.btn.r:hover{background:var(--rd)}.btn.g{border-color:var(--green);color:var(--green)}.btn.g:hover{background:var(--gd)}.btn.gold{border-color:var(--gold);color:var(--gold)}.btn.gold:hover{background:#ffc8451a}.btn.pur{border-color:var(--pur);color:var(--pur)}.btn.pur:hover{background:#a78bfa1a}.qsc{font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--gold)}.mock-start{text-align:center;padding:34px 0;background:#0a101861;border:1px solid rgba(73,116,154,.14);border-radius:var(--r)}.mock-start-title{color:var(--text);font-family:Barlow Condensed,sans-serif;font-size:1.55rem;font-weight:700;margin-bottom:8px}.mock-start-copy{color:var(--m2);font-size:.86rem;margin-bottom:20px}.mock-start-button{padding:10px 28px;font-size:1rem}.sumw{background:linear-gradient(180deg,#0f1a26c7,#0a1018bd);border:1px solid rgba(73,116,154,.18);border-radius:10px;padding:22px}.sumh{text-align:center;margin-bottom:16px}.sumt{font-family:Barlow Condensed,sans-serif;font-size:30px;font-weight:900;margin-bottom:4px}.sumt.pass{color:var(--green)}.sumt.fail{color:var(--orange)}.sumst{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin-bottom:16px}.sumst .n{font-family:Barlow Condensed,sans-serif;font-size:24px;font-weight:900}.sumst .l{font-family:IBM Plex Mono,monospace;font-size:9px;color:var(--m2);text-transform:uppercase}.sstt{text-align:center;padding:9px 14px;background:var(--s2);border:1px solid var(--border);border-radius:var(--r)}.mockbr{margin-bottom:16px}.mockbr-title{font-family:IBM Plex Mono,monospace;font-size:10px;color:var(--cyan);text-transform:uppercase;letter-spacing:0;margin-bottom:8px}.mockbr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:7px}.mockbr-cell{background:#0f1a26a3;border:1px solid rgba(73,116,154,.18);border-radius:var(--r);padding:8px 11px}.mockbr-cat{font-family:IBM Plex Mono,monospace;font-size:9px;color:var(--m2);text-transform:uppercase;letter-spacing:0;margin-bottom:3px}.mockbr-score{font-family:Barlow Condensed,sans-serif;font-size:18px;font-weight:700}.mlist{display:grid;gap:7px}.mq{background:#0f1a26a3;border:1px solid rgba(73,116,154,.18);border-radius:var(--r);padding:10px 12px}.mq-text{font-size:13px;font-weight:500;margin-bottom:5px}.mq-right{font-size:12px;color:var(--green);margin-bottom:4px}.mq-wrong{font-size:12px;color:var(--red);margin-bottom:4px}.mq-exp{font-size:12px;color:var(--m2);line-height:1.5}.mt{font-family:IBM Plex Mono,monospace;font-size:10px;color:var(--red);text-transform:uppercase;letter-spacing:0;margin-bottom:9px}.sumact{display:flex;gap:7px;margin-top:16px;flex-wrap:wrap}.pool-end{text-align:center;padding:40px 22px}.pool-end-icon{font-size:2rem;color:var(--green);margin-bottom:12px}.mock-timer{color:var(--pur);font-size:13px}.mock-count-select{background:#0a1018c2;border:1px solid rgba(73,116,154,.32);border-radius:6px;color:var(--text);font-family:IBM Plex Mono,monospace;font-size:13px;padding:6px 10px;min-height:38px}#pan-flash.on{display:grid;gap:14px;min-width:0}.flash-hero{display:flex;flex-direction:column;gap:10px;background:var(--s1);border:1px solid var(--border);border-radius:var(--r);padding:14px 16px}.flash-ey{font-family:IBM Plex Mono,monospace;font-size:9px;color:var(--green);text-transform:uppercase;letter-spacing:2px;margin-bottom:5px}.flash-title{font-family:Barlow Condensed,sans-serif;font-size:26px;font-weight:900;color:var(--text);line-height:1}.flash-sub{font-size:13px;color:var(--m2);line-height:1.5;margin-top:4px}.flash-count{font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--gold);white-space:nowrap}.fcfilters{background:#0a101857;border:1px solid rgba(73,116,154,.16);border-radius:var(--r);padding:10px 11px 8px;min-width:0}.fcfilter-group{min-width:0}.fcfilter-label{color:var(--m2);font-family:IBM Plex Mono,monospace;font-size:9px;margin-bottom:6px;text-transform:uppercase}.fcfilter-scroll{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-color:rgba(73,116,154,.42) transparent;scrollbar-width:thin}.fcfilter{background:var(--s1);border:1px solid var(--border);color:var(--m2);border-radius:6px;padding:6px 10px;font-family:IBM Plex Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:0;cursor:pointer;flex:0 0 auto}.fcfilter:hover,.fcfilter.on{border-color:var(--green);color:var(--green);background:var(--gd)}.fcw{min-width:0;overflow:hidden;cursor:pointer;-webkit-user-select:none;user-select:none}.fcw:has(.fc-drill){cursor:default;-webkit-user-select:text;user-select:text}.fc{background:linear-gradient(180deg,#00e87a0f,#00d4ff06 45%,#0a1018fa);border:1px solid var(--b2);border-radius:var(--r);padding:20px 14px;min-height:200px;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;transition:border-color .2s,opacity .2s,transform .28s,box-shadow .2s;position:relative;overflow-x:hidden;overflow-y:auto;touch-action:pan-y;box-sizing:border-box}.fc.swiping{border-color:#00d4ff5c}.fc:hover{border-color:var(--green);box-shadow:0 18px 55px #0000003d;transform:translateY(-1px)}.fcfr,.fcbk{display:flex;flex-direction:column;align-items:center;width:100%;gap:12px}.fcbk{display:none;text-align:left}.fc.flip .fcfr{display:none}.fc.flip .fcbk{display:flex}.fccat{font-family:IBM Plex Mono,monospace;font-size:10px;color:var(--green);text-transform:uppercase;letter-spacing:2px}.fcterm{font-family:Barlow Condensed,sans-serif;font-size:clamp(16px,5vw,22px);font-weight:900;color:var(--text);line-height:1.1;word-break:break-word;overflow-wrap:break-word;max-width:100%}.fcprompt{font-family:IBM Plex Mono,monospace;font-size:10px;color:var(--m2);text-transform:uppercase;letter-spacing:1px}.fcanswer{font-size:16px;font-weight:400;color:var(--text);line-height:1.55;max-width:100%}.fccode{font-family:IBM Plex Mono,monospace;font-size:13px;background:#05080ecc;border:1px solid rgba(0,212,255,.2);border-radius:6px;padding:11px 14px;color:var(--cyan);white-space:pre;overflow-x:auto;width:100%;margin:0;box-sizing:border-box;line-height:1.65;text-align:left}.fcbullets{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;width:100%;text-align:left}.fcbullet{font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--m2);padding:4px 8px 4px 10px;border-left:2px solid rgba(0,212,255,.3);line-height:1.45;transition:border-color .15s}.fcbullet:hover{border-left-color:var(--cyan);color:var(--text)}.fchint{font-family:IBM Plex Mono,monospace;font-size:9px;color:var(--muted);position:absolute;bottom:10px;right:12px}.fcfooter{display:grid;gap:8px;min-width:0}.fcpg{font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--m2);text-align:center}.fcactions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px}.fcactions .btn{min-height:40px;padding:7px 4px}.fc-drill{justify-content:flex-start;align-items:stretch;text-align:left;padding:16px;cursor:default;min-height:0}.fcdrill{display:flex;flex-direction:column;gap:12px;width:100%}.fcdrill-prompt{font-family:Barlow Condensed,sans-serif;font-weight:900;font-size:clamp(14px,4vw,18px);color:var(--text);line-height:1.1;word-break:break-word;text-align:left}.fcdrill-editor{background:#05080ecc;border:1px solid rgba(73,116,154,.3);border-radius:6px;overflow:hidden;width:100%;cursor:text}.fcdrill-editor:focus-within{border-color:#00d4ff66}.fcdrill-results{display:flex;flex-direction:column;gap:5px}.fcdrill-result{font-family:IBM Plex Mono,monospace;font-size:11px;padding:5px 10px;border-radius:5px;display:flex;align-items:center;gap:7px}.fcdrill-result.pass{color:var(--green);background:var(--gd);border:1px solid rgba(0,232,122,.2)}.fcdrill-result.fail{color:var(--red);background:var(--rd);border:1px solid rgba(255,51,85,.2)}.fcdrill-result-icon{font-size:13px;flex-shrink:0}.fcdrill-hint{font-size:12px;color:var(--m2);line-height:1.5}.fcdrill-actions{display:flex;gap:8px;flex-wrap:wrap}@media(min-width:680px){.flash-hero{flex-direction:row;justify-content:space-between;align-items:flex-end;padding:16px 18px;gap:16px}.flash-title{font-size:30px}.flash-sub{margin-top:6px;max-width:560px}.fc{padding:42px 36px;min-height:320px}.fcterm{font-size:46px;max-width:720px}.fcanswer{font-size:18px;max-width:720px}.fccode{font-size:15px;max-width:720px}.fchint{bottom:12px;right:14px}.fcfooter{grid-template-columns:auto 1fr;align-items:center}.fcpg{text-align:left}.fcactions{grid-template-columns:repeat(3,auto);justify-content:end}.fcactions .btn{padding:7px 17px}}.slbl{font-family:IBM Plex Mono,monospace;font-size:10px;color:var(--m2);text-transform:uppercase;letter-spacing:2px;margin:16px 0 9px;display:flex;align-items:center;gap:8px}.slbl:after{content:"";flex:1;height:1px;background:var(--border)}@media(max-width:580px){.csg{grid-template-columns:1fr}.kbh{display:none}.stats{gap:4px}.sv{font-size:20px}}@media(max-width:680px){.guide-hero{align-items:flex-start;flex-direction:column}.guide-title{font-size:26px}.guide-meta{white-space:normal}}
