:root{--ink:#f4ece0;--ink-dim:#b9ad9c;--gold:#e8b64c;--gold-hot:#ffd479;--blood:#c0392b;--panel:#0e0c12b8;--panel-edge:#e8b64c59;--ui-font:"Trebuchet MS", "Avenir Next", "Segoe UI", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--ui-font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background:#0a0a0d;margin:0;padding:0;overflow:hidden}#game{width:100%;height:100%;display:block;position:absolute;inset:0}#hud,#screens,#touch{pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}#hud{padding:max(14px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) 0 max(18px, env(safe-area-inset-left));font-variant-numeric:tabular-nums;text-shadow:0 2px 6px #000c;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.hud-left,.hud-right{background:linear-gradient(#0a090e80,#0a090e42);border-radius:12px;flex-direction:column;gap:6px;padding:10px 14px;display:flex;box-shadow:0 6px 22px #00000047}.hud-right{align-items:flex-end}.hud-row{align-items:center;gap:8px;display:flex}.hud-hearts{letter-spacing:2px;color:var(--blood);font-size:26px;line-height:1}.hud-hearts .lost{color:#ffffff2e}.hud-stone{background:0 0;border:2px solid #f4ece0a6;border-radius:50% 45% 52% 48%;width:30px;height:30px;transition:background-color .12s linear,border-color .12s linear,transform .12s ease-out}.hud-stone.filled{background:#a8a29a;border-color:#d8d2c8;box-shadow:inset -3px -4px 6px #00000073}.hud-stone.blocked{border-color:var(--blood);background:#c0392b8c;transform:scale(1.25)}.hud-label{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);font-size:12px}.hud-value{font-size:22px;font-weight:700}.hud-level{color:var(--gold);letter-spacing:.05em;font-size:18px;font-weight:700}#screens>.screen{pointer-events:auto;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:24px;animation:.35s ease-out both fade-in;display:flex;position:absolute;inset:0}.screen.dim{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:radial-gradient(circle at 50% 45%,#08060c8c,#040306e6)}.screen.transparent{pointer-events:none;background:0 0}.panel{pointer-events:auto;background:var(--panel);border:1px solid var(--panel-edge);border-radius:14px;flex-direction:column;align-items:center;gap:14px;max-width:min(560px,92vw);padding:26px 34px;display:flex;box-shadow:0 24px 60px #0000008c}h1,h2{margin:0;line-height:1.05}h2{color:var(--gold);letter-spacing:.04em;font-size:clamp(24px,4.2vw,40px)}.lead{color:var(--ink);max-width:46ch;margin:0;font-size:clamp(15px,2vw,19px)}.sub{color:var(--ink-dim);letter-spacing:.05em;margin:0;font-size:14px}.stats{font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:center;gap:22px;display:flex}.stat{flex-direction:column;gap:2px;min-width:92px;display:flex}.stat .k{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);font-size:11px}.stat .v{font-size:26px;font-weight:700}button{font-family:inherit}.btn{pointer-events:auto;cursor:pointer;border:1px solid var(--panel-edge);color:var(--ink);letter-spacing:.12em;text-transform:uppercase;background:linear-gradient(#e8b64c38,#e8b64c0f);border-radius:10px;padding:13px 26px;font-size:16px;font-weight:700;transition:transform .12s ease-out,background-color .12s linear,border-color .12s linear}.btn:hover,.btn:focus-visible{border-color:var(--gold-hot);background:linear-gradient(#ffd47957,#e8b64c1f);outline:none;transform:translateY(-1px)}.btn:active{transform:translateY(1px)}.btn.primary{background:linear-gradient(180deg, var(--gold), #c8922f);color:#221a0c;border-color:var(--gold-hot);padding:15px 34px;font-size:18px}.btn.ghost{background:#ffffff0d;padding:10px 18px;font-size:13px}.btn-row{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}#screens>.screen.title{background:linear-gradient(#06050ac7 0%,#06050a40 38%,#06050a4d 62%,#06050adb 100%);justify-content:space-between;padding:clamp(20px,5vh,56px) 24px clamp(18px,4vh,40px)}.title-banner{flex-direction:column;align-items:center;gap:10px;animation:.9s cubic-bezier(.2,1.3,.4,1) both banner-drop;display:flex}.title-kicker{letter-spacing:.55em;text-transform:uppercase;color:var(--gold);opacity:0;font-size:clamp(11px,1.6vw,14px);animation:.8s ease-out .5s both fade-in}.title-main{letter-spacing:.02em;text-transform:uppercase;color:#0000;filter:drop-shadow(0 5px #00000080)drop-shadow(0 0 26px #e8b64c52);font-size:clamp(38px,9.5vw,108px);font-weight:900;position:relative}.title-main .word{--d:0s;background-image:linear-gradient(105deg, transparent 38%, #ffffffe6 48%, transparent 58%), linear-gradient(180deg, #fff5dd 0%, var(--gold) 52%, #8a5a1c 100%);color:#0000;animation:.7s cubic-bezier(.18,1.4,.35,1) both word-in,5s ease-in-out infinite sheen;animation-delay:var(--d), calc(var(--d) + 1.2s);background-position:190% 0,0 0;background-repeat:no-repeat;background-size:260% 100%,100% 100%;-webkit-background-clip:text;background-clip:text;display:inline-block}.title-main .word:first-child{--d:50ms}.title-main .word:nth-child(2){--d:.16s}.title-main .word:nth-child(3){--d:.27s}.title-rule{color:var(--gold);opacity:0;align-items:center;gap:12px;animation:.9s ease-out .75s both fade-in;display:flex}.title-rule:before,.title-rule:after{content:"";background:linear-gradient(90deg, transparent, var(--gold), transparent);width:clamp(40px,12vw,150px);height:1px}.title-rune{font-size:20px;animation:7s linear infinite rune-spin}.title-tagline{color:var(--ink);letter-spacing:.06em;text-shadow:0 2px 10px #000000d9;opacity:0;margin:0;font-size:clamp(14px,2.1vw,20px);animation:1s ease-out .9s both fade-in}.title-menu{pointer-events:auto;flex-direction:column;align-items:center;gap:14px;width:min(1180px,94vw);animation:.8s ease-out .55s both fade-in;display:flex}.title-menu .btn.primary{animation:2.6s ease-in-out infinite pulse-glow}.level-acts{flex-direction:column;gap:14px;width:100%;display:flex}.level-act{flex-direction:column;gap:8px;display:flex}.act-title{letter-spacing:.28em;text-transform:uppercase;color:var(--gold);text-align:center;opacity:.85;margin:0;font-size:11px;font-weight:700}.level-cards{grid-template-columns:repeat(var(--cols,6), minmax(0, 1fr));gap:10px;width:100%;display:grid}@media (width<=1080px){.level-cards{--cols:4}}@media (width<=720px){.level-cards{--cols:3}}@media (width<=520px){.level-cards{--cols:2}}.level-card{pointer-events:auto;cursor:pointer;text-align:left;background:var(--panel);min-width:0;color:var(--ink);border:1px solid #ffffff29;border-radius:12px;flex-direction:column;gap:5px;padding:11px 13px 13px;transition:transform .16s ease-out,border-color .16s linear,box-shadow .16s linear;animation:.55s cubic-bezier(.2,1.2,.4,1) both card-rise;display:flex;position:relative;overflow:hidden}.level-card:nth-child(6n+1){animation-delay:.66s}.level-card:nth-child(6n+2){animation-delay:.72s}.level-card:nth-child(6n+3){animation-delay:.78s}.level-card:nth-child(6n+4){animation-delay:.84s}.level-card:nth-child(6n+5){animation-delay:.9s}.level-card:nth-child(6n){animation-delay:.96s}.level-card:before{content:"";background:var(--accent,var(--gold));height:4px;position:absolute;inset:0 0 auto}.level-card:hover,.level-card:focus-visible{border-color:var(--accent,var(--gold));outline:none;transform:translateY(-4px);box-shadow:0 14px 34px #00000080}.level-card .lc-no{letter-spacing:.24em;text-transform:uppercase;color:var(--ink-dim);font-size:11px}.level-card .lc-name{letter-spacing:.02em;font-size:17px;font-weight:800}.level-card .lc-meta{color:var(--ink-dim);flex-wrap:wrap;gap:10px;font-size:12px;display:flex}.level-card .lc-pips{gap:3px;margin-top:2px;display:flex}.level-card .lc-pips i{background:var(--accent,var(--gold));opacity:.9;border-radius:2px;width:12px;height:5px}.level-card .lc-pips i.off{background:#ffffff2e}.title-footer{flex-direction:column;align-items:center;gap:8px;animation:1s ease-out 1.15s both fade-in;display:flex}.controls-hint{color:var(--ink-dim);letter-spacing:.05em;flex-wrap:wrap;justify-content:center;gap:14px;font-size:12px;display:flex}.controls-hint kbd{color:var(--ink);border:1px solid #ffffff47;border-bottom-width:2px;border-radius:5px;margin-right:4px;padding:2px 6px;font-family:inherit;font-size:11px}.coffee-link{pointer-events:auto;letter-spacing:.06em;color:var(--gold);background:#e8b64c12;border:1px solid #e8b64c66;border-radius:999px;align-items:center;gap:7px;padding:5px 13px;font-size:12px;text-decoration:none;transition:background .2s,border-color .2s,transform .2s;display:inline-flex}.coffee-link:hover,.coffee-link:focus-visible{background:#e8b64c2e;border-color:#e8b64cbf;transform:translateY(-1px)}.coffee-link .coffee-cup{font-size:13px;animation:2.8s ease-in-out infinite coffee-steam}@keyframes coffee-steam{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-2px)rotate(-7deg)}}.countdown{color:var(--gold);text-shadow:0 0 40px #e8b64c80;font-size:clamp(70px,18vw,190px);font-weight:900;animation:.9s ease-out both count-pop}.countdown.go{color:#eaf7d8;text-shadow:0 0 46px #beff968c}#touch{padding:0 max(16px, env(safe-area-inset-left)) max(22px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-right));justify-content:space-between;align-items:flex-end;gap:12px;display:none}@media (pointer:coarse){#touch{display:flex}}.touch-btn{pointer-events:auto;touch-action:none;cursor:pointer;width:84px;height:84px;color:var(--ink);background:#1412188c;border:1px solid #ffffff47;border-radius:50%;font-size:26px;font-weight:700}.touch-btn.touch-throw{letter-spacing:.14em;border-color:var(--panel-edge);background:#e8b64c38;width:110px;height:110px;font-size:16px}.touch-btn.held{background:#ffd47966}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes banner-drop{0%{opacity:0;transform:translateY(-38px)scale(.94)}to{opacity:1;transform:none}}@keyframes word-in{0%{opacity:0;transform:translateY(26px)rotate(-4deg)}to{opacity:1;transform:none}}@keyframes card-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes sheen{0%,38%{background-position:190% 0,0 0}72%,to{background-position:-90% 0,0 0}}@keyframes rune-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 #ffd47980}50%{box-shadow:0 0 26px 6px #ffd47938}}@keyframes count-pop{0%{opacity:0;transform:scale(1.7)}60%{opacity:1;transform:scale(1)}to{opacity:.85;transform:scale(.96)}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:10ms!important;animation-iteration-count:1!important}}
