:root{color:#eaf5ec;font-synthesis:none;text-rendering:optimizelegibility;--ink:#081210;--paper:#eaf5ec;--muted:#96b3a3;--panel:#0c1814db;--panel-strong:#07100df5;--line:#c9f24d29;--teal:#5fd6c4;--lime:#c9f24d;--danger:#ff6b57;--safe-top:max(12px, env(safe-area-inset-top));--safe-right:max(12px, env(safe-area-inset-right));--safe-bottom:max(12px, env(safe-area-inset-bottom));--safe-left:max(12px, env(safe-area-inset-left));background:#0a1613;font-family:Cascadia Mono,JetBrains Mono,SFMono-Regular,Consolas,monospace}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{overscroll-behavior:none;min-width:320px}button,select{font:inherit}button,select,#touch-stick{-webkit-tap-highlight-color:transparent}button:focus-visible,select:focus-visible,#game-canvas:focus-visible{outline:2px solid var(--lime);outline-offset:3px}[hidden]{display:none!important}#app{isolation:isolate;background:radial-gradient(circle at 16% 16%,#c9f24d1f,#0000 30rem),#0a1613;position:relative}#game-canvas{touch-action:none;outline:none;width:100vw;height:100vh;display:block}#hud{z-index:10;top:var(--safe-top);right:var(--safe-right);left:var(--safe-left);pointer-events:none;grid-template-columns:minmax(280px,360px) auto minmax(440px,auto);grid-template-areas:"objective performance controls""objective metrics metrics";align-items:start;gap:8px;display:grid;position:absolute}.objective-cluster,.performance-strip,.simulation-controls,.metrics-panel{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 12px 32px #00000047}.objective-cluster{border-top:3px solid var(--lime);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);grid-area:objective;grid-template-columns:1fr auto;gap:10px 14px;min-height:112px;padding:12px 14px 13px;display:grid;position:relative}.prototype-mark{min-width:0}.prototype-mark__eyebrow,.flock-count span,.objective-progress__line span,.performance-strip span,.simulation-controls label>span,.metrics-panel span{color:var(--muted);letter-spacing:.08em;font-size:.62rem;font-weight:750;line-height:1.2;display:block}.prototype-mark strong{max-width:185px;color:var(--lime);letter-spacing:.02em;text-transform:uppercase;margin-top:5px;font-size:1rem;font-weight:700;line-height:1.16;display:block}.flock-count{text-align:right;min-width:82px}.flock-count strong,.objective-progress strong,.performance-strip strong,.metrics-panel strong{color:var(--paper);font-variant-numeric:tabular-nums;font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace}.flock-count strong{color:var(--lime);margin-top:2px;font-size:1.3rem;line-height:1;display:block}.objective-progress{grid-column:1/-1}.objective-progress__line{justify-content:space-between;align-items:baseline;margin-bottom:4px;display:flex}.objective-progress__line--hold{margin-top:6px;margin-bottom:3px}.objective-progress strong{text-align:right;min-width:4ch;font-size:.84rem}.meter{background:#0000005c;border:1px solid #eaf5ec29;height:7px;position:relative;overflow:hidden}.meter--hold{height:4px}.meter__fill{transform-origin:0;background:linear-gradient(90deg, #8fae2c, var(--lime));transition:transform .14s linear;position:absolute;inset:0;transform:scaleX(0)}.meter--hold .meter__fill{background:var(--teal)}.performance-strip{pointer-events:auto;grid-area:performance;align-items:stretch;min-height:48px;padding-left:10px;display:flex}.performance-strip>div{min-width:70px;padding:7px 10px 6px 0}.performance-strip strong{margin-top:2px;font-size:.8rem;display:block}.simulation-controls{pointer-events:auto;grid-area:controls;justify-content:flex-end;align-items:stretch;min-height:48px;padding:4px;display:flex}.simulation-controls label{border-right:1px solid var(--line);flex-direction:column;justify-content:center;min-width:122px;padding:3px 8px;display:flex}.simulation-controls label:nth-child(2){min-width:152px}select{min-width:0;color:var(--paper);cursor:pointer;background:0 0;border:0;border-radius:0;margin:1px -3px -2px;padding:2px 24px 2px 3px;font-size:.75rem;font-weight:700}select option{color:var(--paper);background:var(--ink)}button{min-width:44px;min-height:44px;color:var(--paper);cursor:pointer;background:#eaf5ec0f;border:1px solid #eaf5ec42;border-radius:0;font-weight:800;transition:color .12s,border-color .12s,background-color .12s,transform 80ms}button:hover:not(:disabled){border-color:var(--lime);color:var(--lime);background:#c9f24d1c}button:active:not(:disabled),button[data-pressed=true]{transform:translateY(1px)scale(.97)}button:disabled,select:disabled{cursor:not-allowed;opacity:.42}.icon-button{flex:0 0 44px;padding:0 7px;font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:.68rem;line-height:1}.camera-button{flex-basis:64px;min-width:64px;font-size:.58rem}#metrics-toggle[aria-expanded=true]{border-color:var(--teal);color:var(--teal);background:#5fd6c41f}.metrics-panel{pointer-events:auto;grid-area:metrics;grid-template-columns:repeat(4,minmax(92px,1fr));gap:8px 18px;padding:9px 12px;display:grid}.metrics-panel strong{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:.72rem;display:block;overflow:hidden}#adapter-line{color:#eaf5ec94;text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;margin:2px 0 0;font-size:.64rem;overflow:hidden}.tuning-panel{z-index:20;top:calc(var(--safe-top) + 58px);right:var(--safe-right);width:min(430px, calc(100vw - var(--safe-left) - var(--safe-right)));max-height:calc(100vh - var(--safe-top) - var(--safe-bottom) - 74px);border:1px solid var(--line);border-top:3px solid var(--lime);background:var(--panel-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:12px;position:absolute;overflow:auto;box-shadow:0 18px 58px #0000006b}.tuning-panel__head{grid-template-columns:1fr auto auto;align-items:center;gap:7px;display:grid}.tuning-panel__head span,.tuning-grid label>span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.61rem;font-weight:750;display:block}.tuning-panel__head strong{color:var(--lime);letter-spacing:.02em;text-transform:uppercase;margin-top:1px;font-size:1.15rem;font-weight:700;display:block}.tuning-panel__head button,.tuning-presets button{letter-spacing:.05em;min-width:54px;min-height:30px;padding:4px 8px;font-size:.59rem}.tuning-presets{grid-template-columns:repeat(4,1fr);gap:5px;margin:11px 0 8px;display:grid}.tuning-switches{color:var(--paper);flex-wrap:wrap;gap:5px 11px;margin-bottom:10px;font-size:.64rem;font-weight:650;display:flex}.tuning-switches label{align-items:center;gap:5px;display:flex}.tuning-switches input{accent-color:var(--lime)}.tuning-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px;display:grid}.tuning-grid label{min-width:0}.tuning-grid label>span{justify-content:space-between;display:flex}.tuning-grid output{min-width:4ch;color:var(--lime);text-align:right;font-family:Cascadia Mono,Consolas,monospace}.tuning-grid input[type=range]{width:100%;height:18px;accent-color:var(--lime);margin:1px 0 0}#tuning-toggle[aria-expanded=true]{border-color:var(--lime);color:var(--lime);background:#c9f24d24}#status-line{z-index:8;bottom:max(22px, calc(env(safe-area-inset-bottom) + 12px));border-left:4px solid var(--lime);max-width:min(540px,100vw - 32px);min-height:34px;color:var(--paper);text-align:center;pointer-events:none;background:#07100dc7;padding:8px 16px 8px 20px;font-size:.75rem;font-weight:750;line-height:1.25;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000042}#status-line:before{content:"▸";color:var(--lime)}.desktop-hint{z-index:7;bottom:max(22px, calc(env(safe-area-inset-bottom) + 12px));left:var(--safe-left);color:#eaf5ec94;letter-spacing:.05em;pointer-events:none;gap:12px;font-size:.6rem;font-weight:700;display:flex;position:absolute}.desktop-hint b{color:var(--paper)}.bark-hint{padding-left:15px;position:relative}.bark-hint:before{content:"";background:conic-gradient(var(--lime) calc(var(--bark-readiness,1) * 1turn), #eaf5ec38 0);border-radius:50%;width:9px;height:9px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.game-overlay{z-index:30;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#040807a8;place-items:center;display:grid;position:absolute;inset:0}.game-overlay__panel{border:1px solid #eaf5ec4d;border-top:4px solid var(--lime);background:var(--panel-strong);clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%);width:min(440px,100vw - 32px);padding:24px;box-shadow:0 24px 80px #0000007a}.game-overlay[data-state=error] .game-overlay__panel{border-top-color:var(--danger)}.game-overlay__kicker{color:var(--lime);letter-spacing:.12em;font-size:.68rem;font-weight:850}.game-overlay[data-state=error] .game-overlay__kicker{color:var(--danger)}.game-overlay h1{color:var(--paper);text-transform:uppercase;margin:7px 0 8px;font-size:clamp(1.55rem,5vw,2.15rem);line-height:1}.game-overlay p{color:var(--muted);margin:0;font-size:.9rem;line-height:1.45}.overlay-stats{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px;padding-top:14px;display:grid}.overlay-stats div{text-align:center}.overlay-stats span{color:var(--muted);letter-spacing:.08em;font-size:.6rem;font-weight:750;display:block}.overlay-stats strong{color:var(--lime);font-variant-numeric:tabular-nums;margin-top:4px;font-size:1.15rem;display:block}.game-overlay__actions{gap:8px;margin-top:22px;display:flex}.game-overlay__actions button{min-width:116px;padding:0 18px}#overlay-primary{border-color:var(--lime);color:var(--ink);background:var(--lime)}#overlay-primary:hover:not(:disabled){color:var(--ink);background:#e2ff8a}#touch-controls{z-index:15;right:max(18px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));left:max(18px, env(safe-area-inset-left));pointer-events:none;justify-content:space-between;align-items:flex-end;display:none;position:absolute}#touch-stick{aspect-ratio:1;pointer-events:auto;touch-action:none;background:radial-gradient(circle,#5fd6c414 0 46%,#0000 47%),#07100d94;border:1px solid #eaf5ec52;border-radius:50%;width:clamp(108px,25vw,140px);position:relative;box-shadow:inset 0 0 24px #00000047}#touch-stick[data-active=true]{border-color:#5fd6c4bd}#touch-knob{aspect-ratio:1;pointer-events:none;background:#5fd6c4d6;border:2px solid #eaf5ecb8;border-radius:50%;width:42%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 5px 18px #00000057}.touch-stick__arrow{opacity:.46;border:4px solid #0000;width:0;height:0;position:absolute}.touch-stick__arrow--north{border-bottom-color:var(--paper);top:8px;left:calc(50% - 4px)}.touch-stick__arrow--east{border-left-color:var(--paper);top:calc(50% - 4px);right:8px}.touch-stick__arrow--south{border-top-color:var(--paper);bottom:8px;left:calc(50% - 4px)}.touch-stick__arrow--west{border-right-color:var(--paper);top:calc(50% - 4px);left:8px}#bark-button{--bark-readiness:1;aspect-ratio:1;width:clamp(86px,20vw,108px);min-width:86px;min-height:86px;color:var(--paper);background:radial-gradient(circle, #8e3d2f 0 53%, #8e3d2f73 54% 61%, transparent 62%), conic-gradient(var(--lime) calc(var(--bark-readiness) * 1turn), #eaf5ec33 0);letter-spacing:.08em;pointer-events:auto;touch-action:none;border:0;border-radius:50%;padding:8px;font-size:.75rem;box-shadow:0 10px 34px #0000005c}#bark-button:hover:not(:disabled){color:var(--paper);background:radial-gradient(circle, #aa4d3b 0 53%, #aa4d3b80 54% 61%, transparent 62%), conic-gradient(#e2ff8a calc(var(--bark-readiness) * 1turn), #eaf5ec33 0)}@media (width<=1080px){#hud{grid-template-columns:minmax(270px,1fr) auto;grid-template-areas:"objective performance""controls controls""metrics metrics"}.simulation-controls{justify-self:end}.metrics-panel{justify-self:stretch}}@media (width<=680px){:root{--safe-top:max(8px, env(safe-area-inset-top));--safe-right:max(8px, env(safe-area-inset-right));--safe-left:max(8px, env(safe-area-inset-left))}#hud{grid-template-columns:minmax(0,1fr) auto;gap:6px}.objective-cluster{min-height:96px;padding:9px 10px 10px}.prototype-mark strong{max-width:145px;font-size:.7rem}.flock-count{min-width:70px}.flock-count strong{font-size:1.05rem}.performance-strip>div{min-width:54px;padding-left:5px;padding-right:5px}.performance-strip>div:nth-child(2){display:none}.simulation-controls{width:100%}.simulation-controls label{flex:112px;min-width:0}.simulation-controls label:nth-child(2){flex-grow:1.25;min-width:0}.metrics-panel{grid-template-columns:repeat(2,minmax(90px,1fr));max-height:min(34vh,190px);overflow-y:auto}.tuning-panel{top:calc(var(--safe-top) + 105px);max-height:calc(100vh - 245px)}.tuning-grid{grid-template-columns:1fr}#status-line{bottom:max(145px, calc(env(safe-area-inset-bottom) + 132px));max-width:calc(100vw - 28px);min-height:30px;padding:7px 12px 7px 14px;font-size:.68rem}.desktop-hint{display:none}#touch-controls{display:flex}}@media (pointer:coarse){#touch-controls{display:flex}.desktop-hint{display:none}#status-line{bottom:max(154px, calc(env(safe-area-inset-bottom) + 140px))}}@media (height<=560px) and (orientation:landscape){.objective-cluster{grid-template-columns:1fr auto;min-height:74px;padding:7px 9px}.prototype-mark strong,.objective-progress__line--hold,.meter--hold,.simulation-controls label:nth-child(2){display:none}#touch-stick{width:98px}#bark-button{width:82px;min-width:82px;min-height:82px}#status-line{bottom:max(116px, calc(env(safe-area-inset-bottom) + 104px))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
