:root{--ink:#173d35;--muted:#52655e;--paper:#f6f5ef;--accent:#277c5a;--soft:#dcebcf;--line:#d7ddd3;--gold:#daba66;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.55;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:12px;padding:11px 17px;min-height:46px;touch-action:manipulation;font-weight:650;transition:background .16s,transform .16s}button:hover{background:var(--soft)}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:default}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #cb861c;outline-offset:4px}header{max-width:1280px;padding:24px 38px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:23px;font-weight:850;letter-spacing:-1px}.brand-icon{background:var(--ink);border-radius:50%;width:36px;height:36px;color:white;text-align:center;font-family:Georgia,serif;font-style:italic}.brand small{font-size:10px;letter-spacing:1.5px;border-left:1px solid var(--line);padding-left:10px;margin-left:5px}nav{display:flex;gap:20px;align-items:center;font-size:13px}nav button{font-size:13px;background:transparent;padding:8px 12px}main{max-width:1200px;margin:auto;padding:18px 36px 60px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:800;text-transform:uppercase}.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;padding:38px 0 42px;align-items:center}.hero h1{font-size:clamp(36px,5vw,66px);font-weight:780;letter-spacing:-3px;line-height:1.16;margin:20px 0}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.hero p{font-size:17px;color:var(--muted);max-width:520px}.hero-art{position:relative;aspect-ratio:1.25;display:grid;place-items:center;overflow:hidden;border-radius:50% 50% 45% 45%;background:var(--soft)}.hero-art img{width:110%;mix-blend-mode:multiply;object-fit:contain}.hero-tag{position:absolute;bottom:8%;background:var(--ink);color:white;padding:10px 22px;border-radius:30px;font-size:13px}.mission-nav{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0}.mission-nav a{padding:10px 17px;border-radius:30px;text-decoration:none;font-size:14px}.mission-nav a[aria-current=page]{background:var(--ink);color:#fff}.section-title{display:flex;justify-content:space-between;align-items:end;margin:36px 0 18px}.section-title h2{font-size:26px;letter-spacing:-1px;margin:0}.section-title p{font-size:13px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{overflow:hidden;border:1px solid var(--line);border-radius:22px;background:white;box-shadow:0 6px 16px #173d3504}.card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:#f1f2eb}.card-body{padding:22px}.card .serial{font-size:11px;letter-spacing:1.6px;color:var(--muted)}.card h3{margin:10px 0 4px;font-size:22px;letter-spacing:-.8px}.card p{font-size:14px;color:var(--muted);min-height:44px}.card button{width:100%;text-align:left;display:flex;justify-content:space-between;background:var(--paper)}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.chip{font-size:12px;padding:4px 10px;border-radius:20px;background:var(--soft)}.originals{padding:24px;border:1px solid var(--line);border-radius:18px;margin-top:28px;background:#ffffff80}.originals h3{margin:0 0 6px}.originals p{margin:6px 0;color:var(--muted);font-size:14px}.originals a{display:inline-block;margin:8px 15px 0 0;font-size:14px}footer{max-width:1200px;margin:auto;padding:26px 36px 40px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}footer p{width:100%;font-size:12px;margin:0}footer button{font-size:12px;min-height:32px;padding:2px 8px;background:transparent}.primary{background:var(--ink)!important;color:white!important;border-color:var(--ink)}.secondary{background:var(--soft)}.playhead{display:flex;align-items:center;gap:18px;margin:12px 0 20px}.playhead h1{font-size:25px;margin:0;letter-spacing:-1px}.playhead small{color:var(--muted)}.playhead .back{border-radius:50%;font-size:20px;width:48px;padding:4px}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px}.question{padding:22px 26px;background:var(--ink);color:white;border-radius:20px 20px 0 0}.question .eyebrow{opacity:.75;letter-spacing:1px}.question h2{font-size:24px;line-height:1.45;margin:8px 0;letter-spacing:-.5px}.question p{font-size:15px;margin:4px 0;color:#dfece6}.board{background:#fff;min-height:360px;border:1px solid var(--line);border-top:0;border-radius:0 0 20px 20px;padding:26px;position:relative;overflow:hidden}.board h3{font-size:18px;margin:0 0 20px}.board button{font-size:17px}.controlrow{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px}.feedback{min-height:56px;border-radius:12px;background:var(--soft);padding:12px 16px;margin:16px 0;font-weight:600;font-size:15px}.feedback.error{background:#fff0d7;color:#704619}.feedback.success{background:#d9f3df;color:#215432}.side-card{padding:22px;background:#eeeee5;border-radius:18px;margin-bottom:16px}.side-card h3{margin:0 0 14px;font-size:16px}.side-card ol{padding-left:20px;font-size:14px;line-height:1.8}.side-card p{font-size:14px;color:var(--muted)}.word{font-family:Georgia,serif;font-size:27px;color:var(--accent);margin:10px 0}.progress{height:6px;background:var(--line);border-radius:6px;overflow:hidden;margin:12px 0}.progress span{display:block;background:var(--accent);height:100%;transition:width .3s}.step-label{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.hint{font-size:15px;padding:12px;border-left:3px solid var(--accent);background:#fff}.choices{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.choices button{min-width:90px}.slots{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;padding:20px 0}.slot{border:2px dashed var(--line);border-radius:10px;min-width:48px;min-height:52px;padding:10px;text-align:center;font-size:21px;font-weight:800}.slot.filled{background:var(--soft);border-style:solid;border-color:var(--accent)}.tower{min-height:200px;display:flex;flex-direction:column-reverse;align-items:center;justify-content:flex-start;gap:6px;padding:18px;background:linear-gradient(#f6f8ed,#e4eddd);border-radius:16px;border-bottom:8px solid #bca378;margin-bottom:16px}.floor{padding:10px 25px;border-radius:8px;background:var(--accent);color:white;min-width:130px;text-align:center;box-shadow:4px 4px 0 #173d3520}.gamegrid{display:grid;gap:6px;max-width:410px;margin:16px auto;aspect-ratio:1}.cell{padding:2px!important;min-width:0!important;min-height:0!important;border-radius:8px!important;font-size:clamp(11px,2.8vw,16px)!important;overflow-wrap:anywhere;line-height:1.2;position:relative}.cell.wall{background:#53695d;border-color:#53695d;color:white}.cell.player{background:#facb68;border:2px solid #966c1d}.cell.path{background:#ddedc6}.cell.target{background:#d3eee9}.cell small{display:block;font-size:10px}.dpad{display:grid;grid-template-columns:repeat(3,52px);grid-template-rows:repeat(2,48px);gap:6px;justify-content:center;margin:16px}.dpad button{padding:4px;font-size:22px}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-column:1;grid-row:2}.dpad button:nth-child(3){grid-column:2;grid-row:2}.dpad button:nth-child(4){grid-column:3;grid-row:2}.padwrap{display:flex;justify-content:center}.splash{padding:35px 25px;text-align:center;background:white;border:1px solid var(--line);border-radius:24px}.splash img{width:100%;max-width:450px;border-radius:20px}.splash h2{font-size:32px;margin:20px 0 8px}.splash .primary{min-width:200px}.instructions{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:780px;margin:25px auto;text-align:left}.instructions div{background:var(--paper);padding:18px;border-radius:15px}.instructions strong{display:block;margin-bottom:8px}.instructions span{font-size:14px;color:var(--muted)}.timing{height:210px;background:linear-gradient(#eef6ed,#dceacb);border-radius:15px;position:relative;margin-bottom:14px;overflow:hidden}.moving{position:absolute;top:30px;left:0;width:64px;height:52px;background:var(--accent);border-radius:8px;color:white;display:grid;place-items:center;font-size:14px}.landing{position:absolute;bottom:20px;left:36%;width:28%;height:68px;border:3px dashed var(--accent);border-radius:10px;background:#ffffff90;display:grid;place-items:center}.lane{height:230px;position:relative;border-radius:16px;background:linear-gradient(#e1f0ec,#c4e0ec);overflow:hidden}.float-token{position:absolute;min-width:78px;font-size:15px!important;border:2px solid var(--accent);box-shadow:0 4px 0 #173d3510}.ocean{background:linear-gradient(#e9f7fa,#a9dcd6);min-height:300px;border-radius:18px;position:relative;touch-action:none;overflow:hidden}.sea-item{position:absolute;min-width:56px;max-width:100px;min-height:55px;padding:4px!important;background:#fffdf4d9!important;border:1px solid #75a2a5;font-size:15px!important}.sea-item span{font-size:27px;display:block;line-height:1.1}.sea-item.done{opacity:.25}.meter{height:16px;background:#dce4dc;border-radius:12px;overflow:hidden;margin:10px 0}.meter span{display:block;height:100%;background:var(--accent);transition:width .2s}.big-number{font-size:35px;font-family:Georgia,serif;color:var(--accent)}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.resource{padding:14px 10px;border:1px solid var(--line);border-radius:14px;text-align:center}.resource strong{display:block}.resource p{font-size:13px}.resource button{padding:5px 11px}.resource .symbol{font-size:35px}.selected{border:2px solid var(--accent)!important;background:var(--soft)!important}.circuit{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;align-items:center;margin:25px 0}.node{padding:16px;border-radius:16px;background:var(--soft);text-align:center}.node small{display:block}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.card-grid button{padding:18px 8px;min-height:88px}.lettergrid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.lettergrid button{padding:8px 2px;min-width:0}.story{background:linear-gradient(130deg,var(--soft),#fff4da);padding:24px;border-radius:18px;margin-bottom:20px}.story .scene{font-size:60px;text-align:center}.story p{font-size:18px}.crossword{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;max-width:350px;margin:20px auto}.crossword input{width:100%;min-width:0;aspect-ratio:1;border:1px solid var(--accent);border-radius:5px;text-align:center;font-size:21px;text-transform:uppercase;background:var(--soft)}.crossword .void{visibility:hidden}.review-list{max-width:650px;margin:25px auto;text-align:left}.review-item{background:var(--paper);border-radius:14px;padding:16px;margin:10px 0}.review-item strong{font-size:20px}.review-item p{margin:5px 0;font-size:14px}.record{padding:20px;border-radius:18px;background:var(--soft);margin-top:28px}.skip{position:absolute;top:-80px;left:10px;z-index:10;background:#fff;padding:10px}.skip:focus{top:10px}.sr{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}dialog{border:1px solid var(--line);border-radius:22px;padding:30px;max-width:460px;width:calc(100% - 32px);color:var(--ink)}dialog::backdrop{background:#142d2870}dialog label{display:block;margin:18px 0}dialog .close{float:right}.large{font-size:19px}.large .question h2{font-size:28px}.large button{font-size:18px}.large .side-card p,.large .card p{font-size:17px}.reduced *{animation:none!important;transition:none!important}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);padding:12px 25px;border-radius:30px;background:var(--ink);color:white;z-index:20}.connection-line{font-size:28px;color:var(--accent)}.result-badge{font-size:64px}.completion{font-size:12px;color:var(--accent);font-weight:800}.shot{position:relative;min-height:240px;border-radius:16px;background:linear-gradient(#e8efe5,#fff9e5)}.targets{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:20px}.target-brick{padding:16px 5px;text-align:center;background:var(--soft);border:2px solid var(--accent);border-radius:10px;font-weight:700}.paddle{position:absolute;bottom:15px;width:28%;height:20px;background:var(--ink);border-radius:10px;transition:left .2s}.beam{position:absolute;bottom:35px;width:4px;height:115px;background:#d4aa36;transform:translateX(-50%)}
@media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}.play-layout{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:16px}.side-card{margin:0}.hero{gap:20px}.hero h1{font-size:45px}.hero-art{aspect-ratio:1}.board{min-height:330px}}@media(max-width:580px){header{padding:18px;align-items:start}.brand{font-size:20px}.brand small{display:none}nav{gap:6px;font-size:11px;flex-direction:column;align-items:end}nav button{padding:3px 9px;min-height:32px;font-size:11px}main{padding:8px 18px 40px}.hero{grid-template-columns:1fr;padding:20px 0 28px;gap:10px}.hero h1{font-size:43px;margin:12px 0 18px;letter-spacing:-2px}.hero p{font-size:15px}.hero-art{aspect-ratio:1.75;border-radius:24px;margin-top:10px;max-height:210px}.hero-art img{width:90%}.hero-tag{bottom:6%;font-size:11px;padding:6px 15px}.cards{grid-template-columns:1fr;gap:18px}.card{display:grid;grid-template-columns:115px 1fr;border-radius:18px}.card img{height:100%;aspect-ratio:auto;object-fit:cover}.card-body{padding:18px 14px}.card h3{font-size:20px;margin-top:4px}.card p{min-height:0;font-size:13px;margin:8px 0}.card button{font-size:14px;min-height:40px;padding:8px 12px}.chips{margin:10px 0;gap:5px}.chip{font-size:10px;padding:3px 8px}.section-title{margin-top:28px}.section-title h2{font-size:22px}.section-title p{font-size:11px}.mission-nav{gap:3px;padding:10px 0}.mission-nav a{padding:8px 11px;font-size:12px}.playhead{gap:10px}.playhead h1{font-size:22px}.playhead small{font-size:12px}.question{padding:18px}.question h2{font-size:21px}.question p{font-size:14px}.board{padding:18px 12px;min-height:310px}.board button{font-size:15px}.sidebar{grid-template-columns:1fr}.instructions{grid-template-columns:1fr;gap:8px}.instructions div{padding:13px 17px}.instructions strong{display:inline;margin-right:8px}.splash{padding:24px 18px}.splash h2{font-size:27px}.side-card{padding:18px}.resource-grid{gap:7px}.resource{padding:12px 5px}.resource p{font-size:11px}.resource button{padding:5px 9px}.choices{gap:8px}.choices button{min-width:70px;padding:11px 12px}.slot{min-width:35px;min-height:43px;font-size:17px;padding:8px}.card-grid{gap:8px}.card-grid button{padding:12px 4px;font-size:14px}.sea-item{font-size:12px!important;min-width:48px;max-width:72px}.sea-item span{font-size:24px}footer{padding:24px 18px}.crossword{gap:3px}.story{padding:18px}.story p{font-size:17px}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition:none!important;scroll-behavior:auto!important}}
.compare-filters{padding:15px 0}.compare-filters select{padding:10px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--ink)}.compare-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.compare-card{background:white;border:1px solid var(--line);border-radius:18px;padding:16px;text-decoration:none;transition:transform .2s}.compare-card:hover{transform:translateY(-4px)}.compare-card small{font-size:11px;color:var(--muted)}.compare-card h3{font-size:18px;margin:8px 0}.compare-card p{font-size:13px;min-height:62px;color:var(--muted)}.compare-card>span:last-child{font-size:11px;color:var(--tile)}.mini-art{height:105px;display:grid;place-items:center;background:var(--tile-bg,var(--soft));color:var(--tile,var(--accent));border-radius:12px;font-size:65px;font-weight:900;position:relative;overflow:hidden;margin-bottom:16px}.mini-art:before,.mini-art:after{content:'';position:absolute;width:35%;height:15%;border:2px solid currentColor;opacity:.15;transform:rotate(-25deg);left:8%;top:12%}.mini-art:after{left:auto;right:8%;top:70%;transform:rotate(25deg)}.intro-scene{display:flex;gap:35px;align-items:center;text-align:left;padding:25px;border-radius:22px;background:var(--soft)}.intro-scene .mini-art{width:180px;height:180px;flex-shrink:0;margin:0;border:1px solid #173d3515}.intro-scene p{color:var(--muted)}.sea-display{text-align:center;padding:15px}.memory-window{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:20px}.memory-window .node{background:#fff}.balance-dial{background:linear-gradient(135deg,#eef0ff,#fff);border:3px double var(--accent);border-radius:50% 50% 15px 15px;text-align:center;padding:25px;max-width:360px;margin:0 auto 20px}.sonar-screen{padding:15px;border-radius:25px;background:repeating-radial-gradient(circle at center,#15374e 0 35px,#2b5670 36px 37px,#15374e 38px 70px)}.sonar-screen button{background:#234f69;color:#edfbff;border-color:#508ca3}.sonar-screen .revealed{background:#d6f1f4;color:#173d35}.budget-summary{display:flex;justify-content:space-around;gap:8px;padding:16px 10px;background:var(--soft);border-radius:12px;margin-bottom:20px}.budget-summary span{font-size:14px}.budget-summary b{display:block;font-size:24px}.program-queue{padding:15px;border:2px dashed var(--accent);border-radius:10px;min-height:55px;background:#eff2fc;font-size:24px;letter-spacing:5px;margin-bottom:15px;overflow-wrap:anywhere}.coast-map{padding:20px;background:linear-gradient(160deg,#bfe6ec 0 45%,#f5e8c8 46% 65%,#d5e8c5 66%);border-radius:18px;display:flex;justify-content:space-around;font-size:65px;margin-bottom:20px}.rhythm-stage{background:radial-gradient(ellipse at center,#f8f1ff,#d6cee8);padding:40px 10px;border-radius:50% 50% 20px 20px;border-bottom:10px solid #a392b7}.rhythm-pad{min-width:110px;min-height:95px;border-radius:50%;transition:background .15s}.rhythm-pad.lit{background:#ffdc69;box-shadow:0 0 0 8px #ffdc6950;color:#292312}.domino-chain{display:flex;gap:10px;flex-wrap:wrap;padding:25px;border-radius:15px;background:repeating-linear-gradient(0deg,#ddc7a1 0 15px,#e2cfb0 16px 18px);min-height:160px;margin-bottom:20px}.domino{padding:10px 18px;background:#fffaf0;border-radius:8px;box-shadow:3px 4px 0 #80694430;min-width:85px;text-align:center;border:1px solid #bca77d}.domino b{display:block;border-top:1px solid #dac8a4;margin-top:10px;padding-top:10px}.story-path{text-align:center;font-size:20px;letter-spacing:3px;padding:15px;background:#ffffff80;border-radius:12px}.habitats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;min-height:210px;margin-top:20px}.habitat{position:relative;display:flex;flex-direction:column;justify-content:start;align-items:center;padding:20px 10px!important;font-size:15px!important}.habitat-reef{background:linear-gradient(#c4e5ef,#81cec5)!important}.habitat-shore{background:linear-gradient(#f6e2b8,#d7c49b)!important}.habitat-water{background:linear-gradient(#c6ecf6,#99c7ee)!important}.placed-animal{font-size:25px;margin-top:25px}.timing-zones{position:absolute;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px}.timing-zones div{border:2px dashed var(--accent);background:#fff9d9;text-align:center;border-radius:12px;padding:25px 2px;font-size:18px;font-weight:750}.broken{opacity:.2;transform:rotate(12deg)}
/* Each mechanic has an individual scene language, beyond the five world palettes. */
body[data-mode=growth] .board{background:linear-gradient(90deg,#ecf4e680 1px,transparent 1px),linear-gradient(#fffdf5,#f0f4df);background-size:36px 36px,auto;border-bottom:12px solid #b8a278}.mini-growth{border-radius:50% 50% 8px 8px;background:linear-gradient(#e9f2de,#afcca3)}
body[data-mode=circuit] .board{background-image:radial-gradient(#7fabba 1px,transparent 1px);background-size:18px 18px}.mini-circuit{background:repeating-linear-gradient(90deg,#d9f0ef 0 20px,#a5d9d6 21px 22px)}body[data-mode=circuit] .node{border:2px solid #5bafad;box-shadow:0 0 0 5px #e3f6f2}
body[data-mode=spell] .board{background:#fcf1e2;border:8px solid #c99b73;border-top:0}.mini-spell{box-shadow:inset 0 0 0 9px #c7977540;font-family:Georgia,serif}body[data-mode=spell] .slot{box-shadow:3px 3px 0 #d7b490}
body[data-mode=route] .gamegrid{border:14px solid #c4d7ac;border-radius:30px;background:#eef3df;transform:rotate(-1deg)}.mini-route{border-radius:50%;background:radial-gradient(circle,#f2ebca 25%,#bed3a8 26% 40%,#e9efd7 41%)}
body[data-mode=sort] .board{background:linear-gradient(#e0f4f8 0 65%,#f7e4bf 65%)}.mini-sort{background:linear-gradient(150deg,#d8eff3 55%,#f7e4bf 56%)}
body[data-mode=timing] .timing{background:linear-gradient(#f4ceaf,#f9e7c7);border-radius:40px 40px 10px 10px}.mini-timing{background:linear-gradient(#e6ad8b,#fae5cc);transform:skewY(-2deg)}
body[data-mode=catch] .lane{background:radial-gradient(circle at 80% 10%,#fffab1 10%,transparent 11%),linear-gradient(#d4eaf1,#fcf3c8)}.mini-catch{background:radial-gradient(circle at 75% 20%,#f5c657 20%,#fcf0cb 21%)}
body[data-mode=aim] .shot{border:8px solid #9b8874;border-bottom:18px solid #78654f;background:#f8eee1}.mini-aim{border:7px solid #bca286;background:repeating-linear-gradient(0deg,#f6e7de 0 20px,#dcc3ae 21px 24px)}
body[data-mode=trail] .gamegrid{background:#213746;padding:8px;border-radius:22px}.mini-trail{background:#263e56;color:#f3dc89}.mini-trail:before{border-radius:50%;width:15px;height:15px;opacity:.8}
body[data-mode=sweep] .ocean{background:repeating-radial-gradient(ellipse at top,#e3f7f5 0 30px,#b5e4e3 31px 33px,#d6eff0 34px 65px)}.mini-sweep{background:repeating-radial-gradient(ellipse at top,#d4f0ef 0 20px,#8fcacb 21px 24px)}
body[data-mode=memory] .tower{background:linear-gradient(#ede1f4,#d8cae6);border-bottom-color:#927fa6}.mini-memory{background:linear-gradient(45deg,#d9c8ec,#fff4ea);border-radius:45% 45% 10px 10px}body[data-mode=memory] .memory-window .node{box-shadow:0 4px 0 #c7b0df}
body[data-mode=balance] .board{background:linear-gradient(45deg,#e9ecf8 25%,transparent 25%) 0 0/20px 20px,#fcfcff}.mini-balance{border-radius:50%;border:8px double #8d97c0}
body[data-mode=reveal] .board{background:#f4e6c9;border:10px solid #d8bd88;border-top:0}.mini-reveal{background:radial-gradient(ellipse,#f8efdb,#d9b576)}body[data-mode=reveal] .slot{background:#b29470;color:#fff;border-color:#b29470}body[data-mode=reveal] .slot.filled{background:#fff7e7;color:#493c25}
body[data-mode=maze] .gamegrid{border:10px solid #b1bf9b;background:#e8ead6;padding:5px;border-radius:25px}.mini-maze{background:repeating-linear-gradient(90deg,#b1c09d 0 8px,#e4efdf 9px 35px)}body[data-mode=maze] .cell.wall{background:#63764d;border-radius:3px!important}
body[data-mode=sonar] .board{background:#e7eff5}.mini-sonar{background:repeating-radial-gradient(circle,#173e5d 0 16px,#477e91 17px 18px);color:#b0f3e0}
body[data-mode=build] .board{background:linear-gradient(90deg,#a5b6c130 1px,transparent 1px),linear-gradient(#a5b6c130 1px,transparent 1px),#f8f4eb;background-size:20px 20px}.mini-build{background:linear-gradient(90deg,#bfa68e20 1px,transparent 1px),#f2e8db;background-size:15px 15px}.mini-build:after{width:60%;height:60%;transform:rotate(0);top:20%}
body[data-mode=budget] .board{border:6px solid #b2cec2;background:#f1f6eb}.mini-budget{background:conic-gradient(from 45deg,#bfded3 25%,#e6f0dc 0 50%,#d6e6cb 0 75%,#bfded3 0);border-radius:25px 25px 5px 5px}
body[data-mode=cross] .board{background:repeating-linear-gradient(#fffcf5 0 27px,#dbe0df 28px 29px);border-left:6px solid #ac8a79}.mini-cross{background:repeating-linear-gradient(#fffdf5 0 17px,#dbe0df 18px 19px);font-family:Georgia,serif}
body[data-mode=program] .gamegrid{background:#213758;padding:10px;border-radius:12px}.mini-program{background:#283859;color:#aecdf6;font-family:monospace}.mini-program:after{border-style:dashed}
body[data-mode=decisions] .board{background:#f6f6ea}.mini-decisions{background:linear-gradient(140deg,#b3d8e0 0 40%,#f4dfb2 41% 65%,#c5dcb7 66%)}
body[data-mode=sentence] .board{background:linear-gradient(#fcf3e3,#eee1c9);border-radius:0 0 40px 40px}.mini-sentence{background:repeating-linear-gradient(90deg,#f4e5d4 0 25px,#d4bb9b 26px 28px)}body[data-mode=sentence] .slot{background:#fffef5;border-radius:2px;box-shadow:4px 4px 0 #d6bfa0}
body[data-mode=sequence] .board{background:#f3edf8}.mini-sequence{border-radius:50%;background:radial-gradient(circle,#fff6cb 0 12%,#c6b6df 13% 35%,#f0e5fa 36% 60%,#d9ccec 61%)}
body[data-mode=domino] .board{background:#f9f1df}.mini-domino{background:repeating-linear-gradient(0deg,#dfcba7 0 10px,#eedbb9 11px 12px);border:5px solid #b79c70}
body[data-mode=story] .board{background:#fcf5df;border:8px double #bbaa80;border-top:0}.mini-story{background:#eee1bb;box-shadow:inset 0 0 18px #9b825f50;font-family:Georgia,serif}
body[data-mode=restore] .board{background:radial-gradient(ellipse at top,#ecfff7,#bcdedb);border-bottom:10px solid #9fc6b4}.mini-restore{background:linear-gradient(#d3f3f2,#94cbbf);border-radius:50% 50% 15px 15px}
@media(max-width:1000px){.compare-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:580px){.compare-grid{grid-template-columns:repeat(2,1fr);gap:10px}.compare-card{padding:12px}.compare-card h3{font-size:16px}.compare-card p{font-size:12px;min-height:55px}.mini-art{height:85px;font-size:48px}.intro-scene{gap:15px;padding:18px;flex-direction:column;text-align:center}.intro-scene .mini-art{width:100%;height:130px}.intro-scene h2{font-size:27px;margin:12px 0}.intro-scene .eyebrow{font-size:11px}.rhythm-pad{min-width:75px;min-height:76px;font-size:13px!important;padding:10px}.rhythm-stage{padding:30px 5px}.habitats{gap:6px;min-height:190px}.habitat{font-size:13px!important;padding:14px 5px!important}.placed-animal{font-size:20px}.budget-summary{gap:5px}.budget-summary span{font-size:12px}.budget-summary b{font-size:22px}.timing-zones div{font-size:15px}.domino-chain{padding:15px;gap:7px}.domino{padding:8px 11px;font-size:14px}.memory-window .node{padding:8px;font-size:13px}}
.preview-art{width:100%;object-fit:cover;display:block}.intro-scene .preview-art{width:230px;height:155px;object-fit:cover;border-radius:16px}.compare-card .preview-art{height:auto;aspect-ratio:1.6}.card img{aspect-ratio:1.6}@media(max-width:580px){.intro-scene .preview-art{width:100%;height:auto;aspect-ratio:1.6}.card{grid-template-columns:120px 1fr}.card img{aspect-ratio:auto;object-fit:cover}}
.record button{float:right;margin:0 0 10px 10px;font-size:13px;min-height:36px;padding:5px 12px}.record p{clear:both}
/* Mission usability revision 2: predictable controls and mobile reading. */
.question{scroll-margin-top:12px}.question h2:focus{outline:none}.board button{overflow-wrap:anywhere}.moving span{position:absolute;bottom:-22px;color:var(--ink);font-size:19px}.timing-zones .landing-active{border-style:solid;box-shadow:inset 0 0 0 2px var(--accent);background:#e3f3d8}.ocean{touch-action:pan-y}.ocean.net-mode{touch-action:none}.sea-item{touch-action:pan-y}.net-mode .sea-item{touch-action:none}.crossword input.word-active{box-shadow:inset 0 0 0 2px var(--accent);background:#fff}.crossword input[aria-invalid=true]{border:3px solid #ae4d21;background:#fff0db}.crossword input[readonly]{opacity:.75}#crossDirections button[aria-pressed=true]{background:var(--ink);color:#fff}.crossword input{scroll-margin-block:100px}.quick-help{font-size:14px;margin-top:12px;border-top:1px solid #ffffff35;padding-top:10px}.quick-help summary{cursor:pointer;min-height:36px;display:list-item}.quick-help p{line-height:1.65}.board>button{margin:8px 6px 0 0}.controlrow{scroll-margin-bottom:12px}.cell:focus-visible{outline-offset:0;z-index:1}.card img{object-fit:contain;background:#f5f3eb}.large .cell{font-size:16px!important}.large .question p{font-size:17px}.large .board button{font-size:18px}.large .sea-item{font-size:14px!important}.large .habitat{font-size:15px!important}.large .timing-zones div{font-size:18px}.rhythm-pad:active{box-shadow:0 0 0 4px #c3a547;background:#ffdc69}
@media(max-width:580px){body:has(.play-layout) header{padding:10px 18px}body:has(.play-layout) .playhead{margin:4px 0 12px}.question{padding:14px 16px}.question h2{font-size:20px}.board{min-height:260px;padding-top:16px}.tower{min-height:140px}.gamegrid{margin:8px auto}.dpad{margin:10px}.slots{padding:10px 0}.crossword{margin:14px auto}.targets{gap:5px;padding:14px 7px}.target-brick{font-size:14px;overflow-wrap:anywhere}.controlrow:has(#next){position:sticky;bottom:0;z-index:4;background:#f6f5eff5;padding:10px 4px;padding-bottom:max(10px,env(safe-area-inset-bottom));border-top:1px solid var(--line);border-radius:12px}.controlrow:has(#next) button{flex:1;padding:10px 7px;font-size:14px;white-space:nowrap}.controlrow:has(#next:not([hidden])) #retry{display:none}.question .eyebrow{font-size:11px}.card img{height:auto;align-self:center;aspect-ratio:1.6}.sea-item{width:21%;max-width:none;min-width:0}.habitat{overflow-wrap:anywhere}.resource strong{font-size:14px}.resource small{font-size:12px}.resource .controlrow{gap:4px}.resource button{min-width:38px;padding:5px}.large .cell{font-size:14px!important}}
