@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap";:root{font-family:DM Sans,sans-serif;color:#eeeada;background:#131b16;font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:1px solid #eeeada40;background:#18221bb3;padding:11px 16px;transition:background .18s,border-color .18s}button:hover{background:#354231;border-color:#e0d6ac}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #e1d6ac;outline-offset:4px}button:active{transform:translateY(1px)}[hidden]{display:none!important}.world{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}.cinema{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#101b2440,transparent 20%,transparent 65%,#1019118c),radial-gradient(ellipse at center,transparent 45%,#1019114a);z-index:1}.topbar{position:absolute;z-index:5;top:30px;left:38px;right:38px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{font-size:23px;letter-spacing:.3em;font-weight:600;text-shadow:0 1px 8px #0008}.brand span{display:block;font-size:8px;letter-spacing:.17em;margin-top:7px;opacity:.7}.top-actions{display:flex;align-items:center;gap:12px}.top-actions button{font-size:9px;letter-spacing:.1em;padding:9px 11px;background:#16221a52;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}#fps{font-size:10px;letter-spacing:.08em;color:#eeeada99;font-variant-numeric:tabular-nums;padding-right:10px}.panel{position:absolute;z-index:3}.intro{left:8%;top:50%;transform:translateY(-43%);max-width:590px;text-shadow:0 2px 25px #08100980}.intro:before{content:"";position:absolute;z-index:-1;inset:-100px -60px -90px -20vw;background:radial-gradient(ellipse,#14251ce6 0%,#14251c8a 40%,transparent 70%);pointer-events:none}.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:500;color:#d7d9ba}.eyebrow>span{display:inline-block;width:6px;height:6px;border-radius:50%;background:#c6ce99;margin-right:10px;box-shadow:0 0 10px #d3eaaa60}h1{font-family:Playfair Display,Georgia,serif;font-weight:500;font-size:clamp(44px,5.3vw,78px);line-height:1.1;letter-spacing:-.045em;margin:24px 0}h1 em{color:#d1d6a7;font-weight:500}.intro p,.result p{font-size:14px;line-height:1.95;color:#e3e5d0ce;margin:0 0 29px}.primary{background:#d9d8b3;color:#243124;border-color:#d9d8b3;min-width:244px;text-align:left;font-size:13px;font-weight:600;letter-spacing:.02em;padding:17px 22px;display:flex;justify-content:space-between;gap:40px}.primary:hover{background:#eeebce;color:#243124}.primary span{font-size:18px;line-height:1}.intro-controls{display:flex;gap:24px;margin:29px 0 17px;color:#d0d7c6b3;font-size:10px}.intro-controls span{display:flex;align-items:center;gap:8px}kbd{font:inherit;font-size:10px;display:inline-block;border:1px solid #d7dfc044;border-radius:3px;padding:3px 6px;color:#eeeada;background:#16241b30}.intro small{font-size:10px;letter-spacing:.02em;color:#cbd0b778}.objective{position:absolute;z-index:2;left:38px;top:137px;text-shadow:0 1px 12px #000}.objective>div:has(>#count){display:flex;align-items:baseline;gap:9px;margin-top:7px}.objective strong{font-family:Playfair Display,Georgia,serif;font-size:43px;font-weight:500}.objective span{font-size:12px;color:#d8dcca}.objective p{font-size:11px;max-width:220px;line-height:1.6;color:#d8dcca}.vitals{position:absolute;z-index:2;left:38px;bottom:78px;width:214px}.state-line{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.09em;margin-bottom:20px;color:#e0d7bc}#cover.safe{color:#c5d59f}#time{color:#d8decb80}.vitals label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.15em;margin:11px 0 7px}.vitals label span{letter-spacing:0;color:#dce0c89c}.meter{height:3px;background:#ffffff20}.meter i{height:100%;display:block;background:#abc3c1;transition:width .15s}.meter.health i{background:#c6cfa7}.vitals p{font-size:9px;color:#d3d9c39c;margin-top:16px}.map-wrap{position:absolute;z-index:2;right:38px;bottom:78px;background:#17271eb5;border:1px solid #c9d5a326;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:13px 15px 10px}.map-title{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.15em;color:#c3ceb0}.map-title span{color:#e6e5cf}.map-wrap canvas{display:block;width:164px;height:164px}.map-legend{display:flex;flex-wrap:wrap;gap:4px 8px;justify-content:space-between;font-size:8px;color:#d8d2ae}.map-legend .water-key{color:#94b6be}.bottom-hint{position:absolute;z-index:2;left:0;right:0;bottom:24px;display:flex;justify-content:center;align-items:center;gap:9px;font-size:9px;color:#c9d2b5a8}.bottom-hint b{font-weight:400;opacity:.5}.bottom-hint kbd{font-size:8px}#interaction{position:absolute;z-index:2;bottom:19%;left:50%;transform:translate(-50%);text-align:center;font-size:13px;white-space:nowrap;color:#f2efd9;text-shadow:0 1px 10px #000}#interaction kbd{font-size:12px;padding:5px 9px;margin-right:7px;background:#17251ec9}#eat-track{width:150px;height:3px;background:#fff4;margin:12px auto}#eat-progress{display:block;width:0;height:100%;background:#dce0b0}#toast{position:absolute;z-index:3;top:115px;left:50%;transform:translate(-50%,-10px);max-width:85vw;opacity:0;transition:opacity .35s,transform .35s;text-align:center;font-size:12px;line-height:1.6;padding:13px 22px;background:#15261cbd;border:1px solid #cbd6a630;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}#toast.visible{opacity:1;transform:translate(-50%)}#alert{position:absolute;z-index:2;top:180px;left:50%;transform:translate(-50%);width:245px;text-align:center;opacity:0;transition:opacity .3s}#alert-label{font-size:8px;letter-spacing:.11em;color:#f4c29b;text-shadow:0 1px 5px #000}#alert>div{height:3px;background:#e8c29820;margin-top:9px}#alert-fill{display:block;background:#d99b71;height:100%;width:0}#damage{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 130px #bc3f25;opacity:0;transition:opacity .3s}.settings{position:absolute;z-index:8;right:38px;top:95px;width:300px;padding:27px;background:#18261ef5;border:1px solid #b9c39b45;box-shadow:0 20px 80px #0005;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.settings h2{font:500 29px Playfair Display,Georgia,serif;margin:13px 0 25px}.settings label{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin:20px 0;gap:15px}.settings input{width:120px;accent-color:#d4d4a7}.settings select{max-width:145px;background:#233125;border:1px solid #dce0b533;color:#e2e6cb;padding:7px;font-size:10px}.settings p{font-size:10px;line-height:1.8;color:#c9d2b599;margin:24px 0}.settings button{width:100%;font-size:11px}.result{inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#122219b8;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);text-align:center;z-index:4}.result h1{font-size:clamp(40px,6vw,70px)}.result p{max-width:440px;margin:0 24px 30px}.secondary{border:0;background:transparent!important;margin-top:15px;font-size:11px;color:#dce0c1}.loading{position:absolute;inset:0;background:#16241b;z-index:20;display:grid;place-content:center;font:24px Georgia,serif}.loading span{height:1px;background:#cdd6b3;margin-top:20px;animation:load 1s infinite alternate}@keyframes load{0%{transform:scaleX(.2)}to{transform:scaleX(1)}}#touch{position:absolute;z-index:3;bottom:24px;left:24px;right:24px;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:end;pointer-events:none}#touch button{pointer-events:auto;touch-action:none;min-width:46px;min-height:46px;background:#14271ac9}.dpad{display:grid;grid-template-columns:repeat(3,46px);gap:3px}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-column:1}.dpad button:nth-child(3){grid-column:2}#touch>div:last-child{display:flex;gap:8px}@media(pointer:coarse){#touch:not([hidden]){display:flex}.bottom-hint{display:none}.vitals,.map-wrap{bottom:150px}}@media(max-width:700px){.topbar{top:20px;left:20px;right:20px}.brand{font-size:19px}.brand span{display:none}.top-actions{gap:6px}.top-actions button{font-size:8px;padding:9px}#fps{display:none}.intro{left:8%;right:8%;transform:translateY(-40%)}.intro h1{font-size:49px}.intro p{font-size:12px}.intro-controls{gap:14px}.objective{left:20px;top:95px}.objective strong{font-size:30px}.objective .eyebrow{font-size:8px}.vitals{left:20px;width:160px}.map-wrap{right:20px;padding:10px}.map-wrap canvas{width:116px;height:116px}.map-title,.map-legend{font-size:6px}.bottom-hint{display:none}.settings{right:20px;top:75px;width:280px}.result p{font-size:12px}#toast{top:78px;font-size:10px;width:max-content;max-width:80vw}#alert{top:150px;width:180px}#alert-label{font-size:7px}#interaction{bottom:37%;font-size:11px}.objective p{max-width:130px;font-size:9px}}@media(max-height:620px){.intro{top:51%;transform:translateY(-40%)}.intro h1{font-size:44px;margin:15px 0}.intro p{font-size:12px;margin-bottom:18px}.intro-controls{margin:16px 0}.intro small{display:none}.topbar{top:18px}.settings{top:70px;max-height:calc(100% - 80px);overflow:auto}.map-wrap,.vitals{bottom:55px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}#hud{position:absolute;inset:0;pointer-events:none;z-index:2}.return-home .objective{border-left:3px solid #c6dfa0;padding-left:14px}.return-home .objective .eyebrow{color:#d8efad}.return-home .objective p{max-width:240px;color:#f0f3de}.return-home .map-wrap{border-color:#a9cc83}@media(max-width:600px){.return-home .objective p{max-width:160px}}#beer-warning{position:absolute;top:24%;left:50%;transform:translate(-50%);width:min(360px,85vw);padding:14px 18px;background:#251b12;color:#ffe9bf;border:1px solid #d9af65;border-radius:10px;text-align:center}#beer-warning p{margin:6px 0;font-size:13px;line-height:1.5}#beer-warning meter{width:100%;height:12px;accent-color:#e3b255}#beer-warning[data-stage=recovering]{background:#17291d;color:#d9f0cc;border-color:#a9cc83}#beer-warning[data-stage=lured] meter{display:none}#score-summary{margin:18px 0;font-variant-numeric:tabular-nums}.score-total{font-size:16px;color:#d8efad}.score-total strong{font-size:38px}#score-summary dl{margin:12px 0}#score-summary dl div{display:flex;justify-content:space-between;gap:18px;margin:8px 0}#score-summary dd{margin:0;color:#f0f3de}#score-summary #bonus-rule{font-size:12px;line-height:1.5}#score-summary #personal-best{color:#d8efad;font-weight:600}.result{max-height:100%;overflow:auto;padding:80px 20px 30px;justify-content:safe center}#score-summary p{margin:10px 0;max-width:380px}@media(max-height:700px){.result{justify-content:flex-start}.result h1{margin:12px 0;font-size:38px}.result>p{margin-bottom:8px}#score-summary{margin:8px 0}}.intro .intro-optional{max-width:38ch;font-size:13px;line-height:1.6;color:#e8d6a0}#intro-nest:empty,#nest-result:empty{display:none}#intro-nest,#score-summary #nest-result{color:#f1dfad}#next-generation{max-width:250px;font-size:12px;line-height:1.5;color:#f1dfad;margin-top:10px}#shelter-now{display:block;margin:12px auto 0;pointer-events:auto;font-size:12px;padding:8px 12px}@media(max-width:600px){#next-generation{max-width:180px;font-size:11px}.intro .intro-optional{font-size:12px}}@media(max-height:700px){.intro .intro-optional{margin:8px 0}#intro-nest{margin:8px 0;font-size:12px}}#interaction{max-width:calc(100vw - 32px);width:max-content;white-space:normal;line-height:1.6}.fullness-track{width:190px;max-width:100%;height:4px;margin:10px 0 12px;background:#e4edcb25;overflow:hidden}.fullness-track i{display:block;width:0;height:100%;background:#d2e9a1;transition:width .25s ease}#night-challenge{margin-top:18px;padding:12px 14px;max-width:245px;border-left:2px solid #b9c49866;background:linear-gradient(100deg,#14221be0,#14221b80)}.challenge-kicker,.objective .challenge-kicker span{font-size:9px;letter-spacing:.09em;color:#b8c6a9}#night-challenge h3{font-size:14px;margin:6px 0;font-weight:500;color:#f0efd5}#night-challenge p{margin:4px 0;line-height:1.45}#night-challenge #challenge-progress{color:#c8dfa6}#night-challenge[data-state=ready]{border-color:#d2e9a1}#night-challenge[data-state=failed]{opacity:.65}#night-challenge[data-state=failed] #challenge-progress{color:#dfa68d}#threats{position:absolute;right:38px;top:94px;width:235px;display:grid;gap:7px}.threat{display:flex;align-items:center;gap:10px;padding:9px 12px;background:#1e271de8;border:1px solid #bdbe8a55;color:#e5e6c8;font-size:11px}.threat-arrow{display:inline-block;font-size:22px;line-height:1}.threat.urgent{background:#40251fee;color:#ffe1bd;border-color:#d69469}#challenge-result{padding:10px 12px;background:#ffffff08;color:#cccbb2;font-size:13px}#challenge-result.secured{color:#d2e9a1;border-left:2px solid #d2e9a1}.score-details{margin-top:12px;font-size:12px;color:#b8c6a9}.score-details summary{cursor:pointer;padding:5px 0}@media(max-width:600px){.fullness-track{width:140px}#threats{right:16px;top:82px;width:145px}.threat{font-size:9px;gap:6px;padding:7px 8px}.threat-arrow{font-size:18px}#alert{left:auto;right:16px;top:176px;transform:none;width:145px}#night-challenge{max-width:150px;padding:8px 10px;margin-top:10px}#night-challenge h3{font-size:12px}#night-challenge .challenge-kicker,#night-challenge .challenge-kicker span{font-size:8px;letter-spacing:.02em}#night-challenge p{font-size:10px}#next-generation{max-width:155px;font-size:10px}}@media(max-height:700px){#night-challenge #challenge-description{display:none}#night-challenge{margin-top:6px;padding-top:6px;padding-bottom:6px}}@media(max-width:600px){.map-wrap{width:154px;box-sizing:border-box;right:16px}.map-wrap canvas{display:block;width:100%;height:auto}.map-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px 3px}.vitals{width:155px}}@media(max-width:600px){#toast{top:70px}.objective,#threats{top:146px}#alert{top:226px}}#night-label{margin:0 0 10px;font-size:9px;letter-spacing:.08em;color:#e6cc98}#intro-campaign,#campaign-result{color:#e6cc98;font-size:13px;line-height:1.5}#campaign-result{max-width:40ch}@media(max-width:600px){#night-label{max-width:150px;font-size:8px;line-height:1.4}}#family{max-width:250px;margin-top:10px;color:#f1dfad;font-size:12px;line-height:1.45}#family p{margin:0 0 6px}#family button{pointer-events:auto;min-height:44px;padding:8px 12px;font-size:12px}#family.family-danger{color:#ffbd93}@media(max-width:600px){#family{max-width:170px;font-size:11px}}.help-dialog{position:fixed;inset:50dvh auto auto 50vw;margin:0;transform:translate(-50%,-50%);width:min(680px,calc(100vw - 24px));max-height:min(88dvh,860px);padding:0;border:1px solid #73806b;border-radius:8px;background:#18221b;color:#eeeada;overflow-y:auto;overscroll-behavior:contain;font-size:14px;line-height:1.65}.help-dialog::backdrop{background:#070d09c7}.help-heading,.help-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#18221b;padding:18px 26px}.help-heading{position:sticky;top:0;border-bottom:1px solid #73806b}.help-heading p{margin:0;color:#c5cbbd;font-size:10px;letter-spacing:.1em}.help-heading h2{margin:2px 0 0;font:500 32px/1.2 Playfair Display,serif}.help-heading button{white-space:nowrap}.help-dialog button{min-height:44px}.help-body{padding:6px 26px 20px}.help-body p{margin:16px 0}.help-plan{padding-left:24px;margin:22px 0}.help-plan li{padding-left:6px;margin:0 0 16px}.help-plan li::marker{color:#d4e7ab;font-weight:700}.help-body details{border-top:1px solid #52604c;padding:14px 0}.help-body summary{cursor:pointer;font-weight:600;min-height:32px}.help-body summary:focus-visible{outline:2px solid #e1d6ac;outline-offset:4px}.help-controls{display:grid;grid-template-columns:minmax(130px,1fr) 2fr;gap:10px 18px}.help-controls dt,.help-controls dd{margin:0}.help-controls dd,.help-hazards dd{color:#d3d8cd}.help-hazards dt{font-weight:600;margin-top:16px}.help-hazards dd{margin:3px 0 0}.help-footer{position:sticky;bottom:0;border-top:1px solid #73806b}.help-footer span{color:#c5cbbd;font-size:12px}.help-footer .primary{margin:0;min-width:100px;justify-content:center;text-align:center;padding:12px 22px}@media(max-width:700px){.top-actions{gap:4px}.top-actions button{padding:9px 7px}}@media(max-width:420px){.topbar{left:12px;right:12px}.brand{font-size:16px;letter-spacing:.2em}.help-dialog{max-height:calc(100dvh - 24px);font-size:13px}.help-heading,.help-footer{padding:14px 18px}.help-body{padding:4px 18px 16px}.help-heading h2{font-size:28px}.help-controls{grid-template-columns:1fr 1.25fr;gap:10px}}
