:root{--indigo-deep:#232028;--indigo:#2b2340;--persimmon:#f08a3c;--lamp:#ffd38a;--cream:#fbf8f2;--ink:#232028;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%;background:var(--ink);color:var(--cream);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}#stage{position:relative;width:100%;height:100%}#game-root canvas{display:block;margin:0 auto}#ui-root{z-index:10;top:var(--safe-top);right:var(--safe-right);bottom:var(--safe-bottom);left:var(--safe-left);pointer-events:none}#ui-root,.panel{position:absolute}.panel{pointer-events:auto;top:50%;left:50%;transform:translate(-50%,-50%);max-width:min(440px,calc(100vw - 24px));background:color-mix(in srgb,var(--indigo-deep) 92%,transparent);border:2px solid var(--persimmon);border-radius:10px;padding:16px 18px;min-width:220px;box-shadow:0 10px 30px rgb(0 0 0/45%)}.panel:focus{outline:none}.panel h2{margin:0 0 8px;font-size:16px;letter-spacing:.02em}.panel p{margin:0 0 12px;font-size:13px;line-height:1.45;color:color-mix(in srgb,var(--cream) 78%,transparent)}.panel a.button,.panel button{pointer-events:auto;display:inline-block;font:inherit;font-size:13px;color:var(--ink);background:var(--persimmon);border:0;border-radius:6px;padding:9px 14px;min-height:44px;cursor:pointer;text-decoration:none}.panel a:focus-visible,.panel button:focus-visible{outline:3px solid var(--cream);outline-offset:2px}.panel__close{margin-top:4px}.panel__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.panel__note{font-size:12px;font-style:italic;color:color-mix(in srgb,var(--cream) 60%,transparent)}.score-screen{position:fixed;z-index:5;overflow:hidden;border-radius:4px;background:var(--cream);box-shadow:0 0 0 2px color-mix(in srgb,var(--ink) 70%,transparent)}.score-screen__leave{position:fixed;z-index:6;min-height:32px;padding:6px 14px;border:2px solid var(--persimmon);border-radius:999px;background:color-mix(in srgb,var(--indigo-deep) 92%,transparent);color:var(--cream);font:inherit;font-size:13px;cursor:pointer;transition:opacity .18s ease}@media (max-width:899px){body.score-focused .account{display:none}}.score-screen__leave:focus-visible{outline:2px solid var(--lamp);outline-offset:2px}.account{pointer-events:auto;position:absolute;top:16px;right:16px;display:flex;align-items:center;gap:8px;background:color-mix(in srgb,var(--indigo-deep) 92%,transparent);border:2px solid var(--persimmon);border-radius:999px;padding:6px 8px 6px 14px}.account__name{font-size:13px;font-weight:600}.account button{pointer-events:auto;font:inherit;font-size:12px;min-height:44px;padding:8px 14px;border:0;border-radius:999px;background:var(--persimmon);color:var(--ink);cursor:pointer}#loading{position:absolute;inset:0;z-index:20;display:grid;place-content:center;justify-items:center;gap:14px;padding:24px;background:var(--ink);text-align:center;transition:opacity .24s ease}#loading[hidden]{display:none}#loading.is-leaving{opacity:0;pointer-events:none}.loading__title{margin:0;font-size:clamp(22px,6vw,36px);font-weight:700;letter-spacing:.04em;color:var(--cream)}.loading__track{width:min(320px,70vw);height:8px;border-radius:999px;background:color-mix(in srgb,var(--cream) 14%,transparent);overflow:hidden}.loading__bar{width:0;height:100%;border-radius:999px;background:var(--persimmon);transition:width .16s ease-out}.loading__status{margin:0;font-size:13px;color:color-mix(in srgb,var(--cream) 70%,transparent)}#top-stack{position:absolute;top:16px;left:50%;transform:translateX(-50%);align-items:center;width:min(420px,calc(100% - 32px));pointer-events:none}#notices,#top-stack{display:flex;flex-direction:column;gap:8px}#notices{order:0;width:100%}.notice{pointer-events:auto;display:flex;align-items:center;gap:10px;background:color-mix(in srgb,var(--indigo-deep) 94%,transparent);border:2px solid var(--lamp);border-radius:10px;padding:10px 10px 10px 14px;font-size:13px;line-height:1.4;box-shadow:0 10px 30px rgb(0 0 0/45%)}.notice__text{flex:1;margin:0}.notice__dismiss{pointer-events:auto;flex:none;font:inherit;font-size:12px;min-height:44px;padding:8px 12px;border:0;border-radius:6px;background:color-mix(in srgb,var(--cream) 14%,transparent);color:var(--cream);cursor:pointer}.notice__dismiss:focus-visible{outline:3px solid var(--cream);outline-offset:2px}#orientation-hint{order:1;display:none;align-items:center;gap:10px;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:auto;background:color-mix(in srgb,var(--indigo-deep) 94%,transparent);border:2px solid var(--persimmon);border-radius:999px;padding:8px 8px 8px 16px;font-size:13px}@media (orientation:portrait) and (pointer:coarse){#orientation-hint:not([hidden]){display:flex}}#orientation-hint p{margin:0}#orientation-hint button{font:inherit;font-size:12px;min-height:44px;padding:8px 14px;border:0;border-radius:999px;background:var(--persimmon);color:var(--ink);cursor:pointer}@media (max-width:560px){.panel{width:min(360px,calc(100vw - 24px));min-width:0}.account{top:8px;right:8px;padding:4px 6px 4px 10px;gap:6px}.account__name{max-width:32vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#top-stack{top:66px;left:8px;right:8px;width:auto;transform:none}#orientation-hint{width:auto;justify-content:center}}@media (prefers-reduced-motion:reduce){#loading,.loading__bar{transition:none}}