:root {
  --ink:#25140f;
  --cream:#fff6dc;
  --gold:#f6bd2f;
  --rust:#a92f22;
  --rust-dark:#681b15;
  --teal:#147b77;
  --paper:#f6d994;
  --shadow:#210b08a8;
  --arcade-vh:100vh;
}

*{box-sizing:border-box}
html,body{min-height:100%}
body{
  margin:0;
  overflow:auto;
  color:#f0eaf8;
  background:#0b0b13;
  font-family:"Nunito","Trebuchet MS",system-ui,sans-serif;
  overscroll-behavior:none;
}
.site-branding{background:#0b0b13;color:#f0eaf8}
.site-banner{display:block;width:100%;padding:1rem 1rem .2rem;text-align:center;line-height:0;background:#0b0b13}
.site-banner img{display:inline-block;width:69%;max-width:320px;height:auto}
.site-nav{position:sticky;top:0;z-index:1000;display:flex;justify-content:center;gap:.4rem;flex-wrap:wrap;padding:.55rem 1rem;background:#131010;border-bottom:1px solid #3d2f20;backdrop-filter:blur(12px)}
.nav-link{padding:.3rem .85rem;border:1px solid transparent;border-radius:20px;color:#8a7f7f;background:none;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-decoration:none;text-transform:uppercase;transition:.2s}
.nav-link:hover,.nav-link.active{color:#f5a623;border-color:rgba(245,166,35,.35);background:rgba(245,166,35,.08)}
button{font:inherit}
button:focus-visible,.game-stage:focus-visible{outline:4px solid #fff;outline-offset:2px}
[hidden]{display:none!important}

.app-shell{width:100%;height:calc(var(--arcade-vh) - 130px);min-height:650px;display:grid;place-items:center;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:#0b0b13}
.arcade-frame{width:min(1320px,100%);height:min(940px,100%);min-height:0;display:grid;grid-template-rows:auto 1fr;overflow:hidden;border:4px solid #29110d;border-radius:24px;background:#f5d58e;box-shadow:0 24px 75px #120504aa,inset 0 0 0 3px #ffd876}
.arcade-frame:fullscreen,.arcade-frame:-webkit-full-screen{width:100vw;height:var(--arcade-vh);max-width:none;max-height:none;border:0;border-radius:0}
body.game-fullscreen{overflow:hidden}
body.game-fullscreen>.site-branding{display:none}
body.game-fullscreen>.app-shell{position:fixed;inset:0;z-index:5000;width:100vw;height:var(--arcade-vh);min-height:0;padding:0;background:#000}
body.game-fullscreen .arcade-frame{width:100vw;height:var(--arcade-vh);max-width:none;max-height:none;border:0;border-radius:0}

.top-bar{position:relative;z-index:100;min-height:76px;display:grid;grid-template-columns:minmax(220px,1fr) auto auto auto;align-items:center;gap:12px;padding:8px 14px;color:#fff;background:linear-gradient(#b83b29,#88241c);border-bottom:4px solid #4b1712;text-shadow:0 2px 0 #4b160f}
.top-bar::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.15;background-image:radial-gradient(#fff 1px,transparent 1px);background-size:6px 6px}
.brand-lockup,.reward-wallet,.round-button{position:relative;z-index:1}
.brand-lockup{display:flex;align-items:center;gap:14px;line-height:.92}
.brand-name{font-family:Georgia,serif;font-size:clamp(1.35rem,2.5vw,2.1rem);font-weight:900;letter-spacing:-.05em}
.brand-name small{display:block;margin-top:4px;font-family:Impact,"Arial Black",sans-serif;font-size:.44em;letter-spacing:.16em;text-transform:uppercase}
.arcade-name{padding:5px 10px;border:2px solid #4d1710;border-radius:7px;color:#32120e;background:var(--gold);font-family:Impact,"Arial Black",sans-serif;font-size:clamp(.85rem,1.8vw,1.2rem);font-style:italic;letter-spacing:.06em;text-shadow:none;transform:rotate(-2deg);text-transform:uppercase}
.reward-wallet{display:flex;gap:8px}
.wallet-item{min-width:112px;padding:7px 11px;border:2px solid #4c160f;border-radius:12px;color:#34130e;background:#fff0bf;text-align:center;text-shadow:none;box-shadow:inset 0 -3px 0 #e7bd62}
.wallet-item b{font-size:1.25rem}.wallet-item small{display:block;font-size:.75rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.round-button{width:46px;height:46px;border:3px solid #40130e;border-radius:50%;color:#35120e;background:var(--gold);font-size:1.2rem;font-weight:1000;cursor:pointer;box-shadow:0 4px 0 #491610}
.round-button:active{transform:translateY(2px);box-shadow:0 2px 0 #491610}
.comic-link{position:relative;z-index:1;display:inline-grid;place-items:center;min-height:42px;padding:7px 12px;border:2px solid #4c160f;border-radius:11px;color:#35130e;background:#fff0bf;box-shadow:0 4px 0 #491610;font-size:.86rem;font-weight:1000;text-decoration:none;text-shadow:none}.comic-link:hover{background:#fff8de;transform:translateY(-1px)}

.screen{min-height:0}
.arcade-screen{overflow:auto;padding:clamp(14px,2.2vw,28px);color:var(--ink);background:linear-gradient(#f7dd9d,#edc26b)}
.arcade-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 auto 18px;max-width:1200px}
.eyebrow{margin:0 0 5px;color:var(--rust);font-size:.8rem;font-weight:1000;letter-spacing:.13em;text-transform:uppercase}
.arcade-heading h1{margin:0;font-family:Georgia,serif;font-size:clamp(1.45rem,3.1vw,2.45rem);line-height:1.05}
.progress-card{width:min(280px,35%);padding:10px 13px;color:var(--ink);border:3px solid #5c2518;border-radius:13px;background:#fff3c9;box-shadow:4px 5px 0 #7c3a2155}
.progress-card>span{display:block;font-size:.75rem;font-weight:1000;letter-spacing:.08em;text-transform:uppercase}
.progress-card strong{display:block;margin-top:5px;font-size:.8rem;text-align:right}
.progress-track{height:11px;margin-top:6px;overflow:hidden;border:2px solid #4b1a13;border-radius:10px;background:#d5b06b}
.progress-track i{display:block;width:0;height:100%;border-radius:7px;background:linear-gradient(90deg,#e99520,#ffd844);transition:width .4s ease}

.game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1200px;margin:auto;padding-bottom:12px}
.game-card{position:relative;isolation:isolate;min-height:230px;display:flex;align-items:flex-end;overflow:hidden;border:4px solid #3a1711;border-radius:20px;background-position:center;background-size:cover;box-shadow:7px 8px 0 #5a281b66;cursor:pointer;text-align:left;transition:transform .18s ease,box-shadow .18s ease}
.game-card:hover{transform:translateY(-4px) rotate(-.35deg);box-shadow:9px 12px 0 #5a281b55}
.game-card::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 20%,#1d0b0888 58%,#1b0907ed 100%)}
.game-card::after{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;box-shadow:inset 0 0 0 2px #ffe59b99,inset 0 0 28px #2a100c66;border-radius:16px}
.game-card-character{position:absolute;right:-2%;top:2%;width:43%;height:62%;object-fit:contain;filter:drop-shadow(0 9px 5px #210d0988);z-index:-1}
.game-card:nth-child(2n) .game-card-character{right:auto;left:-2%;transform:scaleX(-1)}
.game-card-copy{width:100%;padding:14px 15px;color:#fff;position:relative;z-index:2;text-shadow:0 2px 2px #180805}
.game-number{display:block;margin-bottom:3px;color:#ffd84f;font-size:.75rem;font-weight:1000;letter-spacing:.11em;text-transform:uppercase}
.game-card h2{margin:0;font-family:Impact,"Arial Black",sans-serif;font-size:clamp(1.45rem,2.6vw,2.15rem);line-height:1;letter-spacing:.025em;text-transform:uppercase}
.game-card p{margin:5px 0 9px;font-size:.85rem;line-height:1.18;font-weight:700}
.card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}
.card-stars{color:#ffd84f;font-size:1.15rem;letter-spacing:.06em}
.card-best{font-size:.75rem;font-weight:900;text-transform:uppercase}
.featured-ribbon{position:absolute;left:-37px;top:15px;z-index:6;width:145px;padding:4px 0;color:#3a160e;background:var(--gold);border:2px solid #3b140d;font-size:.65rem;font-weight:1000;text-align:center;text-transform:uppercase;transform:rotate(-38deg)}

.play-screen{display:grid;grid-template-rows:auto 1fr;min-height:0;background:#3d1913}
.game-toolbar{position:relative;z-index:90;min-height:66px;display:grid;grid-template-columns:auto minmax(170px,1fr) minmax(300px,1.2fr) auto;align-items:center;gap:10px;padding:7px 11px;color:#fff;background:#2b120f;border-bottom:3px solid #120706}
.back-button{min-height:44px;padding:8px 13px;border:2px solid #f1bd39;border-radius:11px;color:#fff;background:#711f19;font-weight:900;cursor:pointer}
.game-title-wrap span{display:block;color:#edbd46;font-size:.75rem;font-weight:1000;letter-spacing:.1em;text-transform:uppercase}
.game-title-wrap h1{margin:1px 0 0;font-family:Impact,"Arial Black",sans-serif;font-size:clamp(1.15rem,2.4vw,1.8rem);line-height:1;letter-spacing:.035em;text-transform:uppercase}
.game-hud{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.hud-cell{min-width:0;padding:6px 7px;border:2px solid #6e2b20;border-radius:9px;color:#2c130f;background:#fff0bd;text-align:center}
.hud-cell span{display:block;font-size:.75rem;font-weight:1000;line-height:1;text-transform:uppercase}
.hud-cell strong{display:block;margin-top:2px;font-size:1.05rem;line-height:1;font-variant-numeric:tabular-nums}

.game-stage{position:relative;min-height:0;overflow:hidden;isolation:isolate;touch-action:none;user-select:none;background:#784327;outline:none}
.background-layer{position:absolute;inset:0;z-index:0;background-position:center;background-size:cover;transition:filter .25s ease,transform .4s ease}
.game-stage::after{content:"";position:absolute;inset:0;z-index:80;pointer-events:none;box-shadow:inset 0 0 50px #2a0e0999}
.world{position:absolute;inset:0;z-index:10;overflow:hidden}

.overlay{position:absolute;inset:0;z-index:100;display:grid;place-items:center;padding:clamp(10px,3vw,28px);background:linear-gradient(90deg,#27100dce,#4a1a0a77 50%,#27100dbc);backdrop-filter:blur(2px)}
.paper-card{color:var(--ink);border:4px solid #32140f;border-radius:22px 10px 20px 11px;background:radial-gradient(circle at 18% 8%,#fff7d9,transparent 25%),repeating-linear-gradient(0deg,#f7d995,#f7d995 3px,#f2cf83 3px,#f2cf83 6px);box-shadow:10px 12px 0 #2c0e0ac2,inset 0 0 0 3px #ffedb0;text-align:center}
.instruction-card{width:min(690px,94%);display:grid;grid-template-columns:minmax(170px,.8fr) 1.2fr;align-items:center;gap:5px;padding:clamp(14px,3vw,28px);transform:rotate(-.5deg)}
.instruction-character{width:100%;max-height:300px;object-fit:contain;filter:drop-shadow(0 12px 7px #35170c55)}
.instruction-copy{text-align:left}
.instruction-copy h2,.round-card h2,.result-card h2{margin:0;color:var(--rust);font-family:Impact,"Arial Black",sans-serif;font-size:clamp(2rem,5.3vw,4.3rem);line-height:.9;letter-spacing:.02em;text-transform:uppercase;text-shadow:3px 4px 0 var(--gold);-webkit-text-stroke:1.5px #34140e;paint-order:stroke fill}
.instruction-copy>p:not(.eyebrow){margin:13px 0;font-size:clamp(.95rem,2vw,1.12rem);font-weight:800;line-height:1.28}
.reward-preview{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 15px}
.reward-chip{padding:6px 9px;color:var(--ink);border:2px solid #5f2a19;border-radius:999px;background:#fff5d2;font-size:.78rem;font-weight:900}
.primary-button,.secondary-button{min-height:48px;padding:10px 20px;border:3px solid #35140f;border-radius:13px;font-size:clamp(.95rem,2vw,1.15rem);font-weight:1000;cursor:pointer}
.primary-button{color:#fff;background:linear-gradient(#c6412e,#8d241c);box-shadow:0 5px 0 #44150f;text-transform:uppercase;letter-spacing:.035em}
.primary-button:active{transform:translateY(3px);box-shadow:0 2px 0 #44150f}
.secondary-button{margin-left:7px;color:var(--ink);background:#fff4d0;box-shadow:0 4px 0 #755321}
.round-card{width:min(520px,94%);padding:clamp(18px,3vw,30px)}
.round-card p:not(.eyebrow){margin:14px auto 17px;font-size:1rem;font-weight:800;line-height:1.3}
.result-card{width:min(600px,96%);padding:clamp(15px,2.6vw,26px)}
.result-stars{margin:10px 0 4px;color:#e39a19;font-size:clamp(2.2rem,6vw,4rem);letter-spacing:.08em;text-shadow:2px 3px 0 #5a2712}
.result-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 12px}
.result-numbers span{padding:8px;color:var(--ink);border:2px solid #5a2517;border-radius:10px;background:#fff4d0}
.result-numbers small{display:block;font-size:.67rem;font-weight:1000;text-transform:uppercase}
.result-numbers b{display:block;margin-top:2px;color:var(--rust);font-size:1.2rem}
.verdict{margin:8px auto 16px;font-family:Georgia,serif;font-size:clamp(.88rem,1.9vw,1.05rem);font-weight:700;font-style:italic;line-height:1.3}

.coach{position:absolute;right:1.3%;bottom:1%;z-index:74;width:clamp(105px,15vw,205px);pointer-events:none}
.coach img{display:block;width:80%;margin-left:auto;filter:drop-shadow(0 10px 6px #35160c77)}
.coach img[src$="ace-forgetful.webp"]{width:72%;max-height:38vh;object-fit:contain;object-position:bottom right}
.speech-bubble{position:relative;margin-right:9%;padding:9px 10px;border:3px solid var(--ink);border-radius:50%;color:var(--ink);background:#fffdf4;font-size:clamp(.68rem,1.55vw,1rem);font-weight:1000;line-height:1.08;text-align:center;box-shadow:3px 4px 0 #34150d55;transform:rotate(-2deg)}
.speech-bubble::after{content:"";position:absolute;right:21%;bottom:-12px;width:17px;height:17px;background:#fffdf4;border-right:3px solid var(--ink);border-bottom:3px solid var(--ink);transform:rotate(42deg)}
.coach.ace-golf-coach{left:1.2%;right:auto;bottom:0;width:clamp(260px,32vw,440px)}
.coach.ace-golf-coach img[src$="ace-forgetful.webp"]{width:clamp(165px,60%,240px);max-height:48vh;margin:0;object-position:bottom left}
.coach.ace-golf-coach .speech-bubble{width:100%;min-height:76px;margin:0 0 -5px;padding:13px 17px;border-width:4px;border-radius:30px;font-size:clamp(.83rem,1.55vw,1.18rem);line-height:1.22;text-align:left;box-shadow:5px 6px 0 #34150d66;transform:rotate(-1deg)}
.coach.ace-golf-coach .speech-bubble::after{left:18%;right:auto;bottom:-14px;width:21px;height:21px;border-width:0 4px 4px 0;transform:rotate(45deg)}

.sprite{position:absolute;z-index:30;transform:translate(-50%,-72%);will-change:left,top,transform;pointer-events:none;filter:drop-shadow(0 12px 6px #2a110b77)}
.sprite img{display:block;width:100%;height:100%;object-fit:contain}
.roomba-player{width:clamp(105px,16vw,220px);aspect-ratio:1}
.maggie-player{width:clamp(86px,13vw,170px);aspect-ratio:1}
.sprite.riding img{animation:ride .17s ease-in-out infinite alternate}
.sprite.bump img{animation:bump .3s ease}
.object{position:absolute;z-index:25;display:grid;place-items:center;transform:translate(-50%,-65%);font-size:clamp(1.5rem,4vw,3.3rem);filter:drop-shadow(0 9px 4px #2b120c77);transition:opacity .18s ease,transform .18s ease}
.object.collectible{width:clamp(38px,5.2vw,68px);aspect-ratio:1;border:3px solid #5e4737;border-radius:50%;background:radial-gradient(circle at 35% 25%,#fff,#ddd4c9 58%,#9e8d7e);font-size:clamp(1.05rem,2.7vw,2.2rem);animation:bob 1.2s ease-in-out infinite alternate}
.object.collectible.gold{border-color:#9a5b0d;background:radial-gradient(circle at 35% 25%,#fff5a5,#f4b524 62%,#a35d0b)}
.object.collected{opacity:0;transform:translate(-50%,-65%) scale(1.9) rotate(18deg)}
.object.hazard-hit{animation:hazardHit .34s ease}
.comic-pop{position:absolute;z-index:79;transform:translate(-50%,-50%) rotate(-7deg);color:#ffe342;font-family:Impact,"Arial Black",sans-serif;font-size:clamp(1.9rem,6vw,4.8rem);letter-spacing:.04em;-webkit-text-stroke:3px #25100c;paint-order:stroke fill;text-shadow:4px 5px 0 #ae2b20;pointer-events:none;animation:comicPop .75s ease-out both}
.combo-banner{position:absolute;left:50%;top:15%;z-index:73;transform:translate(-50%,-50%) rotate(-3deg);padding:6px 12px;border:3px solid #30120e;border-radius:12px;color:#35130e;background:#ffd946;font-family:Impact,"Arial Black",sans-serif;font-size:clamp(1.2rem,3vw,2rem);text-transform:uppercase;box-shadow:4px 5px 0 #9d2d22;animation:combo .72s ease both}

.bandit-hole{position:absolute;width:clamp(86px,13vw,160px);aspect-ratio:1;transform:translate(-50%,-50%);cursor:pointer;border:0;background:transparent;padding:0;filter:drop-shadow(0 10px 6px #29110977)}
.bandit-hole img{width:100%;height:100%;object-fit:contain;animation:popUp .2s ease-out both}
.bandit-hole.squashed{width:clamp(130px,20vw,250px);pointer-events:none}.bandit-hole.squashed img{animation:squashHit .36s ease-out both}
.seed-meter{position:absolute;left:2%;top:3%;z-index:70;width:min(280px,45%);padding:8px 10px;border:3px solid #36140f;border-radius:11px;background:#fff3c8;font-weight:1000}
.seed-track{height:12px;margin-top:5px;overflow:hidden;border:2px solid #4a1b13;border-radius:9px;background:#cba761}.seed-track i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#c83a25,#f4bd2e,#3e9d4f);transform-origin:left;transition:transform .2s ease}

.golf-ball{position:absolute;z-index:78;width:clamp(48px,6.2vw,76px);aspect-ratio:1;display:grid;place-items:center;transform:translate(-50%,-50%);border:3px solid #35140f;border-radius:50%;background:radial-gradient(circle at 35% 28%,#fff8d5 0 18%,#f5c45c 58%,#a85a21 100%);padding:0;font-size:clamp(2rem,5vw,4rem);line-height:1;box-shadow:0 0 0 3px #fff4bcaa,0 8px 5px #29120888;cursor:grab;will-change:left,top}
.golf-ball.moving{cursor:default}.golf-hole{position:absolute;z-index:20;width:clamp(34px,4.5vw,58px);aspect-ratio:1;transform:translate(-50%,-50%);border:4px solid #fff;border-radius:50%;background:#17100d;box-shadow:0 0 0 3px #35170e55}
.aim-line{position:absolute;z-index:42;height:8px;border:2px solid #35140f;border-radius:5px;background:repeating-linear-gradient(90deg,#ffe13b 0 12px,#fff 12px 20px);transform-origin:left center;pointer-events:none;filter:drop-shadow(0 2px 1px #24100b)}
.aim-line::after{content:"";position:absolute;right:-12px;top:50%;width:0;height:0;border-top:9px solid transparent;border-bottom:9px solid transparent;border-left:15px solid #ffe13b;transform:translateY(-50%);filter:drop-shadow(1px 1px 0 #35140f)}
.aim-target{position:absolute;z-index:47;width:clamp(42px,6vw,64px);aspect-ratio:1;transform:translate(-50%,-50%);display:grid;place-items:center;border:4px solid #ffe13b;border-radius:50%;box-shadow:0 0 0 3px #35140f88,0 0 18px #ffe13b99;pointer-events:none}
.aim-target span{font:900 clamp(1.4rem,3vw,2.2rem)/1 Arial;color:#fff;text-shadow:0 2px 2px #35140f}
.power-readout{position:absolute;left:50%;bottom:2%;z-index:60;min-width:min(390px,68%);transform:translateX(-50%);padding:7px 12px;border:3px solid #35140f;border-radius:14px;background:#fff0bf;font-weight:1000;text-align:center}.power-readout b,.power-readout small{display:block}.power-readout small{margin-top:3px;font-size:.72rem}.power-track{position:relative;display:block;height:22px;margin:6px 0 3px;overflow:hidden;border:2px solid #4a1b13;border-radius:9px;background:#cba761}.power-track i{position:absolute;inset:0;display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#3b9b54,#ffd43b,#c83a25);opacity:.86}.power-third{position:absolute;top:50%;z-index:2;transform:translate(-50%,-50%);font-style:normal;font-size:.58rem;font-weight:1000;color:#2b140f;text-shadow:0 1px 0 #fff8}.power-third.short{left:16.5%}.power-third.medium{left:50%}.power-third.long{left:83.5%}
.green-label{position:absolute;left:2%;top:3%;z-index:61;padding:7px 11px;border:3px solid #35140f;border-radius:11px;background:#fff0bf;font-weight:1000}.golf-hole{opacity:.78}
.course-character{position:absolute;right:1%;bottom:0;z-index:60;width:clamp(100px,17vw,220px);filter:drop-shadow(0 10px 6px #2a100a66);pointer-events:none}
.caddy-hack-character{right:1.2%;bottom:0;width:clamp(115px,18vw,235px);transform:scaleX(-1);transform-origin:center bottom}

.case-guide{position:absolute;left:2%;top:2%;z-index:64;display:flex;gap:12px;align-items:center;max-width:72%;padding:8px 12px;border:3px solid #35140f;border-radius:12px;background:#fff0bfeb;box-shadow:4px 5px 0 #30110b55;font-size:.8rem}.case-guide b{color:#8f281e}.case-guide span{font-weight:850}.mystery-guide{pointer-events:none}
.scene-prop{position:absolute;z-index:46;min-width:54px;min-height:54px;transform:translate(-50%,-50%);display:grid;place-items:center;border:0;background:transparent;cursor:pointer;filter:drop-shadow(0 5px 3px #24100d66);transition:transform .18s ease,filter .18s ease,opacity .25s ease}.scene-prop span{font-size:clamp(2.4rem,6vw,5rem);line-height:1}.scene-prop:hover,.scene-prop:focus-visible{transform:translate(-50%,-55%) scale(1.12);filter:drop-shadow(0 6px 4px #24100d99) brightness(1.12)}.scene-prop.checked{opacity:.5}.scene-prop.dead-end{filter:grayscale(.8) drop-shadow(0 3px 2px #24100d55)}.scene-prop.evidence{opacity:1;filter:drop-shadow(0 0 8px #ffe04a)}.scene-prop.evidence b{position:absolute;left:50%;bottom:-8px;transform:translateX(-50%) rotate(-4deg);padding:2px 6px;border:2px solid #42170f;background:#ffe04a;color:#5d1b13;font-size:.58rem;white-space:nowrap}
.case-dossier{position:absolute;left:50%;bottom:2.5%;z-index:58;width:min(94%,980px);transform:translateX(-50%);padding:10px 12px;border:4px solid #32140e;border-radius:16px;color:#2b140f;background:#f7df9aef;box-shadow:7px 8px 0 #30110ba8;backdrop-filter:blur(2px)}.case-dossier-head{display:flex;align-items:end;justify-content:space-between;gap:12px}.case-dossier-head div{display:flex;gap:8px;align-items:baseline}.case-dossier-head small{color:#7d2018;font-weight:1000}.case-dossier-head strong{color:#2b140f;font-family:Impact,"Arial Black",sans-serif;font-size:clamp(1.05rem,2.6vw,1.75rem);text-transform:uppercase}.case-dossier-head>span{color:#2b140f;font-size:.73rem;font-weight:900}.evidence-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:7px 0}.evidence-slots span{min-height:36px;padding:6px 8px;border:2px dashed #7a3a1e;border-radius:9px;color:#2b140f;background:#fff7dc;font-family:Georgia,serif;font-size:clamp(.7rem,1.6vw,.92rem);font-weight:700}.deduction-row{display:grid;grid-template-columns:minmax(180px,.7fr) 1.3fr;gap:9px;align-items:center}.case-clock{padding:6px 8px;border:2px solid #542016;border-radius:9px;color:#2b140f;background:#fff2c8;font-size:.72rem;font-weight:1000}.case-clock>i{display:block;height:7px;margin-top:4px;overflow:hidden;border-radius:6px;background:#8b6b33}.case-clock em{display:block;width:100%;height:100%;transform-origin:left;background:#26743d}.case-clock.urgent em{background:#a9231a}.suspects{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.suspect-button{min-height:42px;padding:7px;border:3px solid #37150f;border-radius:10px;color:#fff;background:#7d1f18;font-weight:1000;cursor:pointer;text-shadow:0 1px 1px #2a0c08}.suspect-button:hover{background:#a52d20}.suspect-button.correct{background:#216c38}.suspect-button.wrong{background:#493c36}.suspect-button:disabled{opacity:.68;cursor:not-allowed}.case-dossier.ready{background:#ffe7a6f5;box-shadow:7px 8px 0 #30110ba8,0 0 24px #ffe04a88}

.watch-status{position:absolute;left:50%;top:2%;z-index:60;transform:translateX(-50%);padding:8px 14px;border:3px solid #36140e;border-radius:999px;background:#fff1bd;font-weight:1000;text-align:center}.watch-status.urgent{color:#fff;background:#b52f24;animation:flash .5s ease infinite}.hint-button{position:absolute;right:2%;top:3%;z-index:63;padding:8px 11px;border:3px solid #35140f;border-radius:10px;background:#ffe04a;font-weight:1000;cursor:pointer}.hidden-bootsie{position:absolute;z-index:34;width:clamp(75px,12vw,155px);aspect-ratio:1;transform:translate(-50%,-65%) scale(.25);border:0;background:transparent;opacity:0;cursor:pointer;transition:transform .32s ease,opacity .25s ease}.hidden-bootsie img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 4px #1d0b0866)}.hidden-bootsie.revealed{z-index:53;opacity:1;transform:translate(-50%,-70%) scale(1)}.hidden-bootsie.caught{animation:bootsieCaught .65s ease both}.search-object{position:absolute;z-index:45;min-width:52px;min-height:52px;transform:translate(-50%,-50%);display:grid;place-items:center;border:0;background:transparent;filter:drop-shadow(0 6px 3px #24100d66);cursor:pointer;transition:transform .46s cubic-bezier(.2,.8,.2,1),opacity .38s ease,filter .2s ease}.search-object span{display:block;font-size:clamp(3.4rem,8.5vw,7rem);line-height:1}.search-object:hover,.search-object:focus-visible{transform:translate(-50%,-55%) scale(1.08);filter:drop-shadow(0 8px 4px #24100d88) brightness(1.1)}.search-object.moved{transform:translate(calc(-50% + var(--move-x)),-15%) rotate(24deg) scale(.58);opacity:0;pointer-events:none}.search-object.hinted{animation:searchHint .55s ease-in-out infinite alternate}
.mail-item{position:absolute;z-index:30;width:clamp(42px,6vw,75px);aspect-ratio:1;display:grid;place-items:center;transform:translate(-50%,-50%);border:3px solid #3c1711;border-radius:12px;background:#fff3c9;font-size:clamp(1.35rem,3.3vw,2.5rem);box-shadow:4px 5px 0 #5c291855;animation:bob 1.1s ease-in-out infinite alternate}.mail-item.collected{opacity:0;transform:translate(-50%,-50%) scale(1.8)}.sprinkler{position:absolute;z-index:28;width:clamp(56px,8vw,105px);aspect-ratio:1;display:grid;place-items:center;transform:translate(-50%,-50%);font-size:clamp(2rem,5vw,4rem);filter:drop-shadow(0 7px 4px #2b110c66);animation:sprinklerSpin 1.4s linear infinite}.path-warning{position:absolute;left:50%;top:12%;z-index:65;transform:translateX(-50%);padding:7px 12px;border:3px solid #44170f;border-radius:10px;color:#fff;background:#a62e23;font-weight:1000;animation:flash .5s ease}
.route-blocker{position:absolute;z-index:38;transform:translate(-50%,-50%);font-size:clamp(2.2rem,6vw,5rem);filter:drop-shadow(0 7px 4px #2b110c66)}.route-banner{position:absolute;left:2%;top:3%;z-index:60;padding:7px 11px;border:3px solid #35140f;border-radius:10px;background:#fff0bf;font-weight:1000}

.turbo-stamp{position:absolute;z-index:37;transform:translate(-50%,-50%) rotate(-5deg);display:grid;place-items:center;min-width:68px;aspect-ratio:1;border:4px solid #4a1a10;border-radius:50%;background:#ffe04a;box-shadow:0 0 0 5px #fff3a055,5px 6px 0 #32130d55;font-size:clamp(1.8rem,4vw,3.1rem);font-weight:1000;animation:turboPulse .55s ease-in-out infinite alternate}.turbo-stamp b{display:block;font-size:.52rem;line-height:.7;color:#7e2117}.turbo-stamp.used{animation:turboBlast .35s ease forwards;pointer-events:none}.turbo-mailbox{position:absolute;transform:translate(-50%,-50%);font-size:clamp(3rem,8vw,6.5rem);filter:drop-shadow(0 8px 4px #24100d77);animation:mailboxBounce .7s ease-in-out infinite alternate}.turbo-banner{display:flex;gap:8px;align-items:center}.turbo-banner span{padding:3px 7px;border-radius:999px;background:#ffe04a;color:#6f1c14}.turbo-banner.urgent{background:#b52f24;color:#fff}.turbo-banner.urgent span{background:#fff;color:#b52f24}.turbo-maggie.turboing img{filter:drop-shadow(0 0 11px #ffe04a) drop-shadow(0 8px 5px #28100a66)}.turbo-maggie.turboing::after{content:"💨";position:absolute;right:70%;top:38%;font-size:clamp(1.8rem,4vw,3.2rem);animation:turboTrail .28s linear infinite}.turbo-mail{transition:transform .18s ease,opacity .18s ease}.turbo-hazard{animation-duration:.85s}.turbo-blocker{filter:drop-shadow(0 7px 4px #2b110c66)}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@keyframes ride{from{transform:translateY(-1px) rotate(-1deg)}to{transform:translateY(2px) rotate(1deg)}}
@keyframes bump{0%{transform:rotate(0)}35%{transform:rotate(-13deg) scale(1.08)}68%{transform:rotate(10deg) scale(.97)}100%{transform:rotate(0)}}
@keyframes bob{from{transform:translate(-50%,-65%) translateY(-3px) rotate(-2deg)}to{transform:translate(-50%,-65%) translateY(5px) rotate(2deg)}}
@keyframes hazardHit{0%{transform:translate(-50%,-65%) rotate(0)}50%{transform:translate(-50%,-65%) rotate(20deg) scale(1.16)}100%{transform:translate(-50%,-65%) rotate(-5deg)}}
@keyframes comicPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.15) rotate(-14deg)}30%{opacity:1;transform:translate(-50%,-50%) scale(1.18) rotate(-7deg)}100%{opacity:0;transform:translate(-50%,-82%) scale(1) rotate(-3deg)}}
@keyframes combo{0%{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(-8deg)}35%{opacity:1;transform:translate(-50%,-50%) scale(1.13) rotate(-3deg)}100%{opacity:0;transform:translate(-50%,-90%) scale(1)}}
@keyframes popUp{from{opacity:0;transform:translateY(35%) scale(.7)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes squashHit{0%{transform:scaleY(1)}45%{transform:scaleX(1.25) scaleY(.45)}100%{transform:scaleX(1) scaleY(1)}}
@keyframes evidencePulse{to{transform:translate(-50%,-50%) scale(1.1);box-shadow:0 0 0 7px #ffd84866,0 0 25px #ffe752}}
@keyframes searchHint{to{transform:translate(-50%,-50%) scale(1.16);box-shadow:0 0 0 7px #ffe34a99,0 0 25px #ffe34a}}
@keyframes bootsieCaught{to{transform:translate(-50%,-120%) scale(1.25) rotate(-8deg);opacity:0}}
@keyframes sprinklerSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}

@keyframes turboPulse{to{transform:translate(-50%,-50%) rotate(5deg) scale(1.12);box-shadow:0 0 0 8px #ffe04a44,5px 6px 0 #32130d55}}
@keyframes turboBlast{to{transform:translate(-50%,-50%) scale(2.2) rotate(25deg);opacity:0}}
@keyframes mailboxBounce{to{transform:translate(-50%,-56%) rotate(4deg)}}
@keyframes turboTrail{from{transform:translateX(0);opacity:1}to{transform:translateX(-24px);opacity:0}}
@keyframes flash{50%{transform:translateX(-50%) scale(1.05)}}

@media(max-width:900px){.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-card{min-height:210px}.game-toolbar{grid-template-columns:auto 1fr minmax(260px,1.2fr) auto}.brand-lockup{gap:7px}.arcade-name{display:none}}
@media(max-width:680px){
  .site-banner{padding:.65rem .5rem .1rem}.site-banner img{max-width:250px}.site-nav{gap:.2rem;padding:.4rem}.nav-link{font-size:.65rem;padding:.25rem .55rem}
  .app-shell{height:calc(var(--arcade-vh) - 105px);min-height:560px;padding:0}.arcade-frame{width:100%;height:100%;border:0;border-radius:0}
  .top-bar{min-height:65px;grid-template-columns:1fr auto auto auto;gap:6px;padding:6px 8px}.brand-name{font-size:1.05rem}.reward-wallet{gap:4px}.wallet-item{min-width:78px;padding:5px 6px}.wallet-item b{font-size:1rem}.wallet-item small{font-size:.75rem}.round-button{width:40px;height:40px}.comic-link{min-height:38px;padding:5px 8px;font-size:.75rem}
  .arcade-heading{align-items:start}.progress-card{width:42%;padding:8px}.game-grid{gap:10px}.game-card{min-height:190px;border-width:3px}.game-card h2{font-size:1.45rem}.game-card p{font-size:.76rem}.game-card-character{width:47%;height:58%}
  .game-toolbar{min-height:59px;grid-template-columns:auto minmax(100px,1fr) minmax(220px,1.5fr) auto;gap:5px;padding:5px}.back-button{min-height:39px;padding:6px 8px}.game-title-wrap h1{font-size:1rem}.game-hud{gap:3px}.hud-cell{padding:5px 3px}.hud-cell span{font-size:.75rem}.hud-cell strong{font-size:.9rem}
  .instruction-card{grid-template-columns:minmax(110px,.65fr) 1.35fr}.instruction-character{max-height:225px}.instruction-copy h2{font-size:2.2rem}.instruction-copy>p:not(.eyebrow){font-size:.87rem;margin:8px 0}.reward-chip{padding:4px 7px;font-size:.68rem}.primary-button,.secondary-button{min-height:42px;padding:8px 13px;font-size:.88rem}
  .case-guide{font-size:.68rem;max-width:82%}.case-dossier{width:96%;padding:8px}.evidence-slots{gap:5px}.suspect-button{min-height:39px;padding:5px;font-size:.73rem}.scene-prop{min-width:46px;min-height:46px}
}
@media(max-width:520px) and (orientation:portrait){
  .top-bar{grid-template-columns:1fr auto auto}.brand-lockup{display:none}.reward-wallet{justify-self:start}.arcade-screen{padding:11px}.arcade-heading{display:block}.progress-card{width:100%;margin-top:10px}.game-grid{grid-template-columns:1fr}.game-card{min-height:170px}.game-card-character{width:42%;height:72%}
  .game-toolbar{grid-template-columns:auto 1fr auto;grid-template-rows:auto auto}.game-hud{grid-column:1/-1;grid-row:2}.game-toolbar>.round-button{grid-column:3;grid-row:1}.play-screen{grid-template-rows:auto 1fr}.coach{width:112px}.speech-bubble{font-size:.64rem;padding:6px}.coach.ace-golf-coach{width:min(64vw,320px)}.coach.ace-golf-coach .speech-bubble{min-height:62px;padding:9px 11px;font-size:clamp(.72rem,2.6vw,.92rem);line-height:1.18}.coach.ace-golf-coach img[src$="ace-forgetful.webp"]{width:52%;max-height:38vh}.caddy-hack-character{width:clamp(92px,25vw,140px)}
  .instruction-card{grid-template-columns:1fr;padding:10px}.instruction-character{height:125px}.instruction-copy{text-align:center}.reward-preview{justify-content:center}.instruction-copy h2{font-size:2.15rem}.case-guide span{display:none}.case-dossier{bottom:1%;padding:6px 7px}.case-dossier-head strong{font-size:.92rem}.case-dossier-head>span{display:none}.evidence-slots span{min-height:29px;padding:4px;font-size:.59rem}.deduction-row{grid-template-columns:1fr}.case-clock{display:none}.suspect-button{min-height:34px;font-size:.66rem}.watch-grid{inset:8% 4% 7%}.power-readout{min-width:84%}.search-object{min-width:46px}
}
@media(max-height:620px){.top-bar{min-height:58px}.arcade-screen{padding:10px 16px}.arcade-heading{margin-bottom:9px}.game-grid{gap:9px}.game-card{min-height:155px}.game-card p{display:none}.game-toolbar{min-height:55px}.instruction-character{max-height:190px}.instruction-card{padding:11px 16px}.instruction-copy h2{font-size:2.4rem}.instruction-copy>p:not(.eyebrow){font-size:.85rem;margin:7px 0}.round-card,.result-card{padding:12px 18px}.result-stars{font-size:2.2rem;margin:4px}.result-numbers{margin:5px 0}.verdict{margin:5px 0 9px}.primary-button,.secondary-button{min-height:39px;padding:6px 12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
/* Radar's Goose Rescue — rebuilt clean presentation */
.rescue-sprite{position:absolute;transform:translate(-50%,-78%);pointer-events:none;transition:filter .2s ease,opacity .25s ease}.rescue-sprite::after,.radar-rescue::after{content:"";position:absolute;left:50%;bottom:3%;width:58%;height:10%;transform:translateX(-50%);border-radius:50%;background:#2738133d;filter:blur(3px);z-index:-1}.rescue-sprite img,.radar-rescue img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 3px #24130b66)}
.radar-rescue{width:clamp(92px,10vw,138px)!important;aspect-ratio:1.28}.goose-rescue{aspect-ratio:.75}.meemaw-rescue{aspect-ratio:.55;z-index:26!important}.goose-rescue.rescued{filter:drop-shadow(0 0 10px #fff1a0);animation:rescueBounce .55s ease both;opacity:.92}
.goose-safe-zone{position:absolute;width:19%;height:25%;transform:translate(-50%,-50%);border:4px dashed #fff1a3;border-radius:50%;background:radial-gradient(circle,#fff3a332 0 55%,transparent 56%);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:10px;color:#27130d;text-shadow:0 1px #fff7cf;font-size:clamp(.58rem,.9vw,.8rem);font-weight:1000;text-align:center;pointer-events:none}.goose-safe-zone b{padding:2px 6px;border-radius:999px;background:#fff3cce8}.goose-safe-zone>span:last-child{margin-top:3px;padding:1px 5px;border-radius:999px;background:#fff8d9d9;font-size:.72em}.safe-home{position:absolute;top:-18px;padding:3px 8px;border:2px solid #452014;border-radius:7px;background:#f0b83a;color:#32130d;font-size:.7rem;letter-spacing:.08em}
.goose-hazard{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;pointer-events:none;text-align:center}.goose-hazard span{font-size:clamp(1.8rem,3.2vw,3rem);filter:drop-shadow(0 4px 3px #2a110b55)}.goose-hazard b{margin-top:2px;padding:2px 6px;border-radius:7px;background:#fff2cbdc;border:1.5px solid #4a1c12;color:#34130e;font-size:clamp(.46rem,.7vw,.62rem);letter-spacing:.04em}
.rescue-mission-panel{position:absolute;left:2%;top:2%;z-index:68;width:min(300px,34%);padding:8px 10px;border:2px solid #4b1d12;border-radius:12px;background:#fff1c9ed;color:#35140f;box-shadow:3px 4px 0 #53201455;text-align:left;pointer-events:none}.rescue-mission-panel span{display:block;color:#a42e21;font-size:.61rem;font-weight:1000;letter-spacing:.12em}.rescue-mission-panel b{display:block;margin-top:1px;font-family:Impact,"Arial Black",sans-serif;font-size:clamp(.95rem,1.7vw,1.35rem);letter-spacing:.025em;text-transform:uppercase}.rescue-mission-panel small{display:block;margin-top:2px;font-size:.66rem;font-weight:800;line-height:1.2}
.meemaw-help{position:absolute;right:2%;bottom:3%;z-index:72;min-height:44px;padding:8px 12px;border:3px solid #43170f;border-radius:12px;background:#f2b0b7;color:#35100c;font-weight:1000;box-shadow:3px 4px 0 #4d1e15;cursor:pointer}.meemaw-help.used{opacity:.45;pointer-events:none}.meemaw-help span{white-space:nowrap}
.rescue-status{position:absolute;left:50%;bottom:2%;z-index:65;transform:translateX(-50%);max-width:58%;padding:7px 13px;border:2px solid #3b160f;border-radius:999px;background:#fff5d8ed;color:#30150f;font-size:clamp(.62rem,.9vw,.8rem);font-weight:1000;text-align:center;box-shadow:2px 3px 0 #4c1d1444}
.rescue-legend{position:absolute;left:2%;bottom:2%;z-index:64;display:flex;gap:8px;flex-wrap:wrap;padding:5px 8px;border:2px solid #4b1d12;border-radius:10px;background:#fff2c9e6;color:#31140e;font-size:.62rem;font-weight:900}.rescue-legend span{display:flex;align-items:center;gap:4px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.radar-dot{background:#7d4a28}.beau-dot{background:#c99f68}.belle-dot{background:#e7c9a3;border:1px solid #6c4c31}
@keyframes rescueBounce{50%{transform:translate(-50%,-95%) scale(1.12)}100%{transform:translate(-50%,-78%) scale(.84)}}
@media(max-width:650px){.rescue-mission-panel{width:42%;padding:6px 7px}.rescue-mission-panel small{display:none}.rescue-status{max-width:58%;font-size:.58rem;padding:5px 8px}.meemaw-help{font-size:.66rem;padding:6px 8px}.goose-safe-zone{width:24%;height:24%;border-width:3px}.radar-rescue{width:90px!important}.rescue-legend{display:none}}

/* iPad-friendly game setup: a swipe anywhere on the card or scene scrolls. */
body.game-setup{overflow-y:auto;overscroll-behavior-y:auto}
body.game-setup .game-stage,body.game-setup .instruction-overlay{touch-action:pan-y;user-select:auto}
body.game-setup .instruction-overlay{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;place-items:start center}
body.game-setup .instruction-card{margin:auto}

/* Always use dark ink on cream, gold, or pink controls. */
.power-readout,.green-label,.case-guide,.watch-status,.hint-button,.route-banner,
.rescue-mission-panel,.rescue-status,.meemaw-help{color:#2b140f}

/* Radar's Goose Rescue — injured-wildlife search, decisions, and careful rescue. */
.rescue-sprite.waiting{filter:saturate(.9)}
.rescue-sprite.injured-goose::before,.rescue-sprite.rescue-beau::before{content:"";position:absolute;inset:18% 3% 7%;z-index:2;border:4px solid #d9d0b4;border-radius:48%;transform:rotate(14deg);box-shadow:12px 6px 0 -9px #d9d0b4,-12px -3px 0 -9px #d9d0b4;pointer-events:none}
.rescue-search-spot{position:absolute;z-index:45;min-width:86px;min-height:70px;display:grid;place-items:center;transform:translate(-50%,-50%);padding:4px;border:0;color:#2b140f;background:transparent;cursor:pointer;touch-action:manipulation;filter:drop-shadow(0 5px 3px #22100977);transition:transform .18s ease,filter .18s ease,opacity .2s ease}
.rescue-search-spot span{font-size:clamp(2.6rem,6vw,5.3rem);line-height:.9}.rescue-search-spot b{max-width:110px;padding:3px 7px;border:2px solid #39170f;border-radius:8px;color:#29130e;background:#fff2c8;font-size:clamp(.58rem,.9vw,.78rem);line-height:1.05;text-transform:uppercase}
.rescue-search-spot:hover,.rescue-search-spot:focus-visible{transform:translate(-50%,-55%) scale(1.08);filter:drop-shadow(0 7px 4px #22100999) brightness(1.05)}
.rescue-search-spot.checked{opacity:.72}.rescue-search-spot.clue b{color:#2b140f;background:#ffe04a}.rescue-search-spot.empty{filter:grayscale(.65) drop-shadow(0 3px 2px #22100955)}
.rescue-search-spot.found{width:clamp(120px,16vw,220px);min-height:150px;opacity:1;animation:rescueFound .55s ease both}.rescue-search-spot.found img{width:100%;max-height:135px;object-fit:contain;filter:drop-shadow(0 8px 5px #24100988)}.rescue-search-spot.found b{color:#fff;background:#7b2018;text-shadow:0 1px 1px #2a0b08}
.rescue-choice-card{position:absolute;left:50%;top:7%;z-index:70;width:min(600px,62%);transform:translateX(-50%);padding:12px 15px;border:4px solid #32140f;border-radius:16px;color:#2b140f;background:#fff0c8f2;box-shadow:6px 7px 0 #2e100a88;text-align:center}
.rescue-choice-card small{color:#7d2018;font-weight:1000;letter-spacing:.12em}.rescue-choice-card h3{margin:5px 0 10px;font:900 clamp(.92rem,1.8vw,1.32rem)/1.15 Georgia,serif}.rescue-choice-card p{min-height:1.2em;margin:7px 0 0;font-size:.75rem;font-weight:900}
.rescue-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.rescue-choices button{min-height:54px;padding:7px;border:3px solid #39150f;border-radius:10px;color:#fff;background:#7d2119;font-size:clamp(.64rem,1.05vw,.84rem);font-weight:1000;line-height:1.1;cursor:pointer;text-shadow:0 1px 1px #2a0b08;touch-action:manipulation}.rescue-choices button:hover{background:#a43124}.rescue-choices button.correct{background:#216b38}.rescue-choices button.wrong{color:#fff;background:#4b3e38;opacity:.8}
.line-snag{position:absolute;z-index:67;min-width:74px;min-height:52px;transform:translate(-50%,-50%) rotate(-3deg);padding:4px 6px;border:3px solid #35150f;border-radius:999px;color:#2b140f;background:#ffe04a;box-shadow:0 0 0 5px #fff4b055,4px 5px 0 #35140f55;font-weight:1000;cursor:pointer;touch-action:manipulation}.line-snag span{font-size:1.15rem}.line-snag b{display:block;font-size:.58rem;line-height:1}.line-snag:hover,.line-snag:focus-visible{transform:translate(-50%,-55%) rotate(2deg) scale(1.07)}.line-snag.cut{pointer-events:none;animation:safeCut .45s ease forwards}.line-snag.mistake{background:#b82e23;color:#fff;animation:rescueShake .35s ease}
.rescuer-call{position:absolute;left:50%;top:3%;z-index:72;transform:translateX(-50%);width:min(460px,48%);padding:8px 12px;border:3px solid #32140f;border-radius:12px;color:#2b140f;background:#fff3cef2;box-shadow:4px 5px 0 #2d110b66;text-align:center}.rescuer-call small{display:block;color:#7d2018;font-size:.62rem;font-weight:1000;letter-spacing:.1em}.rescuer-call b{display:block;margin-top:2px;font-size:clamp(.75rem,1.3vw,1rem)}
.reunion-banner{position:absolute;left:50%;top:9%;z-index:72;width:min(600px,70%);transform:translateX(-50%) rotate(-1deg);padding:12px 16px;border:4px solid #35140f;border-radius:14px;color:#2b140f;background:#ffe04a;box-shadow:7px 8px 0 #35140f66;text-align:center}.reunion-banner b{display:block;font-family:Impact,"Arial Black",sans-serif;font-size:clamp(1.3rem,3vw,2.4rem);letter-spacing:.03em}.reunion-banner span{display:block;margin-top:3px;font-size:clamp(.68rem,1.1vw,.9rem);font-weight:900}
@keyframes rescueFound{from{transform:translate(-50%,-50%) scale(.3);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}
@keyframes safeCut{to{transform:translate(-50%,-80%) rotate(18deg) scale(1.7);opacity:0}}
@keyframes rescueShake{25%{transform:translate(-57%,-50%) rotate(-6deg)}75%{transform:translate(-43%,-50%) rotate(6deg)}}

@media(max-width:900px){
  .rescue-mission-panel{width:31%}.rescue-choice-card{width:66%}.rescue-search-spot{min-width:72px}.rescuer-call{width:52%}
}
@media(max-width:680px){
  body.game-setup .instruction-overlay{padding:8px}.rescue-mission-panel{width:38%;padding:6px 7px}.rescue-choice-card{top:5%;width:72%;padding:8px}.rescue-choices{gap:4px}.rescue-choices button{min-height:48px;padding:5px}.rescue-search-spot{min-width:60px}.rescue-search-spot b{max-width:84px;padding:2px 4px}.line-snag{min-width:62px}.rescuer-call{width:55%}.rescue-status{bottom:1%;max-width:72%}
}
@media(max-width:520px) and (orientation:portrait){
  body.game-setup .app-shell{height:auto;min-height:calc(100dvh - 105px)}body.game-setup .arcade-frame{height:auto;min-height:760px}body.game-setup .play-screen{min-height:755px}body.game-setup .game-stage{min-height:650px}
  .rescue-choice-card{top:3%;width:94%}.rescue-choices{grid-template-columns:1fr}.rescue-choices button{min-height:42px}.rescue-mission-panel{width:46%}.rescue-mission-panel small{display:none}.rescue-search-spot{min-width:54px}.reunion-banner{width:90%}
}

/* Pond-bank rescue: world positions stay aligned with the illustrated shoreline. */
.pond-stage .background-layer{background-size:100% 100%;background-position:center}
.pond-world{color:#291b11}
.pond-brief{position:absolute;left:2%;right:2%;top:2%;z-index:96;padding:10px 16px;border:2px solid #603e24;border-radius:13px;background:#fff3d7;color:#291b11;box-shadow:0 4px 12px #1b1b2355;pointer-events:none}
.pond-brief small{display:block;color:#794021;font-size:.66rem;font-weight:900;letter-spacing:.1em}
.pond-brief strong{display:block;font-family:Georgia,serif;font-size:clamp(1.2rem,2.3vw,1.8rem);line-height:1.08}
.pond-brief p{margin:4px 0 0;font-size:clamp(.8rem,1.35vw,1rem);line-height:1.3;font-weight:800}
.pond-actor{position:absolute;transform:translate(-50%,-90%);width:clamp(82px,10vw,145px);pointer-events:none;isolation:isolate}
.pond-actor img{display:block;width:100%;max-height:28vh;object-fit:contain;object-position:bottom;filter:drop-shadow(0 6px 3px #29150566)}
.pond-actor>span{position:absolute;bottom:-16px;left:50%;transform:translateX(-50%);padding:2px 7px;border:1px solid #624329;border-radius:8px;white-space:nowrap;color:#291b11;background:#fff3d7;font-size:.7rem;font-weight:900}
.pond-radar{width:clamp(80px,11vw,150px)}
.pond-radar.walking img{animation:pondWalk .23s ease-in-out infinite alternate}
.pond-meemaw,.pond-worker{width:clamp(64px,7vw,104px)}
.pond-facing-opposite img{transform:scaleX(-1)}
.pond-facing-opposite.pond-radar.walking img{animation:pondWalkOpposite .23s ease-in-out infinite alternate}
.pond-facing-opposite.pond-worker.snipping img{animation:pondSnipOpposite .5s ease-in-out}
.pond-goose{width:clamp(58px,6.5vw,95px)}
.pond-goose.tangled::after{content:"";position:absolute;left:8%;right:5%;top:54%;height:28%;border:4px solid #e7e2c9;border-radius:50%;transform:rotate(-24deg);box-shadow:0 0 0 2px #544b39,0 -13px 0 -3px #ded5b6,0 -15px 0 -3px #544b39;opacity:var(--line-opacity,1);transition:opacity .4s}
.pond-worker.snipping img{animation:pondSnip .5s ease-in-out}
.pond-rock{position:absolute;transform:translate(-50%,-65%);font-size:clamp(35px,5vw,72px);pointer-events:none;filter:drop-shadow(0 6px 3px #2a1b1155)}
.pond-destination{position:absolute;transform:translate(-50%,-50%);width:clamp(55px,7vw,95px);height:clamp(28px,4vw,52px);border:3px dashed #502f1a;border-radius:50%;background:#ffe6a49c;pointer-events:none;text-align:center}
.pond-destination span{font-size:1.2rem}
.pond-clue{position:absolute;transform:translate(-50%,-100%);pointer-events:none;text-align:center;width:140px}
.pond-clue>span{font-size:clamp(28px,4vw,50px);filter:drop-shadow(0 2px 2px #fff)}
.pond-clue small{display:block;width:max-content;max-width:140px;margin:auto;padding:3px 6px;border:1px solid #624329;border-radius:7px;color:#291b11;background:#fff3d7;font-size:.73rem;font-weight:900}
.pond-controls{position:absolute;left:50%;bottom:max(12px,calc(env(safe-area-inset-bottom) + 12px));z-index:97;transform:translateX(-50%);width:min(500px,90%);display:flex;flex-direction:column;align-items:center;gap:4px;color:#fff}
.pond-action{width:100%;min-height:50px;padding:10px 16px;border:2px solid #112f28;border-radius:12px;background:#145446;color:#fff;box-shadow:0 4px 0 #14291e;font-size:clamp(.85rem,1.5vw,1.08rem);font-weight:900;cursor:pointer;touch-action:manipulation}
.pond-action:disabled{color:#f5f0e8;background:#4a4a41;border-color:#292c25;box-shadow:none;cursor:default}
.pond-action:not(:disabled):active{transform:translateY(2px);box-shadow:0 2px 0 #14291e}
.pond-control-help{padding:3px 7px;border-radius:6px;background:#221a12e8;color:#fff7e6;font-size:.66rem;text-align:center}
.pond-meter-box{width:100%;padding:8px 12px;background:#fff3d7;color:#291b11;border:2px solid #624329;border-radius:10px}
.pond-meter-box small{display:block;font-size:.75rem;font-weight:900;text-align:center;margin-bottom:6px}
.pond-meter{position:relative;height:22px;border:2px solid #3b2d1d;border-radius:6px;background:#493c34;overflow:hidden}
.pond-meter-window{position:absolute;top:0;bottom:0;background:#ffcf52;border-left:2px solid #fff0ae;border-right:2px solid #fff0ae}
.pond-meter-needle{position:absolute;top:0;bottom:0;width:6px;border:1px solid #152820;background:#fff;box-shadow:0 0 0 2px #162820;transform:translateX(-50%)}
@keyframes pondWalk{to{transform:translateY(-3px) rotate(2deg)}}
@keyframes pondSnip{50%{transform:rotate(-8deg) translateX(4px)}}
@keyframes pondWalkOpposite{to{transform:scaleX(-1) translateY(-3px) rotate(2deg)}}
@keyframes pondSnipOpposite{50%{transform:scaleX(-1) rotate(-8deg) translateX(4px)}}
@media(max-width:680px){.pond-brief{padding:7px 10px}.pond-brief small{font-size:.56rem}.pond-brief strong{font-size:1.1rem}.pond-brief p{font-size:.77rem}.pond-actor>span{font-size:.58rem}.pond-clue small{font-size:.62rem}.pond-controls{width:84%;bottom:max(10px,calc(env(safe-area-inset-bottom) + 10px))}.pond-control-help{font-size:.54rem}.pond-action{min-height:46px}.pond-meemaw,.pond-worker{width:58px}.pond-goose{width:50px}.pond-radar{width:80px}}
@media(max-height:600px){.pond-brief{padding:5px 10px}.pond-brief small{display:none}.pond-brief strong{font-size:1.1rem}.pond-brief p{font-size:.75rem}.pond-control-help{display:none}.pond-action{min-height:42px;padding:7px}.pond-meter-box{padding:4px 8px}.pond-meter-box small{font-size:.64rem;margin-bottom:3px}.pond-actor img{max-height:24vh}.pond-actor>span{font-size:.56rem;bottom:-12px}}
@media(prefers-reduced-motion:reduce){.pond-radar.walking img,.pond-worker.snipping img{animation:none}}
.pond-worker{width:clamp(100px,11vw,166px)}
@media(max-width:680px){.pond-worker{width:90px}}
/* Raster props keep clues and collision obstacles visible without emoji fonts. */
.pond-prop{background-image:url("assets/pond-props.png");background-size:200% 200%;background-repeat:no-repeat}
.prop-feather{background-position:0 0}.prop-line{background-position:100% 0}.prop-paws{background-position:0 100%}.prop-rock{background-position:100% 100%}
.pond-rock{width:clamp(42px,6vw,82px);height:auto;aspect-ratio:1}
.pond-clue>span{display:block;width:clamp(44px,5vw,68px);height:auto;aspect-ratio:1;margin:auto}
.pond-destination>span{display:block;width:35px;height:35px;margin:-5px auto}
.pond-goose.tangled::after{left:-12%;right:auto;top:48%;width:124%;height:auto;aspect-ratio:1;border:0;border-radius:0;box-shadow:none;background-image:url("assets/pond-props.png");background-size:200% 200%;background-position:100% 0;transform:rotate(-15deg)}
