/* PSA CURRICULUM EXPANSION V1 */
.math-game-page{max-width:1100px;margin:auto;padding-bottom:80px}.math-game-shell{margin-top:18px}.math-game-head{position:relative;padding:18px 20px 24px;border:1px solid #4a342a;border-radius:18px 18px 0 0;background:linear-gradient(125deg,#0b0b0b,#17100d)}.math-game-head h1{margin:5px 0 0;font-size:clamp(27px,5vw,58px)}.math-scoreboard{display:flex;gap:10px;flex-wrap:wrap;margin-top:13px}.math-scoreboard span{font-size:10px;letter-spacing:1.4px;padding:8px 10px;border:1px solid #4e4036;border-radius:999px;color:#a99d92;background:#0a0908}.math-scoreboard b{color:#f2c476}.math-meter{position:absolute;left:0;right:0;bottom:0;height:5px;background:#241813;overflow:hidden}.math-meter i{display:block;height:100%;background:linear-gradient(90deg,#78201f,#dc4d33,#f0bd64);box-shadow:0 0 24px #db503d;transition:width .35s ease}.math-arena{position:relative;overflow:hidden;min-height:600px;padding:clamp(24px,5vw,55px);border:1px solid #47372f;border-top:0;border-radius:0 0 20px 20px;background:radial-gradient(circle at 50% 15%,#2c1812 0,#100c0a 35%,#070707 75%);display:grid;justify-items:center;align-content:center}.math-pulse{position:absolute;border-radius:50%;border:1px solid #db4b3226;box-shadow:0 0 80px #d5422528;animation:mathBreath 4s ease-in-out infinite;pointer-events:none}.math-pulse-a{width:380px;height:380px}.math-pulse-b{width:520px;height:520px;animation-delay:-2s}.math-kicker{z-index:1;color:#d9af6e;font-size:10px;letter-spacing:3px}.math-problem{z-index:1;margin:15px 0 22px;font:900 clamp(72px,18vw,170px)/.9 Georgia,serif;letter-spacing:-7px;color:#f7eee2;text-shadow:0 0 28px #cf563d2d}.math-listen{z-index:2;margin-bottom:18px}.math-answer-grid{z-index:2;display:grid;grid-template-columns:repeat(2,minmax(150px,270px));gap:13px;width:min(100%,560px)}.math-answer-grid>button[data-answer]{min-height:112px;border:1px solid #59443a;border-radius:18px;background:linear-gradient(145deg,#181412,#0e0c0b);color:#f5efe9;display:grid;grid-template-columns:38px 1fr 24px;align-items:center;padding:15px 18px;text-align:center;box-shadow:inset 0 0 0 1px #ffffff08,0 9px 24px #0006;transition:transform .13s ease,border-color .13s ease,box-shadow .13s ease}.math-answer-grid>button[data-answer]:active{transform:scale(.96)}.math-answer-grid>button[data-answer] span{font:700 11px/1 Arial;letter-spacing:1px;color:#b19374}.math-answer-grid>button[data-answer] b{font:900 clamp(30px,7vw,52px)/1 Georgia,serif}.math-answer-grid>button[data-answer] i{font-style:normal;color:#80746e}.math-answer-grid>button.is-correct{border-color:#68e28c;background:linear-gradient(145deg,#143020,#0b1710);box-shadow:0 0 28px #45da7844}.math-answer-grid>button.is-wrong{border-color:#ff6259;background:#321314;animation:mathShake .3s ease}.math-feedback{grid-column:1/-1;min-height:0}.math-feedback.show{padding:14px 16px;border-radius:12px}.math-next{grid-column:1/-1;text-align:center}.math-bottom{z-index:1;display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-top:25px;color:#736961;font-size:9px;letter-spacing:2px}.math-preview-nav{display:grid;grid-template-columns:repeat(12,1fr);gap:5px;margin-top:14px}.math-preview-nav a{display:grid;place-items:center;min-height:36px;border:1px solid #453831;color:#c8b9ad;text-decoration:none;border-radius:5px;background:#100d0b}.math-preview-nav a.active{border-color:#d34d36;color:#fff;box-shadow:0 0 12px #d34d3640}.math-hit .math-problem{animation:mathBoom .55s ease}.math-complete{text-align:center;padding:70px 20px}.math-orbit{font-size:70px;filter:drop-shadow(0 0 20px #d94d35);animation:mathBreath 2s infinite}.math-complete h1{font-size:clamp(42px,7vw,80px)}.math-complete h1 span{color:#d65239}@keyframes mathBreath{50%{transform:scale(1.06);opacity:.5}}@keyframes mathShake{25%{transform:translateX(-7px)}50%{transform:translateX(6px)}75%{transform:translateX(-3px)}}@keyframes mathBoom{45%{transform:scale(1.08);text-shadow:0 0 45px #67e08c}100%{transform:scale(1)}}
@media(max-width:650px){.math-game-page{padding-inline:10px}.math-arena{min-height:calc(100svh - 190px);padding:22px 12px}.math-problem{font-size:clamp(65px,25vw,105px);letter-spacing:-4px}.math-answer-grid{grid-template-columns:repeat(2,1fr);gap:9px}.math-answer-grid>button[data-answer]{min-height:94px;padding:10px 8px;grid-template-columns:25px 1fr 18px}.math-answer-grid>button[data-answer] b{font-size:clamp(29px,10vw,44px)}.math-preview-nav{grid-template-columns:repeat(6,1fr)}}
/* RULERS + MEASURING CUPS */
.learn-ruler{margin:8px 0 24px;padding:18px;border:1px solid #594739;border-radius:14px;background:linear-gradient(#1a1511,#0d0c0a)}.ruler-caption{font-size:9px;letter-spacing:2px;color:#d9ad67;margin-bottom:13px}.ruler-face{position:relative;height:118px;margin:0 20px;background:linear-gradient(#dbc59a,#b99f70);border:2px solid #735c37;border-radius:5px;box-shadow:inset 0 -14px 28px #674d292c}.ruler-tick{position:absolute;top:0;width:1px;height:30%;background:#342716}.ruler-tick.minor{height:26%}.ruler-tick.quarter{height:42%}.ruler-tick.half{height:58%;width:2px}.ruler-tick.major{height:75%;width:2px}.ruler-tick b{position:absolute;top:83px;left:-7px;color:#342716;font:700 14px Arial}.ruler-pointer{position:absolute;top:-28px;transform:translateX(-50%);color:#d63b2e;font-style:normal;font-size:25px;filter:drop-shadow(0 0 8px #d33)}.ruler-pointer:after{content:'';position:absolute;left:50%;top:25px;width:2px;height:95px;background:#c62f2a;opacity:.75}.measure-cup-visual{display:grid;justify-items:center;margin:5px 0 22px}.cup-label{font-size:9px;letter-spacing:2px;color:#d8b36e;margin-bottom:10px}.cup-wrap{position:relative;width:220px;height:240px}.cup-body{position:absolute;left:20px;bottom:8px;width:150px;height:210px;border:4px solid #918b7c;border-top:0;border-radius:0 0 25px 25px;overflow:hidden;background:#cfe4e80d}.cup-body:before{content:'';position:absolute;left:0;right:0;top:0;border-top:4px solid #918b7c}.cup-handle{position:absolute;right:0;top:68px;width:75px;height:90px;border:9px solid #918b7c;border-left:0;border-radius:0 35px 35px 0}.cup-fill{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(#9ed6d966,#4aa2b780);transition:height .4s ease}.cup-line{position:absolute;right:7px;left:57px;border-top:2px solid #e6e0cc88;color:#d7d3c7;font:700 10px Arial;padding-top:2px;z-index:2}.cup-line.l100{top:5px}.cup-line.l75{top:51px}.cup-line.l50{top:101px}.cup-line.l25{top:151px}.readalong-page .chapter-question{overflow:hidden}
@media(max-width:650px){.ruler-face{margin:0 5px;height:105px}.ruler-tick b{top:73px;font-size:12px}.cup-wrap{transform:scale(.9);margin:-10px 0}.learn-ruler{padding:13px}}


/* PSA CURRICULUM EXPANSION V2 // READING POWER + SOCIAL STUDIES */
.drill-page,.state-map-page{max-width:1120px;margin:auto;padding-bottom:90px}.drill-shell,.state-map-shell{margin-top:18px}.drill-head,.state-map-head{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:19px 22px;border:1px solid #50352d;border-radius:18px 18px 0 0;background:linear-gradient(125deg,#0b0a09,#1b0e0d)}.reading-power-page .drill-head{border-color:#44382b;background:linear-gradient(125deg,#090909,#18130c)}.drill-head h1,.state-map-head h1{margin:5px 0 0;font-size:clamp(26px,4vw,48px)}.drill-progress{min-width:190px;color:#a98f80;font-size:10px;letter-spacing:2px}.drill-progress>span{display:block;text-align:right;color:#e8bd76;font-weight:800}.drill-stage{min-height:620px;display:grid;justify-items:center;align-content:center;padding:clamp(25px,5vw,58px);border:1px solid #4a332c;border-top:0;border-radius:0 0 20px 20px;background:radial-gradient(circle at 50% 14%,#2a1612 0,#100d0b 35%,#070707 75%);position:relative;overflow:hidden}.reading-power-page .drill-stage{background:radial-gradient(circle at 50% 12%,#2b2519 0,#100e0a 38%,#070707 78%)}.drill-stage:before{content:"";position:absolute;width:520px;height:520px;border:1px solid #d64e3020;border-radius:50%;box-shadow:0 0 100px #c5402222;animation:mathBreath 5s ease-in-out infinite;pointer-events:none}.drill-privacy{position:relative;z-index:1;font-size:9px;letter-spacing:2.3px;color:#89766b}.drill-display{position:relative;z-index:1;margin:22px 0 4px;max-width:100%;text-align:center;font:1000 clamp(74px,16vw,155px)/.9 Georgia,serif;letter-spacing:-4px;color:#fbf0df;text-shadow:0 0 35px #e45f3a30;overflow-wrap:anywhere}.reading-power-page .drill-display{font-family:Arial Black,Segoe UI,sans-serif;letter-spacing:3px}.drill-display-sub{position:relative;z-index:1;color:#dfad66;font:800 11px/1.3 ui-monospace,monospace;letter-spacing:2px;text-align:center}.drill-teach{position:relative;z-index:1;max-width:780px;margin:21px auto 12px;text-align:center;color:#e4ddd4;font-size:clamp(17px,2vw,22px);line-height:1.75}.drill-speech{position:relative;z-index:2;justify-content:center;flex-wrap:wrap}.speak-btn.slow{border-color:#6b5941;color:#ead4a7}.drill-say{position:relative;z-index:1;color:#8e7d72;font-size:9px;letter-spacing:2.1px;text-align:center;margin:8px 0 25px}.drill-question{position:relative;z-index:2;width:min(100%,780px);padding:21px;border-top:1px solid #3c2d28;text-align:center}.drill-question h2{font-size:clamp(22px,4vw,37px);margin:8px 0 13px}.drill-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:10px;margin-top:17px}.drill-answer-grid>button[data-answer]{min-height:82px;border:1px solid #554039;border-radius:14px;background:linear-gradient(145deg,#191311,#0c0b0a);color:#f5ede4;display:grid;grid-template-columns:32px 1fr 22px;align-items:center;padding:12px 15px;transition:.14s;box-shadow:inset 0 0 0 1px #fff5}.drill-answer-grid>button[data-answer] span{color:#b49473;font:800 10px Arial}.drill-answer-grid>button[data-answer] b{font-size:clamp(21px,4vw,34px);text-transform:none}.reading-power-page .drill-answer-grid>button[data-answer] b{text-transform:uppercase;letter-spacing:1px}.drill-answer-grid>button[data-answer] i{font-style:normal}.drill-answer-grid>button.is-correct{border-color:#54d77d;background:#10281a;box-shadow:0 0 25px #49d27435}.drill-answer-grid>button.is-wrong{border-color:#f15853;background:#321314}.drill-feedback,.drill-next{grid-column:1/-1}.drill-preview-nav{display:grid;grid-template-columns:repeat(15,1fr);gap:4px;margin-top:12px}.drill-preview-nav a{display:grid;place-items:center;min-height:32px;border:1px solid #3f342f;border-radius:4px;background:#0d0b0a;font-size:9px}.drill-preview-nav a.active{color:#fff;border-color:#d55138;background:#2d1511}.drill-complete{text-align:center;padding:80px 20px}.drill-complete-mark{font-size:70px;color:#de573d;filter:drop-shadow(0 0 18px #d44)}.drill-complete h1{font-size:clamp(40px,7vw,76px)}.drill-complete h1 span{color:#d9573e}
/* STATE PLACEMENT */
.state-map-shell{border:1px solid #4a352e;border-radius:18px;background:#080707;overflow:hidden}.state-map-head{border:0;border-bottom:1px solid #43312b;border-radius:0}.state-map-instruction{text-align:center;padding:25px 20px 15px;background:radial-gradient(circle at 50% 0,#251410,#0b0908 65%)}.state-map-instruction>span{font-size:9px;letter-spacing:2.5px;color:#b98e74}.state-drag-card{display:inline-grid;place-items:center;min-height:70px;margin:9px auto 12px;padding:10px 28px;border:1px solid #e26042;border-radius:13px;background:linear-gradient(145deg,#421c15,#1b0e0c);box-shadow:0 0 30px #dc55382a;color:#fff1e8;font:900 clamp(24px,5vw,43px)/1 ui-monospace,monospace;cursor:grab;user-select:none}.state-drag-card.dragging{opacity:.55;transform:scale(.98)}.state-map-instruction p{margin:0 auto 10px;max-width:670px;color:#d8ccc5}.state-map-instruction .speech-controls{justify-content:center}.region-context{text-align:center;padding:13px 18px 5px}.region-context>span{font-size:8px;letter-spacing:2px;color:#725f56}.region-context>strong{display:block;margin-top:8px;color:#e3b777;letter-spacing:2px}.region-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;max-width:760px;margin:9px auto 0}.region-strip i{padding:5px 2px;border:1px solid #352b28;border-radius:4px;color:#665952;font-style:normal;font-size:7px}.state-map-quiz{padding:10px 16px 22px}.state-map-grid{--cols:5;position:relative;width:min(100%,760px);height:430px;margin:0 auto;border:1px solid #43332d;border-radius:18px;background:radial-gradient(ellipse at center,#14130f,#080807 76%);overflow:hidden}.state-map-grid:before{content:"SCHEMATIC REGION MAP";position:absolute;left:14px;top:12px;color:#5e514b;font-size:8px;letter-spacing:2px}.state-map-grid .state-drop{position:absolute;left:calc(7% + var(--x)*17%);top:calc(11% + var(--y)*17%);width:14.5%;height:13%;min-width:58px;min-height:48px;border:1px solid #6b5d54;border-radius:8px;background:linear-gradient(145deg,#171614,#0e0d0c);color:#81766e;display:grid;place-items:center;box-shadow:inset 0 0 0 1px #ffffff05;transition:.15s}.state-map-grid .state-drop:hover,.state-map-grid .state-drop.drag-over{border-color:#dd9b62;box-shadow:0 0 20px #de754034;transform:scale(1.04)}.state-map-grid .state-drop .state-reveal{font:900 18px ui-monospace,monospace;opacity:.08}.state-map-grid .state-drop i{position:absolute;right:5px;top:4px;font-style:normal;font-size:9px}.state-map-grid .state-drop small{display:none}.state-map-grid .state-drop.is-wrong{border-color:#ff5757;background:#381617;animation:mathShake .3s ease}.state-map-grid .state-drop.is-correct{border-color:#56e183;background:#11331e;box-shadow:0 0 26px #42e27a50}.state-map-grid .state-drop.is-correct .state-reveal{opacity:1;color:#8dffab}.map-feedback{max-width:760px;margin:12px auto}.state-map-note{max-width:760px;margin:0 auto 18px;padding:0 18px;color:#766a64;font-size:9px;line-height:1.6;text-align:center}
/* SOCIAL STUDIES READ-ALONG VISUALS */
.map-scale-visual,.compass-visual,.water-visual,.sky-visual,.road-visual{margin:8px 0 23px;padding:20px;border:1px solid #4b3a33;border-radius:15px;background:linear-gradient(145deg,#17120f,#0b0a09)}.map-fake-route{height:105px;position:relative;background:radial-gradient(circle at 20% 40%,#614a3540,transparent 25%),linear-gradient(25deg,transparent 49%,#45382f 50%,transparent 51%)}.map-point{position:absolute;top:42%;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#d74e36;color:#fff;font-style:normal;font-weight:900}.map-point.a{left:10%}.map-point.b{right:10%}.map-route{position:absolute;left:17%;right:17%;top:52%;border-top:4px dashed #d9b174;transform:rotate(calc((var(--route) - 2)*5deg));transform-origin:center}.scale-rule{max-width:520px;margin:15px auto 0;border-top:5px solid #e3d0a7;position:relative;text-align:center}.scale-rule:before,.scale-rule:after{content:"";position:absolute;top:-10px;width:2px;height:15px;background:#e3d0a7}.scale-rule:before{left:0}.scale-rule:after{right:0}.scale-rule span{display:inline-block;margin-top:8px;color:#d4b375;font-size:10px;letter-spacing:2px}.compass-visual{display:grid;place-items:center}.compass-ring{position:relative;width:230px;height:230px;border:2px solid #917c69;border-radius:50%;box-shadow:inset 0 0 45px #000,0 0 25px #a4482d22}.compass-ring span{position:absolute;font:900 18px ui-monospace,monospace;color:#d8c8b7}.compass-ring .north{top:8px;left:50%;transform:translateX(-50%);color:#ef6048}.compass-ring .south{bottom:8px;left:50%;transform:translateX(-50%)}.compass-ring .east{right:10px;top:50%;transform:translateY(-50%)}.compass-ring .west{left:10px;top:50%;transform:translateY(-50%)}.compass-needle{position:absolute;left:50%;top:20%;width:4px;height:60%;background:linear-gradient(#f15842 0 50%,#d6c8ae 50%);transform-origin:50% 50%;box-shadow:0 0 12px #e74f39}.compass-ring b{position:absolute;inset:0;display:grid;place-items:center;color:#d8b16f}.water-visual{height:210px;position:relative;overflow:hidden;background:linear-gradient(145deg,#151610,#080d0d)}.water-visual span{position:absolute;right:12px;top:10px;color:#829d9f;font-size:8px;letter-spacing:2px}.river-main,.river-branch{position:absolute;display:block;background:#4a9ab3;border-radius:999px;box-shadow:0 0 18px #4aa4bc55}.river-main{width:42px;height:300px;left:52%;top:-40px;transform:rotate(12deg)}.river-branch{width:22px;height:150px}.river-branch.one{left:31%;top:7px;transform:rotate(-51deg)}.river-branch.two{right:27%;top:42px;transform:rotate(55deg)}.water-visual.crossing:after{content:"BRIDGE";position:absolute;left:38%;top:45%;width:36%;border-top:12px solid #c2ad86;border-bottom:2px solid #5b4c37;color:#201a12;text-align:center;font:900 10px Arial;transform:rotate(12deg)}.sky-visual{height:220px;position:relative;overflow:hidden;background:linear-gradient(#152237,#382516 65%,#0d0b09)}.sun-disc{position:absolute;right:15%;top:18%;font-size:60px;color:#f3c55b;font-style:normal;filter:drop-shadow(0 0 25px #f5b43d)}.earth-disc{position:absolute;left:18%;bottom:20%;font-size:75px;color:#4e7d75;text-shadow:0 0 30px #568d87}.shadow-stick{position:absolute;left:48%;bottom:21%;height:80px;border-left:5px solid #d7b17a}.shadow-stick:after{content:"";position:absolute;left:-2px;bottom:0;width:100px;border-top:5px solid #1d1813;transform:rotate(14deg);transform-origin:left}.sky-visual span,.road-visual>span{position:absolute;left:13px;top:10px;font-size:8px;letter-spacing:2px;color:#99a0a6}.road-visual{height:220px;position:relative;overflow:hidden}.road-lanes{position:absolute;inset:0;background:#181818;transform:perspective(400px) rotateX(55deg) scale(1.4);transform-origin:bottom}.road-lanes i{position:absolute;top:0;bottom:0;border-left:3px dashed #d8d1b4}.road-lanes i:nth-child(1){left:32%}.road-lanes i:nth-child(2){left:50%}.road-lanes i:nth-child(3){left:68%}.interstate-shield{position:absolute;right:13%;top:25%;width:130px;height:135px;padding-top:24px;border-radius:48% 48% 55% 55%;background:linear-gradient(#b53c35 0 24%,#f1eee7 24% 35%,#24477b 35%);border:4px solid #eee;color:#fff;text-align:center;font:900 11px Arial;box-shadow:0 10px 30px #0009}.interstate-shield b{display:block;font-size:48px;line-height:1}.interstate-shield small{font-size:10px}
@media(max-width:700px){.drill-page,.state-map-page{padding-inline:8px}.drill-head,.state-map-head{align-items:stretch;flex-direction:column}.drill-progress{min-width:0}.drill-progress>span{text-align:left}.drill-stage{min-height:calc(100svh - 165px);padding:24px 12px}.drill-display{font-size:clamp(62px,21vw,105px)}.drill-answer-grid{grid-template-columns:1fr 1fr}.drill-answer-grid>button[data-answer]{min-height:76px;padding:9px}.drill-answer-grid>button[data-answer] b{font-size:clamp(18px,6vw,28px)}.drill-preview-nav{grid-template-columns:repeat(10,1fr)}.region-strip{grid-template-columns:repeat(3,1fr)}.state-map-grid{height:390px}.state-map-grid .state-drop{left:calc(4% + var(--x)*18.5%);top:calc(10% + var(--y)*17%);width:16%;min-width:48px;height:12%;min-height:44px}.state-map-grid .state-drop .state-reveal{font-size:15px}.state-map-instruction{padding-inline:10px}.state-drag-card{font-size:clamp(22px,8vw,34px);padding-inline:16px}.compass-ring{width:200px;height:200px}.interstate-shield{right:8%;transform:scale(.88)}}

.state-drag-ghost{position:fixed;z-index:9999;pointer-events:none;transform:translate(-50%,-50%) scale(.92);margin:0;opacity:.94;box-shadow:0 18px 45px #000b,0 0 28px #e2604260}.state-map-grid.touch-dragging .state-drop{touch-action:none}.state-drag-card{touch-action:none}.state-drag-card.touch-dragging{opacity:.34}.state-map-grid .state-drop.touch-over{border-color:#ffb16d;background:#291812;box-shadow:0 0 28px #e7804355;transform:scale(1.06)}
