:root{--ink:#30463d;--ink-2:#657166;--parchment:#fffcf3;--parchment-2:#ede9d8;--forest:#2d5948;--forest-2:#3e725b;--gold:#f3ca72;--gold-2:#986021;--green:#4b8568;--green-2:#2e604a;--blue:#5a86a2;--blue-2:#3c6079;--orange:#e6a168;--orange-2:#965422;--red:#c66455;--red-2:#874336;--top:max(12px, env(safe-area-inset-top));--bottom:max(18px, env(safe-area-inset-bottom))}html,body{height:100%;color:var(--ink);background:#edf3e7;margin:0;font-family:Mitr,system-ui,sans-serif;overflow:hidden}#stage{touch-action:none;cursor:grab;width:100%;height:100%;display:block}[hidden],.hidden{display:none!important}button,input{-webkit-tap-highlight-color:transparent;font-family:inherit}button{touch-action:manipulation}button:focus-visible,input:focus-visible{outline:3px solid var(--forest);outline-offset:4px}#topbar{top:var(--top);left:max(16px, env(safe-area-inset-left));right:max(16px, env(safe-area-inset-right));pointer-events:none;z-index:25;justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed}#topbarActions{pointer-events:auto;align-items:center;gap:8px;display:flex}#gameMenuBtn{cursor:pointer;background:var(--parchment);min-height:48px;color:var(--ink);border:2px solid #c9d8bd;border-radius:17px;padding:0 12px;font-size:.85rem;font-weight:700;box-shadow:0 4px #aec5a6}#gameMenuBtn:active{box-shadow:none;transform:translateY(4px)}#turn{background:var(--parchment);border:2px solid #c9d8bd;border-radius:20px;align-items:center;gap:10px;min-width:0;max-width:min(76vw,540px);min-height:48px;padding:5px 16px 5px 5px;display:flex;box-shadow:0 4px #aec5a6,0 8px 20px #183b2920}#turn:has(#hud:empty){display:none}#hudFace{object-fit:cover;object-position:50% 8%;background:var(--forest-2);border:2px solid var(--ink);border-radius:50%;flex:none;width:40px;height:40px}#hud{overflow-wrap:anywhere;font-size:.95rem;font-weight:500;line-height:1.5}#queue{flex-direction:column;gap:4px;width:max-content;max-width:min(60vw,260px);display:flex;position:absolute;top:calc(100% + 8px);left:0}#queue:empty{display:none}#turn{position:relative}.qrow{background:var(--parchment);opacity:.82;border:2px solid #c9d8bd;border-radius:14px;align-items:center;gap:8px;padding:3px 10px 3px 3px;font-size:.8rem;line-height:1.3;display:flex;box-shadow:0 3px #aec5a6}.qrow img{object-fit:cover;object-position:50% 8%;background:var(--forest-2);border:2px solid var(--ink);border-radius:50%;flex:none;width:26px;height:26px}.qrow span{white-space:nowrap;font-weight:500}.qrow b{color:var(--ink);white-space:nowrap;background:#e3ecd8;border-radius:10px;padding:1px 7px;font-size:.7rem;font-weight:700}.qrow b:empty{display:none}.qrow.now{opacity:1;border-color:#f2bd77;box-shadow:0 3px #d39a53,0 0 0 2px #f2bd7755}.qrow.now b{background:#f2bd77}.qrow.skip{opacity:.7}.qrow.skip span{-webkit-text-decoration:line-through #d9534f;text-decoration:line-through #d9534f;text-decoration-thickness:2px}.qrow.skip b{color:#a12a25;background:#ffd8d6}#netBadge{pointer-events:auto;background:var(--parchment);color:var(--ink-2);white-space:nowrap;font-variant-numeric:tabular-nums;border:2px solid #c9d8bd;border-radius:999px;align-self:center;padding:3px 9px;font-size:.68rem;font-weight:500;line-height:1.5}#netBadge.warn{color:var(--gold-2);border-color:#e8d09a}#netBadge.bad{color:var(--red);border-color:#e6b4ab}#muteBtn{pointer-events:auto;cursor:pointer;background:var(--parchment);border:2px solid #c9d8bd;border-radius:17px;flex:none;place-items:center;width:48px;height:48px;padding:0;display:grid;box-shadow:0 4px #aec5a6}#muteBtn:active{box-shadow:0 0 0 var(--ink);transform:translateY(4px)}#muteBtn svg{width:24px;height:24px;color:var(--ink)}#muteBtn .speaker-body{fill:currentColor}#muteBtn .sound-wave{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round}#muteBtn .mute-slash-bg,#muteBtn .mute-slash{fill:none;stroke-linecap:round;display:none}#muteBtn.off .sound-wave{display:none}#muteBtn.off .mute-slash-bg,#muteBtn.off .mute-slash{display:block}#muteBtn.off .mute-slash-bg{stroke:var(--parchment);stroke-width:5px}#muteBtn.off .mute-slash{stroke:currentColor;stroke-width:2.2px}#muteBtn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}#flash{pointer-events:none;z-index:15;opacity:0;position:fixed;inset:0}#flash.flashing{animation:.55s ease-out flash}@keyframes flash{0%{opacity:1}to{opacity:0}}#shout{z-index:15;pointer-events:none;text-align:center;text-shadow:0 3px #21362c,0 0 18px #0e1f18cc;width:max-content;max-width:min(92vw,560px);position:fixed;top:18vh;left:50%;transform:translate(-50%)}#shoutWhat{color:#fffdf5;font-size:clamp(1.7rem,8.5vw,3.1rem);font-weight:600;line-height:1.2}#shoutWhat .lead{opacity:.9;font-size:.5em;font-weight:500;line-height:1.3;display:block}#shoutWhat .pname{font-weight:600;display:block}#shoutWho{color:var(--gold);font-size:clamp(.85rem,3.6vw,1.15rem);font-weight:500;line-height:1.5}#shoutWho:empty{display:none}#shout.go{animation:2.4s cubic-bezier(.2,1.4,.4,1) forwards shout}@keyframes shout{0%{opacity:0;transform:translate(-50%)scale(.7)}12%{opacity:1;transform:translate(-50%)scale(1)}78%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%)scale(1.04)translateY(-14px)}}@media (prefers-reduced-motion:reduce){#shout.go{animation:2.4s linear forwards shout}}#rollDock,#rollDock *{box-sizing:border-box}#rollDock{z-index:10;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);color:#29483b;filter:drop-shadow(0 10px 14px #213d3423);grid-template-columns:minmax(0,1fr) 106px minmax(0,1fr);align-items:center;width:min(380px,100% - 36px);min-height:78px;padding:14px 20px;display:grid;position:fixed;left:50%;transform:translate(-50%)}#rollDock:before{content:"";z-index:-1;background:#fffdf8;border-radius:25px;position:absolute;inset:0;-webkit-mask:radial-gradient(47px at 50% -1px,#0000 46px,#000 47px);mask:radial-gradient(47px at 50% -1px,#0000 46px,#000 47px)}.roll-player{flex-direction:column;gap:3px;min-width:0;display:flex}#rollPlayer{color:#697c6e;overflow-wrap:anywhere;font-size:.75rem;line-height:1.5}#rollStatus{overflow-wrap:anywhere;font-size:.85rem;font-weight:500;line-height:1.5}.roll-center{flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;top:-41px;left:50%;transform:translate(-50%)}#rollBtn{perspective:420px;cursor:pointer;background:#e78e72;border:0;border-radius:50%;place-items:center;width:77px;height:77px;padding:0;transition:transform .18s,opacity .18s;display:grid;box-shadow:0 5px 14px #93583830}#rollBtn:active:not([aria-disabled=true]){transform:scale(.94)}#rollBtn[aria-disabled=true]{cursor:default;filter:grayscale(.55)brightness(.9)}#rollDock.nudge{animation:.32s ease-out nudge}@keyframes nudge{40%{transform:translate(-50%)translateY(4px)scale(.985)}to{transform:translate(-50%)}}#rollDock.theirs #rollBtn{filter:grayscale()brightness(.97);background:#c9cdc6;box-shadow:0 4px 11px #5b635c26}#rollDock.theirs .roll-label,#rollDock.theirs #rollStatus{color:#7d8a80}.roll-label{color:#29483b;font-size:.7rem;font-weight:500;line-height:1.5}#rollFace{--pip:radial-gradient(circle, #355544 58%, #0000 60%);--d:36px;width:var(--d);height:var(--d);transform-style:preserve-3d;animation:11s linear infinite die-idle;position:relative}#rollFace i{backface-visibility:hidden;background-color:#fffef9;background-repeat:no-repeat;background-size:6px 6px;border-radius:3px;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #fffc}#rollFace .f5{background-color:#fff}#rollFace .f3,#rollFace .f4{background-color:#eae4d2}#rollFace .f2{background-color:#d9d2be}#rollFace .f6{background-color:#f4efe1}#rollFace .f1{background-image:var(--pip);background-position:15px 15px;transform:translateZ(18px)}#rollFace .f6{background-image:var(--pip), var(--pip), var(--pip), var(--pip), var(--pip), var(--pip);background-position:6px 5px,6px 15px,6px 25px,24px 5px,24px 15px,24px 25px;transform:rotateY(180deg)translateZ(18px)}#rollFace .f3{background-image:var(--pip), var(--pip), var(--pip);background-position:6px 6px,15px 15px,24px 24px;transform:rotateY(90deg)translateZ(18px)}#rollFace .f4{background-image:var(--pip), var(--pip), var(--pip), var(--pip);background-position:6px 6px,6px 24px,24px 6px,24px 24px;transform:rotateY(-90deg)translateZ(18px)}#rollFace .f5{background-image:var(--pip), var(--pip), var(--pip), var(--pip), var(--pip);background-position:6px 6px,6px 24px,15px 15px,24px 6px,24px 24px;transform:rotateX(90deg)translateZ(18px)}#rollFace .f2{background-image:var(--pip), var(--pip);background-position:7px 7px,23px 23px;transform:rotateX(-90deg)translateZ(18px)}#rollFace.fast{animation:1.7s linear infinite die-idle}#rollTime{text-align:right;flex-direction:column;grid-column:3;display:flex}#rollSeconds{font-variant-numeric:tabular-nums;font-size:1.45rem;font-weight:500;line-height:1.25}#rollTimeUnit{color:#697c6e;font-size:.7rem;line-height:1.6}#rollTime.urgent{color:#b44737}@keyframes die-idle{to{transform:rotateX(360deg)rotateY(720deg)}}@media (prefers-reduced-motion:reduce){#rollFace,#rollFace.fast{animation:none}#rollBtn{transition:none}}.scene{perspective:320px;width:60px;height:60px}.overlay{padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));box-sizing:border-box;z-index:20;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#163d355e;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.card{box-sizing:border-box;overscroll-behavior:contain;text-align:center;scrollbar-width:thin;background:var(--parchment);border:2px solid #d8dfca;border-radius:26px;flex-direction:column;flex-shrink:1;align-items:center;gap:14px;width:min(100%,420px);max-height:100%;padding:0 22px 24px;display:flex;overflow:hidden auto;box-shadow:0 6px #b0c0a5,0 20px 60px #143b3533}.card>*{flex-shrink:0}.card .ribbon{color:var(--forest);text-shadow:none;background:#dcead7;border-bottom:1px solid #bacfb0;align-self:stretch;margin:0 -22px;padding:16px 18px;font-size:1.1rem;font-weight:500}.card .ribbon.gold{background:var(--gold);color:var(--ink);text-shadow:none}#gameMenu{z-index:50}#gameMenu .card{gap:18px}#gameMenu .big{width:100%}#gameMenuNote{line-height:1.6}.card p,.card .note{margin:0;font-size:.95rem}.card .sub{color:var(--ink-2);margin-top:4px;font-size:1rem;font-weight:700}.muted{color:var(--ink-2);font-size:.88rem}#logo{filter:drop-shadow(0 3px #e6d8b2);width:174px;height:auto;display:block}#logo[hidden]+.fallback-title{display:block}.brand-mark{align-items:center;gap:10px;display:flex}.beta-badge{background:var(--red);color:#fff;border:2px solid var(--red-2);box-shadow:0 3px 0 var(--red-2);letter-spacing:.16em;border-radius:999px;align-self:flex-start;margin-top:6px;padding:4px 11px;font-family:ui-rounded,system-ui,sans-serif;font-size:.62rem;font-weight:700;line-height:1}.fallback-title{color:var(--ink);margin:10px 0 0;font-size:2.4rem;display:none}.divider{background:var(--parchment-2);width:100%;height:2px;margin:2px 0}.row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}button.big{color:#fff;cursor:pointer;border:1px solid var(--c-2);background:var(--c);min-width:60px;min-height:48px;box-shadow:0 4px 0 var(--c-2), inset 0 2px 0 #ffffff26;text-shadow:none;--c:var(--gold);--c-2:#c09a50;border-radius:15px;padding:12px 18px;font-size:1rem;font-weight:500;transition:transform .12s,box-shadow .12s,filter .12s}button.big:not(.green):not(.blue):not(.orange):not(.red):not(.ghost){color:var(--ink);text-shadow:none}button.big:active:not(:disabled){box-shadow:0 0 0 var(--c-2);transform:translateY(4px)}button.big:disabled{filter:saturate(.3)brightness(.8);cursor:default}button.big.green{--c:var(--green);--c-2:var(--green-2)}button.big.blue{--c:var(--blue);--c-2:var(--blue-2)}button.big.orange{--c:var(--orange);--c-2:var(--orange-2)}button.big.red{--c:var(--red);--c-2:var(--red-2)}button.big.ghost{--c:#e9ece2;--c-2:#b6bead;color:var(--ink)}button.big.cream{--c:#f7edd8;--c-2:#d2c3a1;color:var(--ink)}button.big.orange{color:#503518}button.big[data-players]{width:100%;min-width:0;padding:5px 0;font-size:1.3rem}input.code{text-align:center;text-transform:uppercase;letter-spacing:.12em;min-width:0;color:var(--ink);background:#f9faf3;border:2px solid #d7ddca;border-radius:13px;padding:10px 8px;font-size:1rem;font-weight:500;box-shadow:inset 0 2px #e8ecdf}input.code::placeholder{color:#788270;opacity:1;letter-spacing:.02em;font-size:.86rem}#arena{flex-direction:column;align-items:stretch;gap:4px;width:100%;display:flex}#arena .hp-row{color:var(--ink);justify-content:space-between;font-size:.95rem;font-weight:700;display:flex}#hpText{font-variant-numeric:tabular-nums}#arena .hp{border:3px solid var(--ink);background:#3a2a1e;border-radius:999px;height:16px;overflow:hidden;box-shadow:inset 0 2px #00000059}#hpFill{background:linear-gradient(90deg,#ff5a4e,#ffb347,#5fd35f) 100%/400px 100%;border-radius:999px;width:100%;height:100%;transition:width .25s cubic-bezier(.2,1.2,.4,1);box-shadow:inset 0 -3px #0003}#foeBox{isolation:isolate;justify-content:space-between;align-items:flex-end;height:150px;margin-top:2px;display:flex;position:relative}#battleHero{object-fit:contain;object-position:bottom left;z-index:1;filter:drop-shadow(0 6px 6px #0000004d);transform-origin:50% 100%;width:44%;height:142px;animation:1.4s ease-in-out infinite alternate heroIdle}@keyframes heroIdle{to{transform:translateY(-3px)}}#foe{object-fit:contain;object-position:bottom right;filter:drop-shadow(0 6px 6px #00000059);transform-origin:50% 100%;width:50%;height:150px;animation:1.6s ease-in-out infinite alternate foeIdle}@keyframes foeIdle{0%{transform:translateY(0)scale(1)}to{transform:translateY(-4px)scale(1.02,.98)}}#foeBox.hit #battleHero{animation:.52s ease-in-out heroStrike}@keyframes heroStrike{0%,to{transform:none}18%{transform:translate(-7%)scale(.96,1.04)}55%{transform:translate(120%)rotate(7deg)scale(1.07,.95)}70%{transform:translate(110%)rotate(4deg)}}#foeBox.ko #battleHero{animation:.75s ease-in-out heroFinisher}@keyframes heroFinisher{0%,to{transform:none}18%{transform:translate(-10%)scale(.94,1.06)}55%{transform:translate(132%)rotate(9deg)scale(1.12,.92)}72%{transform:translate(122%)rotate(5deg)}}#foeBox.hit #foe{filter:drop-shadow(0 6px 6px #00000059)brightness(1.8)saturate(.4);animation:.35s cubic-bezier(.2,1.4,.4,1) foeHit}@keyframes foeHit{0%{transform:translate(0)scale(1.1,.9)}30%{transform:translate(14px)rotate(6deg)scale(.95,1.05)}60%{transform:translate(-8px)rotate(-3deg)}to{transform:none}}#foeBox.ko #foe{filter:drop-shadow(0 6px 6px #00000059)saturate(.7);animation:.9s cubic-bezier(.3,1.3,.5,1) forwards foeKo}@keyframes foeKo{0%{transform:translateY(0)rotate(0)}30%{transform:translateY(-40px)rotate(-12deg)scale(1.1)}to{transform:translateY(6px)rotate(0)scale(1)}}#foeBox.counter #foe{animation:.85s ease-out both foeCounter}@keyframes foeCounter{0%,to{transform:none}18%{transform:translate(12%)scale(.93,1.06)}50%{transform:translate(-72%)rotate(-9deg)scale(1.12,.9)}68%{transform:translate(-66%)rotate(-5deg)}}#foeBox.counter #battleHero{animation:.85s ease-out both heroStagger}@keyframes heroStagger{0%,42%{transform:none}58%{transform:translate(-14%)rotate(-11deg)scale(.9)}to{transform:translate(-8%)rotate(-8deg)scale(.94)}}#hitFx{pointer-events:none;opacity:0;z-index:2;font-size:3.2rem;position:absolute;top:35%;left:73%;transform:translate(-50%,-50%)scale(0)}#foeBox.hit #hitFx{animation:.4s ease-out hitPop}#foeBox.counter #hitFx{animation:.4s ease-out .35s forwards hitPop;left:28%}@keyframes hitPop{0%{opacity:1;transform:translate(-50%,-50%)scale(.3)rotate(-20deg)}40%{opacity:1;transform:translate(-50%,-50%)scale(1.3)rotate(8deg)}to{opacity:0;transform:translate(-50%,-60%)scale(1.5)}}#dmg{color:#fff;text-shadow:0 2px 0 var(--ink), 0 0 10px #ff5a4ee6;opacity:0;pointer-events:none;z-index:2;font-size:1.6rem;font-weight:700;position:absolute;top:30%;left:78%}#foeBox.hit #dmg{animation:.7s ease-out dmgFloat}#foeBox.counter #dmg{animation:.5s ease-out .4s forwards dmgFloat;left:24%}@keyframes dmgFloat{0%{opacity:1;transform:translateY(0)scale(.6)}25%{transform:translateY(-14px)scale(1.25)}to{opacity:0;transform:translateY(-46px)scale(1)}}#koStamp{pointer-events:none;color:var(--gold);text-shadow:0 3px 0 var(--ink), 0 0 18px #ffc83ce6;letter-spacing:.05em;justify-content:center;align-items:center;font-size:3rem;font-weight:700;display:none;position:absolute;inset:0}#foeBox.ko #koStamp{animation:.8s cubic-bezier(.2,1.5,.4,1) .35s both koStamp;display:flex}@keyframes koStamp{0%{opacity:0;transform:scale(3)rotate(-14deg)}60%{opacity:1;transform:scale(1)rotate(-6deg)}to{transform:scale(1.05)rotate(-6deg)}}@media (prefers-reduced-motion:reduce){#battleHero,#foeBox.hit #battleHero,#foeBox.ko #battleHero,#foeBox.counter #battleHero,#foeBox.counter #foe{animation:none}}#penalty .notches,#repCount,#arena.race .hp{display:none}#arena.race #hpText{color:var(--green-2);font-size:1.6rem}#groupStatus .who-head{letter-spacing:.04em;color:#7d8a80;text-transform:none;padding-bottom:2px;font-size:.72rem;font-weight:700}#groupCameraHeading{text-align:left;color:#7d8a80;align-self:stretch;font-size:.72rem;font-weight:700}#groupStatus .who{grid-template-columns:fit-content(60%) minmax(40px,1fr) fit-content(30%);align-items:center;gap:8px;font-size:.9rem;font-weight:700;display:grid}#groupStatus .who>span:first-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}#groupStatus .who>span:last-child{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}#groupStatus .bar{border:2px solid var(--ink);background:var(--parchment-2);border-radius:999px;height:12px;overflow:hidden}#groupStatus .bar i{background:var(--c,var(--green));height:100%;transition:width .25s cubic-bezier(.2,1.2,.4,1);display:block}#groupStatus .who.done{color:var(--green-2)}#groupStatus .who.acting{background:var(--c,var(--gold));color:var(--ink);box-shadow:0 0 0 2px var(--ink);border-radius:8px;padding:1px 6px}#bossBanner{border:3px solid var(--ink);background:var(--c,var(--gold));width:100%;color:var(--ink);text-align:center;box-shadow:0 4px 0 var(--ink);border-radius:14px;padding:8px 12px}#bossBanner .turnOf{font-size:clamp(1.5rem,6.5vw,2.1rem);font-weight:900;line-height:1.2}#bossBanner .turnNo{opacity:.75;letter-spacing:.04em;font-size:.85rem;font-weight:700}#bossBanner .turnHint{margin-top:2px;font-size:1rem;font-weight:700}#bossBanner.mine{animation:.7s ease-in-out infinite alternate pulse}#ceremony{text-align:left;flex-direction:column;gap:6px;width:100%;display:flex}@keyframes medalIn{0%{opacity:0;transform:translate(-30px)scale(.8)}to{opacity:1;transform:none}}#ceremony .scores{opacity:0;flex-direction:column;gap:3px;margin-top:6px;animation:.5s ease-out forwards medalIn;display:flex}#ceremony .score{grid-template-columns:1.4em 1fr auto;align-items:center;gap:8px;font-weight:700;display:grid}#ceremony .score.champ{color:var(--gold-2);font-size:1.15rem}.notches{gap:5px;display:flex}.notches span{background:var(--parchment-2);border:2px solid var(--ink);box-sizing:border-box;border-radius:6px;width:18px;height:28px}.notches span.filled{background:var(--green);box-shadow:0 0 8px #4fc85a99}.notches span.pop{animation:.35s cubic-bezier(.2,1.6,.4,1) notchPop}@keyframes notchPop{0%{transform:scale(.4)}60%{transform:scale(1.4)}to{transform:scale(1)}}#repCount{color:var(--green-2);font-size:2.6rem;font-weight:700;line-height:1}#repCount.punch{animation:.35s cubic-bezier(.2,1.6,.4,1) punch}@keyframes punch{0%{transform:scale(.6)}60%{transform:scale(1.25)}to{transform:scale(1)}}#cheer{color:var(--orange-2);font-size:1.3rem;font-weight:700;animation:.9s ease-out forwards cheer}@keyframes cheer{0%{opacity:0;transform:translateY(8px)scale(.7)}15%{opacity:1;transform:translateY(0)scale(1.15)}70%{opacity:1;transform:scale(1)}to{opacity:0;transform:translateY(-10px)}}#penalty .ribbon{z-index:4;justify-content:center;align-items:center;display:flex;position:sticky;top:0}#penalty .ribbon #penaltyTimer{position:absolute;right:14px}#penalty .ribbon{background:var(--forest);color:#fffdf5;letter-spacing:.01em;text-shadow:0 2px #0003;border-bottom:0;padding:14px 18px;font-size:clamp(1.15rem,5vw,1.45rem);font-weight:600}#penalty .ribbon.k-trap{background:#9a6316}#penalty .ribbon.k-ring{background:#a83f30}#penalty .ribbon.k-arena{background:#3c6079}#penalty .ribbon.k-prank{background:#6b4a86}#penalty .ribbon.k-boss{background:#4a2530}#penalty .ribbon.k-rice{background:#2e604a}#penalty .ribbon.k-splash{background:#2b6a86}#penalty .ribbon #penaltyTimer{color:#fffdf5}#penaltyTimer{color:var(--parchment);background:var(--ink);border-radius:999px;align-items:baseline;gap:5px;padding:7px 13px;font-size:1.35rem;font-weight:900;line-height:1;display:flex;box-shadow:0 3px #0003}#penaltyTimer:before{content:"⏱";opacity:.8;font-size:.85em}#penaltyTimer.urgent{color:#fff;background:var(--red);font-size:1.7rem;animation:.5s ease-in-out infinite alternate pulse}@keyframes pulse{0%{transform:scale(1)}to{transform:scale(1.18)}}#penaltyTitle{color:var(--ink-2);font-size:1rem;font-weight:700}#penaltyTitle .turnOf{color:var(--ink);font-size:clamp(1.15rem,5vw,1.5rem);font-weight:600;line-height:1.35;display:block}.pname{font-weight:600}.card .pname,#hud .pname,#groupStatus .pname,#bossStatus .pname,#rollPlayer .pname{-webkit-text-stroke:.35px #2f4a3d66;paint-order:stroke fill}#penaltyTitle .turnOf b{font-weight:600}#penaltyTitle .sub{color:var(--ink-2);font-size:.95rem;font-weight:500;line-height:1.5;display:block}#moveName{color:var(--forest);text-align:center;font-size:clamp(1.7rem,7vw,2.4rem);font-weight:500;line-height:1.3}#moveName small{color:var(--gold-2);font-size:1.1rem;display:block}#moveName:empty{display:none}#moveName.count{color:var(--gold);font-size:5rem;animation:.5s cubic-bezier(.2,1.6,.4,1) punch}#lobbyCode{box-sizing:border-box;letter-spacing:.3em;width:100%;color:var(--forest-2);background:#eef3e7;border:2px dashed #bdceb4;border-radius:16px;padding:16px 8px 16px .3em;font-size:clamp(2rem,10vw,2.8rem);font-weight:500;line-height:1.2}.overlay-row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}#selfView{border:3px solid var(--ink);border-radius:14px;line-height:0;position:relative;overflow:hidden}#selfView video,#selfView canvas{object-fit:cover;width:200px;height:300px;transform:scaleX(-1)}#selfView canvas{position:absolute;inset:0}#demoBox{border:3px solid var(--ink);background:#fff6e3;border-radius:14px;width:200px;height:300px;line-height:0;animation:.4s cubic-bezier(.2,1.4,.4,1) cardIn;position:relative;overflow:hidden}#demoImg{object-fit:contain;background:#fff6e3;width:100%;height:100%;display:block}#demoImg.swap{animation:.25s ease-out stepSwap}@keyframes stepSwap{0%{opacity:.4;transform:scale(.94)}to{opacity:1;transform:none}}#demoStep{background:var(--gold);color:var(--ink);border:2px solid var(--ink);border-radius:999px;padding:2px 10px;font-size:.85rem;font-weight:700;line-height:1.4;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}#demoHint{background:var(--forest-2);color:#fff;border:2px solid var(--ink);border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:700;line-height:1.4;position:absolute;top:8px;right:8px}#penalty.demoing #selfView,#penalty.demoing #gateHint,#penalty.demoing #giveUp,#penalty.demoing #sweatBtn,#penalty.demoing #penaltyDone,#penalty.demoing #penaltyIncomplete,#penalty.demoing #predictPanel,#penalty.demoing #predictLocked{display:none!important}#selfView{transition:border-color .25s,box-shadow .25s}#selfView .scan{pointer-events:none;background:linear-gradient(#78ffa000,#78ffa073,#78ffa000);height:20%;display:none;position:absolute;top:-20%;left:0;right:0}#selfView.acquiring .scan{animation:1.4s linear infinite scan;display:block}@keyframes scan{0%{top:-20%}to{top:100%}}#selfView .corners{pointer-events:none;opacity:0;position:absolute;inset:8px}#selfView .corners i{border:4px solid var(--green);width:26px;height:26px;position:absolute}#selfView .corners i:first-child{border-bottom:0;border-right:0;border-top-left-radius:8px;top:0;left:0}#selfView .corners i:nth-child(2){border-bottom:0;border-left:0;border-top-right-radius:8px;top:0;right:0}#selfView .corners i:nth-child(3){border-top:0;border-right:0;border-bottom-left-radius:8px;bottom:0;left:0}#selfView .corners i:nth-child(4){border-top:0;border-left:0;border-bottom-right-radius:8px;bottom:0;right:0}#selfView.ok{border-color:var(--green);animation:1.6s ease-in-out infinite alternate lockGlow;box-shadow:0 0 0 3px #4fc85a59,0 0 22px #4fc85abf}@keyframes lockGlow{0%{box-shadow:0 0 0 3px #4fc85a40,0 0 12px #4fc85a80}to{box-shadow:0 0 0 4px #4fc85a80,0 0 28px #4fc85af2}}#selfView.ok .corners{opacity:1;animation:.4s cubic-bezier(.2,1.5,.4,1) snapIn}@keyframes snapIn{0%{opacity:0;transform:scale(1.35)}to{opacity:1;transform:scale(1)}}#selfView.lost{border-color:var(--red);animation:.4s ease-in-out lostShake}@keyframes lostShake{0%,to{transform:none}25%{transform:translate(-5px)}75%{transform:translate(5px)}}#lockStamp{pointer-events:none;color:#fff;text-shadow:0 2px 0 var(--ink), 0 0 16px #4fc85ae6;justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;display:none;position:absolute;inset:0}#selfView.ok #lockStamp{animation:1.3s ease-out forwards stamp;display:flex}@keyframes stamp{0%{opacity:0;transform:scale(2.2)rotate(-8deg)}20%{opacity:1;transform:scale(1)rotate(-3deg)}75%{opacity:1}to{opacity:0;transform:scale(.9)}}#lockPill{pointer-events:none;background:var(--green-2);color:#fff;border:2px solid var(--ink);border-radius:999px;padding:3px 10px;font-size:.8rem;font-weight:700;line-height:1.3;animation:.9s ease-in-out infinite alternate pulse;display:none;position:absolute;top:8px;left:50%;transform:translate(-50%)}#selfView.ok #lockPill{display:block}#gateHint.ok{color:var(--green-2);font-weight:700}#gateVeil{text-align:center;pointer-events:none;color:#fff;text-shadow:0 2px 0 var(--ink), 0 0 10px #000c;background:#141a128c;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0 10px;display:none;position:absolute;inset:0}#selfView.acquiring #gateVeil,#selfView.lost #gateVeil{display:flex}#selfView.lost #gateVeil{background:#7816128c}#gateAct{font-size:1.15rem;font-weight:700;line-height:1.3}#gateWhy{opacity:.85;font-size:.85rem;font-weight:700;line-height:1.3}#waitPill{pointer-events:none;background:var(--gold);color:var(--ink);border:2px solid var(--ink);border-radius:999px;padding:3px 10px;font-size:.8rem;font-weight:700;line-height:1.3;display:none;position:absolute;top:8px;left:50%;transform:translate(-50%)}#selfView.acquiring #waitPill,#selfView.lost #waitPill{display:block}#selfView.lost #waitPill{background:var(--red);color:#fff}#winnerTitle{font-size:1.8rem;font-weight:700}#card .card{animation:.45s cubic-bezier(.2,1.4,.4,1) cardIn}@keyframes cardIn{0%{opacity:0;transform:scale(.6)rotate(-4deg)}to{opacity:1;transform:none}}#cardArt{aspect-ratio:1;object-fit:cover;border-radius:17px;width:100%;max-height:38dvh;margin:2px 0 0;display:block}#cardText{font-size:1rem;font-weight:400;line-height:1.8}#cardOptions button.big{min-width:100px}#cardOptions .hint{width:100%;color:var(--ink-2);margin-top:-4px;font-size:.82rem}#charm{left:calc(50% + 48px);bottom:calc(env(safe-area-inset-bottom,0px) + 78px);z-index:12;background:var(--gold);border:3px solid var(--ink);width:44px;height:44px;box-shadow:0 3px 0 var(--gold-2);border-radius:50%;justify-content:center;align-items:center;font-size:1.3rem;animation:.8s ease-in-out infinite alternate pulse;display:flex;position:fixed}#setup{overscroll-behavior:contain;-webkit-backdrop-filter:none;backdrop-filter:none;background:#edf3e7 radial-gradient(#a9bc992b 1px,#0000 1px) 0 0/22px 22px;display:block;overflow-y:auto}.home-shell{grid-template-rows:auto 1fr auto;grid-template-columns:1.15fr 1fr;align-items:center;column-gap:64px;width:min(100%,1020px);min-height:100%;margin:auto;display:grid}.home-brand{grid-column:1/-1;justify-content:space-between;align-items:center;padding:12px 0 26px;display:flex}.brand-note{letter-spacing:.18em;color:#75816b;font-family:ui-rounded,system-ui,sans-serif;font-size:.66rem;font-weight:700}.home-adventure{text-align:center;min-width:0;position:relative}.eyebrow{color:#66815e;align-items:center;gap:7px;font-size:.75rem;display:inline-flex}.eyebrow span{background:#80a165;border-radius:50%;width:7px;height:7px}#homeTitle{letter-spacing:-.04em;margin:14px 0 0;font-size:clamp(1.7rem,3.1vw,2.35rem);font-weight:500;line-height:1.5}#homeTitle em{color:#7c9568;font-style:normal}.campsite{isolation:isolate;max-width:470px;height:300px;margin:0 auto;position:relative}.campsite img{object-fit:contain;pointer-events:none;position:absolute}.camp-sun{z-index:-2;background:#f8df9b;border-radius:50%;width:246px;height:246px;position:absolute;top:20px;left:50%;transform:translate(-50%)}.camp-sun:after{content:"";border:1px dashed #bfc99b;border-radius:50%;position:absolute;inset:-12px}.camp-ground{z-index:-1;background:#d7e5bc;border-bottom:7px solid #c8d9af;border-radius:50%;width:92%;height:76px;position:absolute;bottom:20px;left:4%}.camp-tree{width:155px;height:224px;display:none;bottom:32px;left:0}.camp-pine{width:100px;height:170px;display:none;bottom:42px;right:2%}.camp-dragon{object-position:50% 100%;filter:drop-shadow(0 12px 5px #54733720);width:430px;height:250px;bottom:30px;left:50%;transform:translate(-50%)}.camp-mushrooms{width:92px;height:86px;bottom:17px;right:0}.camp-flowers{width:84px;height:70px;bottom:6px;left:18%}.camp-bubble{background:#fffcf3;border:1px solid #d6ddc7;border-radius:16px 16px 16px 3px;padding:10px 15px;font-size:.75rem;position:absolute;top:28px;right:0;transform:rotate(7deg);box-shadow:0 3px #d7dfc8}.camp-spark{color:#ddac4e;font-size:28px;position:absolute}.spark-one{top:16px;left:14%;transform:rotate(-10deg)}.spark-two{font-size:18px;bottom:89px;right:14%}.adventure-caption{color:#566b51;margin:2px 0 14px;font-size:.92rem}.adventure-steps{color:#6f7a65;justify-content:center;align-items:center;gap:9px;font-size:.63rem;display:flex}.adventure-steps b{color:#8c987e;font-family:system-ui,sans-serif;font-size:.61rem;font-weight:500}.adventure-steps i{color:#aebd9b;font-style:normal}.play-menu{background:#fffcf3;border:2px solid #d9deca;border-radius:28px;padding:28px;position:relative;box-shadow:0 7px #d5dec5,0 14px 35px #54713e0c}.play-menu:before{content:"";background:#f4d7a9b8;width:72px;height:16px;position:absolute;top:-8px;left:50%;transform:translate(-50%)rotate(-4deg)}.menu-heading{align-items:center;gap:12px;margin-bottom:25px;display:flex}.menu-sticker{color:#a47737;background:#ffe4ae;border:1px solid #e5bf88;border-radius:15px;flex:none;place-items:center;width:43px;height:43px;font-size:26px;display:grid;transform:rotate(-9deg);box-shadow:0 3px #efd5a8}.menu-heading h2{letter-spacing:-.03em;margin:0 0 4px;font-size:1.2rem;font-weight:500}.menu-heading p{color:var(--ink-2);margin:0;font-size:.72rem}.play-menu h3{align-items:center;gap:8px;margin:0 0 13px;font-size:.87rem;font-weight:500;display:flex}.play-menu h3 svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.play-menu h3 span{color:#76806a;background:#edf0e3;border-radius:6px;margin-left:auto;padding:3px 8px;font-size:.61rem;font-weight:400}#createRoom{border-radius:15px;justify-content:space-between;align-items:center;width:100%;min-height:55px;font-size:.94rem;display:flex}#createRoom>span:last-child{font-size:1.6rem;font-weight:400;line-height:1}.online-play label{color:#748068;margin:22px 0 8px;font-size:.72rem;display:block}.or-line{color:#8b9585;align-items:center;gap:10px;margin:18px 0 10px;font-size:.7rem;display:flex}.or-line:before,.or-line:after{content:"";background:#dde3d2;flex:1;height:1px}.join-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.join-row button{min-height:48px;padding:10px 16px;font-size:.85rem}.join-row button span{padding-left:6px}.play-tabs{background:#e9eedf;border-radius:17px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:22px;padding:5px;display:grid}.play-tabs button{color:#566b51;min-height:66px;font:inherit;cursor:pointer;background:0 0;border:2px solid #0000;border-radius:13px;padding:10px 6px;font-size:.9rem}.play-tabs button small{margin-top:3px;font-size:.72rem;font-weight:400;display:block}.play-tabs button[aria-selected=true]{color:#fffdf4;background:#436748;border-color:#36543a;box-shadow:0 3px #2d4832}.play-tabs button:focus-visible{outline-offset:3px;outline:3px solid #b47d30}.local-play h3{margin-bottom:5px}.local-play>p{color:#748068;margin:0 0 14px;font-size:.72rem}.player-picker{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;display:grid}.player-picker button.big{--c:#fbefd5;--c-2:#d6c5a1;color:#695338;border-radius:12px;min-height:60px;line-height:1.2}.player-picker small{color:#82765e;margin-top:4px;font-size:.6rem;font-weight:400;display:block}.rest-note{color:#758168;justify-content:center;align-items:center;gap:6px;margin:25px -5px -4px;font-size:.65rem;display:flex}.rest-note span{color:#b78469;font-size:1rem}.home-footer{color:#879078;grid-column:1/-1;align-items:center;gap:16px;padding:36px 0 12px;font-size:.62rem;display:flex}.home-footer>span:first-child{letter-spacing:.14em;font-family:system-ui,sans-serif;font-size:.61rem;font-weight:700}.footer-flower{color:#b0bf95;margin-left:auto;font-size:1.8rem}body:has(#setup:not(.hidden),#lobby:not(.hidden),#winner:not(.hidden),#penalty:not(.hidden),#card:not(.hidden)) #rollDock{display:none}body:has(#setup:not(.hidden),#lobby:not(.hidden),#winner:not(.hidden)) #gameMenuBtn{display:none}:is(body:has(#penalty:not(.hidden),#card:not(.hidden)) #turn,body:has(#penalty:not(.hidden),#card:not(.hidden)) #netBadge,body:has(#penalty:not(.hidden),#card:not(.hidden)) #muteBtn){visibility:hidden}body:has(#penalty:not(.hidden),#card:not(.hidden)) #gameMenuBtn{top:var(--top);left:max(16px, env(safe-area-inset-left));position:fixed}body:has(#setup:not(.hidden),#lobby:not(.hidden)) #topbar{z-index:25}body:has(#setup:not(.hidden),#lobby:not(.hidden)) #muteBtn{display:none}.card .ribbon.gold{color:#786035;background:#f7e4b7;border-color:#e3cda0}.card .big{max-width:100%}.lobby-mascot{object-fit:contain;width:100px;height:88px;margin-bottom:-9px}.roster-label{color:var(--ink-2);align-self:flex-start;margin-top:4px;font-size:.75rem}#lobbyPlayers{text-align:left;flex-direction:column;gap:8px;width:100%;display:flex}#lobbyPlayers>div{background:#f4f5ec;border:1px solid #e2e5d5;border-radius:12px;align-items:center;gap:10px;padding:6px 12px 6px 6px;font-size:.88rem;display:flex}#lobbyPlayers>div.ready{background:#eef7e6;border-color:#9fcf8a}#lobbyPlayers>div>img{object-fit:cover;object-position:50% 8%;border:2px solid var(--ink);background:var(--forest-2);border-radius:50%;flex:none;width:34px;height:34px}#lobbyPlayers>div>img.blank{background:#d9dfd0;border-style:dashed}#lobbyPlayers>div>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}#lobbyPlayers>div>b{color:var(--ink-2);white-space:nowrap;font-size:.72rem;font-weight:700}#lobby .card{gap:9px;width:min(92vw,580px);padding-bottom:16px}#lobby .card .ribbon{padding:10px 18px}#lobby .lobby-mascot{width:68px;height:56px}#lobby #lobbyCode{padding-top:10px;padding-bottom:10px}#lobby .map-tile img{aspect-ratio:16/9}#lobby .map-pick{grid-template-columns:repeat(3,minmax(0,1fr))}#lobby #avatarPick{grid-template-columns:repeat(6,minmax(0,1fr))}#avatarPick{grid-template-columns:repeat(3,1fr);gap:8px;width:100%;display:grid}.avatar{cursor:pointer;color:var(--ink);background:#f9faf3;border:2px solid #d7ddca;border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:6px 4px 5px;font-family:inherit;font-size:.72rem;font-weight:500;transition:transform .12s,border-color .12s;display:flex}.avatar img{object-fit:contain;width:58px;height:58px}.avatar:not(:disabled):active{transform:scale(.94)}.avatar.mine{border-color:var(--gold);background:#fff6df;box-shadow:0 0 0 3px #f2bd7766}.avatar.taken{opacity:.45;filter:grayscale();cursor:default}.avatar:disabled:not(.taken){cursor:default}#readyBtn{width:100%}.map-pick{grid-template-columns:repeat(3,1fr);gap:8px;width:100%;margin:4px 0 8px;display:grid}.map-tile{cursor:pointer;text-align:center;color:var(--ink);background:#f9faf3;border:2px solid #d7ddca;border-radius:14px;flex-direction:column;align-items:center;gap:2px;min-width:0;padding:6px 4px;font-family:inherit;transition:transform .12s,border-color .12s;display:flex}.map-tile img{aspect-ratio:4/3;object-fit:cover;border-radius:9px;width:100%}.map-tile img[hidden]{display:none}.map-tile i{font-size:1.5rem;font-style:normal;line-height:1.2}.map-tile b{font-size:.8rem;font-weight:700}.map-tile small{color:var(--ink-2);font-size:.72rem;line-height:1.3}.map-tile:not(:disabled):active{transform:scale(.95)}.map-tile.mine{border-color:var(--gold);background:#fff6df;box-shadow:0 0 0 3px #f2bd7766}.map-tile:disabled{cursor:default}.mode-pick{grid-template-columns:repeat(3,1fr);gap:8px;width:100%;margin:4px 0 8px;display:grid}.mode-pick .map-tile{padding:10px 4px}.mode-pick .map-tile small{font-size:.72rem}#arenaManualRep{width:100%}.map-tile:disabled:not(.mine){opacity:.55}body.pixel #foe,body.pixel #cardArt{image-rendering:pixelated}input.code.name{box-sizing:border-box;text-transform:none;letter-spacing:0;width:100%;margin-bottom:6px}input.code.name.shake{border-color:var(--red);animation:.4s shake}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}#startGame,#again{width:100%;margin-top:5px}#lobbyWait{padding:8px 0}#arena{box-sizing:border-box;background:#f0f3e5;border:1px solid #dce4ce;border-radius:20px;padding:12px}#arena .hp-row{font-size:.85rem;font-weight:500}#arena .hp{background:#dce6cf;border-width:2px;border-color:#779567;height:12px;box-shadow:inset 0 2px #839d6c33}#hpFill{background:#89b561;box-shadow:inset 0 -3px #638c4138}#selfView{background:#1f2d26;border-width:2px;border-color:#bbcbb0;width:200px;max-width:100%}#selfView video,#selfView canvas{object-fit:cover;width:200px;height:300px;display:block}#penalty.group-cams #groupStatus{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#penalty.group-cams #foeBox{display:none!important}#penalty.group-cams #selfView{aspect-ratio:3/4;width:min(100%,280px)}#penalty.group-cams #selfView video,#penalty.group-cams #selfView canvas{width:100%;height:100%}.camera-progress{z-index:3;color:#fff;text-shadow:0 1px 3px #000;background:linear-gradient(#14241f00,#14241fe6);padding:32px 10px 10px;line-height:1.3;position:absolute;inset:auto 0 0}.camera-progress-line{justify-content:space-between;align-items:center;gap:4px;font-size:.85rem;font-weight:700;display:flex}.camera-progress-line span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.camera-count{font-variant-numeric:tabular-nums;flex:none}.camera-meter{background:#fff6;border:1px solid #fffc;border-radius:999px;height:9px;margin-top:5px;overflow:hidden}.camera-meter i{border-radius:inherit;background:var(--c,var(--green));width:0;height:100%;transition:width .25s ease-out;display:block}#demoBox{border-width:2px;border-color:#d5dbc3}#peerView{background:#1f2d26;border:2px solid #bbcbb0;border-radius:14px;width:200px;height:300px;line-height:0;position:relative;overflow:hidden}#peerVideo{object-fit:cover;width:100%;height:100%;display:block;transform:scaleX(-1)}#peerLabel{background:var(--forest-2);color:#fff;border:2px solid var(--ink);border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:700;line-height:1.4;position:absolute;top:8px;left:8px}#peerStatus{text-align:center;color:#fff;background:linear-gradient(#14281e00,#14281ed9);padding:40px 12px 14px;font-size:.9rem;font-weight:700;line-height:1.3;position:absolute;inset:auto 0 0}#peerStatus:empty{display:none}#peerFrame{object-fit:cover;width:100%;height:100%;position:absolute;inset:0;transform:scaleX(-1)}#peerView.relay #peerStatus,#peerView.live #peerStatus{display:none}#cheerWall{justify-content:center;align-self:stretch;gap:6px;line-height:0;display:flex}#cheerWall .cheer{aspect-ratio:3/4;background:#1f2d26;border:2px solid #bbcbb0;border-radius:10px;flex:1 1 0;min-width:0;max-width:84px;position:relative;overflow:hidden}#cheerWall .cheer.me,#cheerWall .cheer.done{border-color:var(--green)}#cheerWall .cheer:after{content:"";background:#0006;border:1.5px solid #fffc;border-radius:50%;width:7px;height:7px;position:absolute;top:4px;right:4px}#cheerWall .cheer.livesrc:after{background:var(--green);border-color:#fff}#cheerWall img,#cheerWall video{object-fit:cover;width:100%;height:100%;display:block;transform:scaleX(-1)}#cheerWall video{position:absolute;inset:0}#cheerWall img[hidden],#cheerWall video[hidden]{display:none}#cheerWall .cheer>span{text-align:center;color:#fff;text-overflow:ellipsis;white-space:nowrap;background:linear-gradient(#14281e00,#14281ee6);padding:12px 4px 3px;font-size:.6rem;font-weight:700;line-height:1.3;position:absolute;inset:auto 0 0;overflow:hidden}#penalty.group-cams #cheerWall .cheer>span{display:none}#cheerWall .camera-progress{padding:14px 4px 5px}#cheerWall .camera-progress-line{font-size:.58rem}#cheerWall .camera-meter{height:5px;margin-top:3px}#voiceBar{z-index:30;left:max(16px, env(safe-area-inset-left));bottom:calc(env(safe-area-inset-bottom,0px) + 20px);flex-direction:column;align-items:flex-start;gap:8px;display:flex;position:fixed}#micBtn{cursor:pointer;color:#6b7a6d;background:var(--parchment);-webkit-user-select:none;user-select:none;touch-action:none;border:2px solid #c9d8bd;border-radius:50%;place-items:center;width:58px;height:58px;padding:0;transition:background .12s,color .12s;display:grid;box-shadow:0 4px #aec5a6}#micBtn svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:27px;height:27px}#micBtn .mic-body{fill:currentColor;stroke:none}#micBtn:active{box-shadow:0 0 0 var(--ink);transform:translateY(4px)}#micBtn.live{color:#2c6b45;background:#d8f0dd;border-color:#3f8f5e;animation:.6s ease-in-out infinite alternate pulse;box-shadow:0 4px #3f8f5e}#micBtn.live .mic-slash{display:none}#micBtn.denied{color:var(--red-2);border-color:#d8a49b}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#cheerFrom{background:var(--parchment);max-width:min(60vw,260px);color:var(--orange-2);border:2px solid #c9d8bd;border-radius:12px;padding:4px 12px;font-size:.78rem;font-weight:700;animation:1.2s ease-out infinite cheer}#penaltyTimer{font-variant-numeric:tabular-nums}#penaltyTimer:empty,#penaltyTitle:empty,#groupStatus:empty,#gateHint:empty,#moveName:empty{display:none}#votePanel,#predictPanel,#cardOptions{width:100%}#votePanel button,#predictPanel button,#cardOptions button{flex:90px}#predictPanel{border:2px dashed var(--gold);background:#f3ca7226;border-radius:12px;flex-direction:column;gap:8px;padding:10px;display:flex}#predictPanel.hidden{display:none}.predict-head{color:var(--green-2);letter-spacing:.3px;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:6px;font-size:1.05rem;font-weight:800;display:flex}.predict-prize{color:var(--ink);opacity:.7;letter-spacing:0;font-size:.74rem;font-weight:600}#giveUp,#sweatBtn,#penaltyDone,#penaltyIncomplete{width:100%;font-size:.88rem}#winner{background:radial-gradient(at 50% 20%,#452248e8,#080814f5 75%)}#winnerTitle{color:#ffe6a0;text-shadow:0 2px 16px #ffc75155;font-size:clamp(1.35rem,4vw,2.1rem);font-weight:700}#winner>.card{color:#fff2d1;background:linear-gradient(155deg,#30203e,#100e22 70%);border:1px solid #d8ad57;border-radius:24px;width:min(780px,96vw);max-height:94dvh;padding:clamp(14px,3vw,28px);overflow-y:auto;box-shadow:0 0 80px #efb95624,inset 0 0 45px #0008}#winner .ribbon{color:#382011;background:linear-gradient(90deg,#9c651f,#ffe7a0,#b77b2a);border-color:#ffe8a3}#winnerTitle{text-align:center;overflow-wrap:anywhere}.ceremony-progress{text-align:center;color:#ebc67d;letter-spacing:.06em;font-size:.75rem}.ceremony-detail,.ceremony-announcement{text-align:center;margin:0}.ceremony-detail{color:#ccc1da;font-size:.85rem}.ceremony-stage{isolation:isolate;background:radial-gradient(at 50% 78%,#f8c96744,#0000 55%),repeating-linear-gradient(90deg,#120d22 0 35px,#1f1633 36px 38px);border:1px solid #bd884660;border-radius:16px;flex-wrap:wrap;justify-content:center;align-items:flex-end;min-height:330px;padding:35px 28px 38px;display:flex;position:relative;overflow:hidden}.ceremony-stage:before{content:"";z-index:-1;transform-origin:top;background:conic-gradient(from 152deg at 16% 0,#0000,#ffe9ac44 9deg,#fff4ca12 23deg,#0000 29deg),conic-gradient(from 180deg at 84% 0,#0000,#fff4ca22 9deg,#ffe9ac44 23deg,#0000 29deg);animation:3s ease-in-out infinite alternate ceremonyLights;position:absolute;inset:0}.ceremony-stage:after{content:"";z-index:-1;pointer-events:none;background:repeating-linear-gradient(90deg,#510e24,#a52d43 14px,#5b1025 28px) 0 0/8% 88% no-repeat,repeating-linear-gradient(90deg,#510e24,#a52d43 14px,#5b1025 28px) 100% 0/8% 88% no-repeat,radial-gradient(at 50% 0,#ffe0a2,#9b5b29 60%,#45263a 64%,#0000 66%) bottom/96% 32px no-repeat,linear-gradient(#dbae62,#6e361e) top/100% 6px no-repeat;position:absolute;inset:0}.champion-stage{border-color:#ffe39a;box-shadow:inset 0 0 45px #e8ac3933}.ceremony-suspense{color:#ffe5a4;text-shadow:0 0 22px #ffcb68;align-self:center;padding:70px 0;animation:1.5s ease-in-out infinite ceremonyBob}.ceremony-person{z-index:1;text-align:center;flex:0 33.333%;min-width:0;margin:0;animation:.65s cubic-bezier(.16,1,.3,1) both ceremonyEnter;position:relative}.ceremony-stage.solo .ceremony-person{flex-basis:65%}.ceremony-person img{object-fit:contain;filter:drop-shadow(0 0 14px #ffcd6866);width:100%;height:205px;animation:2s ease-in-out .65s infinite ceremonyBob;display:block}.ceremony-stage.solo .ceremony-person img{height:260px}.ceremony-person figcaption{overflow-wrap:anywhere;color:#fff6e4;text-shadow:0 2px 4px #000;font-size:1rem}.ceremony-person strong{color:#ffdf83;background:#301e38;border:1px solid #c89b50;border-radius:20px;padding:2px 10px;font-size:.8rem;display:inline-block}.ceremony-stage.shared .ceremony-person img{height:120px}.ceremony-announcement{color:#ffe1a0;overflow-wrap:anywhere;font-size:.85rem}.ceremony-fx{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.ceremony-fx i{left:var(--origin);opacity:0;background:var(--color);width:9px;height:15px;animation:ceremonyConfetti 2.9s var(--delay) cubic-bezier(.16,.65,.35,1) both;position:absolute;bottom:24px}.ceremony-fx.sparks i{background:#ffe9a3;width:3px;height:22px;animation-name:ceremonySpark;animation-duration:1.8s;box-shadow:0 0 9px #ffb32b}.ceremony-fx.flames i{filter:drop-shadow(0 0 12px #ff752c);transform-origin:bottom;background:linear-gradient(#0000,#ff581c 25%,#ffce38 65%,#fffbd1);border-radius:80% 20% 35% 35%;width:30px;height:155px;margin-left:-15px;animation-name:ceremonyFlame;animation-duration:1.6s}.ceremony-fx.stars i{clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 94%,50% 72%,21% 94%,32% 57%,2% 35%,39% 35%);width:23px;height:23px;animation-name:ceremonyStar}.ceremony-fx.ribbons i{background:linear-gradient(var(--color), #fff8, var(--color));border-radius:8px;width:7px;height:70px;animation-name:ceremonyRibbon;animation-duration:3.3s}@keyframes ceremonyLights{to{opacity:.55;transform:scaleX(1.3)}}@keyframes ceremonyConfetti{0%{opacity:0;transform:translate(0)rotate(0)}10%{opacity:1}42%{transform:translate(var(--x),var(--rise)) rotate(var(--spin))}to{opacity:0;transform:translate(var(--x),70px) rotate(900deg)}}@keyframes ceremonySpark{0%{opacity:0;transform:translate(0)scaleY(.3)}10%{opacity:1}75%{opacity:1}to{opacity:0;transform:translate(var(--x),var(--rise)) scaleY(.1)}}@keyframes ceremonyFlame{0%,to{opacity:0;transform:scale(.4,0)}15%,45%{opacity:.95;transform:scale(1)}30%,60%{opacity:.8;transform:scale(.8)}}@keyframes ceremonyStar{0%{opacity:0;transform:translate(0)scale(0)}15%{opacity:1}70%{opacity:1}to{opacity:0;transform:translate(var(--x),var(--rise)) rotate(var(--spin)) scale(.3)}}@keyframes ceremonyRibbon{0%{opacity:0;transform:translate(0)rotate(-30deg)scaleY(.2)}10%{opacity:1}40%{transform:translate(var(--x),var(--rise)) rotate(90deg)}to{opacity:0;transform:translate(var(--x),100px) rotate(var(--spin))}}#ceremony details{overflow-wrap:anywhere;font-size:.8rem}#ceremony summary{cursor:pointer;padding:8px 0}@keyframes ceremonyEnter{0%{opacity:0;transform:translateY(25px)scale(.8)}to{opacity:1;transform:none}}@keyframes ceremonyBob{50%{transform:translateY(-5px)rotate(2deg)}}@media (prefers-reduced-motion:reduce){.ceremony-person,.ceremony-person img,.ceremony-suspense,.ceremony-stage:before{animation:none}.ceremony-fx{display:none}}@media (width<=480px){.ceremony-stage{min-height:285px;padding:28px 16px 34px}.ceremony-stage.solo .ceremony-person img{height:220px}.ceremony-person img{height:155px}.ceremony-stage.shared .ceremony-person img{height:95px}}#ceremony{gap:8px}#ceremony .scores{border-top:1px solid #8f704c;gap:8px;padding-top:14px}#ceremony .score{font-size:.85rem;font-weight:400}#ceremony .score.champ{color:#543618;background:#ffe2a0;border-radius:12px;padding:10px;font-size:.96rem}@media (hover:hover){button.big:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-2px)}button.big:active:not(:disabled){transform:translateY(4px)}.player-picker button.big:hover{--c:#f4d392;--c-2:#b69753}}@media (width<=760px){#voiceBar{bottom:calc(env(safe-area-inset-bottom,0px) + 108px)}#setup{padding:max(12px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left))}.home-shell{grid-template-rows:auto;grid-template-columns:1fr;gap:0;max-width:430px}.home-brand{padding:0 3px 10px}#logo{width:120px}.brand-mark{gap:7px}.beta-badge{margin-top:4px;padding:3px 8px;font-size:.5rem}.brand-note{text-align:right;max-width:110px;font-size:.48rem;line-height:1.8}.eyebrow{font-size:.63rem}#homeTitle{margin-top:5px;font-size:1.6rem;line-height:1.35}#homeTitle br{display:none}#homeTitle em{font-size:1.15rem;display:block}.campsite{width:min(100%,280px);height:145px;margin-top:-3px}.camp-sun{width:148px;height:148px;top:10px}.camp-sun:after{inset:-7px}.camp-ground{border-bottom-width:4px;height:44px;bottom:5px}.camp-dragon{width:230px;height:130px;bottom:6px}.camp-tree{width:82px;height:123px;bottom:7px;left:-4px}.camp-pine{width:61px;height:103px;bottom:8px}.camp-mushrooms{width:58px;height:57px;bottom:3px;right:-2px}.camp-flowers{width:51px;height:40px;bottom:-1px;left:15%}.camp-bubble{border-radius:10px 10px 10px 2px;padding:6px 9px;font-size:.58rem;top:10px;right:0}.spark-one{font-size:20px;top:0}.spark-two{font-size:15px;bottom:56px}.adventure-caption{margin:5px 0 16px;font-size:.7rem}.adventure-steps{display:none}.play-menu{border-radius:24px;padding:21px 18px}.menu-heading{gap:10px;margin-bottom:18px}.menu-heading h2{font-size:1.1rem}.menu-heading p{font-size:.75rem}.menu-sticker{border-radius:12px;width:36px;height:36px;font-size:23px}.play-menu h3{margin-bottom:10px;font-size:.79rem}#createRoom{min-height:50px;font-size:.88rem}.online-play label{margin-top:17px}.local-play h3{margin-bottom:5px}.local-play>p{margin-bottom:12px;font-size:.75rem}.player-picker{gap:6px}.player-picker button.big{min-height:56px}.rest-note{margin-top:20px;font-size:.72rem}.home-footer{gap:10px;padding:22px 4px 0}.home-footer>span:nth-child(2){font-size:.55rem}.footer-flower{font-size:1.3rem}.card{border-radius:22px;gap:12px;padding:0 18px 20px}.card .ribbon{margin:0 -18px;padding:14px;font-size:1rem}#lobby .map-pick,#lobby #avatarPick{grid-template-columns:repeat(3,minmax(0,1fr))}#gameMenuBtn span{display:none}#netBadge{position:absolute;top:calc(100% + 6px);right:0}#demoBox{width:160px;height:240px}#foeBox,#foe{height:120px}#battleHero{height:114px}}@media (width<=380px){.play-menu{padding:18px 14px}.player-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.player-picker button.big{border-radius:10px}.menu-heading h2{font-size:1rem}.join-row button{padding-inline:12px}#hud{font-size:.8rem}}@media (height<=580px) and (width>=761px){.home-brand{padding-bottom:12px}.home-shell{column-gap:40px}.play-menu{padding:22px}.campsite{height:245px}.camp-dragon{width:360px;height:205px}.camp-sun{width:190px;height:190px}#homeTitle{font-size:1.6rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}#phaseClock{z-index:60;white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;max-width:calc(100vw - 32px);color:var(--ink-2);pointer-events:none;background:#f4efdf;border-radius:14px;padding:5px 16px;font-size:.95rem;font-weight:700;position:fixed;top:64px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 2px #0000001f}#connecting .loading-runner{background-size:768px 128px;width:128px;height:128px}#connectText{font-size:1.05rem;font-weight:500}@keyframes loading-run-sm{to{background-position:-768px 0}}#connecting .loading-runner{animation:.66s steps(6,end) infinite loading-run-sm}#guide>.card{text-align:left;width:min(560px,94vw);max-height:92dvh;overflow-y:auto}#guideLead{color:var(--ink);opacity:.85;margin:10px 2px 4px;font-size:.92rem;line-height:1.45}#guideTabs{margin:6px 0 2px}#guideTabs button.big{flex:140px;min-height:44px;font-size:.9rem}#guideSteps{flex-direction:column;gap:8px;margin:8px 0;display:flex}.guide-step{background:#fffdf6;border:1px solid #0002;border-radius:12px;align-items:center;gap:10px;padding:8px 10px;display:flex}.guide-step img{object-fit:contain;flex:none;width:74px;height:74px}.guide-text{min-width:0}.guide-num{vertical-align:-4px;background:var(--green-2);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;margin-right:6px;font-size:.8rem;font-weight:800;display:inline-grid}.guide-text b{color:var(--ink);font-size:.98rem}.guide-text p{color:var(--ink);opacity:.78;margin:3px 0 0;font-size:.82rem;line-height:1.4}#guideOutro{white-space:pre-line;border:1px dashed var(--gold);color:var(--ink);overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;background:#f3ca7226;border-radius:10px;margin:6px 2px 10px;padding:9px 11px;font-size:.82rem;line-height:1.45}#guideGo{width:100%;margin-top:4px}button.linkish{width:100%;color:var(--ink);opacity:.6;font:inherit;cursor:pointer;background:0 0;border:0;margin:8px 0 0;padding:6px;font-size:.84rem;text-decoration:underline;display:block}#forkPick{z-index:20;pointer-events:none;position:fixed;inset:0}.fork-arrow{color:#fff;cursor:pointer;pointer-events:auto;background:#e5312b;border:4px solid #fff;border-radius:24px;width:92px;height:132px;font-size:3.4rem;line-height:1;animation:.9s ease-in-out infinite alternate fork-pulse;position:absolute;top:50%;box-shadow:0 6px #8f1410,0 0 26px #e5312bbf}#forkL{left:max(16px, env(safe-area-inset-left));--dx:-8px}#forkR{right:max(16px, env(safe-area-inset-right));--dx:8px}.fork-arrow:active{transform:translateY(-50%)scale(.94)}@keyframes fork-pulse{0%{transform:translateY(-50%)}to{transform:translateY(-50%) translateX(var(--dx)) scale(1.06)}}
