html,body{overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:#14110e;overflow:hidden}img,canvas{-webkit-user-drag:none}input,textarea,[data-selectable]{-webkit-user-select:text;user-select:text}.dm-root{--cream:#ede3c8;--green:#1f4d3a;--amber:#f2b544;--red:#b23a2e;--ghost:#8fd3ff;--soot:#2a2622;color:var(--soot);font-family:var(--font-inter), system-ui, sans-serif;background:#14110e;font-size:16px;position:fixed;inset:0;overflow:hidden}.dm-display{font-family:var(--font-josefin), var(--font-inter), system-ui, sans-serif;letter-spacing:-.01em;font-weight:700}.dm-stage,.dm-stage canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.dm-stage canvas{transition:filter 1.2s}.dm-root[data-gstate=dead] .dm-stage canvas{filter:grayscale()brightness(.55)}.dm-hud{pointer-events:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:absolute;inset:0}.dm-root[data-gstate=title] .dm-hud,.dm-root[data-cinema="1"] .dm-hud{visibility:hidden}.dm-hud>*{position:absolute}.dm-panel{background:var(--cream);border:3px solid var(--green);color:var(--soot);border-radius:8px}.dm-icon-btn{pointer-events:auto;left:12px;top:max(12px, env(safe-area-inset-top));cursor:pointer;touch-action:manipulation;place-items:center;width:44px;height:44px;transition:background-color .2s cubic-bezier(.22,1,.36,1),transform .2s cubic-bezier(.22,1,.36,1);display:grid}.dm-icon-btn:focus-visible,.dm-btn:focus-visible{outline:2px solid var(--amber);outline-offset:2px}@media (hover:hover){.dm-icon-btn:hover{background:color-mix(in oklch, var(--cream) 88%, var(--green));transform:translateY(-1px)}}.dm-icon-btn:active{transform:scale(.98)}.dm-dial{left:50%;top:max(8px, env(safe-area-inset-top));border-width:4px;border-radius:50%;width:72px;height:72px;margin-left:-36px}.dm-dial:before{content:"";background:repeating-conic-gradient(from 0deg, var(--soot) 0 1.5deg, transparent 1.5deg 30deg);opacity:.55;border-radius:50%;position:absolute;inset:5px;-webkit-mask:radial-gradient(circle,#0000 62%,#000 64%);mask:radial-gradient(circle,#0000 62%,#000 64%)}.dm-hand{background:var(--green);transform-origin:50% 100%;border-radius:2px;width:3px;height:26%;margin-left:-1.5px;position:absolute;bottom:50%;left:50%}.dm-dial.late{border-color:var(--red)}.dm-dial.late .dm-hand{background:var(--red)}.dm-clock{text-align:center;font-variant-numeric:lining-nums tabular-nums;white-space:nowrap;font-size:15px;line-height:1;position:absolute;bottom:9px;left:0;right:0}.dm-dial.late .dm-clock{color:var(--red)}.dm-scorebox{right:12px;top:max(12px, env(safe-area-inset-top));text-align:right;white-space:nowrap;min-width:92px;padding:6px 10px}.dm-scorebox small{letter-spacing:.08em;text-transform:uppercase;opacity:.8;font-size:11px;font-weight:600;display:block}.dm-scorebox b{font-variant-numeric:lining-nums tabular-nums;font-size:20px;line-height:1.1}.dm-combo{background:var(--amber);white-space:nowrap;border-radius:8px;margin-left:6px;padding:0 6px;font-size:12px;font-weight:700;display:none}.dm-combo[data-on="1"]{display:inline-block}.dm-zoomhost{pointer-events:none;inset:56px 0 0}.dm-cross{border:2px solid var(--amber);border-radius:50%;width:26px;height:26px;margin:-13px 0 0 -13px;transition:transform .12s ease-out,border-color .12s;top:50%;left:50%}.dm-cross:after{content:"";background:var(--amber);border-radius:50%;width:4px;height:4px;margin:-2px 0 0 -2px;position:absolute;top:50%;left:50%}.dm-cross.hit{border-color:#fff;transform:scale(1.5)}.dm-cross.low{border-color:var(--red);border-style:dashed}.dm-lantern{color:var(--ghost);white-space:nowrap;opacity:0;text-shadow:0 1px 4px #000;font-size:18px;top:calc(50% + 28px);left:50%;transform:translate(-50%)}.dm-lantern.flash{animation:.9s ease-out dm-flash}@keyframes dm-flash{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-14px)}}.dm-toast{text-align:center;opacity:0;max-width:min(90vw,420px);padding:6px 14px;font-weight:600;transition:opacity .2s;top:64%;left:50%;transform:translate(-50%)}.dm-toast[data-show="1"]{opacity:1}.dm-relight{white-space:nowrap;padding:4px 12px;font-weight:700;display:none;bottom:84px;left:50%;transform:translate(-50%)}.dm-relight[data-on="1"]{display:block}.dm-bar{white-space:nowrap;align-items:center;gap:8px;width:190px;padding:6px 10px;display:flex}.dm-bar svg{flex:none}.dm-track{background:color-mix(in oklch, var(--soot) 22%, var(--cream));border-radius:6px;flex:1;min-width:0;height:12px;position:relative;overflow:hidden}.dm-fill{border-radius:6px;width:100%;height:100%}.dm-hp .dm-fill{background:var(--green)}.dm-charge .dm-fill{background:var(--amber)}.dm-bar.low{border-color:var(--red)}.dm-bar.low .dm-fill{background:var(--red)}.dm-num{text-align:right;font-variant-numeric:lining-nums tabular-nums;min-width:2.3em;font-weight:700}.dm-hp{left:12px;bottom:max(14px, env(safe-area-inset-bottom))}.dm-charge{right:12px;bottom:max(14px, env(safe-area-inset-bottom))}.dm-hp.low svg{animation:.8s ease-in-out infinite dm-pulse}@keyframes dm-pulse{50%{transform:scale(1.25)}}.dm-fx{opacity:0;inset:0}.dm-vignette{background:radial-gradient(#0000 45%,#b23a2ebf 100%)}.dm-frost{background:radial-gradient(#0000 40%,#8fd3ffb3 100%)}.dm-debug{color:#fff;background:#0009;padding:2px 6px;font:12px/1.3 ui-monospace,monospace;top:12px;left:64px}.dm-touch{display:none}@media (pointer:coarse){.dm-touch{display:block}.dm-hp{top:calc(max(12px, env(safe-area-inset-top)) + 54px);width:138px;bottom:auto}.dm-charge{right:14px;bottom:calc(max(14px, env(safe-area-inset-bottom)) + 94px);width:128px}.dm-relight{bottom:150px}}.dm-stick{pointer-events:auto;left:18px;bottom:max(22px, env(safe-area-inset-bottom));touch-action:none;background:#ede3c82e;border:3px solid #ede3c880;border-radius:50%;width:128px;height:128px}.dm-knob{border:3px solid var(--green);background:#ede3c88c;border-radius:50%;width:56px;height:56px;margin:-28px 0 0 -28px;position:absolute;top:50%;left:50%}.dm-beam{pointer-events:auto;right:18px;bottom:max(22px, env(safe-area-inset-bottom));background:var(--amber);border:3px solid var(--green);width:76px;height:76px;color:var(--soot);touch-action:none;border-radius:50%;place-items:center;display:grid}.dm-beam:active{transform:scale(.96)}.dm-overlay{padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:#14110e80;place-items:center;display:grid;position:absolute;inset:0}.dm-overlay.title{background:linear-gradient(#14110e1a 40%,#14110e8c)}.dm-card{background:var(--cream);border:3px solid var(--green);width:100%;max-width:min(520px,100%);max-height:100%;color:var(--soot);overflow-wrap:anywhere;border-radius:8px;padding:clamp(20px,5vw,32px);overflow-y:auto}.dm-card h1,.dm-card h2{margin:0;line-height:1.1}.dm-brand{color:var(--green);margin:0 0 6px;font-size:clamp(34px,9vw,52px)}.dm-h1{font-size:clamp(18px,4.6vw,24px);margin-bottom:14px!important}.dm-muted{opacity:.85;margin:0 0 18px;line-height:1.5}.dm-row{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.dm-btn{border:3px solid var(--green);background:var(--cream);min-height:48px;color:var(--green);font:inherit;white-space:nowrap;cursor:pointer;touch-action:manipulation;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-weight:700;transition:background-color .2s cubic-bezier(.22,1,.36,1),transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s cubic-bezier(.22,1,.36,1);display:inline-flex}.dm-btn.primary{background:var(--amber);color:var(--soot)}@media (hover:hover){.dm-btn:hover{background:color-mix(in oklch, var(--cream) 86%, var(--green));transform:translateY(-1px);box-shadow:0 3px #1f4d3a66}.dm-btn.primary:hover{background:color-mix(in oklch, var(--amber) 90%, var(--soot))}}.dm-btn:active{transform:scale(.98)}.dm-btn:disabled{opacity:.55;cursor:default}.dm-hint{opacity:.8;margin:16px 0 0;font-size:14px;line-height:1.5}.dm-stat{border-bottom:1px solid color-mix(in oklch, var(--soot) 25%, transparent);font-variant-numeric:lining-nums tabular-nums;justify-content:space-between;gap:12px;padding:8px 0;display:flex}.dm-stat b{font-size:20px}.dm-record{background:var(--amber);white-space:nowrap;border-radius:8px;align-items:center;gap:6px;margin:8px 0 0;padding:2px 10px;font-weight:700;display:inline-flex}.dm-load{background:color-mix(in oklch, var(--soot) 22%, var(--cream));border-radius:5px;height:10px;overflow:hidden}.dm-load>i{background:var(--green);height:100%;transition:width .3s;display:block}.dm-sound-host{margin-top:4px}.dm-coach{pointer-events:none;position:absolute;inset:0}.dm-coach-ring{border:3px solid var(--amber);pointer-events:none;border-radius:14px;position:absolute;box-shadow:0 0 0 9999px #14110e99}.dm-coach-card{pointer-events:auto;width:min(360px,100% - 32px);padding:16px 18px;position:absolute;left:50%;transform:translate(-50%)}.dm-coach-card p{margin:0 0 4px;line-height:1.45}.dm-step{letter-spacing:.08em;text-transform:uppercase;opacity:.7;font-size:12px;font-weight:700}@media (prefers-reduced-motion:reduce){.dm-lantern.flash{opacity:1;animation:none}.dm-hp.low svg{animation:none}.dm-btn,.dm-icon-btn,.dm-cross,.dm-stage canvas{transition:none}}
