@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800;900&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#edf4e7;background:#102b2a;color-scheme:dark;--accent:#e9d18c;--bg:url('assets/wilderness/otter.webp')}body[data-game=beaver]{--bg:url('assets/wilderness/beaver.webp');--accent:#f1c28c;background:#272b22}body[data-game=hawk]{--bg:url('assets/wilderness/hawk.webp');--accent:#f1d9a6;background:#182f37}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:radial-gradient(ellipse at top,#214b47,#102b2a 80%)}button,select,input{font:inherit}button{cursor:pointer;color:inherit;touch-action:manipulation}button:disabled{cursor:default;opacity:.55}a{color:inherit}a,button,input,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #fff0ac;outline-offset:4px}.nav{display:flex;align-items:center;gap:25px;padding:19px 4vw;border-bottom:1px solid #d6e4c124;font-size:12px}.nav a{text-decoration:none}.brand{font:700 16px 'Outfit';letter-spacing:.1em;margin-right:auto}.brand span{display:block;font:600 8px 'DM Sans';letter-spacing:.24em;margin-top:4px;color:#c1d1bc}.quiet,.secondary{border:1px solid #b6c8ab65;background:#162f2bc9;border-radius:9px;padding:12px 17px;font-size:12px;font-weight:700}.quiet:hover,.secondary:hover{background:#365349}.primary{display:flex;justify-content:center;align-items:center;gap:15px;background:var(--accent);border:1px solid #f4e5ac;color:#203029;border-radius:9px;padding:16px 22px;font-weight:800;box-shadow:0 5px 20px #0003}.primary:hover{filter:brightness(1.08)}.text-button{border:0;background:transparent;color:var(--accent);font-size:12px;text-decoration:underline;text-underline-offset:4px;padding:8px 3px}.eyebrow{font-size:9px;letter-spacing:.15em;color:var(--accent);font-weight:700}.welcome{max-width:1430px;display:grid;grid-template-columns:1.15fr 1fr;margin:30px auto;padding:0 30px}.hero{position:relative;isolation:isolate;min-height:710px;border-radius:20px 0 0 20px;background:var(--bg) center/cover;overflow:hidden}.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#082820a3,transparent 70%,#081b1899);z-index:-1}.hero-copy{padding:38px 32px}.hero h1{font:800 clamp(44px,5.5vw,78px)/.98 'Outfit';letter-spacing:-.045em;max-width:600px;margin:26px 0;color:#fff4d5}.hero-line{font:500 32px/1.12 'Outfit';letter-spacing:-.02em;max-width:360px;color:#f8f5de}.animal{background:url('assets/wilderness/animals.webp') 0 0/300% 200% no-repeat;filter:drop-shadow(0 9px 6px #06262063)}.hero-animal{position:absolute;left:3%;bottom:-4%;width:93%;aspect-ratio:1;pointer-events:none}.habitat{position:absolute;bottom:25px;left:32px;letter-spacing:.13em;font-size:8px;color:#e2ead7}.setup{padding:35px;background:#152d28eb;border:1px solid #c7ddac36;border-radius:0 20px 20px 0}.setup h2{font:500 34px 'Outfit';letter-spacing:-.03em;margin:17px 0}.setup>p{font-size:13px;line-height:1.75;color:#cddac9}.setup fieldset{border:0;margin:25px 0 16px;padding:0}.setup legend{font-size:12px;font-weight:700;margin-bottom:12px}.difficulty{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.difficulty button{border:1px solid #c4ce9f50;border-radius:10px;padding:14px;text-align:left;background:#253e32}.difficulty button[aria-pressed=true]{border-color:var(--accent);background:#4c543b}.difficulty span{display:block;font-size:9px;color:var(--accent)}.difficulty strong{display:block;font:600 22px 'Outfit';margin-top:10px}#levelNote{min-height:45px;color:#e2dfbe}.motion-option{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:12px;margin:21px 0}.motion-option small{color:#bbcbb3;font-size:10px}input{accent-color:var(--accent)}.setup>.primary,.setup>.secondary{width:100%;margin:12px 0}.setup details{border-top:1px solid #d8ddb62b;padding:18px 0;font-size:12px;line-height:1.7}.setup summary{font-weight:700;cursor:pointer}.fine,.setup>.fine{font-size:10px;color:#becdb2;line-height:1.65}.save-note,.setup>.save-note{font-size:10px;line-height:1.65;color:#acbfa4;border-top:1px solid #c7d8b52b;padding-top:14px}body[data-game=beaver] .hero-animal{background-position:50% 100%;width:85%;left:10%;bottom:-3%}body[data-game=hawk] .hero-animal{background-position:100% 100%;width:80%;left:10%;bottom:-4%;transform:rotate(-18deg)}
.game{max-width:1370px;margin:auto;padding:18px 24px}.game-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:17px}.game-top p{margin:0 0 6px}.game-top>div>span{font-size:11px;color:#c3d2b9}.stats{display:flex;align-items:center;gap:25px}.stats>span{display:flex;flex-direction:column;gap:5px}.stats small{font-size:8px;letter-spacing:.14em;color:#bdcbb0}.stats b{font:600 21px 'Outfit';white-space:nowrap;font-variant-numeric:tabular-nums}.question-row{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid #c9d7b142;background:#122e29;border-radius:14px;padding:17px 22px;margin-bottom:12px}.question-row .eyebrow{margin:0 0 8px}.question-row h2{font:600 clamp(23px,3vw,36px)/1.1 'Outfit';letter-spacing:-.02em;margin:0 0 7px}.question-row p:last-child{font-size:11px;line-height:1.5;color:#ccd8bf;margin:0}.readout{text-align:right;flex-shrink:0;min-width:105px}.readout small{display:block;font-size:8px;letter-spacing:.1em;color:#bfd0b6}.readout strong{display:block;font:600 30px 'Outfit';margin-top:8px;color:var(--accent)}.scene{position:relative;overflow:hidden;isolation:isolate;height:clamp(330px,49vh,600px);background:var(--bg) center/cover;border:1px solid #bdcf9c52;border-radius:15px}.shade{position:absolute;inset:0;background:linear-gradient(180deg,#081d201f,transparent 60%,#08232045);pointer-events:none}.scene.complete{box-shadow:inset 0 0 50px #d1e5ad3d}#board{position:absolute;inset:0}.actor{position:absolute;top:0;left:0;width:230px;aspect-ratio:1;pointer-events:none;will-change:transform;z-index:4}.actor.beaver{background-position:0 100%;width:235px}.actor.hawk{background-position:100% 100%;width:250px;z-index:6}.fish{position:absolute;transform:translate(-50%,-50%);width:85px;height:85px;background:transparent;border:0;padding:0;will-change:left,top;border-radius:50%;transition:opacity .2s}.fish:hover{filter:drop-shadow(0 0 8px #effff3)}.fish-art{display:block;position:absolute;inset:0;background-position:100% 0;pointer-events:none;filter:drop-shadow(0 3px 3px #07342960)}.fish small{position:absolute;bottom:5px;left:36%;border:1px solid #b7dbca60;border-radius:50%;background:#0c393fdf;color:#e4f3da;font-size:8px;min-width:18px;height:18px;display:grid;place-items:center;pointer-events:none}.collected{opacity:0!important;pointer-events:none}.water-ripple{position:absolute;width:85px;height:35px;border:2px solid #c6eddb;border-radius:50%;opacity:0;pointer-events:none;z-index:8;transform:translate(-50%,-50%)}.water-ripple.splash{animation:ripple .6s ease-out}.scene-note{position:absolute;top:18px;left:50%;transform:translateX(-50%);font-size:10px;font-weight:800;letter-spacing:.2em;color:#fff3c1;text-shadow:0 2px 5px #000}.visual-model{display:flex;align-items:center;gap:15px;margin:12px 0;padding:12px 15px;border:1px solid #becdaa3d;border-radius:9px;background:#0e2724b8;font-size:12px}.visual-model>span{font-size:8px;letter-spacing:.12em;color:#c3d3b6;max-width:135px}.visual-model>b{font-size:12px;color:var(--accent)}.fraction-track{display:flex;gap:4px;flex:1}.fraction-track i{height:22px;border:1px solid #b2d1be73;border-radius:3px;background:#223d37}.fraction-track i{flex:1}.fraction-track i.filled{background:var(--accent);border-color:var(--accent)}.length-equation{font-weight:700;color:var(--accent);line-height:1.5}.play-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}.play-bottom>div:first-child{flex:1}.play-bottom p{font-size:12px;line-height:1.6;margin:7px 0;color:#e0e4cf}.play-bottom p.success{color:#dcebad}.actions{display:flex;align-items:center;gap:9px}.actions>.primary{font-size:12px;min-height:48px}.answer-controls{display:flex;gap:10px;margin:12px 0}.answer-controls button{flex:1;border:1px solid #a6c29c6b;background:#243e32;border-radius:9px;padding:11px 15px;display:flex;justify-content:space-between;align-items:center;gap:7px;min-height:49px}.answer-controls button[aria-pressed=true]{background:#515b39;border-color:var(--accent)}.answer-controls small{font-size:9px}.answer-controls strong{font:600 23px 'Outfit'}.dam-build{position:absolute;left:12%;top:15%;width:76%;height:85px;background:#142c26e8;border:1px solid #e6c89c80;border-radius:9px;padding:14px 18px;box-shadow:0 8px 20px #0003}.dam-build>span{display:block;font-size:9px;letter-spacing:.12em;color:#fae3b8;margin-bottom:8px}#damPieces{display:flex;height:22px;border:1px dashed #e4cb96;overflow:hidden;background:#0b201e;max-width:100%}#damPieces i{height:100%;flex-shrink:0;background:repeating-linear-gradient(0deg,#a77646 0,#ae814c 4px,#78552e 5px,#bb945a 7px);border-right:2px solid #e8c896;border-radius:4px;min-width:0}.dam-ruler{display:flex;justify-content:space-between;font-size:8px;color:#e8d5b1;margin-top:4px}.branch{position:absolute;width:135px;height:62px;transform:translate(-50%,-50%) rotate(-8deg);border:0;background:transparent;z-index:3}.branch .wood{position:absolute;left:0;right:0;top:17px;height:23px;background:repeating-linear-gradient(175deg,#a47544 0,#634225 3px,#b78f54 6px,#76512e 8px);border:2px solid #46371e;border-radius:35% 15% 20% 20%;box-shadow:0 5px 6px #071c2580}.branch .wood::before,.branch .wood::after{content:'';position:absolute;width:22px;height:9px;background:#8c633d;border:1px solid #44371f;transform:rotate(40deg);left:22%;top:-5px}.branch .wood::after{left:70%;transform:rotate(-30deg);top:16px}.branch b{position:absolute;left:50%;top:-2px;transform:translateX(-50%) rotate(8deg);white-space:nowrap;font-size:12px;background:#18382be8;border:1px solid #e1d3a8b0;padding:5px 8px;border-radius:6px;color:#fff1c8}.branch:hover{filter:brightness(1.2)}.flight-gate{position:absolute;top:23%;width:19%;height:32%;border:3px solid #fce3a1b3;border-radius:50% 50% 12% 12%;background:linear-gradient(180deg,#e7e9c21a,#0c38456b);backdrop-filter:blur(3px);color:#fff8d8;box-shadow:0 0 35px #f4d89730;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.flight-gate:nth-child(1){left:12.5%}.flight-gate:nth-child(2){left:40.5%}.flight-gate:nth-child(3){left:68.5%}.flight-gate>span{font-size:9px;letter-spacing:.12em}.flight-gate>strong{font:600 34px 'Outfit';text-shadow:0 3px 9px #002d38}.flight-gate[aria-pressed=true]{border-color:#fff4bc;background:#a0b76d63;box-shadow:0 0 0 3px #ffefaa52,0 0 35px #f3dca757}.air-streams{position:absolute;inset:0;pointer-events:none;overflow:hidden}.air-streams i{position:absolute;left:17%;top:0;width:2px;height:90px;background:linear-gradient(transparent,#fff6,transparent);animation:wind 5s linear infinite;transform:rotate(15deg)}.air-streams i:nth-child(2){left:81%;animation-delay:-2s}.air-streams i:nth-child(3){left:62%;animation-delay:-3s}.ratio-model{display:flex;gap:22px;align-items:center;font-size:20px;color:var(--accent)}.ratio-model i{font-size:12px;color:#dbe0c3;font-style:normal}.percent-track{height:20px;border:1px solid #c7dcb572;border-radius:4px;background:repeating-linear-gradient(90deg,transparent 0,transparent 9.7%,#acbd9759 9.7%,#acbd9759 10%);flex:1;overflow:hidden}.percent-track i{display:block;height:100%;background:#e6cf868f}.results{max-width:980px;margin:30px auto;background:linear-gradient(90deg,#0f2d26e8,#10261fe8),var(--bg) center/cover;border:1px solid #d2dfac39;border-radius:20px;padding:40px}.results-panel{max-width:630px;margin:auto;text-align:center}.badge{font-size:55px;color:var(--accent);margin:22px}.results h1{font:600 46px 'Outfit';letter-spacing:-.04em}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:25px 10px;border:1px solid #c8d4a93d;border-radius:12px;background:#102c218f}.result-stats strong{display:block;font:600 34px 'Outfit';color:var(--accent)}.result-stats span{font-size:10px;color:#b7c9ad}.results p{font-size:13px;line-height:1.7;color:#ccdac4}.results .primary,.results .secondary{width:100%;margin:12px 0}.results .text-button{display:inline-block;margin:10px}#review{text-align:left}#review details{border:1px solid #c7d6b02e;padding:12px;border-radius:8px;margin:10px 0;font-size:12px;line-height:1.7}#review summary{cursor:pointer}footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:25px 4vw;font-size:9px;letter-spacing:.08em;color:#baceb1}footer a{letter-spacing:0}dialog{width:min(92%,450px);max-height:90vh;overflow:auto;background:#16372c;color:#f0f4e4;border:1px solid #d9d49a;border-radius:17px;padding:28px;box-shadow:0 20px 80px #000a}dialog::backdrop{background:#021c16d9;backdrop-filter:blur(7px)}dialog>h2{font:600 30px 'Outfit';letter-spacing:-.025em}dialog>p{font-size:12px;line-height:1.7;color:#d6dfca}dialog>.primary,dialog>.secondary{width:100%;margin:12px 0}
@keyframes ripple{0%{opacity:.85;transform:translate(-50%,-50%) scale(.5)}100%{opacity:0;transform:translate(-50%,-50%) scale(2)}}@keyframes wind{from{top:-30%;opacity:0}20%{opacity:.8}to{top:130%;opacity:0}}
@media(max-width:950px){.welcome{grid-template-columns:1fr;max-width:750px;padding:0 20px}.hero{border-radius:20px 20px 0 0;min-height:470px}.hero h1{font-size:67px;max-width:440px}.hero-copy{padding:30px}.hero-line{font-size:29px;max-width:300px}.hero-animal{width:64%;left:40%;bottom:-20%}.setup{border-radius:0 0 20px 20px}.habitat{left:30px}body[data-game=beaver] .hero-animal{width:62%;left:40%;bottom:-10%}body[data-game=hawk] .hero-animal{width:57%;left:43%;bottom:-7%}.scene{min-height:370px;height:48vh}.actor{width:190px}.actor.hawk{width:210px}.actor.beaver{width:200px}.branch{width:110px}.flight-gate>strong{font-size:28px}.game{padding:16px}.play-bottom{gap:12px}}
@media(max-width:600px){.nav{padding:14px 15px;gap:12px;font-size:10px}.brand{font-size:12px}.brand span{font-size:6px}.quiet{font-size:10px;padding:9px 10px}.welcome{padding:0 12px;margin:15px auto}.hero{min-height:425px}.hero h1{font-size:52px;max-width:330px}.hero-copy{padding:25px 22px}.hero-line{font-size:25px;max-width:230px}.hero-animal{width:91%;left:13%;bottom:-23%}.habitat{font-size:6px;left:22px}.setup{padding:25px 20px}.setup h2{font-size:30px}.difficulty strong{font-size:20px}.eyebrow{font-size:8px}body[data-game=beaver] .hero-animal{width:80%;left:25%;bottom:-12%}body[data-game=hawk] .hero-animal{width:69%;left:32%;bottom:-9%}.game{padding:12px 10px}.game-top{gap:10px}.game-top .eyebrow{font-size:7px;letter-spacing:.07em;max-width:145px;line-height:1.5}.game-top>div>span{font-size:9px}.stats{gap:12px}.stats small{font-size:6px}.stats b{font-size:17px}.stats>.quiet{max-width:64px;font-size:9px}.question-row{padding:14px 12px;gap:10px;align-items:start}.question-row h2{font-size:24px}.question-row p:last-child{font-size:10px}.readout{min-width:67px;max-width:99px}.readout strong{font-size:21px;line-height:1.15}.readout small{font-size:6px;line-height:1.4}.scene{height:360px;min-height:360px}.actor{width:135px}.actor.beaver{width:150px}.actor.hawk{width:145px}.fish{width:55px;height:63px}.fish small{bottom:2px;font-size:7px;min-width:15px;height:15px}.branch{width:70px;height:54px}.branch b{font-size:10px;padding:4px 5px}.branch .wood{height:19px}.dam-build{left:6%;width:88%;padding:12px;height:79px}.dam-build>span{font-size:8px}.visual-model{padding:10px;gap:8px;flex-wrap:wrap}.visual-model>span{font-size:7px;max-width:90px}.visual-model>b{font-size:10px}.fraction-track{gap:3px}.fraction-track i{height:18px}.length-equation{font-size:11px}.play-bottom{flex-direction:column;align-items:stretch;gap:8px}.play-bottom p{font-size:11px}.actions{justify-content:flex-end}.actions .primary{flex:1}.text-button{font-size:11px}.answer-controls{gap:7px}.answer-controls button{padding:9px 10px;min-width:0;flex-direction:column;gap:4px}.answer-controls small{font-size:7px}.answer-controls strong{font-size:20px}.flight-gate{top:27%;height:30%;width:24%;border-width:2px}.flight-gate:nth-child(1){left:10%}.flight-gate:nth-child(2){left:38%}.flight-gate:nth-child(3){left:66%}.flight-gate>strong{font-size:23px}.flight-gate>span{font-size:7px}.scene-note{font-size:8px;top:14px;width:90%;text-align:center}.results{margin:15px 10px;padding:25px 17px}.results h1{font-size:35px}.result-stats{gap:5px;padding:20px 7px}.result-stats strong{font-size:28px}.result-stats span{font-size:8px}footer{font-size:7px;line-height:1.6;padding:21px 16px}.fine{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

#damPieces.over{outline:2px solid #ef997b}#damPieces.over i{filter:sepia(.4) saturate(2)}

body[data-game=turkey]{--bg:url('assets/wilderness/turkey-ridge.webp');--accent:#ecca8e;background:#2c3022}
body[data-game=turkey] .hero-animal{background:url('assets/wilderness/turkey-poses.webp') 100% 100%/200% 200% no-repeat;width:79%;left:18%;bottom:-3%}
.actor.turkey{background:url('assets/wilderness/turkey-poses.webp') 0 0/200% 200% no-repeat;width:210px;filter:drop-shadow(0 6px 3px #211b1670)}
.forage-patch{position:absolute;top:40%;width:22%;height:35%;border:2px solid #f5d8a287;background:radial-gradient(ellipse at bottom,#5340229c,#172c1880);border-radius:45% 45% 35% 35%;color:#fff1cb;z-index:3;padding:10px;box-shadow:0 10px 12px #19160950;display:flex;flex-direction:column;align-items:center;gap:4px}
.forage-patch:nth-of-type(1){left:11%}.forage-patch:nth-of-type(2){left:39%}.forage-patch:nth-of-type(3){left:67%}.forage-patch>span{font-size:9px;letter-spacing:.12em}.forage-patch>strong{font:700 38px 'Outfit';text-shadow:0 2px 4px #0008}.forage-patch[aria-pressed=true]{border-color:#fff0bd;background:radial-gradient(ellipse at bottom,#84673dba,#33411cc4);box-shadow:0 0 0 3px #e7cb8766,0 12px 14px #1a200b60}
.acorn{position:absolute;bottom:8px;left:45%;width:19px;height:28px;background:linear-gradient(100deg,#b8874c,#674822 75%);border-radius:40% 40% 55% 55%;transform:rotate(25deg);box-shadow:1px 3px 3px #1b1408a0}.acorn::before{content:'';position:absolute;top:-1px;left:-2px;right:-2px;height:12px;background:repeating-linear-gradient(45deg,#684f2f 0 2px,#907342 2px 4px);border-radius:55% 55% 15% 15%;border:1px solid #453b22}.acorn.second{left:30%;bottom:12px;transform:rotate(-24deg) scale(.8)}.acorn.third{left:61%;bottom:13px;transform:rotate(55deg) scale(.9)}
.ridge-progress{position:absolute;top:18px;left:50%;transform:translateX(-50%);display:flex;gap:9px;padding:10px 15px;border:1px solid #d0c49852;border-radius:30px;background:#152817bd}.ridge-progress i{width:9px;height:9px;border:1px solid #dfc48b85;border-radius:50%}.ridge-progress .done{background:#e8cb87}.ridge-progress .current{outline:2px solid #e8cb87;outline-offset:2px}.trail-pattern{display:flex;align-items:center;gap:17px}.trail-pattern b{font:600 23px 'Outfit';color:#eed298}.trail-pattern i{font-style:normal;color:#c3cfa5}.scene.complete .ridge-progress{opacity:0}
@media(max-width:950px){body[data-game=turkey] .hero-animal{width:62%;left:40%;bottom:-10%}.actor.turkey{width:180px}}
@media(max-width:600px){body[data-game=turkey] .hero-animal{width:75%;left:26%;bottom:-12%}.actor.turkey{width:140px}.forage-patch{width:25%;height:34%;top:40%}.forage-patch:nth-of-type(1){left:9%}.forage-patch:nth-of-type(2){left:37%}.forage-patch:nth-of-type(3){left:65%}.forage-patch>span{font-size:7px}.forage-patch>strong{font-size:30px}.acorn{width:15px;height:23px;bottom:12px}.trail-pattern{gap:8px}.trail-pattern b{font-size:20px}.trail-pattern i{font-size:10px}.ridge-progress{gap:8px}}

body[data-game=turkey] .hero-animal{width:60%;left:34%;bottom:1%}body[data-game=turkey] .hero-copy{position:relative;z-index:2}body[data-game=turkey] .hero-line{max-width:340px}
@media(min-width:601px) and (max-width:950px){body[data-game=turkey] .hero-animal{width:47%;left:53%;bottom:0%}body[data-game=turkey] .hero-line{max-width:320px}}
@media(max-width:600px){body[data-game=turkey] .hero{min-height:490px}body[data-game=turkey] .hero-animal{width:66%;left:32%;bottom:0%}body[data-game=turkey] .hero-line{max-width:265px}}
@media(max-width:600px){}
