@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+Devanagari:wght@400;500;600;700&display=swap');
:root{--bg:#020a12;--panel:#071522;--panel2:#0b2030;--panel3:#102b3f;--text:#eef9ff;--muted:#84a2b4;--line:rgba(140,207,237,.15);--cyan:#5ce7ff;--blue:#399cff;--violet:#8d7dff;--green:#63f4b6;--amber:#ffc266;--red:#ff7588;--font:'Manrope','Noto Sans Devanagari',sans-serif;--shadow:0 18px 70px rgba(0,0,0,.45)}
body.light{--bg:#eef6f8;--panel:#fff;--panel2:#f2f7fa;--panel3:#e2edf2;--text:#102635;--muted:#5e7685;--line:rgba(22,69,91,.13);--shadow:0 18px 50px rgba(42,82,103,.18)}
*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--font)}button,input,select{font:inherit}button{color:inherit}a{color:var(--cyan)}::-webkit-scrollbar{width:7px}::-webkit-scrollbar-thumb{background:rgba(116,181,208,.35);border-radius:9px}.hidden{display:none!important}.full{width:100%}

.intro{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,rgba(29,109,151,.35),transparent 38%),radial-gradient(circle at 80% 20%,rgba(87,71,182,.2),transparent 28%),#020912;transition:opacity .85s,visibility .85s}.intro.hidden{opacity:0;visibility:hidden}.intro-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(91,219,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(91,219,255,.04) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(circle,black,transparent 72%)}.intro-rivers{position:absolute;width:min(1200px,125vw);opacity:.62}.intro-rivers path{stroke-dasharray:22 14;animation:riverRun 3.5s linear infinite}@keyframes riverRun{to{stroke-dashoffset:-360}}.intro-copy{position:relative;text-align:center;padding:25px;max-width:920px}.version-badge,.eyebrow{font-size:10px;letter-spacing:.22em;color:var(--cyan);font-weight:800}.intro h1{font-size:clamp(52px,8vw,105px);letter-spacing:-.075em;line-height:.9;margin:18px 0 0}.intro h1 em{font-style:normal;background:linear-gradient(90deg,var(--cyan),var(--violet));-webkit-background-clip:text;color:transparent}.intro h2{font-size:32px;font-weight:500;margin:18px 0 8px;color:#b9eaff}.intro p{color:#90adbe;font-size:18px;margin-bottom:30px}.intro-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.intro-stats{display:flex;justify-content:center;gap:23px;margin-top:28px;color:#7897aa;font-size:10px;flex-wrap:wrap}.intro-stats span:before{content:'•';color:var(--cyan);margin-right:8px}
.primary,.secondary,.ghost{border-radius:12px;padding:12px 15px;font-weight:800;cursor:pointer}.primary{border:0;background:linear-gradient(135deg,var(--cyan),var(--blue));color:#03101a;box-shadow:0 10px 30px rgba(54,170,255,.25)}.primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.secondary,.ghost{background:var(--panel2);border:1px solid var(--line);font-size:10px}.ghost{background:rgba(255,255,255,.04)}

.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;background:rgba(2,10,18,.9);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);position:relative;z-index:900}.light .topbar{background:rgba(255,255,255,.88)}.brand{display:flex;gap:10px;align-items:center}.logo{width:39px;height:39px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--cyan),var(--blue));color:#04111d;font-size:24px;font-weight:900}.brand b{display:block;font-size:14px}.brand small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.stats-strip{display:flex;gap:22px;color:var(--muted);font-size:9px}.stats-strip b{color:var(--text);font-size:12px;margin-right:4px}.top-actions{display:flex;gap:7px;align-items:center}.language-switch{display:flex;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:3px}.lang{border:0;background:transparent;color:var(--muted);border-radius:7px;padding:6px 8px;font-size:9px;cursor:pointer}.lang.active{background:var(--panel3);color:var(--cyan)}.icon{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:var(--panel2);cursor:pointer}.icon.warn{color:var(--amber);font-weight:900}

.shell{height:calc(100vh - 72px);display:grid;grid-template-columns:315px minmax(450px,1fr) 380px}.panel{background:var(--panel);position:relative;z-index:500}.explorer{border-right:1px solid var(--line);padding:18px 14px 12px;display:flex;flex-direction:column;min-height:0}.inspector{border-left:1px solid var(--line);padding:20px 18px;overflow:auto}.panel-title span{font-size:9px;letter-spacing:.19em;color:var(--cyan);font-weight:800}.panel-title h2{margin:4px 0 13px;font-size:20px;letter-spacing:-.04em}.mode-tabs{display:grid;grid-template-columns:repeat(4,1fr);background:var(--panel2);padding:3px;border:1px solid var(--line);border-radius:11px}.mode{border:0;background:transparent;color:var(--muted);border-radius:8px;padding:8px 2px;font-size:8px;font-weight:800;cursor:pointer}.mode.active{background:var(--panel3);color:var(--cyan)}.search{height:41px;border:1px solid var(--line);background:var(--panel2);border-radius:10px;display:flex;align-items:center;gap:8px;padding:0 10px;margin:10px 0}.search span{font-size:18px;color:var(--muted)}.search input{border:0;background:transparent;color:var(--text);outline:0;width:100%;font-size:10px}.filters{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:7px}.filters select{min-width:0;background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:7px;font-size:8px}.check{grid-column:1/-1;font-size:9px;color:var(--muted)}.list-meta{font-size:9px;color:var(--muted);margin:2px 2px 8px}.explorer-list{overflow:auto;flex:1}.list-item{width:100%;border:1px solid transparent;background:transparent;border-radius:11px;padding:9px;text-align:left;display:flex;gap:9px;align-items:center;cursor:pointer;margin-bottom:3px}.list-item:hover{background:var(--panel2)}.list-item.active{border-color:rgba(92,231,255,.25);background:linear-gradient(90deg,rgba(54,157,226,.18),transparent)}.swatch{width:4px;height:35px;border-radius:8px;background:var(--c,var(--cyan));box-shadow:0 0 12px var(--c,var(--cyan));flex:none}.list-copy{min-width:0;flex:1}.list-copy b{font-size:10px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-copy small{display:block;font-size:8px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.atlas-id{font-size:8px;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:3px 5px}.flag-dot{height:7px;width:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 10px var(--amber)}.explorer-footer{display:flex;gap:6px;padding-top:8px;border-top:1px solid var(--line)}.explorer-footer button{flex:1}.mini-progress{margin-top:9px;border:1px solid var(--line);background:var(--panel2);border-radius:12px;padding:9px;display:flex;align-items:center;justify-content:space-between}.mini-progress small{display:block;color:var(--muted);font-size:7px;letter-spacing:.12em}.mini-progress b{font-size:8px}.mini-ring{height:38px;width:38px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--cyan) 0%,var(--panel3) 0);position:relative}.mini-ring:before{content:'';position:absolute;inset:4px;border-radius:50%;background:var(--panel2)}.mini-ring span{position:relative;font-size:7px;font-weight:800}

.map-wrap{position:relative;overflow:hidden;background:#06121d}#map{position:absolute;inset:0;z-index:1}.map-vignette{position:absolute;inset:0;z-index:2;pointer-events:none;box-shadow:inset 0 0 150px rgba(0,0,0,.55)}.scanline{position:absolute;z-index:2;pointer-events:none;left:0;right:0;top:-90px;height:75px;background:linear-gradient(transparent,rgba(93,229,255,.035),transparent);animation:scan 9s linear infinite}@keyframes scan{to{transform:translateY(calc(100vh + 170px))}}.glass{background:rgba(4,16,26,.78);border:1px solid rgba(126,207,238,.18);backdrop-filter:blur(15px);box-shadow:var(--shadow)}.light .glass{background:rgba(255,255,255,.86)}.map-heading{position:absolute;z-index:4;left:16px;top:16px;border-radius:12px;padding:9px 12px}.map-heading span{display:block;font-size:7px;letter-spacing:.16em;color:var(--muted)}.map-heading b{font-size:11px}.quick-actions{position:absolute;z-index:4;left:16px;top:67px;border-radius:12px;padding:4px;display:flex;gap:3px}.quick-actions button{border:0;background:transparent;border-radius:8px;padding:8px 9px;font-size:8px;cursor:pointer}.quick-actions button:hover{background:rgba(92,231,255,.09);color:var(--cyan)}.gis-button{width:100%;border:1px solid rgba(92,231,255,.32);background:rgba(92,231,255,.08);border-radius:10px;color:var(--cyan);padding:11px;font-size:9px;font-weight:800;cursor:pointer;margin-top:8px}.gis-button:hover{background:rgba(92,231,255,.14);border-color:rgba(92,231,255,.55)}.season-control{position:absolute;z-index:4;left:15px;bottom:45px;width:220px;border-radius:12px;padding:9px 11px}.season-control>div,.season-control footer{display:flex;align-items:center;justify-content:space-between}.season-control span{font-size:7px;color:var(--muted);letter-spacing:.1em}.season-control b{font-size:8px}.season-control input{width:100%;accent-color:var(--cyan)}.season-control footer{font-size:7px}.legend{position:absolute;z-index:4;left:15px;bottom:12px;border-radius:11px;padding:8px 10px;display:flex;gap:12px;font-size:8px;color:var(--muted)}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:20px;height:3px;border-radius:9px}.main-line{background:var(--cyan)}.atlas-line{background:#708899}.gis-line{background:var(--green)}.toast{position:absolute;z-index:20;left:50%;top:115px;transform:translate(-50%,-12px);opacity:0;pointer-events:none;background:rgba(4,16,26,.94);border:1px solid rgba(92,231,255,.27);border-radius:11px;padding:9px 12px;font-size:9px;transition:.25s;max-width:68%;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.leaflet-container{font-family:var(--font)}.leaflet-tooltip{background:#061824;color:#fff;border:1px solid rgba(92,231,255,.25);box-shadow:none;font-size:9px}.structure-icon{height:27px;width:27px;border-radius:9px;display:grid;place-items:center;background:#0a2333;border:1px solid rgba(92,231,255,.42);color:var(--cyan);box-shadow:0 0 15px rgba(92,231,255,.3)}.district-tip{background:#061824;color:#fff;border:1px solid rgba(92,231,255,.25);font-size:8px}.selected-river{filter:drop-shadow(0 0 8px rgba(92,231,255,.8));stroke-dasharray:18 9;animation:flowDash 1s linear infinite}@keyframes flowDash{to{stroke-dashoffset:-54}}

.hero{display:flex;justify-content:space-between;gap:10px}.badge{display:inline-flex;border:1px solid rgba(92,231,255,.25);background:rgba(92,231,255,.07);color:var(--cyan);border-radius:7px;padding:5px 7px;font-size:7px;letter-spacing:.12em;font-weight:800}.hero h1{font-size:29px;letter-spacing:-.055em;margin:10px 0 0}.hero h2{font-family:'Noto Sans Devanagari';font-weight:500;font-size:19px;color:var(--muted);margin:0}.hero-actions{display:flex;gap:5px}.mini-button{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--panel2);cursor:pointer}.mini-button.active{color:var(--amber)}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:15px 0}.metric{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:9px}.metric small{display:block;color:var(--muted);font-size:7px;min-height:18px}.metric b{display:block;font-size:10px;margin-top:3px}.copy{font-size:11px;line-height:1.7;color:#bed0da}.light .copy{color:#405a68}.inspector-tabs{display:flex;gap:12px;border-bottom:1px solid var(--line);overflow:auto}.inspector-tab{border:0;background:transparent;color:var(--muted);font-size:8px;padding:8px 0;cursor:pointer;position:relative;white-space:nowrap}.inspector-tab.active{color:var(--cyan)}.inspector-tab.active:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--cyan)}.tab-pane{display:none;padding-top:12px}.tab-pane.active{display:block}.section{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.section h3{font-size:9px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;margin:0 0 8px}.chips{display:flex;flex-wrap:wrap;gap:5px}.chip{border:1px solid var(--line);background:var(--panel2);border-radius:8px;padding:6px 7px;font-size:8px;cursor:pointer}.chip:hover{color:var(--cyan);border-color:rgba(92,231,255,.4)}.source-box,.quality-box,.insight-box{border:1px solid var(--line);background:var(--panel2);border-radius:11px;padding:10px;margin-top:10px}.source-box b,.quality-box b,.insight-box b{font-size:9px}.source-box p,.quality-box p,.insight-box p{font-size:8px;color:var(--muted);line-height:1.55}.quality-box{border-color:rgba(255,194,102,.28)}.quality-box b{color:var(--amber)}.insight-box{border-color:rgba(92,231,255,.22);background:linear-gradient(145deg,rgba(54,157,226,.12),transparent)}.coord-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.coord{border:1px solid var(--line);border-radius:10px;padding:9px;background:var(--panel2)}.coord small{display:block;color:var(--muted);font-size:7px}.coord b{display:block;font-size:9px;margin-top:5px}.coord button{margin-top:7px;border:0;background:transparent;color:var(--cyan);padding:0;font-size:8px;cursor:pointer}.provenance{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}.prov{font-size:7px;border-radius:7px;padding:5px 6px;background:rgba(99,244,182,.08);border:1px solid rgba(99,244,182,.2);color:var(--green)}.prov.inferred{color:var(--amber);border-color:rgba(255,194,102,.25);background:rgba(255,194,102,.07)}.journey-line{display:flex;align-items:center;gap:8px}.journey-line span{font-size:8px;max-width:42%}.journey-line i{flex:1;height:1px;background:linear-gradient(90deg,var(--cyan),var(--violet));position:relative}.journey-line i:after{content:'›';position:absolute;right:-2px;top:-9px;color:var(--violet)}.learn-card{border:1px solid var(--line);background:var(--panel2);border-radius:12px;padding:11px;margin-bottom:8px;cursor:pointer}.learn-card:hover{border-color:rgba(92,231,255,.35)}.learn-card span{font-size:8px;color:var(--cyan);letter-spacing:.1em}.learn-card b{display:block;font-size:11px;margin:5px 0}.learn-card small{font-size:8px;color:var(--muted);line-height:1.5;display:block}.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.dashboard-stat{border:1px solid var(--line);background:var(--panel2);border-radius:11px;padding:12px}.dashboard-stat small{display:block;color:var(--muted);font-size:8px}.dashboard-stat b{display:block;font-size:20px;margin-top:5px}.danger-button{border:1px solid rgba(255,117,136,.35);background:rgba(255,117,136,.08);color:var(--red);border-radius:11px;padding:10px;cursor:pointer;font-weight:800;margin-top:16px}

.drawer,.modal{position:fixed;inset:0;z-index:5000;visibility:hidden;opacity:0;transition:.25s}.drawer.open,.modal.open{visibility:visible;opacity:1}.backdrop,.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62);backdrop-filter:blur(5px)}.drawer section{position:absolute;right:0;top:0;bottom:0;width:min(430px,94vw);background:var(--panel);padding:24px;overflow:auto;transform:translateX(100%);transition:.3s;border-left:1px solid var(--line)}.drawer.open section{transform:none}.close{float:right;width:35px;height:35px;border-radius:10px;border:1px solid var(--line);background:var(--panel2);font-size:20px;cursor:pointer}.drawer h2{font-size:23px;margin:5px 0 8px}.drawer>section>p,.modal-card>p{font-size:10px;color:var(--muted);line-height:1.6}.layers-icon{font-size:19px;color:var(--cyan)}.layers-drawer .backdrop{background:rgba(0,0,0,.18);backdrop-filter:none}.layers-drawer section{width:min(390px,94vw)}.layer-settings{display:grid;gap:8px;margin:20px 0}.drawer .layer-option{display:flex;align-items:center;gap:11px;margin:0;padding:12px;border:1px solid var(--line);background:var(--panel2);border-radius:12px;cursor:pointer;transition:.2s}.drawer .layer-option:hover{border-color:rgba(92,231,255,.36);transform:translateX(-2px)}.layer-symbol{height:34px;width:34px;flex:none;border-radius:10px;display:grid;place-items:center;background:rgba(92,231,255,.08);border:1px solid rgba(92,231,255,.16);font-size:17px;color:var(--cyan)}.atlas-symbol{color:#8ba1ad}.district-symbol{color:#a9d6ea}.structure-symbol{color:var(--amber)}.layer-option-copy{min-width:0;flex:1}.layer-option-copy b{display:block;color:var(--text);font-size:10px}.layer-option-copy small{display:block;color:var(--muted);font-size:8px;line-height:1.45;margin-top:3px}.drawer .layer-option input{width:18px!important;height:18px;margin:0!important;accent-color:#168cff;flex:none}.live-geometry-card{border:1px solid rgba(92,231,255,.20);background:linear-gradient(145deg,rgba(44,145,205,.10),transparent);border-radius:13px;padding:13px}.live-geometry-card>b{font-size:10px}.live-geometry-card p{font-size:8px;color:var(--muted);line-height:1.55;margin:6px 0}.drawer label{display:block;font-size:9px;color:var(--muted);margin:16px 0}.drawer select,.drawer input{display:block;width:100%;margin-top:7px}.drawer select{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:9px;padding:9px}.toggle{display:flex!important;align-items:center;justify-content:space-between}.toggle input{width:auto!important}.quality-entry{border:1px solid var(--line);background:var(--panel2);border-radius:10px;padding:9px;margin:7px 0}.quality-entry b{font-size:9px}.quality-entry p{font-size:8px;color:var(--muted);line-height:1.5}.download-link{display:block;text-align:center;border:1px solid rgba(92,231,255,.28);border-radius:10px;padding:10px;text-decoration:none;font-size:9px;margin-top:15px}.note{font-size:8px!important}.modal-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-46%) scale(.97);width:min(620px,92vw);max-height:90vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:21px;box-shadow:var(--shadow);transition:.28s}.modal.open .modal-card{transform:translate(-50%,-50%) scale(1)}.modal-card.compact{width:min(440px,92vw)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.modal-head h2{margin:4px 0 0;font-size:21px}.quiz-bar{height:4px;background:var(--panel3);border-radius:99px;overflow:hidden}.quiz-bar span{display:block;height:100%;width:10%;background:linear-gradient(90deg,var(--cyan),var(--violet));transition:.3s}.quiz-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;margin:10px 0 18px}.modal-card>h3{font-size:16px;line-height:1.55}.quiz-options{display:grid;gap:8px;margin:15px 0}.quiz-option{border:1px solid var(--line);background:var(--panel2);border-radius:11px;padding:11px;text-align:left;cursor:pointer;font-size:10px}.quiz-option.correct{border-color:rgba(99,244,182,.48);background:rgba(99,244,182,.08)}.quiz-option.wrong{border-color:rgba(255,117,136,.48);background:rgba(255,117,136,.08)}.quiz-explanation{display:none;border-left:2px solid var(--cyan);padding:9px 11px;background:rgba(92,231,255,.05);font-size:9px;line-height:1.6;margin:11px 0}.quiz-explanation.show{display:block}.practice-prompt{text-align:center;border:1px solid rgba(92,231,255,.18);background:linear-gradient(145deg,rgba(54,157,226,.14),rgba(141,125,255,.07));border-radius:13px;padding:15px}.practice-prompt small{color:var(--muted);font-size:9px}.practice-prompt h2{margin:7px 0 0}

@media(max-width:1220px){.shell{grid-template-columns:285px 1fr 345px}.stats-strip{display:none}}@media(max-width:940px){html,body{overflow:auto}.shell{height:auto;display:grid;grid-template-columns:265px 1fr}.inspector{grid-column:1/-1;border-left:0;border-top:1px solid var(--line)}.map-wrap{min-height:680px}}@media(max-width:700px){.topbar{padding:0 9px}.language-switch{display:none}.brand small{display:none}.shell{display:flex;flex-direction:column}.explorer{height:410px}.map-wrap{height:650px;min-height:650px}.quick-actions{left:10px;right:10px;overflow:auto}.season-control{left:10px;bottom:45px;width:190px}.legend{left:10px;bottom:10px}.inspector{padding-bottom:70px}}

/* ================= VERSION 3: BPSC LEARNING STUDIO ================= */
.learning-studio{position:fixed;inset:0;z-index:8000;background:var(--bg);opacity:0;visibility:hidden;transform:translateY(14px);transition:.28s;overflow:hidden}.learning-studio.open{opacity:1;visibility:visible;transform:none}.studio-topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--line);background:rgba(2,10,18,.96);backdrop-filter:blur(18px)}.light .studio-topbar{background:rgba(255,255,255,.94)}.studio-brand{display:flex;align-items:center;gap:11px}.studio-logo{height:40px;width:40px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--violet),var(--cyan));color:#03101a;font-size:21px;font-weight:900}.studio-brand small{display:block;color:var(--cyan);font-size:7px;letter-spacing:.17em;font-weight:800}.studio-brand b{display:block;font-size:13px;margin-top:3px}.studio-progress-summary{display:flex;gap:8px}.studio-progress-summary span{font-size:8px;color:var(--muted);border:1px solid var(--line);background:var(--panel2);border-radius:99px;padding:7px 10px}.studio-top-actions{display:flex;gap:7px}.studio-top-actions button{height:38px;min-width:38px;border:1px solid var(--line);background:var(--panel2);border-radius:10px;cursor:pointer;font-size:16px}.studio-shell{height:calc(100vh - 72px);display:grid;grid-template-columns:210px 1fr}.studio-nav{border-right:1px solid var(--line);background:var(--panel);padding:16px 11px;overflow:auto}.studio-nav-heading{font-size:7px;color:var(--muted);letter-spacing:.16em;font-weight:800;padding:0 9px 9px}.studio-nav-item{width:100%;border:1px solid transparent;background:transparent;border-radius:11px;padding:10px 9px;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;margin-bottom:3px;color:var(--muted)}.studio-nav-item>span{height:29px;width:29px;border-radius:8px;display:grid;place-items:center;background:var(--panel2);font-size:13px}.studio-nav-item b{font-size:9px}.studio-nav-item:hover{background:var(--panel2);color:var(--text)}.studio-nav-item.active{color:var(--cyan);border-color:rgba(92,231,255,.24);background:linear-gradient(90deg,rgba(55,157,220,.15),transparent)}.studio-source-note{margin-top:20px;border:1px solid var(--line);background:var(--panel2);padding:10px;border-radius:11px}.studio-source-note b{font-size:7px;color:var(--amber);letter-spacing:.12em}.studio-source-note p{font-size:7px;color:var(--muted);line-height:1.55}.studio-content{overflow:auto;padding:26px 30px 60px;background:radial-gradient(circle at 80% 0,rgba(55,153,214,.07),transparent 28%),var(--bg)}.study-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.study-page-head>div>span,.section-heading span,.lesson-label,.mains-note section>span{font-size:7px;color:var(--cyan);letter-spacing:.17em;font-weight:800}.study-page-head h1{font-size:31px;letter-spacing:-.055em;margin:6px 0 5px}.study-page-head p{font-size:10px;color:var(--muted);margin:0;line-height:1.6;max-width:720px}.studio-map-return{border:1px solid var(--line);background:var(--panel2);border-radius:10px;padding:9px 11px;font-size:8px;cursor:pointer;white-space:nowrap}.studio-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.studio-metrics>div{border:1px solid var(--line);background:linear-gradient(145deg,var(--panel2),rgba(50,142,195,.04));border-radius:13px;padding:14px}.studio-metrics small{display:block;color:var(--muted);font-size:8px}.studio-metrics b{display:block;font-size:26px;letter-spacing:-.05em;margin:7px 0 2px}.studio-metrics span{font-size:7px;color:var(--muted)}.study-section{margin-top:25px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.section-heading h2{font-size:17px;margin:4px 0 0}.dashboard-action-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.dashboard-action{position:relative;border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:17px 13px;text-align:left;cursor:pointer;min-height:150px}.dashboard-action:hover{border-color:rgba(92,231,255,.35);transform:translateY(-2px)}.dashboard-action>i{font-style:normal;font-size:25px;color:var(--cyan);display:block;margin-bottom:15px}.dashboard-action>b{display:block;font-size:11px}.dashboard-action>small{display:block;color:var(--muted);font-size:8px;line-height:1.55;margin-top:5px}.dash-number{position:absolute;top:10px;right:11px;color:var(--muted);font-size:8px}.pattern-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.pattern-card{border:1px solid var(--line);background:var(--panel2);border-radius:11px;padding:11px}.pattern-card b{font-size:9px}.pattern-card p{font-size:8px;color:var(--muted);line-height:1.5}.source-integrity{border-left:2px solid var(--amber);padding-left:12px}.source-integrity b{font-size:9px}.source-integrity p{font-size:8px;color:var(--muted);line-height:1.55}.v3-inspector-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:14px 0}.v3-inspector-metrics div{border:1px solid var(--line);background:var(--panel2);padding:9px;border-radius:10px}.v3-inspector-metrics b{display:block;font-size:18px}.v3-inspector-metrics span{font-size:7px;color:var(--muted)}.v3-learn-card span{color:var(--violet)}

.tutor-layout{display:grid;grid-template-columns:230px 1fr;gap:15px}.tutor-basin-list{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:8px;max-height:calc(100vh - 175px);overflow:auto}.tutor-basin-list button{width:100%;border:1px solid transparent;background:transparent;border-radius:10px;padding:8px;display:flex;align-items:center;gap:8px;text-align:left;cursor:pointer}.tutor-basin-list button:hover{background:var(--panel2)}.tutor-basin-list button.active{border-color:rgba(92,231,255,.25);background:var(--panel2)}.tutor-basin-list i{width:4px;height:31px;border-radius:8px;background:var(--c);box-shadow:0 0 12px var(--c)}.tutor-basin-list span{min-width:0;flex:1}.tutor-basin-list b{display:block;font-size:9px}.tutor-basin-list small{display:block;font-size:7px;color:var(--muted);margin-top:2px}.tutor-basin-list em{font-style:normal;font-size:7px;color:var(--cyan)}.tutor-lesson{border:1px solid var(--line);background:var(--panel);border-radius:15px;padding:18px}.lesson-hero{display:flex;justify-content:space-between}.lesson-hero span{font-size:7px;color:var(--cyan);letter-spacing:.14em}.lesson-hero h2{font-size:29px;margin:6px 0 0}.lesson-hero h3{font-size:18px;color:var(--muted);margin:0;font-weight:500}.lesson-actions{display:flex;gap:5px}.lesson-actions button,.pyq-actions button,.lesson-footer-actions button,.review-map{height:max-content;border:1px solid var(--line);background:var(--panel2);border-radius:9px;padding:8px 9px;font-size:8px;cursor:pointer}.lesson-summary{font-size:10px;color:var(--muted);line-height:1.7}.lesson-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:14px 0}.lesson-metrics>div{border:1px solid var(--line);background:var(--panel2);border-radius:10px;padding:9px}.lesson-metrics small{display:block;color:var(--muted);font-size:7px}.lesson-metrics b{font-size:10px}.lesson-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.study-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.study-chips button,.study-chips span{border:1px solid var(--line);background:var(--panel2);border-radius:8px;padding:6px 7px;font-size:8px;color:var(--text)}.study-chips button{cursor:pointer}.confusion-card{margin-top:7px;border:1px solid rgba(255,194,102,.22);background:rgba(255,194,102,.06);border-radius:10px;padding:10px;font-size:8px;color:var(--muted);line-height:1.5}.river-family-block{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin:14px 0}.linked-pyq-block{margin-top:10px}.mini-pyq{border:1px solid var(--line);background:var(--panel2);border-radius:10px;padding:10px;display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:8px;margin-bottom:6px}.mini-pyq span{font-size:7px;color:var(--cyan)}.mini-pyq b{font-size:8px;line-height:1.45}.mini-pyq button{border:1px solid var(--line);background:var(--panel3);border-radius:8px;padding:6px 8px;font-size:7px;cursor:pointer}.lesson-footer-actions{display:flex;gap:7px;margin-top:15px}.empty-study{border:1px dashed var(--line);border-radius:11px;padding:14px;color:var(--muted);font-size:8px;line-height:1.6}.empty-study.large{text-align:center;padding:60px}.empty-study.large>span{font-size:34px;color:var(--green)}

.pyq-toolbar{display:grid;grid-template-columns:1fr 180px 180px;gap:7px;margin-bottom:12px}.pyq-toolbar label{display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--panel2);border-radius:10px;padding:0 10px}.pyq-toolbar input,.pyq-toolbar select{width:100%;background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:10px;font-size:8px}.pyq-toolbar label input{border:0;background:transparent;outline:0}.archive-count{font-size:8px;color:var(--muted);margin:8px 2px}.pyq-card{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:15px;margin-bottom:10px}.pyq-card>header{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}.pyq-card>header>div{grid-row:1/3}.pyq-card>header>b{font-size:9px}.pyq-card>header>small{font-size:7px;color:var(--muted)}.source-pill,.status-pill{display:inline-flex;border-radius:7px;padding:5px 6px;font-size:6px;letter-spacing:.1em;font-weight:800}.source-pill.exact{color:var(--green);border:1px solid rgba(99,244,182,.25);background:rgba(99,244,182,.07)}.source-pill.style{color:var(--cyan);border:1px solid rgba(92,231,255,.25);background:rgba(92,231,255,.07)}.status-pill{margin-left:4px;color:var(--cyan);border:1px solid var(--line)}.status-pill.cancelled-paper{color:var(--amber)}.pyq-card h3{font-size:13px;line-height:1.55;margin:14px 0}.pyq-options{display:grid;grid-template-columns:1fr 1fr;gap:5px}.pyq-options div{border:1px solid var(--line);background:var(--panel2);border-radius:8px;padding:7px;font-size:8px}.pyq-actions{display:flex;gap:6px;margin-top:11px}.pyq-tutor-note{display:none;margin-top:12px;border-top:1px solid var(--line);padding-top:12px}.pyq-tutor-note.open{display:block}.pyq-tutor-note>div{border:1px solid rgba(99,244,182,.22);background:rgba(99,244,182,.05);border-radius:10px;padding:10px}.pyq-tutor-note>div span{display:block;font-size:7px;color:var(--green)}.pyq-tutor-note>div b{font-size:10px}.pyq-tutor-note section{border-left:2px solid var(--cyan);padding-left:9px;margin:10px 0}.pyq-tutor-note section b{font-size:8px}.pyq-tutor-note section p{font-size:8px;color:var(--muted);line-height:1.55}.pyq-tutor-note .quality-caution{border-color:var(--amber)}

.exam-setup-grid{display:grid;grid-template-columns:minmax(400px,1fr) minmax(280px,.75fr);gap:14px}.exam-config,.exam-preview{border:1px solid var(--line);background:var(--panel);border-radius:15px;padding:18px}.exam-config h2,.exam-preview h2{font-size:19px;margin:0 0 15px}.exam-config>label{display:block;color:var(--muted);font-size:8px;margin:11px 0}.exam-config select{display:block;width:100%;margin-top:6px;background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:9px;padding:10px;font-size:8px}.exam-config .config-toggle{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);background:var(--panel2);border-radius:10px;padding:10px}.config-toggle b{display:block;color:var(--text);font-size:8px}.config-toggle small{display:block;font-size:7px;margin-top:2px}.config-toggle input{accent-color:var(--cyan)}.exam-preview>span{font-size:7px;color:var(--cyan);letter-spacing:.15em}.exam-preview p{font-size:9px;color:var(--muted);line-height:1.65}.preview-bars>div{margin:12px 0}.preview-bars b{display:block;font-size:8px;margin-bottom:5px}.preview-bars span{display:block;height:5px;background:var(--panel3);border-radius:99px}.preview-bars i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--violet));border-radius:99px}

.exam-screen{max-width:1180px;margin:auto}.exam-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:12px}.exam-header>div>span{font-size:7px;color:var(--cyan);letter-spacing:.13em}.exam-header h2{font-size:18px;margin:4px 0}.exam-header small{font-size:7px;color:var(--muted)}.exam-clock{height:58px;min-width:84px;border:1px solid var(--line);background:var(--panel);border-radius:12px;display:grid;grid-template-columns:1fr auto;align-items:center;padding:8px 10px}.exam-clock small{grid-column:1/-1;font-size:6px;color:var(--muted)}.exam-clock b{font-size:22px}.exam-clock span{font-size:7px;color:var(--muted)}.exam-clock.danger{border-color:rgba(255,117,136,.45);color:var(--red)}.exam-progress{display:flex;align-items:center;gap:10px;margin:10px 0}.exam-progress>div{flex:1;height:4px;background:var(--panel3);border-radius:99px}.exam-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--violet));border-radius:99px}.exam-progress>b{font-size:8px;color:var(--muted)}.exam-body{display:grid;grid-template-columns:170px 1fr;gap:12px}.question-palette{border:1px solid var(--line);background:var(--panel);border-radius:13px;padding:11px;height:max-content}.question-palette>span{font-size:7px;color:var(--muted);letter-spacing:.12em}.question-palette>div{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-top:9px}.question-palette button{height:28px;border:1px solid var(--line);background:var(--panel2);border-radius:7px;font-size:7px;cursor:pointer}.question-palette button.current{border-color:var(--cyan);color:var(--cyan)}.question-palette button.answered-correct{background:rgba(99,244,182,.12);border-color:rgba(99,244,182,.35)}.question-palette button.answered-wrong{background:rgba(255,117,136,.1);border-color:rgba(255,117,136,.32)}.question-palette button.marked{box-shadow:inset 0 -3px var(--amber)}.question-palette footer{font-size:6px;color:var(--muted);margin-top:10px;line-height:2}.question-palette footer i{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:3px}.p-current{border:1px solid var(--cyan)}.p-answered{background:var(--green)}.p-marked{background:var(--amber)}.exam-question{border:1px solid var(--line);background:var(--panel);border-radius:15px;padding:19px}.question-meta{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:7px}.exam-question>h3{font-size:16px;line-height:1.62;margin:18px 0}.exam-options{display:grid;gap:7px}.exam-options button{width:100%;border:1px solid var(--line);background:var(--panel2);border-radius:11px;padding:11px;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer}.exam-options button>i{height:28px;width:28px;border-radius:8px;display:grid;place-items:center;background:var(--panel3);font-size:9px;font-style:normal;font-weight:800}.exam-options button>span{font-size:9px;line-height:1.5}.exam-options button.selected{border-color:rgba(92,231,255,.5);background:rgba(92,231,255,.07)}.exam-options button.correct{border-color:rgba(99,244,182,.48);background:rgba(99,244,182,.08)}.exam-options button.wrong{border-color:rgba(255,117,136,.48);background:rgba(255,117,136,.08)}.exam-tutor{margin-top:14px;border:1px solid rgba(92,231,255,.2);background:linear-gradient(145deg,rgba(52,149,205,.08),transparent);border-radius:12px;padding:12px}.exam-tutor>header span{display:block;font-size:7px;color:var(--green)}.exam-tutor>header b{font-size:10px}.exam-tutor section{border-top:1px solid var(--line);padding-top:9px;margin-top:9px}.exam-tutor section b{font-size:8px}.exam-tutor section p{font-size:8px;color:var(--muted);line-height:1.55}.exam-tutor footer{font-size:7px;color:var(--muted);margin-top:9px}.exam-controls{display:grid;grid-template-columns:auto auto auto 1fr auto;gap:6px;margin-top:15px}.exam-controls button{border:1px solid var(--line);background:var(--panel2);border-radius:9px;padding:9px;font-size:8px;cursor:pointer}.exam-controls .confirm-answer{background:linear-gradient(135deg,var(--cyan),var(--blue));color:#03101a;font-weight:800}.exam-controls button:disabled{opacity:.35;cursor:not-allowed}

.result-page,.review-page{max-width:1000px;margin:auto}.result-hero{text-align:center;border:1px solid var(--line);background:linear-gradient(145deg,rgba(55,153,214,.13),rgba(141,125,255,.06));border-radius:17px;padding:25px}.result-hero>span{font-size:7px;color:var(--cyan);letter-spacing:.16em}.result-hero h1{font-size:24px;margin:8px 0}.result-score{display:flex;justify-content:center;align-items:baseline;gap:9px}.result-score b{font-size:54px;letter-spacing:-.07em}.result-score small{font-size:16px;color:var(--cyan)}.result-hero p{font-size:9px;color:var(--muted)}.result-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:10px 0}.result-metrics>div{border:1px solid var(--line);background:var(--panel);border-radius:11px;padding:10px}.result-metrics small{font-size:7px;color:var(--muted)}.result-metrics b{display:block;font-size:16px}.result-actions{display:flex;justify-content:center;gap:7px;margin:14px 0}.result-breakdown h2{font-size:16px}.result-breakdown>button{width:100%;display:grid;grid-template-columns:35px 1fr 90px;align-items:center;gap:8px;border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:9px;text-align:left;margin-bottom:5px;cursor:pointer}.result-breakdown>button>span{height:27px;width:27px;border-radius:8px;display:grid;place-items:center;background:var(--panel2);font-size:8px}.result-breakdown>button>b{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-breakdown>button>small{font-size:7px;color:var(--muted)}.result-breakdown>button.correct{border-left:3px solid var(--green)}.result-breakdown>button.wrong{border-left:3px solid var(--red)}.result-breakdown>button.unanswered{border-left:3px solid var(--amber)}.review-page>header{display:flex;justify-content:space-between;align-items:center}.review-page>header span{font-size:7px;color:var(--cyan)}.review-page>header h1{font-size:23px;margin:4px 0}.review-page>header button{border:1px solid var(--line);background:var(--panel2);border-radius:9px;padding:8px;font-size:8px;cursor:pointer}.review-card{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:15px;margin:10px 0;scroll-margin-top:20px}.review-card.correct{border-left:3px solid var(--green)}.review-card.wrong{border-left:3px solid var(--red)}.review-card.unanswered{border-left:3px solid var(--amber)}.review-card>header{display:flex;justify-content:space-between}.review-card>header span,.review-card>header small{font-size:7px;color:var(--muted)}.review-card h3{font-size:13px;line-height:1.55}.review-answer{display:grid;grid-template-columns:1fr 1fr;gap:7px}.review-answer>div{border:1px solid var(--line);background:var(--panel2);border-radius:9px;padding:9px}.review-answer small{display:block;color:var(--muted);font-size:7px}.review-answer b{font-size:8px}.review-map{margin-top:10px}

.flash-layout{display:grid;grid-template-columns:180px 1fr;gap:15px;max-width:900px;margin:auto}.flash-layout>aside{border:1px solid var(--line);background:var(--panel);border-radius:13px;padding:12px;height:max-content}.flash-stat{border-bottom:1px solid var(--line);padding:10px 0}.flash-stat b{display:block;font-size:21px}.flash-stat span{font-size:7px;color:var(--muted)}.flash-layout>aside>button{width:100%;border:1px solid var(--line);background:var(--panel2);border-radius:9px;padding:8px;font-size:7px;margin-top:12px;cursor:pointer}.flash-layout main{text-align:center}.flash-counter{font-size:8px;color:var(--muted);margin-bottom:8px}.flash-card{width:100%;min-height:340px;border:1px solid rgba(92,231,255,.24);background:radial-gradient(circle at 50% 0,rgba(92,231,255,.12),transparent 40%),var(--panel);border-radius:18px;padding:30px;cursor:pointer;position:relative;transform-style:preserve-3d;transition:.45s}.flash-card .flash-back{display:none}.flash-card.revealed .flash-front{display:none}.flash-card.revealed .flash-back{display:block}.flash-card span{font-size:7px;color:var(--cyan);letter-spacing:.15em}.flash-card h2{font-size:23px;line-height:1.5;margin:60px auto 20px;max-width:650px}.flash-card small,.flash-card p{font-size:9px;color:var(--muted);line-height:1.65}.flash-controls{display:grid;grid-template-columns:45px 1fr 1fr 45px;gap:6px;margin-top:8px}.flash-controls button{border:1px solid var(--line);background:var(--panel2);border-radius:10px;padding:10px;font-size:8px;cursor:pointer}.flash-controls button:disabled{opacity:.35}

.mains-layout{display:grid;grid-template-columns:210px 1fr;gap:14px}.mains-layout>aside{border:1px solid var(--line);background:var(--panel);border-radius:13px;padding:8px;height:max-content;max-height:calc(100vh - 180px);overflow:auto}.mains-layout>aside button{width:100%;border:1px solid transparent;background:transparent;border-radius:9px;padding:8px;display:flex;align-items:center;gap:8px;text-align:left;font-size:8px;cursor:pointer}.mains-layout>aside button.active{background:var(--panel2);border-color:rgba(92,231,255,.24)}.mains-layout>aside i{width:4px;height:25px;border-radius:5px;background:var(--c)}.mains-note{border:1px solid var(--line);background:var(--panel);border-radius:15px;padding:18px}.mains-note>header{border-bottom:1px solid var(--line);padding-bottom:12px}.mains-note>header>span{font-size:7px;color:var(--cyan)}.mains-note>header h2{font-size:19px;line-height:1.45}.mains-note>header>div{display:flex;gap:5px}.mains-note>header button{border:1px solid var(--line);background:var(--panel2);border-radius:8px;padding:7px 8px;font-size:7px;cursor:pointer}.mains-note section{margin-top:15px}.mains-note section p,.mains-note li{font-size:9px;color:var(--muted);line-height:1.7}.mains-note li{margin-bottom:6px}.mains-note .map-cue{border:1px solid rgba(92,231,255,.2);background:rgba(92,231,255,.04);border-radius:11px;padding:11px}.mini-map-diagram{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:8px}.mini-map-diagram i{width:60px;height:3px;background:var(--c);box-shadow:0 0 10px var(--c)}.mini-map-diagram b{font-size:9px}.mini-map-diagram small{font-size:7px;color:var(--muted)}.mains-note>footer{margin-top:16px;border-left:2px solid var(--amber);padding-left:9px;font-size:8px;color:var(--muted)}

.mock-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.mock-grid article{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:15px}.mock-grid article>span{font-size:25px;color:var(--cyan)}.mock-grid h2{font-size:13px}.mock-grid p{font-size:8px;color:var(--muted);line-height:1.55;min-height:50px}.mock-grid article>div{font-size:8px}.mock-grid article>small{display:block;color:var(--muted);font-size:7px;margin:8px 0}.mock-grid button{width:100%;border:1px solid rgba(92,231,255,.25);background:rgba(92,231,255,.07);color:var(--cyan);border-radius:9px;padding:8px;font-size:8px;cursor:pointer}.history-table{border:1px solid var(--line);border-radius:12px;overflow:hidden}.history-table>div{display:grid;grid-template-columns:1fr 130px 60px;gap:8px;padding:9px 11px;border-bottom:1px solid var(--line);font-size:8px}.history-table>div:last-child{border:0}.history-table span{color:var(--muted)}.history-table em{font-style:normal;color:var(--cyan)}

.mistake-toolbar{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);background:var(--panel);border-radius:11px;padding:10px;margin-bottom:9px}.mistake-toolbar b{font-size:9px}.mistake-toolbar button{border:1px solid var(--line);background:var(--panel2);border-radius:8px;padding:7px;font-size:7px;cursor:pointer}.mistake-card{border:1px solid var(--line);border-left:3px solid var(--red);background:var(--panel);border-radius:12px;padding:13px;margin-bottom:8px}.mistake-card>header{display:flex;justify-content:space-between}.mistake-card>header span{font-size:6px;color:var(--red);letter-spacing:.1em}.mistake-card>header b{font-size:7px;margin-left:7px}.mistake-card>header small{font-size:7px;color:var(--muted)}.mistake-card h3{font-size:11px;line-height:1.5}.mistake-answer{display:grid;grid-template-columns:1fr 1fr;gap:6px}.mistake-answer span{border:1px solid var(--line);background:var(--panel2);border-radius:8px;padding:8px;font-size:7px}.mistake-card p{font-size:8px;color:var(--muted);line-height:1.55}.mistake-card footer{display:flex;gap:6px}.mistake-card footer button{border:1px solid var(--line);background:var(--panel2);border-radius:8px;padding:7px;font-size:7px;cursor:pointer}.drawer-v3-heading{font-size:12px;margin:18px 0 8px;border-top:1px solid var(--line);padding-top:14px}.drawer-studio-button{margin-top:10px}

@media(max-width:1050px){.studio-shell{grid-template-columns:170px 1fr}.dashboard-action-grid,.pattern-grid{grid-template-columns:repeat(2,1fr)}.studio-metrics{grid-template-columns:repeat(2,1fr)}.tutor-layout,.mains-layout{grid-template-columns:190px 1fr}.mock-grid{grid-template-columns:repeat(2,1fr)}.exam-body{grid-template-columns:140px 1fr}.question-palette>div{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.studio-progress-summary{display:none}.studio-shell{display:block}.studio-nav{height:auto;border-right:0;border-bottom:1px solid var(--line);display:flex;gap:4px;overflow:auto;padding:7px}.studio-nav-heading,.studio-source-note{display:none}.studio-nav-item{width:auto;min-width:95px;margin:0;padding:7px}.studio-nav-item>span{height:25px;width:25px}.studio-content{padding:18px 12px 50px}.study-page-head{display:block}.studio-map-return{margin-top:10px}.studio-metrics,.dashboard-action-grid,.pattern-grid,.lesson-metrics,.result-metrics{grid-template-columns:repeat(2,1fr)}.tutor-layout,.mains-layout,.exam-setup-grid,.exam-body,.flash-layout{display:block}.tutor-basin-list,.mains-layout>aside{display:flex;overflow:auto;max-height:none;margin-bottom:8px}.tutor-basin-list button{min-width:150px}.mains-layout>aside button{min-width:130px}.lesson-columns,.river-family-block,.review-answer,.mistake-answer{grid-template-columns:1fr}.pyq-toolbar{grid-template-columns:1fr}.pyq-options{grid-template-columns:1fr}.question-palette{margin-bottom:8px}.exam-controls{grid-template-columns:repeat(3,1fr)}.exam-controls .confirm-answer{grid-column:1/-1}.mock-grid{grid-template-columns:1fr}.flash-card{min-height:300px}.flash-card h2{font-size:18px;margin-top:45px}}

.pyq-source-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--panel2);color:var(--cyan);border-radius:8px;padding:7px 9px;font-size:7px;text-decoration:none;cursor:pointer}.pyq-source-link:hover{border-color:rgba(92,231,255,.45);background:rgba(92,231,255,.08)}

/* ================= VERSION 3.0.1: HEADER + MAP TOOLBAR ALIGNMENT FIX =================
   Keeps the brand, live statistics and utility controls inside the viewport at
   desktop widths, while preventing the map toolbar from spilling out of a
   narrower map column. */
.topbar{
  display:grid;
  grid-template-columns:minmax(220px,auto) minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  width:100%;
  max-width:100vw;
}
.brand,.brand>div,.stats-strip{min-width:0}
.brand{overflow:hidden}
.brand b,.brand small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stats-strip{
  justify-content:center;
  align-items:center;
  gap:clamp(10px,1.35vw,22px);
  overflow:hidden;
  white-space:nowrap;
}
.stats-strip span{flex:0 0 auto}
.top-actions{
  justify-self:end;
  flex:0 0 auto;
  min-width:max-content;
  flex-wrap:nowrap;
}
.top-actions>*{flex:0 0 auto}

.map-heading{
  max-width:calc(100% - 86px);
  overflow:hidden;
}
.map-heading b{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.quick-actions{
  max-width:calc(100% - 32px);
  overflow-x:auto;
  overflow-y:hidden;
  white-space:nowrap;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.quick-actions::-webkit-scrollbar{display:none}
.quick-actions button{flex:0 0 auto}

/* The Version 3 script adds four live statistics. At medium desktop widths,
   retain the two essential atlas totals and remove the secondary counters. */
@media(max-width:1580px){
  .topbar{gap:12px;padding-left:14px;padding-right:14px}
  .stats-strip span:nth-child(n+3){display:none}
}
@media(max-width:1340px){
  .topbar{grid-template-columns:minmax(0,1fr) auto}
  .stats-strip{display:none}
  .brand{max-width:430px}
}

/* Avoid a squeezed map between two fixed sidebars. The inspector moves below
   the atlas before the centre column becomes too narrow for its controls. */
@media(max-width:1120px){
  html,body{overflow:auto}
  .shell{height:auto;display:grid;grid-template-columns:285px minmax(0,1fr)}
  .inspector{grid-column:1/-1;border-left:0;border-top:1px solid var(--line)}
  .map-wrap{min-height:680px}
}
@media(max-width:820px){
  .topbar{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:0 9px}
  .brand small{display:none}
  .brand b{font-size:12px}
  .logo{width:36px;height:36px}
  .icon{width:36px;height:36px}
}
@media(max-width:700px){
  .top-actions{gap:5px}
  .quick-actions{left:10px;right:10px;max-width:none}
  .map-heading{left:10px;max-width:calc(100% - 72px)}
}


/* ================= VERSION 3.0.2: CONSISTENT STUDY CARDS + MAP FOCUS ================= */
.focus-button{
  height:38px;
  min-width:84px;
  padding:0 11px;
  border:1px solid var(--line);
  background:var(--panel2);
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  cursor:pointer;
  white-space:nowrap;
}
.focus-button span{font-size:15px;line-height:1}
.focus-button b{font-size:8px;letter-spacing:.04em}
.focus-button:hover,.focus-button[aria-pressed="true"]{
  color:var(--cyan);
  border-color:rgba(92,231,255,.42);
  background:rgba(92,231,255,.09);
}

/* The learning-mode rail is deliberately one column. Button elements are
   inline-block by default, which previously made each card adopt a different
   content width. These rules give every study mode the same geometry. */
.explorer.learn-mode .explorer-list{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:10px;
  overflow-y:auto;
  overflow-x:hidden;
  padding:2px 3px 12px;
  scrollbar-gutter:stable;
}
.explorer.learn-mode .learn-card{
  width:100%;
  min-width:0;
  min-height:136px;
  flex:0 0 136px;
  margin:0;
  padding:17px 15px;
  border-radius:20px;
  display:grid;
  grid-template-rows:auto auto auto;
  align-content:center;
  justify-items:center;
  text-align:center;
  overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.explorer.learn-mode .learn-card:hover{
  transform:translateY(-2px);
  background:linear-gradient(145deg,var(--panel2),rgba(91,125,255,.055));
}
.explorer.learn-mode .learn-card span{
  width:100%;
  font-size:8px;
  line-height:1.35;
  white-space:normal;
}
.explorer.learn-mode .learn-card b{
  width:100%;
  margin:9px 0 6px;
  font-size:13px;
  line-height:1.3;
  white-space:normal;
  overflow-wrap:anywhere;
}
.explorer.learn-mode .learn-card small{
  width:100%;
  max-width:250px;
  min-height:30px;
  font-size:8px;
  line-height:1.55;
  white-space:normal;
  overflow-wrap:anywhere;
}
.explorer.learn-mode .explorer-footer{display:none}
.explorer.learn-mode .list-meta{margin-bottom:8px}
.explorer.learn-mode .mini-progress{flex:0 0 auto}

/* Focus mode removes both side panels and lets Leaflet occupy the complete
   atlas workspace. The top bar remains available so the user always has a
   visible way to leave Focus mode; F toggles it and Escape exits it. */
body.focus-mode .shell{
  display:block!important;
  height:calc(100vh - 72px)!important;
}
body.focus-mode .explorer,
body.focus-mode .inspector{
  display:none!important;
}
body.focus-mode .map-wrap{
  width:100%!important;
  height:calc(100vh - 72px)!important;
  min-height:calc(100vh - 72px)!important;
  border:0!important;
}
body.focus-mode .map-heading{max-width:min(620px,calc(100% - 100px))}

@media(max-width:820px){
  .focus-button{width:36px;min-width:36px;padding:0}
  .focus-button b{display:none}
}
@media(max-width:700px){
  .explorer.learn-mode .learn-card{min-height:124px;flex-basis:124px;padding:14px 12px;border-radius:17px}
  .explorer.learn-mode .learn-card b{font-size:12px}
}
