:root{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#f7eee2;background:#100c11;--panel: rgba(22, 12, 18, .84);--panel-line: rgba(255, 160, 100, .25);--accent: #ffc85a;--primary: #e0622e;--primary-line: #ffb07a;--muted: #c9a995;--good: #7dff9e;--bad: #ff7a6a}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#100c11;touch-action:none}button,input{font:inherit}#game,#game>.viewport,#game>.ui{position:fixed;inset:0}#game>.ui{pointer-events:none}#game>.ui>*{pointer-events:auto}.screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;gap:14px;padding:max(20px,env(safe-area-inset-top)) 16px max(20px,env(safe-area-inset-bottom));overflow-y:auto;background:linear-gradient(180deg,#10080cb8,#10080c59 45%,#10080ccc)}.screen.dim{background:#10080c9e;backdrop-filter:blur(3px)}.screen>.spacer{flex:1;min-height:8px}.screen h1{margin:0;font-size:clamp(38px,11vw,72px);font-weight:900;letter-spacing:.02em;text-align:center;text-shadow:0 3px 18px rgba(255,120,40,.55),0 2px 2px rgba(0,0,0,.6);animation:title-glow 3.6s ease-in-out infinite alternate}.screen h2{margin:0;font-size:clamp(26px,7vw,40px);font-weight:800;text-align:center;text-shadow:0 2px 6px rgba(0,0,0,.7)}.screen p{margin:0;text-align:center;color:#ecd5c4;text-shadow:0 1px 3px rgba(0,0,0,.8)}.screen .victory{color:var(--good)}.screen .defeat{color:var(--bad)}.menu{display:grid;gap:12px;width:min(320px,100%)}.btn{position:relative;overflow:hidden;isolation:isolate;display:block;width:100%;padding:14px 16px;border:2px solid rgba(255,255,255,.18);border-radius:14px;background:linear-gradient(180deg,#40262eeb,#22141aeb);box-shadow:0 4px 14px #00000059,inset 0 1px #ffffff1a;color:#fff;font-size:18px;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:transform .16s ease,box-shadow .2s ease,border-color .2s ease}.btn:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.24) 50%,transparent 70%);transform:translate(-120%);pointer-events:none}@media (hover: hover){.btn:hover:not(:disabled){transform:translateY(-2px);border-color:var(--primary-line);box-shadow:0 9px 22px #00000073,0 0 18px #ff8c4647,inset 0 1px #ffffff24}.btn:hover:not(:disabled):after{animation:btn-sheen .7s ease}.btn.ghost:hover:not(:disabled){box-shadow:none;color:#fff}}.btn:active:not(:disabled){transform:translateY(1px) scale(.97);transition-duration:.06s}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.btn.primary{background:linear-gradient(180deg,#f5853f,var(--primary));border-color:var(--primary-line);box-shadow:0 6px 20px #e0622e59;animation:btn-glow 2.6s ease-in-out infinite}.btn.primary:after{animation:btn-sheen-loop 4.2s ease-in-out 1.2s infinite}.menu>.btn{animation:btn-in .5s cubic-bezier(.2,.8,.2,1) backwards}.menu>.btn.primary{animation:btn-in .5s cubic-bezier(.2,.8,.2,1) backwards,btn-glow 2.6s ease-in-out .5s infinite}.menu>.btn:nth-child(2){animation-delay:.07s}.menu>.btn:nth-child(3){animation-delay:.14s}.menu>.btn:nth-child(4){animation-delay:.21s}.menu>.btn:nth-child(5){animation-delay:.28s}@keyframes btn-in{0%{opacity:0;transform:translateY(16px) scale(.96)}}@keyframes btn-glow{0%,to{box-shadow:0 6px 20px #e0622e59,inset 0 1px #ffffff40}50%{box-shadow:0 6px 30px #ff8c46b3,0 0 0 3px #ffb07a38,inset 0 1px #ffffff59}}@keyframes btn-sheen{0%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes btn-sheen-loop{0%{transform:translate(-120%)}30%,to{transform:translate(120%)}}@keyframes title-glow{0%{text-shadow:0 3px 18px rgba(255,120,40,.5),0 2px 2px rgba(0,0,0,.6)}to{text-shadow:0 3px 28px rgba(255,150,60,.85),0 0 4px rgba(255,210,150,.45),0 2px 2px rgba(0,0,0,.6)}}.btn.danger{background:#8e2a2a;border-color:#ef9a9a}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted);font-size:16px}.btn:disabled{opacity:.55;cursor:default}.topbar{display:flex;justify-content:space-between;align-items:center;width:100%;gap:8px}.chip{max-width:70vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:8px 12px;border:1px solid var(--panel-line);border-radius:999px;background:var(--panel);color:#f2dcc8;font-size:15px;font-weight:700;cursor:pointer;transition:transform .15s ease,border-color .2s ease,background-color .2s ease}@media (hover: hover){.chip:hover{transform:translateY(-1px);border-color:var(--primary-line)}}.chip:active{transform:scale(.95)}.card{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;width:min(360px,100%);padding:20px;border:1px solid var(--panel-line);border-radius:16px;background:var(--panel);backdrop-filter:blur(6px)}.card label{display:grid;gap:4px;color:var(--muted);font-size:13px;font-weight:700}.card input{width:100%;padding:11px 13px;border:2px solid #4a3a40;border-radius:10px;background:#140c10;color:#fff;font-size:16px;outline:none}.card input:focus{border-color:var(--primary-line)}.message{min-height:20px;margin:0;font-size:14px;color:var(--bad);text-align:left}.message.ok{color:var(--good)}.card .text{color:#ecd5c4;font-size:15px;line-height:1.4;text-align:left}.screen .debug-note{max-width:360px;padding:6px 12px;border-radius:10px;background:#0000008c;color:#9ff0c0;font-size:13px;font-weight:700}.levels{display:grid;gap:10px;width:min(360px,100%)}.level{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left}.level small{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.level[data-theme=skyline]{border-color:#78b4ff59}.level[data-theme=mountain]{border-color:#c8d6e266}.level[data-theme=village]{border-color:#8cc86e66}.level[data-theme=ice]{border-color:#96e6ff73}.level[data-cleared=true] small:after{content:" ✓";color:var(--good)}.level-row{display:flex;gap:8px}.level-row .level{flex:1;min-width:0}.level-row .unlock{flex:none;width:auto;padding-inline:14px}.screen h3{margin:8px 0 0;font-size:18px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.setting input[type=range]{flex:1 1 110px;width:auto;min-width:0;max-width:180px;margin:0;padding:0;border:0;background:transparent;accent-color:var(--primary)}.setting>span{flex:none}.setting{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:38px;color:#ecd5c4;font-weight:700}.toggle{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.toggle .chip[aria-pressed=true]{background:var(--primary);border-color:var(--primary-line);color:#fff}.board{width:min(520px,100%);min-height:120px;border:1px solid var(--panel-line);border-radius:14px;background:var(--panel);overflow:hidden;display:flex;flex-direction:column}.board .rows{overflow-y:auto;max-height:55vh}.board .row,.board .head,.board .own{display:grid;grid-template-columns:3.2em 1fr 3.8em 7.4em;gap:8px;padding:7px 12px;font-size:15px;font-variant-numeric:tabular-nums}.board .head{color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.board .row:nth-child(odd){background:#ffffff08}.board .row[data-self=true]{background:#ffc85a2e;color:#ffe680}.board .own{border-top:1px solid var(--panel-line);font-weight:800;background:#ffffff0f}.board .num,.board .score{text-align:right}.board .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board .status{padding:24px 12px;color:var(--muted);text-align:center}#game>.ui>.hud{position:absolute;inset:0;pointer-events:none;text-shadow:0 1px 3px rgba(0,0,0,.85)}.hud>*{pointer-events:auto}.hud .top{position:absolute;top:max(10px,env(safe-area-inset-top));left:10px;right:10px;display:flex;align-items:flex-start;gap:10px;pointer-events:none}.hud .skip{position:absolute;left:50%;bottom:max(28px,env(safe-area-inset-bottom));transform:translate(-50%);padding:6px 14px;border-radius:999px;background:#10080c8c;color:#f2dcc8;font-size:14px;font-weight:700;pointer-events:none;animation:skip-pulse 1.4s ease-in-out infinite}@keyframes skip-pulse{50%{opacity:.55}}.hud .pause{flex:none;width:42px;height:42px;border:2px solid rgba(255,255,255,.45);border-radius:10px;background:#0006;color:#fff;font-size:16px;font-weight:900;cursor:pointer;pointer-events:auto}.hud .scores{display:grid;gap:2px;white-space:nowrap;font-variant-numeric:tabular-nums}.hud .scores .total{font-size:15px;font-weight:800}.hud .scores .current{font-size:14px;font-weight:700;color:#fd5}.hud .right{margin-left:auto;display:grid;gap:5px;justify-items:end}.hud .strength{display:flex;align-items:center;gap:6px;padding:3px 14px 3px 10px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:#10080c8c;font-size:26px;font-weight:900;line-height:1.1;font-variant-numeric:tabular-nums}.hud .strength:before{content:"";width:20px;height:20px;background:currentColor;opacity:.85;mask:radial-gradient(circle at 34% 30%,#000 18%,transparent 19%),radial-gradient(circle at 70% 30%,#000 18%,transparent 19%),radial-gradient(ellipse 34% 30% at 34% 90%,#000 98%,transparent 100%),radial-gradient(ellipse 34% 30% at 70% 90%,#000 98%,transparent 100%)}.hud .strength.up{animation:strength-up .45s ease-out}.hud .strength.down{animation:strength-down .45s ease-out}@keyframes strength-up{0%{color:var(--good);transform:scale(1.18)}}@keyframes strength-down{0%{color:var(--bad);transform:scale(1.18)}}.hud .lives{color:#ff8a80;font-size:19px;font-weight:800;letter-spacing:.04em}.hud .tier{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#ffd9a8}.hud .upgrades{font-size:12px;font-weight:700;color:#ffd66b}.hud .center{position:absolute;top:calc(max(10px,env(safe-area-inset-top)) + 48px);left:50%;transform:translate(-50%);display:grid;gap:5px;justify-items:center;pointer-events:none}.hud .boss{width:min(320px,70vw);height:10px;border-radius:999px;background:#14080acc;overflow:hidden}.hud .boss>i{display:block;height:100%;background:linear-gradient(90deg,#ff5a4a,#ffb347)}.hud [hidden]{display:none}.hud .debug{position:absolute;left:10px;bottom:max(10px,env(safe-area-inset-bottom));padding:4px 8px;border-radius:6px;background:#0000008c;color:#9ff0c0;font:12px/1.3 ui-monospace,monospace;pointer-events:none}.fatal{position:absolute;inset:0;display:grid;place-content:center;padding:24px;text-align:center;color:var(--bad);font-weight:700}@media (min-width: 900px){.hud .strength{font-size:36px}}.screen .attempts{color:#ff8a80;font-size:20px;font-weight:800;letter-spacing:.08em}.screen .attempts-left{color:#ffd0c8;font-weight:700}.screen .run-note{max-width:360px;color:var(--muted);font-size:13px}.score-breakdown{display:grid;gap:4px;width:min(300px,100%);padding:10px 14px;border:1px solid var(--panel-line);border-radius:12px;background:var(--panel);font-variant-numeric:tabular-nums}.score-breakdown .row{display:flex;justify-content:space-between;gap:12px;color:#ecd5c4;font-size:15px}.score-breakdown .row.total{margin-top:4px;padding-top:6px;border-top:1px solid var(--panel-line);color:var(--accent);font-size:18px;font-weight:800}@media (prefers-reduced-motion: reduce){.btn,.btn:after,.chip,.screen h1{animation:none!important;transition:none!important}}
