*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#eee9dd;color:#253b3b;font:14px system-ui,-apple-system,sans-serif}canvas{display:block;width:100%;height:100%;touch-action:none}header{position:absolute;top:20px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:start;pointer-events:none}.brand{font-weight:900;letter-spacing:.06em;font-size:19px}.brand small{display:block;font-size:9px;letter-spacing:.15em;font-weight:600;color:#788784;margin-top:3px}.buttons{display:flex;gap:7px;pointer-events:auto}button{border:1px solid #d1d8cc;background:#fafaf0;color:#294342;border-radius:8px;padding:9px 13px;font:inherit;font-weight:650;cursor:pointer}button:hover{background:#e7efdf}button:focus-visible{outline:3px solid #e9a330;outline-offset:2px}.eyebrow{font-size:10px;letter-spacing:.13em;font-weight:800;color:#71817b}aside{position:absolute;background:#fcfcf0e8;border:1px solid #d7dccd;padding:13px 15px;border-radius:10px;pointer-events:none}#mission{top:88px;right:24px;width:185px}#mission strong{display:block;font-size:13px;margin:7px 0}#mission small{display:block;color:#748278;font-size:10px;text-align:right;margin-top:4px}progress{appearance:none;width:100%;height:6px;border:0;border-radius:5px;overflow:hidden;background:#dce2d7}progress::-webkit-progress-bar{background:#dce2d7}progress::-webkit-progress-value{background:#258b82;border-radius:5px}#ranking{bottom:120px;left:24px;width:170px}ol{padding:0;margin:7px 0 0;list-style:none}li{display:flex;justify-content:space-between;font-size:11px;line-height:1.9;color:#68796f}li.you{color:#177b73;font-weight:800}#dashboard{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);width:min(460px,calc(100% - 40px));display:flex;align-items:center;gap:22px;padding:13px 20px;background:#fcfcf2f0;border:1px solid #ced7c9;border-radius:14px;pointer-events:none;box-shadow:0 4px 20px #213b3410}.power{text-align:center;min-width:58px}.power strong{display:block;font-size:26px;line-height:1.2}.meters{flex:1}.meterLabel{display:flex;justify-content:space-between;font-size:9px;font-weight:800;letter-spacing:.04em;margin-bottom:3px}.meterLabel:nth-of-type(2){margin-top:7px}#energy::-webkit-progress-value{background:#dba246}#help{position:absolute;bottom:12px;text-align:center;width:100%;font-size:10px;color:#6f8077;pointer-events:none}#help b{margin:0 8px}#toast,#danger{position:absolute;top:78px;left:50%;transform:translateX(-50%);pointer-events:none;font-size:13px;font-weight:800;color:#187d74;text-align:center}#danger{top:auto;bottom:138px;color:#b3533b}#touchBoost{display:none;position:absolute;right:24px;bottom:145px;width:75px;height:75px;border-radius:50%;background:#254d49;color:#fff;touch-action:none}dialog{border:1px solid #cfd9cd;border-radius:20px;padding:28px;background:#fbfcf3;color:#29423e;text-align:center;width:min(360px,90vw);box-shadow:0 20px 100px #183c3a30}dialog::backdrop{background:#1b38355c}dialog h1{font-size:30px;margin:10px 0}dialog p{line-height:1.6;color:#687b70}dialog>button{display:block;width:100%;margin:8px 0}.primary{background:#258b82;color:white;border-color:#258b82}dialog small{display:block;font-size:10px;line-height:1.7;margin-top:18px;color:#7b8980}#shells{display:flex;justify-content:center;gap:10px;margin:20px 0}#shells button{width:36px;height:36px;border-radius:50%;padding:0;border:3px solid transparent}#shells button.selected{outline:2px solid #253b3b;outline-offset:3px}#shells button:disabled{opacity:.3;cursor:default}@media(max-width:700px){header{left:14px;right:14px;top:14px}.brand{font-size:15px}.buttons button{padding:7px 9px;font-size:11px}#mission{top:69px;right:14px;width:148px;padding:10px}#ranking{left:14px;bottom:140px;width:143px;padding:10px}#dashboard{gap:12px;padding:12px 14px;bottom:44px}.power strong{font-size:23px}#help{font-size:9px;padding:0 16px;bottom:10px}#danger{bottom:125px;width:100%}#toast{top:210px;width:90%}}@media(pointer:coarse){#touchBoost{display:block}#help{font-size:0}#help:after{content:'Drag to steer · Hold BOOST for speed';font-size:11px}}

[hidden]{display:none!important}
/* Asset-backed controls. Every shell is available from the first run. */
.hud-icon{width:12px;height:12px;vertical-align:-2px}#sound:before{content:'';display:inline-block;width:16px;height:16px;vertical-align:-3px;margin-right:5px;background:url('assets/sound-off.svg') center/contain no-repeat}#sound[data-enabled=true]:before{background-image:url('assets/sound-on.svg')}
#appearance{position:absolute;right:24px;top:78px;width:210px;padding:10px 12px;border:1px solid #cbc7b4;border-radius:10px;background:#fcfaf0f5;font-size:12px;color:#43544a}#appearance summary{cursor:pointer;list-style:none;font-weight:700;display:flex;align-items:center;gap:7px}#appearance summary:after{content:'⌄';margin-left:auto}#appearance summary img{width:18px;height:18px}#appearance small{display:block;font-size:10px;color:#6a7766;text-align:center;margin-top:9px}#colorChoices,#shells{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:12px 0 0}#colorChoices button,#shells button{background:transparent;border:1px solid transparent;border-radius:8px;padding:4px;width:54px;height:auto;outline:none;font-size:8px;font-weight:650;color:#4b5d4e;display:flex;flex-direction:column;align-items:center;gap:4px}#colorChoices button.selected,#shells button.selected{border-color:#35897f;background:#e0eee1}.shell-thumb{display:block;width:38px;height:38px;background-image:url('assets/household-atlas.png');background-size:400% 400%;border-radius:50%}#touchBoost img{display:block;width:24px;height:24px;margin:auto;filter:brightness(0) invert(1)}
#dashboard,#ranking,dialog{background-image:url('assets/panel.svg');background-size:100% 100%;background-color:transparent;border:none}progress::-webkit-progress-bar{background:url('assets/meter-track.svg') center/100% 100%}progress::-webkit-progress-value{background:url('assets/meter.svg') center/100% 100%}#energy::-webkit-progress-value{background:url('assets/meter.svg') center/100% 100%;filter:hue-rotate(290deg)}
@media(max-width:700px){#appearance{right:14px;top:65px;width:185px}#appearance summary{font-size:11px}#colorChoices button{width:48px}.shell-thumb{width:34px;height:34px}}
body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}#loading{position:fixed;inset:0;z-index:100;background:#f4efdf;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#294b43}#loading strong{font-size:25px;letter-spacing:.04em}#loading p{font-size:13px}#saveNotice{position:absolute;bottom:110px;left:50%;transform:translateX(-50%);z-index:10;font-size:11px;color:#9b4937;text-align:center}header{top:max(14px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right))}#help{bottom:max(10px,env(safe-area-inset-bottom))}#dashboard{bottom:calc(40px + env(safe-area-inset-bottom))}
#spillHud{position:absolute;left:max(14px,env(safe-area-inset-left));top:70px;background:#fbf8edeb;border:1px solid #c9c9b4;border-radius:10px;padding:10px 13px;pointer-events:none;width:155px}#spillHud strong{display:block;font-size:22px;color:#286b58}#spillHud small{font-size:10px;color:#5a6c56}#spillCount{margin-left:5px}.buttons button{min-height:44px}#appearance summary{min-height:28px}#colorChoices button,#shells button{min-width:48px;min-height:54px}#dashboard,#ranking,dialog{background-image:none;background-color:#fcfaf0f2;border:1px solid #c9c9b4}
@media(max-width:600px){#spillHud{top:67px;width:133px;padding:8px 10px}#spillHud strong{font-size:19px}#appearance{width:160px}#appearance summary{min-height:28px}#ranking{bottom:151px;width:123px;font-size:10px}#touchBoost{right:max(14px,env(safe-area-inset-right));bottom:calc(148px + env(safe-area-inset-bottom));width:72px;height:72px}#dashboard{width:calc(100% - 24px);gap:8px;padding:10px}.power{min-width:48px}.eyebrow{font-size:9px}.meterLabel{font-size:10px}}
@media(max-height:500px){#ranking{left:auto;right:14px;top:125px;bottom:auto;width:125px}#ranking li{line-height:1.45}#dashboard{bottom:26px;width:390px;padding:8px 12px}#help{bottom:5px}#danger{bottom:110px}#spillHud{top:62px}#appearance{top:62px}#touchBoost{bottom:28px;right:16px}}
.touch-preview #touchBoost{display:block}.touch-preview #help{font-size:0}.touch-preview #help:after{content:'Drag to steer · Hold BOOST for speed';font-size:11px}
