:root,body{--sa-t:var(--discord-safe-area-inset-top,env(safe-area-inset-top,0px));--sa-r:var(--discord-safe-area-inset-right,env(safe-area-inset-right,0px));--sa-b:var(--discord-safe-area-inset-bottom,env(safe-area-inset-bottom,0px));--sa-l:var(--discord-safe-area-inset-left,env(safe-area-inset-left,0px));--bg:#12141c;--fg:#f4f1ea;--accent:#fc3;--panel:#141620eb;--spring:cubic-bezier(.34, 1.56, .64, 1)}[hidden]{display:none!important}html,body{background:var(--bg);height:100dvh;color:var(--fg);margin:0;font:16px/1.3 system-ui,sans-serif;overflow:hidden}body{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}#app{position:fixed;inset:0}#app canvas{width:100%;height:100%;display:block}#ui{z-index:6;pointer-events:none;padding:var(--sa-t) var(--sa-r) var(--sa-b) var(--sa-l);position:fixed;inset:0}#ui button{pointer-events:auto;font:700 16px var(--display);color:var(--h-ink);cursor:pointer;background:linear-gradient(180deg, var(--h-cream), var(--h-cream-d) 52%, var(--h-cream-s));border:4px solid var(--h-ink);min-width:44px;min-height:44px;box-shadow:0 7px 0 0 var(--h-ink);transition:translate .14s var(--spring), scale .14s var(--spring), box-shadow .14s;border-radius:14px;padding:10px 16px}#ui button.primary{background:linear-gradient(180deg, var(--h-gold-l), var(--h-gold) 52%, var(--h-gold-d))}#ui button:disabled{opacity:.6;cursor:default}@keyframes press{0%{translate:0;scale:1}to{translate:0 5px;scale:1.08 .88}}#ui button.press{box-shadow:0 2px 0 0 var(--h-ink);transition:none;animation:60ms ease-out press;translate:0 5px;scale:1.08 .88}@keyframes breathe{50%{scale:1.045 .97}}#ui button.primary:not(:disabled):not(.press){animation:1.6s ease-in-out infinite breathe}.panel{pointer-events:auto;background:var(--panel);border-radius:16px;gap:10px;width:min(340px,86vw);padding:18px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.title{text-align:center;margin:0;font-size:22px}.members{gap:6px;max-height:40dvh;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.members li{align-items:center;gap:8px;display:flex}.members li.you .name{color:var(--accent)}.av{border-radius:50%;width:28px;height:28px}.badge{opacity:.7;border:1px solid;border-radius:6px;padding:0 5px;font-size:12px}.link{opacity:.7;word-break:break-all;-webkit-user-select:text;user-select:text;pointer-events:auto;margin:0;font-size:12px}#ui button.corner{top:var(--sa-t);right:var(--sa-r);z-index:6;width:44px;min-width:0;height:44px;min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;place-items:center;padding:0;transition:opacity .12s;animation:none;display:grid;position:absolute}#ui button.corner:before{content:"";box-sizing:border-box;border:2px solid var(--h-gold);background:linear-gradient(180deg, var(--h-wood-l), var(--h-wood) 52%, var(--h-wood-d));width:24px;height:24px;box-shadow:0 0 0 1.5px var(--h-ink);border-radius:50%;position:absolute;top:7px;left:13px}#ui button.corner svg{position:relative}#ui button.corner.press{animation:none;translate:none;scale:.9}.behind1 #ui button.corner{opacity:.35}.menu{top:calc(var(--sa-t) + 42px);right:calc(var(--sa-r) + 4px);z-index:10;pointer-events:auto;border:4px solid var(--h-ink);background:linear-gradient(180deg, var(--h-wood-l), var(--h-wood) 52%, var(--h-wood-d));box-shadow:0 7px 0 var(--h-ink);border-radius:14px;gap:8px;padding:8px;display:flex;position:absolute}.icon{width:44px;height:44px;font-size:20px;padding:0!important}.banner{top:calc(var(--sa-t) + 56px);background:var(--panel);white-space:nowrap;border-radius:10px;padding:8px 14px;position:absolute;left:50%;transform:translate(-50%)}.fatal{pointer-events:auto;text-align:center;background:#000000bf;place-content:center;gap:12px;padding:24px;display:grid;position:absolute;inset:0}.perf{color:#0f0;z-index:9;pointer-events:none;background:#000a;padding:2px 4px;font:12px monospace;position:fixed;top:4px;left:4px}.shield{top:calc(var(--sa-t) + var(--sh-in));box-sizing:border-box;width:var(--sh-w);height:var(--sh-h);border:2px solid var(--h-wood-d);background:linear-gradient(180deg, var(--h-wood-l) 0%, var(--h-wood) 52%, var(--h-wood-d) 100%);z-index:5;pointer-events:none;font-family:var(--display);border-radius:9px;align-items:center;transition:opacity .12s;display:flex;position:fixed}.shield:after{content:"";box-shadow:inset 0 0 0 2px var(--h-gold);pointer-events:none;border-radius:7px;position:absolute;inset:0}.shield.s0{left:calc(var(--sa-l) + var(--sh-in))}.shield.s1{right:calc(var(--sa-r) + var(--sh-in));gap:3px}.shield.behind{opacity:.35}.shield .info{flex-direction:column;align-items:center;gap:2px;width:49px;margin-left:2px;display:flex}.shield .clk{font:700 14px/14px var(--display);color:var(--h-cream);-webkit-text-stroke:2px var(--h-wood-d);paint-order:stroke fill;font-variant-numeric:tabular-nums}.shield .clk i{text-align:center;width:8px;font-style:normal;display:inline-block}.shield .clk i.c{width:4px}.shield.s0 .n{margin-left:3px}.shield .n{isolation:isolate;width:30px;height:26px;font:700 26px/26px var(--display);color:var(--h-cream);-webkit-text-stroke:3px var(--h-wood-d);paint-order:stroke fill;font-variant-numeric:tabular-nums;flex:none;place-items:center;display:grid;position:relative}.shield.s0 .n:before{border-top-right-radius:7px}.shield.s1 .n:before{border-top-left-radius:7px}.shield .n:before{content:"";z-index:-1;background:var(--team);clip-path:polygon(0 0,100% 0,100% 72%,50% 100%,0 72%);position:absolute;inset:0}.shield .slot{flex:none;width:24px;height:24px}.shield .pips{flex:none;gap:3px;height:6px;display:flex}.shield .pips i{box-sizing:border-box;border:1px solid var(--h-ink);background:var(--h-wood-d);border-radius:50%;width:6px;height:6px}.shield .pips i.on{background:radial-gradient(circle at 35% 35%, var(--h-gold-l), var(--h-gold-d))}.shield .glow{box-shadow:0 0 0 2px var(--h-gold), 0 0 4px 0 var(--h-gold);opacity:0;pointer-events:none;border-radius:11px;position:absolute;inset:-2px}.pip{z-index:6;pointer-events:none;background:var(--h-ink);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);position:fixed;top:0;left:0}.pip i{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);position:absolute;inset:2.5px}.mpv{z-index:3;pointer-events:none;position:fixed;inset:0}.mpv i{position:absolute;inset:0}.chip{z-index:6;pointer-events:none;width:0;height:0;position:fixed;top:0;left:0}.chip>i{box-sizing:border-box;background:var(--h-cream);border:3px solid var(--h-gold);width:28px;height:28px;box-shadow:0 0 0 2px var(--h-ink), 0 0 8px var(--h-gold-l);border-radius:50%;place-items:center;display:grid;position:absolute;top:-14px;left:-14px}.chip>i>b{font:700 14px/1 var(--display);color:var(--h-wood-d)}.chip.team>i{background:var(--chip-team)}.chip.team>i>b{color:var(--h-cream);-webkit-text-stroke:2px var(--h-wood-d);paint-order:stroke fill}.icon.calm.on{box-shadow:inset 0 0 0 2px var(--h-gold)}.icon.calm:not(.on){opacity:.6}.flash{opacity:0;pointer-events:none;z-index:8;background:#fff;position:fixed;inset:0}.edge{opacity:0;pointer-events:none;z-index:7;position:fixed;inset:0;box-shadow:inset 0 0 36px 14px}.wash{opacity:0;pointer-events:none;z-index:4;position:fixed;inset:0}body[data-compact] .shield,body[data-compact] .pip,body[data-compact] .mpv,body[data-compact] .chip{display:none}:root{--S:clamp(26px, 9vh, 56px)}.callout,.rbanner{pointer-events:none;z-index:6;font-family:var(--display);letter-spacing:.02em;white-space:nowrap;text-align:center;font-weight:700;line-height:1;position:fixed;top:0;left:0}.callout{font-size:calc(var(--S) * var(--k,1));transform-origin:50% 0;will-change:transform;transform:translate(-50%)}.rbanner{opacity:0;will-change:transform, opacity}.cw{opacity:0;transform-origin:50% 0;will-change:transform, opacity;padding:max(2.5px,.1em) max(2.5px,.1em) calc(max(2.5px,.1em) + .1em);position:relative}.sa-probe{visibility:hidden;pointer-events:none;width:0;height:0;padding:0 var(--sa-r) var(--sa-b) var(--sa-l);position:fixed;top:0;left:0}.wf,.g,.rbanner{-webkit-text-stroke:max(5px, .2em) var(--c-outline);paint-order:stroke fill;text-shadow:0 .1em 0 var(--c-outline)}.w,.g{display:block}.w{position:relative}.g{color:var(--c-cream);-webkit-text-stroke-width:max(3px, .2em);font-size:.42em}.callout.t-cream .wf{color:var(--c-cream)}.callout.t-gold .wf{color:var(--c-gold)}.callout.t-team0 .wf{color:var(--c-team0)}.callout.t-team1 .wf{color:var(--c-team1)}.wl{color:var(--c-gold-d);clip-path:inset(56% 0 0);display:none;position:absolute;inset:0}.callout.t-gold .wl{display:block}.sp{opacity:0;width:0;height:0;position:absolute;top:50%;left:50%}.sp b{background:var(--c-gold);width:.2em;height:.2em;position:absolute;top:-.1em;left:-.1em}.rbanner{--bn:clamp(34px, 11.7vh, 73px);left:50%;top:calc(100% - var(--sa-b) - 1.65 * var(--bn));font-size:var(--bn);color:var(--c-red);-webkit-text-stroke-color:var(--c-cream);transform:translate(-50%,-50%)rotate(-3deg)}.redge{opacity:0;pointer-events:none;z-index:7;color:var(--c-red);position:fixed;inset:0;box-shadow:inset 0 0 48px 18px}.lines{pointer-events:none;z-index:3;width:100%;height:100%;position:fixed;top:0;left:0}.glow,.rglow{opacity:0;pointer-events:none;z-index:8;position:fixed;inset:0}.corners{opacity:0;pointer-events:none;z-index:7;position:fixed;inset:0}.corners>i{background:radial-gradient(ellipse at center, transparent 50%, var(--c-ink) 130%);opacity:.55;position:absolute;inset:0}.corners.near>i{opacity:.4}body[data-compact] .callout,body[data-compact] .rbanner,body[data-compact] .lines{display:none}.dev{left:calc(var(--sa-l) + 4px);top:calc(var(--sa-t) + 40px);color:#ffe14d;z-index:9;pointer-events:none;white-space:pre;background:#000a;padding:2px 4px;font:12px/1.3 monospace;position:fixed}.stick{box-sizing:border-box;pointer-events:none;border:2px solid #ffffff59;border-radius:50%;width:112px;height:112px;margin:-56px 0 0 -56px;position:absolute}.knob{background:#ffffff59;border-radius:50%;width:44px;height:44px;margin:-22px 0 0 -22px;position:absolute;top:50%;left:50%}.pad{pointer-events:none;position:absolute;inset:0}#ui .pad button{box-sizing:border-box;border:4px solid var(--h-ink);touch-action:none;pointer-events:none;opacity:.9;background:linear-gradient(180deg, var(--h-cream), var(--h-cream-d) 52%, var(--h-cream-s));box-shadow:0 7px 0 0 var(--h-ink), inset 0 0 0 4px var(--h-wood), inset 0 0 0 6px var(--h-gold);border-radius:50%;place-items:center;padding:0;display:grid;position:absolute}#ui .pad button.strike{background:linear-gradient(180deg, var(--h-gold-l), var(--h-gold) 52%, var(--h-gold-d))}#ui .pad button.press{box-shadow:0 2px 0 0 var(--h-ink), inset 0 0 0 4px var(--h-wood), inset 0 0 0 6px var(--h-gold)}#ui .pad button.pulse:after{content:"";border:3px solid var(--h-gold);pointer-events:none;border-radius:50%;animation:.7s ease-out infinite pulse;position:absolute;inset:-4px}@keyframes pulse{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.35)}}.tapfx{z-index:11;pointer-events:none;width:0;height:0;position:fixed;top:0;left:0}.tapfx i{background:var(--h-gold);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);width:12px;height:12px;animation:.45s ease-out forwards tapstar;position:absolute;top:-6px;left:-6px}@keyframes tapstar{0%{transform:rotate(var(--a)) translateY(0) rotate(0deg) scale(1.2)}to{transform:rotate(var(--a)) translateY(-36px) rotate(40deg) scale(0)}}@media (prefers-reduced-motion:reduce){#ui button{transition:none}#ui button.press,#ui .pad button.press{animation:none;scale:1}#ui button.primary:not(:disabled):not(.press){animation:none}#ui .pad button.pulse:after{opacity:.8;animation:none}.tapfx{display:none}}.rotate{z-index:20;background:var(--bg);pointer-events:auto;place-items:center;display:none;position:fixed;inset:0}@media (orientation:portrait){.rotate{display:grid}}body[data-compact] .rotate{display:none!important}.rotate svg{width:96px;height:96px;animation:1.6s infinite turn}@keyframes turn{0%,20%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}@media (prefers-reduced-motion:reduce){.rotate svg{animation:none;transform:rotate(-90deg)}}body[data-compact] #ui{visibility:hidden}.results{pointer-events:auto;text-align:center;text-shadow:0 2px 8px #000a;z-index:6;place-content:center;justify-items:center;gap:min(3.5vh,18px);padding:8px;display:grid;position:absolute;inset:0}.results .rscore{font-variant-numeric:tabular-nums;align-items:baseline;gap:.35em;font-size:min(22vh,132px);font-weight:800;line-height:1;display:flex}.results .rscore .dash{opacity:.6}.results .tiles{gap:min(2vw,14px);display:flex}.results .tile{box-sizing:border-box;background:#0a0c149e;border-radius:12px;justify-items:center;gap:2px;min-width:min(24vw,150px);padding:min(1.8vh,10px) min(1.6vw,12px);display:grid}.results .tile.me{box-shadow:inset 0 0 0 2px var(--accent)}.results .tile .icon{font-size:min(5vh,26px);line-height:1}.results .tile .v{font-variant-numeric:tabular-nums;font-size:min(8vh,40px);font-weight:800;line-height:1.1}.results .tile .v small{opacity:.8;font-size:.4em;font-weight:600}.results .tile .who{min-height:1.3em;font-size:min(3.4vh,16px);font-weight:700}#ui .results button.primary{min-width:7em;font-size:min(5vh,24px)}.devctl{right:calc(var(--sa-r) + 8px);top:calc(var(--sa-t) + 56px);z-index:9;pointer-events:auto;color:#ffe14d;flex-direction:column;align-items:flex-end;gap:4px;font:11px/1.3 monospace;display:flex;position:fixed}.devctl>button{color:#ffe14d;cursor:pointer;background:#000a;border:1px solid #ffe14d88;border-radius:6px;padding:3px 8px;font:11px monospace}.devbody{box-sizing:border-box;width:232px;max-height:calc(100vh - var(--sa-t) - var(--sa-b) - 250px);background:#000d;border-radius:8px;padding:6px 8px;overflow-y:auto}.devbody label{grid-template-columns:78px 1fr 40px;align-items:center;gap:6px;margin:3px 0;display:grid}.devbody label>:nth-child(2):last-child{grid-column:2/4;justify-self:start}.devbody input[type=range]{width:100%;min-width:0;margin:0}.devbody select{grid-column:2/4;min-width:0;font:11px monospace}.devbody b{text-align:right;font-weight:400}.devnote{color:#ff9e7a;margin-top:4px}.devbody select{box-sizing:border-box;width:100%}@media (height<=500px){.dev{font-size:9px}.devctl,.devctl>button,.devbody select{font-size:10px}.devbody label{margin:1px 0}}
