:root{--bg:#1e1f22;--card:#2b2d31;--text:#f2f3f5;--muted:#b5bac1;--accent:#5865f2;--ok:#3ba55d;--err:#ed4245;--sans:"gg sans", "Helvetica Neue", Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--sans);margin:0}#app{justify-content:center;align-items:center;min-height:100%;padding:1.5rem;display:flex}.game-loaded,.game-loaded body,.game-loaded #app{width:100%;height:100%;min-height:0}.game-loaded body{overflow:hidden}.game-loaded #app{padding:0;display:block}.daily-frame{background:var(--bg);border:0;width:100%;height:100%;display:block}.loader{text-align:center;gap:0;width:min(380px,100%);animation:.3s ease-out pop;display:grid}.loader-brand{color:var(--muted);letter-spacing:0;text-transform:uppercase;justify-content:center;align-items:center;gap:.45rem;margin-bottom:.6rem;font-size:.82rem;font-weight:700;display:flex}.loader h1{color:var(--text);letter-spacing:0;margin:0 0 1.35rem;font-size:1.4rem;line-height:1.2}.progress-track{background:#111214;border:1px solid #41434a;border-radius:5px;width:100%;height:10px;overflow:hidden;box-shadow:inset 0 1px 2px #00000073}.progress-fill{background:var(--accent);border-radius:4px;width:0;height:100%;transition:width .24s ease-out;box-shadow:0 0 14px #5865f294}.progress-meta{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;margin-top:.55rem;font-size:.78rem;display:flex}.progress-meta strong{min-width:3ch;color:var(--text);font-size:.9rem}.card{background:var(--card);text-align:center;border-radius:18px;width:min(420px,100%);padding:2rem 1.5rem;animation:.3s ease-out pop;box-shadow:0 10px 30px #00000059}.avatar{object-fit:cover;border:3px solid var(--accent);border-radius:50%;width:88px;height:88px;margin-bottom:.5rem}.kicker{color:var(--muted);letter-spacing:.04em;margin:0 0 .75rem;font-size:.85rem}.card h1{color:var(--muted);margin:0;font-size:1rem;font-weight:500}.name{margin:.25rem 0 1rem;font-size:1.75rem;font-weight:800}.ok{color:var(--ok);margin:0;font-size:.9rem}.card.err h1{color:var(--err);font-size:1.2rem;font-weight:700}.card.err pre{white-space:pre-wrap;word-break:break-word;color:var(--text);text-align:left;background:#00000040;border-radius:10px;padding:.75rem;font-size:.85rem}.hint{color:var(--muted);font-size:.8rem}@keyframes pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media (width<=480px){#app{padding:1rem}.loader h1{font-size:1.2rem}}@media (prefers-reduced-motion:reduce){.loader,.card{animation:none}.progress-fill{transition:none}}
