:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0a15;--panel:#131422;--panel2:#1b1d30;--stroke:#30334a;--text:#f5f4ff;--sub:#999bb5;--volt:#dbff52;--pin:#54e89e;--spin:#f8f8ff}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0}body{-webkit-tap-highlight-color:transparent;font-family:DM Sans,Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit}button:focus-visible,input:focus-visible{outline:2px solid var(--volt);outline-offset:3px}[hidden]{display:none!important}.ambient{pointer-events:none;background:radial-gradient(55% 30% at 51% 0,#a757ff2e,#0000 75%),radial-gradient(30% 28% at 100% 37%,#4fdbe817,#0000),linear-gradient(#0000 97%,#ffffff05 100%) 0 0/100% 36px;position:fixed;inset:0}.shell{max-width:650px;min-height:100dvh;padding:18px 18px max(18px,env(safe-area-inset-bottom));flex-direction:column;margin:0 auto;display:flex;position:relative}.topbar{justify-content:space-between;align-items:center;gap:8px;padding-bottom:22px;display:flex}.home-link{color:var(--sub);letter-spacing:1px;white-space:nowrap;font-size:11px;font-weight:800;text-decoration:none}.home-link:hover{color:var(--volt)}.brand{letter-spacing:-1px;white-space:nowrap;font:700 19px Space Grotesk,sans-serif}.live{color:var(--sub);letter-spacing:.6px;white-space:nowrap;align-items:center;gap:6px;font-size:9px;font-weight:800;display:flex}.live i{background:var(--volt);width:6px;height:6px;box-shadow:0 0 12px var(--volt);border-radius:50%}main{flex:1}.hero{text-align:center;padding:31px 6px 22px}.eyebrow{color:var(--volt);letter-spacing:2px;margin:0 0 12px;font-size:10px;font-weight:900}.spark{vertical-align:middle;font-size:18px}.hero h1{letter-spacing:-2.5px;margin:0 0 16px;font:700 clamp(34px,9vw,59px)/.99 Space Grotesk,sans-serif}.hero h1 em{color:var(--volt);font-style:normal}.hero p{max-width:360px;color:var(--sub);margin:0 auto 24px;font-size:13px;line-height:1.65}.hero-pegs{justify-content:center;gap:14px;display:flex}.peg{color:#121322;border:3px solid #ffffff38;border-radius:50%;place-items:center;width:42px;height:42px;font-size:22px;font-weight:900;display:grid;box-shadow:0 5px 18px #0000004d,inset 0 -4px 8px #00000038}.red{background:#ff5579}.blue{background:#52adff}.yellow{background:#ffdc55}.purple{background:#b987ff}.surface{border:1px solid var(--stroke);background:linear-gradient(145deg,#1f2034f5,#131422fa);border-radius:20px;margin-bottom:16px;padding:20px;box-shadow:0 16px 40px #00000026}.start-panel{padding:16px}.tabbar,.view-tabs{background:#10111f;border:1px solid #292b43;border-radius:12px;gap:5px;margin-bottom:22px;padding:4px;display:flex}.tab,.view-tab{color:var(--sub);letter-spacing:.45px;background:0 0;border:0;border-radius:9px;flex:1;padding:12px 8px;font-size:12px;font-weight:900}.tab.active,.view-tab.active{background:var(--volt);color:#11131b}.field-label{letter-spacing:1.5px;color:#9ea0bd;margin:0 0 9px;font-size:10px;font-weight:900;display:block}.field-help{color:var(--sub);margin:0 0 18px;font-size:12px;line-height:1.5}input[type=text]{width:100%;color:var(--text);background:#111321;border:1px solid #41425b;border-radius:10px;outline:0;margin-bottom:22px;padding:14px 15px;display:block}input[type=text]:focus{border-color:var(--volt)}input[type=text]::placeholder{color:#787b93}.code-input{text-transform:uppercase;letter-spacing:4px;text-align:center;font-weight:800}.mode-title{margin-top:2px}.mode-grid{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:20px;display:grid}.mode-option{text-align:left;border:1px solid var(--stroke);cursor:pointer;background:#101221;border-radius:12px;align-items:center;gap:9px;min-height:83px;padding:13px 10px;display:flex;position:relative}.mode-option.selected{border-color:var(--volt);background:#272e25;box-shadow:inset 0 0 0 1px #dbff5226}.mode-option input{opacity:0;pointer-events:none;position:absolute}.mode-icon{color:var(--volt);text-align:center;width:25px;font-size:22px;font-weight:800}.mode-body{flex-direction:column;gap:5px;display:flex}.mode-body strong{letter-spacing:.45px;font-size:11px}.mode-body small{color:var(--sub);font-size:10px;line-height:1.3}.mode-check{color:var(--volt);font-size:10px;display:none;position:absolute;top:8px;right:9px}.mode-option.selected .mode-check{display:block}.primary-btn,.outline-btn{letter-spacing:.7px;border:1px solid #0000;border-radius:11px;min-height:46px;padding:12px 16px;font-size:12px;font-weight:900;transition:transform .15s,border-color .15s}.primary-btn{background:var(--volt);color:#101319;justify-content:space-between;align-items:center;width:100%;display:flex}.primary-btn:active,.outline-btn:active{transform:scale(.98)}.primary-btn span{font-size:21px;line-height:15px}.outline-btn{color:var(--text);background:0 0;border-color:#54546d}.outline-btn.full{width:100%;margin-top:10px}.outline-btn.small{min-height:36px;padding:9px 12px;font-size:11px}.bottom-note{text-align:center;color:#82849c;margin:18px 0 2px;font-size:10px;font-weight:600}.bottom-note span{color:var(--volt);margin:0 5px}.howto{padding:16px 2px}.section-heading,.panel-title{justify-content:space-between;align-items:center;gap:10px;margin:0 0 18px;display:flex}.section-heading strong,.panel-title h2{letter-spacing:1px;margin:0;font:700 14px Space Grotesk,sans-serif}.section-heading span,.panel-title span{color:var(--sub);letter-spacing:.6px;font-size:10px}.howto-row{align-items:flex-start;gap:16px;margin:0 0 15px;padding:0 4px;display:flex}.howto-number{height:30px;color:var(--volt);background:#242d2b;border-radius:9px;flex:0 0 30px;place-items:center;font-size:12px;font-weight:800;display:grid}.howto-row strong{font-size:13px}.howto-row p{color:var(--sub);margin:3px 0 0;font-size:11px;line-height:1.6}.pin-text{color:var(--pin)}.spin-text{color:var(--spin)}.footer{text-align:center;letter-spacing:2px;color:#73758d;padding:20px 0 5px;font-size:10px;font-weight:800}.footer span{color:var(--volt)}.room-header{justify-content:space-between;align-items:center;padding:12px 2px 20px;display:flex}.room-header h1{letter-spacing:5px;margin:0;font:700 44px Space Grotesk,sans-serif}.room-mode{color:var(--sub);letter-spacing:1px;margin:4px 0;font-size:11px}.player-list{flex-direction:column;gap:9px;margin-bottom:20px;display:flex}.player-item{background:#111323;border:1px solid #34364b;border-radius:12px;align-items:center;gap:11px;padding:12px;display:flex}.player-avatar{width:33px;height:33px;color:var(--volt);background:#2c3150;border-radius:11px;place-items:center;font-size:17px;font-weight:900;display:grid}.player-info{flex:1;min-width:0}.player-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800;overflow:hidden}.player-description{color:var(--sub);margin-top:3px;font-size:10px}.ready-pill{color:var(--pin);font-size:10px;font-weight:900}.ready-pill.wait{color:#ffcf79}.lobby-help{color:var(--sub);margin-bottom:14px;font-size:11px;line-height:1.6}.match-meta{justify-content:space-between;align-items:center;margin:4px 2px 18px;display:flex}.match-meta>div:first-child{flex-direction:column;gap:7px;display:flex}.match-meta span{color:var(--volt);letter-spacing:1.2px;font-size:11px;font-weight:900}.match-meta strong{letter-spacing:-.6px;font:700 22px Space Grotesk,sans-serif}.timer{color:var(--volt);background:#1c2132;border:1px solid #3e4457;border-radius:10px;padding:9px 11px;font:700 27px Space Grotesk,sans-serif}.timer.urgent{color:#ff7891;border-color:#ff7891}.view-tabs{margin-bottom:15px}.view-tab{font-size:11px}.slots{justify-content:center;gap:8px;margin:8px 0 22px;display:flex}.slot{color:#7e829e;background:#101320;border:2px solid #484b66;border-radius:16px;place-items:center;width:clamp(51px,15vw,76px);height:clamp(51px,15vw,76px);font-size:23px;font-weight:900;display:grid;position:relative}.slot.selected{border-color:var(--volt);box-shadow:0 0 0 3px #dbff521f}.slot.filled{border-color:var(--slot-color);background:color-mix(in srgb,var(--slot-color) 18%,#101320);color:var(--slot-color)}.slot-number{color:#8689a4;font:700 9px DM Sans,sans-serif;position:absolute;top:5px;left:7px}.slot-shape{text-shadow:0 0 15px color-mix(in srgb,var(--slot-color) 35%,transparent);font-size:28px}.colors-label{margin-bottom:12px}.color-palette{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-bottom:22px;display:grid}.color-choice{min-height:65px;color:var(--color);background:#111323;border:1px solid #46475d;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:8px 2px;display:flex}.color-choice span{font-size:26px;font-weight:900;line-height:1}.color-choice small{color:#b8b9ca;font-size:9px}.color-choice:hover,.color-choice:focus-visible{border-color:var(--color)}.guess-actions{gap:9px;display:flex}.guess-actions>.outline-btn{flex:0 0 28%}.guess-actions>.primary-btn{flex:1}.history-panel,.results-panel{padding:17px}.guess-list{flex-direction:column;gap:9px;display:flex}.guess-item{background:#101220;border:1px solid #30334a;border-radius:11px;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:10px;display:grid}.guess-id{flex-direction:column;gap:3px;min-width:38px;display:flex}.guess-id b{white-space:nowrap;font-size:10px}.guess-id small{color:var(--sub);font-size:9px}.tiny-pegs{align-items:center;gap:4px;min-width:0;display:flex}.tiny-peg{border:1px solid var(--color);min-width:18px;max-width:32px;height:32px;color:var(--color);background:color-mix(in srgb,var(--color) 18%,#0e1120);border-radius:9px;flex:0 32px;place-items:center;font-size:18px;font-weight:900;display:grid}.score{white-space:nowrap;flex-direction:column;align-items:flex-end;gap:4px;font-size:10px;font-weight:900;display:flex}.score .pin{color:var(--pin)}.score .spin{color:var(--spin)}.score .pending{color:var(--sub)}.empty-state{text-align:center;color:var(--sub);border:1px dashed #404158;border-radius:12px;padding:22px 13px;font-size:12px;line-height:1.7}.round-group{margin:16px 0}.round-group h3{color:var(--volt);letter-spacing:1px;margin:0 0 8px;font-size:11px}.finish-panel{text-align:center;padding:27px 19px}.finish-panel h2{margin:0 0 6px;font:700 31px Space Grotesk,sans-serif}.finish-panel p:not(.eyebrow):not(.field-label){color:var(--sub);margin:0 0 22px;font-size:13px;line-height:1.6}.finish-panel .field-label{margin-top:18px}.answer-slots{margin:0 0 20px}.trophy{color:var(--volt);margin-bottom:8px;font-size:48px;display:block}.leave-link{color:#888ba4;background:0 0;border:0;margin:19px auto;padding:10px;font-size:12px;display:block}.toast{z-index:20;bottom:calc(22px + env(safe-area-inset-bottom));color:#fff;text-align:center;opacity:0;pointer-events:none;background:#35374d;border:1px solid #5e617c;border-radius:12px;min-width:180px;max-width:min(380px,90vw);padding:12px 20px;font-size:12px;line-height:1.5;transition:transform .2s,opacity .2s;position:fixed;left:50%;transform:translate(-50%,14px);box-shadow:0 12px 30px #0008}.toast.show{opacity:1;transform:translate(-50%)}@media (width<=390px){.shell{padding-left:12px;padding-right:12px}.mode-grid{grid-template-columns:1fr}.mode-option{min-height:60px}.color-choice{min-height:58px}.color-choice small{font-size:8px}.tiny-peg{height:26px;font-size:15px}.guess-item{gap:5px;padding:8px}.guess-id{min-width:30px}.live span{display:none}.hero{padding-top:18px}}@media (width>=640px){.shell{padding-top:24px}.hero{padding-top:65px}.mode-option{min-height:90px}.guess-panel{padding:26px}.color-choice{min-height:84px}.howto{padding-top:25px}}.code-board{gap:10px;margin:16px 0;display:grid}.code-row{border:1px solid var(--stroke);background:#101220;border-radius:14px;align-items:center;gap:10px;min-height:72px;padding:12px 10px;display:flex}.code-row.current{background:#251d38;border-color:#b987ff;box-shadow:0 0 16px #b987ff12}.attempt-number{color:var(--sub);text-align:center;width:12px;font-size:12px}.code-slots{flex:1;justify-content:center;align-items:center;gap:9px;display:flex}.code-slots .tiny-peg{background:radial-gradient(circle at 32% 24%,color-mix(in srgb,var(--color) 55%,white),var(--color) 55%,color-mix(in srgb,var(--color) 65%,black));color:#101220aa;border:1px solid #fff5;border-radius:50%;flex:none;width:42px;max-width:none;height:42px;font-size:25px;box-shadow:inset 0 -4px 7px #0005,0 3px 7px #0004}.code-slots .empty-peg{color:#73768f;background:#17192e;border:1px solid #454860;box-shadow:inset 0 3px 6px #0005}.code-slot{background:0 0;border:none;border-radius:50%;place-items:center;min-width:44px;min-height:44px;padding:0;display:grid}.code-slot.selected{outline-offset:3px;outline:2px solid #d1afff}.feedback-dots{flex:none;grid-template-columns:repeat(2,9px);gap:5px;width:23px;display:grid}.feedback-dots i,.board-legend i{background:#353850;border-radius:50%;width:9px;height:9px;display:inline-block}.feedback-dots .pin-dot,.board-legend .pin-dot{background:var(--pin)}.feedback-dots .spin-dot,.board-legend .spin-dot{background:var(--spin)}.code-row>.pending{color:var(--sub);overflow-wrap:anywhere;max-width:32px;font-size:9px}.board-legend{color:#c5c4da;flex-wrap:wrap;justify-content:center;gap:14px;margin:20px 0 12px;font-size:10px;display:flex}.board-legend span{align-items:center;gap:7px;display:flex}.color-palette{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.color-choice{min-height:70px}.color-choice small{font-size:11px}.guess-id b{white-space:normal;overflow-wrap:anywhere;max-width:90px}.player-filter{border:1px solid var(--stroke);width:100%;color:var(--text);font:inherit;background:#101220;border-radius:10px;margin-bottom:14px;padding:12px}.empty-peg{color:#73768f;border-color:#454860}.mode-option:focus-within{outline:2px solid var(--volt);outline-offset:3px}@media (width<=360px){.guess-panel{padding:14px}.code-row{gap:7px;padding:10px 7px}.code-slots{gap:5px}.code-slots .tiny-peg{width:36px;height:36px;font-size:22px}.code-slot{min-width:40px;min-height:44px}}@media (width<=500px){.match-shell .topbar{padding-bottom:12px}.match-shell .room-header{padding:0 2px 10px}.match-shell .room-header .eyebrow{display:none}.match-shell .room-header h1{letter-spacing:3px;font-size:25px}.match-shell .room-mode{font-size:10px}.match-shell .match-meta{margin:4px 2px 12px}.match-shell .match-meta strong{font-size:18px}.match-shell .guess-panel{padding:14px}.match-shell .panel-title{margin-bottom:10px}.match-shell .field-help{margin-bottom:10px;font-size:11px}.match-shell .code-board{gap:8px;margin:10px 0}.match-shell .code-row{min-height:62px;padding-top:8px;padding-bottom:8px}.match-shell .board-legend{margin:12px 0 8px}.match-shell .color-palette{margin-bottom:14px}.match-shell .color-choice{min-height:62px}.match-shell .colors-label{margin-bottom:8px}}:root{--bg:#0d0c22;--panel:#19162f;--panel2:#24203e;--stroke:#42365f;--volt:#ba86ff;--sub:#b0a9c6}.ambient{background:radial-gradient(85% 40% at 0 0,#6021b32b,#0000 80%),radial-gradient(70% 45% at 100% 100%,#7121cc26,#0000 75%)}.shell{max-width:520px}.brand{letter-spacing:-1px;font-size:24px;font-style:italic;font-weight:800}.brand span{color:#c684ff}.home-link{color:#e4dbf5;font-size:12px}.live i{background:#a873ee;box-shadow:0 0 10px #b779ff}.live span{font-size:8px}.surface{background:linear-gradient(135deg,#24203f,#14132c);border-color:#4b3d68}.primary-btn{color:#fff;letter-spacing:0;background:linear-gradient(115deg,#8a32eb,#a735ed);border:1px solid #c685ff;min-height:52px;font-size:16px;box-shadow:0 5px 24px #8e27ea30}.outline-btn{letter-spacing:0;background:linear-gradient(120deg,#332348,#1e1a32);border-color:#9564c4;min-height:48px;font-size:14px}.tab.active,.view-tab.active{color:#fff;background:linear-gradient(115deg,#7e39c5,#a44ce3)}.mode-option.selected{background:linear-gradient(120deg,#3f205c,#21152f);border-color:#c18bff;box-shadow:0 0 0 1px #a95bff60,0 0 20px #9c3ef52b}.player-avatar{color:#e3c5ff;background:#46305e}.ready-pill{background:#1a3a2b;border:1px solid #4fc28b55;border-radius:20px;padding:6px 9px}.ready-pill.wait{color:#c4b6dd;background:#31273f;border-color:#615079}.howto-number{background:#38284e}.slot.selected{box-shadow:0 0 0 3px #b479ff22}.page-title{letter-spacing:-1px;text-align:center;margin:16px 0 24px;font:700 29px Space Grotesk,sans-serif}.back-button{color:#e5d9fa;min-height:42px;font:inherit;background:#30243f;border:1px solid #70518e;border-radius:10px;margin:0 0 4px;padding:9px 15px}.approved-hero{padding:24px 6px 16px}.approved-hero .game-logo{letter-spacing:-3px;white-space:nowrap;margin:8px 0 22px;font-size:clamp(45px,12vw,66px);font-style:italic;font-weight:800;position:relative}.game-logo em{color:#c879ff}.game-logo:after{content:"";filter:drop-shadow(0 0 4px #9f41ff);pointer-events:none;border-bottom:2px solid #c380fa;border-radius:50%;position:absolute;inset:-5px -3px -9px;transform:rotate(-9deg)}.approved-hero .tagline{color:#ede5ff;margin:16px auto 18px;font-size:22px;font-weight:700;line-height:1.35}.players-badge{background:#26183c;border:1px solid #a568d6;border-radius:30px;padding:6px 20px;font-size:13px;font-weight:600;display:inline-block}.home-actions{margin:10px 0 20px}.home-actions .primary-btn,.home-actions .outline-btn{border-radius:15px;justify-content:center;gap:18px;min-height:57px;font-size:21px;display:flex}.home-actions .outline-btn{margin-top:13px}.home-legend{background:#17132c;border:1px solid #564074;border-radius:13px;gap:14px;padding:14px 8px;font-size:10px}.mode-grid{grid-template-columns:1fr;gap:13px;margin:0 0 25px}.mode-option{gap:18px;min-height:94px;padding:16px}.mode-body strong{text-transform:none;letter-spacing:-.4px;font-size:22px}.mode-body small{font-size:12px;line-height:1.5}.mode-check{color:#fff;text-align:center;background:#a64de0;border-radius:50%;width:25px;height:25px;font-size:15px;line-height:25px;top:50%;right:15px;transform:translateY(-50%)}.mode-body{padding-right:16px}.room-form input{background:#18142a;border-color:#654c82}.room-form .field-label{margin-top:10px}.help-screen{padding-top:0}.help-screen h2{margin:0 0 10px;font-size:20px}.help-screen p{color:#c3b9d5;margin:0;font-size:14px;line-height:1.7}.lobby-code{text-align:center;border-color:#a46edd;padding:18px 15px}.lobby-code>strong{letter-spacing:5px;margin-bottom:16px;font:800 44px Space Grotesk,sans-serif;display:block}.invite-actions{gap:10px;display:flex}.invite-actions button{flex:1;min-height:42px;padding:10px 6px;font-size:12px}.lobby-mode{align-items:center;gap:16px;padding:14px;display:flex}.lobby-mode strong{color:#e9d5ff;font-size:18px}.lobby-mode p{color:var(--sub);margin:5px 0 0;font-size:12px}.lobby-help{text-align:center;font-size:13px;line-height:1.5}.player-name{font-size:15px}.player-item{background:#19152b;border-color:#48365e}.leave-link{color:#c69bea}.entry-screen .bottom-note{font-size:12px}.room-header .outline-btn.small{font-size:11px}.footer{letter-spacing:1px;color:#9b8bad}.patterned-peg,.code-slots .patterned-peg{isolation:isolate;background:radial-gradient(circle at 30% 23%,color-mix(in srgb,var(--color) 45%,white),var(--color) 55%,color-mix(in srgb,var(--color) 58%,black));color:#0000;border:1px solid #ffffff70;border-radius:50%;flex-shrink:0;position:relative;overflow:hidden;box-shadow:inset -4px -5px 8px #0005,0 4px 10px #0005}.patterned-peg:before{content:"";background-image:var(--pattern);background-size:var(--pattern-size,16px 16px);opacity:.55;z-index:-1;position:absolute;inset:0}.patterned-peg:after{content:"";background:linear-gradient(#ffffffb0,#fff0);border-radius:50%;position:absolute;inset:7% 22% 55% 12%;transform:rotate(-25deg)}.peg-glyph{visibility:hidden}.patterned-peg.color-0{--pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='16' viewBox='0 0 32 16'%3E%3Cpath d='M-8 8Q0 0 8 8T24 8T40 8' stroke='%23dceeff' stroke-width='5' fill='none'/%3E%3C/svg%3E");--pattern-size:25px 14px}.patterned-peg.color-1{--pattern:conic-gradient(#fff9 25%,transparent 0 50%,#fff9 0 75%,transparent 0);--pattern-size:17px 17px}.patterned-peg.color-2{--pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='32' viewBox='0 0 16 32'%3E%3Cpath d='M8-8Q0 0 8 8T8 24T8 40' stroke='%23c8ffe0' stroke-width='5' fill='none'/%3E%3C/svg%3E");--pattern-size:13px 25px}.patterned-peg.color-3{--pattern:conic-gradient(from 45deg,#fff9 25%,transparent 0 50%,#fff9 0 75%,transparent 0);--pattern-size:16px 16px}.patterned-peg.color-4{--pattern:repeating-linear-gradient(45deg,transparent 0 7px,#fff9 7px 12px);--pattern-size:22px 22px}.patterned-peg.color-5{--pattern:repeating-linear-gradient(0deg,transparent 0 7px,#fff 7px 11px);--pattern-size:22px 22px}.mode-option>.patterned-peg,.lobby-mode>.patterned-peg{flex:none;width:51px;max-width:none;height:51px}.color-choice>.patterned-peg{flex:none;width:34px;max-width:none;height:34px}.color-choice{background:#201a34;border-color:#4b3c64}.color-choice small{color:#e1d9f0}.approved-pegs{width:260px;height:175px;margin:0 auto;display:block;position:relative}.approved-pegs:after{content:"";filter:blur(17px);background:#a348ff40;border-radius:50%;height:30px;position:absolute;bottom:0;left:15px;right:15px}.approved-pegs .patterned-peg{--pattern-size:30px 30px;width:105px;max-width:none;height:105px;position:absolute;box-shadow:inset -7px -10px 20px #0005,0 8px 15px #0007}.approved-pegs .patterned-peg:first-child{top:0;left:32px;transform:rotate(-12deg)}.approved-pegs .patterned-peg:nth-child(2){top:12px;left:131px;transform:rotate(-12deg)}.approved-pegs .patterned-peg:nth-child(3){z-index:1;top:65px;left:4px}.approved-pegs .patterned-peg:nth-child(4){z-index:2;top:75px;left:115px;transform:rotate(-18deg)}@media (width<=360px){.approved-hero .tagline{font-size:20px}.mode-option{gap:12px;padding:13px}.mode-body strong{font-size:20px}.mode-body small{font-size:11px}.mode-option>.patterned-peg{width:43px;height:43px}.brand{font-size:21px}.home-link{font-size:10px}}.approved-hero .bunny-logo{margin:0 -6px 12px;line-height:0}.bunny-logo img{object-fit:contain;width:100%;height:auto;max-height:330px;display:block}.approved-hero:has(.bunny-logo){padding-top:8px}.approved-hero:has(.bunny-logo) .tagline{margin-top:12px}.match-room-bar{color:var(--sub);flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px;font-size:11px;display:flex}.match-room-code{white-space:nowrap}.match-room-code strong{letter-spacing:1px;color:var(--text);margin-left:4px;font-size:12px}.match-room-bar .outline-btn.small{min-height:36px;padding:6px 10px;font-size:11px}.match-room-details{margin-left:auto;font-size:10px}.guess-item .feedback-dots{grid-template-columns:repeat(2,10px);gap:5px;width:25px}.guess-item .feedback-dots i{width:10px;height:10px;box-shadow:inset 0 1px 2px #ffffff30,0 1px 2px #0005}.avatar{border-radius:50%;flex:none;place-items:center;width:36px;max-width:none;height:36px;display:grid}.avatar b{z-index:1;color:#fff;text-shadow:0 1px 3px #000c,0 0 6px #0009;font:800 15px Space Grotesk,sans-serif;position:relative}.avatar-sm{width:26px;height:26px}.avatar-sm b{font-size:11px}.avatar-lg{width:48px;height:48px}.host-badge{color:#ffd76a;letter-spacing:.5px;font-weight:800}.answer-slots .patterned-peg.slot.filled{background:radial-gradient(circle at 30% 23%,color-mix(in srgb,var(--color) 45%,white),var(--color) 55%,color-mix(in srgb,var(--color) 58%,black));border:1px solid #ffffff70;border-radius:50%}.player-item{animation:.35s cubic-bezier(.2,.9,.3,1.2) backwards slide-in}.player-item:nth-child(2){animation-delay:40ms}.player-item:nth-child(3){animation-delay:80ms}.player-item:nth-child(4){animation-delay:.12s}.ready-pill:not(.wait){animation:.3s ease-out pill-pop}.open-seat{opacity:.75;background:0 0;border-style:dashed}.open-seat-icon{color:#c9a6f5;border:1px dashed #8c6bb5;border-radius:50%;place-items:center;width:36px;height:36px;font-size:18px;display:grid}.ready-meter{background:#2a2340;border-radius:6px;height:6px;margin:-4px 0 14px;overflow:hidden}.ready-meter span{background:linear-gradient(90deg,#46d892,#8ef0be);border-radius:6px;height:100%;transition:width .45s;display:block}.mini-boards{scrollbar-width:none;scroll-snap-type:x proximity;gap:8px;margin:0 -2px 14px;padding:2px 2px 6px;display:flex;overflow-x:auto}.mini-boards::-webkit-scrollbar{display:none}.mini-card{scroll-snap-align:start;width:112px;color:var(--text);text-align:left;font:inherit;background:#1b1630;border:1px solid #3d3058;border-radius:14px;flex-direction:column;flex:none;gap:6px;padding:7px 7px 8px;transition:border-color .2s,background .2s,box-shadow .2s;display:flex}.mini-card:active{transform:scale(.97)}.mini-head{align-items:center;gap:5px;min-width:0;display:flex}.mini-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px;font-weight:800;overflow:hidden}.mini-state{letter-spacing:.4px;color:var(--sub);font-size:9px;font-weight:900}.mini-rows{flex-direction:column;gap:3px;display:flex}.mini-row{justify-content:space-between;align-items:center;gap:4px;height:16px;display:flex}.mini-row .tiny-pegs{gap:3px}.mini-row .tiny-peg{border-radius:50%;flex:none;width:15px;min-width:0;max-width:none;height:15px;font-size:0}.mini-row .tiny-peg.patterned-peg{--pattern-size:7px 7px}.mini-row .tiny-peg.patterned-peg:after{display:none}.mini-row .empty-peg{color:#0000;background:#100e22;border:1px solid #3a3054}.mini-row .feedback-dots{grid-template-columns:repeat(2,5px);gap:2px;width:12px}.mini-row .feedback-dots i{width:5px;height:5px}.mini-gap{flex:none;width:12px}.mini-row .sealed-balls{flex:none;gap:3px}.mini-row .sealed-balls i{width:15px;height:15px}.mini-missed{letter-spacing:.5px;color:#8d84a8;text-transform:uppercase;font-size:8px;font-weight:800}.mini-card.me{border-color:#7b58a8}.mini-card.turn{background:#31204d;border-color:#c18bff;box-shadow:0 0 14px #a95bff40}.mini-card.turn .mini-state{color:#e2c8ff;animation:1.2s ease-in-out infinite blink}.mini-card.in{border-color:#4fc28b88}.mini-card.in .mini-state{color:var(--pin)}.mini-card.thinking .mini-state{color:#ffd78a}.mini-card.won{background:#3a2d17;border-color:#ffd76a;box-shadow:0 0 14px #ffd76a30}.mini-card.left{opacity:.45}.avatar-xs{width:18px;height:18px}.avatar-xs b{font-size:9px}@media (width<=360px){.mini-card{width:104px}.mini-row .tiny-peg,.mini-row .sealed-balls i{width:13px;height:13px}}.code-row.current .code-slot.selected{animation:1.4s ease-in-out infinite ring}.code-row.current .patterned-peg{animation:.28s cubic-bezier(.3,1.6,.5,1) peg-pop}.code-row.played{animation:.4s ease-out row-lock}.feedback-dots .pin-dot,.feedback-dots .spin-dot{animation:.35s cubic-bezier(.3,1.7,.5,1) backwards dot-in;animation-delay:calc(var(--i,0) * 90ms + .15s)}.color-choice{transition:transform .12s,border-color .15s,background .15s}.color-choice:not(:disabled):active{transform:scale(.93)}.timer.urgent{animation:1s ease-in-out infinite urgent}.view-tab{transition:background .2s,color .2s}.finish-panel{position:relative;overflow:hidden}.winner-banner{text-align:center;position:relative}.winner-banner .trophy{margin-bottom:10px;font-size:52px;line-height:1;animation:.7s cubic-bezier(.3,1.6,.5,1) both trophy}.winner-banner h2{margin:0 0 10px;font:700 31px Space Grotesk,sans-serif;animation:.5s ease-out .15s both rise}.winner-banner.has-winner h2{background:linear-gradient(90deg,#ffe28a,#fff,#d7a8ff);color:#0000;-webkit-background-clip:text;background-clip:text}.winner-list{margin-bottom:6px;animation:.5s ease-out .25s both rise}.winner-chips{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.winner-chip{background:#3a2d17;border:1px solid #ffd76a88;border-radius:30px;align-items:center;gap:8px;padding:5px 12px 5px 5px;font-size:14px;font-weight:800;display:inline-flex}.winner-list p,.winner-note{color:var(--sub);margin:8px 0 4px;font-size:13px}.winner-banner .field-label{margin-top:18px}.secret-reveal{perspective:600px;justify-content:center;gap:12px;margin:4px 0 22px;display:flex}.secret-ball .patterned-peg{--pattern-size:18px 18px;flex:none;width:56px;max-width:none;height:56px}.secret-ball{animation:.6s cubic-bezier(.3,1.4,.5,1) both flip-in;animation-delay:calc(.35s + var(--i) * .18s);display:block}.confetti{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.confetti i{opacity:0;border-radius:2px;width:7px;height:12px;animation:2.6s cubic-bezier(.2,.6,.4,1) forwards confetti;position:absolute;top:-14px}.confetti i.wide{width:11px;height:6px}.winner-banner>:not(.confetti){z-index:1;position:relative}body.board-open{overflow:hidden}.board-screen{z-index:15;overscroll-behavior:contain;padding:max(14px,env(safe-area-inset-top)) 14px max(24px,env(safe-area-inset-bottom));background:radial-gradient(80% 40% at 0 0,#6021b33a,#0000 80%),radial-gradient(70% 45% at 100% 100%,#7121cc30,#0000 75%),#0d0c22;animation:.3s cubic-bezier(.2,.8,.3,1) board-in;position:fixed;inset:0;overflow-y:auto}.board-head{flex-wrap:wrap;align-items:center;gap:10px;max-width:1400px;margin:0 auto 12px;display:flex}.board-nav{gap:8px;width:100%;display:flex}.board-back,.board-fs{color:#e5d9fa;background:#30243f;border:1px solid #70518e;border-radius:10px;min-height:40px;padding:8px 14px;font-weight:700}.board-fs{margin-left:auto;padding:6px 12px;font-size:18px}.board-title{flex:1;min-width:0}.board-title h1{letter-spacing:-.8px;margin:6px 0 2px;font:700 26px Space Grotesk,sans-serif}.board-title p{color:var(--sub);margin:0;font-size:12px}.board-timer{font-size:26px}.board-status{flex-wrap:wrap;align-items:center;gap:8px 12px;max-width:1400px;margin:0 auto 14px;display:flex}.status-pill{color:#e2c8ff;letter-spacing:1px;background:#2e2048;border:1px solid #8c5ccd;border-radius:30px;padding:6px 12px;font-size:11px;font-weight:900}.status-pill.done{color:#ffd76a;background:#3a2d17;border-color:#ffd76a88}.status-text{color:var(--sub);flex:1;min-width:180px;font-size:12px}.board-legend.inline{gap:12px;margin:0}.board-screen .winner-banner{background:linear-gradient(135deg,#2d2340,#16132b);border:1px solid #ffd76a55;border-radius:20px;max-width:1400px;margin:0 auto 16px;padding:22px 16px;overflow:hidden}.board-screen .winner-banner.no-winner{border-color:#4b3d68}.board-screen .winner-banner .primary-btn{max-width:420px;margin:0 auto}.winner-banner.compact .trophy{font-size:40px}.winner-banner.compact h2{font-size:27px}.lane-filter{scrollbar-width:none;gap:6px;max-width:1400px;margin:0 auto 14px;padding-bottom:2px;display:flex;overflow-x:auto}.lane-filter::-webkit-scrollbar{display:none}.lane-filter button{color:#d9cdee;background:#1b1630;border:1px solid #4b3c64;border-radius:30px;flex:none;min-height:36px;padding:8px 14px;font-size:12px;font-weight:700}.lane-filter button.on{color:#fff;background:linear-gradient(115deg,#7e39c5,#a44ce3);border-color:#c685ff}.board-screen .empty-state{max-width:1400px;margin:0 auto 14px}.lanes{grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));align-items:start;gap:12px;max-width:1400px;margin:0 auto;display:grid}.lane{background:linear-gradient(135deg,#24203f,#14132c);border:1px solid #4b3d68;border-radius:18px;padding:12px;transition:border-color .3s,box-shadow .3s}.lane.turn{border-color:#c18bff;box-shadow:0 0 22px #a95bff35}.lane.won{border-color:#ffd76a;box-shadow:0 0 26px #ffd76a30}.lane.left{opacity:.55}.lane-head{align-items:center;gap:10px;margin-bottom:10px;display:flex}.lane-name{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.lane-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.lane-name small{letter-spacing:.8px;color:var(--sub);font-size:10px;font-weight:900}.lane.won .lane-name small{color:#ffd76a}.lane.turn .lane-name small{color:#e2c8ff}.lane-rows{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.lane-row{animation:.45s cubic-bezier(.2,.9,.3,1.1) backwards flip-row;animation-delay:calc(var(--i,0) * 60ms);background:#100e22;border:1px solid #33294d;border-radius:12px;align-items:center;gap:9px;padding:7px 9px;display:flex}.lane-try{color:var(--sub);flex:none;width:24px;font-size:10px;font-weight:900}.lane-row .tiny-pegs{flex:1;gap:6px}.lane-row .tiny-peg{flex:none;width:30px;max-width:none;height:30px}.lane-row .feedback-dots{grid-template-columns:repeat(2,12px);gap:5px;width:29px}.lane-row .feedback-dots i{width:12px;height:12px;box-shadow:inset 0 1px 2px #ffffff30,0 1px 2px #0005}.count-missed{letter-spacing:.8px;color:var(--sub);flex:none;font-size:9px;font-weight:900}.missed-row{color:#8d84a8;flex:1;font-size:11px;font-style:italic}.sealed-row{border-style:dashed;animation:none}.sealed-balls{flex:1;gap:6px;display:flex}.sealed-balls i{background:repeating-linear-gradient(45deg,#2b2343 0 5px,#352b52 5px 10px);border:1px solid #5a4880;border-radius:50%;width:30px;height:30px;animation:1.6s ease-in-out infinite shimmer}.lane-empty{color:#8d84a8;padding:8px 2px;font-size:12px}@media (width<=360px){.lane-row .tiny-peg,.lane-row .sealed-balls i{width:26px;height:26px}.board-title h1{font-size:22px}}@media (width>=1100px){.board-screen{padding:28px 36px}.board-title h1{font-size:40px}.board-title p,.status-text{font-size:16px}.status-pill{padding:8px 16px;font-size:14px}.board-timer{padding:10px 18px;font-size:40px}.lanes{grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:18px}.lane{padding:18px}.lane-name strong{font-size:20px}.lane-row .tiny-peg,.lane-row .sealed-balls i{width:42px;height:42px}.lane-try{width:32px;font-size:13px}.secret-ball .patterned-peg{width:76px;height:76px}}@keyframes slide-in{0%{opacity:0;transform:translateY(10px)scale(.98)}}@keyframes pill-pop{50%{transform:scale(1.12)}}@keyframes peg-pop{0%{opacity:.3;transform:scale(.4)}}@keyframes ring{50%{outline-offset:6px;outline-color:#d1afff00}}@keyframes row-lock{40%{border-color:#c18bff;transform:scale(1.015)}}@keyframes dot-in{0%{opacity:0;transform:scale(0)}}@keyframes urgent{50%{transform:scale(1.06);box-shadow:0 0 18px #ff789166}}@keyframes blink{50%{opacity:.55}}@keyframes trophy{0%{opacity:0;transform:scale(.2)rotate(-25deg)}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}@keyframes flip-in{0%{opacity:0;transform:rotateY(90deg)scale(.6)}}@keyframes flip-row{0%{opacity:0;transform:rotateX(70deg)}}@keyframes board-in{0%{opacity:0;transform:translateY(24px)}}@keyframes shimmer{50%{opacity:.55}}@keyframes confetti{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translate(var(--drift),420px) rotate(var(--spin))}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.confetti{display:none}}.code-row>.pending{white-space:nowrap;overflow-wrap:normal;letter-spacing:.6px;color:#cdb8ef;background:#2a2142;border-radius:8px;max-width:none;padding:4px 6px;font-size:8px;font-weight:900}@media (width<=480px){.board-title h1{font-size:clamp(20px,6.2vw,26px)}}.ready-pill.away{color:#ffb38a;background:#3a2318;border-color:#ff9a6a66}.remove-btn{color:#ff9ab4;background:#2c1a2a;border:1px solid #7a4a64;border-radius:10px;flex:none;width:36px;height:36px;font-weight:900}.remove-btn:active{transform:scale(.94)}.mini-card.away{border-style:dashed;border-color:#ff9a6a88}.mini-card.away .mini-state{color:#ffb38a}.lane.away{border-style:dashed;border-color:#ff9a6a88}.lane.away .lane-name small{color:#ffb38a}.sheet-backdrop{z-index:18;background:#05040fcc;justify-content:center;align-items:flex-end;padding:12px;animation:.2s fade-in;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:520px;max-height:80dvh;margin-bottom:max(0px,env(safe-area-inset-bottom));animation:.25s cubic-bezier(.2,.8,.3,1) board-in;overflow-y:auto}.sheet-close{color:#e5d9fa;background:#30243f;border:1px solid #70518e;border-radius:10px;width:36px;height:36px}@keyframes fade-in{0%{opacity:0}}input[type=email],input[type=password]{width:100%;color:var(--text);background:#18142a;border:1px solid #654c82;border-radius:10px;outline:0;margin-bottom:22px;padding:14px 15px;display:block}input[type=email]:focus,input[type=password]:focus{border-color:var(--volt)}.account-bar{color:var(--sub);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 12px;margin:-6px 0 16px;font-size:13px;display:flex}.account-status strong{color:var(--text)}.link-btn{color:#d9b6ff;text-underline-offset:3px;background:0 0;border:0;padding:6px 2px;font-weight:800;text-decoration:underline}.account-note{text-align:center;color:var(--sub);margin:-10px 0 18px;font-size:13px;line-height:1.5}.playing-as{background:#18142a;border:1px solid #654c82;border-radius:12px;flex-direction:column;gap:4px;margin:4px 0 22px;padding:14px 15px;display:flex}.playing-as .field-label{margin:0}.playing-as strong{font-size:18px}.playing-as small{color:var(--sub);font-size:11px}.form-error{color:#ff9ab4;margin:-8px 0 14px;font-size:13px}.account-sent{text-align:center}.account-sent h2{margin:6px 0 10px;font:700 24px Space Grotesk,sans-serif}.account-sent p{color:var(--sub);font-size:14px;line-height:1.6}.account-icon{font-size:40px}.version-alert{top:max(10px,env(safe-area-inset-top,0px));z-index:100000;width:min(720px,100vw - 20px);color:var(--text);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:radial-gradient(circle at 0 0,#a95bff2e,#0000 42%),#1a1530fa;border:1px solid #c18bffa0;border-radius:14px;align-items:center;gap:14px;padding:12px 14px;animation:.35s ease-out rise;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 12px 34px #0000007a,inset 0 1px #ffffff0a}.version-alert__copy{flex:1;gap:3px;min-width:0;display:grid}.version-alert__copy strong{color:#e2c8ff;font:700 16px Space Grotesk,sans-serif}.version-alert__copy span{color:#cfc4e4;font-size:11px;line-height:1.45}.version-alert button{color:#fff;letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(115deg,#8a32eb,#a735ed);border:1px solid #c685ff;border-radius:10px;flex:none;min-height:40px;padding:0 14px;font-size:11px;font-weight:800}.version-alert button:disabled{opacity:.65;cursor:wait}@media (width<=600px){.version-alert{flex-direction:column;align-items:stretch;gap:9px}.version-alert button{width:100%}}.patterned-peg,.code-slots .patterned-peg,.answer-slots .patterned-peg.slot.filled{border-radius:50%;background:var(--ball) center/100% 100% no-repeat!important;border:0!important;box-shadow:0 3px 6px #0007!important}.patterned-peg:before,.patterned-peg:after,.mini-row .tiny-peg.patterned-peg:after{display:none!important}.patterned-peg.color-0{--ball:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20100%20100'%3e%3cdefs%3e%3cradialGradient%20id='b'%20cx='36%25'%20cy='30%25'%20r='75%25'%3e%3cstop%20offset='0'%20stop-color='%237cc6ff'/%3e%3cstop%20offset='.5'%20stop-color='%231466f2'/%3e%3cstop%20offset='1'%20stop-color='%2306248a'/%3e%3c/radialGradient%3e%3cradialGradient%20id='s'%20cx='42%25'%20cy='36%25'%20r='64%25'%3e%3cstop%20offset='.55'%20stop-color='%23000'%20stop-opacity='0'/%3e%3cstop%20offset='1'%20stop-color='%23000'%20stop-opacity='.42'/%3e%3c/radialGradient%3e%3clinearGradient%20id='h'%20x1='0'%20y1='0'%20x2='0'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%23fff'%20stop-opacity='.95'/%3e%3cstop%20offset='1'%20stop-color='%23fff'%20stop-opacity='.05'/%3e%3c/linearGradient%3e%3cclipPath%20id='c'%3e%3ccircle%20cx='50'%20cy='50'%20r='45.5'/%3e%3c/clipPath%3e%3c/defs%3e%3ccircle%20cx='50'%20cy='50'%20r='49.5'%20fill='%231a0f3f'/%3e%3ccircle%20cx='50'%20cy='50'%20r='45.5'%20fill='url(%23b)'/%3e%3cg%20clip-path='url(%23c)'%20opacity='0.95'%3e%3cg%20transform='rotate(-14%2050%2050)'%20fill='none'%20stroke='%234fc0ff'%20stroke-width='6'%20stroke-linecap='round'%3e%3cpath%20d='M-20%204%20Q-12.5%20-5%20-5%204%20T10%204%20Q17.5%20-5%2025%204%20T40%204%20Q47.5%20-5%2055%204%20T70%204%20Q77.5%20-5%2085%204%20T100%204%20Q107.5%20-5%20115%204%20T130%204'/%3e%3cpath%20d='M-20%2019%20Q-12.5%2010%20-5%2019%20T10%2019%20Q17.5%2010%2025%2019%20T40%2019%20Q47.5%2010%2055%2019%20T70%2019%20Q77.5%2010%2085%2019%20T100%2019%20Q107.5%2010%20115%2019%20T130%2019'/%3e%3cpath%20d='M-20%2034%20Q-12.5%2025%20-5%2034%20T10%2034%20Q17.5%2025%2025%2034%20T40%2034%20Q47.5%2025%2055%2034%20T70%2034%20Q77.5%2025%2085%2034%20T100%2034%20Q107.5%2025%20115%2034%20T130%2034'/%3e%3cpath%20d='M-20%2049%20Q-12.5%2040%20-5%2049%20T10%2049%20Q17.5%2040%2025%2049%20T40%2049%20Q47.5%2040%2055%2049%20T70%2049%20Q77.5%2040%2085%2049%20T100%2049%20Q107.5%2040%20115%2049%20T130%2049'/%3e%3cpath%20d='M-20%2064%20Q-12.5%2055%20-5%2064%20T10%2064%20Q17.5%2055%2025%2064%20T40%2064%20Q47.5%2055%2055%2064%20T70%2064%20Q77.5%2055%2085%2064%20T100%2064%20Q107.5%2055%20115%2064%20T130%2064'/%3e%3cpath%20d='M-20%2079%20Q-12.5%2070%20-5%2079%20T10%2079%20Q17.5%2070%2025%2079%20T40%2079%20Q47.5%2070%2055%2079%20T70%2079%20Q77.5%2070%2085%2079%20T100%2079%20Q107.5%2070%20115%2079%20T130%2079'/%3e%3cpath%20d='M-20%2094%20Q-12.5%2085%20-5%2094%20T10%2094%20Q17.5%2085%2025%2094%20T40%2094%20Q47.5%2085%2055%2094%20T70%2094%20Q77.5%2085%2085%2094%20T100%2094%20Q107.5%2085%20115%2094%20T130%2094'/%3e%3c/g%3e%3c/g%3e%3ccircle%20cx='50'%20cy='50'%20r='45.5'%20fill='url(%23s)'/%3e%3cpath%20d='M22%2076%20A36%2036%200%200%200%2082%2070'%20fill='none'%20stroke='%23fff'%20stroke-opacity='.28'%20stroke-width='3'%20stroke-linecap='round'/%3e%3cellipse%20cx='35'%20cy='23'%20rx='15'%20ry='7.5'%20transform='rotate(-24%2035%2023)'%20fill='url(%23h)'/%3e%3ccircle%20cx='50'%20cy='50'%20r='45.5'%20fill='none'%20stroke='%23fff'%20stroke-opacity='.3'%20stroke-width='1.2'/%3e%3c/svg%3e")}.patterned-peg.color-1{--ball:url(/assets/ball-1-red-CCTBmuH6.svg)}.patterned-peg.color-2{--ball:url(/assets/ball-2-green-CB3YRZWH.svg)}.patterned-peg.color-3{--ball:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20100%20100'%3e%3cdefs%3e%3cradialGradient%20id='b'%20cx='36%25'%20cy='30%25'%20r='75%25'%3e%3cstop%20offset='0'%20stop-color='%23fff3a0'/%3e%3cstop%20offset='.5'%20stop-color='%23ffc010'/%3e%3cstop%20offset='1'%20stop-color='%23a86200'/%3e%3c/radialGradient%3e%3cradialGradient%20id='s'%20cx='42%25'%20cy='36%25'%20r='64%25'%3e%3cstop%20offset='.55'%20stop-color='%23000'%20stop-opacity='0'/%3e%3cstop%20offset='1'%20stop-color='%23000'%20stop-opacity='.42'/%3e%3c/radialGradient%3e%3clinearGradient%20id='h'%20x1='0'%20y1='0'%20x2='0'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%23fff'%20stop-opacity='.95'/%3e%3cstop%20offset='1'%20stop-color='%23fff'%20stop-opacity='.05'/%3e%3c/linearGradient%3e%3cclipPath%20id='c'%3e%3ccircle%20cx='50'%20cy='50'%20r='45.5'/%3e%3c/clipPath%3e%3c/defs%3e%3ccircle%20cx='50'%20cy='50'%20r='49.5'%20fill='%231a0f3f'/%3e%3ccircle%20cx='50'%20cy='50'%20r='45.5'%20fill='url(%23b)'/%3e%3cg%20clip-path='url(%23c)'%20opacity='0.85'%3e%3cpath%20d='M50%2052%20L140%2052%20L131.1%2091Z%20M50%2052%20L106.1%20122.4%20L70%20139.7Z%20M50%2052%20L30%20139.7%20L-6.1%20122.4Z%20M50%2052%20L-31.1%2091%20L-40%2052Z%20M50%2052%20L-31.1%2013%20L-6.1%20-18.4Z%20M50%2052%20L30%20-35.7%20L70%20-35.7Z%20M50%2052%20L106.1%20-18.4%20L131.1%2013Z'%20fill='%23ffe55c'/%3e%3c/g%3e%3ccircle%20cx='50'%20cy='50'%20r='45.5'%20fill='url(%23s)'/%3e%3cpath%20d='M22%2076%20A36%2036%200%200%200%2082%2070'%20fill='none'%20stroke='%23fff'%20stroke-opacity='.28'%20stroke-width='3'%20stroke-linecap='round'/%3e%3cellipse%20cx='35'%20cy='23'%20rx='15'%20ry='7.5'%20transform='rotate(-24%2035%2023)'%20fill='url(%23h)'/%3e%3ccircle%20cx='50'%20cy='50'%20r='45.5'%20fill='none'%20stroke='%23fff'%20stroke-opacity='.3'%20stroke-width='1.2'/%3e%3c/svg%3e")}.patterned-peg.color-4{--ball:url(/assets/ball-4-purple-DdgLcqPl.svg)}.patterned-peg.color-5{--ball:url(/assets/ball-5-white-Dx52aHeR.svg)}.mini-row .patterned-peg{box-shadow:none!important}.avatar b{text-shadow:0 1px 3px #000,0 0 8px #000c}.avatar.color-5 b,.avatar.color-3 b{color:#1a1430;text-shadow:0 0 6px #fff}.announce{z-index:30;pointer-events:none;text-align:center;background:linear-gradient(135deg,#3a1d63f2,#1b1433f2);border:1px solid #c18bff;border-radius:22px;flex-direction:column;align-items:center;gap:6px;min-width:220px;padding:20px 30px;animation:2.2s cubic-bezier(.2,.9,.3,1.2) both announce;display:flex;position:fixed;top:28%;left:50%;transform:translate(-50%);box-shadow:0 18px 50px #000a,0 0 40px #a95bff55}.announce strong{letter-spacing:-1px;background:linear-gradient(90deg,#fff,#e2c8ff);color:#0000;-webkit-background-clip:text;background-clip:text;font:800 34px Space Grotesk,sans-serif}.announce span{color:#d9cdee;font-size:13px}@keyframes announce{0%{opacity:0;transform:translate(-50%)scale(.7)}12%{opacity:1;transform:translate(-50%)scale(1.04)}20%{transform:translate(-50%)scale(1)}85%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%)scale(.96)}}@media (prefers-reduced-motion:reduce){.announce{animation:none!important}}.topbar-right{align-items:center;gap:10px;display:flex}.sound-toggle{background:#221a38;border:1px solid #5b4580;border-radius:10px;place-items:center;width:34px;height:34px;padding:0;font-size:16px;line-height:1;display:grid}.sound-toggle[aria-pressed=false]{opacity:.7}.tv-button{margin-top:12px}.tv-link-box{word-break:break-all;color:#d9cdee;background:#100e22;border:1px solid #4b3d68;border-radius:10px;margin:0 0 14px;padding:10px 12px;font:12px/1.5 ui-monospace,Menlo,monospace}.tv-sheet-actions{gap:10px;margin-bottom:10px;display:flex}.tv-sheet-actions .primary-btn{flex:1}.tv-open{flex:0 0 34%;justify-content:center;align-items:center;text-decoration:none;display:flex}.field-help.small{margin:0;font-size:11px}.tv{min-height:100dvh;padding:max(2vw,env(safe-area-inset-top)) 3vw 3vw;color:var(--text);position:relative}.tv-top{align-items:center;gap:2vw;margin-bottom:2vw;display:flex;position:relative}.tv-top .brand{font-size:clamp(26px,2.6vw,54px)}.tv-room{color:var(--sub);font-size:clamp(15px,1.4vw,30px)}.tv-room strong{color:#fff;letter-spacing:.14em;margin-left:.3em}.tv-badge{letter-spacing:.1em;color:#e2c8ff;background:#2e2048;border:1px solid #8c5ccd;border-radius:30px;margin-left:auto;padding:.5em 1.1em;font-size:clamp(11px,.9vw,18px);font-weight:900}.tv-message{text-align:center;margin-top:16vh;position:relative}.tv-message h1{margin:0 0 1vw;font:700 clamp(30px,3.4vw,70px) Space Grotesk,sans-serif}.tv-message p{color:var(--sub);max-width:60vw;margin:0 auto;font-size:clamp(16px,1.5vw,30px);line-height:1.5}.tv-lobby{gap:2.2vw;display:grid;position:relative}.tv-join{background:linear-gradient(135deg,#2a1f48,#15122b);border:1px solid #a46edd;border-radius:28px;justify-content:space-between;align-items:center;gap:4vw;padding:1.8vw 3vw;display:flex;box-shadow:0 0 50px #9c3ef525}.tv-kicker{color:#e2c8ff;margin:0;font-size:clamp(16px,1.6vw,34px);font-weight:800}.tv-code{letter-spacing:.12em;margin:.15em 0 .1em;font:800 clamp(56px,8vw,170px)/1 Space Grotesk,sans-serif;display:block}.tv-url{color:#fff;margin:0;font-size:clamp(18px,1.8vw,38px);font-weight:700}.tv-hint{color:var(--sub);margin:.6vw 0 0;font-size:clamp(14px,1.2vw,24px)}.qr{background:#fff;border-radius:22px;flex:none;width:clamp(160px,16vw,340px);padding:clamp(10px,1vw,20px);box-shadow:0 10px 40px #0008}.qr svg{width:100%;height:auto;display:block}.tv-mode{align-items:center;gap:1.4vw;display:flex}.tv-mode .patterned-peg{flex:none;width:clamp(44px,4vw,80px);max-width:none;height:clamp(44px,4vw,80px)}.tv-mode strong{font:700 clamp(22px,2.2vw,46px) Space Grotesk,sans-serif;display:block}.tv-mode span{color:var(--sub);font-size:clamp(14px,1.3vw,26px)}.tv-players{grid-template-columns:repeat(auto-fill,minmax(clamp(104px,8.3vw,230px),1fr));gap:1vw;display:grid}.tv-player{background:linear-gradient(135deg,#24203f,#14132c);border:1px solid #4b3d68;border-radius:22px;flex-direction:column;align-items:center;gap:.6vw;padding:1.2vw .6vw;animation:.4s cubic-bezier(.2,.9,.3,1.2) backwards slide-in;display:flex}.tv-player .avatar-lg{width:clamp(48px,4.4vw,100px);height:clamp(48px,4.4vw,100px)}.tv-player .avatar-lg b{font-size:clamp(22px,2.2vw,46px)}.tv-player strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:clamp(15px,1.3vw,30px);overflow:hidden}.tv-player span{letter-spacing:.1em;color:var(--sub);font-size:clamp(11px,.95vw,20px);font-weight:900}.tv-player.ready{border-color:#4fc28b;box-shadow:0 0 24px #4fc28b30}.tv-player.ready span{color:var(--pin)}.tv-player.away{border-style:dashed;border-color:#ff9a6a88}.tv-player.empty{opacity:.6;background:0 0;border-style:dashed}.tv-empty-seat{color:#c9a6f5;border:2px dashed #8c6bb5;border-radius:50%;place-items:center;width:clamp(56px,5.5vw,116px);height:clamp(56px,5.5vw,116px);font-size:clamp(24px,2.4vw,50px);display:grid}.tv-status{text-align:center;color:#e2c8ff;margin:.5vw 0 0;font-size:clamp(18px,1.8vw,38px);font-weight:700}.tv .board-screen{z-index:auto;background:0 0;padding:0;animation:none;position:relative;inset:auto;overflow:visible}.tv .board-head,.tv .board-status,.tv .lanes,.tv .winner-banner{max-width:none}.tv-board-kicker{letter-spacing:.08em;width:100%;color:var(--sub);text-transform:uppercase;font-size:clamp(12px,1vw,20px);font-weight:800}.tv-start{z-index:40;color:#fff;background:linear-gradient(115deg,#8a32eb,#a735ed);border:1px solid #c685ff;border-radius:16px;padding:1em 1.6em;font-size:clamp(14px,1.1vw,22px);font-weight:800;position:fixed;bottom:2.5vw;right:2.5vw;box-shadow:0 10px 30px #0008}.announce-tv{border-radius:32px;padding:2vw 4vw;top:32%}.announce-tv strong{font-size:clamp(48px,6vw,120px)}.announce-tv span{font-size:clamp(16px,1.6vw,32px)}@media (width<=800px){.tv-join{text-align:center;flex-direction:column}}.tv-pair{grid-template-columns:1.1fr 1fr;align-items:center;gap:3vw;margin-top:4vh;display:grid;position:relative}.tv-pair-main{text-align:center;background:linear-gradient(135deg,#2a1f48,#15122b);border:1px solid #a46edd;border-radius:28px;padding:3vw 2vw;box-shadow:0 0 50px #9c3ef525}.tv-pair-code{justify-content:center;gap:1.2vw;margin:1.6vw 0 1vw;display:flex}.tv-pair-code span{aspect-ratio:3/4;color:#fff;background:#100e22;border:2px solid #c685ff;border-radius:20px;place-items:center;width:clamp(64px,8.5vw,180px);font:800 clamp(48px,7vw,150px)/1 Space Grotesk,sans-serif;display:grid;box-shadow:inset 0 0 30px #9c3ef530,0 0 30px #9c3ef540}.tv-pair-timer{color:var(--sub);margin:0;font-size:clamp(14px,1.2vw,24px)}.tv-pair-problem{color:#ffb3b8;margin:1vw 0 0;font-size:clamp(14px,1.2vw,24px)}.tv-pair-steps ol{color:var(--text);margin:0 0 2.4vw;padding-left:1.4em;font-size:clamp(16px,1.6vw,34px);line-height:1.5}.tv-pair-steps li{margin-bottom:.5em}.tv-pair-scan{color:var(--sub);align-items:center;gap:1.6vw;font-size:clamp(13px,1.1vw,22px);line-height:1.5;display:flex}.tv-pair-scan .qr{width:clamp(110px,10vw,220px)}.tv-pair-scan strong{color:var(--text)}.tv-change{width:auto;margin:2vw auto 0;padding:.9em 1.8em;font-size:clamp(14px,1.2vw,24px);display:inline-flex}@media (aspect-ratio<=1){.tv-pair{grid-template-columns:1fr}}.tv-pair-form{margin-bottom:12px}.tv-pair-address{color:#e2c8ff;white-space:nowrap}.tv-pair-input{gap:10px;margin:10px 0 8px;display:flex}.tv-pair-input input{text-align:center;letter-spacing:.35em;text-transform:uppercase;color:#fff;background:#100e22;border:1px solid #7a5aa8;border-radius:12px;flex:1;min-width:0;padding:12px 8px 12px calc(8px + .35em);font:800 26px/1 Space Grotesk,sans-serif}.tv-pair-input input:focus{outline-offset:1px;outline:2px solid #c685ff}.tv-pair-input .primary-btn{flex:none;width:auto;padding-inline:18px}.tv-pair-input .primary-btn:disabled{opacity:.5}.tv-pair-ok{color:#7dffa1;margin:4px 0 8px;font-size:14px;font-weight:800}.tv-pair-error{color:#ffb3b8;margin:4px 0 8px;font-size:14px}.tv-link-toggle{color:#d9b8ff;cursor:pointer;background:0 0;border:0;margin:0 auto 10px;padding:6px;font-size:13px;text-decoration:underline;display:block}html.tv-fit,html.tv-fit body{height:100%;overflow:hidden}html.tv-fit .tv{flex-direction:column;height:100dvh;min-height:0;padding:1.2vw 1.8vw 1.4vw;display:flex;overflow:hidden}html.tv-fit .tv-top{gap:1.6vw;margin-bottom:.8vw}html.tv-fit .tv-top .brand{font-size:clamp(22px,2vw,44px)}.tvb{flex-direction:column;flex:1 1 0;gap:.8vw;min-height:0;display:flex;position:relative}.tvb-status{flex-wrap:nowrap;align-items:center;gap:1.2vw;min-height:0;display:flex}.tvb-status .status-pill{white-space:nowrap;padding:.45em 1.1em;font-size:clamp(11px,.95vw,20px)}.tvb-mode{color:#fff;font:700 clamp(14px,1.3vw,28px) Space Grotesk,sans-serif}.tvb-note{color:var(--sub);white-space:nowrap;font-size:clamp(12px,1.1vw,24px)}.tvb-legend{color:var(--sub);gap:1vw;font-size:clamp(11px,.95vw,20px);display:flex}.tvb-legend span{align-items:center;gap:.4em;display:inline-flex}.tvb-legend i{border-radius:50%;width:.8em;height:.8em;display:inline-block}.tvb-legend .pin-dot{background:var(--pin,#4ee49a)}.tvb-legend .spin-dot{background:#f4f1ff}.tvb-timer{font-variant-numeric:tabular-nums;background:#100e22;border:1px solid #4b3d68;border-radius:14px;margin-left:auto;padding:.15em .55em;font:800 clamp(22px,2.6vw,56px)/1 Space Grotesk,sans-serif}.tvb-timer.urgent{color:#ff6b7a;border-color:#ff6b7a}.tvb-result{background:linear-gradient(135deg,#2a1f48,#15122b);border:1px solid #6a5394;border-radius:20px;flex:none;align-items:center;gap:2vw;padding:.7vw 2vw;display:flex;position:relative;overflow:hidden}.tvb-result.has-winner{border-color:#ffd76a99;box-shadow:0 0 40px #ffd76a22}.tvb-trophy{font-size:clamp(30px,3.2vw,68px);line-height:1}.tvb-result-text{flex-direction:column;gap:.35vw;min-width:0;display:flex}.tvb-result-text strong{letter-spacing:.02em;font:800 clamp(20px,2.2vw,48px)/1 Space Grotesk,sans-serif}.tvb-winners{color:var(--sub);flex-wrap:wrap;align-items:center;gap:.6vw;font-size:clamp(13px,1.2vw,26px);display:flex}.tvb-winners .winner-chip{font-size:clamp(13px,1.15vw,25px)}.tvb-secret{align-items:center;gap:1vw;margin-left:auto;display:flex}.tvb-secret small{letter-spacing:.14em;color:var(--sub);font-size:clamp(10px,.85vw,18px);font-weight:900}.tvb-secret>div{gap:.7vw;display:flex}.tvb-secret .secret-ball .patterned-peg{width:clamp(34px,3.6vw,76px);height:clamp(34px,3.6vw,76px)}.tvb-grid{grid-template-columns:repeat(var(--cols),minmax(0,1fr));grid-template-rows:repeat(var(--rows),minmax(0,1fr));flex:1 1 0;gap:max(8px,.8vw);min-height:0;display:grid}.tvb-lane{gap:calc(var(--tvb)*.2);min-height:0;padding:calc(var(--tvb)*.3);border-radius:calc(var(--tvb)*.45);background:linear-gradient(135deg,#24203f,#14132c);border:1px solid #4b3d68;flex-direction:column;transition:border-color .3s,box-shadow .3s;display:flex;overflow:hidden}.tvb-lane.turn{border-color:#c685ff;box-shadow:0 0 30px #9c3ef545}.tvb-lane.won{border-color:#ffd76a;box-shadow:0 0 34px #ffd76a40}.tvb-lane.left,.tvb-lane.away{opacity:.6}.tvb-lane.away{border-style:dashed}.tvb-lane header{align-items:center;gap:calc(var(--tvb)*.3);flex:none;min-width:0;display:flex}.tvb-lane .avatar{width:calc(var(--tvb)*1.05);height:calc(var(--tvb)*1.05)}.tvb-lane .avatar b{font-size:calc(var(--tvb)*.48)}.tvb-lane header strong{font-size:calc(var(--tvb)*.52);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tvb-lane header small{font-size:calc(var(--tvb)*.3);letter-spacing:.08em;color:var(--sub);white-space:nowrap;font-weight:900}.tvb-lane.won header small{color:#ffd76a}.tvb-lane.turn header small{color:#e2c8ff}.tvb-lane ol{grid-template-rows:repeat(var(--tries),minmax(0,1fr));gap:calc(var(--tvb)*.14);flex:1 1 0;min-height:0;margin:0;padding:0;list-style:none;display:grid}.tvb-lane li{align-items:center;gap:calc(var(--tvb)*.26);min-height:0;padding:0 calc(var(--tvb)*.3);border-radius:calc(var(--tvb)*.3);background:#100e22;border:1px solid #33294d;display:flex}.tvb-lane li.open{background:#100e2288;border-style:dashed;border-color:#2a2342}.tvb-lane li.played{animation:.45s cubic-bezier(.2,.9,.3,1.1) backwards flip-row}.tvb-try{width:calc(var(--tvb)*.55);font-size:calc(var(--tvb)*.32);color:var(--sub);flex:none;font-weight:900}.tvb-lane .tiny-pegs{gap:calc(var(--tvb)*.18);flex:1;display:flex}.tvb-lane .tiny-pegs .tiny-peg{width:var(--tvb);height:var(--tvb);flex:none;min-width:0;max-width:none}.tvb-lane .sealed-balls,.tvb-empty{gap:calc(var(--tvb)*.18);flex:1;display:flex}.tvb-lane .sealed-balls i{width:var(--tvb);height:var(--tvb)}.tvb-empty i{width:var(--tvb);height:var(--tvb);border:1px dashed #3a3058;border-radius:50%}.tvb-missed{font-size:calc(var(--tvb)*.32);color:var(--sub);flex:1;font-style:italic}.tvb-lane .feedback-dots{grid-template-columns:repeat(2,calc(var(--tvb)*.34));gap:calc(var(--tvb)*.1);flex:none;width:auto}.tvb-lane .feedback-dots i{width:calc(var(--tvb)*.34);height:calc(var(--tvb)*.34)}.tvb-fb-space{width:calc(var(--tvb)*.78);flex:none}.turn-no{color:#f0e4ff;background:#3b2c5e;border:1px solid #8c5ccd;border-radius:10px;flex:none;place-items:center;min-width:20px;height:20px;padding:0 5px;font:800 11px/1 Space Grotesk,sans-serif;display:inline-grid}.mini-head .turn-no{border-radius:8px;min-width:15px;height:15px;padding:0 3px;font-size:9px}.lane-head .turn-no{border-radius:12px;min-width:24px;height:24px;font-size:13px}.tvb-lane .turn-no{min-width:calc(var(--tvb)*.62);height:calc(var(--tvb)*.62);font-size:calc(var(--tvb)*.34);border-radius:calc(var(--tvb)*.31);padding:0 calc(var(--tvb)*.12)}.tvb-lane.turn .turn-no{background:#8a32eb;border-color:#e2c8ff}.tvb-lane.next{border-color:#8c5ccd}.tvb-lane.next header small{color:#d9b8ff}.info-btn{color:#e2c8ff;cursor:pointer;background:#221a38;border:1px solid #5b4580;border-radius:10px;place-items:center;width:34px;height:34px;padding:0;font:italic 800 17px/1 Georgia,Times New Roman,serif;display:grid}.info-btn:hover,.info-btn:focus-visible{color:#fff;border-color:#c685ff}.help-sheet{flex-direction:column;max-height:min(88vh,88dvh);display:flex}.help-tabs{flex:none;gap:6px;margin:0 0 12px;display:flex}.help-tabs button{color:var(--sub);cursor:pointer;background:#1a1530;border:1px solid #4b3d68;border-radius:10px;flex:1;padding:9px 6px;font-size:12px;font-weight:800}.help-tabs button.on{color:#fff;background:#3b2c5e;border-color:#c685ff}.help-body{overscroll-behavior:contain;min-height:0;padding-right:2px;padding-bottom:max(6px,env(safe-area-inset-bottom));overflow-y:auto}.guide section{border-top:1px solid #2c2446;padding:12px 0}.guide section:first-child{border-top:0;padding-top:2px}.guide h3{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 6px;font:700 16px Space Grotesk,sans-serif;display:flex}.guide p,.guide li{color:#ddd5ee;font-size:14px;line-height:1.55}.guide p{margin:0 0 6px}.guide ul,.guide ol{margin:0 0 6px;padding-left:20px}.guide li{margin-bottom:5px}.guide-note{color:var(--sub)!important;font-size:13px!important}.guide-note.small{margin-top:8px;font-size:12px!important}.guide-tag{letter-spacing:.06em;text-transform:uppercase;color:#e2c8ff;background:#2e2048;border:1px solid #6a5394;border-radius:20px;padding:4px 8px;font:800 10px/1 system-ui,sans-serif}.guide-colors{gap:8px;margin:6px 0;display:flex}.guide .tiny-peg{flex:none;width:28px;max-width:none;height:28px}.guide h3 .tiny-peg{width:22px;height:22px}.guide-dot{vertical-align:-1px;border-radius:50%;width:12px;height:12px;display:inline-block}.guide-dot.pin-dot{background:var(--pin)}.guide-dot.spin-dot{background:var(--spin)}.guide-example{background:#100e22;border:1px solid #33294d;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px 12px;margin:6px 0;padding:10px 12px;display:grid}.guide-example>span:nth-child(3n+1){letter-spacing:.08em;color:var(--sub);text-transform:uppercase;font-size:11px;font-weight:900}.guide-example .tiny-pegs{gap:6px;display:flex}.guide-example .feedback-dots{grid-template-columns:repeat(2,11px);gap:4px}.guide-example .feedback-dots i{width:11px;height:11px}.guide-link{color:#fff;word-break:break-all;-webkit-user-select:all;user-select:all;background:#2a2048;border:1px solid #6a5394;border-radius:6px;padding:1px 6px;font:700 13px ui-monospace,Menlo,monospace}.tv-sheet .tv-guide{overscroll-behavior:contain;max-height:52vh;margin-bottom:10px;padding-right:2px;overflow-y:auto}.dialog-backdrop{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#05040fcc;place-items:center;padding:20px;animation:.18s fade-in;display:grid;position:fixed;inset:0}.dialog{text-align:center;width:100%;max-width:380px;padding:22px 20px 18px;animation:.22s cubic-bezier(.2,.9,.3,1.2) dialog-in}.dialog h2{letter-spacing:0;margin:0 0 8px;font:700 21px Space Grotesk,sans-serif}.dialog p{color:var(--sub);margin:0 0 18px;font-size:14px;line-height:1.5}.dialog-copy{color:#fff;background:#100e22;border:1px solid #6a5394;border-radius:10px;width:100%;margin:4px 0 16px;padding:10px 12px;font:13px ui-monospace,Menlo,monospace}.dialog-actions{gap:10px;display:flex}.dialog-actions>*{flex:1;margin:0}.danger-btn{color:#fff!important;background:linear-gradient(115deg,#d7354c,#ff5b6e)!important;border-color:#ff8a98!important}@keyframes dialog-in{0%{opacity:0;transform:translateY(10px)scale(.96)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.dialog,.dialog-backdrop{animation:none}}.dialog-actions .primary-btn,.dialog-actions .outline-btn{text-align:center;justify-content:center}.lb-sub{color:var(--sub);text-align:center;margin:-6px 0 14px;font-size:13px;line-height:1.5}.lb-tabs{gap:8px;margin-bottom:14px;display:flex}.lb-tabs button{color:var(--sub);cursor:pointer;background:#1a1530;border:1px solid #4b3d68;border-radius:12px;flex:1;padding:11px;font-size:13px;font-weight:800}.lb-tabs button.on{color:#fff;background:#3b2c5e;border-color:#c685ff}.lb-empty p{color:var(--sub);text-align:center;margin:0;line-height:1.6}.lb-list{margin:0 0 14px;padding:8px;list-style:none}.lb-head,.lb-row{border-radius:12px;grid-template-columns:38px 1fr 46px 50px 50px;align-items:center;gap:6px;padding:9px 8px;display:grid}.lb-head{letter-spacing:.08em;color:var(--sub);text-transform:uppercase;font-size:10px;font-weight:900}.lb-head span:nth-child(n+3),.lb-row span:nth-child(n+3){text-align:right}.lb-row{color:#ddd5ee;font-size:14px}.lb-row+.lb-row{border-top:1px solid #2a2342}.lb-row.top{background:linear-gradient(90deg,#3a2d1722,#0000)}.lb-row.me{background:#3b2c5e;border:1px solid #8c5ccd}.lb-mine{margin-top:6px}.lb-rank{text-align:center;font-size:16px;font-weight:900}.lb-name{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.lb-wins{color:#ffd76a;font-weight:900}.lb-note{text-align:center}.lb-note p{color:var(--sub);margin:0 0 12px;font-size:14px;line-height:1.5}.color-palette.four{grid-template-columns:repeat(4,minmax(0,1fr))}.solo-card{position:relative}.solo-card-head{align-items:center;gap:12px;margin-bottom:14px;display:flex}.solo-card-head h2{margin:0 0 3px;font:700 18px Space Grotesk,sans-serif}.solo-card-head p{color:var(--sub);margin:0;font-size:12px;line-height:1.4}.solo-icon{flex:none;font-size:28px;line-height:1}.daily-card{border-color:#8c5ccd;box-shadow:0 0 30px #9c3ef520}.solo-stats{grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:14px;display:grid}.solo-stats.two{grid-template-columns:repeat(2,1fr)}.solo-stats span{letter-spacing:.06em;color:var(--sub);text-transform:uppercase;background:#100e22;border:1px solid #2c2446;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:9px 4px;font-size:10px;font-weight:800;display:flex}.solo-stats b{color:#fff;letter-spacing:0;text-transform:none;font:800 19px Space Grotesk,sans-serif}.solo-levels{gap:8px;display:grid}.solo-level{text-align:left;color:#fff;cursor:pointer;background:#15122b;border:1px solid #4b3d68;border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:2px 10px;padding:12px 14px;display:grid}.solo-level:hover,.solo-level:focus-visible{border-color:#c685ff}.solo-level strong{font-size:14px}.solo-level small{color:var(--sub);grid-column:1;font-size:11px}.solo-level em{color:#ffd76a;grid-area:1/2/3;font-size:11px;font-style:normal;font-weight:800}.solo-game-head{justify-content:space-between;align-items:flex-end;gap:10px;margin:4px 2px 14px;display:flex}.solo-game-head .eyebrow{margin:0 0 4px}.solo-game-head h1{margin:0;font:700 22px Space Grotesk,sans-serif}.solo-clock{align-items:center;gap:10px;display:flex}.solo-score{color:#ffd76a;font:800 20px Space Grotesk,sans-serif}.solo-flash{border-radius:14px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:10px 14px;animation:.3s cubic-bezier(.2,.9,.3,1.2) slide-in;display:flex}.solo-flash.solved{background:#173a2a;border:1px solid #4fc28b}.solo-flash.skipped{background:#3a1f26;border:1px solid #ff8a98}.solo-flash .tiny-pegs{gap:5px}.solo-flash .tiny-peg{flex:none;width:24px;max-width:none;height:24px}.solo-result .secret-reveal{margin-bottom:18px}.solo-result .secret-ball .tiny-pegs{display:block}.solo-next{font-size:13px;margin:12px 0 0!important}.solo-recap{justify-items:center;gap:6px;margin-top:18px;display:grid}.solo-recap-row{align-items:center;gap:10px;display:flex}.solo-recap-row .tiny-peg{flex:none;width:22px;max-width:none;height:22px}.solo-recap-row span{text-align:left;letter-spacing:1px;min-width:64px;font-size:12px}.solo-result .solo-recap-row .tiny-pegs{flex:none;gap:6px;display:flex}.solo-result .solo-recap-row .tiny-pegs .tiny-peg{border-radius:50%;flex:none;width:22px;min-width:0;max-width:none;height:22px}.solo-game-head.sticky{z-index:12;padding:10px 18px;padding-top:max(10px,env(safe-area-inset-top));background:linear-gradient(#0d0b1df5 80%,#0d0b1d00);margin:0 -18px 12px;position:sticky;top:0}.story-total{text-align:center;color:#ffd76a;margin:-6px 0 14px;font:800 18px Space Grotesk,sans-serif}.story-continue{margin-bottom:16px}.story-world header{align-items:center;gap:12px;margin-bottom:14px;display:flex}.story-world h2{margin:0 0 3px;font:700 17px Space Grotesk,sans-serif}.story-world header p{color:var(--sub);margin:0;font-size:12px;line-height:1.4}.story-world-icon{flex:none;font-size:30px;line-height:1}.story-world-stars{color:#ffd76a;white-space:nowrap;flex:none;margin-left:auto;font-size:12px;font-weight:800}.story-world.world-1{background:linear-gradient(145deg,#2a2040,#16132a);border-color:#6a5394}.story-world.world-2{background:linear-gradient(145deg,#2b2433,#151320);border-color:#8a6c4a}.story-world.world-3{background:linear-gradient(145deg,#1d2140,#0f1126);border-color:#4f5fa8}.story-world.locked{opacity:.55}.story-path{grid-template-columns:repeat(4,1fr);gap:12px 8px;margin:0;padding:0;list-style:none;display:grid}.story-path li:nth-child(8n+5){grid-column:4}.story-path li:nth-child(8n+6){grid-column:3}.story-path li:nth-child(8n+7){grid-column:2}.story-path li:nth-child(8n+8){grid-column:1}.story-path li:nth-child(n+5){grid-row:2}.story-node{aspect-ratio:1;color:#fff;cursor:pointer;background:radial-gradient(circle at 35% 30%,#3a2d5e,#16122b);border:2px solid #4b3d68;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:100%;padding:0;display:flex;position:relative}.story-node b{font:800 20px/1 Space Grotesk,sans-serif}.story-node:disabled{opacity:.6;cursor:not-allowed}.story-node.done{border-color:#ffd76a99}.story-node.current{border-color:#c685ff;animation:1.8s ease-in-out infinite story-pulse;box-shadow:0 0 0 4px #9c3ef540,0 0 22px #9c3ef560}.story-node.boss{border-width:3px}.story-node.boss b:after{content:" 👑";font-size:11px}.story-node em{background:#1a1530;border:1px solid #4b3d68;border-radius:50%;place-items:center;width:22px;height:22px;font-size:13px;font-style:normal;display:grid;position:absolute;top:-4px;right:-4px}.story-node-stars{gap:1px;font-size:10px;line-height:1;display:flex}.story-node-stars i{color:#3d3456;font-style:normal}.story-node-stars i.on{color:#ffd76a}@keyframes story-pulse{50%{box-shadow:0 0 0 7px #9c3ef520,0 0 30px #9c3ef580}}@media (prefers-reduced-motion:reduce){.story-node.current{animation:none}}.story-intro{color:#ddd5ee;margin:0 0 12px;font-size:14px;line-height:1.5}.story-rules{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.story-rules span{background:#1a1530;border:1px solid #4b3d68;border-radius:20px;padding:6px 10px;font-size:12px;font-weight:700}.story-goals{color:var(--sub);gap:4px;margin:0 0 12px;padding:0;font-size:13px;list-style:none;display:grid}.story-goals b{color:#ffd76a;min-width:44px;display:inline-block}.story-best{color:#ffd76a;margin:0 0 12px;font-size:13px}.story-clues .code-row{min-height:54px;padding:8px 10px}.story-clues .code-row+.code-row{margin-top:8px}.story-clues .code-slots .tiny-pegs{gap:9px;display:flex}.story-clues .code-slots .tiny-peg{width:34px;height:34px}.story-stars{justify-content:center;gap:8px;margin:-4px 0 6px;font-size:40px;line-height:1;display:flex}.story-stars span{color:#3d3456;animation:.5s cubic-bezier(.3,1.4,.5,1) both flip-in;animation-delay:calc(var(--i) * .2s)}.story-stars span.on{color:#ffd76a;text-shadow:0 0 18px #ffd76a80}.story-actions{gap:0;display:grid}.lb-boards button{padding:10px 4px;font-size:12px}.lb-period{margin-top:-4px}.lb-period button{padding:8px;font-size:12px}.badge-progress{background:#1a1530;border:1px solid #33294d;border-radius:8px;height:8px;margin:-4px 0 16px;overflow:hidden}.badge-progress i{background:linear-gradient(90deg,#8a32eb,#ffd76a);border-radius:8px;height:100%;display:block}.badge-group h2{letter-spacing:.5px;margin:0 0 12px;font:700 15px Space Grotesk,sans-serif}.badge-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.badge{text-align:center;opacity:.55;background:#100e22;border:1px solid #2c2446;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;display:flex}.badge.earned{opacity:1;background:linear-gradient(160deg,#3a2d17,#16122b);border-color:#ffd76a99;box-shadow:0 0 18px #ffd76a20}.badge-icon{font-size:30px;line-height:1.1}.badge strong{font-size:13px}.badge small{color:var(--sub);font-size:11px;line-height:1.35}.badge em{color:#ffd76a;letter-spacing:.04em;font-size:10px;font-style:normal;font-weight:800}.patterned-peg.color-6{--ball:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20100%20100'%3e%3cdefs%3e%3cradialGradient%20id='b'%20cx='36%25'%20cy='30%25'%20r='75%25'%3e%3cstop%20offset='0'%20stop-color='%23ffc48a'/%3e%3cstop%20offset='.5'%20stop-color='%23ff7a12'/%3e%3cstop%20offset='1'%20stop-color='%238a3200'/%3e%3c/radialGradient%3e%3cradialGradient%20id='s'%20cx='42%25'%20cy='36%25'%20r='64%25'%3e%3cstop%20offset='.55'%20stop-color='%23000'%20stop-opacity='0'/%3e%3cstop%20offset='1'%20stop-color='%23000'%20stop-opacity='.42'/%3e%3c/radialGradient%3e%3clinearGradient%20id='h'%20x1='0'%20y1='0'%20x2='0'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%23fff'%20stop-opacity='.95'/%3e%3cstop%20offset='1'%20stop-color='%23fff'%20stop-opacity='.05'/%3e%3c/linearGradient%3e%3cclipPath%20id='c'%3e%3ccircle%20cx='50'%20cy='50'%20r='45.5'/%3e%3c/clipPath%3e%3c/defs%3e%3ccircle%20cx='50'%20cy='50'%20r='49.5'%20fill='%231a0f3f'/%3e%3ccircle%20cx='50'%20cy='50'%20r='45.5'%20fill='url(%23b)'/%3e%3cg%20clip-path='url(%23c)'%20opacity='0.9'%3e%3cg%20transform='rotate(35%2050%2050)'%20fill='%23ffb35c'%3e%3crect%20x='-128'%20y='-60'%20width='8'%20height='220'/%3e%3crect%20x='-112'%20y='-60'%20width='8'%20height='220'/%3e%3crect%20x='-96'%20y='-60'%20width='8'%20height='220'/%3e%3crect%20x='-80'%20y='-60'%20width='8'%20height='220'/%3e%3crect%20x='-64'%20y='-60'%20width='8'%20height='220'/%3e%3crect%20x='-48'%20y='-60'%20width='8'%20height='220'/%3e%3crect%20x='-32'%20y='-60'%20width='8'%20height='220'/%3e%3crect%20x='-16'%20y='-60'%20width='8'%20height='220'/%3e%3crect%20x='0'%20y='-60'%20width='8'%20height='220'/%3e%3crect%20x='16'%20y='-60'%20width='8'%20height='220'/%3e%3crect%20x='32'%20y='-60'%20width='8'%20height='220'/%3e%3crect%20x='48'%20y='-60'%20width='8'%20height='220'/%3e%3crect%20x='64'%20y='-60'%20width='8'%20height='220'/%3e%3crect%20x='80'%20y='-60'%20width='8'%20height='220'/%3e%3crect%20x='96'%20y='-60'%20width='8'%20height='220'/%3e%3crect%20x='112'%20y='-60'%20width='8'%20height='220'/%3e%3crect%20x='128'%20y='-60'%20width='8'%20height='220'/%3e%3c/g%3e%3c/g%3e%3ccircle%20cx='50'%20cy='50'%20r='45.5'%20fill='url(%23s)'/%3e%3cpath%20d='M22%2076%20A36%2036%200%200%200%2082%2070'%20fill='none'%20stroke='%23fff'%20stroke-opacity='.28'%20stroke-width='3'%20stroke-linecap='round'/%3e%3cellipse%20cx='35'%20cy='23'%20rx='15'%20ry='7.5'%20transform='rotate(-24%2035%2023)'%20fill='url(%23h)'/%3e%3ccircle%20cx='50'%20cy='50'%20r='45.5'%20fill='none'%20stroke='%23fff'%20stroke-opacity='.3'%20stroke-width='1.2'/%3e%3c/svg%3e")}.patterned-peg.color-7{--ball:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20100%20100'%3e%3cdefs%3e%3cradialGradient%20id='b'%20cx='36%25'%20cy='30%25'%20r='75%25'%3e%3cstop%20offset='0'%20stop-color='%23ffb3df'/%3e%3cstop%20offset='.5'%20stop-color='%23f2479f'/%3e%3cstop%20offset='1'%20stop-color='%237a0f4a'/%3e%3c/radialGradient%3e%3cradialGradient%20id='s'%20cx='42%25'%20cy='36%25'%20r='64%25'%3e%3cstop%20offset='.55'%20stop-color='%23000'%20stop-opacity='0'/%3e%3cstop%20offset='1'%20stop-color='%23000'%20stop-opacity='.42'/%3e%3c/radialGradient%3e%3clinearGradient%20id='h'%20x1='0'%20y1='0'%20x2='0'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%23fff'%20stop-opacity='.95'/%3e%3cstop%20offset='1'%20stop-color='%23fff'%20stop-opacity='.05'/%3e%3c/linearGradient%3e%3cclipPath%20id='c'%3e%3ccircle%20cx='50'%20cy='50'%20r='45.5'/%3e%3c/clipPath%3e%3c/defs%3e%3ccircle%20cx='50'%20cy='50'%20r='49.5'%20fill='%231a0f3f'/%3e%3ccircle%20cx='50'%20cy='50'%20r='45.5'%20fill='url(%23b)'/%3e%3cg%20clip-path='url(%23c)'%20opacity='0.9'%3e%3cg%20fill='none'%20stroke='%23ff8ccb'%20stroke-width='5'%3e%3ccircle%20cx='58'%20cy='60'%20r='8'/%3e%3ccircle%20cx='58'%20cy='60'%20r='20'/%3e%3ccircle%20cx='58'%20cy='60'%20r='32'/%3e%3ccircle%20cx='58'%20cy='60'%20r='44'/%3e%3ccircle%20cx='58'%20cy='60'%20r='56'/%3e%3ccircle%20cx='58'%20cy='60'%20r='68'/%3e%3c/g%3e%3c/g%3e%3ccircle%20cx='50'%20cy='50'%20r='45.5'%20fill='url(%23s)'/%3e%3cpath%20d='M22%2076%20A36%2036%200%200%200%2082%2070'%20fill='none'%20stroke='%23fff'%20stroke-opacity='.28'%20stroke-width='3'%20stroke-linecap='round'/%3e%3cellipse%20cx='35'%20cy='23'%20rx='15'%20ry='7.5'%20transform='rotate(-24%2035%2023)'%20fill='url(%23h)'/%3e%3ccircle%20cx='50'%20cy='50'%20r='45.5'%20fill='none'%20stroke='%23fff'%20stroke-opacity='.3'%20stroke-width='1.2'/%3e%3c/svg%3e")}.feedback-dots.five{grid-template-columns:repeat(3,9px);width:37px}.lane-row .feedback-dots.five,.story-clues .feedback-dots.five{grid-template-columns:repeat(3,10px);width:auto}.code-board.slots-5 .code-slots{gap:6px}.code-board.slots-5 .code-slots .tiny-peg{width:36px;height:36px}.code-board.slots-5 .code-slot{min-width:38px;min-height:40px}.story-clues .code-slots .tiny-pegs:has(>:nth-child(5)){gap:6px}.story-clues .code-slots .tiny-pegs:has(>:nth-child(5)) .tiny-peg{width:30px;height:30px}.story-world.world-4{background:linear-gradient(145deg,#1d2a3a,#0f1724);border-color:#4aa3b8}.install-card{align-items:center;gap:12px;margin:4px 0 16px;padding:14px 16px;display:flex}.install-card strong{margin-bottom:2px;font-size:14px;display:block}.install-card p{color:var(--sub);margin:0;font-size:12px;line-height:1.5}.install-card b{color:#fff}.install-icon{flex:none;font-size:26px}.install-btn{flex:none;width:auto;min-height:40px;padding:10px 16px}
