:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#0b2340;color:#f4fbff}*{box-sizing:border-box}html,body{width:100%;min-width:320px;height:100%;margin:0;overflow:hidden}button{font:inherit}.runner-shell,.runner-viewport,.runner-stage{position:fixed;inset:0;width:100%;height:100%;overflow:hidden}.runner-shell{isolation:isolate;background:#0b2340}.runner-viewport{z-index:0}.runner-stage canvas{display:block;width:100%;height:100%;background:#0b2340}.runner-shell:before,.runner-shell:after{position:fixed;z-index:1;pointer-events:none;content:""}.runner-shell:before{inset:0;background:linear-gradient(90deg,rgba(3,5,18,.3),transparent 22%,transparent 74%,rgba(3,5,18,.14)),linear-gradient(180deg,rgba(6,7,24,.1),transparent 18%)}.runner-shell:after{display:none}.runner-shell[data-capture=review]:before{background:none}.runner-shell[data-capture=review]:after{display:none}.runner-panel{position:fixed;inset:0;z-index:2;pointer-events:none}.runner-panel>*{pointer-events:auto}.runner-brand{position:absolute;top:20px;left:22px;width:min(258px,calc(100vw - 44px));padding:11px 14px 12px;border:1px solid rgba(132,233,255,.42);border-radius:14px;background:linear-gradient(112deg,#082643f0,#0d4c5ed1),linear-gradient(90deg,rgba(255,127,111,.18),transparent 34%);box-shadow:0 16px 38px #010e1d57,inset 0 1px #e5fbff1f}.runner-panel .label{display:flex;gap:8px;align-items:center;color:#9cefff;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.runner-panel .label i,.contract-status i{width:7px;height:7px;border-radius:50%;background:#ff718f;box-shadow:0 0 14px #ff718f}.runner-brand h1{margin:5px 0 0;font-size:clamp(23px,2.1vw,31px);font-weight:840;line-height:1;letter-spacing:-.045em}.runner-brand .claim{display:none;max-width:30ch;margin:8px 0 0;color:#c2e0ea;font-size:11px;line-height:1.38}.panel-metrics{position:absolute;top:22px;right:22px;width:min(520px,calc(100vw - 330px));display:grid;gap:8px}.metrics-row{display:grid;grid-template-columns:repeat(4,minmax(72px,1fr)) minmax(140px,1.5fr);gap:6px;padding:6px;border:1px solid rgba(132,233,255,.34);border-radius:14px;background:#051c30d6;box-shadow:0 16px 38px #010e1d47,inset 0 1px #e5fbff14}.metrics-row article{min-width:0;padding:8px 10px;border-radius:9px;background:linear-gradient(180deg,#5dd4ef2e,#16435d2e)}.metrics-row span{display:block;color:#a6d4df;font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.metrics-row strong{display:block;margin-top:4px;overflow:hidden;color:#f5fdff;font-size:18px;line-height:1;text-overflow:ellipsis;white-space:nowrap}.metric--flow strong{color:#ffd278}.metric--checkpoint strong{color:#72f4e5}.metric--lives strong{color:#ff849d}.metric--act strong{color:#c4adff;font-size:14px;letter-spacing:.01em}.metrics-row .metric--act{padding-left:6px;padding-right:6px}.checkpoint-row{display:flex;gap:8px;align-items:center;justify-content:flex-end;padding:6px 10px;border:1px solid rgba(132,233,255,.28);border-radius:999px;background:#051c30c2}.checkpoint-label{color:#8fa6ca;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.checkpoint-pips{display:flex;gap:5px}.checkpoint-pip{width:10px;height:10px;border:1px solid rgba(129,207,255,.38);border-radius:50%;background:#8fe3ff1f;box-shadow:0 0 calc(12px * var(--skyline-checkpoint-pulse, 0)) #8fe3ff73}.checkpoint-pip.is-active{background:#72f4e5d1;border-color:#72f4e5f2}.checkpoint-pip.is-current{box-shadow:0 0 10px #72f4e5a6}.debug-panel{display:none!important;position:absolute;top:170px;right:30px;width:min(240px,calc(100vw - 440px));display:grid;gap:4px;padding:8px 10px;border:1px dashed rgba(196,246,221,.24);border-radius:10px;background:#05161bd1;color:#aac8bd;font-size:10px}.debug-row{display:flex;justify-content:space-between;gap:8px}.debug-row strong{color:#f4fbf7}.runner-panel[data-paused=true] .objective{border-color:#ffd2787a;color:#ffd278}#score-value.ember-deny{color:#f86;animation:ember-deny .22s ease}@keyframes ember-deny{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.act-title-card{position:fixed;top:42%;left:50%;z-index:4;translate:-50% -50%;padding:14px 22px;border:1px solid rgba(129,207,255,.3);border-radius:14px;background:#080a1ce0;color:#f4f6ff;font-size:clamp(22px,2.4vw,34px);font-weight:820;letter-spacing:-.03em;opacity:0;pointer-events:none;transition:opacity .18s ease}.act-title-card>*{display:block}.act-title-eyebrow{color:#72f4e5;font-size:9px;font-weight:850;letter-spacing:.18em}.act-title-heading{margin-top:7px;font:inherit}.act-title-message{margin-top:8px;color:#c8d1e4;font-size:13px;font-weight:560;letter-spacing:0;line-height:1.35}.act-title-card[data-visible=true]{opacity:1}.score-pop{position:absolute;top:-4px;right:-6px;color:#ffd278;font-size:12px;font-weight:800;animation:score-pop-rise .9s ease forwards}@keyframes score-pop-rise{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-16px)}}.game-metrics{grid-template-columns:repeat(5,minmax(72px,1fr))}.game-hud .objective{justify-self:stretch;border-radius:12px;max-width:none;text-align:center}.route-contract{display:none}.objective{justify-self:end;max-width:100%;padding:8px 12px;border:1px solid rgba(132,233,255,.34);border-radius:999px;background:linear-gradient(90deg,#06253ae6,#08162cc7);color:#e4f8ff;font-size:11px;box-shadow:0 12px 32px #01090c38}.runner-controls{position:absolute;bottom:16px;left:18px;display:grid;width:286px;gap:8px}.runner-controls h2{display:none}.button-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:7px;border:1px solid rgba(132,233,255,.3);border-radius:15px;background:#051c30d6;box-shadow:0 16px 38px #010e1d57;backdrop-filter:blur(16px)}.button-grid button{display:grid;min-width:0;min-height:46px;place-content:center;gap:2px;border:1px solid rgba(132,233,255,.24);border-radius:10px;background:linear-gradient(180deg,#1f5a78db,#0a2644f0);color:#f3f4ff;cursor:pointer;touch-action:none}.button-grid button b{font-size:17px}.button-grid button span{color:#c0e7ef;font-size:9px;font-weight:760;text-transform:uppercase}.button-grid button:hover,.button-grid button:focus-visible,.button-grid button[aria-pressed=true]{border-color:#72f4e5;background:linear-gradient(180deg,#2f7e90f0,#16335cf5);outline:none;box-shadow:0 0 18px #72f4e53d}.controls-list{display:flex;gap:8px;margin:0;padding:0 8px;color:#aebbd8;font-size:10px;list-style:none}.controls-list kbd{color:#f3f4ff;font:inherit;font-weight:800}.runner-panel[data-capture=review] .runner-controls,.runner-panel[data-capture=review] .checkpoint-row,.runner-panel[data-capture=review] .ghost-row{opacity:0}.runner-panel[data-capture=review]:before{position:fixed;z-index:0;top:15px;left:20px;width:270px;height:64px;border:1px solid rgba(129,239,255,.48);background:linear-gradient(90deg,#ff776f 0 7px,transparent 7px),linear-gradient(112deg,#071f35f5,#0d3248e0);box-shadow:0 14px 30px #010c1a59,inset 0 1px #e5fbff2e;clip-path:polygon(0 0,92% 0,100% 35%,100% 100%,8% 100%,0 72%);content:"";pointer-events:none}.runner-panel[data-capture=review] .runner-brand,.runner-panel[data-capture=review] .panel-metrics,.runner-panel[data-capture=review] .objective{z-index:1}.runner-panel[data-capture=review] .runner-brand{top:18px;left:35px;width:238px;padding:4px 8px;border:0;border-radius:0;background:transparent;box-shadow:none;opacity:.98}.runner-panel[data-capture=review] .runner-brand:after{display:block;width:116px;height:3px;margin-top:4px;background:linear-gradient(90deg,#ff8176 0 24%,#84efff 24% 76%,transparent 76%);clip-path:polygon(0 0,100% 0,94% 100%,6% 100%);box-shadow:0 0 12px #84efff4d;content:""}.runner-panel[data-capture=review] .runner-brand .claim{display:none}.runner-panel[data-capture=review] .runner-brand .label{color:#9cefff;font-size:8px;letter-spacing:.22em}.runner-panel[data-capture=review] .runner-brand .label i{width:7px;height:7px;border-radius:1px;background:#ff8176;box-shadow:0 0 10px #ff8176cc;transform:rotate(45deg)}.runner-panel[data-capture=review] .runner-brand h1{margin-top:2px;color:#f4fbff;font-size:clamp(19px,1.55vw,24px);font-style:italic;letter-spacing:-.035em;text-transform:uppercase;text-shadow:0 2px 18px rgba(3,14,27,.42)}.runner-panel[data-capture=review] .panel-metrics{top:17px;right:20px;width:454px;opacity:.96;transform:none;transform-origin:top right}.runner-panel[data-capture=review] .metrics-row{gap:3px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}body[data-capture=review] .act-title-card{opacity:0}body[data-capture=review] .act-title-card .act-title-eyebrow{color:#ffb58d;letter-spacing:.2em}body[data-capture=review] .act-title-card .act-title-heading{display:block;color:#f7f8ff}body[data-capture=review] .act-title-card .act-title-message{max-width:44ch;color:#c7d1e6;margin-top:4px;font-size:11px}.runner-panel[data-capture=review] .game-metrics{grid-template-columns:repeat(4,minmax(68px,1fr)) minmax(108px,1.3fr)}.runner-panel[data-capture=review] .metrics-row article{position:relative;min-height:43px;overflow:hidden;padding:6px 11px 8px;border:1px solid rgba(126,232,248,.28);border-radius:0;background:linear-gradient(145deg,#0a2b42f0,#06172be6);box-shadow:inset 0 2px #a9f6ff1a,0 10px 22px #010c1b3d;clip-path:polygon(7px 0,100% 0,calc(100% - 7px) 100%,0 100%)}.runner-panel[data-capture=review] .metrics-row article:after{position:absolute;right:11px;bottom:4px;left:11px;height:2px;background:linear-gradient(90deg,#7ee8f8d1 0 18%,#7ee8f829 18% 100%);box-shadow:0 0 8px #7ee8f83d;content:""}.runner-panel[data-capture=review] .metric--lives:after{background:linear-gradient(90deg,#ff849d 0 76%,#ff849d29 76% 100%);box-shadow:0 0 8px #ff849d4d}.runner-panel[data-capture=review] .metric--act:after{background:linear-gradient(90deg,#9feeff 0 42%,#9feeff26 42% 100%)}.runner-panel[data-capture=review] .metrics-row span{color:#91cad5;font-size:7px;letter-spacing:.18em}.runner-panel[data-capture=review] .metrics-row strong{color:#f4fbff;font-size:16px;font-style:italic}.runner-panel[data-capture=review] .metric--flow strong{color:#ffd278}.runner-panel[data-capture=review] .metric--checkpoint strong{color:#72f4e5}.runner-panel[data-capture=review] .metric--lives strong{color:#ff849d}.runner-panel[data-capture=review] .metric--act strong{color:#9feeff;font-size:13px}.runner-panel[data-capture=review] .objective{position:fixed;top:86px;left:34px;justify-self:start;width:auto;max-width:480px;padding:6px 14px 6px 19px;border-left:3px solid #ff8176;background:linear-gradient(90deg,#061c31d6,#061c3100);color:#c8edf4;font-size:8px;font-weight:700;letter-spacing:.12em;line-height:1.2;text-transform:uppercase;box-shadow:none;opacity:.9}.route-contract{position:absolute;right:30px;bottom:26px;width:245px;padding:12px 14px;border:1px solid rgba(196,246,221,.16);border-radius:12px;background:#05161b9e;color:#aac8bd}.contract-status{display:flex;gap:8px;align-items:center;color:#dff9ed;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.route-contract p{margin:7px 0 0;font-size:10px;line-height:1.4}@media(max-width:980px){.runner-brand{width:290px}.runner-brand .claim{display:none}.panel-metrics{width:calc(100vw - 360px)}.metrics-row{grid-template-columns:repeat(5,minmax(60px,1fr))}.route-contract{display:none}}@media(max-width:620px){.runner-shell:after{inset:5px;border-radius:14px}.runner-brand{top:10px;left:10px;width:auto;max-width:190px;padding:9px 11px;border-radius:10px}.runner-brand h1{margin-top:4px;font-size:19px}.runner-panel .label{font-size:8px}.panel-metrics{top:10px;right:10px;width:174px;gap:5px}.metrics-row{grid-template-columns:repeat(3,1fr);gap:3px;padding:4px;border-radius:10px}.metrics-row article{padding:6px 5px;border-radius:7px}.metrics-row article:nth-child(4),.metric--checkpoint{display:none}.metrics-row span{font-size:7px;letter-spacing:.04em}.metrics-row strong{margin-top:2px;font-size:13px}.objective{max-width:174px;padding:5px 8px;overflow:hidden;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.runner-controls{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));width:auto}.button-grid{gap:5px;padding:5px;border-radius:13px}.button-grid button{min-height:58px;border-radius:9px}.button-grid button b{font-size:19px}.controls-list{display:none}}.ghost-row{margin-top:6px;display:flex;justify-content:flex-start}#ghost-badge{display:inline-block;padding:3px 8px;border:1px solid rgba(142,240,255,.35);border-radius:999px;font-size:9px;letter-spacing:.08em;color:#bfe9f2;background:#0c20288c}#ghost-badge[data-state=live]{color:#eafcff;border-color:#5ee0ffbf;box-shadow:0 0 10px #5ee0ff47}#ghost-badge[data-state=empty]{color:#cfd8de;border-color:#cfd8de66}
