@font-face{font-family:Tektur;font-style:normal;font-display:swap;font-weight:600;src:url(./tektur-latin-600-normal-DnKEQfFy.woff2)format("woff2"),url(./tektur-latin-600-normal-aoNb6GMr.woff)format("woff")}@font-face{font-family:Saira;font-style:normal;font-display:swap;font-weight:400;src:url(./saira-latin-400-normal-6Q3FbzbH.woff2)format("woff2"),url(./saira-latin-400-normal-Du12DsUY.woff)format("woff")}@font-face{font-family:Saira;font-style:normal;font-display:swap;font-weight:600;src:url(./saira-latin-600-normal-DYxBFP1f.woff2)format("woff2"),url(./saira-latin-600-normal-DF-o6wW3.woff)format("woff")}*,:before,:after{box-sizing:border-box}html,body{background:var(--color-space);height:100%;color:var(--color-text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;margin:0}body{overscroll-behavior:none;overflow:hidden}html{font-size:calc(100% * var(--text-scale,1))}html.doc-root,html.doc-root body{touch-action:auto;-webkit-user-select:text;user-select:text;height:auto;overflow:auto}html,.screen,.sheet-backdrop{touch-action:none}.sheet{touch-action:pan-y}button{touch-action:manipulation}#app{position:fixed;inset:0}.screen{position:absolute;inset:0}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.button{min-height:var(--size-touch);border-radius:var(--radius-md);font-size:var(--type-body);padding:12px 20px;font-weight:600}.button-primary{border:1.5px solid var(--color-accent);background:color-mix(in srgb, var(--color-accent) 12%, var(--color-surface));min-height:60px;box-shadow:0 0 18px color-mix(in srgb, var(--color-accent) 30%, transparent);font-size:var(--type-heading);letter-spacing:.12em;text-transform:uppercase}.button-primary:active{background:color-mix(in srgb, var(--color-accent) 24%, var(--color-surface))}.button-secondary{border:1px solid var(--color-stroke);background:var(--color-surface-raised);flex:1}.button-text{color:var(--color-text-dim);background:0 0;border:none}.home{padding:calc(env(safe-area-inset-top) + 15vh) 24px calc(env(safe-area-inset-bottom) + 40px);flex-direction:column;justify-content:space-between;align-items:center;display:flex}.home-credits{top:calc(env(safe-area-inset-top) + 16px);position:absolute;right:20px}.credits-pill{border:1px solid var(--color-stroke);background:var(--color-surface);height:36px;font:600 var(--type-body) / 1 var(--font-ui);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:8px;padding:0 14px;display:flex}.wordmark{font:800 var(--type-display) / 1 var(--font-title);letter-spacing:.12em;color:var(--color-text);text-shadow:0 0 18px color-mix(in srgb, var(--color-accent) 55%, transparent);margin:0}.home-ship{width:112px;height:112px;color:var(--color-accent);filter:drop-shadow(0 0 10px color-mix(in srgb, var(--color-accent) 60%, transparent))}.art-fill{fill:currentColor}.home-actions{flex-direction:column;gap:12px;width:100%;max-width:360px;display:flex}.home-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.home-row .button{min-width:0;padding-inline:8px}.home-daily-left{font:500 var(--type-label) / 1 var(--font-ui);color:var(--color-text-dim);margin-top:4px;display:block}.playfield{touch-action:none;display:block;position:absolute;inset:0}.safe-area-probe{visibility:hidden;pointer-events:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:absolute}.hud{pointer-events:none;flex-direction:column;justify-content:space-between;padding:12px 16px 16px;display:flex;position:absolute}.hud-top,.hud-bottom{justify-content:space-between;align-items:flex-start;display:flex}.hud-bottom{align-items:flex-end}.hud-score{font:600 var(--px-score) / 1 var(--font-title);font-variant-numeric:tabular-nums;text-shadow:0 0 10px color-mix(in srgb, var(--color-accent) 35%, transparent)}.hud-scorebox{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.hud-combo{transform-origin:0;align-items:center;gap:8px;display:flex}.hud-combo[hidden]{display:none}.hud-combo-value{font:600 var(--px-combo) / 1 var(--font-title);font-variant-numeric:tabular-nums;color:var(--color-warning)}.hud-combo-bar{background:var(--color-stroke);border-radius:2px;width:48px;height:4px;overflow:hidden}.hud-combo-fill{transform-origin:0;background:var(--color-warning);width:100%;height:100%;display:block}.hud-boss{border:1px solid var(--color-stroke);border-radius:3px;width:70%;height:6px;position:absolute;top:66px;left:15%;overflow:hidden}.hud-boss[hidden]{display:none}.hud-boss-fill{background:var(--color-danger);height:100%;display:block}.hud-pause{pointer-events:auto;width:var(--size-touch);height:var(--size-touch);border:1px solid var(--color-stroke);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-surface-raised) 80%, transparent);justify-content:center;align-items:center;gap:5px;display:flex}.hud-pause span{background:var(--color-text);border-radius:1px;width:4px;height:14px}.hud-status{flex-direction:column;gap:8px;display:flex}.hud-weapon{border:1px solid var(--color-pickup-offense);font:600 var(--px-label) / 1.4 var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--color-pickup-offense);border-radius:999px;align-self:flex-start;padding:3px 10px}.hud-bomb{pointer-events:auto;border:1.5px solid var(--color-pickup-utility);background:color-mix(in srgb, var(--color-surface) 70%, transparent);touch-action:none;border-radius:50%;width:64px;height:64px;position:relative}.hud-bomb.empty{opacity:.4}.hud-bomb-icon{color:var(--color-pickup-utility);position:absolute;inset:16px}.hud-bomb-count{background:var(--color-pickup-utility);min-width:22px;height:22px;color:var(--color-space);font:700 var(--px-label) / 22px var(--font-ui);border-radius:11px;padding:0 6px;position:absolute;top:-4px;right:-4px}.hud-label{font:600 var(--px-label) / 1 var(--font-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-dim);margin-bottom:-4px}.hud-hull{gap:4px;display:flex}.hull-cell{border:1px solid var(--color-stroke);width:22px;height:7px;transform:skew(-20deg)}.hull-cell.full{border-color:var(--color-accent);background:var(--color-accent);box-shadow:0 0 8px color-mix(in srgb, var(--color-accent) 60%, transparent)}.sheet-backdrop{z-index:10;background:var(--color-scrim);justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0}.sheet{width:100%;max-width:480px;max-height:calc(100dvh - env(safe-area-inset-top) - 12px);padding:28px 24px calc(24px + env(safe-area-inset-bottom));border:1px solid var(--color-stroke);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;background:var(--color-surface);border-bottom:none;flex-direction:column;gap:16px;display:flex;overflow-y:auto}.sheet:before{content:"";background:var(--color-stroke);border-radius:2px;align-self:center;width:40px;height:4px;margin-top:-12px}.sheet-title{font:800 var(--type-title) / 1.1 var(--font-title);letter-spacing:.04em;text-transform:uppercase;margin:0}.sheet-over .sheet-title{color:var(--color-danger)}.sheet-headline-row{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.sheet-headline{flex-direction:column;gap:2px;display:flex}.sheet-headline-detail{font-size:var(--type-label);color:var(--color-text-dim);font-weight:500}.sheet-credits{font:600 var(--type-heading) / 1 var(--font-title);font-variant-numeric:tabular-nums;color:var(--color-pickup-gem);align-items:center;gap:6px;display:flex}.sheet-credits-gem,.credits-gem{width:18px;height:18px;color:var(--color-pickup-gem)}.sheet-headline-label{font-size:var(--type-label);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-dim);font-weight:600}.sheet-headline-value{font:600 var(--type-title) / 1.15 var(--font-title);font-variant-numeric:tabular-nums}.sheet-stats{gap:10px;margin:0;display:flex}.sheet-stat{border-radius:var(--radius-sm);background:var(--color-surface-raised);flex:1;padding:10px 12px}.sheet-stat dt{font-size:var(--type-label);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-dim);font-weight:600}.sheet-stat dd{font:600 var(--type-heading) / 1.2 var(--font-title);font-variant-numeric:tabular-nums;margin:4px 0 0}.sheet-buttons{gap:10px;display:flex}.reduce-motion *{transition:none!important;animation:none!important}.settings,.phases,.hangar,.daily,.credits{padding:calc(env(safe-area-inset-top) + 24px) 20px calc(env(safe-area-inset-bottom) + 32px);flex-direction:column;gap:14px;display:flex}.screen-header{align-items:center;gap:6px;display:flex}.screen-back{width:var(--size-touch);height:var(--size-touch);color:var(--color-text-dim);font:500 26px / 1 var(--font-ui);background:0 0;border:none}.screen-title{font:600 var(--type-title) / 1 var(--font-title);letter-spacing:.04em;margin:0}.settings-section{flex-direction:column;gap:6px;display:flex}.settings-heading{font:600 var(--type-label) / 1.4 var(--font-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-dim);margin:0;padding-left:4px}.settings-group{border:1px solid var(--color-stroke);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.settings-row{justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:0 14px;display:flex}.settings-row+.settings-row{border-top:1px solid var(--color-stroke)}.settings-label{font:500 var(--type-body) / 1.3 var(--font-ui);flex:1}.settings-link{width:100%;color:inherit;text-align:left;background:0 0;border:none;text-decoration:none}.settings-chevron{font:500 var(--type-heading) / 1 var(--font-ui);color:var(--color-text-mute)}.settings,.credits{touch-action:pan-y;overflow-y:auto}.run-settings{z-index:11;background:var(--color-space)}.switch{border:1px solid var(--color-stroke);background:var(--color-surface-raised);border-radius:14px;flex:none;width:46px;height:28px;position:relative}.switch:after{content:"";background:var(--color-text-mute);width:20px;height:20px;transition:left .12s var(--ease-out);border-radius:50%;position:absolute;top:3px;left:3px}.switch[aria-checked=true]{border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 25%, var(--color-surface-raised))}.switch[aria-checked=true]:after{background:var(--color-text);left:21px}.phase-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.phase-row{border:1px solid var(--color-stroke);border-radius:var(--radius-md);background:var(--color-surface);text-align:left;justify-content:space-between;align-items:center;width:100%;min-height:56px;padding:0 16px;display:flex}.phase-row.next{border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 12%, var(--color-surface))}.phase-text{flex-direction:column;gap:4px;display:flex}.phase-best{font:500 var(--type-label) / 1 var(--font-ui);font-variant-numeric:tabular-nums;color:var(--color-text-dim)}.phase-name{font:600 var(--type-heading) / 1 var(--font-title)}.phase-state{font:600 var(--type-label) / 1 var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-dim)}.phase-row.next .phase-state{color:var(--color-accent)}.home-play-phase{font:500 var(--type-label) / 1 var(--font-ui);letter-spacing:.16em;color:var(--color-text-dim);margin-top:4px;display:block}.hangar-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.hangar-ship{border:1px solid var(--color-stroke);border-radius:var(--radius-lg);background:radial-gradient(70% 90% at 50% 100%, color-mix(in srgb, var(--color-accent) 14%, transparent), var(--color-surface));flex:none;place-items:center;height:150px;display:grid}.hangar-ship-art{width:96px;height:96px;color:var(--color-accent);filter:drop-shadow(0 0 10px color-mix(in srgb, var(--color-accent) 60%, transparent))}.hangar-list{touch-action:pan-y;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.hangar-row{border:1px solid var(--color-stroke);border-radius:var(--radius-md);background:var(--color-surface);align-items:center;gap:12px;padding:12px 12px 12px 14px;display:flex}.hangar-offense{--hangar-colour:var(--color-pickup-offense)}.hangar-defense{--hangar-colour:var(--color-pickup-defense)}.hangar-utility{--hangar-colour:var(--color-pickup-utility)}.hangar-icon{width:26px;height:26px;color:var(--hangar-colour);flex:none}.hangar-text{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.hangar-name{font:600 var(--type-body) / 1.2 var(--font-ui)}.hangar-effect{font:500 var(--type-label) / 1.3 var(--font-ui);color:var(--color-text-dim)}.hangar-pips{gap:4px;display:flex}.hangar-pip{background:var(--color-stroke);border-radius:1px;width:16px;height:5px}.hangar-pip.on{background:var(--color-accent)}.hangar-buy{min-width:84px;min-height:var(--size-touch);border:1px solid var(--color-pickup-gem);border-radius:var(--radius-sm);font:600 .875rem / 1 var(--font-ui);font-variant-numeric:tabular-nums;color:var(--color-text);background:0 0;flex:none;justify-content:center;align-items:center;gap:6px;padding:0 12px;display:flex}.hangar-buy-gem{width:14px;height:14px;color:var(--color-pickup-gem)}.hangar-buy.short{border-color:var(--color-stroke);color:var(--color-text-mute)}.hangar-buy.max{border-color:var(--color-stroke);color:var(--color-text-mute);letter-spacing:.12em;text-transform:uppercase}.hangar-buy.max .hangar-buy-gem{display:none}@media (max-height:700px){.hangar-ship{height:96px}.hangar-ship-art{width:64px;height:64px}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.daily-card{border:1px solid var(--color-stroke);border-radius:var(--radius-lg);background:var(--color-surface);flex-direction:column;gap:14px;padding:18px;display:flex}.daily-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.daily-date{font:600 var(--type-heading) / 1.2 var(--font-title);margin:0}.daily-resets{white-space:nowrap;font:500 .8125rem / 1.2 var(--font-ui);font-variant-numeric:tabular-nums;color:var(--color-text-dim)}.daily-about{font:400 .875rem / 1.45 var(--font-ui);color:var(--color-text-dim);margin:0}.daily-chips{flex-wrap:wrap;gap:8px;display:flex}.daily-chip{border:1px solid var(--color-accent);font:600 var(--type-label) / 1 var(--font-ui);color:var(--color-text);border-radius:999px;padding:6px 10px}.daily-stats{border-top:1px solid var(--color-stroke);justify-content:space-between;gap:16px;margin:0;padding-top:12px;display:flex}.daily-stat{flex-direction:column;justify-content:space-between;gap:2px;display:flex}.daily-stat:first-child{flex:none}.daily-stat.end{text-align:end;align-items:flex-end}.daily-stat dt{font:600 .6875rem / 1.2 var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-dim)}.daily-stat dd{font:600 1.125rem / 1.2 var(--font-title);font-variant-numeric:tabular-nums;margin:0}.daily-spacer{flex:1}.daily-play[aria-disabled=true]{border-color:var(--color-stroke);background:var(--color-surface);box-shadow:none;color:var(--color-text-mute)}.credits-body{flex-direction:column;gap:18px;display:flex}.credits-intro,.credits-note{font:400 var(--type-body) / 1.45 var(--font-ui);color:var(--color-text-dim);margin:0}.credits-section{flex-direction:column;gap:8px;display:flex}.credits-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.credit{border:1px solid var(--color-stroke);border-radius:var(--radius-md);background:var(--color-surface);padding:14px}.credit-name{font:600 var(--type-heading) / 1.2 var(--font-title);margin:0}.credit-licence{font:500 var(--type-label) / 1.3 var(--font-ui);color:var(--color-text-dim);margin:4px 0 8px}.credit-text summary{min-height:var(--size-touch);cursor:pointer;font:600 var(--type-label) / 1.3 var(--font-ui);color:var(--color-accent);align-items:center;display:flex}.credit-text pre{white-space:pre-wrap;max-height:240px;font:400 var(--type-label) / 1.45 var(--font-ui);color:var(--color-text-dim);margin:8px 0 0;overflow:auto}.doc{max-width:680px;padding:calc(env(safe-area-inset-top) + 24px) 20px calc(env(safe-area-inset-bottom) + 40px);font:400 var(--type-body) / 1.55 var(--font-ui);color:var(--color-text);margin:0 auto}.doc article+article{border-top:1px solid var(--color-stroke);margin-top:48px;padding-top:32px}.doc h1{font:600 var(--type-title) / 1.2 var(--font-title);margin:8px 0 4px}.doc h2{font:600 var(--type-heading) / 1.3 var(--font-title);margin:28px 0 8px}.doc-date{color:var(--color-text-dim)}.doc a:not(.screen-back){color:var(--color-accent)}.doc .screen-back{place-items:center;text-decoration:none;display:inline-grid}.doc .screen-back[hidden]{display:none}
