:root{--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body{margin:0;height:100%;background:#0c130e;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;color:#fff}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:92px;height:92px;right:22px;bottom:calc(34px + var(--sab))}#roll{width:62px;height:62px;right:124px;bottom:calc(30px + var(--sab))}#stick{position:fixed;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;border:2px solid rgba(255,255,255,.3);background:#ffffff12;pointer-events:none;left:86px;top:calc(100% - 100px - var(--sab))}#knob{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:#ffffff8c}.dmg{position:fixed;pointer-events:none;font-weight:800;font-size:18px;color:#fff;text-shadow:0 2px 0 #000;transform:translate(-50%,-50%)}.panel{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(#080c0926,#080c098c);pointer-events:none}.panel h1{margin:0;font-size:44px;line-height:.95;letter-spacing:.04em;text-shadow:0 4px 0 #000}.panel h1 em{font-style:normal;color:#ffc3d6}.panel p{margin:10px 0 0;font-size:13px;opacity:.9;text-shadow:0 2px 0 #000}.panel .tap{margin-top:34px;font-size:18px;font-weight:800;animation:blink 1.1s steps(2) infinite}@keyframes blink{50%{opacity:0}}#dead{display:none;background:#28060c73}#toast{left:50%;transform:translate(-50%);top:calc(120px + var(--sat));background:#0c0a10d9;padding:9px 12px;border-radius:6px;font-size:12px;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:scale(1.3);transition:opacity .25s,transform .25s}.wavebanner.on{opacity:1;transform:none}.wavebanner h3{margin:0;font-size:clamp(28px,9vw,46px);font-weight:800;letter-spacing:.08em;color:#fff;text-shadow:0 4px 0 #000}.wavebanner small{display:block;margin-top:4px;font-size:12px;font-weight:800;letter-spacing:.2em;color:#ffe08a;text-shadow:0 2px 0 #000}.wavebanner.boss h3{color:#ffd36b}.dmg.crit{font-size:24px;text-shadow:0 3px 0 #000,0 0 10px rgba(255,190,60,.8);animation:critpop .25s ease-out}@keyframes critpop{0%{transform:translate(-50%,-50%) scale(1.8)}to{transform:translate(-50%,-50%) scale(1)}}button,a,input,label,[data-tap]{touch-action:manipulation}:root{--t-bg:#0f1a12;--t-ink:#ffffff;--t-dim:rgba(255,255,255,.62);--t-gold:#ffe08a;--t-gold-d:rgba(255,224,138,.45);--t-band:rgba(255,224,138,.12);--t-line:rgba(255,255,255,.18);--t-card:rgba(10,18,12,.55);--t-btn:rgba(255,224,138,.07);--t-shade:rgba(12,19,14,.94);--t-red:#ff6b5a;--t-font:ui-monospace,"SF Mono",Menlo,Consolas,monospace}:root{--hud-ink:#ffffff;--hud-track:rgba(20,10,14,.55);--hud-line-shadow:0 1px 0 rgba(0,0,0,.5);--hud-text-shadow:0 2px 0 #000;--hud-hp:#e8434f;--hud-hp-lag:#ffd36b;--hud-st:#7fd06a;--hud-vit-w:140px;--hud-heart:15px;--hud-heart-gap:3px;--hud-ebar:#e8434f;--hud-ebar-rage:#ff7a2a;--hud-bleed:#ff3a4a;--hud-boss-name:#ffe08a;--hud-boss-h:6px;--hud-ebar-h:3px;--hud-boss-ls:.14em;--hud-status-size:10px;--hud-status-ls:.18em;--hud-status-op:.9;--hud-face:32px;--hud-face-r:7px;--hud-face-bg:rgba(16,14,22,.42);--hud-face-line:rgba(255,255,255,.5);--hud-face-lw:2px;--hud-ring-w:2.5;--hud-accent:#ffd36b;--hud-accent-d:rgba(255,211,107,.55);--hud-accent-bg:rgba(255,211,107,.1);--hud-veil:rgba(8,12,9,.5);--hud-sheet:rgba(16,22,18,.95);--hud-sheet-line:rgba(255,255,255,.2);--hud-sheet-r:8px;--hud-pack-bg:rgba(16,14,22,.42);--hud-pack-line:rgba(255,255,255,.5)}#packbtn .face svg{width:16px;height:16px}#fs{display:none}#dead.on{display:flex}#status .st-line{font-weight:800}#boss .n{font-weight:800;text-transform:uppercase}#boss .b{border:2px solid #000}#pack h4,#pack header b{font-weight:800}
