@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/32687112bd2dd8db-s.cfdd66c2.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/28868e710e86be81-s.c30238d4.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.4564287c.woff2)format("woff2");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:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_3ed776ad-module__Ijhcta__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_3ed776ad-module__Ijhcta__variable{--font-sans:"Space Grotesk","Space Grotesk Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.a82ecf4e.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.afa48be3.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.764b43eb.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.cb53f04b.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.64b9304e.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.6b5ea6af.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.1dcddae6.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.8da66e7f.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.e6cd1753.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.19510058.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/f53f4557ddd9f7a6-s.cc1c4de3.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5256dd17dd2ccf14-s.dad649ff.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fe48c93add1d142c-s.5dae4d58.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5689d89b20a4bd5b-s.4a78f533.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a7e15459c1805da0-s.p.ec654d65.woff2)format("woff2");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:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_75db6b38-module__oN9cgW__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_75db6b38-module__oN9cgW__variable{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}
@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.flex{display:flex}.grid{display:grid}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#0b1020;--bg-accent:#1d2b4a;--surface:#f7f2e9;--surface-2:#efe7da;--ink:#101316;--muted:#4c5565;--primary:#d3542f;--primary-dark:#9f3b1e;--border:#1013161f;--shadow:0 30px 80px #0a102059}*{box-sizing:border-box}body{font-family:var(--font-sans),system-ui,-apple-system,sans-serif;background:radial-gradient(circle at top,#27335a 0%,var(--bg)55%,#05070d 100%);color:#f8f4ec;margin:0}.page{justify-content:center;align-items:center;min-height:100vh;padding:48px 20px;display:flex}.card{background:linear-gradient(160deg,var(--surface),var(--surface-2));width:min(560px,100%);box-shadow:var(--shadow);color:var(--ink);border-radius:28px;flex-direction:column;gap:20px;padding:36px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.28em;color:var(--muted);font-size:.7rem;font-weight:600}.title{margin:0;font-size:clamp(2rem,4vw,2.6rem)}.subtitle{color:var(--muted);margin:0;line-height:1.6}.field{flex-direction:column;gap:10px;font-weight:600;display:flex}.field span{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}input{border:1px solid var(--border);background:#fff;border-radius:14px;padding:12px 14px;font-size:1rem}input:focus{outline:2px solid var(--primary);border-color:#0000}.mode-toggle{grid-template-columns:1fr 1fr;gap:8px;display:grid}.mode-toggle .pill{text-align:center;padding:12px;font-size:1rem;font-weight:700}.difficulty-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.pill{border:1px solid var(--border);text-align:left;cursor:pointer;background:#ffffffbf;border-radius:16px;padding:14px;transition:all .2s}.pill:hover{transform:translateY(-2px);box-shadow:0 12px 30px #10131626}.pill-active{border-color:var(--primary);background:#fff3ec}.pill-title{font-size:1rem;font-weight:700}.pill-detail{color:var(--muted);margin-top:4px;font-size:.85rem}.primary{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:14px 20px;font-size:1rem;font-weight:700;transition:transform .2s,background .2s}.primary:hover{background:var(--primary-dark);transform:translateY(-1px)}.error{color:#b91c1c;background:#fff1f1;border-radius:12px;padding:10px 12px;font-size:.9rem;font-weight:600}@media (max-width:600px){.card{padding:28px 22px}}.room{color:#f8f4ec;flex-direction:column;gap:32px;min-height:100vh;padding:48px 5vw 64px;display:flex}.room-header{flex-wrap:wrap;justify-content:space-between;gap:24px;display:flex}.room .eyebrow,.room .subtitle{color:#f8f4ecb8}.card .eyebrow,.card .subtitle{color:var(--muted)}.share{flex-direction:column;gap:8px;min-width:min(320px,100%);display:flex}.share-label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.75rem}.room .share-label{color:#f8f4ecb8}.room input{color:#f8f4ec;background:#ffffff1f;border-color:#ffffff4d}.room-body{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;display:grid}.roster,.status-card{color:var(--ink);background:#ffffffeb;border-radius:22px;padding:24px;box-shadow:0 20px 50px #0a102033}.roster-title,.status-title{margin-bottom:12px;font-size:1rem;font-weight:700}.roster ul{color:var(--muted);flex-direction:column;gap:8px;margin:0;padding:0;font-weight:600;list-style:none;display:flex}.status-pill{color:var(--primary);background:#d3542f26;border-radius:999px;justify-content:center;align-items:center;margin-bottom:16px;padding:6px 12px;font-size:.85rem;font-weight:700;display:inline-flex}.status-note{color:var(--muted);margin-top:12px}.board{aspect-ratio:1;background:#fefcf8;border:2px solid #10131633;border-radius:16px;grid-template-columns:repeat(9,minmax(0,1fr));width:min(540px,92vw);display:grid;overflow:hidden;box-shadow:0 24px 60px #0a102040}.cell{color:#111827;cursor:pointer;background:0 0;border-style:solid;border-color:#1013162e;justify-content:center;align-items:center;padding:0;font-size:clamp(1rem,2vw,1.2rem);font-weight:700;display:flex;position:relative}.cell:disabled{cursor:default}.cell-given{color:#1f2937;background:#efe6d6}.cell-highlight{background:#d3542f14}.cell-selected{outline:2px solid var(--primary);z-index:1;background:#d3542f33}.cell-value{z-index:2;position:relative}.cell-other .cell-overlay{z-index:1;background:#64748b40;position:absolute;inset:0}.room-running .subtitle,.room-running .eyebrow{color:#f8f4ecb3}.timer-card{color:#f8f4ec;text-align:right;background:#ffffff1f;border:1px solid #f8f4ec4d;border-radius:18px;min-width:160px;padding:16px 20px}.timer-label{letter-spacing:.2em;text-transform:uppercase;opacity:.8;font-size:.7rem}.timer-value{font-size:1.8rem;font-weight:700}.game-layout{grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:start;gap:28px;display:grid}.board-wrap{justify-content:center;display:flex}.game-panel{flex-direction:column;gap:16px;display:flex}.panel-card{color:var(--ink);background:#ffffffeb;border-radius:20px;flex-direction:column;gap:12px;padding:20px;display:flex;box-shadow:0 20px 50px #0a10202e}.panel-title{font-weight:700}.panel-sub{color:var(--muted);font-size:.9rem}.progress-bar-container{background:#1013161a;border-radius:4px;width:100%;height:8px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,var(--primary),#e86b4a);border-radius:4px;height:100%;transition:width .3s}.panel-list{color:var(--muted);flex-direction:column;gap:6px;margin:0;padding:0;font-weight:600;list-style:none;display:flex}.progress-list{flex-direction:column;gap:14px;display:flex}.progress-item{justify-content:space-between;align-items:center;gap:12px;display:flex}.progress-name{color:var(--ink);font-weight:600}.mini-board{aspect-ratio:1;background:#fdfaf5;border:2px solid #10131633;border-radius:10px;grid-template-columns:repeat(9,1fr);width:120px;display:grid;overflow:hidden}.mini-cell{background:0 0;border-style:solid;border-color:#10131626}.mini-cell-filled{background:#64748b59}.result{border-radius:12px;padding:10px 12px;font-size:.9rem;font-weight:600}.result.ok{color:#047857;background:#ecfdf5}.result.bad{color:#b91c1c;background:#fff1f1}.leaderboard{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.leaderboard li{color:var(--muted);grid-template-columns:48px 1fr auto;align-items:center;font-weight:600;display:grid}.leaderboard .rank{color:var(--ink);font-weight:700}.leaderboard .time.ok{color:#047857}.leaderboard .time.bad{color:#b91c1c}.loading{color:#f8f4eccc;font-weight:600}.board-container{flex-direction:column;align-items:center;gap:16px;display:flex}.cell-same-number{background:#d3542f1f}.number-pad{grid-template-columns:repeat(5,1fr);gap:8px;width:min(360px,92vw);margin-top:8px;display:grid}.numpad-btn{aspect-ratio:1;color:#f8f4ec;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:#ffffff1a;border:2px solid #fff3;border-radius:14px;font-size:1.4rem;font-weight:700;transition:all .15s}.numpad-btn:hover:not(:disabled){background:#fff3;transform:scale(1.05)}.numpad-btn:active:not(:disabled){background:#d3542f66;transform:scale(.95)}.numpad-btn:disabled{opacity:.4;cursor:not-allowed}.numpad-active{background:var(--primary);border-color:var(--primary)}.numpad-clear{background:#b91c1c4d;border-color:#b91c1c80}.numpad-clear:hover:not(:disabled){background:#b91c1c80}.share-row{gap:8px;display:flex}.share-row input{flex:1}.copy-btn{color:#f8f4ec;cursor:pointer;white-space:nowrap;background:#ffffff1f;border:1px solid #ffffff4d;border-radius:14px;padding:12px 16px;font-size:.85rem;font-weight:600;transition:all .2s}.copy-btn:hover{background:#fff3}.copy-btn.copied{background:#04785766;border-color:#04785799}@media (max-width:600px){.cell{font-size:clamp(1.1rem,4vw,1.4rem)}.numpad-btn{border-radius:12px;font-size:1.6rem}.number-pad{gap:6px}}@media (hover:hover) and (pointer:fine){.number-pad{display:none}}@media (hover:none),(pointer:coarse){.number-pad{display:grid}}@media (max-width:900px){.game-layout{grid-template-columns:1fr}.timer-card{text-align:left}.game-panel{order:2}.board-wrap{order:1}}.color-picker{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:24px;height:24px;transition:transform .1s}.color-swatch:hover{transform:scale(1.15)}.color-swatch-active{border-color:var(--ink);transform:scale(1.15)}.lobby-edit{flex-direction:column;gap:12px;margin-top:16px;display:flex}
