:root{--deep: #062028;--deep-2: #0b3440;--foam: #eaf7f4;--foam-dim: #b6d3d2;--grass: #a9e26a;--grass-deep: #4f9a4a;--sand: #e6dcb8;--warn: #ffcf7a;--shadow: 0 2px 18px rgba(0, 20, 26, .55);--ui-font: "Avenir Next", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", sans-serif;--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);--safe-r: env(safe-area-inset-right, 0px)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#04161c;color:var(--foam);font-family:var(--ui-font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;touch-action:none}#stage,#stage canvas{position:fixed;inset:0;display:block}#stage canvas{width:100%;height:100%}#ui{position:fixed;inset:0;pointer-events:none;z-index:2}#ui>*{position:absolute;inset:0}.pointer{pointer-events:auto}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}.btn{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;gap:.55em;padding:.85em 1.9em;border-radius:999px;background:linear-gradient(180deg,var(--grass) 0%,var(--grass-deep) 100%);color:#06251a;font-weight:650;font-size:clamp(.95rem,2.6vmin,1.15rem);letter-spacing:.02em;box-shadow:var(--shadow),inset 0 1px #ffffff73;transition:transform .12s ease,filter .12s ease}.btn:hover{filter:brightness(1.07)}.btn:active{transform:scale(.97)}.btn--ghost{background:#0620288c;color:var(--foam);border:1px solid rgba(234,247,244,.28);backdrop-filter:blur(8px);box-shadow:var(--shadow);font-weight:550}.icon-btn{pointer-events:auto;width:2.9rem;height:2.9rem;border-radius:50%;display:grid;place-items:center;background:#06202880;border:1px solid rgba(234,247,244,.22);backdrop-filter:blur(8px);box-shadow:var(--shadow);font-size:1.1rem;line-height:1;transition:transform .12s ease,background .12s ease}.icon-btn:hover{background:#0a3440b3}.icon-btn:active{transform:scale(.93)}.icon-btn[aria-pressed=true]{background:#a9e26a38;border-color:var(--grass)}:focus-visible{outline:3px solid var(--grass);outline-offset:3px;border-radius:4px}.btn:focus-visible{border-radius:999px;outline-offset:4px}.screen{display:flex;overflow-y:auto;overscroll-behavior:contain;padding:calc(1.5rem + var(--safe-t)) calc(1.5rem + var(--safe-r)) calc(1.5rem + var(--safe-b)) calc(1.5rem + var(--safe-l));text-align:center;opacity:0;visibility:hidden;transition:opacity .5s ease,visibility .5s}.screen[data-on=true]{opacity:1;visibility:visible;pointer-events:auto}.screen--scrim{background:radial-gradient(ellipse at center,#04161c8c,#04161ce0)}#end.screen--scrim{background:radial-gradient(ellipse 48% 62% at center,#04161ca8,#04161c80 55%,#04161c2e)}.stack{margin:auto;display:flex;flex-direction:column;align-items:center;gap:clamp(.6rem,2.2vmin,1.1rem);max-width:46rem;width:100%}h1{margin:0;font-size:clamp(2.3rem,9.5vmin,4.8rem);font-weight:300;letter-spacing:.12em;line-height:1.05;text-transform:uppercase;text-shadow:0 3px 26px rgba(0,0,0,.6)}h1 b{display:block;font-weight:700;color:var(--grass);letter-spacing:.02em}.lede{margin:0;max-width:34rem;font-size:clamp(.95rem,2.7vmin,1.15rem);line-height:1.55;color:var(--foam-dim)}.lede--narrow{max-width:22rem}.credit--foot{position:absolute;left:50%;bottom:calc(5vh + var(--safe-b));transform:translate(-50%)}.credit--foot .credit-logo{margin:0}.btn--wide{min-width:9.5rem;padding-left:2.4em;padding-right:2.4em;margin-top:.6rem}.stage{opacity:0;transform:translateY(8px);transition-property:opacity,transform;transition-timing-function:ease;display:flex;flex-direction:column;align-items:center;gap:clamp(.4rem,1.4vmin,.7rem)}.stage.credit--foot{transform:translate(-50%,8px)}.stage--in{opacity:1;transform:none}.stage.credit--foot.stage--in{transform:translate(-50%)}.screen--footed{--u: min(1vh, .75vw);padding-bottom:calc(clamp(26px,4.8 * var(--u),120px) + 6vh + 7 * var(--u) + var(--safe-b))}.screen--footed .stack{max-width:max(46rem,110 * var(--u));gap:clamp(.6rem,3.6 * var(--u),3rem)}.screen--footed h1{font-size:clamp(2.3rem,9.5 * var(--u),14rem)}.screen--footed .lede{font-size:clamp(.95rem,2.4 * var(--u),2.6rem);max-width:max(18rem,48 * var(--u))}.screen--footed .btn--wide{font-size:clamp(.95rem,2.1 * var(--u),2.3rem);min-width:max(9.5rem,20 * var(--u));padding:.95em 2.6em;margin-top:1 * var(--u)}.screen--footed .credit--foot{bottom:calc(6vh + var(--safe-b))}.screen--footed .credit--foot .credit-logo{height:clamp(26px,4.8 * var(--u),120px)}.screen--footed .stage{gap:clamp(.4rem,1.2 * var(--u),1.2rem)}.screen--footed .tally{gap:clamp(1.2rem,7 * var(--u),7rem);margin:0}.screen--footed .tally li{gap:clamp(.35rem,1.3 * var(--u),1.2rem)}.screen--footed .tally b{font-size:clamp(2rem,7 * var(--u),7.5rem)}.screen--footed .tally small{font-size:clamp(.62rem,1.35 * var(--u),1.4rem);max-width:max(8rem,14 * var(--u))}.screen--footed .species{font-size:clamp(.88rem,1.95 * var(--u),2.1rem);max-width:max(24rem,44 * var(--u))}.screen--footed .all-players{font-size:clamp(.78rem,1.55 * var(--u),1.7rem);max-width:max(16rem,34 * var(--u))}.screen--footed .fact{gap:clamp(.35rem,1.4 * var(--u),1.4rem);max-width:max(32rem,60 * var(--u))}.screen--footed .fact-label{font-size:clamp(.62rem,1.35 * var(--u),1.4rem)}.screen--footed .fact-text{font-size:clamp(1rem,2.35 * var(--u),2.5rem)}.screen--footed .fact--long{max-width:max(32rem,76 * var(--u))}.screen--footed .fact--long .fact-text{font-size:clamp(.95rem,2.05 * var(--u),2.2rem)}.screen--footed .fact--longest{max-width:max(40rem,100 * var(--u))}.screen--footed .fact--longest .fact-text{font-size:clamp(.85rem,1.8 * var(--u),1.9rem);line-height:1.5}.fact{display:flex;flex-direction:column;align-items:center;gap:.35rem;max-width:32rem}.fact[hidden]{display:none}.fact-label{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--foam-dim)}.fact-text{margin:0;font-size:clamp(1rem,2.8vmin,1.2rem);line-height:1.55;color:var(--foam)}.fact--pending .fact-label{color:var(--warn)}.credit{margin:0;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#b6d3d2b8}.credit-logo{display:block;height:clamp(26px,4.2vmin,44px);width:auto;margin:.4rem auto 0;opacity:.92}#loading{background:#04161c}.bar{width:min(18rem,60vw);height:3px;border-radius:2px;background:#eaf7f429;overflow:hidden}.bar i{display:block;height:100%;width:0;background:var(--grass);transition:width .25s ease}.nada{width:clamp(6rem,22vmin,11rem);aspect-ratio:1;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px #a9e26a80,0 8px 40px #0000008c;background:#12386b}.speaker{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--grass);margin:0}.speaker-role{display:block;margin-top:.25em;color:var(--foam-dim);letter-spacing:.14em}.subtitle{min-height:4.4em;display:grid;align-items:center;font-size:clamp(1.05rem,3.3vmin,1.5rem);line-height:1.4;font-weight:400;max-width:30rem;text-shadow:0 2px 14px rgba(0,0,0,.75)}.subtitle span{opacity:0;animation:rise .45s ease forwards}@keyframes rise{0%{opacity:0;transform:translateY(.4em)}to{opacity:1;transform:none}}.icon-row{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(.7rem,3vmin,1.6rem);margin:.4rem 0 0;padding:0;list-style:none}.icon-row li{display:flex;flex-direction:column;align-items:center;gap:.4rem;width:clamp(4rem,15vmin,5.6rem)}.icon-row img{width:100%;height:auto;filter:drop-shadow(0 4px 12px rgba(0,0,0,.5))}.icon-row strong{font-size:.74rem;font-weight:600;letter-spacing:.02em;color:var(--foam)}.icon-row small{font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--foam-dim);line-height:1.3}.icon-row li[data-action=plant] small{color:var(--grass)}.skip{opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s}.skip[data-on=true]{opacity:1;visibility:visible}#hud{padding:calc(.8rem + var(--safe-t)) calc(.8rem + var(--safe-r)) calc(.8rem + var(--safe-b)) calc(.8rem + var(--safe-l));display:grid;grid-template-rows:auto 1fr auto;opacity:0;transition:opacity .4s ease}#hud[data-on=true]{opacity:1}.hud-top{display:flex;align-items:flex-start;gap:.8rem}.hud-bottom{display:flex;align-items:flex-end;justify-content:center}.meter{flex:1;max-width:30rem;pointer-events:none}.meter-label{display:flex;justify-content:space-between;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--foam-dim);margin-bottom:.35rem;text-shadow:0 1px 6px rgba(0,0,0,.7)}.meter-track{height:8px;border-radius:999px;background:#04161c8c;border:1px solid rgba(234,247,244,.18);overflow:hidden}.meter-fill{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#6aa86a,var(--grass));transition:width .3s ease}.timer{font-variant-numeric:tabular-nums;font-size:.95rem;color:var(--foam);text-shadow:0 1px 6px rgba(0,0,0,.7)}.hud-actions{display:flex;gap:.5rem}.counts{display:flex;gap:1.2rem;font-size:.8rem;letter-spacing:.08em;color:var(--foam-dim);text-shadow:0 1px 6px rgba(0,0,0,.8)}.counts b{color:var(--foam);font-variant-numeric:tabular-nums}.toast{position:absolute;left:50%;top:18%;transform:translate(-50%,-.5rem);padding:.6em 1.4em;border-radius:999px;background:#062028b8;backdrop-filter:blur(10px);border:1px solid rgba(234,247,244,.2);font-size:clamp(.9rem,2.6vmin,1.1rem);letter-spacing:.04em;opacity:0;transition:opacity .4s ease,transform .4s ease;pointer-events:none;white-space:nowrap}.toast[data-on=true]{opacity:1;transform:translate(-50%)}.caption{position:absolute;left:50%;bottom:calc(3.4rem + var(--safe-b));transform:translate(-50%,6px);width:min(30rem,calc(100% - 2rem));padding:.55rem 1rem .65rem;border-radius:.8rem;background:#04161c9e;backdrop-filter:blur(6px);display:flex;flex-direction:column;gap:.2rem;text-align:center;font-size:clamp(.85rem,2.3vmin,1rem);line-height:1.45;color:var(--foam);opacity:0;transition:opacity .5s ease,transform .5s ease;pointer-events:none}.caption[data-on=true]{opacity:1;transform:translate(-50%)}.caption-label{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--grass)}.caption--pending .caption-label{color:var(--warn)}.toast--storm{background:#1c100ac7;border-color:#ffcf7a80;color:var(--warn)}.tally{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(1.2rem,6vmin,3.2rem);margin:.6rem 0;padding:0;list-style:none}.tally li{display:flex;flex-direction:column;align-items:center;gap:.35rem}.tally b{font-size:clamp(2rem,7vmin,3.2rem);font-weight:300;color:var(--grass);font-variant-numeric:tabular-nums;line-height:1}.tally small{max-width:9rem;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--foam-dim)}.species{margin:0;font-size:clamp(.88rem,2.3vmin,1rem);color:var(--foam);max-width:26rem;line-height:1.5}.all-players{margin:0;font-size:.78rem;color:var(--foam-dim);max-width:16rem;line-height:1.5}.all-players b{color:var(--grass);font-weight:600;font-variant-numeric:tabular-nums}.all-players[hidden]{display:none}.row{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center}.sheet{position:absolute;right:calc(.8rem + var(--safe-r));top:calc(3.9rem + var(--safe-t));width:min(17rem,calc(100vw - 1.6rem));padding:1rem 1.1rem;border-radius:1rem;background:#062028e6;backdrop-filter:blur(14px);border:1px solid rgba(234,247,244,.18);box-shadow:var(--shadow);display:none;gap:.85rem;flex-direction:column;text-align:left;pointer-events:auto}.sheet[data-on=true]{display:flex}.sheet h2{margin:0;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--foam-dim);font-weight:600}.field{display:flex;align-items:center;justify-content:space-between;gap:.8rem;font-size:.9rem}.seg{display:flex;border-radius:999px;overflow:hidden;border:1px solid rgba(234,247,244,.22)}.seg button{padding:.34em .8em;font-size:.78rem;color:var(--foam-dim);background:transparent}.seg button[aria-pressed=true]{background:var(--grass);color:#06251a;font-weight:650}.hint{margin:0;font-size:.72rem;line-height:1.45;color:#b6d3d2bf}.sheet-btn{padding:.45em 1.1em;font-size:.75rem}.sheet .row{gap:.5rem;justify-content:flex-start}#debug{position:absolute;left:calc(.8rem + var(--safe-l));bottom:calc(.8rem + var(--safe-b));width:min(20rem,calc(100vw - 1.6rem));max-height:70vh;overflow:auto;padding:.8rem;border-radius:.75rem;background:#020c10eb;border:1px solid rgba(169,226,106,.35);font:11px/1.5 ui-monospace,SF Mono,Menlo,Consolas,monospace;color:#cfe9d6;display:none;pointer-events:auto}#debug[data-on=true]{display:block}#debug h3{margin:0 0 .5rem;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--grass)}#debug .grid{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.6rem}#debug button{padding:.28em .6em;border-radius:.3rem;font:inherit;background:#a9e26a1f;border:1px solid rgba(169,226,106,.3);color:#cfe9d6}#debug button:hover{background:#a9e26a40}#debug dl{display:grid;grid-template-columns:auto 1fr;gap:0 .7rem;margin:0 0 .6rem}#debug dt{color:#cfe9d699}#debug dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}#debug label{display:flex;align-items:center;gap:.4rem;margin-bottom:.3rem}#debug input[type=range]{flex:1;accent-color:var(--grass)}.tap-hint{position:absolute;left:50%;bottom:calc(14% + var(--safe-b));transform:translate(-50%);font-size:clamp(.85rem,2.4vmin,1rem);letter-spacing:.08em;color:var(--foam);text-shadow:0 2px 12px rgba(0,0,0,.8);opacity:0;transition:opacity .5s ease;pointer-events:none}.tap-hint[data-on=true]{opacity:1;animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.55}50%{opacity:1}}.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}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.08s!important}}
