
:root{--dark:#0b0f0e;--teal:#38c8bd;--mint:#73ded5;--gold:#e6ae42;--ink:#f2eee2;--muted:#a7b5ae;--panel:#15201c;--line:#2e4239;--accent:var(--teal)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--dark);color:var(--ink);font-family:'Segoe UI',Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button{color:var(--ink);border:1px solid var(--line);background:var(--panel);min-height:48px;border-radius:14px;font-size:15px;font-weight:650;padding:10px 14px}button:hover{border-color:var(--mint)}button:disabled{cursor:default;opacity:.55}h1,h2,h3,p{margin:0}h1{font-size:43px;line-height:1.02;letter-spacing:-1.8px;font-weight:760}h2{font-size:29px;line-height:1.12;letter-spacing:-.8px}h3{font-size:18px;line-height:1.25}p{line-height:1.45;font-size:15px}small{font-size:12px;line-height:1.4;color:var(--muted)}.eyebrow{font-size:11px;font-weight:750;letter-spacing:2px;text-transform:uppercase;color:var(--mint)}.app{width:100%;max-width:430px;height:100svh;min-height:710px;margin:auto;padding:16px 22px 14px;display:flex;flex-direction:column;position:relative;overflow:hidden;background:radial-gradient(ellipse at 85% 28%,#244b352e,transparent 55%),var(--dark)}header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;margin-bottom:15px}.brand{display:flex;align-items:center;gap:8px;font-size:13px;letter-spacing:.1px;font-weight:650}.brand img{width:36px;height:36px;object-fit:contain}.badge{border:1px solid var(--line);padding:5px 8px;border-radius:30px;font-size:10px;letter-spacing:1.1px;color:var(--muted);white-space:nowrap}.iconbtn{width:48px;padding:0;font-size:23px;border-radius:50%;background:transparent}.body{display:flex;flex-direction:column;flex:1;min-height:0;gap:15px}.title-head{margin-top:12px}.title-head .eyebrow{margin-bottom:10px}.lead{color:#bbc9c1;margin-top:13px;max-width:320px}.hero{position:relative;flex:1;min-height:150px;max-height:280px;display:flex;align-items:center;justify-content:center;margin:4px -3px}.hero svg{width:100%;height:100%;max-height:280px}.hero-label{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:2px;white-space:nowrap;color:var(--mint);padding:6px 10px;background:var(--dark);border:1px solid var(--line);border-radius:30px}.chapter{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:14px}.chapter b{font-size:14px}.chapter .num{height:38px;width:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;color:var(--gold);font-family:monospace}.chapter small{display:block;margin-top:3px}.primary{background:var(--teal);color:var(--dark);border-color:var(--teal);box-shadow:0 5px 0 #1e746b;font-weight:750;min-height:54px;font-size:16px}.primary.gold{background:var(--gold);border-color:var(--gold);box-shadow:0 5px 0 #785819}.actions{display:flex;flex-direction:column;gap:11px;margin-top:auto}.secondary{background:transparent}.support{border:0;background:transparent;color:var(--muted);font-size:13px;min-height:48px;font-weight:500}.footer{margin-top:12px;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#8ca296;letter-spacing:.5px;min-height:15px}.topline{display:flex;align-items:center;justify-content:space-between;gap:8px}.progress{height:4px;background:#23352c;display:flex;border-radius:10px;overflow:hidden;margin-top:12px}.progress i{height:4px;background:var(--teal);width:33.33%}.play-head p{margin-top:7px;color:#b9c8bf;font-size:14px}.lesson{padding:10px 12px;border:1px solid #426251;border-radius:12px;font-size:13px;color:#d4e8dc;background:#182b20}.listens{display:grid;grid-template-columns:1fr 1fr;gap:10px}.listen{position:relative;text-align:left;padding:14px;min-height:124px;border-radius:20px;background:linear-gradient(145deg,#213a2c,#142119);overflow:hidden}.listen .letter{font-size:13px;font-weight:700;color:var(--mint)}.listen .play-symbol{float:right;font-size:20px;color:var(--gold)}.listen b{display:block;font-size:17px;margin-top:5px}.listen svg{height:32px;width:100%;margin-top:8px}.listen.done{border-color:var(--teal)}.question{font-size:16px;line-height:1.35;font-weight:650}.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice{text-align:left;min-height:65px;border-radius:15px;display:flex;align-items:center;gap:10px;background:#15231b}.choice .symbol{color:var(--gold);font-size:24px;width:25px;text-align:center}.choice.selected{border-color:var(--teal);background:#1e4438;box-shadow:inset 0 0 0 1px var(--teal)}.choice span small{display:block;font-size:11px;margin-top:3px;font-weight:400}.notice{color:var(--mint);font-size:12px;min-height:17px}.help-row{display:flex;gap:9px}.help-row button{flex:1;min-width:0;font-size:13px}.play-bottom{display:flex;flex-direction:column;gap:9px;margin-top:auto}.score-hero{display:flex;justify-content:center;align-items:center;position:relative;min-height:158px;flex:1;max-height:210px}.score-dial{width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,#19382c 0,#111f18 62%,transparent 63%);display:flex;flex-direction:column;justify-content:center;align-items:center;border:1px solid #345b47;box-shadow:0 0 0 9px #15251b,0 0 0 10px #385440}.score-dial strong{font-size:52px;letter-spacing:-2px;line-height:1.05;color:var(--gold)}.score-dial span{font-size:11px;letter-spacing:2px;color:var(--mint);margin-top:7px}.spark{position:absolute;color:var(--gold);font-size:27px}.spark.a{top:12%;left:14%}.spark.b{bottom:17%;right:15%;font-size:18px}.result-head{text-align:center}.result-head .eyebrow{margin-bottom:9px}.result-head h2{font-size:31px}.result-card{border:1px solid var(--line);background:#17271e;border-radius:17px;padding:13px 15px}.result-card .row{display:flex;justify-content:space-between;font-size:13px;line-height:1.65}.result-card .row b{color:var(--gold)}.result-card p{font-size:13px;color:#c5d7cc;margin-top:7px;padding-top:7px;border-top:1px solid var(--line)}.protools{border:1px solid #645434;background:#272619;border-radius:16px;overflow:hidden}.protools summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:10px 13px;font-size:13px;font-weight:650;color:var(--gold);list-style:none}.protools summary:after{content:'＋';font-size:18px}.protools[open] summary:after{content:'−'}.protools p{font-size:12px;color:#d8ccaa;padding:0 13px 12px}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto}.result-actions button{min-height:52px}.detail-button{min-height:48px;width:100%;margin-top:8px;font-size:12px;background:transparent}#modal-options button{margin-bottom:10px} .result-support{margin-top:-7px}.mini-badge{padding:5px 8px;border-radius:8px;font-size:11px;background:#1c3327;color:var(--mint)}.sliders{display:flex;flex-direction:column;gap:8px}.slider label{display:flex;justify-content:space-between;font-size:13px}.slider input{width:100%;height:48px;accent-color:var(--teal);margin:0;cursor:pointer}.alien-small{height:130px;display:flex;justify-content:center;align-items:center;border:1px solid var(--line);border-radius:24px;background:radial-gradient(ellipse,#244532,#101c16)}.alien-small svg{width:145px;height:120px}.sim{font-size:11px;color:var(--gold);text-align:center;padding:6px 0}.alien .primary{background:var(--mint);border-color:var(--mint)}.kit-board{height:170px;border:1px solid #66552f;border-radius:18px;background:linear-gradient(155deg,#332c1c,#161d14);position:relative}.kit-board svg{width:100%;height:100%}.kit .choice{min-height:54px}.kit-choices{display:flex;flex-direction:column;gap:8px}.kit-choices button{display:flex;justify-content:space-between;align-items:center;text-align:left}.kit-choices button.selected{border-color:var(--gold);background:#3d3320}.kit-choices small{font-size:11px}.stage-pills{display:flex;gap:6px}.stage-pills span{flex:1;font-size:11px;text-align:center;padding:7px 3px;background:#202a1e;border-radius:8px;color:var(--muted)}.stage-pills .active{color:var(--gold);background:#3c321d}.frog{--accent:var(--gold)}.frog .eyebrow{color:var(--gold)}.arena{position:relative;flex:1;min-height:225px;max-height:335px;border:1px solid #456239;border-radius:22px;background:radial-gradient(ellipse at 50% 100%,#34492a,#101d15 70%);overflow:hidden;padding:18px 12px 58px}.arena:before{content:'';position:absolute;inset:0;background:linear-gradient(transparent 94%,#3c4f292e 94%),linear-gradient(90deg,transparent 94%,#3c4f292e 94%);background-size:28px 28px;pointer-events:none}.frog-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:12px 16px}.frog-target{height:60px;min-width:48px;border:0;background:transparent;padding:0;transition:opacity .15s}.frog-target svg{width:56px;height:48px}.frog-target.hit{opacity:0;pointer-events:none}.ship{position:absolute;bottom:12px;left:calc(50% - 28px);width:56px;height:45px;color:var(--gold)}.beam{position:absolute;height:45px;width:2px;background:var(--mint);left:50%;bottom:65px;opacity:.6}.hud{display:flex;gap:8px}.hud>div{flex:1;border:1px solid var(--line);padding:9px 12px;border-radius:12px}.hud small{display:block;font-size:10px;letter-spacing:1px}.hud strong{font-size:20px;color:var(--gold)}.frog .hero{max-height:250px}.catalog{max-width:980px;padding:32px 24px;margin:auto}.catalog h1{font-size:44px;max-width:650px;margin:30px 0 12px}.catalog p{color:var(--muted)}.catalog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:30px 0}.game-link{text-decoration:none;border:1px solid var(--line);border-radius:24px;padding:24px;background:#14231b;color:var(--ink);display:block}.game-link:hover{border-color:var(--teal)}.game-link svg{height:170px;width:100%}.game-link h2{font-size:24px;margin-bottom:10px}.game-link p{font-size:14px}.game-link span{display:block;margin-top:15px;color:var(--mint);font-weight:650}dialog{border:1px solid var(--line);border-radius:24px;background:#15231c;color:var(--ink);padding:24px;max-width:min(340px,90vw);box-shadow:0 20px 100px #000}dialog::backdrop{background:#000b}dialog h2{font-size:24px;margin-bottom:12px}dialog p{font-size:14px;color:#c6d4cb;margin:10px 0 20px}dialog button{width:100%}.sheet{background:var(--dark);padding:32px;min-width:1240px}.sheet-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.sheet h1{font-size:30px;letter-spacing:-.7px}.sheet .frames{display:flex;gap:24px}.sheet iframe{width:390px;height:844px;border:1px solid #385041;border-radius:28px;display:block;box-shadow:0 14px 38px #0008;background:var(--dark)}.frame-label{font-size:11px;color:var(--mint);letter-spacing:2px;margin:0 0 12px 10px}.sheet-foot{font-size:12px;color:var(--muted);margin-top:24px;display:flex;justify-content:space-between}.sheet .brand img{width:34px;height:34px}@media(max-height:780px){.app{padding:12px 18px 10px;min-height:700px}header{margin-bottom:10px}.body{gap:11px}.title-head{margin-top:3px}h1{font-size:39px}.hero{max-height:215px;min-height:135px}.lead{margin-top:10px;font-size:14px}.chapter{padding-top:10px}.footer{margin-top:8px}.score-hero{min-height:148px;max-height:165px}.score-dial{width:142px;height:142px}.score-dial strong{font-size:44px}.listen{min-height:112px;padding:12px}.choice{min-height:60px}.alien-small{height:105px}.alien-small svg{height:95px}.slider input{height:48px}.sliders{gap:2px}.kit-board{height:140px}.result-head h2{font-size:28px}.result-card{padding:10px 13px}.support{min-height:48px}.result-actions{margin-top:4px}.arena{min-height:210px}.frog-target{height:52px}.frog-grid{gap:7px 14px}}@media(max-width:600px){.catalog-grid{grid-template-columns:1fr}.catalog{padding:20px}.catalog h1{font-size:36px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* R2: scoped color-only revisions. Layout and behavior remain R1. */
.alien,body[data-theme="alien"] dialog,.game-link[data-game="alien"]{--dark:#050506;--teal:#40ff1a;--mint:#40ff1a;--gold:#d9dce1;--ink:#d9dce1;--muted:#a6aab2;--panel:#09090b;--line:#6f747c;color:var(--ink)}
.alien{background:radial-gradient(ellipse at 85% 28%,#40ff1a0b,transparent 55%),#050506}
.alien .lead,.alien .play-head p{color:#b4b9c1}.alien .badge,.alien .footer,.alien .support{color:#a6aab2}
.alien .primary{background:linear-gradient(#e9ecf0,#b4b9c1);color:#050506;border-color:#40ff1a;box-shadow:0 5px 0 #163f12,0 0 18px #40ff1a16}
.alien button:not(.primary):not(.support):not(.iconbtn){background:#0c0d10}
.alien .progress{background:#1d1f23}.alien .mini-badge{background:#101b0e;color:#40ff1a}
.alien .lesson{background:#0c0d10;border-color:#3a3d44;color:#d9dce1}
.alien .alien-small{background:radial-gradient(ellipse,#152012,#030304);border-color:#3a3d44}
.alien .score-dial{background:radial-gradient(circle,#0c0d10 0,#09090b 62%,transparent 63%);border-color:#40ff1a;box-shadow:0 0 0 9px #09090b,0 0 0 10px #3a3d44}
.alien .result-card{background:#0c0d10;border-color:#3a3d44}.alien .result-card p{color:#b4b9c1;border-color:#3a3d44}
.alien .protools{background:#09090b;border-color:#6f747c}.alien .protools p{color:#b4b9c1}
.alien input[type=range]{accent-color:#40ff1a}
body[data-theme="alien"] dialog{background:#09090b;border-color:#6f747c}body[data-theme="alien"] dialog p{color:#b4b9c1}
.game-link[data-game="alien"]{background:radial-gradient(ellipse at 70% 10%,#40ff1a0c,transparent 70%),#09090b;border-color:#3a3d44}.game-link[data-game="alien"] p{color:#b4b9c1}
.frog,body[data-theme="frog"] dialog,.game-link[data-game="frog"]{--dark:#100e0b;--teal:#a8b18a;--mint:#b7c29b;--gold:#c5aa70;--ink:#eee4cf;--muted:#b2a88e;--panel:#25251a;--line:#79745b;color:var(--ink)}
.frog{background:radial-gradient(ellipse at 85% 28%,#62413a25,transparent 55%),#100e0b}
.frog .lead,.frog .play-head p{color:#c7bda5}.frog .badge,.frog .footer,.frog .support{color:#b2a88e}
.frog .primary,.frog .primary.gold{background:#c5aa70;color:#100e0b;border-color:#c5aa70;box-shadow:0 5px 0 #665437}
.frog .progress{background:#382e20}.frog .progress i{background:#7c8461}.frog .mini-badge{background:#4b2d30;color:#eee4cf}
.frog .arena{background:radial-gradient(ellipse at 50% 100%,#353d27,#191a12 70%);border-color:#79745b}
.frog .arena:before{background:linear-gradient(transparent 94%,#6b674530 94%),linear-gradient(90deg,transparent 94%,#6b674530 94%);background-size:28px 28px}
.frog .hud>div{background:#211b13;border-color:#79745b}.frog .hud>div:last-child{background:#3d2528}
.frog .lesson{background:#272b1b;border-color:#79745b;color:#ded8bd}
.frog .score-dial{background:radial-gradient(circle,#2d2420 0,#211912 62%,transparent 63%);border-color:#c5aa70;box-shadow:0 0 0 9px #30241b,0 0 0 10px #6d4c42}
.frog .result-card{background:#25271b;border-color:#79745b}.frog .result-card p{color:#c7bda5;border-color:#79745b}
.frog .protools{background:#392527;border-color:#967b60}.frog .protools p{color:#ded1b5}
.frog .hero-label{background:#100e0b}.frog .chapter .num{background:#211b13}
body[data-theme="frog"] dialog{background:#211b13;border-color:#79745b}body[data-theme="frog"] dialog p{color:#c7bda5}
.game-link[data-game="frog"]{background:radial-gradient(ellipse at 80% 10%,#4b2d303d,transparent 70%),#211b13;border-color:#79745b}.game-link[data-game="frog"] p{color:#c7bda5}
body[data-theme="alien"] .sheet{background:#050506}body[data-theme="alien"] .sheet .eyebrow{color:#40ff1a}body[data-theme="alien"] .sheet iframe{border-color:#3a3d44}body[data-theme="alien"] .frame-label{color:#d9dce1}
body[data-theme="frog"] .sheet{background:#100e0b}body[data-theme="frog"] .sheet .eyebrow,body[data-theme="frog"] .frame-label{color:#c5aa70}body[data-theme="frog"] .sheet iframe{border-color:#79745b}

/* R2 addition: Easy visualizer palette; only Spot the Change. */
.spot,body[data-theme="spot"] dialog,.game-link[data-game="spot"]{--dark:#05060b;--teal:#29e6ff;--mint:#29e6ff;--gold:#ffe45c;--ink:#f2f0e9;--muted:#b1b7b3;--panel:#121519;--line:#666f7f;color:var(--ink)}
.spot{background:radial-gradient(ellipse at 90% 32%,#ff2fd60b,transparent 55%),radial-gradient(ellipse at 10% 50%,#29e6ff0b,transparent 60%),#05060b}
.spot .lead,.spot .play-head p{color:#d5d9d6}.spot .footer,.spot .support{color:#b1b7b3}
.spot .primary{background:linear-gradient(#f0cc6c,#e6ae42);border-color:#e6ae42;color:#05060b;box-shadow:0 5px 0 #765716}
.spot .lesson{background:#121519;border-color:#666f7f;color:#d5d9d6}
.spot .listen{background:linear-gradient(145deg,#14232c,#10121a);border-color:#666f7f}.spot .listen.done{border-color:#29e6ff}.spot .listen svg g{stroke:#29e6ff}
.spot .choice{background:#121519}.spot .choice.selected{background:#102833;border-color:#29e6ff;box-shadow:inset 0 0 0 1px #29e6ff}
.spot .progress{background:#252637}.spot .mini-badge{background:#292038;color:#f2f0e9}
.spot .score-dial{background:radial-gradient(circle,#151422 0,#0b0c14 62%,transparent 63%);border-color:#29e6ff;box-shadow:0 0 0 9px #161321,0 0 0 10px #725285}
.spot .result-card{background:#121519;border-color:#666f7f}.spot .result-card p{color:#d5d9d6;border-color:#666f7f}
.spot .protools{background:#241d12;border-color:#9b8044}.spot .protools p{color:#d5d9d6}
.spot .hero-label{background:#05060b}.spot .chapter .num{background:#121519}
body[data-theme="spot"] dialog{background:#121519;border-color:#666f7f}body[data-theme="spot"] dialog p{color:#d5d9d6}
.game-link[data-game="spot"]{background:radial-gradient(ellipse at 70% 10%,#ff2fd612,transparent 70%),#0b0c14;border-color:#666f7f}.game-link[data-game="spot"] p{color:#d5d9d6}
body[data-theme="spot"] .sheet{background:#05060b}body[data-theme="spot"] .sheet .eyebrow,body[data-theme="spot"] .frame-label{color:#29e6ff}body[data-theme="spot"] .sheet iframe{border-color:#666f7f}
.confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;contain:paint}.confetti i{position:absolute;width:6px;height:3px;border-radius:1px;pointer-events:none;animation:easy-confetti 1.8s ease-out both;animation-delay:var(--delay,0ms)}.score-dial,.score-hero .spark{position:relative;z-index:1}.score-hero .spark{position:absolute}
.confetti.preview i{animation:none;transform:rotate(var(--angle))}
@keyframes easy-confetti{0%{opacity:0;transform:translateY(-16px) rotate(var(--angle))}15%{opacity:1}80%{opacity:.8}100%{opacity:0;transform:translateY(30px) rotate(calc(var(--angle) + 110deg))}}
@media(prefers-reduced-motion:reduce){.confetti{display:none!important}}
@media(max-height:780px){.spot .body{gap:8px}}

/* R3: action-driven scenes, inherited source palettes. */
.app.playing{padding-top:12px}.playing header{margin-bottom:8px}.playing .body{gap:10px}.playing .play-head h2{font-size:26px;margin-top:8px!important}.playing .play-head p{margin-top:5px;font-size:13px}.playing .progress{margin-top:8px}.playing .footer{margin-top:9px}.playing .play-head .mini-badge{display:none}
.scene{position:relative;overflow:hidden;isolation:isolate;min-height:180px;flex:1;border-radius:28px;background:#070910;border:1px solid #414658;display:flex;align-items:center;justify-content:center}
.scene:after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 -25px 55px #0006;pointer-events:none}.scene-label{position:absolute;top:13px;left:15px;right:15px;display:flex;justify-content:space-between;gap:10px;font-size:10px;letter-spacing:1.5px;font-weight:700;z-index:4}.scene-caption{position:absolute;bottom:12px;left:14px;right:14px;text-align:center;font-size:11px;color:var(--muted);z-index:4}
.scene-message{position:absolute;top:42%;left:12px;right:12px;text-align:center;background:#080b11ed;color:var(--gold);padding:15px 8px;border-block:1px solid var(--gold);font-size:18px;font-weight:750;z-index:6;animation:message-in .32s ease-out}.scene.enter{animation:scene-enter .5s ease-out}.playing .notice{font-size:11px;min-height:14px}.playing .play-bottom{gap:8px}.playing .help-row button{font-size:12px;min-height:48px}.playing .primary{min-height:50px}
.spot.playing{background:radial-gradient(ellipse at 90% 40%,#ff2fd615,transparent 65%),#05060b}.spot.playing .progress i{background:linear-gradient(90deg,#29e6ff,#ff2fd6,#ffe45c)}.spot.playing .primary{background:#ffe45c;border-color:#ffe45c;box-shadow:0 4px 0 #71601a}.spot.playing .eyebrow{color:#ff70e2}.spot.playing .scene{background:radial-gradient(ellipse at 50% 80%,#3d143e,transparent 60%),#080a16;border-color:#725285}.spot .sound-orb{width:104px;height:104px;border:2px solid #ffe45c;border-radius:50%;z-index:2;background:radial-gradient(circle at 35% 28%,#ffe45c,#ff2fd6 50%,#63195a 85%);box-shadow:0 0 45px #ff2fd62a;position:relative;transform:translateY(-8px)}.sound-orb:before,.sound-orb:after{content:'';position:absolute;top:35px;width:11px;height:16px;border-radius:10px;background:#080a16}.sound-orb:before{left:28px}.sound-orb:after{right:28px}.sound-mouth{position:absolute;left:39px;top:61px;width:23px;height:9px;border-bottom:3px solid #080a16;border-radius:50%}.sound-ring{position:absolute;width:220px;height:76px;border:1px solid #29e6ff;transform:translateY(43px) rotate(-12deg);border-radius:50%;opacity:.65}.sound-ring.two{border-color:#ff2fd6;transform:translateY(45px) rotate(12deg);width:250px}
.sound-bars{position:absolute;inset:auto 25px 34px;height:80px;display:flex;align-items:end;justify-content:space-between;gap:5px;opacity:.5}.sound-bars i{height:var(--bar);width:7px;border-radius:5px;background:var(--color);transform-origin:bottom}.scene.sounding .sound-bars i{animation:bar-dance .58s ease-in-out infinite alternate;animation-delay:var(--delay)}.scene.sounding .sound-orb{animation:orb-sing .8s ease-in-out infinite alternate}.scene[data-sound=B] .sound-orb{filter:hue-rotate(18deg);box-shadow:0 0 60px #ffe45c33}.spot.playing .listens{gap:10px}.spot.playing .listen{min-height:56px;padding:8px 13px;border-radius:17px;background:#111523;border:1px solid #29e6ff}.spot.playing .listen:nth-child(2){border-color:#ff2fd6;background:#221326}.spot.playing .listen .letter{color:#29e6ff;font-size:10px}.spot.playing .listen:nth-child(2) .letter{color:#ff70e2}.spot.playing .listen b{font-size:14px;margin-top:2px}.spot.playing .listen .play-symbol{color:#ffe45c}.spot.playing .choices{gap:8px}.spot.playing .choice{min-height:48px;border-radius:25px;padding:7px 12px;border-color:#65637b;background:#13121f}.spot.playing .choice:nth-child(even){border-color:#8e3b81}.spot.playing .choice.selected{border-color:#ffe45c;background:#392e1c;box-shadow:inset 0 0 0 1px #ffe45c}.spot.playing .choice .symbol{color:#ff70e2;font-size:20px;width:18px}.spot.playing .choice small{display:none}.spot.playing .question{font-size:14px}.spot.playing .notice{color:#d5d9d6}
.alien-stage{background:radial-gradient(ellipse at 50% 75%,#192619,#050506 70%);border-color:#3a3d44}.alien-stage .alien-avatar{width:230px;height:180px;position:relative;z-index:2;transition:transform .25s ease-out}.alien-avatar svg{width:100%;height:100%}.signal-orbit{position:absolute;width:260px;height:80px;border:1px solid #6f747c;border-radius:50%;bottom:28px;transform:rotate(-15deg)}.signal-orbit.two{transform:rotate(15deg);border-color:#40ff1a44}.alien-stage.responding .signal-orbit{animation:orbit-react 1.1s ease-out}.alien-stage.responding .alien-avatar svg{animation:alien-response 1.4s ease-in-out}.playing.alien .sliders{gap:1px}.playing.alien .slider label{font-size:12px}.playing.alien .slider input{height:48px}.playing.alien .sim{padding:0;font-size:10px;color:#b4b9c1}.playing.alien .lesson{padding:8px 10px;font-size:12px}
.garage-stage{background:radial-gradient(ellipse at 50% 85%,#3e3920,#101810 75%);border-color:#5d654a}.garage-stage .drums{position:relative;width:100%;height:190px;z-index:2;transform-origin:50% 80%}.garage-stage .drums svg{width:100%;height:100%}.garage-floor{position:absolute;bottom:15px;left:-15%;width:130%;height:70px;border:1px solid #9c845049;border-radius:50%;background:#0b140c}.repair-wave{position:absolute;width:180px;height:180px;border:1px solid #e6ae42;opacity:0;border-radius:50%;top:40px}.garage-stage.repairing .drums{animation:drum-reaction .7s ease-out}.garage-stage.repairing .repair-wave{animation:repair-wave .9s ease-out}.playing.kit .stage-pills{gap:0}.playing.kit .stage-pills span{border-radius:0;background:transparent;border-bottom:2px solid #344332}.playing.kit .stage-pills .active{border-color:#e6ae42;color:#e6ae42}.playing.kit .kit-choices{gap:7px}.playing.kit .kit-choices button{min-height:49px;border-radius:24px;background:#16261c}.playing.kit .kit-choices .selected{background:#3d3320;border-color:#e6ae42}.playing.kit .sim{padding:0;font-size:10px}
.bayou{min-height:260px;background:radial-gradient(ellipse at 75% 70%,#4b2d3055,transparent 65%),linear-gradient(#161610 0 35%,#303722 36%,#1b2016 75%,#211b13);border:1px solid #79745b}.bayou .moon{position:absolute;top:35px;right:32px;width:37px;height:37px;border-radius:50%;background:#c5aa70;box-shadow:0 0 45px #c5aa7018}.bayou .bank{position:absolute;left:-10%;right:-10%;top:24%;height:27%;border-radius:50%;background:#11160e;transform:rotate(-8deg)}.bayou .bank.back{transform:rotate(9deg);top:19%;background:#252719}.reeds{position:absolute;bottom:0;width:40px;height:140px;z-index:3;pointer-events:none;background:repeating-linear-gradient(84deg,transparent 0 9px,#62613d 10px 12px,transparent 13px 20px);transform:skew(-7deg)}.reeds.right{right:0;transform:skew(7deg)}.pond-ripple{position:absolute;border:1px solid #b7c29b29;border-radius:50%;width:80%;height:38px;left:10%;top:63%;transform:rotate(-4deg)}.pond-ripple.two{top:42%;width:65%;left:20%;transform:rotate(6deg)}.frog-target{position:absolute;width:62px;height:62px;min-height:62px;min-width:62px;z-index:4;transition:none!important;display:grid;place-items:center}.frog-target:before{content:'';position:absolute;bottom:3px;width:63px;height:16px;background:#69714555;border:1px solid #92916b66;border-radius:50%}.frog-target svg{position:relative;width:56px;height:48px;filter:drop-shadow(0 5px 4px #0009)}.frog-target:focus-visible{outline-color:#eee4cf}.frog-target.hit{opacity:1;pointer-events:none}.frog-target.hit svg{animation:frog-clear .35s ease-out forwards}.frog-target.hit:before{animation:splash-clear .45s ease-out forwards}.score-pop{position:absolute;color:#eee4cf;font-size:20px;font-weight:800;z-index:6;pointer-events:none;text-shadow:0 2px 8px #000;animation:score-pop .8s ease-out forwards}.bayou .ship{bottom:9px;width:46px;height:36px;left:calc(50% - 23px);z-index:5;transition:transform .2s}.bayou .shot{position:absolute;bottom:27px;height:2px;background:#c5aa70;transform-origin:left center;z-index:3;opacity:.7;animation:shot-fade .35s ease-out forwards;pointer-events:none}.playing.frog .hud{gap:0;justify-content:space-between}.playing.frog .hud>div{border:0;background:transparent;padding:0;border-radius:0;flex:initial}.playing.frog .hud>div:last-child{background:transparent;text-align:right}.playing.frog .hud strong{font-size:24px}.playing.frog .lesson{font-size:12px;padding:9px}.playing.frog .scene-caption{bottom:50px}
.motion-calm .sound-orb,.motion-calm .alien-avatar{transform:none!important}.motion-calm .frog-target.hit{visibility:hidden}.motion-calm *, .motion-calm *:before,.motion-calm *:after{animation:none!important;transition:none!important}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}
@keyframes scene-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes message-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes bar-dance{from{transform:scaleY(.4)}to{transform:scaleY(1)}}@keyframes orb-sing{from{transform:translateY(-8px) scale(.98)}to{transform:translateY(-14px) scale(1.04)}}@keyframes orbit-react{0%{opacity:.2;scale:.85}60%{opacity:1;scale:1.06}100%{scale:1}}@keyframes alien-response{0%,100%{transform:rotate(0)}35%{transform:rotate(-4deg)}70%{transform:rotate(4deg)}}@keyframes drum-reaction{0%,100%{transform:scale(1)}25%{transform:scale(1.045) rotate(-2deg)}65%{transform:scale(1.015) rotate(1deg)}}@keyframes repair-wave{from{opacity:.7;transform:scale(.5)}to{opacity:0;transform:scale(1.6)}}@keyframes frog-clear{to{opacity:0;transform:translateY(-20px) scale(.6) rotate(12deg)}}@keyframes splash-clear{to{opacity:0;transform:scale(1.5)}}@keyframes score-pop{to{transform:translateY(-32px);opacity:0}}@keyframes shot-fade{to{opacity:0}}@media(max-height:780px){.playing .body{gap:8px!important}.playing .play-head h2{font-size:23px}.playing .scene{min-height:145px}.playing.spot .scene{min-height:153px}.playing .scene-caption{font-size:10px}.playing .scene-label{top:10px;font-size:9px}.playing .bayou{min-height:240px}.playing .garage-stage .drums{height:160px}.playing .alien-avatar{height:150px}.playing .sound-orb{width:85px;height:85px}.playing .sound-orb:before,.playing .sound-orb:after{top:27px}.playing .sound-orb:before{left:22px}.playing .sound-orb:after{right:22px}.playing .sound-mouth{left:31px;top:50px}.playing .sound-bars{height:58px;bottom:26px}.playing .sound-ring{height:55px;width:190px;transform:translateY(30px) rotate(-12deg)}.playing .sound-ring.two{width:215px;transform:translateY(32px) rotate(12deg)}.playing .notice{font-size:10px}.playing .stage-pills span{padding:5px 3px}.playing .play-head p{font-size:12px}}

.frog-target[hidden]{display:none}.motion-calm .score-pop{animation:none!important}

/* R4 modifies only de-Frog. */
.frog .enemy[hidden]{display:none}
.frog.playing .body{gap:8px}.frog.playing .play-head h2{margin-top:7px!important}.frog.playing .bayou{min-height:230px}.frog.playing .hud strong{font-size:21px}.frog.playing .bayou .ship{position:absolute;left:0;bottom:10px;width:48px;height:46px;transition:none;z-index:6;transform:none;color:#c5aa70}.frog .ship-shadow{position:absolute;bottom:8px;width:55px;height:9px;border-radius:50%;background:#0007;pointer-events:none}.frog .ship-rail{position:absolute;bottom:5px;left:12px;right:12px;border-bottom:1px solid #c5aa703b}.frog .enemy{position:absolute;width:48px;height:43px;z-index:4;pointer-events:none;display:grid;place-items:center}.frog .enemy svg{width:48px;height:40px;filter:drop-shadow(0 3px 3px #0009)}.frog .enemy:before{content:'';position:absolute;bottom:-1px;width:48px;height:11px;border-radius:50%;border:1px solid #8c95655c;background:#555e2f44}.frog .enemy.hit svg{animation:frog-clear .35s ease-out forwards}.frog .enemy.hit:before{animation:splash-clear .4s ease-out forwards}.frog .projectile{position:absolute;width:5px;height:15px;border-radius:4px;background:#f1dca0;box-shadow:0 3px 8px #c5aa7033;z-index:5;pointer-events:none}.frog .pilot-controls{display:grid;grid-template-columns:62px 62px 1fr;gap:9px;touch-action:none}.frog .steer{min-height:64px;padding:8px;font-size:28px;background:#272b1b;border-color:#79745b;user-select:none;-webkit-user-select:none}.frog .steer:active,.frog .steer.held{background:#454c30;border-color:#eee4cf}.frog .fire{min-height:64px;font-size:20px;letter-spacing:2px;background:#c5aa70;color:#100e0b;border-color:#c5aa70;box-shadow:0 4px 0 #665437}.frog .fire small{display:block;color:#382e20;font-size:10px;letter-spacing:1px}.frog .sensor-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.frog .sensor-row button{min-height:48px;font-size:12px;padding:8px;background:#211b13}.frog .tilt-status{font-size:11px;line-height:1.35;min-height:30px;color:#d2c6aa;display:flex;align-items:center}.frog .control-hint{font-size:11px;color:#b2a88e;text-align:center}.frog .play-bottom{gap:8px}.frog .bayou:after{box-shadow:inset 0 -15px 25px #0003}.frog .ship-flame{fill:#aa7a76}.motion-calm .frog .enemy.hit{visibility:hidden}.frog .hud [role=status]{min-width:57px}@media(max-height:780px){.frog.playing .scene.bayou{min-height:215px}.frog.playing .play-head p{margin-top:3px}.frog.playing .play-head h2{font-size:23px}.frog.playing .hud small{font-size:9px}.frog.playing .hud strong{font-size:19px}.frog .tilt-status{font-size:10px;min-height:27px}.frog .pilot-controls .fire,.frog .pilot-controls .steer{min-height:60px}.frog .control-hint{font-size:10px}}


/* BEGIN R5 CHARACTER COLORS */
/* R5: de-Frog gameplay characters only. No animation or geometry changes. */
.frog.playing .enemy svg > path:first-of-type{fill:hsl(75 100% 70%);stroke:hsl(75 100% 86%);stroke-width:1.2;stroke-linejoin:round}
.frog.playing .enemy svg{filter:drop-shadow(0 0 3px hsl(75 100% 70% / .38))}
.frog.playing .enemy:is([data-enemy="0"],[data-enemy="3"],[data-enemy="6"]) svg > path:first-of-type{fill:hsl(4.6153846154 100% 70%);stroke:hsl(4.6153846154 100% 86%)}
.frog.playing .enemy:is([data-enemy="0"],[data-enemy="3"],[data-enemy="6"]) svg{filter:drop-shadow(0 0 3px hsl(4.6153846154 100% 70% / .38))}
.frog.playing .bayou .ship > path:nth-of-type(2){fill:hsl(40.9411764706 100% 70%);stroke:hsl(40.9411764706 100% 86%);stroke-width:1.2;stroke-linejoin:round}
.frog.playing .bayou .ship{filter:drop-shadow(0 0 3px hsl(40.9411764706 100% 70% / .38))}
.frog.playing .bayou .ship .ship-flame{fill:hsl(4.6153846154 100% 70%)}

/* END R5 CHARACTER COLORS */

/* BEGIN R6 FROG COLORS */
/* R6: brighter frogs only. Spaceship, scene, UI and game code are unchanged. */
.frog.playing .enemy svg > path:first-of-type{fill:hsl(75 100% 82%);stroke:hsl(75 100% 95%);stroke-width:1.7;stroke-linejoin:round}
.frog.playing .enemy svg{filter:drop-shadow(0 0 4px hsl(75 100% 82% / .48))}
.frog.playing .enemy:is([data-enemy="0"],[data-enemy="3"],[data-enemy="6"]) svg > path:first-of-type{fill:hsl(4.6153846154 100% 82%);stroke:hsl(4.6153846154 100% 95%)}
.frog.playing .enemy:is([data-enemy="0"],[data-enemy="3"],[data-enemy="6"]) svg{filter:drop-shadow(0 0 4px hsl(4.6153846154 100% 82% / .48))}

/* END R6 FROG COLORS */
