:root{--safe-area-inset-top: env(safe-area-inset-top, 0px);--safe-area-inset-right: env(safe-area-inset-right, 0px);--safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);--safe-area-inset-left: env(safe-area-inset-left, 0px);color:#f7efe0;background:#080d1b;font-family:ui-sans-serif,system-ui,sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}button,output{font:inherit}#app{position:relative;background:radial-gradient(circle at 50% 30%,#1a2d54 0,#080d1b 65%)}#pixi-host,#pixi-host canvas{display:block;width:100%;height:100%}#boot-shell{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:grid;place-content:center;gap:.75rem;padding:max(1.5rem,var(--safe-area-inset-top)) max(1.5rem,var(--safe-area-inset-right)) max(1.5rem,var(--safe-area-inset-bottom)) max(1.5rem,var(--safe-area-inset-left));text-align:center;pointer-events:none}#boot-shell h1,#boot-shell p{margin:0}#retry-startup{justify-self:center;padding:.65rem 1rem;border:1px solid currentColor;border-radius:999px;color:inherit;background:#182647;pointer-events:auto;cursor:pointer}#retry-startup[hidden],#diagnostic-player-panel[hidden]{display:none}#app[data-phase=ready] #boot-shell{visibility:hidden}#diagnostic-player-panel{position:absolute;z-index:2;right:max(1rem,var(--safe-area-inset-right));bottom:max(1rem,var(--safe-area-inset-bottom));left:max(1rem,var(--safe-area-inset-left));display:grid;gap:.8rem;max-width:1180px;margin-inline:auto;padding:1rem;border:1px solid rgb(126 232 189 / 22%);border-radius:1rem;background:#070c1aeb;box-shadow:0 18px 70px #00000061;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}#diagnostic-player-panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}#diagnostic-player-panel h1,#diagnostic-player-panel p{margin:0}.diagnostic-kicker{color:#7ce8bd;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}#diagnostic-title{font-size:clamp(1.05rem,2vw,1.5rem)}.diagnostic-badge{padding:.35rem .55rem;border:1px solid #f5c96a;border-radius:999px;color:#f5c96a;font-size:.7rem;letter-spacing:.08em;white-space:nowrap}.diagnostic-route,.diagnostic-note{color:#9aa8c7;font-size:.78rem}.diagnostic-route code{color:#d8e2f5}#diagnostic-status{display:block;min-height:1.45rem;color:#d8e2f5;font-weight:650}#diagnostic-status[data-tone=success]{color:#7ce8bd}#diagnostic-status[data-tone=warning]{color:#f5c96a}#diagnostic-status[data-tone=error]{color:#ff9a9a}.diagnostic-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem}.diagnostic-actions button{min-height:2.75rem;padding:.65rem .8rem;border:1px solid #455678;border-radius:.7rem;color:#f6f2e9;background:#17223c;cursor:pointer}.diagnostic-actions button:hover:not(:disabled),.diagnostic-actions button:focus-visible{border-color:#7ce8bd;outline:2px solid rgb(124 232 189 / 45%);outline-offset:2px}.diagnostic-actions button.primary{border-color:#48ca97;color:#061810;background:#7ce8bd;font-weight:800}.diagnostic-actions button.warning:not(:disabled){border-color:#f5c96a;color:#f5c96a}.diagnostic-actions button:disabled{opacity:.42;cursor:not-allowed}.diagnostic-observations{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin:0}.diagnostic-observations div{min-width:0;padding:.55rem .65rem;border:1px solid rgb(92 110 148 / 28%);border-radius:.65rem;background:#1826479e}.diagnostic-observations dt{color:#8e9cba;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.diagnostic-observations dd{margin:.22rem 0 0;overflow:hidden;color:#f6f2e9;font-family:ui-monospace,monospace;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}@media(max-width:760px){#diagnostic-player-panel{gap:.62rem;max-height:min(52vh,29rem);overflow:auto;padding:.8rem}.diagnostic-route,.diagnostic-note{display:none}.diagnostic-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.diagnostic-actions button.primary{grid-column:span 1}.diagnostic-actions button.warning{grid-column:1 / -1}.diagnostic-observations{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
