:root{--ink:#0b2a3f;--sea:#e8f7ff;--card-bg:#fff;--card-edge:#b6dced;--accent:#ff7a3d;--good:#2fbf6b;--bad:#e8553e;font-family:"Baloo 2",Trebuchet MS,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{min-height:100vh;color:var(--ink);-webkit-tap-highlight-color:transparent;background:radial-gradient(circle at 50% 0,#7fd4f0 0%,#cdeefb 45%,#e8f7ff 100%)}.app{flex-direction:column;align-items:center;gap:16px;max-width:720px;margin:0 auto;padding:16px 16px 32px;display:flex}.app__title{letter-spacing:.02em;color:#0b3a5b;text-shadow:0 2px #fff,0 3px 8px #0b3a5b40;text-align:center;margin:8px 0 0;font-size:clamp(1.6rem,6vw,2.6rem)}.start{text-align:center;flex-direction:column;align-items:center;gap:20px;padding:24px 8px;display:flex}.start__hint{max-width:28ch;margin:0;font-size:clamp(1rem,3.6vw,1.25rem);line-height:1.5}.start__button,.result__button{background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:999px;padding:16px 40px;font-size:clamp(1.1rem,4vw,1.5rem);font-weight:700;transition:transform 80ms,box-shadow 80ms;box-shadow:0 6px #d15a24,0 10px 20px #d15a2459}.start__button:active,.result__button:active{transform:translateY(4px);box-shadow:0 2px #d15a24,0 4px 10px #d15a2459}.start__button:disabled{cursor:not-allowed;background:#b9c6cf;box-shadow:0 6px #93a3ad}.start__warn{color:var(--bad);margin:-8px 0 0;font-weight:700}.wordpicker{text-align:left;width:100%;max-width:520px}.wordpicker__summary{border:3px solid var(--card-edge);background:var(--card-bg);width:100%;color:var(--ink);font:inherit;cursor:pointer;border-radius:14px;align-items:center;gap:10px;padding:12px 16px;font-size:1.05rem;font-weight:700;display:flex}.wordpicker__count{background:var(--sea);color:#0b3a5b;border-radius:999px;margin-left:auto;padding:2px 12px;font-size:.95rem;font-weight:700}.wordpicker__body{background:var(--card-bg);border:3px solid var(--card-edge);border-radius:14px;flex-direction:column;gap:14px;margin-top:10px;padding:14px 16px 16px;display:flex}.wordpicker__bulk{gap:8px;display:flex}.wordpicker__bulk button{font:inherit;border:2px solid var(--card-edge);color:#0b3a5b;cursor:pointer;background:#fff;border-radius:999px;padding:6px 16px;font-weight:700}.wordpicker__group{flex-direction:column;gap:8px;display:flex}.wordpicker__grouphead{color:#0b3a5b;align-items:center;gap:8px;font-weight:700;display:flex}.wordpicker__chips{flex-wrap:wrap;gap:8px;display:flex}.wordpicker__chip{border:2px solid var(--card-edge);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--ink);background:#fff;border-radius:999px;align-items:center;padding:6px 14px;font-weight:700;display:inline-flex}.wordpicker__chip input{opacity:0;width:0;height:0;position:absolute}.wordpicker__chip:has(input:checked){background:var(--accent);border-color:var(--accent);color:#fff}.wordpicker__chip:has(input:focus-visible){outline-offset:2px;outline:3px solid #0b3a5b}.scene{border:4px solid #fff;border-radius:18px;width:100%;overflow:hidden;box-shadow:0 8px 24px #0b2a3f40}.scene__svg{width:100%;height:auto;display:block}.scene__predator{transition:transform .8s ease-in-out}.scene__puffer{transition:transform .6s ease-out}.scene__predator-bob{transform-box:fill-box;transform-origin:50%;animation:1.6s ease-in-out infinite alternate bob}.kraken{filter:url(#krakenPurple)}.scene--anglerfish .scene__puffer-bob,.scene--anglerfish .anglerfish__body{filter:brightness(.32)}.anglerfish__lure-glow{transform-box:fill-box;transform-origin:50%;animation:1.6s ease-in-out infinite alternate lureGlow}@keyframes lureGlow{0%{opacity:.55;transform:scale(.85)}to{opacity:1;transform:scale(1.2)}}.eel__glow{transform-box:fill-box;transform-origin:50%;filter:blur(2.5px)brightness(1.4);animation:.9s ease-in-out infinite alternate eelPulse}@keyframes eelPulse{0%{opacity:.15;transform:scale(.94)}to{opacity:1;transform:scale(1.08)}}.scene__puffer-bob{transform-box:fill-box;transform-origin:50%;animation:2.3s ease-in-out infinite alternate bob}.scene__bubbles circle{animation:4s linear infinite rise}.scene__bubbles circle:nth-child(2){animation-duration:5.5s}.scene__bubbles circle:nth-child(3){animation-duration:3.6s}.scene__bubbles circle:nth-child(4){animation-duration:6s}@keyframes bob{0%{transform:translateY(-3px)rotate(-1.5deg)}to{transform:translateY(3px)rotate(1.5deg)}}@keyframes rise{0%{opacity:.5;transform:translateY(0)}to{opacity:0;transform:translateY(-60px)}}.scene--defeat .scene__predator-bob{animation:.45s ease-out 3 alternate chomp}.scene--defeat .scene__puffer-bob{animation:.7s ease-in .5s forwards gone}.scene--survive-barely .scene__predator{transition:transform .6s ease-out;transform:translate(210px,94px)!important}.scene--survive-barely .scene__puffer-bob{animation:1s ease-out forwards hurtBad}.scene--survive-hurt .scene__predator{transition:transform .6s ease-out;transform:translate(240px,94px)!important}.scene--survive-hurt .scene__puffer-bob{animation:1s ease-out forwards hurtLight}.scene--victory .scene__predator-bob{animation:1s ease-in .15s forwards flee}.scene--victory .scene__puffer-bob{animation:1.5s cubic-bezier(.3,1.2,.5,1) both victoryPuff}.scene--victory .scene__burst-spin{transform-box:fill-box;transform-origin:50%;animation:.9s ease-out infinite alternate sparkle}@keyframes chomp{to{transform:translate(-12px)rotate(-7deg)}}@keyframes gone{to{opacity:0;transform:scale(.15)rotate(30deg)}}@keyframes hurtBad{25%{transform:translate(-7px)rotate(-10deg)}to{transform:translate(-34px,-10px)scale(.55)rotate(-6deg)}}@keyframes hurtLight{25%{transform:translate(-5px)rotate(-6deg)}to{transform:translate(-18px,-4px)scale(.85)}}@keyframes victoryPuff{0%{transform:scale(1)}22%{transform:scale(1.34)}44%{transform:scale(1.12)}64%{transform:scale(1.26)}82%{transform:scale(1.15)}to{transform:scale(1.22)}}@keyframes flee{to{opacity:0;transform:translate(230px,-70px)rotate(140deg)}}@keyframes sparkle{0%{opacity:.7;transform:scale(.9)rotate(0)}to{opacity:1;transform:scale(1.15)rotate(12deg)}}.promptbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.promptbar__round{color:#0b3a5b;font-size:1.1rem;font-weight:700}.promptbar__replay{color:#fff;font:inherit;cursor:pointer;background:#0b3a5b;border:none;border-radius:999px;padding:12px 22px;font-weight:700;box-shadow:0 4px #062435}.promptbar__replay:active{transform:translateY(3px);box-shadow:0 1px #062435}.cards{grid-template-columns:repeat(3,1fr);gap:12px;width:100%;display:grid}.card{border:4px solid var(--card-edge);background:var(--card-bg);color:var(--ink);font:inherit;cursor:pointer;min-height:108px;box-shadow:0 6px 0 var(--card-edge);border-radius:18px;padding:28px 8px;font-size:clamp(1.6rem,9vw,3rem);font-weight:800;transition:transform 80ms,box-shadow .12s,background .12s,border-color .12s}.card:active{box-shadow:0 2px 0 var(--card-edge);transform:translateY(4px)}.card:disabled{cursor:default}.card--correct{border-color:var(--good);box-shadow:0 6px 0 var(--good);background:#e3fbec;animation:.3s pop}.card--wrong{border-color:var(--bad);box-shadow:0 6px 0 var(--bad);background:#ffe9e4;animation:.35s shake}@keyframes pop{50%{transform:scale(1.08)}}@keyframes shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.result{text-align:center;background:#fff;border-radius:18px;flex-direction:column;align-items:center;gap:10px;width:100%;padding:24px 20px 28px;display:flex;box-shadow:0 8px 24px #0b2a3f33}.result__title{color:var(--accent);margin:0;font-size:clamp(1.5rem,7vw,2.4rem)}.result--defeat .result__title{color:var(--bad)}.result--victory .result__title{color:var(--good)}.result__score{margin:0;font-size:1.15rem;font-weight:700}.result__body{max-width:32ch;margin:0 0 6px;line-height:1.5}.result__next{color:#5a7a8c;margin:-4px 0 0;font-size:.9rem;font-weight:700}.debug{color:#cfe8f4;background:#0b2a3f;border-radius:12px;flex-direction:column;gap:8px;width:100%;padding:10px 12px;font-size:.85rem;display:flex}.debug__buttons{flex-wrap:wrap;gap:6px;display:flex}.debug__buttons button{font:inherit;color:#eaf6fc;cursor:pointer;background:#12435f;border:1px solid #3f6b80;border-radius:8px;padding:6px 10px}.kraken-intro{z-index:50;background:#050a14bf;justify-content:center;align-items:center;padding:24px;animation:.2s ease-out krakenFadeIn;display:flex;position:fixed;inset:0}.kraken-intro__icon{fill:#000;opacity:.6;z-index:0;width:min(68vw,68vh);height:min(68vw,68vh);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.kraken-intro__text{z-index:1;letter-spacing:.03em;text-align:center;color:#ff4747;text-shadow:0 0 14px #ff4747d9,0 4px #4a0000;max-width:20ch;margin:0;font-size:clamp(1.8rem,9vw,3.4rem);font-weight:800;animation:2.1s ease-in-out krakenShake;position:relative}@keyframes krakenFadeIn{0%{opacity:0}}@keyframes krakenShake{0%,to{transform:translate(0)rotate(0)scale(1)}10%{transform:translate(-8px,4px)rotate(-3deg)scale(1.03)}20%{transform:translate(8px,-4px)rotate(3deg)scale(1.05)}30%{transform:translate(-7px,-3px)rotate(-2deg)scale(1.06)}40%{transform:translate(7px,3px)rotate(2deg)scale(1.07)}50%{transform:translate(-6px,4px)rotate(-2deg)scale(1.08)}60%{transform:translate(6px,-4px)rotate(2deg)scale(1.08)}70%{transform:translate(-4px,2px)rotate(-1deg)scale(1.06)}80%{transform:translate(4px,-2px)rotate(1deg)scale(1.04)}90%{transform:translate(-2px,1px)rotate(0)scale(1.02)}}.megalodon-intro{z-index:50;background:#030c1ad1;justify-content:center;align-items:center;padding:24px;animation:.2s ease-out krakenFadeIn;display:flex;position:fixed;inset:0}.megalodon-intro__icon{fill:#000;opacity:.55;z-index:0;width:min(72vw,72vh);height:min(72vw,72vh);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.megalodon-intro__text{z-index:1;letter-spacing:.02em;text-align:center;color:#eaf6ff;text-shadow:0 0 16px #78c8ff80,0 4px #001a33;max-width:18ch;margin:0;font-size:clamp(1.6rem,7.5vw,2.8rem);font-weight:800;animation:2.4s ease-out megalodonLoom;position:relative}@keyframes megalodonLoom{0%{opacity:0;transform:scale(.85)}60%{opacity:1;transform:scale(1.03)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.scene__predator-bob,.scene__puffer-bob,.scene--victory .scene__puffer-bob,.scene__bubbles circle,.scene--victory .scene__burst-spin,.anglerfish__lure-glow,.eel__glow{animation:none}.scene__puffer{transition:transform .3s ease-out}.card--correct,.card--wrong,.kraken-intro__text,.megalodon-intro__text{animation:none}}
