:root{--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--serif:"Cinzel","Trajan Pro",Georgia,"Times New Roman",serif}*{box-sizing:border-box}html,body{margin:0;height:100%;background:#05070c;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;font-family:var(--serif);color:#e9e2d0}canvas{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;display:block}#touch{position:fixed;inset:0}.hud{position:fixed;pointer-events:none}#atk{width:88px;height:88px;right:20px;bottom:calc(30px + var(--sab))}#roll{width:58px;height:58px;right:118px;bottom:calc(24px + var(--sab))}#stick{position:fixed;width:116px;height:116px;margin:-58px 0 0 -58px;border-radius:50%;border:1px solid rgba(233,226,208,.28);background:#e9e2d00d;pointer-events:none;left:84px;top:calc(100% - 96px - var(--sab))}#knob{position:absolute;left:50%;top:50%;width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:50%;background:#e9e2d073}.dmg{position:fixed;pointer-events:none;font-size:17px;font-weight:700;color:#e9e2d0;text-shadow:0 2px 2px #000;transform:translate(-50%,-50%)}.banner{position:fixed;left:0;right:0;top:42%;transform:translateY(-50%);text-align:center;pointer-events:none;opacity:0;transition:opacity .9s;padding:26px 0;background:linear-gradient(90deg,transparent,rgba(0,0,0,.78) 18%,rgba(0,0,0,.78) 82%,transparent)}.banner h2{margin:0;font-weight:500;letter-spacing:.12em;font-size:clamp(30px,10vw,58px)}#died h2{color:#9c1b1b;text-shadow:0 0 18px rgba(156,27,27,.45)}#felled h2{color:#d8bf72;font-size:clamp(22px,7vw,40px);text-shadow:0 0 14px rgba(216,191,114,.35)}#died p{margin:14px 0 0;font-size:12px;letter-spacing:.3em;opacity:.75}.panel{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;background:radial-gradient(ellipse at center,#05070c1a,#05070cbf)}.panel h1{margin:0;font-weight:500;font-size:clamp(34px,11vw,64px);letter-spacing:.14em;line-height:1.05;text-shadow:0 0 22px rgba(0,0,0,.9)}.panel h1 small{display:block;font-size:.28em;letter-spacing:.22em;opacity:.7;margin-top:10px}.panel p{margin:8px 0 0;font-size:11px;letter-spacing:.2em;opacity:.7}.panel .tap{margin-top:46px;font-size:14px;letter-spacing:.4em;animation:pulse 2.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.25}}#toast{left:50%;transform:translate(-50%);top:calc(110px + var(--sat));background:#05070ce0;border:1px solid #6d6250;padding:9px 12px;font-size:11px;letter-spacing:.06em;display:none;max-width:90vw;text-align:center}#atk,#roll{display:none!important}.ripple{position:fixed;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;border:2px solid rgba(255,255,255,.55);pointer-events:none;animation:rip .42s ease-out forwards}@keyframes rip{0%{transform:scale(.4);opacity:.9}to{transform:scale(1.5);opacity:0}}.swipefx{position:fixed;width:70px;height:3px;margin-top:-1.5px;transform-origin:0 50%;pointer-events:none;background:linear-gradient(90deg,#fff0,#ffffffd9);animation:swf .36s ease-out forwards}@keyframes swf{0%{opacity:1}to{opacity:0}}.padring{position:fixed;width:74px;height:74px;margin:-37px 0 0 -37px;border-radius:50%;pointer-events:none;border:2px solid rgba(255,255,255,.4);background:radial-gradient(circle,#ffffff1f,#fff0 70%);opacity:0;transition:opacity .12s}.padring.on{opacity:1}.padring.kick{animation:padkick .3s ease-out}@keyframes padkick{0%{transform:scale(1.45);border-color:#fff}to{transform:scale(1)}}.wavebanner{position:fixed;left:0;right:0;top:30%;text-align:center;pointer-events:none;opacity:0;transform:translateY(8px);transition:opacity .45s,transform .45s;padding:14px 0;background:linear-gradient(90deg,transparent,rgba(0,0,0,.6) 25%,rgba(0,0,0,.6) 75%,transparent)}.wavebanner.on{opacity:1;transform:none}.wavebanner h3{margin:0;font-weight:500;font-size:clamp(20px,6.5vw,34px);letter-spacing:.3em;color:#e9e2d0;text-shadow:0 0 12px rgba(0,0,0,.8)}.wavebanner small{display:block;margin-top:6px;font-size:10px;letter-spacing:.42em;opacity:.75}.wavebanner.boss h3{color:#e2b85a;font-size:clamp(24px,8vw,44px);text-shadow:0 0 18px rgba(255,120,30,.45)}.dmg.crit{font-weight:700;text-shadow:0 0 8px rgba(255,170,40,.7),0 2px 2px #000;animation:critpop .25s ease-out}@keyframes critpop{0%{transform:translate(-50%,-50%) scale(1.7)}to{transform:translate(-50%,-50%) scale(1)}}button,a,input,label,[data-tap]{touch-action:manipulation}:root{--t-bg:#05070c;--t-ink:#ddd4bf;--t-dim:rgba(221,212,191,.55);--t-gold:#c9a85a;--t-gold-d:rgba(201,168,90,.42);--t-band:rgba(201,168,90,.12);--t-line:rgba(221,212,191,.15);--t-card:rgba(9,11,15,.6);--t-btn:rgba(201,168,90,.06);--t-shade:rgba(5,7,12,.95);--t-red:#b8423a;--t-font:var(--serif)}:root{--hud-ink:#e9e2d0;--hud-track:rgba(5,6,10,.5);--hud-line-shadow:0 1px 0 rgba(0,0,0,.55);--hud-text-shadow:0 1px 2px #000;--hud-hp:#a3282c;--hud-hp-lag:rgba(201,177,106,.6);--hud-st:#5f8a4c;--hud-vit-w:128px;--hud-hp-h:3px;--hud-st-h:2px;--hud-gap:4px;--hud-ebar:#a3282c;--hud-ebar-rage:#e0702e;--hud-bleed:#d8283a;--hud-boss-name:#d8c99e;--hud-boss-h:4px;--hud-face:32px;--hud-face-bg:rgba(6,7,11,.38);--hud-face-line:rgba(233,226,208,.28);--hud-face-lw:1px;--hud-accent:#e8cf8a;--hud-accent-d:rgba(232,207,138,.45);--hud-accent-bg:rgba(232,207,138,.08);--hud-veil:rgba(3,4,7,.55);--hud-sheet:rgba(9,10,14,.94);--hud-sheet-line:rgba(233,226,208,.14);--hud-sheet-r:2px}#fs{display:none}#died.on{opacity:1}
