@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg-100:#fff;--bg-200:#fafafa;--gray-100:#f2f2f2;--gray-200:#ebebeb;--gray-300:#e6e6e6;--gray-400:#eaeaea;--gray-500:#c9c9c9;--gray-600:#a8a8a8;--gray-700:#8f8f8f;--gray-800:#7d7d7d;--gray-900:#666;--gray-1000:#171717;--alpha-100:#0000000d;--alpha-200:#00000014;--alpha-300:#0000001a;--alpha-400:#00000014;--alpha-500:#00000036;--alpha-600:#00000057;--blue-100:#f0f7ff;--blue-700:#006bff;--blue-900:#005ff2;--green-100:#effbef;--green-700:#28a948;--green-900:#107d32;--amber-100:#fff6e5;--amber-900:#aa4d00;--red-100:#fff0f0;--red-700:#fc0035;--red-900:#d8001b;--solid-hover:#383838;--shadow-small:0 2px 2px #0000000a;--shadow-medium:0 2px 2px #0000000a, 0 8px 8px -8px #0000000a;--shadow-menu:0 0 0 1px var(--alpha-400), 0 4px 8px -4px #0000000a, 0 16px 24px -8px #0000000f;--focus-ring:0 0 0 2px var(--bg-100), 0 0 0 4px var(--blue-700);--ease:cubic-bezier(.23, 1, .32, 1);--font-sans:"Geist Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Geist Mono Variable", ui-monospace, "SF Mono", Menlo, monospace}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg-100:#0a0a0a;--bg-200:#000;--gray-100:#1a1a1a;--gray-200:#1f1f1f;--gray-300:#292929;--gray-400:#2e2e2e;--gray-500:#454545;--gray-600:#878787;--gray-700:#8f8f8f;--gray-800:#7c7c7c;--gray-900:#a1a1a1;--gray-1000:#ededed;--alpha-100:#ffffff0f;--alpha-200:#ffffff17;--alpha-300:#ffffff21;--alpha-400:#ffffff24;--alpha-500:#ffffff3d;--alpha-600:#ffffff82;--blue-100:#06193a;--blue-700:#006efe;--blue-900:#47a8ff;--green-100:#0b2211;--green-700:#00ac3a;--green-900:#00ca50;--amber-100:#291800;--amber-900:#ff9300;--red-100:#330a0f;--red-700:#e5484d;--red-900:#ff565f;--solid-hover:#ccc;--shadow-small:0 0 0 1px var(--alpha-400);--shadow-medium:0 0 0 1px var(--alpha-400);--shadow-menu:0 0 0 1px var(--alpha-400), 0 4px 8px -4px #00000080, 0 16px 24px -8px #00000080}}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--bg-200);color:var(--gray-1000);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;text-rendering:optimizelegibility;font-size:14px;line-height:20px}#root{flex-direction:column;min-height:100dvh;display:flex}button,input{font:inherit;color:inherit}:focus-visible{box-shadow:var(--focus-ring);outline:none}.num{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.muted{color:var(--gray-900)}.heading-72{letter-spacing:-4.32px;font-size:72px;font-weight:600;line-height:72px}.heading-48{letter-spacing:-2.88px;font-size:48px;font-weight:600;line-height:56px}.heading-32{letter-spacing:-1.28px;font-size:32px;font-weight:600;line-height:40px}.heading-24{letter-spacing:-.96px;font-size:24px;font-weight:600;line-height:32px}.heading-20{letter-spacing:-.4px;font-size:20px;font-weight:600;line-height:26px}.heading-16{letter-spacing:-.32px;font-size:16px;font-weight:600;line-height:24px}.label-16{font-size:16px;line-height:20px}.label-14{font-size:14px;line-height:20px}.label-13{font-size:13px;line-height:16px}.label-12{font-size:12px;line-height:16px}.copy-16{font-size:16px;line-height:24px}.copy-14{font-size:14px;line-height:20px}h1,h2,h3,p{margin:0}@media (width<=600px){.heading-72{letter-spacing:-3.36px;font-size:56px;line-height:56px}.heading-48{letter-spacing:-2.4px;font-size:40px;line-height:48px}.heading-32{letter-spacing:-1.12px;font-size:28px;line-height:36px}}.header{z-index:10;background:var(--bg-100);border-bottom:1px solid var(--alpha-400);justify-content:space-between;align-items:center;gap:12px;height:64px;padding:0 24px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.32px;color:inherit;border-radius:6px;align-items:center;gap:10px;font-size:16px;font-weight:600;text-decoration:none;display:inline-flex}.brand-mark{background:conic-gradient(from 90deg,#ff3b30,#fc0,#34c759,#00c7ff,#5856d6,#ff2d92,#ff3b30);border-radius:50%;width:20px;height:20px}.header-right{align-items:center;gap:8px;min-width:0;display:flex}.main{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:40px 24px 64px}@media (width<=600px){.header{height:56px;padding:0 16px}.main{padding:24px 16px 48px}}.btn{appearance:none;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;height:40px;transition:background-color .15s var(--ease), box-shadow .15s var(--ease), transform .12s var(--ease);border:0;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:500;line-height:20px;text-decoration:none;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{cursor:not-allowed}.btn-primary{background:var(--gray-1000);color:var(--bg-100)}.btn-secondary{background:var(--bg-100);color:var(--gray-1000);box-shadow:0 0 0 1px var(--alpha-400)}.btn-tertiary{color:var(--gray-1000);background:0 0}.btn-error{background:var(--red-700);color:#fff}.btn:disabled.btn-primary,.btn:disabled.btn-secondary{background:var(--gray-100);color:var(--gray-700);box-shadow:0 0 0 1px var(--alpha-400)}.btn-small{height:32px;padding:0 10px;font-size:14px}.btn-large{height:48px;padding:0 18px;font-size:16px}.btn-icon{width:32px;padding:0}.btn-block{width:100%}.btn:focus-visible{box-shadow:var(--focus-ring)}@media (hover:hover){.btn-primary:hover:not(:disabled){background:var(--solid-hover)}.btn-secondary:hover:not(:disabled){background:var(--gray-100)}.btn-tertiary:hover:not(:disabled){background:var(--alpha-100)}}@media (pointer:coarse){.btn-small{height:40px}.btn-icon{width:40px}}kbd{font-family:var(--font-sans);background:color-mix(in srgb, currentColor 18%, transparent);min-width:20px;height:20px;color:inherit;border-radius:4px;justify-content:center;align-items:center;padding:2px 4px;font-size:12px;line-height:16px;display:inline-flex}.btn-secondary kbd{background:var(--gray-100);color:var(--gray-900);box-shadow:0 0 0 1px var(--alpha-400)}@media (pointer:coarse){kbd{display:none}}.field{flex-direction:column;gap:8px;min-width:0;display:flex}.field label{color:var(--gray-900);font-size:13px;line-height:16px}.input{background:var(--bg-100);width:100%;min-width:0;height:40px;box-shadow:0 0 0 1px var(--alpha-400);transition:box-shadow .15s var(--ease);border:0;border-radius:6px;padding:0 12px;font-size:14px}.input::placeholder{color:var(--gray-700)}@media (hover:hover){.input:hover{box-shadow:0 0 0 1px var(--alpha-500)}}.input:focus-visible{box-shadow:0 0 0 1px var(--alpha-600), 0 0 0 4px var(--alpha-300)}.input-code{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em}@media (pointer:coarse){.input{font-size:16px}}.card{background:var(--bg-100);box-shadow:0 0 0 1px var(--alpha-400), var(--shadow-medium);border-radius:12px}.card-pad{padding:24px}@media (width<=600px){.card-pad{padding:16px}}.badge{background:var(--gray-100);height:20px;color:var(--gray-1000);white-space:nowrap;border-radius:9999px;align-items:center;gap:4px;padding:0 6px;font-size:12px;font-weight:500;line-height:16px;display:inline-flex}.badge-blue{background:var(--blue-100);color:var(--blue-900)}.badge-green{background:var(--green-100);color:var(--green-900)}.badge-amber{background:var(--amber-100);color:var(--amber-900)}.note{background:var(--gray-100);box-shadow:0 0 0 1px var(--alpha-400);border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:14px;display:flex}.note-warning{background:var(--amber-100);color:var(--amber-900);box-shadow:none}.note-error{background:var(--red-100);color:var(--red-900);box-shadow:none}.avatar{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:600;display:inline-flex}.chip{width:20px;height:20px;box-shadow:inset 0 0 0 1px var(--alpha-400);border-radius:4px;flex:none;display:inline-block}.stack{flex-direction:column;display:flex}.row{align-items:center;display:flex}.gap-4{gap:4px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-24{gap:24px}.gap-32{gap:32px}.gap-10{gap:10px}.grow{flex:1;min-width:0}.wrap{flex-wrap:wrap}.between{justify-content:space-between}.truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.enter{animation:enter .22s var(--ease) both}@keyframes enter{0%{opacity:0;transform:translateY(4px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.enter{animation:.15s linear both fade}@keyframes fade{0%{opacity:0}to{opacity:1}}.btn:active:not(:disabled){transform:none}}.gap-40{gap:40px}.home{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:32px;display:grid}@media (width<=860px){.home{grid-template-columns:minmax(0,1fr)}}.modes{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width<=520px){.modes{grid-template-columns:minmax(0,1fr)}}.mode-card{appearance:none;text-align:left;background:var(--bg-100);color:var(--gray-1000);cursor:pointer;box-shadow:0 0 0 1px var(--alpha-400), var(--shadow-small);transition:box-shadow .15s var(--ease), transform .12s var(--ease), background-color .15s var(--ease);border:0;border-radius:12px;flex-direction:column;gap:6px;padding:16px;display:flex}.mode-card:active{transform:scale(.98)}.mode-card:focus-visible{box-shadow:var(--focus-ring)}@media (hover:hover){.mode-card:hover{box-shadow:0 0 0 1px var(--alpha-500), var(--shadow-small);background:var(--bg-200)}}.mode-option{cursor:pointer;box-shadow:0 0 0 1px var(--alpha-400);transition:box-shadow .15s var(--ease), background-color .15s var(--ease);border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.mode-option input{opacity:0;pointer-events:none;position:absolute}.mode-option:has(input:checked){box-shadow:0 0 0 2px var(--gray-1000)}.mode-option:has(input:focus-visible){box-shadow:var(--focus-ring)}@media (hover:hover){.mode-option:hover{background:var(--bg-200)}}.mode-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}@media (width<=340px){.mode-options{grid-template-columns:minmax(0,1fr)}}.divider-text{color:var(--gray-900);align-items:center;gap:12px;font-size:13px;display:flex}.divider-text:before,.divider-text:after{content:"";background:var(--alpha-400);flex:1;height:1px}.game{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:24px;display:grid}@media (width<=860px){.game{grid-template-columns:minmax(0,1fr)}}.stage-head{justify-content:space-between;align-items:center;gap:12px;min-height:32px;margin-bottom:16px;display:flex}.timer{background:var(--gray-200);border-radius:9999px;height:4px;margin-bottom:16px;position:relative;overflow:hidden}.timer>div{background:var(--gray-1000);transform-origin:0;will-change:transform;position:absolute;inset:0}.timer-low>div{background:var(--red-700)}.big-swatch{aspect-ratio:16/10;width:100%;box-shadow:inset 0 0 0 1px var(--alpha-400);border-radius:12px}@media (width<=600px){.big-swatch{aspect-ratio:1}}.countdown{aspect-ratio:16/10;background:var(--bg-100);box-shadow:0 0 0 1px var(--alpha-400);border-radius:12px;justify-content:center;align-items:center;display:flex}.countdown span{animation:tick 1s var(--ease) both}@keyframes tick{0%{opacity:0;transform:scale(.95)}20%{opacity:1;transform:none}to{opacity:1}}@media (width<=600px){.countdown{aspect-ratio:1}}.dial{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;display:grid}.dial-preview{box-shadow:inset 0 0 0 1px var(--alpha-400);border-radius:12px;min-height:240px}@media (width<=600px){.dial{grid-template-columns:minmax(0,1fr);gap:16px}.dial-preview{aspect-ratio:3;min-height:0}}.pad{aspect-ratio:1;touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none;width:100%;box-shadow:inset 0 0 0 1px var(--alpha-400);border-radius:12px;position:relative}.pad-layer{border-radius:inherit;pointer-events:none;position:absolute;inset:0}.thumb{pointer-events:none;border:3px solid #fff;border-radius:50%;width:24px;height:24px;margin:-12px 0 0 -12px;position:absolute;box-shadow:0 0 0 1px #0000004d,0 2px 4px #00000040}.pad:focus-visible{box-shadow:var(--focus-ring)}.strip{touch-action:none;cursor:pointer;-webkit-user-select:none;user-select:none;height:28px;box-shadow:inset 0 0 0 1px var(--alpha-400);border-radius:9999px;position:relative}.strip-large{height:40px}.strip .thumb{top:50%}.strip-large .thumb{width:28px;height:28px;margin:-14px 0 0 -14px}.strip:focus-visible{box-shadow:var(--focus-ring)}.spot{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.spot-cell{aspect-ratio:1;cursor:pointer;box-shadow:inset 0 0 0 1px var(--alpha-400);transition:transform .12s var(--ease);border:0;border-radius:8px;position:relative}.spot-cell:active:not(:disabled){transform:scale(.97)}.spot-cell:disabled{cursor:default}.spot-chosen{box-shadow:0 0 0 2px var(--bg-100), 0 0 0 4px var(--gray-1000)}.spot-key{color:#fff;background:#00000052;border-radius:4px;padding:0 5px;font-size:12px;font-weight:500;line-height:16px;position:absolute;top:6px;left:8px}@media (pointer:coarse){.spot-key{display:none}}.picker-disabled{opacity:.5;pointer-events:none}.readout{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.readout>div{background:var(--gray-100);border-radius:6px;justify-content:space-between;padding:6px 10px;font-size:13px;line-height:16px;display:flex}.compare{aspect-ratio:16/9;box-shadow:inset 0 0 0 1px var(--alpha-400);border-radius:12px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.compare>div{flex-direction:column;justify-content:flex-end;gap:2px;padding:16px;display:flex}@media (width<=600px){.compare{aspect-ratio:4/3}.compare>div{padding:12px}}.split-chip{width:28px;height:20px;box-shadow:inset 0 0 0 1px var(--alpha-400);border-radius:4px;flex:none;grid-template-columns:1fr 1fr;display:inline-grid;overflow:hidden}.list{margin:0;padding:0;list-style:none}.list>li{border-top:1px solid var(--alpha-400);align-items:center;gap:10px;min-height:44px;padding:6px 0;display:flex}.list>li:first-child{border-top:0}.list .off{opacity:.5}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;color:var(--gray-900);border-bottom:1px solid var(--alpha-400);padding:0 8px 8px;font-size:12px;font-weight:500;line-height:16px}.table td{border-bottom:1px solid var(--alpha-400);vertical-align:middle;padding:10px 8px}.table tr:last-child td{border-bottom:0}.table .r{text-align:right}.table-scroll{margin:0 -8px;overflow-x:auto}.show-sm{display:none}@media (width<=600px){.hide-sm{display:none}.show-sm{display:flex}}.code-display{font-family:var(--font-mono);letter-spacing:.12em;font-size:40px;font-weight:600;line-height:48px}.center-card{width:100%;max-width:400px;margin:48px auto 0}.toast{z-index:50;background:var(--gray-1000);color:var(--bg-100);box-shadow:var(--shadow-menu);animation:toast .2s var(--ease) both;border-radius:8px;padding:10px 14px;font-size:14px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@keyframes toast{0%{opacity:0;transform:translate(-50%,8px)scale(.97)}to{opacity:1;transform:translate(-50%)}}.advanced{background:var(--bg-100);box-shadow:0 0 0 1px var(--alpha-400);border-radius:12px;min-width:0}.advanced-toggle{appearance:none;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:8px;width:100%;min-height:48px;padding:0 16px;display:flex}.advanced-toggle:focus-visible{box-shadow:var(--focus-ring)}@media (hover:hover){.advanced-toggle:hover{background:var(--bg-200)}}.advanced-panel{border-top:1px solid var(--alpha-400);padding:16px}.settings-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;display:grid}.select{position:relative}.select select{appearance:none;cursor:pointer;padding-right:32px}.select select:disabled{cursor:not-allowed;color:var(--gray-900);background:var(--bg-200)}.select-caret{pointer-events:none;color:var(--gray-900);position:absolute;top:50%;right:12px;transform:translateY(-50%)}.switch-row{cursor:pointer;align-items:flex-start}.switch{appearance:none;background:var(--gray-400);width:32px;height:18px;box-shadow:inset 0 0 0 1px var(--alpha-400);cursor:pointer;transition:background-color .15s var(--ease);border-radius:9999px;flex:none;margin:1px 0 0;position:relative}.switch:after{content:"";width:14px;height:14px;transition:transform .15s var(--ease);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.switch:checked{background:var(--gray-1000)}.switch:checked:after{background:var(--bg-100);transform:translate(14px)}.switch:disabled{opacity:.5;cursor:not-allowed}.switch:focus-visible{box-shadow:var(--focus-ring)}
