:root{--accent:#ffb347;--bg1:#0a1628;--bg2:#123a5c;--text:#f4f6fb;--muted:#ffffff9e;--panel:#ffffff12;--panel-2:#ffffff1c;--radius:18px;--font:ui-rounded, "SF Pro Rounded", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--text);font-family:var(--font);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;margin:0;overflow:hidden}body{background:radial-gradient(120% 90% at 50% 0%, var(--bg2), var(--bg1) 70%);transition:background .6s}#app{justify-content:center;align-items:flex-start;height:100dvh;display:flex}#game{flex-direction:column;gap:6px;width:min(100vw,480px,72.73dvh - 129.459px);padding:8px 8px 0;transition:filter .4s,opacity .4s;display:flex}#game.dim{filter:blur(3px)saturate(.6);opacity:.55}#hud{background:var(--panel);border-radius:var(--radius);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid #ffffff14;flex-direction:column;gap:6px;padding:10px 14px;display:flex}.hud-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.hud-stage{flex-direction:column;line-height:1.1;display:flex}#hud-stage-label{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:12px}#hud-stage-name{font-size:18px;font-weight:800}.hud-hearts{gap:2px;font-size:18px;display:flex}.hud-hearts .lost{opacity:.22;filter:grayscale()}.hud-score{letter-spacing:-.02em;align-items:baseline;gap:4px;font-size:24px;font-weight:900;display:flex}.hud-sep{color:var(--muted);font-weight:500}#hud-target{color:var(--muted);font-size:18px;font-weight:600}#hud-score-word{color:var(--muted);margin-left:4px;font-size:12px;font-weight:500}.hud-combo{color:var(--accent);min-height:18px;text-shadow:0 0 12px var(--accent);font-size:15px;font-weight:800}.hud-progress{background:#ffffff1a;border-radius:6px;height:8px;overflow:hidden}#hud-bar{background:linear-gradient(90deg, var(--accent), #fff);width:0;height:100%;box-shadow:0 0 14px var(--accent);border-radius:6px;transition:width .35s cubic-bezier(.2,.9,.3,1.1)}.hud-relics{flex-wrap:wrap;gap:4px;min-height:0;font-size:16px;display:flex}.hud-relics span{background:var(--panel-2);cursor:help;border-radius:8px;padding:1px 5px}.hud-relics:empty{display:none}canvas#board{aspect-ratio:480/660;touch-action:none;border-radius:22px;width:100%;display:block;box-shadow:0 20px 50px #00000073}.actions{justify-content:center;gap:8px;padding:2px 0 8px;display:flex}.chip{font:inherit;color:var(--text);background:var(--panel);cursor:pointer;border:1px solid #ffffff1a;border-radius:999px;padding:9px 14px;font-size:14px;font-weight:700;transition:transform .15s,background .15s}.chip:hover:not(:disabled){background:var(--panel-2);transform:translateY(-1px)}.chip:active:not(:disabled){transform:scale(.96)}.chip:disabled{opacity:.4;cursor:default}.chip b{color:var(--accent)}.hidden{display:none!important}.overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;background:#0308109e;justify-content:center;align-items:center;padding:16px;animation:.25s fade;display:flex;position:fixed;inset:0;overflow:auto}.card{background:linear-gradient(160deg,#ffffff1f,#ffffff0a);border:1px solid #ffffff24;border-radius:26px;flex-direction:column;gap:12px;width:min(94vw,460px);max-height:calc(100dvh - 32px);padding:26px 24px;animation:.4s cubic-bezier(.2,.9,.3,1.15) pop;display:flex;overflow:auto;box-shadow:0 30px 80px #0000008c}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--accent);font-size:12px;font-weight:800}.card-title{letter-spacing:-.02em;font-size:28px;font-weight:900;line-height:1.1}.hint{color:var(--muted);margin:0;font-size:14px}.btn{font:inherit;color:var(--text);background:var(--panel-2);cursor:pointer;border:1px solid #ffffff1f;border-radius:14px;padding:13px 18px;font-size:16px;font-weight:800;transition:transform .15s,filter .15s,background .15s}.btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.btn:active{transform:scale(.97)}.btn.primary{background:var(--accent);color:#111;box-shadow:0 10px 30px color-mix(in srgb, var(--accent) 45%, transparent);border-color:#0000}.btn.big{padding:16px 20px;font-size:18px}.btn.icon{flex:none;padding:13px 14px}.btn.danger{color:#ff8a80}.row{gap:8px;display:flex}.row .btn{flex:1}.logo{letter-spacing:-.04em;gap:8px;font-size:40px;font-weight:900;line-height:1;display:flex}.logo-b{color:var(--accent);text-shadow:0 0 24px var(--accent)}.subtitle{color:var(--muted);margin:-6px 0 2px}.themes{flex-direction:column;gap:8px;display:flex}.theme{text-align:left;font:inherit;color:var(--text);background:var(--panel);cursor:pointer;border:2px solid #ffffff14;border-radius:16px;padding:12px 14px;transition:border-color .2s,background .2s,transform .15s}.theme:hover{background:var(--panel-2)}.theme.selected{border-color:var(--ta);background:color-mix(in srgb, var(--ta) 14%, transparent)}.theme-name{font-size:17px;font-weight:900}.theme-tag{color:var(--ta);margin-top:2px;font-size:12px;font-weight:700}.theme-desc{color:var(--muted);margin-top:6px;font-size:13px;line-height:1.35;display:none}.theme.selected .theme-desc{display:block}.stats{color:var(--muted);text-align:center;font-size:12px}.story .story-title{color:var(--accent);font-size:22px;font-weight:900}.story p{opacity:0;margin:0;font-size:17px;line-height:1.5;animation:.6s forwards fadeUp}.story .btn{opacity:0;align-self:flex-end;animation:.5s forwards fadeUp}.relic-list{flex-direction:column;gap:8px;display:flex}.relic{text-align:left;font:inherit;color:var(--text);background:var(--panel);cursor:pointer;opacity:0;border:2px solid #ffffff14;border-radius:16px;align-items:center;gap:12px;padding:12px 14px;transition:transform .15s,border-color .15s,background .15s;animation:.45s forwards fadeUp;display:flex}.relic:hover:not(:disabled){border-color:var(--accent);background:var(--panel-2);transform:translateY(-2px)}.relic:disabled{cursor:default;opacity:.55}.relic.owned{border-color:color-mix(in srgb, var(--accent) 60%, transparent);opacity:.9}.relic-icon{text-align:center;flex:none;width:40px;font-size:30px}.relic-name{font-size:16px;font-weight:900}.relic-name em{color:var(--accent);margin-left:6px;font-size:12px;font-style:normal;font-weight:600}.relic-desc{color:var(--muted);margin-top:2px;font-size:13px;line-height:1.35}.stat-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.stat-grid div{background:var(--panel);text-align:center;border-radius:12px;flex-direction:column;padding:10px 4px;display:flex}.stat-grid b{font-size:20px}.stat-grid span{color:var(--muted);font-size:11px}.relic-row{flex-wrap:wrap;gap:6px;font-size:22px;display:flex}.seed{color:var(--muted);font-family:ui-monospace,monospace;font-size:11px}.chron-list{flex-direction:column;gap:10px;max-height:55dvh;padding-right:4px;display:flex;overflow:auto}.chron{background:var(--panel);border-radius:14px;padding:12px 14px}.chron.locked{opacity:.45}.chron-title{color:var(--accent);margin-bottom:6px;font-weight:900}.chron p{margin:0 0 8px;font-size:14px;line-height:1.45}.chron p:last-child{margin-bottom:0}.toast{color:var(--text);opacity:0;pointer-events:none;z-index:20;text-align:center;background:#0a0e18e6;border:1px solid #ffffff24;border-radius:999px;max-width:92vw;padding:10px 16px;font-size:14px;font-weight:700;transition:transform .35s cubic-bezier(.2,.9,.3,1.2),opacity .3s;position:fixed;top:14px;left:50%;transform:translate(-50%,-30px)}.toast.show{opacity:1;transform:translate(-50%)}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:translateY(18px)scale(.96)}to{opacity:1;transform:none}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (width<=400px){.card{padding:20px 16px}.card-title{font-size:24px}.logo{font-size:34px}}
