html,body,#root{height:100%;margin:0}body{color:#fff;background:#111;font-family:system-ui,sans-serif}.app{height:100%;position:relative;overflow:hidden}.ui-layer{pointer-events:none;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0}.hud,.panel{pointer-events:auto;color:#fff;background:#111111d9}.hud{box-sizing:border-box;border-radius:8px;align-self:flex-start;max-width:calc(100% - 16px);margin:8px;padding:8px 12px}.hud-list{flex-wrap:wrap;gap:4px 16px;margin:0;display:flex}.hud-stat{flex-direction:column;display:flex}.hud-label{text-transform:uppercase;opacity:.7;font-size:.7rem}.hud-value{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.panel{border-radius:12px 12px 0 0;flex-direction:column;max-height:50%;display:flex}.panel-toggle{min-height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0}.panel-body{padding:0 12px 12px;overflow-y:auto}.panel-body[hidden],.tab-content[hidden]{display:none}.tabs{gap:4px;display:flex;overflow-x:auto}.tab{min-height:44px;color:inherit;font:inherit;cursor:pointer;background:#2a2a2a;border:0;border-radius:6px;flex:1 0 auto;padding:0 12px}.tab[aria-selected=true]{background:#3b82f6}.tab:focus-visible,.panel-toggle:focus-visible{outline-offset:2px;outline:2px solid #fff}.badge{background:#444;border-radius:999px;padding:2px 8px;font-size:.75rem;display:inline-block}@media (width>=768px){.ui-layer{flex-direction:row;justify-content:space-between;align-items:stretch}.panel{border-radius:12px 0 0 12px;width:320px;max-height:none;margin:8px 0}.panel-toggle{text-align:left;padding:0 12px}.panel[data-open=false]{align-self:flex-start;width:auto}}@media (prefers-reduced-motion:no-preference){.tab{transition:background-color .15s}}.intro{z-index:10;box-sizing:border-box;background:#111;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0;overflow-y:auto}.intro-card{width:100%;max-width:520px;margin:auto}.intro-card h1{margin:12px 0;font-size:clamp(1.4rem,5vw,2rem)}.intro-lines{gap:8px;margin:0 0 20px;padding:0;list-style:none;display:grid}.intro-line{background:#222;border-radius:8px;padding:8px 12px}.intro-player{background:#1d3a2a}.intro-lang{justify-content:flex-end;gap:8px;display:flex}.intro-actions{flex-direction:column;gap:8px;display:flex}.intro button{color:#fff;min-height:44px;font:inherit;cursor:pointer;background:#222;border:1px solid #555;border-radius:8px;padding:8px 16px}.intro button:focus-visible{outline-offset:2px;outline:3px solid #ffd54a}.intro button[aria-pressed=true],.intro .intro-primary{color:#111;background:#f9c80e;border-color:#f9c80e;font-weight:600}.intro button:disabled{opacity:.55;cursor:not-allowed}.hud-reset{opacity:.7;cursor:pointer;margin-top:4px;font-size:.75rem}.shop-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.shop-item{background:#222;border-radius:8px;padding:8px}.shop-item[data-status=already_owned],.shop-item[data-status=max_level]{opacity:.75}.shop-name,.shop-section{margin:0 0 4px;font-size:1rem}.shop-section{margin-top:12px}.shop-desc,.shop-meta,.shop-notice{margin:0 0 4px;font-size:.85rem}.shop-notice:empty{display:none}.shop-notice[data-ok=false]{color:#fca5a5}.shop-foot{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.shop-price{font-variant-numeric:tabular-nums;font-weight:600}.shop-buy{color:#fff;min-width:64px;min-height:44px;font:inherit;cursor:pointer;background:#3b82f6;border:0;border-radius:6px;margin-left:auto;padding:0 16px}.shop-buy:disabled{color:#aaa;cursor:not-allowed;background:#444}.shop-buy:focus-visible{outline-offset:2px;outline:2px solid #fff}.goal-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.goal-item h3{margin:0 0 4px;font-size:1rem}.goal-bar{accent-color:#3b82f6;background:#2a2a2a;border:0;border-radius:999px;width:100%;height:12px;display:block;overflow:hidden}.goal-bar::-webkit-progress-bar{background:#2a2a2a}.goal-bar::-webkit-progress-value{background:#3b82f6}.goal-bar::-moz-progress-bar{background:#3b82f6}.goal-figures{font-variant-numeric:tabular-nums;margin:4px 0 0}
