@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:500 800;font-display:swap;src:url(/assets/BricolageGrotesque-variable-DLoelf7F.woff2)format("woff2")}:root{--font-display:"Bricolage Grotesque", system-ui, -apple-system, sans-serif;--font-ui:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fs-hero:clamp(31px, 5.8vw, 54px);--fs-display:clamp(26px, 4vw, 38px);--fs-title:22px;--fs-lg:17px;--fs-md:14.5px;--fs-sm:13px;--fs-xs:11.5px;--fw-body:500;--fw-med:600;--fw-bold:700;--fw-heavy:800;--fw-black:900;--track-caps:.09em;--track-tight:-.02em;--c-bg-0:#17123a;--c-bg-1:#241a63;--c-bg-2:#3c2e9e;--c-bg-3:#5a3cc6;--bg-app:radial-gradient(90% 70% at 12% 2%, #ff78cd42, transparent 55%), radial-gradient(90% 70% at 100% 8%, #56ccff38, transparent 55%), radial-gradient(120% 90% at 50% 120%, #785aff4d, transparent 60%), linear-gradient(165deg, var(--c-bg-3) 0%, var(--c-bg-2) 45%, var(--c-bg-1) 100%);--c-surface:#ffffff12;--c-surface-2:#ffffff1f;--c-surface-sunken:#0c082852;--c-panel:linear-gradient(180deg, #ffffff1a, #ffffff0b);--c-panel-solid:radial-gradient(120% 80% at 50% -10%, #7c5cff47, transparent 60%), linear-gradient(180deg, #2e2270, #201856);--c-border:#ffffff24;--c-border-strong:#ffffff47;--c-keyline:#0a072273;--c-text:#fffbf5;--c-text-muted:#fffbf5ad;--c-text-faint:#fffbf58c;--c-on-accent:#4a2600;--c-on-primary:#fff;--c-primary:#7c5cff;--c-primary-bright:#a48bff;--c-primary-deep:#4b2fbf;--c-accent:#ffb020;--c-accent-bright:#ffd764;--c-accent-deep:#c86a12;--grad-accent:linear-gradient(180deg, #ffd764 0%, #ffb020 52%, #ff8a3d 100%);--c-success:#3ddc97;--c-success-deep:#17a66a;--c-info:#56ccff;--c-fun:#ff6fb5;--c-danger:#ff6b5b;--c-danger-deep:#c7382a;--p-red:#d6493c;--p-green:#2e9c61;--p-yellow:#e9a62f;--p-blue:#3b6bcb;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--r-xs:8px;--r-sm:12px;--r-md:16px;--r-lg:20px;--r-xl:28px;--r-pill:999px;--e-1:0 6px 16px -8px #0000008c;--e-2:0 16px 34px -16px #0009;--e-3:0 30px 70px -24px #000000b3;--e-lip:0 6px 0 -1px var(--c-keyline);--e-lip-lg:0 9px 0 -1px var(--c-keyline);--e-inset-top:inset 0 1px 0 #ffffff24;--glow-focus:0 0 0 3px #ffd76480;--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--ease-out:cubic-bezier(.22, .8, .3, 1);--dur-fast:.14s;--dur:.2s;--dur-slow:.38s}@media (prefers-reduced-motion:reduce){:root{--dur-fast:.01ms;--dur:.01ms;--dur-slow:.01ms}}*{box-sizing:border-box;margin:0}body{font-family:var(--font-ui);font-weight:var(--fw-body);color:var(--c-text);background:var(--c-bg-1)}body:before{content:"";z-index:-2;pointer-events:none;background:url(/playful-bg.svg) center center / cover no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E"), var(--bg-app);position:fixed;inset:0}.wrap{isolation:isolate;min-height:100dvh;padding:var(--sp-3);font-family:var(--font-ui);font-weight:var(--fw-body);color:var(--c-text);-webkit-user-select:none;user-select:none;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:clamp(10px,2vmin,18px);animation:.3s ease-out wrapIn;display:flex;position:relative;overflow:hidden}h1,h2,h3,.wordmark,.title,.cta,.dialogTitle,.appBarTitle,.appHeroTitle{font-family:var(--font-display)}.wrap:before,.wrap:after{content:"";z-index:-1;filter:blur(100px);opacity:.34;pointer-events:none;will-change:transform;border-radius:50%;position:fixed}.wrap:before{background:radial-gradient(circle at 50% 50%, var(--c-fun) 0%, transparent 70%);width:54vmax;height:54vmax;animation:26s ease-in-out infinite alternate blobDriftA;top:-24vmax;right:-22vmax}.wrap:after{background:radial-gradient(circle at 50% 50%, var(--c-info) 0%, transparent 70%);width:58vmax;height:58vmax;animation:30s ease-in-out infinite alternate blobDriftB;bottom:-26vmax;left:-24vmax}@media (width<=520px){.wrap:before,.wrap:after{display:none}}@keyframes blobDriftA{0%{transform:translate(0)scale(1)}to{transform:translate(-3%,3%)scale(1.05)}}@keyframes blobDriftB{0%{transform:translate(0)scale(1)}to{transform:translate(3%,-3%)scale(1.04)}}@keyframes wrapIn{0%{opacity:0;transform:translateY(6px)}}.wrap--setup{justify-content:flex-start}@media (width<=520px){.wrap{padding:10px 10px calc(10px + env(safe-area-inset-bottom))}.wrap--setup{gap:0;padding:0}}input{-webkit-user-select:text;user-select:text}.top{align-items:center;gap:var(--sp-2);flex-wrap:wrap;width:min(94vw,640px);display:flex}.wordmark{font-weight:var(--fw-heavy);letter-spacing:.12em;text-transform:uppercase;opacity:.92;text-shadow:0 2px #0a072259;font-size:15px}.chips{flex-wrap:wrap;flex:1;gap:6px;display:flex}.chip{font-size:var(--fs-xs);font-weight:var(--fw-heavy);border-radius:var(--r-pill);background:var(--c-surface);border:1.5px solid var(--c-border);box-shadow:var(--e-inset-top);transition:transform var(--dur) var(--ease-bounce), box-shadow var(--dur) var(--ease-out);align-items:center;gap:6px;padding:5px 11px 7px;display:inline-flex;position:relative;overflow:hidden}.chip:before{content:"";background:var(--c);width:10px;height:10px;box-shadow:0 0 0 1.5px #ffffff59, 0 0 8px -1px var(--c);border-radius:50%}.chipBar{background:var(--c);height:3px;transition:width var(--dur-slow) var(--ease-out);border-radius:2px;position:absolute;bottom:0;left:0}.chipOn{background:var(--c-surface-2);box-shadow:0 0 0 2px var(--c), 0 0 16px -3px var(--c), var(--e-1);transform:translateY(-2px)}.gameTop{z-index:50;border-radius:var(--r-md);border:1px solid var(--c-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#17123a6b;width:min(94vw,520px);padding:6px 8px;position:relative}.gameWordmark{flex:none}.gameTopSpacer{flex:1}.gameTop .chips{min-width:0}.exitBtnText{line-height:1}.iconBtn{justify-content:center;align-items:center;min-width:34px;min-height:34px;padding:0;display:inline-flex}.iconBtn svg{display:block}@media (width<=520px){.gameTop .chips{flex-basis:100%;order:5;justify-content:center;margin-top:2px}.gameTop .gameWordmark{flex:1}}@media (width<=400px){.exitBtnText{display:none}.exitBtn{padding:7px 9px}}.boardArea{width:min(94vw,520px,100dvh - 264px);margin-block:clamp(10px,2.4vmin,20px);position:relative}.boardArea:before{content:"";z-index:-1;filter:blur(28px);pointer-events:none;background:radial-gradient(60% 50% at 50% 55%,#ffffff21,#0000 70%);border-radius:50%;position:absolute;inset:-6% -6% -10%}.dock{align-items:center;gap:var(--sp-3);background:var(--c-panel);border:2px solid var(--c-border);border-radius:var(--r-lg);width:min(94vw,520px);padding:11px var(--sp-4);box-shadow:var(--e-lip), var(--e-1), var(--e-inset-top);display:flex}.turnDot{background:var(--c);width:18px;height:18px;box-shadow:0 0 0 3px #ffffff38, 0 0 14px -2px var(--c);animation:turnDotBeat 1.8s var(--ease-out) infinite;border-radius:50%;flex:none}@keyframes turnDotBeat{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.turnText{min-width:0}.turnText strong{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:var(--fw-heavy);letter-spacing:var(--track-tight);display:block}.turnText small{color:var(--c-text-muted);font-size:var(--fs-sm);font-weight:var(--fw-med);display:block}.toasts{pointer-events:none;z-index:60;flex-direction:column;align-items:center;gap:6px;display:flex;position:fixed;bottom:92px;left:50%;transform:translate(-50%)}.toast{border-radius:var(--r-pill);padding:8px var(--sp-4);font-size:var(--fs-sm);font-weight:var(--fw-heavy);white-space:nowrap;animation:toastIn .28s var(--ease-bounce);box-shadow:var(--e-2);text-overflow:ellipsis;background:#17123af0;border:2px solid;max-width:92vw;overflow:hidden}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)scale(.92)}}.panel{background:var(--c-panel);border:2px solid var(--c-border);border-radius:var(--r-xl);width:min(92vw,400px);padding:var(--sp-8) var(--sp-6);gap:var(--sp-4);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--e-3), var(--e-inset-top);flex-direction:column;display:flex}.title{font-size:44px;font-weight:var(--fw-black);letter-spacing:var(--track-tight);text-shadow:0 3px #0a07224d;line-height:1}.sub{color:var(--c-text-muted);font-weight:var(--fw-med);margin-top:-10px}.gameLoading{align-items:center;gap:var(--sp-5);flex-direction:column;display:flex}.gameLoadingLogo{box-shadow:0 0 0 3px var(--c-accent-bright), var(--e-2);border-radius:50%;animation:1.4s ease-in-out infinite glPulse}@keyframes glPulse{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}.gameLoadingDots{gap:7px;display:flex}.gameLoadingDots span{background:var(--c-accent-bright);border-radius:50%;width:9px;height:9px;animation:1s ease-in-out infinite glDot}.gameLoadingDots span:nth-child(2){animation-delay:.15s}.gameLoadingDots span:nth-child(3){animation-delay:.3s}@keyframes glDot{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-6px)}}.errorPanel{text-align:center;align-items:center;gap:var(--sp-4)}.errorLogo{box-shadow:0 0 0 3px var(--c-accent-bright), var(--e-2);border-radius:50%}.errorPanel .cta,.errorPanel .errorHomeBtn{width:100%}.errorHomeBtn{text-align:center;text-decoration:none}@media (prefers-reduced-motion:reduce){.gameLoadingLogo,.gameLoadingDots span,.turnDot{animation:none!important}}.cta{border:3px solid var(--c-keyline);border-radius:var(--r-lg);background:var(--grad-accent);min-height:52px;color:var(--c-on-accent);font-family:var(--font-display);font-weight:var(--fw-black);letter-spacing:.01em;cursor:pointer;text-shadow:0 1px #ffffff73;box-shadow:0 7px 0 var(--c-accent-deep), var(--e-2), 0 0 30px -10px #ffb020e6;transition:filter var(--dur-fast) ease, transform var(--dur-fast) var(--ease-bounce), box-shadow var(--dur-fast) ease;padding:15px;font-size:16.5px;position:relative;overflow:hidden}.cta:before{content:"";pointer-events:none;background:linear-gradient(120deg,#0000 30%,#fff9 50%,#0000 70%);animation:4.8s ease-in-out 1.2s infinite ctaShine;position:absolute;inset:0;transform:translate(-120%)}@keyframes ctaShine{0%{transform:translate(-120%)}16%{transform:translate(120%)}to{transform:translate(120%)}}.cta:hover{filter:brightness(1.05);box-shadow:0 9px 0 var(--c-accent-deep), var(--e-3), 0 0 40px -8px #ffb020;transform:translateY(-2px)}.cta:active{box-shadow:0 2px 0 var(--c-accent-deep), var(--e-1);transform:translateY(5px)}.cta:disabled{opacity:.45;cursor:not-allowed;filter:none}.cta:disabled:active{box-shadow:0 7px 0 var(--c-accent-deep), var(--e-2);transform:none}.cta:disabled:before{display:none}.cta--danger,.ctaDanger{background:linear-gradient(180deg, #ff8c7f 0%, var(--c-danger) 55%, #e4442f 100%);color:var(--c-text);text-shadow:0 1px #00000040;box-shadow:0 7px 0 var(--c-danger-deep), var(--e-2)}.cta--danger:hover,.ctaDanger:hover{box-shadow:0 9px 0 var(--c-danger-deep), var(--e-3), 0 0 40px -8px #ff6b5be6}.cta--danger:active,.ctaDanger:active{box-shadow:0 2px 0 var(--c-danger-deep), var(--e-1)}.ghost{background:var(--c-surface);border:1.5px solid var(--c-border);color:inherit;font:inherit;font-weight:var(--fw-bold);border-radius:var(--r-pill);cursor:pointer;transition:background var(--dur-fast) ease, border-color var(--dur-fast) ease, transform var(--dur-fast) var(--ease-bounce);padding:7px 13px;font-size:12.5px}.ghost.icon{padding:7px 10px;font-size:13px}.ghost.big{font-size:var(--fs-md);border-radius:var(--r-sm);padding:12px}.ghost:hover{background:var(--c-surface-2);border-color:var(--c-border-strong);transform:translateY(-1px)}.ghost:active{transform:translateY(1px)scale(.97)}.exitBtn{font-weight:var(--fw-heavy);color:var(--c-danger);background:#ff6b5b1a;border-color:#ff6b5b66;align-items:center;gap:5px;display:inline-flex}.exitBtn span{font-size:15px;line-height:1}.exitBtn:hover{background:#ff6b5b33;border-color:#ff6b5b99}.gameMenu{position:relative}.gameMenuPanel{right:0;top:calc(100% + var(--sp-2));z-index:70;background:var(--c-panel-solid);border:2px solid var(--c-border);border-radius:var(--r-md);min-width:208px;box-shadow:var(--e-3), var(--e-inset-top);animation:gameMenuIn .18s var(--ease-bounce);transform-origin:100% 0;flex-direction:column;gap:2px;padding:7px;display:flex;position:absolute}@keyframes gameMenuIn{0%{opacity:0;transform:scale(.9)translateY(-4px)}}.gameMenuItem{text-align:left;color:inherit;font:inherit;font-weight:var(--fw-bold);font-size:var(--fs-md);cursor:pointer;transition:background var(--dur-fast) ease, transform var(--dur-fast) var(--ease-bounce);background:0 0;border:none;border-radius:11px;align-items:center;gap:11px;padding:10px 11px;display:flex}.gameMenuIcon{width:30px;height:30px;color:var(--c-primary-bright);background:#7c5cff33;border-radius:9px;flex:none;justify-content:center;align-items:center;display:inline-flex;box-shadow:inset 0 0 0 1px #a48bff4d}.gameMenuIcon svg{width:17px;height:17px}.gameMenuLabel{flex:1}.gameMenuItem:hover{background:var(--c-surface);transform:translate(2px)}.gameMenuItem.danger{color:var(--c-danger);margin-top:var(--sp-1);position:relative}.gameMenuItem.danger .gameMenuIcon{color:var(--c-danger);background:#ff6b5b29;box-shadow:inset 0 0 0 1px #ff6b5b52}.gameMenuItem.danger:before{content:"";left:var(--sp-2);right:var(--sp-2);background:var(--c-border);height:1px;position:absolute;top:-3px}.setupPanel{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;gap:var(--sp-3);scrollbar-width:none;-ms-overflow-style:none;width:min(92vw,470px);height:calc(100dvh - 28px);max-height:calc(100dvh - 28px);padding-bottom:0;overflow-y:auto}.setupPanel::-webkit-scrollbar{display:none}.setupTop{align-items:center;gap:var(--sp-3);display:flex}.setupTop .title{font-size:32px;line-height:1.05}.setupFooter{z-index:6;margin-top:var(--sp-3);flex-direction:column;display:flex;position:sticky;bottom:0}.setupPanel .cta{padding:14px var(--sp-6) var(--sp-6);box-shadow:0 4px 0 var(--c-accent-deep), 0 -14px 22px -14px #0a0722e6}.scrollCue{pointer-events:none;opacity:0;justify-content:center;padding-bottom:10px;transition:opacity .25s,transform .25s;display:flex;position:absolute;bottom:100%;left:0;right:0;transform:translateY(6px)}.scrollCue.on{opacity:1;transform:translateY(0)}.scrollCueBtn{pointer-events:auto;padding:8px var(--sp-3);border-radius:var(--r-pill);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--c-primary-bright);font:inherit;font-weight:var(--fw-heavy);box-shadow:var(--e-1), var(--e-inset-top);cursor:pointer;background:#241a63eb;border:2px solid #a48bff66;align-items:center;gap:7px;animation:1.7s ease-in-out infinite scrollCueBounce;display:inline-flex}.scrollCueText{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.07em}.scrollCueBtn svg{flex:none}@keyframes scrollCueBounce{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@media (prefers-reduced-motion:reduce){.scrollCueBtn{animation:none}}@media (width<=520px){.setupPanel{-webkit-backdrop-filter:none;backdrop-filter:none;width:100%;height:100dvh;max-height:none;box-shadow:none;padding:0 var(--sp-3);gap:var(--sp-3);background:0 0;border:none;border-radius:0}.setupTop{z-index:7;margin:0 calc(-1 * var(--sp-3));padding:calc(10px + env(safe-area-inset-top)) var(--sp-3) 10px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--c-border);background:#241a63e6;position:sticky;top:0}.setupTop .title{font-size:24px}.setupTop .sub{font-size:12.5px}.setupFooter{margin-top:0}.setupPanel .cta{padding:14px var(--sp-3) calc(14px + env(safe-area-inset-bottom))}}.setupSection{gap:var(--sp-2);background:var(--c-surface-sunken);border:1.5px solid var(--c-border);border-radius:var(--r-md);flex-direction:column;padding:13px 14px 14px;display:flex}.setupHeading{font-size:var(--fs-xs);font-weight:var(--fw-heavy);text-transform:uppercase;letter-spacing:var(--track-caps);color:var(--c-text-faint);margin-bottom:var(--sp-1);align-items:center;gap:7px;display:flex}.setupHeading span:first-child{font-size:13px}.setupHint{font-size:12px;font-weight:var(--fw-med);color:var(--c-text-faint)}.seatBlock{padding:var(--sp-3) 13px 13px;border-radius:var(--r-md);border:1.5px solid color-mix(in srgb, var(--seat-c) 45%, var(--c-border));background:linear-gradient(180deg, #ffffff0d, #ffffff04), linear-gradient(180deg, color-mix(in srgb, var(--seat-c) 22%, transparent), color-mix(in srgb, var(--seat-c) 8%, transparent));box-shadow:var(--e-inset-top);flex-direction:column;gap:10px;display:flex}.seatBlock+.seatBlock{margin-top:9px}.seatRow{align-items:center;gap:11px;display:flex}.seatRow .seg{flex:1}.seatAvatar{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:38px;height:38px;font-size:17px;display:flex;box-shadow:inset 0 0 0 2px #ffffff73,inset 0 -3px 6px #0000004d,0 3px 7px #00000059}.seatSeg{padding:var(--sp-1);background:var(--c-surface-sunken)}.seatSeg .segBtn{border-radius:9px;min-height:36px;padding:8px 0;font-size:12.5px}.seatSeg .segBtn.on{box-shadow:0 0 0 2px color-mix(in srgb, var(--seat-c) 75%, transparent), 0 3px 0 #0a072280, 0 2px 5px #00000047}.seatName{background:var(--c-surface-sunken);border:1.5px solid var(--c-border);color:inherit;font:inherit;border-radius:11px;margin-left:49px;padding:10px 13px;font-size:13.5px}.seatName:focus{outline:2px solid color-mix(in srgb, var(--seat-c) 70%, var(--c-text));outline-offset:1px}.seatDiff{margin-left:49px}.ruleGroup+.ruleGroup{margin-top:10px}.ruleGroupHeading{font-size:10.5px;font-weight:var(--fw-heavy);text-transform:uppercase;letter-spacing:.08em;color:var(--c-text-faint);margin-bottom:2px}.seg{gap:var(--sp-1);background:var(--c-surface-sunken);border-radius:var(--r-sm);padding:5px;display:flex}.segBtn{color:var(--c-text-muted);font:inherit;font-weight:var(--fw-bold);font-size:var(--fs-md);border-radius:var(--r-xs);cursor:pointer;transition:background var(--dur-fast) ease, color var(--dur-fast) ease, transform var(--dur-fast) var(--ease-bounce);background:0 0;border:none;flex:1;padding:9px 0}.segBtn:hover{background:var(--c-surface);color:var(--c-text)}.segBtn.on{color:#241a63;box-shadow:0 3px 0 #0a072280, var(--e-1);background:#fffbf5;transform:translateY(-1px)}.segBtn.on:active{transform:translateY(1px);box-shadow:0 1px #0a072280}.nameList{gap:var(--sp-2);flex-direction:column;display:flex}.nameRow{align-items:center;gap:10px;display:flex}.dot{border-radius:50%;flex:none;width:15px;height:15px;box-shadow:0 0 0 2px #ffffff40}.nameRow input{background:var(--c-surface-sunken);border:1.5px solid var(--c-border);border-radius:var(--r-xs);padding:10px var(--sp-3);color:inherit;font:inherit;font-size:var(--fs-md);flex:1}.nameRow input:focus{outline:2px solid var(--c-accent-bright);outline-offset:1px}.coinPick{gap:var(--sp-2);grid-template-columns:repeat(4,1fr);display:grid}.coinPickBtn,.boardPickBtn{align-items:center;gap:var(--sp-2);background:var(--c-surface-sunken);border:2px solid var(--c-border);color:inherit;font:inherit;font-weight:var(--fw-bold);cursor:pointer;transition:border-color var(--dur-fast) ease, background var(--dur-fast) ease, transform var(--dur) var(--ease-bounce);border-radius:14px;flex-direction:column;display:flex}.coinPickBtn{padding:var(--sp-3) var(--sp-1) 10px;font-size:var(--fs-xs)}.boardPickBtn{padding:14px var(--sp-1) var(--sp-3);gap:9px;font-size:12.5px}.coinPickBtn:hover,.boardPickBtn:hover{background:var(--c-surface);transform:translateY(-3px)}.coinPickBtn:active,.boardPickBtn:active{transform:translateY(0)scale(.98)}.coinPickBtn.on,.boardPickBtn.on{border-color:var(--c-accent-bright);box-shadow:0 0 18px -6px var(--c-accent);background:#ffb02024}.coinSwatchRow{display:flex}.coinSwatchRow .coinSwatch+.coinSwatch{margin-left:-8px}.coinSwatch{border-radius:50%;width:32px;height:32px;box-shadow:inset 0 0 0 2px #fffdf6,inset 0 0 0 3px #00000047,0 3px 5px #0006}.coinSwatch.coin-flat{box-shadow:inset 0 0 0 2px #fffdf6,inset 0 0 0 4.5px #ffffff4d,0 3px 5px #0006}.coinSwatch.coin-glass{box-shadow:inset 0 0 0 1.5px #fffc,inset 0 -5px 7px #00000040,0 3px 5px #0006}.coinSwatch.coin-ring{box-shadow:inset 0 0 0 1.5px #00000040,inset 0 2px 3px #0000002e,0 3px 5px #0006}.boardPick{grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:10px;display:grid}.boardPreviewFrame-light{box-shadow:0 0 0 3px #fff,0 0 0 4px #141e1929,0 4px 12px -2px #00000073}.boardPreviewFrame-dark{box-shadow:0 0 0 3px #1d202a,0 0 0 4px #ffffff1f,0 4px 12px -2px #0000008c}.boardPreviewFrame-premium{box-shadow:0 0 0 1.5px #f0d786,0 0 0 3px #a9832a,0 0 0 7px #6e4a28,0 0 0 8px #3e2613,0 4px 12px -2px #0000008c}.rulesList{flex-direction:column;display:flex}.rulesList>*+*{border-top:1px solid var(--c-border)}.ruleChoiceRow{justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;padding:7px 0;display:flex}.ruleChoiceSeg{flex:none;width:150px}.ruleChoiceSeg--wide{width:100%}.toggleRow{justify-content:space-between;align-items:center;gap:var(--sp-3);cursor:pointer;padding:7px 0;display:flex}.toggleLabel{font-size:var(--fs-sm);font-weight:var(--fw-med);color:var(--c-text-muted);line-height:1.35}.toggle{flex:none;position:relative}.toggle input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute}.toggleTrack{border-radius:var(--r-pill);background:var(--c-surface-sunken);border:1.5px solid var(--c-border);width:50px;height:29px;transition:background var(--dur) ease, border-color var(--dur) ease, box-shadow var(--dur) ease;display:block}.toggleThumb{width:23px;height:23px;transition:transform var(--dur) var(--ease-bounce);background:#fffdf6;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 2px 5px #00000073}.toggle input:checked+.toggleTrack{background:linear-gradient(180deg, var(--c-success), var(--c-success-deep));border-color:#3ddc9799;box-shadow:0 0 14px -2px #3ddc97b3,inset 0 1px #ffffff40}.toggle input:checked+.toggleTrack .toggleThumb{transform:translate(21px)}.toggle input:focus-visible+.toggleTrack{outline:2px solid var(--c-accent-bright);outline-offset:2px}.settingsDialog{width:min(94vw,440px);padding:var(--sp-6) var(--sp-5);gap:13px}.settingsIcon{border-radius:11px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.settingsIcon svg{width:20px;height:20px}.settingsIcon--green{color:var(--c-success);background:#3ddc9729;box-shadow:inset 0 0 0 1px #3ddc974d}.settingsIcon--teal{color:var(--c-info);background:#56ccff26;box-shadow:inset 0 0 0 1px #56ccff4d}.settingsIcon--gold{color:var(--c-accent-bright);background:#ffb02029;box-shadow:inset 0 0 0 1px #ffb02052}.settingsIcon--red{color:var(--c-danger);background:#ff6b5b29;box-shadow:inset 0 0 0 1px #ff6b5b59}.settingsSection{gap:var(--sp-2);flex-direction:column;display:flex}.settingsSectionLabel{font-size:var(--fs-md);font-weight:var(--fw-heavy);align-items:center;gap:9px;display:inline-flex}.settingsSectionIcon{opacity:.8;display:inline-flex}.settingsSectionIcon svg{width:19px;height:19px}.settingsLangSeg{background:var(--c-surface-sunken);border:1.5px solid var(--c-border);border-radius:var(--r-md);gap:var(--sp-1);width:100%;padding:5px}.settingsLangSeg .segBtn{font-weight:var(--fw-bold);border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:9px 6px;font-size:13.5px;display:inline-flex}.settingsLangCheck{background:#0000002e;border-radius:50%;flex:none;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.settingsLangCheck svg{width:12px;height:12px}.settingsCard{background:var(--c-surface-sunken);border:1.5px solid var(--c-border);border-radius:var(--r-md);padding:var(--sp-1) 13px;flex-direction:column;display:flex}.settingsMediaRow{align-items:center;gap:var(--sp-3);padding:9px 0;display:flex}.settingsMediaRow+.settingsMediaRow{border-top:1px solid var(--c-border)}.settingsRowLabel{font-size:var(--fs-md);font-weight:var(--fw-bold);flex:1;min-width:0}.settingsMediaRow--volume .settingsRowLabel{flex:none}.volumeSlider{appearance:none;border-radius:var(--r-pill);cursor:pointer;background:#00000059;outline:none;flex:1;width:auto;min-width:0;height:7px}.volumeSlider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#fffdf6;border:none;border-radius:50%;width:20px;height:20px;box-shadow:0 2px 5px #00000073,0 0 0 4px #ffb0204d}.volumeSlider::-moz-range-thumb{cursor:pointer;background:#fffdf6;border:none;border-radius:50%;width:20px;height:20px;box-shadow:0 2px 5px #00000073,0 0 0 4px #ffb0204d}.volumeSlider::-moz-range-track{border-radius:var(--r-pill);background:0 0;height:7px}.volumeSlider:focus-visible{outline:2px solid var(--c-accent-bright);outline-offset:4px}.volumeValue{text-align:center;min-width:48px;font-size:var(--fs-sm);font-weight:var(--fw-heavy);color:var(--c-accent-bright);font-variant-numeric:tabular-nums;padding:5px var(--sp-2);border-radius:var(--r-pill);background:#ffb02024;border:1px solid #ffb02052;flex:none}.settingsLinks{gap:var(--sp-2);flex-direction:column;display:flex}.settingsLink{align-items:center;gap:var(--sp-3);background:var(--c-surface-sunken);border:1.5px solid var(--c-border);width:100%;color:inherit;font:inherit;font-weight:var(--fw-bold);font-size:var(--fs-md);text-align:left;cursor:pointer;transition:background var(--dur-fast) ease, border-color var(--dur-fast) ease, transform var(--dur-fast) var(--ease-bounce);border-radius:14px;padding:10px 13px;text-decoration:none;display:flex}.settingsLink:hover{background:var(--c-surface);border-color:var(--c-border-strong);transform:translateY(-2px)}.settingsLinkLabel{flex:1}.settingsChevron{opacity:.4;flex:none;display:inline-flex}.settingsChevron svg{width:18px;height:18px}.settingsLink--exit{color:var(--c-danger);background:#ff6b5b14;border-color:#ff6b5b59}.settingsLink--exit:hover{background:#ff6b5b29;border-color:#ff6b5b8c}.wrap--app{justify-content:flex-start;padding:0}.appScreen{background:0 0;flex-direction:column;width:min(100%,600px);height:100dvh;max-height:100dvh;display:flex}@media (width>=601px){.appScreen{border-radius:var(--r-xl);border:2px solid var(--c-border);height:min(100dvh,900px);box-shadow:var(--e-3);margin:clamp(0px,3vh,28px) 0;overflow:hidden}}.appBar{align-items:center;gap:var(--sp-2);padding:calc(10px + env(safe-area-inset-top)) var(--sp-3) 10px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--c-border);z-index:5;background:#241a63d6;flex:none;grid-template-columns:44px 1fr 44px;display:grid}.appBarBtn{border:1.5px solid var(--c-border);background:var(--c-surface);width:40px;height:40px;color:inherit;cursor:pointer;transition:background var(--dur-fast) ease, transform var(--dur-fast) var(--ease-bounce);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.appBarBtn:hover{background:var(--c-surface-2)}.appBarBtn:active{transform:scale(.9)}.appBarTitle{text-align:center;font-size:var(--fs-lg);font-weight:var(--fw-heavy);letter-spacing:var(--track-tight);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.appBarRight{justify-content:flex-end;align-items:center;display:flex}.appBody{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;gap:var(--sp-3);min-height:0;padding:var(--sp-4) var(--sp-4) calc(var(--sp-6) + env(safe-area-inset-bottom));scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex:1;display:flex;overflow-y:auto}.appBody::-webkit-scrollbar{display:none}.appHero{text-align:center;padding:var(--sp-2) 0 var(--sp-1);flex-direction:column;align-items:center;gap:10px;display:flex}.appHeroIcon{border-radius:var(--r-xl);background:radial-gradient(120% 120% at 30% 20%,#7c5cff66,#7c5cff24);justify-content:center;align-items:center;width:76px;height:76px;font-size:38px;animation:3.6s ease-in-out infinite appHeroFloat;display:inline-flex;box-shadow:inset 0 0 0 1px #a48bff52,0 12px 26px -12px #7c5cffb3}@keyframes appHeroFloat{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-6px)rotate(2deg)}}@media (prefers-reduced-motion:reduce){.appHeroIcon{animation:none}}.appHeroTitle{font-size:var(--fs-display);font-weight:var(--fw-black);letter-spacing:var(--track-tight)}.appHeroSub{font-size:var(--fs-md);font-weight:var(--fw-body);color:var(--c-text-muted);max-width:42ch;line-height:1.5}.appCard{background:var(--c-surface);border:1.5px solid var(--c-border);border-radius:var(--r-lg);padding:var(--sp-4) var(--sp-4);flex-direction:column;gap:10px;display:flex}.appCard p{font-size:var(--fs-md);color:var(--c-text-muted);line-height:1.6}.appCard a{color:var(--c-accent-bright);font-weight:var(--fw-bold);text-decoration:none}.appCard a:hover{text-decoration:underline}.appCard h2{font-size:16.5px;font-weight:var(--fw-heavy);letter-spacing:var(--track-tight)}.appCard h3{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--c-accent-bright)}.appCardTitle{font-size:12px;font-weight:var(--fw-heavy);text-transform:uppercase;letter-spacing:var(--track-caps);color:var(--c-text-faint)}.appCardIconTitle{align-items:center;gap:9px;display:flex}.appCardIconTitle span:first-child{font-size:19px}.appFaq{gap:var(--sp-1);flex-direction:column;display:flex}.appFaq+.appFaq{padding-top:var(--sp-3);border-top:1px solid var(--c-border);margin-top:6px}.appRow{text-align:left;background:var(--c-surface);border:1.5px solid var(--c-border);border-radius:var(--r-md);width:100%;color:inherit;font:inherit;cursor:pointer;transition:background var(--dur-fast) ease, border-color var(--dur-fast) ease, transform var(--dur-fast) var(--ease-bounce);align-items:center;gap:13px;padding:13px 14px;text-decoration:none;display:flex}.appRow:hover{background:var(--c-surface-2);border-color:var(--c-border-strong);transform:translateY(-2px)}.appRowIcon{border-radius:var(--r-sm);width:40px;height:40px;color:var(--c-primary-bright);background:#7c5cff33;flex:none;justify-content:center;align-items:center;font-size:20px;display:inline-flex;box-shadow:inset 0 0 0 1px #a48bff47}.appRowText{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.appRowTitle{font-size:var(--fs-md);font-weight:var(--fw-bold)}.appRowSub{color:var(--c-text-faint);font-size:12.5px}.appRowChevron{opacity:.4;flex:none}.appList{flex-direction:column;gap:9px;display:flex}.pagePanel{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;gap:var(--sp-3);scrollbar-width:none;-ms-overflow-style:none;width:min(92vw,560px);height:calc(100dvh - 28px);max-height:calc(100dvh - 28px);overflow-y:auto}.pagePanel::-webkit-scrollbar{display:none}.pagePanel .title{margin-bottom:2px;padding-bottom:14px;position:relative}.pagePanel .title:after{content:"";background:var(--grad-accent);border-radius:2px;width:46px;height:4px;position:absolute;bottom:0;left:0}.pagePanel h2{font-size:19px;font-weight:var(--fw-heavy);margin-top:var(--sp-1);padding-left:var(--sp-3);border-left:3px solid var(--c-accent)}.pagePanel h3{font-size:15px;font-weight:var(--fw-bold);color:var(--c-accent-bright);margin-top:6px}.pagePanel p{font-size:var(--fs-md);color:var(--c-text-muted);line-height:1.6}.pagePanel section{background:var(--c-surface-sunken);border:1px solid var(--c-border);padding:14px var(--sp-4) var(--sp-4);border-radius:14px;flex-direction:column;gap:10px;display:flex}.pagePanel a{color:var(--c-accent-bright);text-underline-offset:2px;transition:text-decoration-color var(--dur-fast) ease;-webkit-text-decoration:underline #ffd76473;text-decoration:underline #ffd76473}.pagePanel a:hover{-webkit-text-decoration-color:var(--c-accent-bright);text-decoration-color:var(--c-accent-bright)}.pageLinkChip{align-items:center;gap:var(--sp-1);font-weight:var(--fw-bold);padding:9px var(--sp-4);border-radius:var(--r-pill);transition:background var(--dur-fast) ease, transform var(--dur-fast) var(--ease-bounce), border-color var(--dur-fast) ease;background:#ffb0201f;border:1.5px solid #ffb02059;font-size:13.5px;display:inline-flex;color:var(--c-accent-bright)!important;text-decoration:none!important}.pageLinkChip:hover{background:#ffb02033;border-color:#ffb0208c;transform:translateY(-2px)}@media (width<=520px){.pagePanel{-webkit-backdrop-filter:none;backdrop-filter:none;width:100%;height:100dvh;max-height:none;box-shadow:none;padding:calc(14px + env(safe-area-inset-top)) var(--sp-4) calc(var(--sp-5) + env(safe-area-inset-bottom));background:0 0;border:none;border-radius:0}}.overlay{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:var(--sp-4);background:#0f0a28bd;justify-content:center;align-items:center;animation:.3s ease-out toastIn;display:flex;position:fixed;inset:0}.dialogPanel{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;gap:var(--sp-3);background:var(--c-panel-solid);border:2px solid var(--c-border);width:min(90vw,360px);max-height:calc(100dvh - 28px);box-shadow:var(--e-3), var(--e-inset-top);animation:popIn .26s var(--ease-bounce);overflow-y:auto}@keyframes popIn{0%{opacity:0;transform:scale(.88)}}.dialogHead{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.dialogHeadText{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.dialogTitle{font-size:var(--fs-title);font-weight:var(--fw-black);letter-spacing:var(--track-tight);line-height:1.12}.dialogSub{font-size:var(--fs-sm);font-weight:var(--fw-med);color:var(--c-text-faint)}.dialogIcon{border-radius:var(--r-sm);flex:none;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.dialogIcon--danger{color:var(--c-danger);background:#ff6b5b29;box-shadow:inset 0 0 0 1px #ff6b5b59}.dialogIcon--warn{color:var(--c-accent-bright);background:#ffb02029;box-shadow:inset 0 0 0 1px #ffb02057}.dialogIcon--neutral{color:var(--c-primary-bright);background:#7c5cff38;box-shadow:inset 0 0 0 1px #a48bff57}.dialogClose{border:1.5px solid var(--c-border);background:var(--c-surface);width:38px;height:38px;color:inherit;cursor:pointer;transition:background var(--dur-fast) ease, border-color var(--dur-fast) ease, transform var(--dur-fast) var(--ease-bounce);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.dialogClose:hover{background:var(--c-surface-2);border-color:var(--c-border-strong)}.dialogClose:active{transform:scale(.9)}.confirmMessage{font-size:var(--fs-md);color:var(--c-text-muted);line-height:1.55}.confirmActions{gap:10px;display:flex}.confirmActions .ghost,.confirmActions .cta{flex:1}.rateStars{justify-content:center;gap:var(--sp-2);padding:var(--sp-2) 0 var(--sp-1);display:flex}.rateStar{cursor:pointer;color:#ffffff38;transition:transform var(--dur-fast) var(--ease-bounce), color var(--dur-fast) ease, text-shadow var(--dur-fast) ease;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:2px;font-size:38px;line-height:1}.rateStar.on{color:var(--c-accent-bright);text-shadow:0 0 14px #ffd76499}.rateStar:hover{transform:scale(1.22)rotate(-6deg)}.rules{color:var(--c-text-faint);font-size:12px;line-height:1.55;font-weight:var(--fw-med);flex-direction:column;gap:3px;display:flex}.rules b{font-weight:var(--fw-heavy);color:var(--c-text-muted)}.removeList{gap:var(--sp-2);flex-direction:column;display:flex}.removeRow{align-items:center;gap:var(--sp-3);background:var(--c-surface-sunken);border:1.5px solid var(--c-border);color:inherit;font:inherit;font-weight:var(--fw-bold);font-size:var(--fs-md);cursor:pointer;text-align:left;transition:background var(--dur-fast) ease, border-color var(--dur-fast) ease, transform var(--dur-fast) var(--ease-bounce);border-radius:14px;padding:11px 13px;display:flex}.removeRow:hover{background:#ff6b5b1f;border-color:#ff6b5b73;transform:translateY(-2px)}.removeSwatch{border-radius:9px;flex:none;width:30px;height:30px;box-shadow:inset 0 0 0 1.5px #ffffff47,0 2px 6px #0000004d}.removeName{flex:1}.removeChevron{opacity:.4;flex:none}.removeRow:hover .removeChevron{opacity:.9;color:var(--c-danger)}.podiumTitle{text-align:center}@supports ((-webkit-background-clip:text) or (background-clip:text)){.podiumTitle,.finishTitle{text-shadow:none;background:linear-gradient(100deg, var(--c-text) 20%, var(--c-accent-bright) 45%, var(--c-text) 70%);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text}}.titleEmoji{-webkit-text-fill-color:initial;color:initial;background:0 0}.podium{gap:var(--sp-2);font-weight:var(--fw-bold);flex-direction:column;padding:0;font-size:16px;list-style:none;display:flex}.podium li{padding:10px var(--sp-3);border-radius:var(--r-sm);background:var(--c-surface);border:1.5px solid var(--c-border);animation:podiumRise .45s var(--ease-bounce) both;align-items:center;gap:10px;display:flex}.podium li:nth-child(2){animation-delay:70ms}.podium li:nth-child(3){animation-delay:.14s}.podium li:nth-child(4){animation-delay:.21s}@keyframes podiumRise{0%{opacity:0;transform:translateY(14px)}}.podium li:first-child{background:linear-gradient(90deg,#ffb0204d,#ffb0200f);border-color:#ffb02080;box-shadow:0 0 24px -4px #ffb02080}.medal{text-align:center;flex:none;width:30px;font-size:20px}.podiumPct{color:var(--c-text-faint);font-style:normal;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;margin-left:auto}.podium li:first-child .medal{animation:medalPop .6s var(--ease-bounce) .2s both}@keyframes medalPop{0%{opacity:0;transform:scale(.2)rotate(-30deg)}}.confetti{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.overlay>.panel{z-index:1;position:relative}.confettiPiece{top:-6vh;left:var(--x);background:var(--confetti-c);opacity:0;width:9px;height:14px;animation:confettiFall var(--dur-fall) linear var(--delay) forwards;border-radius:2px;position:absolute}.confettiPiece:nth-child(3n){border-radius:50%;width:8px;height:8px}.confettiPiece:nth-child(4n){width:5px;height:16px}@keyframes confettiFall{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translate(var(--dx), 112vh) rotate(var(--r))}}@media (prefers-reduced-motion:reduce){.confetti{display:none}.podium li,.medal{animation:none!important}}.finishPanel{text-align:center;align-items:center;gap:var(--sp-3)}.finishMedal{filter:drop-shadow(0 4px 10px #0006) drop-shadow(0 0 12px var(--fin-c,transparent));animation:finishPop .55s var(--ease-bounce) both;font-size:46px;line-height:1}@keyframes finishPop{0%{opacity:0;transform:scale(.3)rotate(-16deg)}}.finishTitle{line-height:1.15}.finishSub{color:var(--c-text-muted);margin-top:-6px;font-size:13.5px}.finishStandings{width:100%;font-weight:var(--fw-bold);font-size:var(--fs-md);flex-direction:column;gap:6px;margin:2px 0;padding:0;list-style:none;display:flex}.finishStandings li{background:var(--c-surface);border:1.5px solid var(--c-border);border-radius:11px;align-items:center;gap:9px;padding:9px 11px;display:flex}.finishStandings li.done{background:linear-gradient(90deg,#ffb0203d,#ffb0200d);border-color:#ffb02073}.finishRank{text-align:center;flex:none;width:22px}.finishName{text-align:left;flex:1}.finishTag{font-size:10.5px;font-weight:var(--fw-heavy);text-transform:uppercase;letter-spacing:.05em;color:var(--c-accent-bright)}.finishActions{gap:10px;width:100%;display:flex}.finishActions .ghost{text-align:center;flex:1}.finishExit{color:var(--c-danger);border-color:#ff6b5b4d}.finishExit:hover{background:#ff6b5b24;border-color:#ff6b5b80}@media (prefers-reduced-motion:reduce){.finishMedal{animation:none}}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--c-accent-bright);outline-offset:2px}@media (width<=520px){.top{gap:6px}.chip{padding:4px 9px 6px;font-size:11px}.dock{padding:10px var(--sp-3);border-radius:var(--r-md)}.turnText strong{font-size:15px}.turnText small{font-size:11.5px}.boardArea{width:min(100vw - 20px,520px,100dvh - 244px)}}@media (prefers-reduced-motion:reduce){.wrap,.wrap:before,.wrap:after,.toast,.overlay,.gameMenuPanel,.dialogPanel,.cta,.cta:before,.appHeroIcon{animation:none!important}}html,body,#root{height:100%}.hubWrap{--hub-w:min(94vw, 1100px);justify-content:flex-start;padding-top:0;padding-bottom:clamp(24px,5vh,56px);overflow:visible}.hubWrap .top.hubBar{z-index:40;width:var(--hub-w);gap:var(--sp-3);padding:10px var(--sp-3) 10px var(--sp-4);border-radius:var(--r-lg);border:2px solid var(--c-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--e-2), var(--e-inset-top);background:linear-gradient(#3c2e9ee0,#241a63e0);flex-wrap:nowrap;margin-top:clamp(8px,2vh,16px);margin-bottom:clamp(14px,4vh,40px);position:sticky;top:clamp(8px,2vh,16px)}.hubLogo{object-fit:cover;box-shadow:0 0 0 2.5px var(--c-accent), 0 2px 8px #0006;transition:transform var(--dur) var(--ease-bounce);border-radius:50%;flex:none}.hubWrap .top.hubBar:hover .hubLogo{transform:rotate(-8deg)scale(1.06)}.hubHeaderActions{align-items:center;gap:var(--sp-2);margin-left:auto;display:flex}.hubInstallBtn{border:2px solid var(--c-keyline);border-radius:var(--r-sm);font-family:var(--font-display);font-size:var(--fs-md);font-weight:var(--fw-heavy);cursor:pointer;color:#06301d;background:linear-gradient(180deg, #6bf0b4 0%, var(--c-success) 55%, var(--c-success-deep) 100%);box-shadow:0 4px 0 #0e7a4c, var(--e-1);transition:transform var(--dur-fast) var(--ease-bounce), box-shadow var(--dur-fast) ease, filter var(--dur-fast) ease;align-items:center;gap:7px;padding:9px 15px;display:inline-flex}.hubInstallBtn:hover{filter:brightness(1.06);box-shadow:0 6px 0 #0e7a4c, var(--e-2), 0 0 26px -6px var(--c-success);transform:translateY(-2px)}.hubInstallBtn:active{transform:translateY(3px);box-shadow:0 1px #0e7a4c}.hubInstallBtn svg{flex:none;animation:2.4s ease-in-out infinite installBob}@keyframes installBob{0%,to{transform:translateY(0)}50%{transform:translateY(2px)}}.hubIconBtn{border:1.5px solid var(--c-border);background:var(--c-surface);width:40px;height:40px;color:inherit;cursor:pointer;transition:background var(--dur-fast) ease, border-color var(--dur-fast) ease, transform var(--dur) var(--ease-bounce);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:17px;display:inline-flex}.hubIconBtn:hover{background:var(--c-surface-2);border-color:var(--c-border-strong);transform:rotate(45deg)}.hubIconBtn:active{transform:scale(.9)}.hubHero{width:var(--hub-w);text-align:center;flex-direction:column;align-items:center;gap:10px;margin-bottom:clamp(18px,4vh,34px);display:flex}.hubHeroTitle{font-family:var(--font-display);font-size:var(--fs-hero);font-weight:var(--fw-black);letter-spacing:var(--track-tight);color:var(--c-text);text-shadow:0 3px #0a072259,0 8px 24px #0000004d;line-height:1.06}.hubHeroAccent{color:var(--c-accent-bright)}@supports ((-webkit-background-clip:text) or (background-clip:text)){.hubHeroAccent{text-shadow:none;background:linear-gradient(95deg,#ffd764 0%,#ff9ed2 35%,#7fe9ff 62%,#ffd764 100%) 0 0/220% 100%;-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;animation:6s ease-in-out infinite heroShimmer}}@keyframes heroShimmer{0%,to{background-position:0%}50%{background-position:100%}}.hubHeroSub{font-size:clamp(14px,1.6vw,16.5px);font-weight:var(--fw-body);color:var(--c-text-muted);max-width:56ch}.hubGrid{width:var(--hub-w);gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(270px,1fr));display:grid}.hubCard{gap:var(--sp-4);padding:var(--sp-5) var(--sp-5) var(--sp-5);border-radius:var(--r-xl);background:radial-gradient(58% 45% at 92% 8%, #ff6fb561 0%, transparent 70%), radial-gradient(52% 42% at 6% 96%, #56ccff52 0%, transparent 70%), linear-gradient(160deg, color-mix(in srgb, var(--c) 56%, #2a1f5c) 0%, color-mix(in srgb, var(--c) 30%, #1d1546) 100%);border:3px solid var(--c-keyline);box-shadow:var(--e-lip-lg), var(--e-2), inset 0 2px 0 #fff3;flex-direction:column;display:flex;position:relative;overflow:hidden}.hubCard:after{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff24 1.3px,#0000 1.4px) 0 0/22px 22px,radial-gradient(130% 80% at 50% -10%,#ffffff38 0%,#0000 48%);position:absolute;inset:0}.hubCard:before{content:"";background:linear-gradient(180deg, color-mix(in srgb, var(--c) 60%, white) 0%, color-mix(in srgb, var(--c) 95%, white) 45%, var(--c) 100%);width:6px;box-shadow:0 0 16px 2px color-mix(in srgb, var(--c) 85%, transparent);border-radius:0 6px 6px 0;position:absolute;top:14px;bottom:14px;left:0}.hubCardArt{border-radius:var(--r-lg);background:radial-gradient(80% 80% at 50% 20%, color-mix(in srgb, var(--c) 78%, white), color-mix(in srgb, var(--c) 42%, transparent));width:82px;height:82px;box-shadow:0 0 0 2px #ffffff47, 0 8px 20px -6px #00000080, 0 0 34px -4px color-mix(in srgb, var(--c) 90%, transparent);transition:transform var(--dur) var(--ease-bounce), box-shadow var(--dur) ease;flex:none;justify-content:center;align-self:flex-start;align-items:center;display:flex;position:relative}.hubCardArtInner{width:62px;height:62px;transition:transform var(--dur) var(--ease-bounce);border-radius:15px;position:relative;overflow:hidden;transform:rotate(-4deg);box-shadow:0 5px 12px #00000073,0 0 0 1px #ffffff24}.hubCardArtInner:after{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 35%,#ffffff80 50%,#0000 65%);transition:transform .55s;position:absolute;inset:0;transform:translate(-140%)}.hubCard--link:hover .hubCardArt{box-shadow:0 0 0 2px #ffffff3d, 0 12px 26px -6px #0000008c, 0 0 40px -4px color-mix(in srgb, var(--c) 90%, transparent);transform:translateY(-3px)scale(1.05)}.hubCard--link:hover .hubCardArtInner{transform:rotate(4deg)scale(1.04)}.hubCard--link:hover .hubCardArtInner:after{transform:translate(140%)}.hubCardArt--placeholder{border:2px dashed var(--c-border-strong);font-size:30px;font-weight:var(--fw-bold);color:var(--c-text-faint);box-shadow:none;background:0 0}.hubCardHead{align-items:center;gap:14px;min-width:0;display:flex}.hubCardBody{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.hubTitleRow{align-items:center;gap:var(--sp-2);flex-wrap:wrap;min-width:0;display:flex}.hubTitleRow h2{font-family:var(--font-display);font-size:23px;font-weight:var(--fw-black);letter-spacing:var(--track-tight);text-shadow:0 2px #00000059}.hubTagline{color:#fffbf5e0;margin:0;font-size:13.5px;line-height:1.45}.hubCardFoot{padding-top:var(--sp-3);justify-content:space-between;align-items:center;gap:var(--sp-2);flex-flow:row;margin-top:auto;display:flex}.hubCardFoot .hubMeta{white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}.hubCardFoot .hubPlay{flex:none}.hubMeta{border-radius:var(--r-pill);font-weight:var(--fw-heavy);font-size:var(--fs-xs);background:#ffffff29;border:2px solid #ffffff42;align-items:center;gap:5px;padding:5px 11px 5px 9px;display:inline-flex}.hubMeta svg{opacity:.9;flex:none}.hubPlay{border-radius:var(--r-pill);font-family:var(--font-display);font-size:14px;font-weight:var(--fw-black);text-transform:uppercase;letter-spacing:.04em;color:#fff;background:linear-gradient(180deg, color-mix(in srgb, var(--c) 74%, white), var(--c));box-shadow:0 5px 0 color-mix(in srgb, var(--c) 45%, black), 0 10px 16px -6px #00000080;text-shadow:0 1px 2px #0000004d;transition:transform var(--dur) var(--ease-bounce), box-shadow var(--dur) ease;border:2.5px solid #ffffffe6;align-items:center;gap:6px;padding:9px 16px;display:inline-flex}.hubPlay svg{transition:transform var(--dur) ease}.hubCard--link:hover .hubPlay{box-shadow:0 7px 0 color-mix(in srgb, var(--c) 45%, black), 0 14px 22px -6px #0000008c;transform:translateY(-2px)scale(1.05)}.hubCard--link:hover .hubPlay svg{transform:translate(3px)}.hubCard--link:active .hubPlay{box-shadow:0 2px 0 color-mix(in srgb, var(--c) 45%, black);transform:translateY(2px)}.hubCard--link{color:inherit;cursor:pointer;transition:transform var(--dur) var(--ease-bounce), border-color var(--dur) ease, box-shadow var(--dur) ease;text-decoration:none}.hubCard--link:hover{border-color:color-mix(in srgb, var(--c) 70%, white);box-shadow:0 15px 0 -1px var(--c-keyline), var(--e-3), 0 0 46px -6px color-mix(in srgb, var(--c) 80%, transparent), inset 0 2px 0 #ffffff3d;transform:translateY(-6px)scale(1.02)}.hubCard--link:active{box-shadow:0 3px 0 -1px var(--c-keyline), var(--e-1), inset 0 2px 0 #fff3;transform:translateY(3px)scale(.99)}.hubCard--link:hover:before{box-shadow:0 0 22px 3px color-mix(in srgb, var(--c) 90%, transparent)}.hubCard--link:focus-visible{outline:3px solid var(--c-accent-bright);outline-offset:3px}.hubCard--soon{opacity:.58}.hubSoonTag{font-size:var(--fs-xs);font-weight:var(--fw-heavy);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--r-pill);border:2px solid var(--c-border-strong);color:var(--c-text-muted);align-self:flex-start;padding:5px 11px}.hubCard--placeholder{border:3px dashed var(--c-border-strong);background:#ffffff0a;justify-content:center;box-shadow:inset 0 2px #ffffff14}.hubCard--placeholder:before,.hubCard--placeholder:after{display:none}.hubCard--placeholder h2{color:var(--c-text-muted)}.hubBadge{font-size:10.5px;font-weight:var(--fw-heavy);text-transform:uppercase;letter-spacing:.04em;padding:3px var(--sp-2);border-radius:var(--r-pill);color:var(--c-text-muted);background:#ffffff24;align-items:center;gap:5px;display:inline-flex}.hubBadgeDot{background:var(--c);border-radius:50%;width:6px;height:6px;animation:1.6s ease-in-out infinite hubBadgePulse}@keyframes hubBadgePulse{0%,to{opacity:1}50%{opacity:.35}}.hubFooter{width:max-content;max-width:min(94vw,640px);padding:var(--sp-3) var(--sp-5) var(--sp-3) 14px;border-radius:var(--r-lg);border:2px solid var(--c-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--e-1);text-align:left;background:linear-gradient(#3c2e9ebd,#241a63bd);align-items:center;gap:14px;margin:clamp(24px,6vh,56px) auto 0;display:flex}.hubFooterIcon{border-radius:var(--r-sm);color:#06301d;background:linear-gradient(180deg, #6bf0b4, var(--c-success-deep));width:44px;height:44px;box-shadow:0 4px 0 #0e7a4c, var(--e-1);flex:none;justify-content:center;align-items:center;display:inline-flex}.hubFooterText{min-width:0}.hubFooter p{font-size:13.5px;font-weight:var(--fw-bold);color:var(--c-text-muted)}.hubFooterNav{font-size:12.5px;font-weight:var(--fw-med);color:var(--c-text-faint);margin-top:3px}.hubFooterNav a{color:inherit;text-decoration:none}.hubFooterNav a:hover{color:var(--c-accent-bright);text-decoration:underline}@media (width<=520px){.hubWrap{gap:var(--sp-3)}.hubWrap .top.hubBar{width:calc(100vw - 20px);padding:9px 10px 9px var(--sp-3);gap:var(--sp-2);-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(#382a96f7,#21185af7);margin-bottom:clamp(12px,3vh,24px)}.wordmark{letter-spacing:.1em;font-size:13px}.hubInstallBtn{padding:8px var(--sp-3);font-size:var(--fs-sm)}.hubIconBtn{width:36px;height:36px}.hubHero{gap:6px;width:calc(100vw - 28px);margin-bottom:18px}.hubHeroSub{font-size:13.5px}.hubGrid{gap:var(--sp-3);grid-template-columns:1fr;width:calc(100vw - 28px)}.hubCard{column-gap:var(--sp-3);border-radius:var(--r-lg);grid-template-columns:auto 1fr;align-items:start;row-gap:4px;padding:14px 14px 15px 18px;display:grid}.hubCardHead{display:contents}.hubCardArt{grid-area:1/1/span 2}.hubTitleRow{grid-area:1/2}.hubCardBody{grid-area:2/2}.hubCardArt{border-radius:var(--r-md);width:60px;height:60px}.hubCardArtInner{border-radius:12px;width:46px;height:46px}.hubTitleRow h2{font-size:19px}.hubTagline{font-size:12.5px}.hubCardFoot{padding-top:10px}.hubPlay{padding:7px 13px;font-size:12.5px}.hubCard--placeholder{align-items:center}.hubFooter{width:calc(100vw - 28px);max-width:none;margin-top:var(--sp-6);-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(#382a96e6,#21185ae6)}}@media (prefers-reduced-motion:reduce){.hubBadgeDot,.hubHeroAccent,.hubInstallBtn svg{animation:none!important}.hubCard--link,.hubCardArt,.hubCardArtInner,.hubCardArtInner:after,.hubPlay,.hubLogo,.hubIconBtn{transition:none!important}.hubIconBtn:hover{transform:none}}
