.so-pills{position:fixed;z-index:5;transform:translate(-50%);pointer-events:none;width:max-content;max-width:min(92vw,520px)}.so-pill{font:800 .95rem/1.25 system-ui,sans-serif;color:#1b1200;background:linear-gradient(180deg,#ffe08a,#ffc94a 60%,#e9a91c);border:1px solid rgba(255,255,255,.55);border-radius:999px;padding:.5rem 1.05rem;box-shadow:0 4px #00000059,0 0 22px #ffc94a73,inset 0 1px #fff9;text-align:center;animation:so-pill 1.7s cubic-bezier(.2,1.6,.4,1) both}.so-pill-miss{color:#fff;background:linear-gradient(180deg,#ff7d93,#ff4d6d 60%,#d42a4b);box-shadow:0 4px #00000059,0 0 22px #ff4d6d73,inset 0 1px #ffffff73}.so-pill-good{color:#03281c;background:linear-gradient(180deg,#8dffd9,#3ef0b5 60%,#19c48c);box-shadow:0 4px #00000059,0 0 22px #3ef0b573,inset 0 1px #fff9}@keyframes so-pill{0%{opacity:0;transform:translateY(-10px) scale(.6)}12%{opacity:1;transform:translateY(0) scale(1.08)}20%{transform:scale(1)}80%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-14px) scale(.96)}}@media(prefers-reduced-motion:reduce){.so-pill{animation:none}}.so-obox{width:min(100%,760px);height:min(62vh,640px);min-height:300px;margin:0 auto}.so-obar{display:flex;align-items:center;justify-content:space-between;gap:12px;width:min(100%,760px);margin:6px auto 0}.so-odeck{font:800 .75rem ui-monospace,Cascadia Mono,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase;color:#ffc94a;background:#06232a99;border:1px solid rgba(140,230,220,.3);border-radius:999px;padding:.35rem .8rem}.so-otools{display:flex;gap:8px}.so-ohint{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:14px;border:1px solid rgba(255,201,74,.6);background:linear-gradient(180deg,#2e9696e6,#186068f2);color:#f2fffd;font:900 .95rem Arial Black,Helvetica Neue,system-ui,sans-serif;box-shadow:0 4px #00000059,inset 0 1px #ffffff1f;cursor:pointer;transition:transform .14s cubic-bezier(.2,1.6,.4,1)}.so-ohint small{font:600 .65rem ui-monospace,Menlo,monospace;color:#a8d4cf}.so-ohint:hover:not(:disabled),.so-ohint:focus-visible{transform:translateY(-2px);box-shadow:0 6px #00000059,0 0 18px #ffc94a66}.so-ohint:active:not(:disabled){transform:translateY(2px)}.so-ohint:disabled{opacity:.45;cursor:default}.so-owait{text-align:center;color:#a8d4cf;font:500 .95rem system-ui,sans-serif;padding:18px}.so-seat-score{display:inline-grid;place-items:center;min-width:1.9em;margin-left:6px;padding:.1rem .45rem;border-radius:999px;background:#06232ab3;border:1px solid rgba(255,201,74,.45);color:#ffc94a;font:900 .9rem ui-monospace,Cascadia Mono,Menlo,monospace}.so-seat-score.so-hop{animation:so-hop .5s cubic-bezier(.2,1.6,.4,1)}.so-seat-score.so-lead{background:linear-gradient(180deg,#ffe08a,#ffc94a);color:#1b1200;box-shadow:0 0 16px #ffc94a8c}@keyframes so-hop{0%{transform:scale(1)}40%{transform:scale(1.45);box-shadow:0 0 20px #ffc94ab3}to{transform:scale(1)}}html:root{--kit-bg: #0f1d24;--kit-panel: rgba(14, 52, 58, .96);--kit-fg: #f2fffd;--kit-muted: #a8d4cf;--kit-accent: #3ef0b5;--kit-accent-fg: #05261b;--kit-accent-2: #ffc94a;--kit-radius: 14px;--kit-font: "Arial Black", "Helvetica Neue", system-ui, sans-serif;--so-ink: #f2fffd;--so-muted: #a8d4cf;--so-accent: #3ef0b5;--so-accent-hi: #17936a;--so-accent-lo: #0b4d38;--so-gold: #ffc94a;--so-red: #ff4d6d;--so-green: #2bd67b;--so-purple: #9b5cff;--so-sky: #4cc9f0;--so-edge: rgba(140, 230, 220, .3);--so-edge-soft: rgba(140, 230, 220, .18);--so-well: rgba(4, 20, 24, .55);--so-mono: ui-monospace, "Cascadia Mono", Menlo, monospace;--so-read: system-ui, "Segoe UI", sans-serif;--so-glass: linear-gradient(160deg, rgba(32, 120, 128, .55) 0%, rgba(8, 30, 36, .82) 100%);--so-glass-solid: linear-gradient(160deg, rgba(30, 108, 116, .95) 0%, rgba(7, 26, 31, .97) 100%);--so-button: linear-gradient(180deg, rgba(46, 150, 150, .85) 0%, rgba(24, 96, 104, .9) 100%);--so-button-hi: linear-gradient(180deg, rgba(60, 172, 170, .92) 0%, rgba(30, 112, 118, .94) 100%);--so-primary: linear-gradient(180deg, #17936a 0%, #0b4d38 100%);--so-mint-text: linear-gradient(180deg, #eafff7 0%, #9dfbd9 38%, #3ef0b5 62%, #0e7a55 100%);--so-gold-text: linear-gradient(180deg, #fff4cf 0%, #ffc94a 45%, #d9971a 70%, #5c3d00 100%);--so-bounce: cubic-bezier(.2, 1.6, .4, 1);--so-settle: cubic-bezier(.2, .9, .3, 1.1)}html,body{background:radial-gradient(120% 120% at 50% 0%,#17414a,#0f1d24 62%)}#app:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.1) 0 1px,transparent 1px 3px)}canvas{touch-action:none;transition:filter .5s ease}html.so-attract canvas{filter:blur(3px) brightness(.75) saturate(1.2)}html.so-attract #app:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 75% 65% at 50% 45%,transparent 0%,rgba(4,16,20,.45) 70%,rgba(3,12,15,.85) 100%)}html .kit-dim{background:#04101499;backdrop-filter:blur(6px) saturate(120%);-webkit-backdrop-filter:blur(6px) saturate(120%)}html .kit-title-screen.kit-dim{background:radial-gradient(ellipse 70% 60% at 50% 45%,#04101426,#0410148c 70%,#030c0fe0);backdrop-filter:none;-webkit-backdrop-filter:none}html .kit-title{font-weight:900;letter-spacing:.03em;background:none;-webkit-background-clip:border-box;background-clip:border-box;color:#f6fffd;-webkit-text-fill-color:#f6fffd;filter:drop-shadow(0 3px 0 #0f5f63) drop-shadow(0 3px 0 rgba(0,0,0,.35)) drop-shadow(0 0 14px rgba(62,240,181,.28));animation:so-pop-in .5s var(--so-bounce) both}html .kit-tagline{font-family:var(--so-mono);color:var(--kit-muted)}html .kit-menu{gap:9px}html .kit-btn{position:relative;overflow:hidden;font:900 16px var(--kit-font);letter-spacing:.02em;color:var(--kit-fg);background:var(--so-button);border:1px solid var(--so-edge);border-radius:14px;box-shadow:0 4px #00000059,inset 0 1px #ffffff1a;transition:transform .12s ease,border-color .15s ease,box-shadow .15s ease}html .kit-btn:hover,html .kit-btn:focus-visible,html .kit-btn.hub-nav-focus{background:var(--so-button-hi);border-color:var(--so-accent);box-shadow:0 4px #00000059,0 0 0 3px #3ef0b52e,0 0 22px #3ef0b54d}html .kit-btn:hover:not(:disabled),html .kit-btn.hub-nav-focus{transform:translateY(-2px)}html .kit-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px #00000059,inset 0 1px #ffffff1a}html .kit-btn.kit-primary{color:#f2fffd;background:var(--so-primary);border-color:var(--so-accent);box-shadow:0 4px #00000059,0 0 18px #3ef0b54d}html .kit-btn.kit-primary:hover,html .kit-btn.kit-primary.hub-nav-focus{background:linear-gradient(180deg,#1fae7f,#0d5c43)}html .kit-btn.kit-primary:before{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.28) 50%,transparent 100%);transform:skew(-20deg);animation:so-sheen 3.6s 1.2s ease-in-out infinite;pointer-events:none}html .kit-btn-sub{font-family:var(--so-mono);font-weight:400}html .kit-pause-btn{min-width:44px;min-height:44px;border-radius:12px;background:var(--so-glass-solid)}html .kit-modal{background:#030c0f99;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}html .kit-modal-sheet{background:var(--so-glass-solid);border:1px solid var(--so-edge);border-radius:20px;box-shadow:0 20px 50px #0009,inset 0 1px #ffffff14;animation:so-pop-card .32s cubic-bezier(.2,1.4,.4,1)}html .kit-modal-body{font-family:var(--so-read);font-weight:500;line-height:1.4}html .kit-toast{color:var(--so-ink);background:var(--so-glass-solid);border:1px solid var(--so-edge);border-left:4px solid var(--so-gold);border-radius:14px;box-shadow:0 12px 32px #00000080,inset 0 1px #ffffff14;font:600 14px/1.35 var(--so-read);animation:so-toast-in .35s var(--so-bounce) both}html .kit-toast[data-kind=good]{border-left-color:var(--so-accent)}html .kit-toast[data-kind=warn]{border-left-color:var(--so-red)}html .kit-banner{background:none;color:#ffc94a;-webkit-text-fill-color:#ffc94a;filter:drop-shadow(0 4px 0 #6b4a00) drop-shadow(0 4px 0 rgba(0,0,0,.35)) drop-shadow(0 0 18px rgba(255,201,74,.4));text-shadow:none}html .kit-toggle{background:#00000073;box-shadow:inset 0 2px 4px #00000073}html .kit-toggle:after{transition:transform .18s var(--so-bounce)}html .kit-toggle[aria-checked=true]{background:linear-gradient(180deg,#3ef0b5,#17936a);box-shadow:0 0 12px #3ef0b580}html .kit-seg{background:#00000059}html .kit-seg-item{font-family:var(--kit-font);font-weight:900}html .kit-seg-item[aria-checked=true]{background:var(--so-primary);color:#f2fffd;box-shadow:0 0 12px #3ef0b573}html .kit-slider{accent-color:var(--so-accent)}.so-card{position:relative;z-index:1;width:min(400px,100%);display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:18px 16px 16px;box-sizing:border-box;border-radius:20px;background:var(--so-glass);border:1px solid var(--so-edge);box-shadow:0 20px 50px #0000008c,inset 0 1px #ffffff14;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:so-pop-card .32s cubic-bezier(.2,1.4,.4,1) both}html .so-card .kit-title,html .kit-modal-title{font-size:clamp(1.8rem,8vw,2.4rem);text-align:center;font-weight:900;letter-spacing:.04em;background:none;-webkit-background-clip:border-box;background-clip:border-box;color:#f6fffd;-webkit-text-fill-color:#f6fffd;filter:drop-shadow(0 3px 0 #0f5f63) drop-shadow(0 3px 0 rgba(0,0,0,.35)) drop-shadow(0 0 14px rgba(62,240,181,.28));animation:so-title-bounce .6s .05s var(--so-bounce) both}html .kit-modal-title{font-size:1.6rem}html .so-card .kit-title.so-lost{filter:drop-shadow(0 3px 0 #6b4a00) drop-shadow(0 3px 0 rgba(0,0,0,.35)) drop-shadow(0 0 14px rgba(255,201,74,.35))}.so-card-sub{margin:-6px 0 0;text-align:center;font-family:var(--so-mono);font-size:.8rem;color:var(--kit-muted);animation:so-fade-up .4s .12s ease-out both}.so-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;animation:so-fade-up .4s .18s ease-out both}html .so-card .kit-menu{width:100%}html .kit-btn.so-in,html .kit-modal-buttons .kit-btn.so-in{animation:so-btn-in .42s calc(var(--i, 0) * .06s) var(--so-settle) both}html .kit-modal-body .kit-row{animation:so-fade-up .35s calc(.08s + var(--i, 0) * .05s) both}.so-pop{position:absolute;left:50%;top:0;z-index:2;font-family:var(--so-mono);font-weight:900;font-size:1.1rem;color:var(--so-gold);text-shadow:0 2px 6px rgba(0,0,0,.6),0 0 10px rgba(255,201,74,.6);pointer-events:none;white-space:nowrap;animation:so-pop-float .9s ease-out forwards}.so-cardpic{display:inline-block;width:56px;aspect-ratio:2 / 3;border-radius:7px;filter:drop-shadow(0 3px 0 rgba(0,0,0,.35)) drop-shadow(0 6px 10px rgba(0,0,0,.35))}.so-cardpic img{display:block;width:100%;height:100%;pointer-events:none;user-select:none}.so-cardpic.so-mini{width:34px}.so-title-screen{gap:10px}.so-title-screen>:not(.so-sparks){position:relative;z-index:1}.so-kicker{margin:0;font-family:var(--so-mono);font-size:.72rem;letter-spacing:.42em;padding-left:.42em;text-transform:uppercase;color:var(--so-gold);text-shadow:0 0 10px rgba(255,201,74,.5);animation:so-fade-up .6s .55s ease-out both}.so-hero{display:flex;flex-direction:column;align-items:center}.so-fan{position:relative;width:200px;height:clamp(70px,11vh,96px);pointer-events:none}.so-fan-slot{position:absolute;left:50%;bottom:-26px;width:clamp(48px,7.5vh,62px);margin-left:calc(clamp(48px,7.5vh,62px)/-2);transform-origin:50% 100%;transform:translate(calc(var(--k) * 46px)) translateY(calc(var(--k) * var(--k) * 8px)) rotate(calc(var(--k) * 15deg))}.so-fan-card{display:block;width:100%;animation:so-card-drop .7s calc(.1s + var(--i, 0) * .09s) var(--so-bounce) both,so-card-bob 2.8s calc(1s + var(--i, 0) * .14s) ease-in-out infinite,so-sort-glow 4.2s 1.6s ease-in-out infinite}.so-fan-slot:nth-child(1) .so-fan-card{animation-delay:.1s,1s,1.6s}.so-fan-slot:nth-child(2) .so-fan-card{animation-delay:.19s,1.14s,1.6s}.so-fan-slot:nth-child(3) .so-fan-card{animation-delay:.28s,1.28s,1.6s}.so-fan-card.so-flip{animation:so-flip-in .55s calc(var(--i, 0) * .08s) var(--so-settle) both,so-card-bob 2.8s .6s ease-in-out infinite,so-sort-glow 4.2s .8s ease-in-out infinite}.so-fan-slot:nth-child(2) .so-fan-card.so-flip{animation-delay:.08s,.74s,.8s}.so-fan-slot:nth-child(3) .so-fan-card.so-flip{animation-delay:.16s,.88s,.8s}html .kit-title.so-wordmark{position:relative;z-index:2;display:flex;justify-content:center;gap:.02em;font-size:clamp(2.8rem,min(15vw,9vh),4.6rem);line-height:1;background:none;color:inherit;filter:none;animation:none}.so-letter{display:inline-block;--hi: #c9fff0;--mid: #3ef0b5;--lo: #0b4d38;--glow: rgba(62, 240, 181, .5);animation:so-letter-drop .7s calc(.35s + var(--i, 0) * 75ms) var(--so-bounce) both,so-letter-bob 2.8s calc(1.4s + var(--i, 0) * .14s) ease-in-out infinite}.so-letter:nth-child(4n+1){--hi: #ffd0d9;--mid: #ff4d6d;--lo: #7a0f26;--glow: rgba(255, 77, 109, .5)}.so-letter:nth-child(4n+2){--hi: #c8ffdc;--mid: #2bd67b;--lo: #0b5a2e;--glow: rgba(43, 214, 123, .5)}.so-letter:nth-child(4n+3){--hi: #e6d9ff;--mid: #9b5cff;--lo: #3d1580;--glow: rgba(155, 92, 255, .55)}.so-letter>span{display:inline-block;padding:0 .03em;background:linear-gradient(180deg,#ffffff 0%,var(--hi) 30%,var(--mid) 60%,var(--lo) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:.02em rgba(255,255,255,.35);filter:drop-shadow(0 .06em 0 #04161b) drop-shadow(0 0 .25em var(--glow))}.so-shape-letter>.so-glyph{display:block;overflow:visible;filter:drop-shadow(0 .07em 0 #04161b) drop-shadow(0 0 .22em var(--glow))}.so-shape-letter{margin:0 .005em}html .kit-title.so-wordmark:has(.so-shape-letter){font-size:clamp(3.3rem,min(19vw,11vh),5.4rem)}.so-shape-letter:nth-child(4n+4){--glow: rgba(255, 77, 109, .5)}.so-shape-letter:nth-child(2n){rotate:4deg}.so-shape-letter:nth-child(odd){rotate:-4deg}html .kit-tagline.so-taglines{position:relative;height:1.9em;width:min(340px,92%);margin:2px 0 0;font:800 .95rem/1.9em var(--so-mono);color:#fff6d8;border-radius:999px;background:#04161bb8;border:1px solid rgba(255,201,74,.35);box-shadow:0 4px 14px #00000073,inset 0 1px #ffffff14;text-shadow:0 0 10px rgba(255,201,74,.35)}.so-taglines span{position:absolute;inset:0;opacity:0;animation:so-tagline 14s linear infinite}.so-taglines span:nth-child(2){animation-delay:3.5s}.so-taglines span:nth-child(3){animation-delay:7s}.so-taglines span:nth-child(4){animation-delay:10.5s}.so-panel{width:min(400px,100%);display:flex;flex-direction:column;gap:10px;padding:14px;box-sizing:border-box;border-radius:20px;background:var(--so-glass);border:1px solid var(--so-edge);box-shadow:0 20px 50px #0000008c,inset 0 1px #ffffff14;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:so-panel-in .55s .25s var(--so-settle) both}.so-panel .kit-menu,.so-panel .kit-continue{width:100%}html .kit-btn.so-mbtn{display:flex;align-items:center;justify-content:flex-start;flex-wrap:nowrap;gap:12px;min-height:52px;text-align:left;padding:7px 34px 7px 8px}.so-mbtn-icon:before{content:attr(data-icon)}.so-mbtn-icon{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;font-size:1.05rem;color:var(--kit-fg);background:#0414188c;box-shadow:inset 0 -3px #00000059;transition:transform .15s ease,background .15s ease,color .15s ease}.so-mbtn-text{display:flex;flex-direction:column;gap:1px;min-width:0}.so-mbtn-label{font-size:1.02rem;line-height:1.15}.so-mbtn-sub{font-family:var(--so-mono);font-size:.7rem;font-weight:400;letter-spacing:0;color:var(--kit-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.so-mbtn-sub:empty{display:none}.so-mbtn:after{content:"◀";position:absolute;right:12px;top:50%;font-size:.8rem;color:var(--so-accent);opacity:0;transform:translate(8px,-50%);transition:opacity .15s ease,transform .15s ease}.so-mbtn:hover .so-mbtn-icon,.so-mbtn:focus-visible .so-mbtn-icon,.so-mbtn.hub-nav-focus .so-mbtn-icon{transform:scale(1.12) rotate(-6deg);background:var(--so-accent);color:#05261b}.so-mbtn:hover:after,.so-mbtn:focus-visible:after,.so-mbtn.hub-nav-focus:after{opacity:1;animation:so-pointer .6s ease-in-out infinite alternate}html .kit-btn.kit-primary.so-mbtn{min-height:60px;padding-top:9px;padding-bottom:9px}html .kit-primary .so-mbtn-label{font-size:1.2rem}html .kit-primary .so-mbtn-sub{color:#c8f7e6}html .kit-primary .so-mbtn-icon{width:42px;height:42px;background:var(--so-accent);color:#05261b;box-shadow:inset 0 -3px #00000040,0 0 14px #3ef0b580}html .kit-btn:disabled.so-mbtn{opacity:.55}.so-footer{display:flex;justify-content:space-between;gap:6px;animation:so-fade-up .4s .8s ease-out both}.so-chip{display:inline-flex;align-items:baseline;gap:6px;padding:5px 10px;border-radius:999px;background:var(--so-well);border:1px solid var(--so-edge-soft);box-shadow:inset 0 1px 3px #00000059;white-space:nowrap}.so-chip span{font-family:var(--so-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--kit-muted)}.so-chip strong{font-family:var(--so-mono);color:var(--so-gold)}.so-sparks{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.so-spark{position:absolute;bottom:-10px;width:var(--size, 4px);height:var(--size, 4px);border-radius:1px;background:var(--so-accent);box-shadow:0 0 8px 2px #3ef0b599;animation:so-spark-rise 8s linear infinite}.so-spark.so-red{background:var(--so-red);box-shadow:0 0 8px 2px #ff4d6d99}.so-spark.so-green{background:var(--so-green);box-shadow:0 0 8px 2px #2bd67b99}.so-spark.so-purple{background:var(--so-purple);box-shadow:0 0 8px 2px #9b5cff99}.so-spark.so-sky{background:var(--so-gold);box-shadow:0 0 8px 2px #ffc94a99}.so-sparks.so-rush .so-spark{animation-duration:1.6s!important}html .kit-title-screen [data-testid=offline-note]{max-width:min(400px,100%);margin:0;padding:5px 12px;border-radius:999px;background:var(--so-well);border:1px solid rgba(255,201,74,.4);font:600 11px/1.3 var(--so-mono);color:var(--so-muted);animation:so-fade-up .4s .9s both}html .kit-modal{padding:max(12px,var(--kit-top, 12px)) 12px max(12px,var(--kit-bottom, 12px))}html .kit-modal.so-modal .kit-modal-sheet{position:relative;width:min(460px,100%);max-height:100%;overflow:hidden;padding:16px 18px;gap:12px;border-radius:22px;background:var(--so-glass-solid);border:1px solid var(--so-edge);box-shadow:0 24px 60px #0009,inset 0 1px #ffffff14;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}html .so-modal .kit-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;margin:0 -6px;padding:0 6px 4px}html .so-modal .kit-modal-buttons{flex:none;flex-direction:column;align-items:stretch;gap:9px;margin-top:4px}html .so-modal .kit-modal-buttons .kit-btn{width:100%}html .so-modal .so-mbtn-sub{white-space:normal}html .so-modal .kit-modal-title{font-size:clamp(1.6rem,6vw,2.1rem)}.so-modal-shapes{display:flex;justify-content:center;align-items:center;gap:12px;margin:0 0 -6px;animation:so-fade-up .4s .1s both}.so-shape{display:block;width:26px;height:13px;animation:so-shape-hop 2.4s ease-in-out infinite}.so-shape.so-diamond{background:var(--so-red);clip-path:polygon(0 50%,50% 0,100% 50%,50% 100%)}.so-shape.so-squiggle{background:repeating-linear-gradient(90deg,var(--so-green) 0 2px,transparent 2px 4px);border:2px solid var(--so-green);border-radius:10px 4px;transform:skew(-14deg);animation-delay:.2s}.so-shape.so-oval{box-sizing:border-box;border:2.5px solid var(--so-purple);border-radius:999px;animation-delay:.4s}.so-modal-sub{margin:0 0 8px;text-align:center;font:700 12px var(--so-mono);color:var(--kit-muted)}html .so-modal .kit-settings{display:flex;flex-direction:column;gap:7px}html .so-modal .kit-settings .kit-row{padding:6px 12px;border-radius:14px;background:var(--so-well);border:1px solid var(--so-edge-soft);box-sizing:border-box;font:900 14px var(--kit-font)}html .so-modal .kit-settings .kit-row.so-colors{flex-wrap:wrap;padding-bottom:10px}.so-colorpick{display:flex;gap:8px;flex:1 1 100%}.so-colorbtn{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;min-height:44px;padding:8px 6px;border-radius:14px;border:1px solid var(--so-edge);color:var(--kit-fg);background:var(--so-button);box-shadow:0 3px #00000059;font:900 12px var(--kit-font);cursor:pointer;transition:transform .12s ease,border-color .15s ease}.so-colorbtn:hover,.so-colorbtn.hub-nav-focus{transform:translateY(-2px);border-color:var(--so-accent)}.so-colorbtn.so-on{background:var(--so-primary);border-color:var(--so-accent);box-shadow:0 3px #00000059,0 0 16px #3ef0b566}.so-colorcards{display:flex;gap:3px}.so-colorcards .so-cardpic{width:26px;transition:transform .2s var(--so-bounce)}.so-colorbtn.so-on .so-colorcards .so-cardpic:nth-child(1){transform:rotate(-8deg) translateY(-2px)}.so-colorbtn.so-on .so-colorcards .so-cardpic:nth-child(3){transform:rotate(8deg) translateY(-2px)}.so-howto{display:flex;flex-direction:column;gap:8px}.so-howto p{position:relative;margin:0;padding:10px 12px 10px 48px;border-radius:14px;background:var(--so-well);border:1px solid var(--so-edge-soft);font:500 14px/1.4 var(--so-read);animation:so-fade-up .35s calc(.1s + var(--i, 0) * .06s) both}.so-step{position:absolute;left:10px;top:9px;display:grid;place-items:center;width:28px;height:28px;border-radius:9px;font:900 14px var(--kit-font);color:#05261b;background:linear-gradient(180deg,#9dfbd9,#3ef0b5);box-shadow:inset 0 -2px #00000040}.so-howto p:nth-of-type(3n+2) .so-step{background:linear-gradient(180deg,#ffe39a,#ffc94a);color:#3d2800}.so-howto p:nth-of-type(3n) .so-step{background:linear-gradient(180deg,#8fe3ff,#4cc9f0);color:#032a38}.so-examples{display:grid;grid-template-columns:1fr 1fr;gap:8px}.so-example{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 8px;border-radius:16px;background:var(--so-well);border:1px solid var(--so-edge-soft);animation:so-pop-card .4s var(--d, .2s) cubic-bezier(.2,1.4,.4,1) both}.so-example.so-yes{border-color:#3ef0b58c;box-shadow:0 0 18px #3ef0b52e}.so-example.so-no{border-color:#ffc94a80}.so-ex-head{margin:0;padding:0!important;background:none!important;border:0!important;font:900 15px var(--kit-font)!important;color:var(--so-accent);animation:none!important}.so-no .so-ex-head{color:var(--so-gold)}.so-ex-cards{display:flex;gap:4px}.so-ex-cards .so-cardpic{width:clamp(34px,11vw,46px);animation:so-card-drop .6s calc(var(--d, .2s) + .1s + var(--i, 0) * .08s) var(--so-bounce) both}.so-yes .so-ex-cards{animation:so-sort-glow 3s 1.2s ease-in-out infinite;border-radius:8px}.so-ex-checks{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:2px}.so-ex-checks li{display:grid;grid-template-columns:16px auto 1fr;align-items:baseline;gap:5px;font:500 11.5px/1.3 var(--so-read);color:var(--kit-muted);animation:so-fade-up .3s calc(var(--d, .2s) + .35s + var(--i, 0) * .06s) both}.so-ex-checks strong{font:900 11.5px var(--kit-font);color:var(--so-ink)}.so-check{font-weight:900;color:var(--so-accent)}.so-ex-checks li.so-bad .so-check,.so-ex-checks li.so-bad strong{color:var(--so-gold)}.so-form{display:flex;flex-direction:column;gap:10px;text-align:left}.so-choices{display:grid;grid-template-columns:1fr;gap:8px}.so-choice{display:flex;align-items:center;gap:12px;min-height:72px;padding:10px 12px;border-radius:16px;text-align:left;color:var(--kit-fg);background:var(--so-button);border:1px solid var(--so-edge);box-shadow:0 4px #0000004d,inset 0 1px #ffffff14;cursor:pointer;transition:transform .12s ease,border-color .15s ease,box-shadow .15s ease;animation:so-btn-in .4s calc(.08s + var(--i, 0) * .07s) var(--so-settle) both}.so-choice:hover,.so-choice.hub-nav-focus{border-color:var(--so-accent);transform:translateY(-2px)}.so-choice:active{transform:translateY(2px)}.so-choice.so-on{border-color:var(--so-accent);background:var(--so-primary);box-shadow:0 4px #00000059,0 0 20px #3ef0b566}.so-choice-text{display:flex;flex-direction:column;gap:2px;min-width:0}.so-choice-name{font:900 16px var(--kit-font)}.so-choice-sub{font:400 11.5px/1.3 var(--so-mono);color:var(--kit-muted)}.so-on .so-choice-sub{color:#c8f7e6}.so-choice-art{position:relative;flex:none;width:56px;height:50px}.so-stack .so-cardpic{position:absolute;left:50%;bottom:0;width:30px;margin-left:-15px;transform-origin:50% 190%;transition:transform .25s var(--so-bounce)}.so-stack .so-cardpic:nth-child(1){transform:rotate(-14deg) translate(-5px)}.so-stack .so-cardpic:nth-child(3){transform:rotate(14deg) translate(5px)}.so-on .so-stack .so-cardpic:nth-child(1){transform:rotate(-22deg) translate(-8px)}.so-on .so-stack .so-cardpic:nth-child(3){transform:rotate(22deg) translate(8px)}.so-faces{display:flex;align-items:center;justify-content:center;gap:2px}.so-faces b{font:900 10px var(--so-mono);color:var(--so-gold)}.so-face{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;font-style:normal;font-size:12px;color:#05261b;background:linear-gradient(180deg,#9dfbd9,#3ef0b5);box-shadow:inset 0 -2px #00000040}.so-face:not(.so-you){color:#3d2800;background:linear-gradient(180deg,#ffe39a,#ffc94a)}.so-on .so-face{animation:so-shape-hop 1.6s ease-in-out infinite}.so-on .so-face:not(.so-you){animation-delay:.3s}.so-opts{display:flex;flex-direction:column;gap:6px}.so-opt{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;min-height:52px;padding:5px 6px 5px 12px;border-radius:14px;background:var(--so-well);border:1px solid var(--so-edge-soft);animation:so-fade-up .35s calc(.05s + var(--i, 0) * .06s) both}.so-opt-label{font:900 13px var(--kit-font)}.so-seg{display:flex;gap:3px;padding:3px;border-radius:999px;background:#00000059;box-shadow:inset 0 2px 4px #0006;flex:none}.so-segbtn{min-width:44px;min-height:40px;padding:0 12px;border:0;border-radius:999px;background:transparent;color:var(--kit-muted);font:900 13px var(--kit-font);cursor:pointer;transition:transform .12s ease}.so-segbtn:hover,.so-segbtn.hub-nav-focus{color:#fff}.so-segbtn.so-on{color:#05261b;background:linear-gradient(180deg,#9dfbd9,#3ef0b5);box-shadow:0 0 12px #3ef0b573;animation:so-press .25s var(--so-bounce)}html .kit-hud{gap:8px;font:900 15px var(--kit-font);flex-wrap:nowrap;text-shadow:none}.so-hud-chip{position:relative;display:inline-flex;align-items:center;gap:7px;padding:5px 12px 5px 6px;border-radius:999px;background:linear-gradient(180deg,#2e9696c7,#081e24e6);border:1px solid var(--so-edge);box-shadow:0 4px 14px #00000073,inset 0 1px #ffffff1a;white-space:nowrap}.so-hud-chip.so-in,.so-tools.so-in{animation:so-btn-in .42s calc(var(--i, 0) * .08s) var(--so-settle) both}.so-hud-text{display:inline-flex;align-items:baseline;gap:6px}.so-hud-name{font:700 .66em var(--so-mono);letter-spacing:.1em;color:var(--kit-muted)}.so-hud-chip strong{font-variant-numeric:tabular-nums}.so-hud-score{border-color:#ffc94a99}.so-hud-score strong{color:var(--so-gold)}.so-hud-score.so-gain .so-ico-sort{animation:so-ico-spin .7s var(--so-bounce)}.so-ico{position:relative;flex:none;display:inline-block;width:24px;height:24px;border-radius:999px;background:#041418b3;box-shadow:inset 0 -2px #00000059}.so-ico-sort i{position:absolute;width:7px;height:7px;border-radius:50%;left:50%;top:50%;margin:-3.5px 0 0 -3.5px}.so-ico-sort{animation:so-turn 6s linear infinite}.so-ico-sort i:nth-child(1){background:var(--so-red);transform:translateY(-5px)}.so-ico-sort i:nth-child(2){background:var(--so-green);transform:translate(4.6px,3px)}.so-ico-sort i:nth-child(3){background:var(--so-purple);transform:translate(-4.6px,3px)}.so-ico-deck i{position:absolute;left:7px;top:5px;width:10px;height:14px;border-radius:2px;background:#fffdf8;box-shadow:0 1px #0006}.so-ico-deck i:first-child{background:#1d6f75;border:1px solid #7ff3df;box-sizing:border-box;transform:rotate(-12deg) translate(-2px,1px)}.so-ico-deck i:last-child{transform:rotate(8deg) translate(2px);animation:so-deck-peek 3.2s ease-in-out infinite}.so-hud-second:not(.so-deckchip) .so-ico-deck i:last-child{background:var(--so-accent)}.so-ico-clock{border:2px solid var(--so-accent);box-sizing:border-box}.so-ico-clock i{position:absolute;left:50%;top:50%;width:2px;height:7px;margin-left:-1px;margin-top:-7px;border-radius:1px;background:var(--so-ink);transform-origin:50% 100%;animation:so-tick 60s steps(60) infinite}.so-tools{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:10px;pointer-events:none}.so-hint{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:56px;min-width:124px;max-width:132px;padding:0 16px 0 12px;border-radius:999px;border:1px solid rgba(255,201,74,.7);color:#3d2800;background:linear-gradient(180deg,#ffe39a,#ffc94a 55%,#d9971a);box-shadow:0 4px #7a5200,0 8px 18px #00000073,0 0 18px #ffc94a59,inset 0 1px #fff9;font:900 15px var(--kit-font);cursor:pointer;pointer-events:auto;transition:transform .12s ease,box-shadow .15s ease,opacity .2s ease}.so-hint:focus-visible,.so-hint.hub-nav-focus{outline:none;box-shadow:0 4px #7a5200,0 0 0 3px #f2fffd,0 0 26px #ffc94acc}@media(hover:hover){.so-hint:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px #7a5200,0 10px 22px #00000073,0 0 26px #ffc94a99,inset 0 1px #fff9}}.so-hint:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px #7a5200,0 4px 10px #00000073,inset 0 1px #fff9}.so-hint:disabled{opacity:.45;cursor:default}.so-hint-bulb{font-size:22px;line-height:1;filter:drop-shadow(0 1px 0 rgba(255,255,255,.6));animation:so-bulb 3.2s ease-in-out infinite}.so-hint.so-on{animation:so-hint-glow .9s ease-in-out infinite alternate}.so-hint.so-on .so-hint-bulb{animation:so-bulb-on .9s ease-in-out infinite alternate}.so-shuffle{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:56px;min-width:124px;padding:0 16px 0 12px;border-radius:999px;border:1px solid rgba(140,230,220,.6);color:#f2fffd;background:linear-gradient(180deg,#3fb5ad,#1f8a86 55%,#136068);box-shadow:0 4px #0a3a40,0 8px 18px #00000073,0 0 16px #4cc9f040,inset 0 1px #ffffff59;font:900 15px var(--kit-font);white-space:nowrap;cursor:pointer;pointer-events:auto;transition:transform .12s ease,box-shadow .15s ease,opacity .2s ease}.so-shuffle:focus-visible,.so-shuffle.hub-nav-focus{outline:none;box-shadow:0 4px #0a3a40,0 0 0 3px #f2fffd,0 0 24px #4cc9f0b3}@media(hover:hover){.so-shuffle:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px #0a3a40,0 10px 22px #00000073,0 0 24px #4cc9f080,inset 0 1px #ffffff59}}.so-shuffle:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px #0a3a40,0 4px 10px #00000073,inset 0 1px #ffffff59}.so-shuffle:disabled{opacity:.45;cursor:default}.so-shuffle-icon{display:inline-block;flex:none;width:22px;height:22px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 18h1.4c1.3 0 2.5-.6 3.3-1.7l6.1-8.6c.7-1.1 2-1.7 3.3-1.7H22'/%3E%3Cpath d='m18 2 4 4-4 4'/%3E%3Cpath d='M2 6h1.9c1.5 0 2.9.9 3.6 2.2'/%3E%3Cpath d='M22 18h-5.9c-1.3 0-2.6-.7-3.3-1.8l-.5-.8'/%3E%3Cpath d='m18 14 4 4-4 4'/%3E%3C/svg%3E") center / contain no-repeat;filter:drop-shadow(0 1px 0 rgba(0,0,0,.35))}html .kit-result-body{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:12px;box-sizing:border-box;border-radius:14px;background:var(--so-well);border:1px solid var(--so-edge-soft);font-family:var(--so-mono);animation:so-fade-up .4s .15s ease-out both}html .kit-result-body p{margin:0}.so-lastsort{display:flex;justify-content:center;gap:6px;margin-top:-4px}.so-lastsort .so-cardpic{width:40px;transform-origin:50% 120%;rotate:calc(var(--k, 0) * 10deg);animation:so-card-drop .6s calc(.2s + var(--i, 0) * .09s) var(--so-bounce) both,so-card-bob 2.8s calc(1s + var(--i, 0) * .14s) ease-in-out infinite}.so-total{text-align:center;font:700 .85rem var(--so-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--kit-muted)}.so-total strong{display:block;font:900 2.4rem/1.05 var(--kit-font);letter-spacing:.02em;color:#ffc94a;-webkit-text-fill-color:#ffc94a;filter:drop-shadow(0 3px 0 #6b4a00) drop-shadow(0 3px 0 rgba(0,0,0,.35)) drop-shadow(0 0 14px rgba(255,201,74,.35));font-variant-numeric:tabular-nums}.so-newbest{align-self:center;padding:4px 14px;border-radius:999px;font:900 14px var(--kit-font)!important;letter-spacing:.06em;color:#3d2800;background:linear-gradient(180deg,#ffe39a,#ffc94a);box-shadow:0 3px #7a5200,0 0 22px #ffc94a99;animation:so-burst .7s .9s var(--so-bounce) both,so-glow-gold 1.4s 1.6s ease-in-out infinite alternate}.so-line{text-align:center;font:900 15px var(--kit-font);color:var(--so-accent);animation:so-fade-up .4s .3s both}.so-best{text-align:center;font-size:.8rem;color:var(--kit-muted)}.so-best strong{color:var(--so-gold)}.so-standings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.so-standings li{display:flex;align-items:center;gap:8px;min-height:38px;padding:4px 12px 4px 6px;border-radius:12px;background:#ffffff0d;border:1px solid transparent;font:900 14px var(--kit-font);animation:so-fade-up .35s calc(.3s + var(--i, 0) * .09s) both}.so-st-name{flex:1 1 auto;text-align:left;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.so-standings strong{font-family:var(--so-mono);font-size:1.1rem}.so-crown{flex:none;width:22px;text-align:center;font:700 12px var(--so-mono);color:var(--kit-muted)}.so-standings li.so-mine{border-color:#3ef0b580}.so-standings li.so-mine .so-st-name{color:var(--so-accent)}.so-standings li.so-winner{background:#ffc94a1f;border-color:#ffc94ab3;box-shadow:0 0 16px #ffc94a40}.so-standings li.so-winner strong,.so-standings li.so-winner .so-crown{color:var(--so-gold)}.so-standings li.so-winner .so-crown{font-size:18px;animation:so-crown 1.2s .9s var(--so-bounce) both}.so-card.so-bestcard{border-color:#ffc94a8c;box-shadow:0 20px 50px #0000008c,0 0 30px #ffc94a40,inset 0 1px #ffffff14}html .kit-confetti{z-index:40}html .kit-turns[data-phase=lobby]{gap:10px}html .kit-turns[data-phase=lobby] .kit-seats{width:min(420px,100%)}html .kit-turns .kit-seat{padding:4px 12px 4px 6px;border-radius:16px;background:var(--so-glass);border:1px solid var(--so-edge-soft);box-shadow:0 6px 18px #00000059;font:900 14px var(--kit-font);animation:so-fade-up .35s both}html .kit-turns .kit-seat[data-status=open]{opacity:.6;border-style:dashed}html .kit-turns .kit-seat[data-due=true]{border-color:var(--so-accent);box-shadow:0 0 0 2px #3ef0b540,0 0 18px #3ef0b566}html .kit-seat>.kit-seat-remove{min-height:34px;padding:2px 10px;font-size:12px;border-color:#ffc94a80;color:var(--so-gold);background:var(--so-well);box-shadow:none}html .kit-turns .kit-turn-link{max-width:min(420px,100%);padding:6px 12px;border-radius:999px;background:#041418b3;border:1px dashed rgba(255,201,74,.5);font:600 12px var(--so-mono);color:var(--so-ink);overflow-wrap:anywhere}html .kit-turns[data-phase=lobby] .kit-menu{width:min(420px,100%)}html .kit-turns .kit-turn-status{font:900 16px var(--kit-font);color:var(--so-ink)}html .kit-turns[data-kind=mine] .kit-turn-status{color:var(--so-accent);text-shadow:0 0 12px rgba(62,240,181,.5)}html .kit-turns[data-phase=lobby] .kit-chat{width:min(420px,100%);padding:10px;box-sizing:border-box;border-radius:16px;background:var(--so-well);border:1px solid var(--so-edge-soft)}html .so-modal-turns-invite .kit-friend{padding:6px 10px;border-radius:14px;background:var(--so-well);border:1px solid var(--so-edge-soft);font:900 14px var(--kit-font)}html.so-online #ui[data-screen=turns] .kit-turns[data-phase=playing],html.so-online #ui[data-screen=turns] .kit-turns[data-phase=ended]{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:none;overflow:hidden;gap:6px;padding:calc(var(--kit-top) + 4px) 8px var(--kit-bottom);justify-content:flex-start}html.so-online .kit-turns[data-phase=playing]>*,html.so-online .kit-turns[data-phase=ended]>*{pointer-events:auto}html.so-online .kit-turns[data-phase=playing]>.kit-title,html.so-online .kit-turns[data-phase=playing]>.kit-turn-link{display:none}html.so-online .kit-turns[data-phase=ended]>.kit-title{font-size:1.6rem}html.so-online .kit-turns[data-phase=playing] .kit-turn-status,html.so-online .kit-turns[data-phase=ended] .kit-turn-status{margin:0;padding:4px 14px;border-radius:999px;background:#041418bf;border:1px solid var(--so-edge);font:900 14px var(--kit-font);max-width:calc(100% - 140px);pointer-events:none}html.so-online .kit-turns[data-phase=playing] .kit-turn-board,html.so-online .kit-turns[data-phase=ended] .kit-turn-board{flex:1 1 auto;width:100%;min-height:0;background:transparent;pointer-events:none}html.so-online .kit-turns[data-phase=playing] .kit-seats,html.so-online .kit-turns[data-phase=ended] .kit-seats{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:6px;width:100%}html.so-online .kit-turns[data-phase=playing] .kit-seat,html.so-online .kit-turns[data-phase=ended] .kit-seat{min-height:36px;padding:2px 12px 2px 4px;border-radius:999px;font-size:12px}html.so-online .kit-turns[data-phase=playing] .kit-seat>.kit-btn:not(.kit-seat-remove),html.so-online .kit-turns[data-phase=ended] .kit-seat>.kit-btn:not(.kit-seat-remove){min-height:0;padding:0 2px;border:0;background:none;box-shadow:none;font:900 12px var(--kit-font)}html.so-online .kit-turns[data-phase=playing] .kit-menu,html.so-online .kit-turns[data-phase=ended] .kit-menu{flex-direction:row;flex-wrap:wrap;justify-content:center;width:100%;gap:6px}html.so-online .kit-turns[data-phase=playing] .kit-menu .kit-btn{min-height:40px;padding:4px 12px;font-size:13px}html.so-online .kit-turns[data-phase=playing] .kit-chat,html.so-online .kit-turns[data-phase=ended] .kit-chat{width:100%;max-width:560px;gap:4px}html.so-online .kit-turns[data-phase=playing] .kit-chat-lines{max-height:2.8em;font:500 13px var(--so-read)}html.so-online .kit-turns[data-phase=playing] .kit-chat-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}html.so-online .kit-turns[data-phase=playing] .kit-chat-chips .kit-btn{min-height:38px;flex:none;font-size:13px}html .kit-chat-lines p{margin:3px 0;font:500 14px/1.35 var(--so-read);overflow-wrap:anywhere}html .kit-chat-lines strong{color:var(--so-gold);font-weight:800}html .kit-chat-input{min-height:44px;border-radius:12px;border:1px solid var(--so-edge);background:#00000059;color:var(--so-ink);font-size:16px}html .kit-chat-input:focus{outline:none;border-color:var(--so-accent);box-shadow:0 0 0 3px #3ef0b533}html .kit-chat-form .kit-btn,html .kit-chat-chips .kit-btn{min-height:44px}html .kit-chat-chips .kit-btn{border-radius:999px;font-size:14px}@keyframes so-card-drop{0%{opacity:0;transform:translateY(-140%) scale(.6,1.4)}60%{opacity:1;transform:translateY(8%) scale(1.15,.85)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes so-letter-drop{0%{opacity:0;transform:translateY(-120%) scale(.6,1.4)}60%{opacity:1;transform:translateY(6%) scale(1.15,.85)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes so-card-bob{0%,to{translate:0 0}50%{translate:0 -6px}}@keyframes so-letter-bob{0%,to{translate:0 0;rotate:0deg}25%{translate:0 -7px;rotate:-3deg}75%{translate:0 1px;rotate:3deg}}@keyframes so-sort-glow{0%,70%,to{filter:drop-shadow(0 3px 0 rgba(0,0,0,.35)) drop-shadow(0 6px 10px rgba(0,0,0,.35))}80%{filter:drop-shadow(0 3px 0 rgba(0,0,0,.35)) drop-shadow(0 0 14px rgba(62,240,181,.95))}}@keyframes so-flip-in{0%{opacity:.4;transform:perspective(400px) rotateY(90deg) scale(.9)}60%{opacity:1;transform:perspective(400px) rotateY(-12deg) scale(1.06)}to{opacity:1;transform:perspective(400px) rotateY(0) scale(1)}}@keyframes so-tagline{0%{opacity:0;transform:translateY(8px)}4%,21%{opacity:1;transform:translateY(0)}25%,to{opacity:0;transform:translateY(-8px)}}@keyframes so-fade-up{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}@keyframes so-panel-in{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes so-pop-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes so-toast-in{0%{opacity:0;transform:translateY(10px) scale(.92)}to{opacity:1;transform:none}}@keyframes so-sheen{0%{left:-60%}35%,to{left:130%}}@keyframes so-pointer{0%{transform:translateY(-50%)}to{transform:translate(-5px,-50%)}}@keyframes so-spark-rise{0%{transform:translate(0) rotate(0);opacity:0}10%{opacity:.9}30%{opacity:.4}40%{opacity:.9}50%{transform:translate(18px,-55vh) rotate(180deg)}90%{opacity:.7}to{transform:translate(-18px,-110vh) rotate(360deg);opacity:0}}@keyframes so-pop-card{0%{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes so-title-bounce{0%{opacity:0;transform:translateY(-40%) scale(.7,1.3)}60%{opacity:1;transform:translateY(4%) scale(1.1,.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes so-btn-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes so-pop-float{0%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-46px) scale(1.15)}}@keyframes so-press{0%{scale:1}50%{scale:1.12}to{scale:1}}@keyframes so-shape-hop{0%,60%,to{translate:0 0}75%{translate:0 -4px}}@keyframes so-turn{to{rotate:360deg}}@keyframes so-ico-spin{0%{scale:1.4}to{scale:1}}@keyframes so-deck-peek{0%,70%,to{transform:rotate(8deg) translate(2px)}80%{transform:rotate(18deg) translate(4px,-3px)}}@keyframes so-tick{to{rotate:360deg}}@keyframes so-bulb{0%,80%,to{rotate:0deg}85%{rotate:-12deg}90%{rotate:10deg}95%{rotate:-5deg}}@keyframes so-bulb-on{0%{filter:drop-shadow(0 0 2px #fff);scale:1}to{filter:drop-shadow(0 0 10px #fff6c2);scale:1.15}}@keyframes so-hint-glow{0%{box-shadow:0 4px #7a5200,0 8px 18px #00000073,0 0 14px #ffc94a66}to{box-shadow:0 4px #7a5200,0 8px 18px #00000073,0 0 34px #ffc94ae6}}@keyframes so-burst{0%{opacity:0;transform:scale(.3) rotate(-8deg)}60%{opacity:1;transform:scale(1.25) rotate(4deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes so-glow-gold{0%{box-shadow:0 3px #7a5200,0 0 12px #ffc94a66}to{box-shadow:0 3px #7a5200,0 0 28px #ffc94ad9}}@keyframes so-crown{0%{opacity:0;transform:translateY(-14px) scale(.4) rotate(-20deg)}60%{opacity:1;transform:translateY(2px) scale(1.3) rotate(8deg)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.so-letter,.so-fan-card,.so-spark,.so-card,.so-in,.so-pop,.so-panel,.so-kicker,.so-footer,.so-taglines span,.so-ico,.so-ico i,.so-hint,.so-hint-bulb,.so-tools,.so-shape,.so-face,.so-example,.so-ex-cards,.so-ex-cards .so-cardpic,.so-ex-checks li,.so-howto p,.so-choice,.so-opt,.so-segbtn,.so-lastsort .so-cardpic,.so-newbest,.so-standings li,.so-crown,.so-card-sub,.so-stats,.so-line,html .kit-title,html .kit-modal-sheet,html .kit-toast,html .kit-result-body,html .kit-modal-body .kit-row,html .kit-btn.kit-primary:before{animation:none!important}.so-taglines span:first-child{opacity:1}.so-sparks{display:none}canvas{transition:none}}@media(max-width:480px){html .kit-hud{gap:5px;font-size:13px;padding-left:60px;padding-right:68px}.so-hud-chip{padding:4px 9px 4px 4px;gap:5px}.so-hud-name{display:none}.so-ico{width:22px;height:22px}.so-hint{height:54px;min-width:54px;padding:0}.so-hint-label{display:none}.so-tools{gap:8px}.so-shuffle{height:54px;min-width:54px;padding:0}.so-shuffle-label{display:none}}@media(max-height:720px){.so-fan{height:58px}.so-fan-slot{width:42px;margin-left:-21px;bottom:-18px}html .kit-title.so-wordmark{font-size:clamp(2.4rem,8vh,3.4rem)}html .kit-btn.so-mbtn{min-height:46px;padding-top:4px;padding-bottom:4px}}html,body{margin:0;height:100%;background-color:var(--kit-bg);overflow:hidden;overscroll-behavior:none}#app{position:fixed;inset:0}canvas{display:block}html.so-cover #ui{display:none}html.so-cover canvas{filter:brightness(.5) saturate(1.15) blur(2px)!important}.so-cover-art{position:fixed;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;background:radial-gradient(ellipse at 50% 55%,#17414a00 30%,#041216bf)}.so-cover-fan{position:relative;width:1px;height:clamp(170px,34vh,280px);margin-bottom:clamp(-60px,-7vh,-36px)}.so-cover-card{position:absolute;bottom:0;left:0;width:clamp(100px,13vw,168px);transform-origin:50% 120%;translate:-50% 0;rotate:calc((var(--i) - 1) * 22deg);filter:drop-shadow(0 10px 18px rgba(0,0,0,.55)) drop-shadow(0 0 22px rgba(62,240,181,.45))}.so-cover-card img{display:block;width:100%}.so-cover-word{position:relative;display:flex;margin:0;font-size:clamp(5rem,16vw,12.5rem);line-height:1}.so-cover-letter>.so-glyph{display:block;overflow:visible;filter:drop-shadow(0 .06em 0 #04161b) drop-shadow(0 .1em .2em rgba(0,0,0,.6))}.so-cover-letter:nth-child(2n){rotate:5deg;translate:0 .03em}.so-cover-letter:nth-child(odd){rotate:-5deg}.so-cover-line{margin:.8em 0 0;font:800 clamp(1rem,2vw,1.6rem) ui-monospace,"Cascadia Mono",Menlo,monospace;letter-spacing:.42em;padding-left:.42em;color:#ffc94a;text-shadow:0 0 14px rgba(255,201,74,.55)}.so-newgame{display:flex;flex-direction:column;gap:10px;text-align:left}.so-newgame .so-choice{width:100%;min-height:78px;gap:14px}.so-newgame .so-choice-art{width:74px;height:56px;overflow:visible}.so-newgame .so-stack .so-cardpic{width:30px;margin-left:-15px;transform-origin:50% 140%}.so-newgame .so-stack .so-cardpic:nth-child(1){transform:rotate(-16deg)}.so-newgame .so-stack .so-cardpic:nth-child(3){transform:rotate(16deg)}.so-newgame .so-choice:hover .so-stack .so-cardpic:nth-child(1),.so-newgame .so-choice.hub-nav-focus .so-stack .so-cardpic:nth-child(1){transform:rotate(-24deg)}.so-newgame .so-choice:hover .so-stack .so-cardpic:nth-child(3),.so-newgame .so-choice.hub-nav-focus .so-stack .so-cardpic:nth-child(3){transform:rotate(24deg)}.so-newgame .so-faces{display:flex;align-items:center;justify-content:center}.so-newgame .so-faces>*{margin-left:-10px;border-radius:50%;box-shadow:0 0 0 2px #04161bcc;animation:so-shape-hop 1.8s ease-in-out infinite}.so-newgame .so-faces>*:first-child{margin-left:0}.so-newgame .so-faces>*:nth-child(2){animation-delay:.25s}.so-newgame .so-faces>*:nth-child(3){animation-delay:.5s}.so-choice-text{flex:1}.so-choice-go{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;color:#05261b;font-size:15px;background:linear-gradient(180deg,#9dfbd9,#3ef0b5);box-shadow:inset 0 -3px #00000040,0 0 14px #3ef0b573;transition:transform .2s var(--so-bounce)}.so-choice:hover .so-choice-go,.so-choice.hub-nav-focus .so-choice-go{transform:scale(1.12) rotate(-6deg)}.so-newgame>.so-choice{border-color:var(--so-accent);background:var(--so-primary);animation:so-btn-in .4s .08s var(--so-settle) both}.so-vsbox{display:flex;flex-direction:column;gap:6px;padding:6px;border-radius:20px;background:#04161b59;border:1px solid var(--so-edge-soft);animation:so-btn-in .4s .15s var(--so-settle) both}.so-vsbox .so-opt{min-height:48px}@media(prefers-reduced-motion:reduce){.so-newgame .so-faces>*,.so-newgame>.so-choice,.so-vsbox{animation:none}}html .kit-turns.so-turns[data-phase=lobby]{align-items:center;gap:12px;padding-left:14px;padding-right:14px}html .kit-turns.so-turns .kit-turn-status{display:inline-flex;align-items:center;gap:10px;max-width:min(420px,100%);margin:0;padding:8px 16px;border-radius:999px;background:#04161bb8;border:1px solid var(--so-edge);box-shadow:0 6px 16px #0006,inset 0 1px #ffffff14;font:900 14px/1.3 var(--kit-font);color:var(--so-ink);text-align:left;animation:so-fade-up .4s .15s both}html .kit-turns.so-turns .kit-turn-status:before{content:"";flex:none;width:10px;height:10px;border-radius:50%;background:var(--so-gold);box-shadow:0 0 10px var(--so-gold);animation:so-live-dot 1.2s ease-in-out infinite}html .kit-turns.so-turns[data-kind=mine] .kit-turn-status:before{background:var(--so-accent);box-shadow:0 0 10px var(--so-accent)}@keyframes so-live-dot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.55);opacity:.55}}.so-seats-head{margin:4px 0 -4px;font:800 11px var(--so-mono);letter-spacing:.32em;text-transform:uppercase;color:var(--so-gold);text-shadow:0 0 10px rgba(255,201,74,.45);animation:so-fade-up .4s .2s both}html.so-online .kit-turns.so-turns[data-phase=playing] .so-seats-head,html.so-online .kit-turns.so-turns[data-phase=ended] .so-seats-head{display:none}html .kit-turns.so-turns[data-phase=lobby] .kit-seats{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:min(420px,100%);margin:0;padding:10px;box-sizing:border-box;border-radius:20px;background:var(--so-glass);border:1px solid var(--so-edge);box-shadow:0 20px 50px #00000080,inset 0 1px #ffffff14}html .kit-turns.so-turns[data-phase=lobby] .kit-seat{display:flex;align-items:center;gap:8px;min-height:56px;min-width:0;padding:6px 10px 6px 6px;border-radius:14px;background:var(--so-button);border:1px solid var(--so-edge-soft);box-shadow:0 4px #0000004d,inset 0 1px #ffffff14;font:900 13px var(--kit-font);overflow:hidden;text-overflow:ellipsis;animation:so-seat-pop .45s calc(.2s + var(--i, 0) * .07s) var(--so-bounce) both}html .kit-turns.so-turns[data-phase=lobby] .kit-seat[data-status=joined]{border-color:var(--so-accent);background:var(--so-primary);box-shadow:0 4px #00000059,0 0 16px #3ef0b54d}html .kit-turns.so-turns[data-phase=lobby] .kit-seat[data-status=open]{opacity:1;color:var(--kit-muted);background:#04161b73;border:1.5px dashed rgba(140,230,220,.4);box-shadow:none}.so-open-face{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:2px dashed rgba(255,201,74,.6);color:var(--so-gold);font:900 18px var(--kit-font);animation:so-open-bob 2.2s calc(var(--i, 0) * .3s) ease-in-out infinite}@keyframes so-open-bob{0%,to{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-3px) rotate(6deg)}}@keyframes so-seat-pop{0%{opacity:0;transform:scale(.85) translateY(8px)}}html .kit-turns.so-turns[data-phase=lobby] .kit-turn-link{position:relative;width:min(420px,100%);box-sizing:border-box;border-radius:14px;padding:8px 12px 8px 38px;text-align:left}html .kit-turns.so-turns[data-phase=lobby] .kit-turn-link:before{content:"🔗";position:absolute;left:12px;top:50%;translate:0 -50%}html .kit-turns.so-turns[data-phase=lobby] .kit-turn-board{width:min(420px,100%)}.so-owait{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 14px 12px;border-radius:20px;background:var(--so-glass);border:1px solid var(--so-edge);box-shadow:0 20px 50px #00000080,inset 0 1px #ffffff14;animation:so-fade-up .45s .3s both}.so-owait-cards{display:flex;gap:8px;height:70px;align-items:flex-end}.so-owait-cards .so-cardpic{width:40px;animation:so-wait-hop 2.4s calc(var(--i, 0) * .22s) var(--so-bounce) infinite}@keyframes so-wait-hop{0%,60%,to{transform:translateY(0) rotate(0)}20%{transform:translateY(-14px) rotate(-6deg) scale(1.08)}}html .kit-turns .so-owait-line{margin:0;font:900 15px/1.35 var(--kit-font);color:var(--so-ink);text-align:center}html .kit-turns .so-owait-tip{margin:0;font:600 11.5px/1.35 var(--so-mono);color:var(--kit-muted);text-align:center}html .kit-turns.so-turns[data-phase=lobby] .kit-menu{gap:8px}html.so-online .kit-turns.so-turns[data-phase=playing] .kit-menu{flex-direction:row;justify-content:center;gap:8px}html.so-online .kit-turns.so-turns[data-phase=playing] .kit-menu .kit-btn.so-mbtn{width:auto;min-height:44px;padding:4px 14px 4px 5px;gap:8px}html.so-online .kit-turns.so-turns[data-phase=playing] .kit-menu .so-mbtn-icon{width:32px;height:32px}html.so-online .kit-turns.so-turns[data-phase=playing] .kit-menu .so-mbtn-sub{display:none}html.so-online .kit-turns.so-turns[data-phase=playing] .kit-menu .so-mbtn-label{font-size:14px}html.so-online .kit-turns.so-turns[data-phase=ended] .kit-menu{width:min(420px,100%)}html .kit-turns.so-turns .kit-chat-chips .kit-btn{border-radius:999px;border:1px solid rgba(255,201,74,.45);background:linear-gradient(180deg,#2e9696f2,#186068f2);box-shadow:0 3px #00000059,inset 0 1px #ffffff1f;transition:transform .14s var(--so-bounce)}html .kit-turns.so-turns .kit-chat-chips .kit-btn:hover,html .kit-turns.so-turns .kit-chat-chips .kit-btn.hub-nav-focus{transform:translateY(-2px) scale(1.04);border-color:var(--so-gold)}html .kit-turns.so-turns .kit-chat-chips .kit-btn:active{transform:translateY(2px) scale(.96)}@media(prefers-reduced-motion:reduce){.so-open-face,.so-owait-cards .so-cardpic,html .kit-turns.so-turns .kit-turn-status:before,html .kit-turns.so-turns[data-phase=lobby] .kit-seat,.so-owait,.so-seats-head{animation:none}}html .kit-turns.so-turns .so-mbtn-sub[data-sub]{display:block}html .kit-turns.so-turns .so-mbtn-sub[data-sub]:after{content:attr(data-sub)}html .kit-turns.so-turns .kit-turn-link{display:none}html.so-online .kit-turns.so-turns[data-phase=playing] .kit-seat,html.so-online .kit-turns.so-turns[data-phase=ended] .kit-seat{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:5px 14px;box-sizing:border-box}html.so-online .kit-turns.so-turns .kit-seat>.so-seat-score{margin-left:0}html .kit-turns.so-turns[data-phase=lobby] .kit-seat{padding:8px 14px;gap:10px}
