:where(button,[role=button],a,input,select,textarea,summary):focus-visible{outline:2px solid var(--p-sakura);outline-offset:2px;border-radius:6px}:where(button,[role=button],a,input,select,textarea,summary):focus:not(:focus-visible){outline:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.visuallyHidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:root{color-scheme:light;--font-sans: "baloo-2", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--ui-font-scale: 1.2;--scrim: linear-gradient(135deg, rgba(242, 194, 207, .55) 0%, rgba(174, 230, 242, .4) 55%, rgba(199, 217, 137, .5) 100%), rgba(243, 234, 216, .92);--menu-bg-image: url(/assets/menubg-main-DdXQ7xjM.webp);--menu-bg: var(--menu-bg-image) center / cover no-repeat;--p-sakura: #f2c2cf;--p-sky: #aee6f2;--p-sage: #93a66a;--p-grass: #c7d989;--p-wood: #bf8654;--p-gold: #eedd68;--p-stone: #e3cc8f;--bg: #f3ead8;--text: #2c2418;--muted: rgba(44, 36, 24, .58);--panel: rgba(255, 252, 247, .82);--panel2: rgba(227, 204, 143, .42);--panelSolid: rgba(255, 251, 245, .96);--tile: rgba(255, 255, 255, .55);--tileHover: rgba(242, 194, 207, .38);--tileBorder: rgba(191, 134, 84, .28);--shadow: 0 14px 40px rgba(44, 36, 24, .1);--accent: var(--p-wood);--accentSoft: rgba(191, 134, 84, .22);--interactive: var(--p-sage);--wind: var(--p-sky);--windMuted: rgba(90, 150, 168, .35);--gold: var(--p-gold);--sakura: var(--p-sakura);--boardSurface: #e4efc8;--boardBorder: rgba(147, 166, 106, .5);--overlayDim: rgba(44, 36, 24, .48);--boardStageHudInset: 10px;--boardDockPillFontSize: calc(12px * var(--ui-font-scale));--boardDockPillLineHeight: 1.3;--boardDockPillPadY: 7px;--boardDockPillTextNudgeY: 2px;--boardDockPillPadXTips: 14px;--boardDockPillPadXWide: 26px;--boardDockPillPadTips: calc(var(--boardDockPillPadY) + var(--boardDockPillTextNudgeY)) var(--boardDockPillPadXTips) calc(var(--boardDockPillPadY) - var(--boardDockPillTextNudgeY));--boardDockPillPadWide: calc(var(--boardDockPillPadY) + var(--boardDockPillTextNudgeY)) var(--boardDockPillPadXWide) calc(var(--boardDockPillPadY) - var(--boardDockPillTextNudgeY));--boardDockPillInnerH: calc(var(--boardDockPillFontSize) * var(--boardDockPillLineHeight));--boardDockPillOuterH: calc(2px + var(--boardDockPillPadY) + var(--boardDockPillPadY) + var(--boardDockPillInnerH));--boardDockPillRadius: 999px;--boardDockPillStroke: rgba(255, 255, 255, .92);--boardDockGap: 14px;--boardZoomCell: calc(var(--boardDockPillOuterH) - 2px - var(--boardDockPillPadY) - var(--boardDockPillPadY));--boardZoomIconSize: clamp(calc(17px * var(--ui-font-scale)), calc(var(--boardZoomCell) * .52), calc(24px * var(--ui-font-scale)));--boardZoomEmojiSize: clamp(calc(20px * var(--ui-font-scale)), calc(var(--boardZoomCell) * .7), calc(30px * var(--ui-font-scale)));--boardZoomPillPadY: 3px;--boardZoomPillPadX: 8px;--boardZoomRailInset: 3px;--boardZoomBtnPadX: 10px;--playerCardInactiveBg: rgba(199, 217, 137, .28);--boardDockPillBg: var(--playerCardInactiveBg);--boardDockPillBgHover: rgba(199, 217, 137, .4);--howToPlayCopySize: calc(13px * var(--ui-font-scale));--howToPlayCopyLH: 1.45;--howToPlayCopyPMargin: 10px;--howToPlayCardMaxW: min(860px, calc(100vw - 28px) );--howToPlayTitleSize: calc(17px * var(--ui-font-scale))}@media(max-height:620px){:root{--howToPlayCopySize: calc(12px * var(--ui-font-scale));--howToPlayCopyPMargin: 8px;--howToPlayTitleSize: calc(16px * var(--ui-font-scale))}}html,body{height:100%;min-height:100%;min-height:100dvh}body{margin:0;font-family:var(--font-sans);background:radial-gradient(900px 520px at 12% -8%,rgba(242,194,207,.55),transparent 58%),radial-gradient(800px 480px at 88% 8%,rgba(174,230,242,.4),transparent 55%),radial-gradient(1200px 700px at 50% 100%,rgba(199,217,137,.35),transparent 52%),linear-gradient(180deg,#faf4ea 0%,var(--bg) 45%,#ebe0cf 100%);color:var(--text)}.trueEnding .board.boardThree,.trueEnding .board.boardThree *{cursor:none!important}#app{max-width:1280px;margin:0 auto;padding:20px}#app.app--play{max-width:none;width:100%;margin:0;padding:0;min-height:100dvh;box-sizing:border-box;position:relative;overflow-x:hidden;background:#141210}#app.app--play .boardPanel{min-height:100dvh;width:100%;box-sizing:border-box;margin:0;padding:0;border-radius:0;background:transparent;box-shadow:none;border:none}#app.app--play .boardPanel.boardPanel--matchEnd{position:relative;z-index:40}#app.app--play .boardPanel--wind{box-shadow:none;border:1px solid rgba(90,150,168,.38)}#app.app--play .boardStage{position:relative;min-height:100dvh;width:100%;box-sizing:border-box}#app.app--play .boardPlayfield{position:absolute;inset:0;z-index:0;width:100%;min-height:100%;box-sizing:border-box}#app.app--play .board{position:absolute;inset:0;width:100%;height:100%;min-height:100%;max-width:none;max-height:none;aspect-ratio:auto;margin:0;border-radius:0;border:none;background:var(--boardSurface)}#app.app--play .topbar{position:absolute;top:0;left:0;right:0;z-index:3;box-sizing:border-box;padding:10px 14px 0;margin-bottom:0;background:transparent;border:none;pointer-events:none}#app.app--play .topbarTitleWrap{margin-left:290px;max-width:max(0px,calc(100% - 290px));min-width:0;box-sizing:border-box;padding-right:6px}#app.app--play .topbarActions{position:absolute;top:var(--boardStageHudInset);left:50%;transform:translate(-50%);flex-shrink:0;align-items:center;pointer-events:auto}#app.app--play .topbar *{pointer-events:auto}#app.app--play .topbarTitleWrap .title,#app.app--play .topbarTitleWrap .subtitle{text-shadow:0 1px 2px rgba(0,0,0,.45)}#app.app--play .matchEndDim{border-radius:0}.vibeJamPortalBtn{position:absolute;z-index:7;left:calc(var(--boardStageHudInset) + 178px);bottom:var(--boardStageHudInset);width:50px;height:50px;padding:0;border:0;background:transparent;color:#f8efe0;cursor:pointer;pointer-events:auto;filter:drop-shadow(0 8px 10px rgba(0,0,0,.32))}.vibeJamPortalBtn:hover,.vibeJamPortalBtn:focus-visible{filter:drop-shadow(0 0 10px rgba(255,228,145,.55)) drop-shadow(0 8px 10px rgba(0,0,0,.32))}.vibeJamPortal{position:absolute;inset:4px;display:block;border-radius:999px}.vibeJamPortalRing{position:absolute;inset:0;border-radius:999px;border:2px solid rgba(125,245,255,.96);background:transparent;box-shadow:0 0 8px #f8ffffd1,0 0 20px #7df5ffb3,inset 0 0 10px #7df5ff3d}.vibeJamPortalCore{display:none}.vibeJamPortalGlitter{position:absolute;inset:-20px;pointer-events:none}.vibeJamPortalSparkle{position:absolute;left:50%;top:50%;width:3px;aspect-ratio:1;border-radius:999px;background:#dffcff;box-shadow:0 0 7px 2px #7df5ffcc,0 0 13px #29d2ff94;opacity:0;transform:rotate(var(--vibeJamSparkleAngle)) translate(21px) scale(.4);animation:vibeJamPortalSparkleEmit var(--vibeJamSparkleDuration, 2.2s) ease-out infinite}.vibeJamPortalSparkle:nth-child(1){--vibeJamSparkleAngle: -22deg;--vibeJamSparkleDuration: 2s;animation-delay:-.2s}.vibeJamPortalSparkle:nth-child(2){--vibeJamSparkleAngle: 24deg;--vibeJamSparkleDuration: 2.4s;animation-delay:-1.1s}.vibeJamPortalSparkle:nth-child(3){--vibeJamSparkleAngle: 78deg;--vibeJamSparkleDuration: 2.1s;animation-delay:-.6s}.vibeJamPortalSparkle:nth-child(4){--vibeJamSparkleAngle: 128deg;--vibeJamSparkleDuration: 2.5s;width:4px;animation-delay:-1.8s}.vibeJamPortalSparkle:nth-child(5){--vibeJamSparkleAngle: 176deg;--vibeJamSparkleDuration: 2.2s;animation-delay:-.9s}.vibeJamPortalSparkle:nth-child(6){--vibeJamSparkleAngle: 222deg;--vibeJamSparkleDuration: 2.3s;width:4px;animation-delay:-2.2s}.vibeJamPortalSparkle:nth-child(7){--vibeJamSparkleAngle: 274deg;--vibeJamSparkleDuration: 1.95s;animation-delay:-1.4s}.vibeJamPortalSparkle:nth-child(8){--vibeJamSparkleAngle: 328deg;--vibeJamSparkleDuration: 2.6s;width:4px;animation-delay:-2.6s}.vibeJamPortalSparkle:nth-child(9){--vibeJamSparkleAngle: 4deg;--vibeJamSparkleDuration: 2.1s;width:4px;animation-delay:-1.7s}.vibeJamPortalSparkle:nth-child(10){--vibeJamSparkleAngle: 47deg;--vibeJamSparkleDuration: 2.5s;animation-delay:-.8s}.vibeJamPortalSparkle:nth-child(11){--vibeJamSparkleAngle: 102deg;--vibeJamSparkleDuration: 2s;width:4px;animation-delay:-2s}.vibeJamPortalSparkle:nth-child(12){--vibeJamSparkleAngle: 151deg;--vibeJamSparkleDuration: 2.4s;animation-delay:-1.3s}.vibeJamPortalSparkle:nth-child(13){--vibeJamSparkleAngle: 198deg;--vibeJamSparkleDuration: 2.2s;width:4px;animation-delay:-.5s}.vibeJamPortalSparkle:nth-child(14){--vibeJamSparkleAngle: 246deg;--vibeJamSparkleDuration: 2.6s;animation-delay:-2.4s}.vibeJamPortalSparkle:nth-child(15){--vibeJamSparkleAngle: 296deg;--vibeJamSparkleDuration: 1.95s;width:4px;animation-delay:-1s}.vibeJamPortalSparkle:nth-child(16){--vibeJamSparkleAngle: 350deg;--vibeJamSparkleDuration: 2.3s;animation-delay:-2.8s}.vibeJamPortalLabel{position:absolute;left:0;bottom:calc(100% + 10px);transform:translateY(2px);padding:6px 10px;border-radius:999px;background:#0c0e2adb;color:#fff;font-size:12px;font-weight:700;letter-spacing:.03em;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .14s ease,transform .14s ease}.vibeJamPortalBtn:hover .vibeJamPortalSparkle,.vibeJamPortalBtn:focus-visible .vibeJamPortalSparkle{animation-duration:2.2s}.vibeJamPortalBtn:hover .vibeJamPortalLabel,.vibeJamPortalBtn:focus-visible .vibeJamPortalLabel{opacity:1;transform:translateY(0)}@keyframes vibeJamPortalSparkleEmit{0%{opacity:0;transform:rotate(var(--vibeJamSparkleAngle)) translate(21px) scale(.3)}16%{opacity:.95;transform:rotate(var(--vibeJamSparkleAngle)) translate(28px) scale(1)}to{opacity:0;transform:rotate(var(--vibeJamSparkleAngle)) translate(42px) scale(.2)}}.topbar{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;margin-bottom:14px}.topbarActions{display:flex;gap:var(--boardDockGap);align-items:center;flex-shrink:0}.boardBottomDockPill.restartGameBtn--confirming,.boardBottomDockPill.restartGameBtn--confirming:hover{background:#db707038;color:#6e2626;border-color:#bf5a5a8c}.mpOverlay{display:none;position:fixed;inset:0;z-index:100;align-items:center;justify-content:center;padding:20px;background:var(--menu-bg);background-color:var(--bg)}.mpOverlay--visible{display:flex}.mpOverlayCard{max-width:340px;background:var(--panelSolid);border:1px solid var(--tileBorder);border-radius:14px;padding:22px;box-shadow:var(--shadow)}.mpOverlayHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.mpOverlayTitle{font-weight:700;font-size:calc(18px * var(--ui-font-scale));margin:0;flex:1;min-width:0}.mpOverlayClose{font:inherit;font-size:calc(22px * var(--ui-font-scale));line-height:1;width:36px;height:36px;padding:0;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;flex-shrink:0}.mpOverlayClose:hover{background:#f2c2cf59;color:var(--text)}.mpOverlayBody{margin:0 0 18px;color:var(--muted);font-size:calc(14px * var(--ui-font-scale));line-height:1.45}.mpOverlayBtn{font:inherit;font-size:calc(14px * var(--ui-font-scale));font-weight:600;padding:10px 16px;border-radius:10px;border:1px solid var(--tileBorder);background:var(--panel2);color:var(--text);cursor:pointer}.mpOverlayBtn:hover{background:#f2c2cf59}.mpYouAre{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:10px;font-size:calc(14px * var(--ui-font-scale));padding:6px 8px;border-radius:8px;background:var(--playerCardInactiveBg);border:1px solid rgba(147,166,106,.45)}.mpYouAreLabel{color:var(--muted);font-weight:500}.mpYouAreId{font-weight:800;letter-spacing:.04em}.mpYouAreColorDot{width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.35);flex-shrink:0}.mpSeatsLabel{font-size:calc(11px * var(--ui-font-scale));font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px}.mpSeatStrip{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.mpSeatCell{display:flex;align-items:center;gap:4px;font-size:calc(12px * var(--ui-font-scale));font-weight:600;color:var(--text)}.mpSeatId{min-width:0;max-width:9.5em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.9}.mpSeatDot{box-sizing:border-box;width:10px;height:10px;border-radius:50%}.mpSeatDot--on{background:var(--p-sage);box-shadow:0 0 6px #93a66a80}.mpSeatDot--off{background:transparent;border:2px solid rgba(255,255,255,.95);box-shadow:0 0 0 1px #2c241824}.mpStatusLine{color:#bf8654f2}.windRow{font-size:calc(12px * var(--ui-font-scale));font-weight:600;color:#3c6e7df2;margin-bottom:12px;padding:6px 8px;border-radius:8px;background:#aee6f259;border:1px solid rgba(90,150,168,.35)}.windPanel{margin-bottom:14px;padding:10px 12px;border-radius:10px;background:#aee6f247;border:1px solid rgba(90,150,168,.32)}.windPanel--active{background:#aee6f273;border-color:#5a96a880;box-shadow:0 0 0 1px #aee6f259}.windPanel--hud.windPanel--active{background:linear-gradient(135deg,#eedd6847,#aee6f261);border-color:#bf86546b;box-shadow:0 0 0 1px #f2c2cf59,0 4px 18px #5a96a82e}.windPanelCountdownLabel{font-size:calc(11px * var(--ui-font-scale));font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:4px}.windPanelCountdownTime{font-size:calc(22px * var(--ui-font-scale));font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:#2d5f6efa;margin-bottom:8px;line-height:1.1}.windPanelCountdownBar{height:6px;border-radius:999px;background:#2c24181f;overflow:hidden}.windPanelCountdownFill{height:100%;border-radius:999px;background:linear-gradient(90deg,#93a66abf,#aee6f2f2);transition:width .12s linear}.windPanelCountdownBar--soon{background:#f2c2cfb8;box-shadow:inset 0 0 0 1px #c76b8447}.windPanelNextPreview{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:6px;font-size:calc(13px * var(--ui-font-scale));font-weight:800;letter-spacing:.04em;color:#376976f2}.windPanelNextPreview--muted{margin-top:8px;font-size:calc(11px * var(--ui-font-scale));font-weight:700;color:var(--muted)}.windPanelNextPreviewLabel{font-size:calc(9px * var(--ui-font-scale));font-weight:700;text-transform:uppercase;letter-spacing:.08em;opacity:.85;margin-right:2px}.windPanelNextPreviewArrow{font-size:calc(14px * var(--ui-font-scale));line-height:1}.windPanelNextPreviewTxt{font-size:inherit}.windPanelActive{display:flex;align-items:center;justify-content:center;gap:10px}.windPanelArrow{font-size:calc(32px * var(--ui-font-scale));line-height:1;font-weight:700;color:#468294fa;text-shadow:0 0 14px rgba(174,230,242,.65)}.windPanelActiveText{display:flex;flex-direction:column;gap:2px}.windPanelActiveTitle{font-size:calc(11px * var(--ui-font-scale));font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.windPanelActiveDir{font-size:calc(20px * var(--ui-font-scale));font-weight:900;letter-spacing:.06em;color:#235562fa}.windPanelActiveSub{margin-top:8px;font-size:calc(12px * var(--ui-font-scale));font-weight:600;color:#bf8654f2}.title{font-weight:700;letter-spacing:.2px}.subtitle{margin-top:4px;color:var(--muted);font-size:calc(13px * var(--ui-font-scale))}.panel{background:var(--panel);border:1px solid var(--tileBorder);border-radius:12px;box-shadow:var(--shadow);padding:12px}.boardPanel--wind{border-color:#5a96a861;box-shadow:var(--shadow),0 0 0 1px #aee6f259,inset 0 0 24px #aee6f21f}.boardPanel{width:100%;max-width:none}.boardStage{position:relative;width:100%;box-sizing:border-box}.boardPlayfield{position:relative;width:100%;z-index:0}.boardViewBar{position:relative;z-index:0;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:4px;padding:var(--boardZoomPillPadY) var(--boardZoomPillPadX);margin:0;height:var(--boardDockPillOuterH);min-height:var(--boardDockPillOuterH);max-height:var(--boardDockPillOuterH);border-radius:var(--boardDockPillRadius);border:1px solid var(--tileBorder);background:var(--panelSolid);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-shrink:0;min-width:0;pointer-events:auto;box-sizing:border-box}.boardViewBar:before{content:"";position:absolute;left:var(--boardZoomRailInset);right:var(--boardZoomRailInset);top:50%;transform:translateY(-50%);height:calc(var(--boardZoomCell) + 4px);max-height:calc(100% - 2 * var(--boardZoomPillPadY));border-radius:999px;background:#ffffff47;pointer-events:none;z-index:0}.boardViewBarBtn{font:inherit;font-size:var(--boardZoomIconSize);font-weight:600;line-height:1;flex:0 0 auto;position:relative;z-index:1;min-width:var(--boardZoomCell);width:auto;height:var(--boardZoomCell);min-height:var(--boardZoomCell);padding:0 var(--boardZoomBtnPadX);margin:0;border:none;border-radius:calc(var(--boardZoomCell) * .28);cursor:pointer;color:var(--text);background:#ffffff61;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;transform:translateY(2px)}.boardViewBarBtn:hover{background:#ffffff8c}.boardViewBarBtn:focus-visible{outline:2px solid rgba(90,130,75,.65);outline-offset:2px}.boardViewBarBtn--paw{font-size:var(--boardZoomEmojiSize);line-height:1}.boardViewBarBtn--active{background:#5a824b6b;box-shadow:inset 0 0 0 1px #32502d73}.boardViewBarBtn--reset{font-size:clamp(calc(16px * var(--ui-font-scale)),calc(var(--boardZoomEmojiSize) - 2px),calc(28px * var(--ui-font-scale)));font-weight:400}.matchEndDim{position:absolute;inset:0;z-index:2;border-radius:12px;background:#1620127a;pointer-events:none;display:none}.boardPanel--matchEnd .matchEndDim{display:block;pointer-events:auto}.matchEndCard{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:10;display:none;width:min(400px,calc(100vw - 16px));max-height:min(90vh,720px);overflow-x:visible;overflow-y:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box;padding:8px 10px 7px;background:var(--panelSolid);border:1px solid var(--tileBorder);border-radius:12px;box-shadow:var(--shadow),0 12px 40px #0000002e;text-align:center}.boardPanel--matchEnd .matchEndCard{display:block}.matchEndLogo{position:relative;z-index:1;display:block;width:min(200px,72%);height:auto;margin:-2px auto 4px;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.matchEndHeader{display:flex;align-items:flex-start;justify-content:center;gap:6px;margin-bottom:4px;padding:0 30px}.matchEndTitle{margin:0;font-size:calc(1.15rem * var(--ui-font-scale));font-weight:700;line-height:1.25;color:var(--text);flex:1 1 auto;min-width:0;width:auto;max-width:100%;text-align:center}.matchEndClose{position:absolute;top:4px;right:4px;font:inherit;font-size:calc(20px * var(--ui-font-scale));line-height:1;width:32px;height:32px;padding:0;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;flex-shrink:0}.matchEndClose:hover{background:#f2c2cf59;color:var(--text)}.matchEndList{display:flex;flex-direction:column;gap:6px;margin:0 0 8px;overflow:visible}.matchEndRow{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:calc(12px * var(--ui-font-scale));line-height:1.35;text-align:center;overflow:visible}.matchEndRow--winner{padding:8px 6px;margin:2px -4px;border-radius:12px;background:linear-gradient(135deg,#f2c2cf61,#eedd6824 55%,#aee6f21f);border:1px solid rgba(242,194,207,.55);box-shadow:0 0 0 1px #fffcf799 inset}.matchEndWinnerBurst{position:absolute;left:50%;top:42%;width:0;height:0;overflow:visible;pointer-events:none;z-index:5}.matchEndWinnerPetal{position:absolute;left:0;top:0;width:34px;height:34px;margin-left:-17px;margin-top:-17px;background-size:contain;background-repeat:no-repeat;background-position:center;opacity:0;filter:drop-shadow(0 2px 4px rgba(44,36,24,.12));animation:matchEndWinnerPetalBurst 2s cubic-bezier(.22,.72,.2,1) forwards;animation-delay:var(--burstDelay, 0s);will-change:transform,opacity}@keyframes matchEndWinnerPetalBurst{0%{opacity:1;transform:scale(.08) rotate(0);animation-timing-function:cubic-bezier(.33,.82,.45,1)}15%{opacity:1;transform:scale(1.18) rotate(calc(var(--burstRot, 0deg) * .22));animation-timing-function:cubic-bezier(.12,.85,.32,1)}80%{opacity:1;transform:translate(var(--burstDx, 0px),var(--burstDy, 0px)) scale(.92) rotate(var(--burstRot, 12deg));animation-timing-function:ease-out}to{opacity:0;transform:translate(var(--burstDx, 0px),var(--burstDy, 0px)) scale(.92) rotate(var(--burstRot, 12deg))}}@media(max-width:519px){.matchEndWinnerPetal{width:26px;height:26px;margin-left:-13px;margin-top:-13px}}@media(prefers-reduced-motion:reduce){.matchEndWinnerPetal{animation:none;opacity:0;display:none}}.matchEndPlayerLine{display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:6px 10px;width:100%;min-width:0}.matchEndRank{font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0}.matchEndName{font-weight:600;min-width:0;text-align:center}.matchEndPts{font-weight:800;font-variant-numeric:tabular-nums;text-align:center;font-size:calc(28px * var(--ui-font-scale));line-height:1.1;letter-spacing:.02em;color:var(--text)}.matchEndActions{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;padding-top:2px}.matchEndPlayAgain,.matchEndDownload,.matchEndExit{font:inherit;font-size:calc(12px * var(--ui-font-scale));font-weight:600;padding:6px 12px;border-radius:8px;border:1px solid var(--tileBorder);background:linear-gradient(180deg,#ffffff24,#fff0);color:var(--text);cursor:pointer}.matchEndDownload{background:linear-gradient(180deg,#c76b8633,#c76b860f);border-color:#c76b8659}.matchEndExit{font-weight:500;color:var(--muted);background:transparent}.matchEndPlayAgain:hover,.matchEndDownload:hover,.matchEndExit:hover{filter:brightness(1.05)}.matchEndPlayAgain:focus-visible,.matchEndDownload:focus-visible,.matchEndExit:focus-visible{outline:2px solid rgba(90,130,75,.65);outline-offset:2px}.boardBottomDock{position:absolute;z-index:6;left:50%;right:auto;bottom:var(--boardStageHudInset);transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;padding:0;max-width:min(calc(100% - 2 * var(--boardStageHudInset)),920px);box-sizing:border-box;pointer-events:none}.boardBottomDock--unified{background:transparent;border:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.boardBottomDock>*{pointer-events:auto}.boardBottomDockRow{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-end;justify-content:center;gap:var(--boardDockGap);max-width:100%;min-width:0;overflow-x:visible;overflow-y:visible}.boardBottomDockRow>.boardViewBar,.boardBottomDockRow>.boardBottomDockPill--btn{height:var(--boardDockPillOuterH);min-height:var(--boardDockPillOuterH);max-height:var(--boardDockPillOuterH);box-sizing:border-box}.boardBottomDockRow>.mpConnFloat:has(.mpPlayerBar:not(.localPlayerBar)),.boardBottomDockRow>.mpConnFloat--mpOnline{align-self:flex-end;min-height:var(--boardDockPillOuterH);height:auto;max-height:none;box-sizing:border-box}.boardBottomDockRow>.mpConnFloat--mpCollapsed{height:var(--boardDockPillOuterH);max-height:var(--boardDockPillOuterH);box-sizing:border-box}.boardBottomDockRow>.mpConnFloat--mpCollapsed .mpPlayerBar--online{height:100%;min-height:0}.boardBottomDockRow>.mpConnFloat:has(.localPlayerBar--collapsed){height:var(--boardDockPillOuterH);max-height:var(--boardDockPillOuterH);box-sizing:border-box}.boardBottomDockRow>.mpConnFloat:has(.localPlayerBar--collapsed) .mpPlayerBar.localPlayerBar{height:100%;min-height:0}.boardBottomDockStatus{width:100%;max-width:100%;margin:0;padding:0 4px;text-align:right;font-size:var(--boardDockPillFontSize);font-weight:600;line-height:1.35;color:#fff;box-sizing:border-box}.boardBottomDockPill{font:inherit;font-size:var(--boardDockPillFontSize);font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:var(--boardDockPillLineHeight);padding:var(--boardDockPillPadTips);min-height:var(--boardDockPillOuterH);border-radius:var(--boardDockPillRadius);border:1px solid var(--tileBorder);background:var(--panelSolid);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text);flex-shrink:0;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center}.boardBottomDockPill--btn{color:var(--text);cursor:pointer}.boardBottomDockPill--btn:hover{background:var(--boardDockPillBgHover);border-color:#bf865473}.rulesOverlay{display:none;position:fixed;inset:0;z-index:100;flex-direction:column;align-items:center;justify-content:flex-start;box-sizing:border-box;min-height:0;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));overflow-y:auto;-webkit-overflow-scrolling:touch;background:#16201285}.rulesOverlay--visible{display:flex;min-height:100dvh}.rulesOverlayCard{position:relative;width:100%;max-width:var(--howToPlayCardMaxW);margin-block:auto;flex-shrink:0;overflow:visible;display:flex;flex-direction:column;background:var(--panelSolid);border:1px solid var(--tileBorder);border-radius:14px;box-shadow:var(--shadow);color:var(--text)}.rulesOverlayHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 10px;border-bottom:1px solid var(--tileBorder);flex-shrink:0}.rulesOverlayTitle{margin:0;font-size:var(--howToPlayTitleSize);font-weight:700}.rulesOverlayClose{font:inherit;font-size:calc(22px * var(--ui-font-scale));line-height:1;width:36px;height:36px;padding:0;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;flex-shrink:0}.rulesOverlayClose:hover{background:#f2c2cf59;color:var(--text)}.rulesOverlayBody{padding:12px 18px 18px;overflow:visible;font-size:var(--howToPlayCopySize);line-height:var(--howToPlayCopyLH);color:var(--muted)}.rulesOverlayBody p{margin:0 0 var(--howToPlayCopyPMargin)}.rulesOverlayBody p:last-child{margin-bottom:0}.rulesOverlayBody b{color:var(--text);font-weight:600}.cornerHud{position:absolute;z-index:4;max-width:min(165px,calc(100vw - 20px));background:var(--panelSolid);border:1px solid var(--tileBorder);border-radius:10px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:7px 9px;font-size:calc(11px * var(--ui-font-scale));min-width:0;pointer-events:none;overflow:visible;color:var(--text)}.cornerHud>*{pointer-events:auto}.cornerHud,.cornerHud *{cursor:default}.cornerHud--tl{top:10px;left:10px;width:min(165px,calc(100vw - 20px));max-width:min(165px,calc(100vw - 20px));padding:7px 5px;box-sizing:border-box;overflow-wrap:anywhere;word-wrap:break-word}#app.app--play .cornerHud--tl{top:var(--boardStageHudInset);left:var(--boardStageHudInset)}.cornerHud--tr{top:10px;right:10px}.scoreboardDock{position:absolute;z-index:4;top:var(--boardStageHudInset);right:var(--boardStageHudInset);bottom:calc(var(--boardStageHudInset) + var(--boardDockPillOuterH) + 14px);width:min(200px,calc(100vw - 2 * var(--boardStageHudInset)));min-width:min(200px,calc(100vw - 2 * var(--boardStageHudInset)));max-width:min(200px,calc(100vw - 2 * var(--boardStageHudInset)));box-sizing:border-box;pointer-events:none;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}#app.app--play .scoreboardDock{top:var(--boardStageHudInset)}.scoreboardDock>*{pointer-events:none}.scoreboardDock .scoreboardPanel *{pointer-events:none}.scoreboardPanel{display:flex;flex-direction:column;width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow-x:hidden}.scoreboardPanelMain{flex:1;min-width:0;max-width:100%;box-sizing:border-box;padding-left:15px;overflow-x:hidden;overflow-y:visible}.scoreboardPanelMain>.cornerHudTitle{color:#fff;text-align:center}.cornerHud--bl{bottom:var(--boardStageHudInset);left:var(--boardStageHudInset);width:min(165px,calc(100vw - 2 * var(--boardStageHudInset)));max-width:min(165px,calc(100vw - 2 * var(--boardStageHudInset)));padding:8px 6px;box-sizing:border-box;overflow-wrap:anywhere;word-wrap:break-word}.boardBottomDock .mpConnFloat:empty{display:none}.boardBottomDock .mpConnFloat{display:flex;flex-direction:row;align-items:stretch;justify-content:flex-end;flex-wrap:nowrap;gap:var(--boardDockGap);padding:0;margin:0;background:transparent;border:none;box-shadow:none;box-sizing:border-box;max-width:100%;min-width:0;min-height:var(--boardDockPillOuterH);flex:0 1 auto;pointer-events:none}.boardBottomDockRow>.mpConnFloat{align-self:flex-end}.mpConnFloat>*{pointer-events:auto}.mpPlayerBar{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;flex-wrap:nowrap;gap:10px 12px;padding:var(--boardDockPillPadWide);border-radius:var(--boardDockPillRadius);background:var(--panelSolid);border:1px solid var(--tileBorder);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:var(--boardDockPillFontSize);flex-shrink:1;min-width:0;color:var(--text)}.mpPlayerBar .cornerHudTitle--mpBar{margin-bottom:0;flex-shrink:0;line-height:1.2}.mpPlayerBar .mpSeatStrip--inline{margin-bottom:0;flex-wrap:nowrap;gap:6px 8px}.mpPlayerBar .mpSeatMeta--mpBar{margin-bottom:0;line-height:1.2;white-space:nowrap}.boardBottomDock .mpConnFloat .mpPlayerBar{min-width:0;overflow:hidden}.boardBottomDock .mpConnFloat .mpPlayerBar:not(.localPlayerBar){box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:var(--boardDockPillOuterH);height:auto;max-height:none;flex-shrink:1;flex-wrap:wrap;align-items:center;row-gap:4px;overflow:visible}.boardBottomDock .mpConnFloat:has(.mpPlayerBar:not(.localPlayerBar)),.boardBottomDock .mpConnFloat--mpOnline{flex:1 1 0;min-width:0;max-width:100%}.boardBottomDock .mpConnFloat--mpCollapsed{flex:0 0 min(170px,62vw);width:min(170px,62vw);min-width:min(170px,62vw);max-width:min(240px,62vw)}.mpPlayerBar--online.mpPlayerBar--collapsed{gap:0;max-width:min(240px,62vw)}.boardBottomDock .mpConnFloat .mpPlayerBar--online.mpPlayerBar--collapsed{width:100%;min-width:100%;max-width:100%;flex:0 0 auto;padding:var(--boardDockPillPadWide);min-height:var(--boardDockPillOuterH);max-height:var(--boardDockPillOuterH);border-radius:var(--boardDockPillRadius);align-items:stretch;overflow:hidden}.boardBottomDock .mpPlayerBar--online.mpPlayerBar--collapsed:hover{background:var(--boardDockPillBgHover);border-color:#bf865473}.mpPlayerBarToggle{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:0;border:1px solid transparent;border-radius:var(--boardDockPillRadius);background:transparent;color:inherit;font:inherit;font-size:var(--boardDockPillFontSize);font-weight:700;line-height:var(--boardDockPillLineHeight);cursor:pointer}.mpPlayerBarToggle:hover{color:var(--text);background:var(--boardDockPillBgHover);border-color:#bf865473}.mpPlayerBar--collapsed .mpPlayerBarToggle{white-space:nowrap;min-width:0;width:100%}.mpPlayerBar--collapsed .mpPlayerBarToggle:hover{background:transparent;border-color:transparent}.mpPlayerBarToggle:focus-visible{outline:2px solid rgba(147,166,106,.65);outline-offset:2px}.mpPlayerBarToggleLabel{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.mpPlayerBarToggleChev{flex-shrink:0;font-size:var(--boardDockPillFontSize);line-height:1;opacity:.75}.boardBottomDock .mpPlayerBar:not(.localPlayerBar) .mpSeatStrip--inline{flex:1 1 0;min-width:0;flex-wrap:wrap}.boardBottomDock .mpPlayerBar:not(.localPlayerBar) .mpSeatCell{min-width:0}.boardBottomDock .mpPlayerBar:not(.localPlayerBar) .mpSeatId{max-width:none;overflow:visible;text-overflow:unset;white-space:normal;overflow-wrap:anywhere}.boardBottomDock .mpPlayerBar.localPlayerBar{flex:0 1 auto;overflow:hidden}.localPlayerBarBody{min-width:0;width:100%;box-sizing:border-box}.localPlayerBarBodyHeader{margin-bottom:6px}.localPlayerBarTitleWithHelp{display:inline-flex;align-items:center;gap:2px}.localPlayerBarTitleWithHelp .infoChip{flex-shrink:0}.localPlayerBarBodyHeaderTitle{font-size:calc(11px * var(--ui-font-scale));font-weight:700;letter-spacing:.04em;color:var(--muted);text-transform:uppercase}.infoChip{position:relative;display:inline-flex;align-items:center;flex-shrink:0}.infoChipBtn{width:22px;height:22px;padding:0;border-radius:50%;border:1px solid var(--tileBorder);background:#ffffff8c;color:var(--muted);font:inherit;font-size:calc(12px * var(--ui-font-scale));font-weight:700;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.infoChipBtn:hover{background:#f2c2cf66;color:var(--text);border-color:#bf865473}.infoChipBtn:focus-visible{outline:2px solid rgba(147,166,106,.6);outline-offset:2px}.infoChipBtn[aria-expanded=true]{background:var(--panelSolid);color:var(--text);border-color:#bf86548c}.infoChipBody{box-sizing:border-box;width:max-content;max-width:min(280px,calc(100vw - 16px));padding:10px 12px;background:var(--panelSolid);border:1px solid var(--tileBorder);border-radius:10px;box-shadow:var(--shadow);font-size:calc(12px * var(--ui-font-scale));line-height:1.45;color:var(--text);font-weight:400;letter-spacing:0;text-transform:none;white-space:normal;text-align:left;pointer-events:auto}.infoChipBody.infoChipBody--open{box-shadow:0 4px 24px #2c24182e,var(--shadow)}.infoChipBody[hidden]{display:none}.infoChip--inline .infoChipBtn{width:15px;height:15px;font-size:calc(8px * var(--ui-font-scale));font-weight:800;border-width:1px}.infoChip--inline .infoChipBody{padding:8px 10px;font-size:calc(11px * var(--ui-font-scale));line-height:1.4;max-width:min(260px,calc(100vw - 16px))}.localPlayerBar{flex-direction:column;align-items:stretch;gap:8px;flex-wrap:nowrap;max-width:min(220px,42vw)}.boardBottomDock .mpPlayerBar.localPlayerBar:not(.localPlayerBar--collapsed){border-radius:14px;padding:12px 16px}.localPlayerBar:not(.localPlayerBar--collapsed){max-width:min(300px,calc(100vw - 24px))}.localPlayerBar--collapsed{gap:0;max-width:min(240px,62vw)}.boardBottomDock .mpPlayerBar.localPlayerBar.localPlayerBar--collapsed{padding:var(--boardDockPillPadWide);min-height:var(--boardDockPillOuterH);max-height:var(--boardDockPillOuterH);box-sizing:border-box;justify-content:center;overflow:hidden}.boardBottomDock .mpPlayerBar.localPlayerBar.localPlayerBar--collapsed:hover{background:var(--boardDockPillBgHover);border-color:#bf865473}.boardBottomDock .mpPlayerBar.localPlayerBar:not(.localPlayerBar--collapsed){-webkit-backdrop-filter:none;backdrop-filter:none}.localPlayerBar--collapsed .localPlayerBarToggle{white-space:nowrap;min-width:0}.localPlayerBar--collapsed .localPlayerBarToggleLabel{overflow:hidden;text-overflow:ellipsis;min-width:0}.localPlayerBarToggle{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:6px;width:100%;margin:0;padding:0;border:1px solid transparent;box-sizing:border-box;background:transparent;font:inherit;font-size:var(--boardDockPillFontSize);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text);cursor:pointer;touch-action:manipulation;border-radius:6px;text-align:left;line-height:var(--boardDockPillLineHeight)}.localPlayerBarToggle:hover{color:var(--text);background:var(--boardDockPillBgHover);border-color:#bf865473}.localPlayerBar:not(.localPlayerBar--collapsed) .localPlayerBarToggle:hover{border-color:transparent}.localPlayerBar--collapsed .localPlayerBarToggle:hover{background:transparent;border-color:transparent}.localPlayerBarToggle:focus-visible{outline:2px solid rgba(147,166,106,.65);outline-offset:2px}.localPlayerBarToggleLabel{flex:1;min-width:0}.localPlayerBarToggleChev{flex-shrink:0;font-size:var(--boardDockPillFontSize);line-height:1;opacity:.75}.localPlayerBar--collapsed .localPlayerBarBody{display:none}.localSeatChecks{display:flex;flex-direction:column;gap:4px}.localSeatRow{display:flex;flex-direction:row;align-items:center;gap:6px;font-size:calc(11px * var(--ui-font-scale));font-weight:600;color:var(--text);-webkit-user-select:none;user-select:none}.localSeatPlayCheckbox{flex-shrink:0;width:14px;height:14px;margin:0;cursor:pointer;accent-color:rgba(90,130,75,.95)}.localSeatPlayCheckbox:focus-visible{outline:2px solid rgba(90,130,75,.55);outline-offset:2px}.localSeatNameInput{flex:1 1 72px;min-width:0;max-width:96px;font:inherit;font-size:calc(10px * var(--ui-font-scale));font-weight:600;padding:4px 6px;border-radius:6px;border:1px solid var(--tileBorder);background:var(--panelSolid);color:var(--text);box-sizing:border-box}.localSeatNameInput:focus-visible{outline:2px solid rgba(90,130,75,.55);outline-offset:1px}.localSeatKindSelect{margin-left:auto;font:inherit;font-size:calc(10px * var(--ui-font-scale));font-weight:600;padding:5px 8px;border-radius:8px;border:1px solid var(--tileBorder);background:var(--panelSolid);color:var(--text);min-width:104px;cursor:pointer;box-sizing:border-box}.localSeatKindSelect:hover:not(:disabled){background:var(--boardDockPillBgHover);border-color:#bf865473}.localSeatKindSelect:disabled{opacity:.45;cursor:not-allowed}.localSeatKindSelect:focus-visible{outline:2px solid rgba(90,130,75,.55);outline-offset:1px}.localSeatDot{width:8px;height:8px;border-radius:999px;flex-shrink:0;border:1px solid rgba(44,36,24,.2)}.localTimerBlock{margin-top:10px;padding-top:10px;border-top:1px solid rgba(44,36,24,.1);display:flex;flex-direction:column;gap:8px}.localTimerBlockTitle{font-size:calc(10px * var(--ui-font-scale));font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.localTimerRow{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:6px 8px}.localTimerLabelWithHelp{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:3px;flex:0 1 auto;min-width:0}.localTimerLabelWithHelp .infoChip{flex-shrink:0}.localTimerCheckbox{width:14px;height:14px;flex-shrink:0;margin-top:1px;accent-color:var(--p-sage);cursor:pointer}.localTimerCheckboxLabel{flex:0 1 auto;min-width:0;font-size:calc(10px * var(--ui-font-scale));line-height:1.35;font-weight:500;color:var(--text);cursor:pointer}.localTimerBudgetSelect{flex-shrink:0;font:inherit;font-size:calc(11px * var(--ui-font-scale));padding:4px 8px;border-radius:8px;border:1px solid var(--tileBorder);background:var(--panelSolid);color:var(--text);cursor:pointer}.localTimerBudgetSelect:hover:not(:disabled){background:var(--boardDockPillBgHover);border-color:#bf865473}.localTimerBudgetSelect:disabled{cursor:not-allowed;opacity:.5}.hudTopStack{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%;max-width:100%;min-width:0}.catHudMini{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;width:100%;max-width:100%;box-sizing:border-box}.catHudMiniRow{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px}.catHudMiniNum{font-size:calc(18px * var(--ui-font-scale));font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--text)}.catHudMiniLab{font-size:calc(13px * var(--ui-font-scale));font-weight:600;color:#5a824be6}.catHudMiniCaption{font-size:calc(9px * var(--ui-font-scale));font-weight:500;line-height:1.25;color:var(--muted);max-width:100%}.hudCatDots{display:flex;flex-direction:column;align-items:stretch;row-gap:2px;margin-top:1px;width:100%;max-width:100%;box-sizing:border-box;line-height:1}.hudCatDotsRow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));column-gap:2px;row-gap:0;align-items:center;justify-items:center;width:100%;box-sizing:border-box;container-type:inline-size;container-name:hudcatrow}.hudCatDotsRow>.hudCatSlot,.hudCatDotsRow>.hudStatueSlot{box-sizing:border-box;padding:0;margin:0;border:0;min-width:0;text-align:center;line-height:1;font-weight:300;-webkit-font-smoothing:antialiased;font-size:clamp(calc(18px * var(--ui-font-scale)),2.75vw,calc(26px * var(--ui-font-scale)))}@supports (container-type: inline-size){.hudCatDotsRow>.hudCatSlot,.hudCatDotsRow>.hudStatueSlot{font-size:clamp(calc(18px * var(--ui-font-scale)),15.8cqw,calc(27px * var(--ui-font-scale)))}}.hudStatueSlot{box-sizing:border-box;padding:0;margin:0;border:0;-webkit-user-select:none;user-select:none;line-height:1;font-weight:300;color:#bf8654f2;text-shadow:0 0 2px rgba(238,221,104,.2)}.hudCatSlot{box-sizing:border-box;padding:0;margin:0;border:0;-webkit-user-select:none;user-select:none;font-weight:300}.hudCatSlot--on{color:var(--hud-cat-dot, rgba(147, 166, 106, .95));text-shadow:0 0 2px rgba(199,217,137,.18)}.hudCatSlot--off{color:#2c24182e}.hudIdRow{margin-top:6px}.cdBlock{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;width:var(--cd-bar-width, 168px);box-sizing:border-box}.cornerHud.cornerHud--tl .cdBlock{width:150px;max-width:150px;box-sizing:border-box;align-self:flex-start}.cdMiniCaption{font-size:calc(9px * var(--ui-font-scale));font-weight:500;line-height:1.25;color:var(--muted);max-width:100%}.cdMiniCaption--stacked{display:flex;flex-direction:column;gap:1px;align-items:flex-start}.cdMiniCaptionLine{display:block;line-height:1.3}.cdMini{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%;min-width:0}.cdMiniText{display:flex;align-items:baseline;gap:3px;font-size:calc(11px * var(--ui-font-scale));color:var(--muted);white-space:nowrap}.cdMiniLab{font-size:calc(9px * var(--ui-font-scale));font-weight:700;text-transform:uppercase;letter-spacing:.06em;opacity:.75}.cdMiniMs{font-size:calc(10px * var(--ui-font-scale));opacity:.75}.cdMiniText b{display:inline-block;min-width:4ch;text-align:right;color:var(--text);font-variant-numeric:tabular-nums}.cooldownBarTrack--mini{width:100%;height:6px;flex-shrink:0;box-sizing:border-box}.windDirLine{display:flex;align-items:center;justify-content:center;gap:6px;font-weight:700;font-size:var(--boardDockPillFontSize);color:#376976f2;margin-bottom:6px;width:100%;box-sizing:border-box}.windDirLineNow{display:flex;align-items:center;gap:6px}.windDirArrowIso{display:inline-block;vertical-align:middle;transform-origin:50% 50%;line-height:1}.windDirLineArrow{font-size:calc(19px * var(--ui-font-scale))}.windDirLineTxt{letter-spacing:.04em}.windPanel--hud{margin-bottom:0;padding:8px 10px;max-width:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;text-align:center}.windPanel--hud .windPanelCountdownBar{width:100%;align-self:stretch}.windPanel--hud .windPanelCountdownLabel,.windPanel--hud .windPanelCountdownTime{width:100%}.windPanel--hud .windPanelCountdownLabel{font-size:var(--boardDockPillFontSize)}.windPanelCountdownTime--compact{font-size:calc(19px * var(--ui-font-scale));margin-bottom:4px}.windPanel--hud .windPanelNextPreview{font-size:calc(15px * var(--ui-font-scale))}.windPanel--hud .windPanelNextPreview--muted{font-size:calc(13px * var(--ui-font-scale))}.windPanel--hud .windPanelActiveTitle{font-size:var(--boardDockPillFontSize)}.windPanelActive--compact{gap:4px}.mpSeatStrip--inline{display:flex;flex-wrap:wrap;gap:6px 10px;margin-bottom:4px;font-size:calc(10px * var(--ui-font-scale))}.mpSeatMeta{font-size:calc(9px * var(--ui-font-scale));font-weight:600;color:#94a3b8f2;margin-bottom:8px;letter-spacing:.02em;line-height:1.35}.playerCardList{display:flex;flex-direction:column;gap:6px}.playerCard{position:relative;display:flex;flex-direction:column;gap:3px;padding:7px 6px;border-radius:12px;max-width:100%;box-sizing:border-box;background:var(--panelSolid);border:1px solid var(--tileBorder);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:default;text-align:center}.playerCard--interactive{cursor:pointer}.playerCard--interactive:hover{background:var(--boardDockPillBgHover);border-color:#bf865473}.playerCardRankRow{display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 8px;width:100%;min-width:0}.playerCardRankAbove{display:block;width:100%;text-align:center;min-height:1.1em;font-size:calc(10px * var(--ui-font-scale));font-weight:800;letter-spacing:.04em;color:var(--muted);line-height:1.1;flex-shrink:0;box-sizing:border-box}.playerCardScoreRow{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:5px;width:100%;min-width:0}.playerCardScoreCluster{position:relative;display:flex;flex-direction:row;align-items:baseline;justify-content:center;flex-wrap:nowrap;gap:6px 10px;flex:0 1 auto;min-width:0}.playerCardNameStack{display:flex;flex:1 1 auto;min-width:0;flex-direction:column;align-items:center;gap:1px}.playerCardMeta{font-size:calc(9px * var(--ui-font-scale));font-weight:600;line-height:1.3;color:var(--muted);letter-spacing:.02em;min-width:0;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.playerCardNameRow{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:4px 6px;min-width:0;width:100%}.playerCardNameRow .playerCardPid{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playerCardPid{font-weight:800;font-size:calc(12px * var(--ui-font-scale));letter-spacing:.02em}.playerCardCatAi{font-size:calc(11px * var(--ui-font-scale));font-weight:600;color:var(--muted);letter-spacing:.02em;white-space:nowrap}.playerCardStatusRow{display:flex;align-items:center;justify-content:center;width:100%;min-height:1.25em;margin-top:0;padding-top:3px;border-top:1px solid var(--tileBorder);box-sizing:border-box}.playerCardStatusRow--mpHidden{display:none}.playerCardStatusLabel{display:block;width:100%;text-align:center;transform:translateY(2px);font-size:calc(10px * var(--ui-font-scale));font-weight:700;letter-spacing:.04em;color:var(--muted);line-height:1.25}.playerCardStatusRow--active .playerCardStatusLabel{color:var(--muted)}.playerCardStatusRow--noCats .playerCardStatusLabel{font-size:calc(9px * var(--ui-font-scale));font-weight:700;letter-spacing:.02em;color:var(--muted)}.playerCardScore{flex:0 0 auto;min-width:0;text-align:center;font-size:calc(22px * var(--ui-font-scale));font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.02em;line-height:1.05;color:var(--text)}.playerCard--mpDisconnected,.playerCard--noCatsAvail{opacity:.92}.playerCard--mpDisconnected:after,.playerCard--noCatsAvail:after{content:"";position:absolute;inset:0;border-radius:inherit;background:#5252566b;pointer-events:none;z-index:2}.playerCard--mpDisconnected .playerCardRankRow,.playerCard--mpDisconnected .playerCardScoreRow,.playerCard--mpDisconnected .playerCardNameRow,.playerCard--mpDisconnected .playerCardMeta,.playerCard--noCatsAvail .playerCardRankRow,.playerCard--noCatsAvail .playerCardScoreRow,.playerCard--noCatsAvail .playerCardNameRow,.playerCard--noCatsAvail .playerCardMeta,.playerCard--noCatsAvail .playerCardStatusRow{position:relative;z-index:3}.playerCardDelta{position:absolute;left:calc(100% + 6px);top:50%;transform:translateY(-50%);font-size:calc(11px * var(--ui-font-scale));font-weight:800;letter-spacing:.02em;pointer-events:none;line-height:1.2;white-space:nowrap;z-index:4}.playerCardDelta--plus{color:#5a824bfa;text-shadow:0 1px 6px rgba(199,217,137,.45)}.playerCardDelta--minus{color:var(--muted);text-shadow:0 1px 6px rgba(44,36,24,.12)}.dot--sm{width:7px;height:7px}.cornerHudTitle{font-weight:700;font-size:calc(10px * var(--ui-font-scale));text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px}.cornerBlock{margin-top:8px}.cornerBlock:first-child{margin-top:0}.cornerMuted{font-size:calc(12px * var(--ui-font-scale));color:var(--muted)}.cornerYouAre{font-size:calc(13px * var(--ui-font-scale));color:var(--muted)}.hint--corner{margin-top:6px;font-size:calc(10px * var(--ui-font-scale));line-height:1.35}.boardPanel--mp .playerCard{cursor:default}.cornerHud .boardHint{margin-top:6px;font-size:calc(10px * var(--ui-font-scale))}.cornerHud.cornerHud--tl .boardHint--tl{margin-top:6px;margin-bottom:0;font-size:calc(11px * var(--ui-font-scale));line-height:1.35;max-width:100%;overflow-wrap:anywhere}.catHudMini .boardHint--underCaption{margin-top:6px;margin-bottom:0;font-size:calc(11px * var(--ui-font-scale));line-height:1.35;max-width:100%}.boardHintLines{display:flex;flex-direction:column;align-items:flex-start;gap:1px;line-height:1.3}.boardHintLine{display:block}.boardHintLine--action{color:var(--text)}.boardHintLines--matchTimer{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:6px 10px}.boardHintLines--localClock{flex-direction:column;align-items:flex-start;gap:5px;font-size:calc(16px * var(--ui-font-scale));line-height:1.25}.boardHintLine--clockName{font-weight:600;font-size:1.05em;line-height:1.25;max-width:100%;word-break:break-word}.boardHintLines--localClock .boardHintTimer{align-self:flex-start;font-size:1.35em;letter-spacing:.05em}.boardHintTimer{font-variant-numeric:tabular-nums;font-weight:700;font-size:1.08em;letter-spacing:.06em}@media(max-width:640px){.cornerHud{max-width:min(165px,calc(100vw - 16px));padding:5px 6px;font-size:calc(10px * var(--ui-font-scale))}.cornerHud.cornerHud--tl,.cornerHud.cornerHud--bl{width:min(165px,calc(100vw - 16px));max-width:min(165px,calc(100vw - 16px));padding:5px}.vibeJamPortalBtn{left:calc(16px + min(165px,calc(100vw - 16px)));bottom:8px}}.board{display:block;position:relative;z-index:0;width:100%;margin:0 auto;box-sizing:border-box;min-height:min(64vh,520px);aspect-ratio:1 / 1;max-height:min(72vh,720px);padding:0;background:var(--boardSurface);border-radius:12px;border:1px solid var(--boardBorder);overflow:hidden;transition:background-color .35s ease}.shrineBg,.shrineParallaxFar{position:absolute;top:0;left:0;width:4096px;height:4096px;background:url(/assets/shrine-bg-B8HET1Lh.webp) 0 0 / 100% 100% no-repeat;transform-origin:0 0;pointer-events:none;will-change:transform;visibility:hidden}.shrineParallaxFar{z-index:0}.shrineBg{z-index:1}.shrineBg[data-ready=true],.shrineParallaxFar[data-ready=true]{visibility:visible}.titleScreen{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;overflow:hidden;cursor:pointer;background:var(--menu-bg);background-color:var(--bg);color:var(--text);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.titleScreen *{cursor:inherit}.titleScreen:focus{outline:none}.titleScreen:focus-visible{outline:2px solid var(--p-sakura);outline-offset:-2px}.titleScreenPetals{position:absolute;inset:0;z-index:1;pointer-events:none}.titleScreenPetal{position:absolute;top:-12vh;width:34px;height:34px;background:transparent no-repeat center / contain;opacity:1;will-change:transform;transform:translateZ(0) scale(var(--titleScreenPetalScale, 1)) rotate(var(--titleScreenPetalRotateDeg, 0deg));animation:titleScreenPetalFall var(--titleScreenPetalDuration, 6s) linear infinite,titleScreenPetalDrift calc(var(--titleScreenPetalDuration, 6s) * .9) ease-in-out infinite;animation-delay:var(--titleScreenPetalDelay, 0s)}.windPetalOverlay{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden;opacity:0;transition:opacity .18s ease;--windPetalDriftSign: 1}.windPetalOverlay.windPetalOverlay--on{opacity:1}.windPetal{position:absolute;top:-18vh;width:30px;height:30px;background:transparent no-repeat center / contain;opacity:1;will-change:transform;transform:translateZ(0) scale(var(--windPetalScale, 1)) rotate(var(--windPetalRotateDeg, 0deg));animation:windPetalSweep var(--windPetalDuration, 2.2s) linear 1;animation-delay:var(--windPetalDelay, 0s);animation-fill-mode:forwards;filter:drop-shadow(0 2px 2px rgba(0,0,0,.18))}@keyframes windPetalSweep{0%{opacity:0;transform:translate3d(0,-18vh,0) scale(var(--windPetalScale, 1)) rotate(var(--windPetalRotateDeg, 0deg))}10%{opacity:1}32%{transform:translate3d(calc(var(--windPetalDriftPx, 40px) * var(--windPetalDriftSign) * .72 + var(--windPetalSway1Px, 0px)),40vh,0) scale(var(--windPetalScale, 1)) rotate(calc(var(--windPetalRotateDeg, 0deg) + 55deg))}66%{transform:translate3d(calc(var(--windPetalDriftPx, 40px) * var(--windPetalDriftSign) * 1.55 + var(--windPetalSway2Px, 0px)),88vh,0) scale(var(--windPetalScale, 1)) rotate(calc(var(--windPetalRotateDeg, 0deg) + 115deg))}to{opacity:0;transform:translate3d(calc(var(--windPetalDriftPx, 40px) * var(--windPetalDriftSign) * 2.2),140vh,0) scale(var(--windPetalScale, 1)) rotate(calc(var(--windPetalRotateDeg, 0deg) + 160deg))}}@keyframes titleScreenPetalFall{0%{transform:translate3d(0,-12vh,0) scale(var(--titleScreenPetalScale, 1)) rotate(var(--titleScreenPetalRotateDeg, 0deg))}to{transform:translate3d(0,112vh,0) scale(var(--titleScreenPetalScale, 1)) rotate(calc(var(--titleScreenPetalRotateDeg, 0deg) + 160deg))}}@keyframes titleScreenPetalDrift{0%{margin-left:0}25%{margin-left:calc(var(--titleScreenPetalDriftPx, 40px) * .85)}50%{margin-left:calc(var(--titleScreenPetalDriftPx, 40px) * -.15)}75%{margin-left:calc(var(--titleScreenPetalDriftPx, 40px) * 1)}to{margin-left:0}}.titleScreenContent{position:relative;z-index:2;text-align:center;padding:24px 20px}.titleScreenTitle{margin:0;line-height:0}.titleScreenLogoImg{display:block;width:100%;max-width:clamp(220px,76vw,480px);height:auto;margin:0 auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 1px 0 rgba(255,255,255,.35));animation:mainMenuLogoFloat 8s ease-in-out infinite}@keyframes mainMenuLogoFloat{0%,to{transform:translateY(0) scale(1.1)}50%{transform:translateY(-5px) scale(1.1)}}.titleScreenFoxEyes{position:absolute;z-index:2;top:9%;left:10%;width:28px;height:10px;pointer-events:none;opacity:.55;animation:titleScreenFoxEyePulse 3s ease-in-out infinite}.titleScreenFoxEyes:before,.titleScreenFoxEyes:after{content:"";position:absolute;top:2px;width:4px;height:4px;border-radius:999px;background:#d67a3a;box-shadow:0 0 10px #d67a3aa6}.titleScreenFoxEyes:before{left:4px}.titleScreenFoxEyes:after{right:4px}@keyframes titleScreenFoxEyePulse{0%,to{opacity:.4}50%{opacity:.8}}.titleScreenContent,.titleScreenFoxEyes{transition:opacity .45s cubic-bezier(.4,0,.72,1),transform .45s cubic-bezier(.4,0,.72,1)}.titleScreen .titleScreenPetals{transition:opacity .45s ease-out}.titleScreen--leaving .titleScreenContent{opacity:0;transform:translate3d(0,-12px,0)}.titleScreen--leaving .titleScreenFoxEyes{opacity:0;animation:none}.titleScreen--leaving .titleScreenPetals{opacity:0}@media(max-width:520px){.titleScreenPetal{width:28px;height:28px}}.settingsScreen{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:var(--menu-bg);background-color:var(--bg);cursor:default}.settingsScreenCard{position:relative;z-index:2;width:min(460px,100%);padding:26px 24px 22px;background:var(--panelSolid);border:1px solid var(--tileBorder);border-radius:16px;box-shadow:var(--shadow);cursor:default}.settingsScreen *{cursor:default}.settingsScreen :is(button,a[href],label,[role=button]){cursor:pointer}.settingsScreen input[type=range]{cursor:pointer}.settingsScreen button:not(:disabled){cursor:pointer!important;user-select:none;-webkit-user-select:none}.settingsScreenTitle{font-family:var(--font-sans);font-weight:800;letter-spacing:-.02em;color:var(--text);font-size:calc(28px * var(--ui-font-scale));margin:0 0 18px}.settingsScreenAudioSection{margin:0}.settingsScreenSectionTitle{font-family:var(--font-sans);font-size:calc(12px * var(--ui-font-scale));font-weight:800;letter-spacing:.14em;color:#2c241894;margin:0 0 12px;text-transform:uppercase}.settingsScreenClose{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:10px;border:1px solid rgba(191,134,84,.35);background:#ffffff14;color:#2c2418d1;font-size:calc(24px * var(--ui-font-scale));line-height:1;cursor:pointer}.settingsScreenClose:hover{border-color:#bf865480;background:#ffffff1f}.settingsScreenClose:focus-visible{outline:2px solid rgba(147,166,106,.55);outline-offset:2px}.settingsScreenRows{display:flex;flex-direction:column;gap:14px}.settingsScreenRow{display:grid;grid-template-columns:92px 1fr 56px;gap:12px;align-items:center}.settingsScreenLabel{font-size:calc(13px * var(--ui-font-scale));font-weight:800;color:#2c2418bf;letter-spacing:.02em}.settingsScreenPct{text-align:right;font-size:calc(13px * var(--ui-font-scale));font-weight:800;color:#2c2418b8}.settingsScreenSlider{width:100%;height:28px;background:transparent;cursor:pointer;-webkit-appearance:none;appearance:none}.settingsScreenSlider:focus-visible{outline:2px solid rgba(147,166,106,.55);outline-offset:4px;border-radius:10px}.settingsScreenSlider::-webkit-slider-runnable-track{height:8px;border-radius:999px;background:#e6d4b8b8;border:1px solid rgba(191,134,84,.35)}.settingsScreenSlider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;margin-top:-6px;border-radius:999px;background:#c76b86;border:1px solid rgba(0,0,0,.18);box-shadow:0 2px 6px #0000002e}.settingsScreenSlider::-moz-range-track{height:8px;border-radius:999px;background:#e6d4b8b8;border:1px solid rgba(191,134,84,.35)}.settingsScreenSlider::-moz-range-thumb{width:18px;height:18px;border-radius:999px;background:#c76b86;border:1px solid rgba(0,0,0,.18);box-shadow:0 2px 6px #0000002e}.settingsScreenResetWrap{margin-top:18px;padding-top:14px;border-top:1px solid rgba(191,134,84,.25);text-align:center}.settingsScreenResetLink{font:inherit;font-size:calc(13px * var(--ui-font-scale));font-weight:700;color:#a85050;background:transparent;border:0;cursor:pointer;padding:6px 8px;border-radius:10px}.settingsScreenResetLink:hover{text-decoration:underline}.settingsScreenResetLink:focus-visible{outline:2px solid rgba(168,80,80,.5);outline-offset:2px}.settingsScreenResetConfirm{margin-top:10px;display:none}.settingsScreenResetConfirm--open{display:block}.settingsScreenResetMsg{font-size:calc(12px * var(--ui-font-scale));line-height:1.35;color:#2c2418b3;margin-bottom:10px}.settingsScreenResetActions{display:flex;gap:10px;justify-content:center}.settingsScreenResetYes,.settingsScreenResetCancel{font:inherit;font-size:calc(13px * var(--ui-font-scale));font-weight:800;padding:10px 14px;border-radius:12px;border:1px solid rgba(191,134,84,.35);cursor:pointer}.settingsScreenResetYes{background:#a850502e;color:#2c2418d1}.settingsScreenResetCancel{background:#ffffff14;color:#2c2418d1}.settingsScreenResetYes:hover,.settingsScreenResetCancel:hover{border-color:#bf865480}.settingsScreenResetYes:focus-visible,.settingsScreenResetCancel:focus-visible{outline:2px solid rgba(147,166,106,.55);outline-offset:2px}.creditsScreen{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:var(--menu-bg);background-color:var(--bg);opacity:0;transition:opacity .3s ease}.creditsScreen--visible{opacity:1}.creditsScreenCard{position:relative;z-index:2;width:min(540px,100%);max-height:70vh;max-height:70dvh;background:var(--panelSolid);border:1px solid var(--tileBorder);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}.creditsScreenScroll{max-height:70vh;max-height:70dvh;overflow-y:auto;padding:26px 24px 18px}.creditsScreenTitleWrap{text-align:center;margin-bottom:18px}.creditsScreenTitle{font-family:var(--font-sans);font-weight:800;letter-spacing:-.02em;color:var(--text);font-size:calc(44px * var(--ui-font-scale));line-height:1.05;margin-bottom:8px}.creditsScreenTagline{letter-spacing:.04em;color:var(--muted);font-size:calc(14px * var(--ui-font-scale));line-height:1.4}.creditsScreenCredits{display:flex;flex-direction:column;gap:14px}.creditsScreenSection{display:flex;flex-direction:column;gap:6px}.creditsScreenHeading{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:calc(12px * var(--ui-font-scale));font-weight:800}.creditsScreenLine{color:#2c2418c7;font-size:calc(14px * var(--ui-font-scale));line-height:1.35}.creditsScreenMemorialDivider{height:1px;background:#bf865440;margin:18px 2px 12px}.creditsScreenMemorialHeading{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:calc(11px * var(--ui-font-scale));font-weight:800;margin-bottom:10px}.creditsScreenMemorial{color:#a68866;font-style:italic;font-size:calc(14px * var(--ui-font-scale));line-height:1.4}.creditsScreenMemorialLine{margin:0 0 4px}.creditsScreenMemorialFinal{margin-top:10px}.creditsScreenFooter{margin-top:18px;display:flex;justify-content:center}.creditsScreenBack{min-width:120px}@media(prefers-reduced-motion:reduce){.creditsScreen{transition:none}}.boardCanvas{position:relative;z-index:2;display:block;width:100%;height:100%;vertical-align:top;cursor:crosshair;touch-action:none}.boardThree:focus-visible{outline:2px solid rgba(147,166,106,.65);outline-offset:3px}.boardCanvas--pan{cursor:grab}.boardCanvas--pan.boardCanvas--panning{cursor:grabbing}.windFx{display:none;position:absolute;inset:0;z-index:50;isolation:isolate;pointer-events:none;opacity:0;transition:opacity .22s ease-out;overflow:hidden;border-radius:12px}.board.board--wind-on .windFx{opacity:1}.windFx:before,.windFx:after{content:"";position:absolute;inset:-25%;background-repeat:repeat;will-change:transform;pointer-events:none}.windFx:before{background-image:repeating-linear-gradient(0deg,#f0f8ff00 0,#f0f8ff0d 40px,#f0f8ff33,#f0f8ff0d 100px,#f0f8ff00 140px)}.windFx:after{background-image:repeating-linear-gradient(0deg,#c8e6f200 0,#c8e6f208 55px,#c8e6f224,#c8e6f208,#c8e6f200 220px)}.board.board--wind-on .windFx:before{animation:windStreak1 .55s linear infinite}.board.board--wind-on .windFx:after{animation:windStreak2 .95s linear infinite}@keyframes windStreak1{0%{transform:rotate(var(--wind-angle, 0deg)) translateZ(0)}to{transform:rotate(var(--wind-angle, 0deg)) translate3d(0,140px,0)}}@keyframes windStreak2{0%{transform:rotate(var(--wind-angle, 0deg)) translateZ(0)}to{transform:rotate(var(--wind-angle, 0deg)) translate3d(0,220px,0)}}@media(prefers-reduced-motion:reduce){.windFx:before,.windFx:after{animation:none!important}}.tile{position:relative;width:48px;height:48px;border-radius:10px;background:var(--tile);border:1px solid var(--tileBorder);cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .12s ease,background .12s ease,box-shadow .12s ease,border-color .12s ease}.tile *{pointer-events:none}.tile:hover:not(.hovered){background:var(--tileHover)}.tile.hovered{background:#f2c2cf73;border-color:#bf86548c;box-shadow:0 0 0 2px #93a66a66,0 0 12px #aee6f259,inset 0 0 10px #fffcf780;transform:translateY(-2px) scale(1.02);z-index:2}.tile.cooldownBlocked{cursor:not-allowed}.tile.tile--windLock{opacity:.78;background:#e3cc8f59;border-color:#bf865466}.tile.tile--windLock.hovered{transform:none;box-shadow:inset 0 0 10px #0003}.tile.tile--petalWind{box-shadow:0 0 0 1px #b86e8473,inset 0 0 14px #f2c2cf66;border-color:#b86e8480}.tile.tile--petalWind .petals{color:#3e2630f2;text-shadow:0 0 8px rgba(242,194,207,.55)}.tile.placed{animation:tilePlace .26s cubic-bezier(.34,1.4,.64,1)}.tile.placed:after{content:"";position:absolute;inset:-3px;border-radius:13px;background:radial-gradient(circle at 50% 50%,rgba(199,217,137,.55),transparent 62%);opacity:0;animation:tilePulse .45s ease-out;pointer-events:none}.tile.capture{animation:tileCapture .58s cubic-bezier(.33,1,.68,1)}.tile.statueEmphasis{animation:statueTileJuice .88s cubic-bezier(.22,1.15,.32,1);z-index:4}.tile.statueEmphasis:before{content:"";position:absolute;inset:-6px;border-radius:16px;background:radial-gradient(circle at 50% 38%,rgba(255,251,235,.95) 0%,rgba(250,204,21,.55) 28%,transparent 62%);opacity:0;animation:statueBurstCore .88s cubic-bezier(.2,.85,.2,1);pointer-events:none;z-index:0}.tile.statueEmphasis:after{content:"";position:absolute;inset:-2px;border-radius:13px;border:2px solid rgba(250,204,21,0);opacity:0;animation:statueRingBurst .88s ease-out;pointer-events:none;z-index:1;box-shadow:0 0 #facc1573}.tile.statueEmphasis .statue{animation:statueInnerJuice .88s cubic-bezier(.25,1.2,.4,1)}.petals{position:absolute;left:8px;top:7px;font-size:calc(12px * var(--ui-font-scale));color:#5a303ee0}.cat{position:absolute;inset:8px;border-radius:999px;box-shadow:0 3px 10px #00000059;border:1px solid rgba(0,0,0,.25)}.cat.ghost{opacity:.62;outline:2px dashed rgba(255,255,255,.55);outline-offset:1px;box-shadow:0 0 0 3px #6366f159,inset 0 0 8px #ffffff26;transform:scale(1.08);animation:ghostSnapStrong .14s cubic-bezier(.34,1.4,.64,1) both;z-index:3}.cat.ghost.ghost--windBlocked{opacity:.35;outline-color:#94a3b873;box-shadow:0 0 0 2px #64748b59,inset 0 0 10px #0003;filter:grayscale(.35)}.cat.popOut{animation:catPopOut .22s ease-in forwards}.particle{position:absolute;inset:6px;border-radius:999px;border:2px solid rgba(255,255,255,.18);opacity:0;pointer-events:none}.tile.placed .particle{animation:particleRing .42s ease-out}.statue{position:absolute;inset:7px;border-radius:8px;background:linear-gradient(180deg,rgba(255,255,255,.22) 0%,transparent 42%),linear-gradient(145deg,#b4afbe38,#46445259,#1c1c248c);border:1px solid rgba(255,255,255,.28);box-shadow:inset 0 2px 3px #ffffff2e,inset 0 -3px 8px #00000059,0 2px #ffffff0f,0 6px 16px #00000080,0 0 0 1px #0003;z-index:1}.statueTint{position:absolute;inset:0;border-radius:7px;opacity:.48}.statueFace{position:absolute;inset:0;border-radius:7px;border:1px solid rgba(255,255,255,.12);pointer-events:none;background:linear-gradient(125deg,rgba(255,255,255,.1) 0%,transparent 55%)}.statueSparkle{position:absolute;top:5px;right:6px;width:5px;height:5px;border-radius:1px;background:#ffffffbf;box-shadow:0 0 6px #ffffffe6;opacity:.85;transform:rotate(45deg);pointer-events:none}.catsLine{display:block;margin-top:2px;font-size:calc(12px * var(--ui-font-scale));font-weight:600;color:#ffffffe0;font-variant-numeric:tabular-nums;letter-spacing:.02em}.cooldownBlock{margin-top:10px;padding:8px 10px;border-radius:10px;background:#00000038;border:1px solid rgba(255,255,255,.08)}.cooldownBlockLabel{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:calc(12px * var(--ui-font-scale));color:var(--muted);margin-bottom:6px}.cooldownBlockLabel b{color:#ffffffeb;font-variant-numeric:tabular-nums}.cooldownBarTrack{height:6px;border-radius:999px;background:#2c241814;overflow:hidden;border:1px solid var(--tileBorder)}.cooldownBarFill{height:100%;width:calc(var(--cd-p, 0) * 100%);border-radius:inherit;background:linear-gradient(90deg,#93a66af2,#aee6f2e6);box-shadow:0 0 10px #93a66a59;transition:width 80ms linear}.scoreDelta{position:absolute;right:10px;top:6px;font-size:calc(12px * var(--ui-font-scale));font-weight:700;color:#5a824bf2;text-shadow:0 1px 6px rgba(199,217,137,.4);animation:scoreDelta .7s ease-out forwards}.pill{display:inline-flex;align-items:center;gap:8px}.dot{width:10px;height:10px;border-radius:99px;border:1px solid rgba(0,0,0,.25)}.boardHint{margin-top:10px;font-size:calc(13px * var(--ui-font-scale));color:var(--muted)}.boardHint b{color:var(--text)}@keyframes tilePlace{0%{transform:scale(1);box-shadow:0 0 #93a66a00}55%{transform:scale(1.06);box-shadow:0 0 0 6px #93a66a33}to{transform:scale(1);box-shadow:0 0 #93a66a00}}@keyframes tilePulse{0%{opacity:0;transform:scale(.92)}25%{opacity:1}to{opacity:0;transform:scale(1.12)}}@keyframes particleRing{0%{opacity:0;transform:scale(.6)}20%{opacity:.9}to{opacity:0;transform:scale(1.35)}}@keyframes tileCapture{0%{filter:brightness(1);box-shadow:0 0 #ef444400;background:var(--tile)}15%{filter:brightness(1.15);box-shadow:0 0 0 5px #ef444447;background:#ef44441f}40%{filter:brightness(1.08);box-shadow:0 0 0 3px #ef444426}to{filter:brightness(1);box-shadow:0 0 #ef444400;background:var(--tile)}}@keyframes statueTileJuice{0%{transform:scale(.96);filter:brightness(1.05) saturate(1.05)}14%{transform:scale(1.14);filter:brightness(1.45) saturate(1.35)}32%{transform:scale(1.04);filter:brightness(1.2) saturate(1.15)}52%{transform:scale(1.1);filter:brightness(1.12)}to{transform:scale(1);filter:brightness(1) saturate(1)}}@keyframes statueBurstCore{0%{opacity:0;transform:scale(.55)}12%{opacity:1;transform:scale(1)}55%{opacity:.45;transform:scale(1.35)}to{opacity:0;transform:scale(1.65)}}@keyframes statueRingBurst{0%{opacity:0;transform:scale(.88);border-color:#facc15d9;box-shadow:0 0 0 2px #facc1559}25%{opacity:1}to{opacity:0;transform:scale(1.55);border-color:#facc1500;box-shadow:0 0 28px 14px #facc1500}}@keyframes statueInnerJuice{0%{transform:scale(.72) rotate(-3deg);filter:brightness(1.65) saturate(1.45);box-shadow:inset 0 2px 3px #ffffff40,0 0 #facc15e6}22%{transform:scale(1.14) rotate(2deg);filter:brightness(1.35) saturate(1.25);box-shadow:inset 0 2px 3px #fff3,0 0 22px 6px #facc158c}48%{transform:scale(.98) rotate(0);filter:brightness(1.1)}to{transform:scale(1) rotate(0);filter:brightness(1) saturate(1);box-shadow:inset 0 2px 3px #ffffff2e,inset 0 -3px 8px #00000059,0 2px #ffffff0f,0 6px 16px #00000080,0 0 0 1px #0003}}@keyframes ghostSnap{0%{transform:scale(.88);opacity:.2}to{transform:scale(1.03);opacity:.45}}@keyframes ghostSnapStrong{0%{transform:scale(.72);opacity:.15;filter:blur(.5px)}70%{transform:scale(1.1);opacity:.65}to{transform:scale(1.08);opacity:.62}}@keyframes catPopOut{0%{transform:scale(1);opacity:1}to{transform:scale(.65);opacity:0}}@keyframes scoreDelta{0%{transform:translateY(8px);opacity:0}20%{opacity:1}to{transform:translateY(-10px);opacity:0}}.hint{color:var(--muted);font-size:calc(13px * var(--ui-font-scale));line-height:1.35;margin-top:10px}.kv{display:grid;grid-template-columns:1fr auto;gap:8px 12px;margin-top:10px;font-size:calc(13px * var(--ui-font-scale));color:var(--muted)}.kv b{color:#ffffffe6;font-weight:600}.playShrineVeil{position:fixed;inset:0;z-index:90;background:#020410;opacity:1;pointer-events:auto}.playEnterCover{position:fixed;inset:0;z-index:20000;background:#020410;pointer-events:none;opacity:1;transition:opacity .55s cubic-bezier(.55,0,.3,1)}.playEnterCover.playEnterCover--hide{opacity:0}@media(prefers-reduced-motion:reduce){.playEnterCover{transition-duration:.12s}}.preGameScreen{position:fixed;inset:0;z-index:900;display:flex;flex-direction:column;align-items:center;min-height:100vh;min-height:100dvh;box-sizing:border-box;padding:24px 16px;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--menu-bg);background-color:var(--bg);cursor:default;--preGameMenuBottomPad: 20px}.preGameMenuStack{position:relative;z-index:1;flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:safe center;width:100%;max-width:100%;min-height:0;box-sizing:border-box;transform:translateY(-15px);overflow-x:visible}.preGameMenuLogoRail{position:relative;z-index:3;flex:0 0 auto;min-height:0;width:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;box-sizing:border-box;opacity:0;transform:translate3d(0,12px,0);transition:opacity .6s ease-out,transform .6s ease-out;overflow-x:visible}.preGameMenuLogoRail,.preGameMenuLogoRail *{pointer-events:none}.preGameScreen.preGameScreen--menuIn .preGameMenuLogoRail{opacity:1;transform:translateZ(0)}.preGameMenuLogoRail .preGameTitle{transform:translate(-5px,20px)}.preGameCard{position:relative;z-index:2;isolation:isolate;flex:0 0 auto;min-height:0;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;width:min(300px,100%);overflow-x:visible;padding:0;background:transparent;border:none;box-shadow:none;opacity:0;transform:translate3d(0,12px,0);transition:opacity .6s ease-out,transform .6s ease-out;cursor:default}.preGameCardBody{width:100%;box-sizing:border-box;background:var(--panelSolid);border:1px solid var(--tileBorder);border-radius:16px;box-shadow:var(--shadow),0 20px 56px #2c24181f,0 6px 20px #2c24180f;padding:0 20px var(--preGameMenuBottomPad);margin-top:calc(-.2*min(352px,90vw));padding-top:calc(.2*min(352px,90vw) + 14px)}.preGameCard--joinOpen .preGameCardBody,.preGameCard--howToOpen .preGameCardBody{margin-top:0;padding-top:20px}.preGameScreen *{cursor:default}.preGameScreen :is(button,a[href],label,[role=button]){cursor:pointer}.preGameScreen :is(input[type=text],input[type=search],input[type=email],input[type=password],input[type=url],input[type=tel],input:not([type]),textarea){cursor:text}.preGameScreen select{cursor:pointer}.preGameScreen button:not(:disabled){cursor:pointer!important;user-select:none;-webkit-user-select:none}.preGameScreen svg{-webkit-user-drag:none}.preGameScreen.preGameScreen--menuIn .preGameCard{opacity:1;transform:translateZ(0)}.preGameScreen.preGameScreen--menuIn.preGameScreen--menuReturnAnimating .preGameCard,.preGameScreen.preGameScreen--menuIn.preGameScreen--menuReturnAnimating .preGameMenuLogoRail{opacity:0;transform:translate3d(0,12px,0)}.preGameMenuReveal,.preGameShareDownload{display:flex;position:fixed;right:calc(10px + env(safe-area-inset-right,0px));z-index:950;align-items:center;justify-content:center;width:40px;height:40px;padding:0;margin:0;border-radius:10px;border:1px solid rgba(191,134,84,.35);background:#fffcf7c7;color:var(--text);cursor:pointer;box-shadow:0 2px 8px #2c241812;transition:background .15s ease,border-color .15s ease}.preGameMenuReveal{top:calc(10px + env(safe-area-inset-top,0px))}.preGameShareDownload{top:calc(58px + env(safe-area-inset-top,0px))}.preGameMenuReveal:hover,.preGameShareDownload:hover{background:#fffcf7f2;border-color:#bf86548c}.preGameMenuReveal:focus-visible,.preGameShareDownload:focus-visible{outline:2px solid rgba(147,166,106,.55);outline-offset:2px}.preGameMenuReveal__inner{display:flex;align-items:center;justify-content:center;pointer-events:none}.preGameMenuReveal__icon{flex-shrink:0;display:block}.preGameMenuReveal__icon--whenHidden,.preGameScreen--menuChromeHidden .preGameMenuReveal__icon--whenVisible{display:none}.preGameScreen--menuChromeHidden .preGameMenuReveal__icon--whenHidden{display:block}.preGameCard--chromeHidden{background:transparent!important;border-color:transparent!important;box-shadow:none!important;padding:0!important;width:auto!important;min-height:0!important}.preGameCard--chromeHidden .preGameCardBody{display:none!important}.preGameMenuStack:has(.preGameCard--chromeHidden) .preGameMenuLogoRail{display:none!important}.preGameCard--chromeHidden .preGameJoinClose{display:none!important}.preGameScreen--menuChromeHidden .preGameMenuReveal,.preGameScreen--menuChromeHidden .preGameShareDownload{border-color:#fffcf78c;background:#fffcf7e0;box-shadow:0 8px 24px #2c24181f}.preGameSharePreviewOverlay{position:fixed;inset:0;z-index:980;display:flex;align-items:center;justify-content:center;padding:0;box-sizing:border-box;background:#0c0805d1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.preGameSharePreviewPanel{position:relative;width:min(94vw,calc((94vh - 132px)*1.78));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:clamp(14px,2.2vw,24px);box-sizing:border-box;background:#fff;border-radius:18px;box-shadow:0 18px 48px #00000052;overflow:hidden}.preGameSharePreviewClose{position:fixed;top:calc(10px + env(safe-area-inset-top,0px));right:calc(10px + env(safe-area-inset-right,0px));z-index:1;width:40px;height:40px;border:1px solid rgba(191,134,84,.28);border-radius:10px;background:#fffcf7db;color:var(--text);font:inherit;font-size:calc(22px * var(--ui-font-scale));line-height:1;cursor:pointer}.preGameSharePreviewClose:focus-visible{outline:2px solid rgba(147,166,106,.55);outline-offset:2px}.preGameSharePreviewImg{display:block;width:100%;height:auto;max-width:none;max-height:none;object-fit:contain;border-radius:18px}.preGameSharePreviewTitle{color:var(--text);font-family:var(--font-sans);font-size:calc(18px * var(--ui-font-scale));font-weight:800;line-height:1.2;text-align:center}.preGameSharePreviewUrl{max-width:100%;color:var(--muted);font-family:var(--font-sans);font-size:calc(13px * var(--ui-font-scale));line-height:1.25;overflow-wrap:anywhere;text-align:center}.preGameSharePreviewActions{display:flex;justify-content:center;flex-shrink:0;padding-top:4px}.preGameScreen .titleScreenPetals{z-index:0;opacity:0;transition:opacity .6s ease-out}.preGameScreen.preGameScreen--menuIn .titleScreenPetals{opacity:1;transform:translateZ(0);transition:opacity .6s ease-out,transform .6s ease-out}.preGameScreen.preGameScreen--menuIn.preGameScreen--exitToShare .preGameCard,.preGameScreen.preGameScreen--menuIn.preGameScreen--exitToShare .preGameMenuLogoRail{opacity:0;transform:translate3d(0,-10px,0);transition:opacity .48s cubic-bezier(.4,0,.72,1),transform .48s cubic-bezier(.4,0,.72,1)}@media(prefers-reduced-motion:reduce){.preGameScreen.preGameScreen--menuIn.preGameScreen--exitToShare .preGameCard,.preGameScreen.preGameScreen--menuIn.preGameScreen--exitToShare .preGameMenuLogoRail{opacity:0;transform:none;transition:none}.preGameCard,.preGameMenuLogoRail{opacity:1;transform:none;transition:none}.preGameScreen .titleScreenPetals{opacity:1;transition:none}.preGameMainMenu,.preGameJoinPanel,.preGameScreen.preGameScreen--menuIn .titleScreenPetals{transition:none!important}}.preGameTitle{position:relative;z-index:1;margin:0;font-size:0;line-height:0;text-align:center}.preGameLogoImg{display:block;width:auto;max-width:min(352px,90vw);height:auto;margin:0 auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;transform:scale(1.12);transform-origin:50% 100%}@media(prefers-reduced-motion:reduce){.titleScreenLogoImg{animation:none;transform:scale(1.1)}}.preGameNameBlock{margin:0 auto 14px;display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center;width:100%}.preGameNameLabel{font-size:calc(12px * var(--ui-font-scale));font-weight:700;color:var(--muted)}.preGameNameInput{font:inherit;font-size:calc(15px * var(--ui-font-scale));font-weight:600;padding:10px 12px;border-radius:10px;border:1px solid var(--tileBorder);background:var(--panelSolid);color:var(--text);box-sizing:border-box;width:100%;max-width:200px;text-align:center}.preGameNameInput::placeholder{color:#2c241859}.preGameNameInput:focus-visible{outline:2px solid rgba(147,166,106,.55);outline-offset:2px}.preGameActions{display:contents}.preGameBtn{font:inherit;font-size:calc(15px * var(--ui-font-scale));font-weight:600;padding:12px 16px;border-radius:12px;border:1px solid var(--tileBorder);background:linear-gradient(180deg,#fff3,#fff0);color:var(--text);cursor:pointer;text-align:center;transition:border-color .15s ease,background .15s ease}.preGameBtnIn{pointer-events:none;display:inline-block;max-width:100%}.preGameBtn:focus-visible{outline:2px solid rgba(147,166,106,.55);outline-offset:2px}.preGameBtn--subtle{padding:10px 14px;font-size:calc(13px * var(--ui-font-scale));font-weight:800;color:#2c2418b8;background:#ffffff0f}.preGameDivider{height:1px;background:#bf865440;margin:6px 2px 2px}.preGameHowToFooter{margin-top:16px;display:flex;justify-content:center}.preGameBtn--compact{flex-shrink:0;padding:10px 16px;font-size:calc(14px * var(--ui-font-scale))}.preGameBtn:hover{background:linear-gradient(180deg,#f2c2cf5c,#f2c2cf17);border-color:#dca0b46b}.preGameCard--howToOpen{width:var(--howToPlayCardMaxW);max-width:100%;box-sizing:border-box}.preGameCardJoinCrossfade{display:grid;grid-template-columns:1fr;grid-template-rows:auto;align-items:start;min-width:0;position:relative;overflow:hidden}.preGameCardJoinCrossfade>.preGameMainMenu,.preGameCardJoinCrossfade>.preGameJoinPanel{grid-area:1 / 1 / 2 / 2;min-width:0}.preGameMainMenu{display:flex;flex-direction:column;align-items:stretch;gap:10px;width:100%;box-sizing:border-box;position:relative;z-index:1;transform:translateZ(0);visibility:visible}.preGameMainMenu .preGameBtn{font-family:"bd-viewmaster",var(--font-sans);font-size:calc(24px * var(--ui-font-scale));letter-spacing:.06em}.preGameMainMenu .preGameBtn--subtle{font-size:calc(21px * var(--ui-font-scale));letter-spacing:.05em}.preGameMainMenu .preGameActions>.preGameBtn:first-child{font-size:calc(26px * var(--ui-font-scale));padding:6.5px 16px;line-height:1.1}.preGameScreen.preGameScreen--menuIn .preGameMainMenu{opacity:1;transform:translateZ(0);visibility:visible}.preGameScreen.preGameScreen--menuIn .preGameCard--joinOpen .preGameMainMenu{position:absolute;left:0;right:0;top:0;opacity:0;transform:translate3d(0,-10px,0);visibility:hidden;pointer-events:none}.preGameScreen.preGameScreen--menuIn.preGameScreen--joinOpen .preGameMenuLogoRail{display:none}.preGameJoinPanel{position:absolute;left:0;right:0;top:0;z-index:2;margin-top:0;padding-top:0;border-top:none;opacity:0;visibility:hidden;pointer-events:none;transform:translate3d(0,14px,0)}.preGameCard--joinOpen .preGameJoinPanel.preGameJoinPanel--open{position:relative;opacity:1;visibility:visible;pointer-events:auto;transform:translateZ(0)}.preGameHowToPanel{display:none;margin-top:16px;padding-top:16px;border-top:1px solid rgba(44,36,24,.08)}.preGameHowToPanel.preGameHowToPanel--open{display:block}.preGameCard--howToOpen .preGameMainMenu{display:none}.preGameMenuStack:has(.preGameCard--howToOpen) .preGameMenuLogoRail{display:none}.preGameCard--howToOpen .preGameHowToPanel{margin-top:0;padding-top:0;border-top:none}.preGameHowToTop{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.preGameHowToTop .preGameJoinHeading{flex:1;font-size:var(--howToPlayTitleSize);font-weight:700;min-width:0}.preGameHowToTopClose{font:inherit;font-size:calc(22px * var(--ui-font-scale));line-height:1;width:36px;height:36px;padding:0;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;flex-shrink:0}.preGameHowToTopClose:hover{background:#f2c2cf59;color:var(--text)}.preGameHowToBody{font-size:var(--howToPlayCopySize);line-height:var(--howToPlayCopyLH);color:var(--muted)}.preGameHowToBody p{margin:0 0 var(--howToPlayCopyPMargin)}.preGameHowToBody p:last-child{margin-bottom:0}.preGameHowToBody b{color:var(--text);font-weight:600}.preGameJoinHeader{margin-bottom:10px}.preGameJoinHeading{font-size:calc(13px * var(--ui-font-scale));font-weight:700;color:var(--text);margin:0}.preGameJoinClose{display:none;position:absolute;top:10px;right:10px;z-index:2;align-items:center;justify-content:center;font:inherit;font-size:calc(22px * var(--ui-font-scale));line-height:1;width:36px;height:36px;padding:0;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;flex-shrink:0}.preGameCard--joinOpen .preGameJoinClose{display:flex}.preGameJoinClose:hover{background:#f2c2cf59;color:var(--text)}.preGameJoinRow{display:flex;flex-direction:row;align-items:center;gap:10px}.preGameJoinRow--code{margin-bottom:10px}.preGameJoinRow--code .preGameJoinInput{width:100%}.preGameJoinActions{display:flex;flex-direction:row;flex-wrap:wrap;align-items:stretch;gap:10px}.preGameJoinActions .preGameBtn{flex:1 1 140px;min-width:0}.preGameJoinInput{flex:1;font:inherit;font-size:calc(18px * var(--ui-font-scale));font-weight:700;letter-spacing:.35em;text-transform:uppercase;text-align:center;padding:10px 12px;border-radius:10px;border:1px solid var(--tileBorder);background:#ffffffa6;color:var(--text)}.preGameJoinInput::placeholder{letter-spacing:.2em;font-weight:600;color:var(--muted)}.preGameJoinErr,.preGameMenuErr{font-size:calc(12px * var(--ui-font-scale));color:#b91c1c}.preGameJoinErr,.preGameMenuErr{min-height:1.25em;margin-top:10px}.preGameMenuErr:empty{min-height:0;margin-top:0;overflow:hidden}.sceneLayer{position:absolute;top:0;left:0;width:4096px;height:4096px;transform-origin:0 0;transform:translate3d(var(--shrine-tx, 0px),var(--shrine-ty, 0px),0) scale(var(--shrine-scale, 1));pointer-events:none;overflow:hidden;z-index:3;will-change:transform}.sceneLantern{position:absolute;transform:translate(-50%);transform-origin:50% 0%;pointer-events:none;z-index:0}.sceneLanternPivot{position:relative;transform-origin:50% 0%;will-change:transform}.sceneLanternGlow{position:absolute;left:50%;top:65%;z-index:1;width:clamp(96px,72%,18rem);aspect-ratio:1.15 / 1;transform:translate3d(-50%,-50%,0);pointer-events:none;background:radial-gradient(ellipse 125% 118% at 50% 48%,#fff0d26b,#ffe4be47 18%,#ffdaaa24,#ffd4a20f 58%,#ffd2a005 76%,#ffd2a000 92% 100%);filter:blur(12px);box-shadow:0 0 55px 35px #ffdcaa1a,0 0 28px 12px #ffe4be0f;animation:sceneLanternGlowPulse 2.9s ease-in-out infinite}@keyframes sceneLanternGlowPulse{0%,to{opacity:.52;transform:translate3d(-50%,-50%,0) scale(1)}50%{opacity:.92;transform:translate3d(-50%,-50%,0) scale(1.06)}}.sceneLanternImg{display:block;width:auto;height:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;filter:drop-shadow(0 3px 8px rgba(0,0,0,.2))}.renScene{position:absolute;inset:auto 0 0 auto;cursor:pointer;opacity:0;filter:drop-shadow(0 3px 10px rgba(0,0,0,.22));pointer-events:auto;outline:none;transition:opacity .52s ease,transform .12s ease;background:linear-gradient(180deg,#3a241852,#3a24182e 70%,#3a24180d);border-radius:40% 40% 30% 30%/55% 55% 10% 10%}.renScene--visible{opacity:1}.renScene--hasImg{background:transparent;border-radius:0}.renScene:focus-visible{outline:2px solid rgba(214,122,58,.85);outline-offset:3px;border-radius:10px}.renScene--tap{transform:translate3d(2px,0,0)}.renPokeZone{position:absolute;right:321px;bottom:643px;width:100px;height:100px;box-sizing:border-box;cursor:pointer;pointer-events:auto;background:transparent;filter:none;opacity:0;border-radius:0;outline:none;z-index:0;transition:opacity .16s ease,transform .12s ease}.renPokeZone:focus-visible{opacity:1;background:transparent;outline:2px solid rgba(214,122,58,.85);outline-offset:3px;border-radius:10px}.renPokeZone.renScene--tap{transform:translate3d(2px,0,0)}.renPokeSparkleLayer{position:absolute;right:321px;bottom:643px;width:100px;height:100px;pointer-events:none;z-index:1}.bannedShrineScrollGlitter--blue .bannedShrineScrollSparkle{background:radial-gradient(circle,rgba(255,255,255,.98) 0 18%,rgba(134,226,255,.86) 28%,transparent 68%);box-shadow:0 0 9px #60cdffe6}.renPokeFoxfireLayer{position:fixed;left:0;top:0;width:0;height:0;margin:0;padding:0;transform:translate(-50%,-50%);z-index:10050;pointer-events:none;overflow:visible;contain:layout style}.renPokeFoxfireLayer--bursting .renPokeFoxfireCandle__inner{animation:none}.renPokeFoxfireCandle{position:absolute;left:0;top:0;width:4px;height:4px;margin:0;padding:0;box-sizing:border-box;border-radius:50%;transform-origin:center center;opacity:0;will-change:transform,opacity;transition:opacity .32s ease,transform .38s cubic-bezier(.34,1.1,.2,1);mix-blend-mode:screen}.renPokeFoxfireCandle--show{opacity:1}.renPokeFoxfireCandle--png{width:auto;height:auto;min-width:0;min-height:0;border-radius:0;transform-origin:center center;will-change:opacity;transition:opacity .2s ease}.renPokeFoxfireCandle--png .renPokeFoxfireCandle__film{display:block;max-width:32px;max-height:32px;width:auto;height:auto;object-fit:contain;object-position:center;pointer-events:none;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;mix-blend-mode:screen}.renPokeFoxfireCandle__inner{position:absolute;inset:0;border-radius:50%;transform-origin:center center;will-change:transform,filter;mix-blend-mode:screen;animation:renPokeFoxfireCandleDrift 2.5s ease-in-out infinite,renPokeFoxfireCandleFlicker .42s ease-in-out infinite}.renPokeFoxfireCandle__bloom{position:absolute;left:50%;top:50%;width:220%;height:220%;margin:-50% 0 0 -50%;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(200,240,255,.7) 0%,rgba(100,190,255,.45) 40%,rgba(20,90,220,.2) 65%,transparent 100%);filter:blur(.6px);pointer-events:none}.renPokeFoxfireCandle__core{position:absolute;left:5%;top:5%;width:90%;height:90%;border-radius:50%;background:radial-gradient(circle at 40% 35%,#f8ffff,#7ec8ff 40%,#2a6ec8 78%,#0a3a78);box-shadow:0 0 2px 1px #b4e6ffe6,0 0 4px 2px #3ca0ff80;filter:blur(.1px);pointer-events:none}.renPokeFoxfireFinaleFlash{position:fixed;width:160px;height:160px;margin:-80px 0 0 -80px;border-radius:50%;z-index:10051;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(circle,#e6faffe0,#78c8ff66 45%,#003cc800 70%);box-shadow:0 0 40px 18px #64beff66;will-change:transform,opacity,filter;opacity:.9}.renPokeFinaleVeil{position:fixed;inset:0;z-index:100000;background:#020410;opacity:0;pointer-events:auto}.boardNavMenuVeil{position:fixed;inset:0;z-index:100000;background:var(--menu-bg);background-color:var(--bg);opacity:0;pointer-events:auto}.boardPngEffect{position:fixed;left:0;top:0;z-index:6000;transform:translate(-50%,-58%);pointer-events:none;contain:layout style;mix-blend-mode:screen}.boardPngEffect__img{display:block;width:auto;height:auto;object-fit:contain;object-position:center;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 0 10px rgba(100,200,255,.25))}.boardPngEffect--statue .boardPngEffect__img{filter:drop-shadow(0 0 10px rgba(255,220,150,.3))}@media(prefers-reduced-motion:reduce){.renPokeFoxfireCandle__inner{animation:none}.renPokeFoxfireCandle--png{transition:none}}@keyframes renPokeFoxfireCandleDrift{0%,to{transform:translate(0) scale(1)}25%{transform:translate(.25px,-.2px) scale(1.04)}50%{transform:translate(-.15px,-.35px) scale(.98)}75%{transform:translate(.1px,-.15px) scale(1.02)}}@keyframes renPokeFoxfireCandleFlicker{0%,to{filter:blur(.1px) brightness(1.04)}50%{filter:blur(.3px) brightness(1.12)}}.renSceneImg{display:block;width:auto;height:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}.renScene.renScene--tap{transform:translate3d(2px,0,0)}.devPanel{position:fixed;left:10px;top:50%;bottom:auto;transform:translateY(-50%);z-index:23000;width:min(380px,calc(100vw - 20px));box-sizing:border-box;color:#6b6660;font-size:calc(11px * var(--ui-font-scale));line-height:1.4;text-align:left;pointer-events:auto;display:flex;flex-direction:column;align-items:stretch;border:1px solid rgba(120,110,100,.32);border-radius:10px;background:var(--panelSolid);box-shadow:var(--shadow);overflow:hidden}.devPanel__hint{font-size:calc(10px * var(--ui-font-scale));letter-spacing:.04em;color:#9a938c;margin-bottom:4px;text-transform:uppercase}.devPanel__toggle{appearance:none;background:#786e640f;border:0;border-bottom:1px solid rgba(120,110,100,.2);color:#6b6660;font-family:inherit;font-size:calc(11px * var(--ui-font-scale));font-weight:600;padding:6px 10px;border-radius:10px 10px 0 0;cursor:pointer;width:100%;text-align:left}.devPanel:not(.devPanel--open) .devPanel__toggle{border-bottom:0;border-radius:10px}.devPanel--open .devPanel__toggle{border-radius:10px 10px 0 0}.devPanel__toggle:hover{background:#786e641a}.devPanel__body{display:flex;flex-direction:column;gap:10px;max-height:0;margin:0;padding:0 10px;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;border-radius:0 0 10px 10px;transition:max-height .28s ease,opacity .2s ease,padding .28s ease,visibility 0s linear .28s}.devPanel--open .devPanel__body{max-height:min(55vh,480px);margin-top:0;padding:8px 10px 10px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;opacity:1;visibility:visible;pointer-events:auto;transition:max-height .28s ease,opacity .22s ease .04s,padding .28s ease,visibility 0s linear 0s}@media(prefers-reduced-motion:reduce){.devPanel__body,.devPanel--open .devPanel__body{transition:none}}.devPanel__readout{font-family:var(--font-mono);font-size:calc(10.5px * var(--ui-font-scale));line-height:1.5;padding:6px 8px;border:1px solid rgba(120,110,100,.25);border-radius:4px;background:#786e640d;color:#555049;overflow-wrap:anywhere}.devPanel__section{display:flex;flex-direction:column;gap:4px}.devPanel__sectionLabel{font-size:calc(10px * var(--ui-font-scale));letter-spacing:.04em;color:#9a938c;text-transform:uppercase}.devPanel__row{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.devPanel__btn{appearance:none;font-family:var(--font-mono);font-size:calc(11px * var(--ui-font-scale));line-height:1;padding:4px 7px;border:1px solid rgba(120,110,100,.35);border-radius:3px;background:#f3f0ec;color:#4a443d;cursor:pointer;min-width:28px}.devPanel__btn:hover:not(:disabled){background:#e7e2db}.devPanel__btn:disabled{opacity:.4;cursor:not-allowed}.devPanel__btn--active{background:#4a443d;color:#f3f0ec;border-color:#4a443d}.devPanel__btn--flag{min-width:42px}.devPanel__btn--on{background:#2e5d3a;color:#eaf3ec;border-color:#2e5d3a}.devPanel__flagName{font-family:var(--font-mono);font-size:calc(10.5px * var(--ui-font-scale));color:#6b6660}.devPanel__section--danger{margin-top:2px}.devPanel__btn--danger{background:transparent;color:#a24848;border-color:#a2484866;align-self:flex-start}.devPanel__btn--danger:hover{background:#a2484814}.devPanel__btn--armed{background:#a24848;color:#f7eceb;border-color:#a24848}.sceneClickable{position:absolute;cursor:pointer;pointer-events:auto;opacity:.9;filter:drop-shadow(0 3px 8px rgba(0,0,0,.28));transition:opacity .16s ease,transform .12s ease;outline:none;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.sceneClickable:hover{opacity:1}.sceneClickable:focus-visible{outline:2px solid rgba(214,122,58,.85);outline-offset:3px;border-radius:6px}.sceneClickable:active{transform:scale(.97)}.sceneClickableCloth{position:absolute;left:0;top:0;width:100%;height:100%;box-sizing:border-box;background:#000;filter:none;opacity:.004;border-radius:0;cursor:pointer}.sceneClothAnchorWrap{position:absolute;left:1082px;top:3261px;width:93px;height:141px;box-sizing:border-box;pointer-events:none;z-index:2}.sceneClothAnchorWrap .sceneClickableCloth{pointer-events:auto}.sceneScrollAnchorWrap{position:absolute;left:111px;top:1421px;width:177px;height:72px;box-sizing:border-box;pointer-events:none;z-index:2}.sceneScrollAnchorWrap .sceneClickableScroll{pointer-events:auto}.sceneClothAnchorWrap .bannedShrineScrollGlitter,.sceneScrollAnchorWrap .bannedShrineScrollGlitter,.sceneShadowLanternAnchorWrap .bannedShrineScrollGlitter{z-index:1}.sceneClickableScroll{left:0;top:0;width:100%;height:100%;box-sizing:border-box;background:#000;filter:none;opacity:.004;border-radius:0;cursor:pointer}.sceneShadowLanternAnchorWrap{position:absolute;left:2258px;top:1973px;width:66px;height:126px;transform:translate(-50%);box-sizing:border-box;pointer-events:none;z-index:2}.sceneShadowLanternAnchorWrap .sceneClickableShadowLantern{pointer-events:auto}.sceneClickableShadowLantern{left:0;top:0;width:100%;height:100%;box-sizing:border-box;background:#000;filter:none;opacity:.004;border-radius:0;cursor:pointer}.sceneClickableCloth:focus-visible,.sceneClickableScroll:focus-visible,.sceneClickableShadowLantern:focus-visible{opacity:1;background:transparent}.sceneClickable.sceneClickableCloth:hover:not(:focus-visible),.sceneClickable.sceneClickableScroll:hover:not(:focus-visible),.sceneClickable.sceneClickableShadowLantern:hover:not(:focus-visible){opacity:.004}.sceneClueOverlay{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:20px;background:#0c08058c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transition:opacity .18s ease}.sceneClueOverlay--visible{opacity:1}.sceneClueCard{position:relative;width:100%;max-width:min(420px,100%);max-height:min(88vh,640px);display:flex;flex-direction:column;background:#1a1410f7;color:#e6d4b8;border:1px solid rgba(214,190,152,.25);border-radius:14px;box-shadow:0 18px 48px #0000008c;font-family:var(--font-sans);font-size:calc(13px * var(--ui-font-scale));line-height:1.5;outline:none;overflow:hidden;transform:translateY(4px) scale(.985);transition:transform .18s ease}.sceneClueCard.sceneClueCard--cloth,.sceneClueCard.sceneClueCard--scroll,.sceneClueCard.sceneClueCard--shadow_lantern{max-width:min(960px,calc(100vw - 32px));max-height:min(92vh,940px)}.sceneClueCard.sceneClueCard--cloth .sceneClueCardBody,.sceneClueCard.sceneClueCard--scroll .sceneClueCardBody,.sceneClueCard.sceneClueCard--shadow_lantern .sceneClueCardBody{padding:12px 14px 16px;gap:8px;min-height:0;flex:1 1 auto}.sceneClueCard.sceneClueCard--scroll .sceneShadowLanternFrame{min-height:min(68vh,720px);max-height:min(74vh,780px)}.sceneClueCard.sceneClueCard--scroll .sceneShadowLanternImg{max-height:min(calc(74vh - 32px),764px)}.sceneClueOverlay--visible .sceneClueCard{transform:translateY(0) scale(1)}.sceneClueCardHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 10px;border-bottom:1px solid rgba(214,190,152,.18);flex-shrink:0}.sceneClueCardTitle{margin:0;font-family:var(--font-sans);font-weight:700;font-size:calc(16px * var(--ui-font-scale));letter-spacing:-.01em;color:#ead7bd}.sceneClueCardClose{font:inherit;font-size:calc(22px * var(--ui-font-scale));line-height:1;width:36px;height:36px;padding:0;border-radius:8px;border:1px solid transparent;background:transparent;color:#c9b999;cursor:pointer;flex-shrink:0}.sceneClueCardClose:hover{background:#e6d4b814;color:#f4e3c6}.sceneClueCardClose:focus-visible{outline:2px solid rgba(214,122,58,.85);outline-offset:2px}.sceneClueCardBody{display:flex;flex-direction:column;gap:10px;padding:14px 18px 18px;overflow-y:auto}.sceneClueCardCaption{margin:0;font-style:italic;color:#c9b999;font-size:calc(12px * var(--ui-font-scale));text-align:center}.sceneDiagramWrap{display:flex;justify-content:center;align-items:center;padding:10px 0 6px;min-height:110px}.sceneDiagramGrid{display:grid;grid-template-columns:repeat(9,16px);grid-template-rows:repeat(9,16px);gap:1px;transform:scaleY(.5) rotate(45deg);transform-origin:center}.sceneDiagramCell{width:16px;height:16px;background:#d6be981a;border:1px solid rgba(214,190,152,.2);display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:calc(11px * var(--ui-font-scale));color:transparent;transform:rotate(-45deg) scaleY(2)}.sceneDiagramCell--cornerX{background:#d67a3a2e;border-color:#d67a3a8c;color:#e6a563;font-weight:600}.sceneDiagramCell--filled{background:#e6d4b88c;border-color:#e6d4b8b3}.sceneDiagramCell--kanji{background:#d67a3a73;border-color:#d67a3ab3}.sceneScrollPara{margin:0}.sceneScrollSignature{margin:0;font-style:italic;color:#c9b999;text-align:right}.sceneScrollBlurred{filter:blur(4px);-webkit-user-select:none;user-select:none;transition:filter .8s ease}.sceneScrollGate{transition:filter .8s ease}.sceneClueSingleImageViewer{width:100%;min-height:0}.sceneShadowLanternViewer{display:grid;grid-template-columns:minmax(44px,56px) minmax(0,1fr) minmax(44px,56px);align-items:center;gap:clamp(8px,2vw,14px);width:100%;min-height:0}.sceneShadowLanternNav{appearance:none;align-self:stretch;display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 4px;background:#e6d4b80f;border:1px solid rgba(214,190,152,.2);color:#e6d4b8;border-radius:10px;font-size:calc(18px * var(--ui-font-scale));line-height:1;cursor:pointer;transition:background .12s ease,border-color .12s ease}.sceneShadowLanternNav:hover{background:#e6d4b824;border-color:#d6be9866}.sceneShadowLanternNav:focus-visible{outline:2px solid rgba(214,122,58,.85);outline-offset:2px}.sceneShadowLanternFrame{position:relative;min-width:0;min-height:min(72vh,780px);max-height:min(78vh,820px);display:flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid rgba(214,190,152,.25);background:#0806048c;padding:clamp(6px,1.5vw,14px);box-sizing:border-box}.sceneShadowLanternImg{display:block;max-width:100%;width:auto;height:auto;max-height:min(calc(78vh - 32px),804px);object-fit:contain;border-radius:6px}.sceneShadowLanternCounter{font-family:var(--font-mono);font-size:calc(10.5px * var(--ui-font-scale));color:#b3a58a;text-align:center;letter-spacing:.04em;flex-shrink:0}@media(max-width:520px){.sceneShadowLanternViewer{grid-template-columns:minmax(40px,48px) minmax(0,1fr) minmax(40px,48px);gap:6px}.sceneShadowLanternNav{font-size:calc(16px * var(--ui-font-scale));min-height:40px;padding:6px 2px}.sceneShadowLanternFrame{min-height:min(52vh,480px);max-height:min(62vh,560px)}.sceneShadowLanternImg{max-height:min(calc(62vh - 24px),540px)}.sceneClueCard.sceneClueCard--scroll .sceneShadowLanternFrame{min-height:min(48vh,420px);max-height:min(58vh,520px)}.sceneClueCard.sceneClueCard--scroll .sceneShadowLanternImg{max-height:min(calc(58vh - 16px),500px)}}.mpWaitingRoom{position:fixed;inset:0;z-index:180;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:20px 16px;background:var(--menu-bg);background-color:var(--bg);overflow-y:auto;-webkit-overflow-scrolling:touch}.mpWaitingRoom[hidden]{display:none!important}.mpWaitingCard{--mp-f-label: calc(12px * var(--ui-font-scale));--mp-f-body: calc(14px * var(--ui-font-scale));--mp-f-heading: calc(13px * var(--ui-font-scale));--mp-f-code: clamp(calc(1.4rem * var(--ui-font-scale)), 5vw, calc(1.75rem * var(--ui-font-scale)));--mp-gap: 12px;position:relative;z-index:2;flex:0 0 auto;width:min(440px,100%);box-sizing:border-box;padding:28px 24px 26px;background:var(--panelSolid);color:var(--text);border:1px solid var(--tileBorder);border-radius:16px;box-shadow:var(--shadow);font-family:var(--font-sans);font-size:var(--mp-f-body);line-height:1.45;display:flex;flex-direction:column;gap:var(--mp-gap)}.mpWaitingRoom--enterFromMenu:not([hidden]) .mpWaitingCard{animation:mpWaitCardEnterFromMenu .52s cubic-bezier(.22,1,.36,1) forwards}@keyframes mpWaitCardEnterFromMenu{0%{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:translateZ(0)}}@media(prefers-reduced-motion:reduce){.mpWaitingRoom--enterFromMenu:not([hidden]) .mpWaitingCard{animation:none}}.mpWaitingCard>*{width:100%;min-width:0}.mpWaitClose{position:absolute;top:10px;right:10px;width:36px;height:36px;padding:0;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--muted);font:inherit;font-size:calc(22px * var(--ui-font-scale));line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2}.mpWaitClose:hover{background:#f2c2cf59;color:var(--text)}.mpWaitClose:focus-visible{outline:2px solid rgba(147,166,106,.55);outline-offset:2px}.mpWaitTitle{margin:0;font-size:var(--mp-f-heading);font-weight:700;letter-spacing:0;line-height:1.25;color:var(--text);text-align:left}.mpWaitShareInfoChip .infoChipBody{white-space:pre-line}.mpWaitLede{margin:0;font-size:var(--mp-f-body);line-height:1.45;color:var(--muted);text-align:left}.mpWaitLabel{display:block;margin:0 0 4px;font-size:var(--mp-f-label);font-weight:700;color:var(--muted);line-height:1.2;text-align:left}.mpWaitField{display:block}.mpWaitField[hidden]{display:none}.mpWaitCodeBlock{padding:10px 12px;border-radius:10px;border:1px solid var(--tileBorder);background:#ffffffa6}.mpWaitCodeRow{display:flex;align-items:center;gap:10px}.mpWaitCodeCell{flex:1;min-width:0;display:flex;justify-content:center;align-items:center}.mpWaitCode{margin:0;font-family:var(--font-mono);font-weight:700;color:var(--text);font-size:var(--mp-f-code);line-height:1.1;letter-spacing:.35em;padding-inline:.175em .35em;text-transform:uppercase;font-variant-numeric:tabular-nums;text-align:center;-webkit-user-select:all;user-select:all;cursor:text}.mpWaitInput{font:inherit;font-size:calc(15px * var(--ui-font-scale));font-weight:600;width:100%;box-sizing:border-box;padding:10px 12px;border-radius:10px;border:1px solid var(--tileBorder);background:var(--panelSolid);color:var(--text);text-align:left}.mpWaitInput::placeholder{color:#2c241859}.mpWaitInput:focus-visible{outline:2px solid rgba(147,166,106,.55);outline-offset:2px}.mpWaitUrlRow{display:flex;align-items:stretch;gap:8px}.mpWaitUrlValue{flex:1;min-width:0;font-family:var(--font-mono);font-size:calc(12px * var(--ui-font-scale));line-height:1.35;padding:10px 12px;border-radius:10px;border:1px solid var(--tileBorder);background:#ffffffa6;color:var(--text);word-break:break-all}.mpWaitCopy{font:inherit;font-size:calc(13px * var(--ui-font-scale));font-weight:600;padding:0 14px;min-height:40px;border-radius:10px;border:1px solid var(--tileBorder);background:linear-gradient(180deg,#fff3,#fff0);color:var(--text);cursor:pointer;flex-shrink:0;white-space:nowrap}.mpWaitCopy:hover{filter:brightness(1.03);border-color:#bf865473}.mpWaitCopy:focus-visible{outline:2px solid rgba(147,166,106,.55);outline-offset:2px}.mpWaitRoster{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.mpWaitSeat{display:flex;align-items:center;gap:8px;min-height:28px;font-size:var(--mp-f-body)}.mpWaitDot{width:10px;height:10px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 1px #0003}.mpWaitPlayerName{color:var(--text)}.mpWaitSeat--empty .mpWaitSeatEmpty{color:var(--muted);animation:mpWaitingPulse 2.2s ease-in-out infinite}.mpWaitControl{display:flex;flex-direction:column;gap:8px;text-align:left}.mpWaitStatus{margin:0;font-size:var(--mp-f-body);line-height:1.4;color:var(--muted)}.mpWaitStart{font:inherit;font-size:calc(15px * var(--ui-font-scale));font-weight:700;width:100%;min-height:44px;padding:10px 16px;border-radius:10px;border:1px solid rgba(147,166,106,.45);background:linear-gradient(180deg,#c7d9898c,#c7d98938);color:var(--text);cursor:pointer;transition:opacity .15s ease,filter .15s ease}.mpWaitStart:disabled{cursor:not-allowed;opacity:.5;filter:grayscale(.35)}.mpWaitStart:not(:disabled):hover{filter:brightness(1.05)}.mpWaitStart:focus-visible{outline:2px solid var(--p-sakura);outline-offset:2px}.mpCountdown{position:fixed;inset:0;z-index:190;display:flex;align-items:center;justify-content:center;pointer-events:none;transition:opacity .3s ease}.mpCountdown[hidden]{display:none!important}.mpCountdown--fading{opacity:0;transition:opacity .3s ease}.mpCountdownBackdrop{position:absolute;inset:0;background:var(--scrim);pointer-events:auto}.mpCountdownNum{position:relative;z-index:1;font-family:var(--font-sans);font-size:clamp(calc(120px * var(--ui-font-scale)),20vw,calc(200px * var(--ui-font-scale)));font-weight:800;color:var(--text);line-height:1;letter-spacing:-.02em;text-align:center;text-shadow:0 1px 0 rgba(255,255,255,.45);-webkit-user-select:none;user-select:none}.mpCountdownNum--tick{animation:mpCountdownEnter .2s ease-out,mpCountdownExit .2s ease-in .8s both}@keyframes mpWaitingPulse{0%,to{opacity:.5}50%{opacity:.95}}@keyframes mpCountdownEnter{0%{transform:scale(1.4);opacity:0}to{transform:scale(1);opacity:1}}@keyframes mpCountdownExit{0%{transform:scale(1);opacity:1}to{transform:scale(.8);opacity:0}}.renConfrontation{position:fixed;inset:0;z-index:21000;background:#000;pointer-events:auto;overflow:hidden}.renConfrontationImg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform-origin:center center;pointer-events:none;opacity:0}.renConfrontationImg--deferShow{opacity:0!important;animation:none!important}.renConfrontation:not(.renConfrontation--reduced) .renConfrontationImg:not(.renConfrontationImg--deferShow){animation:renConfrontationFadeIn .8s ease-out forwards,renConfrontationZoom 17s linear forwards}.renConfrontationFade{position:absolute;inset:0;background:#000;opacity:0;pointer-events:none}.renConfrontationFade--black{animation:renConfrontationFadeBlack 1.5s ease-out forwards}.renConfrontationFade--blackReduced{animation:renConfrontationFadeBlack .3s ease-out forwards}@keyframes renConfrontationFadeIn{0%{opacity:0}to{opacity:1}}@keyframes renConfrontationZoom{0%{transform:scale(1)}to{transform:scale(1.06)}}@keyframes renConfrontationFadeBlack{0%{opacity:0}to{opacity:1}}.banishmentTitleCard{position:fixed;inset:0;z-index:21500;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box;pointer-events:none;background:transparent;color:#ead7bd;font-family:var(--font-sans);font-size:clamp(1.35rem,4vw,2.4rem);font-weight:700;letter-spacing:.02em;text-align:center;text-shadow:0 2px 18px rgba(0,0,0,.9);opacity:0;animation:banishmentTitleCardFade 2.4s ease-in-out forwards}@keyframes banishmentTitleCardFade{0%{opacity:0;transform:translateY(8px)}24%,72%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){.renConfrontation--reduced .renConfrontationImg:not(.renConfrontationImg--deferShow){animation:renConfrontationFadeIn .3s ease-out forwards!important;animation-duration:.3s!important}.renConfrontationFade--blackReduced{animation:renConfrontationFadeBlack .3s ease-out forwards!important;animation-duration:.3s!important}.banishmentTitleCard{animation:banishmentTitleCardFade 1.2s ease-in-out forwards}}.bannedShrine{position:fixed;inset:0;z-index:22000;box-sizing:border-box;overflow:hidden;pointer-events:auto;background-color:#000}.bannedShrineBg{position:absolute;inset:0;overflow:hidden;box-sizing:border-box;background-color:#000}.bannedShrineBgImg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .55s ease;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.bannedShrineBg--ready .bannedShrineBgImg{opacity:1}.bannedShrineBg--fallback{background-color:#000}.bannedShrineGroundLetter{position:absolute;inset:auto auto 22% 38%;width:6%;max-width:96px;min-width:43px;aspect-ratio:916 / 412;height:auto;padding:0;margin:0;border:none;background:transparent;cursor:pointer;z-index:2;box-sizing:border-box;appearance:none;-webkit-appearance:none;line-height:0;font-size:0;-webkit-tap-highlight-color:transparent;color:transparent}.bannedShrineGroundLetter--texture{left:auto;bottom:auto;max-width:none;min-width:0;opacity:0;transition:opacity .55s ease}.bannedShrineBg--ready .bannedShrineGroundLetter--texture{opacity:1}.bannedShrineGroundLetter:focus-visible{outline:2px solid var(--p-sakura);outline-offset:4px;color:transparent}.bannedShrineScrollGlitter{position:absolute;inset:-10%;pointer-events:none}.bannedShrineScrollSparkle{position:absolute;width:clamp(3px,7%,9px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.98) 0 18%,rgba(255,231,166,.82) 28%,transparent 68%);box-shadow:0 0 7px #ffe491d9;opacity:0;transform:translate(-50%,-50%) scale(.55);animation:bannedShrineScrollSparkleTwinkle 2.6s ease-in-out infinite}.bannedShrineScrollSparkle:nth-child(1){left:18%;top:34%;animation-delay:-.4s}.bannedShrineScrollSparkle:nth-child(2){left:43%;top:18%;animation-delay:-1.3s}.bannedShrineScrollSparkle:nth-child(3){left:64%;top:42%;animation-delay:-2s}.bannedShrineScrollSparkle:nth-child(4){left:80%;top:60%;animation-delay:-.9s}.bannedShrineScrollSparkle:nth-child(5){left:36%;top:72%;animation-delay:-2.4s}@keyframes bannedShrineScrollSparkleTwinkle{0%,62%,to{opacity:0;transform:translate(-50%,-50%) scale(.55)}12%{opacity:.95;transform:translate(-50%,-50%) scale(1)}24%{opacity:.25;transform:translate(-50%,-50%) scale(1.45)}}.bannedShrine--reducedMotion .bannedShrineScrollSparkle{animation:none;opacity:.65;transform:translate(-50%,-50%) scale(1)}.bannedShrineOverlay{position:absolute;inset:0;z-index:3;background:#0000008c;opacity:0;pointer-events:none}.bannedShrine--open .bannedShrineOverlay{pointer-events:auto;animation:bannedShrineOverlayFadeIn .4s ease forwards}.bannedShrineScroll{position:absolute;left:50%;top:50%;z-index:4;width:min(96vw,1040px);height:min(92vh,980px);max-height:calc(100vh - 16px);max-width:calc(100vw - 16px);box-sizing:border-box;padding:0;display:flex;flex-direction:column;background:transparent;border:none;border-radius:0;box-shadow:none;opacity:0;pointer-events:none;transform:translate(-50%,calc(-50% + 16px))}.bannedShrineScrollStack{position:relative;flex:1 1 auto;min-height:0;width:100%}.bannedShrine--open .bannedShrineScroll{pointer-events:auto;animation:bannedShrineScrollFadeIn .4s ease forwards}.bannedShrine--open .bannedShrineGroundLetter{opacity:0;visibility:hidden;pointer-events:none}.bannedShrineLetter{position:absolute;inset:0;z-index:0;display:flex;align-items:center;justify-content:center;overflow:auto;padding:0;-webkit-overflow-scrolling:touch}.bannedShrineLetterImg{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;object-position:center bottom;pointer-events:none;filter:drop-shadow(0 22px 28px rgba(0,0,0,.5))}.bannedShrineAmuletBtn{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);z-index:1;padding:8px;border:none;background:transparent;cursor:pointer;border-radius:50%;filter:drop-shadow(0 0 8px rgba(180,120,60,.55));transition:filter .2s ease}.bannedShrineAmuletBtn:hover{filter:drop-shadow(0 0 18px rgba(232,180,100,.75))}.bannedShrineAmuletBtn:focus-visible{outline:2px solid var(--p-sakura);outline-offset:4px}.bannedShrineAmulet{display:block;width:118px;height:auto;vertical-align:middle}.bannedShrineAmuletFallback{width:118px;height:118px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#d4a574,#8b5a2b 38%,#5c3d1e 70%,#3d2814);box-shadow:inset 2px 2px 4px #ffe6c859,inset -3px -4px 8px #00000073,0 2px 6px #00000059}.bannedShrineFlash{position:fixed;inset:0;z-index:30000;background:#fff;opacity:0;pointer-events:none}.bannedShrineFlash--full{animation:bannedShrineWhiteFlash 1.6s forwards}.bannedShrineFlash--reduced{animation:bannedShrineWhiteFlashReduced .2s forwards}@keyframes bannedShrineScrollFadeIn{0%{opacity:0;transform:translate(-50%,calc(-50% + 16px))}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes bannedShrineOverlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes bannedShrineWhiteFlash{0%{opacity:0}18%{opacity:1}to{opacity:1}}@keyframes bannedShrineWhiteFlashReduced{0%{opacity:0}to{opacity:1}}.bannedShrine--reducedMotion .bannedShrineOverlay{transition:none}.bannedShrine--reducedMotion.bannedShrine--open .bannedShrineScroll{animation:bannedShrineScrollFadeInReduced .1s ease forwards}.bannedShrine--reducedMotion.bannedShrine--open .bannedShrineOverlay{animation:bannedShrineOverlayFadeInReduced .1s ease forwards}@keyframes bannedShrineScrollFadeInReduced{0%{opacity:0}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes bannedShrineOverlayFadeInReduced{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.bannedShrineFlash--full{animation:bannedShrineWhiteFlashReduced .2s forwards!important}.bannedShrine--open .bannedShrineOverlay,.bannedShrine--open .bannedShrineScroll{animation-duration:.1s!important}}.trueEnding{position:fixed;inset:0;z-index:6;display:flex;flex-direction:column;background:#0a0908}.trueEndingTopbar{flex:0 0 auto}.trueEndingBoard{flex:1;min-height:0;position:relative}.trueEndingBoard .board{width:100%;height:100%}.trueEndingRen{pointer-events:none!important}.trueEndingPreloadVeil{position:fixed;inset:0;z-index:100000;background:#000;opacity:1;pointer-events:auto;transition:opacity .55s ease}.trueEndingPreloadVeil--hidden{opacity:0}.trueEndingPreloadVeil--fast{transition-duration:.12s}.trueEndingA11y{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.trueEndingFadeBlack{position:fixed;inset:0;z-index:40;background:#000;opacity:0;pointer-events:none;animation:trueEndingFadeToBlack 1.5s ease forwards}.trueEndingFadeBlack--fast{animation:trueEndingFadeToBlack .3s ease forwards}@keyframes trueEndingFadeToBlack{to{opacity:1}}@media(prefers-reduced-motion:reduce){.trueEndingFadeBlack:not(.trueEndingFadeBlack--fast){animation:trueEndingFadeToBlack .3s ease forwards}}.trueEndingOutro{position:fixed;inset:0;z-index:10050;overflow:hidden;background:#141210}.trueEndingOutroCredits{position:absolute;z-index:1;inset:0 0 0 auto;width:50%;min-width:0;max-width:100%;display:flex;flex-direction:column;box-sizing:border-box;padding:0;pointer-events:none;background:none}.trueEndingOutroCreditsMask{flex:1;min-height:0;overflow:hidden;padding:28px clamp(18px,4vw,32px) 24px 26px;opacity:0;transition:opacity .55s ease}.trueEndingOutroCredits--visible .trueEndingOutroCreditsMask{opacity:1}.trueEndingOutroCreditsTrack{text-align:left;max-width:40rem;margin-left:0;margin-right:auto}.trueEndingOutroCreditsTrack .creditsScreenTitleWrap{text-align:left}.trueEndingOutroCreditsTrack .creditsScreenTitle{color:#fff}.trueEndingOutroCreditsTrack .creditsScreenTagline{color:#fff;opacity:.92}.trueEndingOutroCreditsTrack .creditsScreenHeading{color:#fff;opacity:.85}.trueEndingOutroCreditsTrack .creditsScreenLine{color:#fff}.trueEndingOutroCreditsTrack .creditsScreenMemorialDivider{background:#ffffff59}.trueEndingOutroCreditsTrack .creditsScreenMemorialHeading{color:#fff;opacity:.85}.trueEndingOutroCreditsTrack .creditsScreenMemorial{color:#fff;font-style:italic}.trueEndingOutroCreditsTrack .creditsScreenMemorialLine{color:#fff}.trueEndingOutro--reducedMotion .trueEndingOutroCreditsMask--static{overflow-y:auto;-webkit-overflow-scrolling:touch;padding-right:10px}.trueEndingOutroCreditsTrack--run{animation-name:trueEndingOutroCreditsScroll;animation-timing-function:linear;animation-fill-mode:forwards}.trueEndingOutroImg{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;opacity:0;transform-origin:50% 50%}.trueEndingOutroLabel{position:absolute;z-index:2;left:clamp(24px,5vw,64px);top:clamp(22px,5vh,60px);color:#fff;font-family:Georgia,Times New Roman,serif;font-size:clamp(calc(1.1rem * var(--ui-font-scale)),2.2vw,calc(2rem * var(--ui-font-scale)));letter-spacing:.18em;text-transform:uppercase;text-shadow:0 2px 14px rgba(0,0,0,.85);pointer-events:none}.trueEndingOutro:not(.trueEndingOutro--reducedMotion) .trueEndingOutroImg--visible{opacity:1}.trueEndingOutro--reducedMotion .trueEndingOutroImg--visible{animation:trueEndingOutroFadeIn .3s ease forwards}.trueEndingOutroFade{position:absolute;inset:0;z-index:3;background:#000;opacity:0;pointer-events:none}.trueEndingOutroFade--active{animation:trueEndingOutroFadeBlack 1.5s ease forwards}.trueEndingOutro--reducedMotion .trueEndingOutroFade--active{animation:trueEndingOutroFadeBlack .3s ease forwards}@keyframes trueEndingOutroFadeIn{0%{opacity:0}to{opacity:1}}@keyframes trueEndingOutroFadeBlack{to{opacity:1}}@keyframes trueEndingOutroCreditsScroll{0%{transform:translateY(var(--credits-start-y, 0))}to{transform:translateY(var(--credits-end-y, -50vh))}}
