@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.1spbknb88wd48.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:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.1gsd1jahc5dg_.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:Outfit Fallback;src:local(Arial);ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.0%;size-adjust:99.82%}.outfit_8778cd42-module__wRojWG__className{font-family:Outfit,Outfit Fallback;font-style:normal}.outfit_8778cd42-module__wRojWG__variable{--font-outfit:"Outfit", "Outfit Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:var(--font-outfit), system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-outfit), system-ui, sans-serif;--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{.fixed{position:fixed}.grid{display:grid}.h-full{height:100%}.min-h-full{min-height:100%}.border{border-style:var(--tw-border-style);border-width:1px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--lre-primary:#2563eb;--lre-primary-hover:#1d4ed8;--lre-primary-light:#dbeafe;--lre-emerald:#059669;--lre-text:#1f2937;--lre-text-muted:#6b7280;--lre-border:#e5e7eb;--lre-surface:#fff;--lre-surface-muted:#f9fafb;--lre-footer:#111827;--lre-danger:#dc2626;--lre-warning:#d97706}*{box-sizing:border-box}body{font-family:var(--font-sans);background:var(--lre-surface-muted);color:var(--lre-text);min-height:100vh;margin:0}.app-shell{flex-direction:column;min-height:100vh;display:flex}.lre-header{background:var(--lre-surface);border-bottom:1px solid var(--lre-border);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.lre-header-left{flex-direction:column;align-items:flex-start;gap:.35rem;display:flex}.lre-back-link{color:var(--lre-primary);font-size:.8rem;font-weight:600;text-decoration:none}.lre-back-link:hover{text-decoration:underline}.lre-logo-link{align-items:center;display:flex}.lre-logo{width:auto;max-width:min(55vw,220px);height:2rem}.lre-header-meta{flex-direction:column;align-items:flex-end;gap:.15rem;display:flex}.lre-games-badge{text-transform:uppercase;letter-spacing:.08em;color:var(--lre-primary);font-size:.65rem;font-weight:700}.lre-game-name{color:var(--lre-text-muted);font-size:.85rem;font-weight:600}.lre-footer{background:var(--lre-footer);color:#9ca3af;text-align:center;margin-top:auto;padding:1.25rem 1.5rem;font-size:.8rem}.lre-footer p{margin:0 0 .5rem}.lre-footer-links{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.lre-footer-links a{color:#d1d5db;text-decoration:none;transition:color .15s}.lre-footer-links a:hover{color:#fff}.app-main{flex:1;width:100%;max-width:1100px;margin:0 auto}.app-main-centered{flex-direction:column;justify-content:center;align-items:center;padding:1.5rem;display:flex}.game-panel{flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:450px;margin:0 auto;display:flex}.setup-panel{background:var(--lre-surface);border:1px solid var(--lre-border);border-radius:4px;width:100%;max-width:520px;padding:1.75rem;box-shadow:0 4px 24px #0000000f}.setup-badge{background:var(--lre-primary-light);color:var(--lre-primary);text-transform:uppercase;letter-spacing:.06em;border-radius:2px;margin-bottom:.5rem;padding:.2rem .65rem;font-size:.7rem;font-weight:700;display:inline-block}.setup-header h2{color:var(--lre-text);margin:0 0 .35rem;font-size:1.35rem}.setup-header p{color:var(--lre-text-muted);margin:0 0 1.25rem;font-size:.9rem}.setup-section{margin-bottom:1.25rem}.setup-section h3{text-transform:uppercase;letter-spacing:.06em;color:var(--lre-text-muted);margin:0 0 .6rem;font-size:.75rem}.option-grid.three{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.option-grid.two{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.option-grid.timer{flex-wrap:wrap;gap:.4rem;display:flex}.option-card{border:1px solid var(--lre-border);background:var(--lre-surface);color:var(--lre-text);cursor:pointer;border-radius:2px;flex-direction:column;align-items:center;gap:.2rem;padding:.85rem .4rem;font-family:inherit;transition:all .15s;display:flex}.option-card:hover{border-color:var(--lre-primary);background:var(--lre-primary-light)}.option-card.active{border-color:var(--lre-primary);background:var(--lre-primary-light);box-shadow:inset 0 0 0 1px var(--lre-primary)}.option-label{font-size:.9rem;font-weight:700}.option-desc{color:var(--lre-text-muted);text-align:center;font-size:.68rem}.option-chip{border:1px solid var(--lre-border);background:var(--lre-surface);color:var(--lre-text);cursor:pointer;border-radius:2px;padding:.45rem .85rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:all .15s}.option-chip:hover{border-color:var(--lre-primary)}.option-chip.active{border-color:var(--lre-primary);background:var(--lre-primary);color:#fff}.daily-label{color:var(--lre-primary);margin:.5rem 0 0;font-size:.8rem;font-weight:600}.daily-banner{color:var(--lre-primary);text-align:center;margin:-.25rem 0 0;font-size:.8rem;font-weight:600}.btn-primary{background:var(--lre-primary);color:#fff;cursor:pointer;border:none;border-radius:2px;width:100%;padding:.9rem;font-family:inherit;font-size:.95rem;font-weight:700;transition:background .15s}.btn-primary:hover{background:var(--lre-primary-hover)}.best-times-panel{border-top:1px solid var(--lre-border);margin-top:1.25rem;padding-top:1.25rem}.best-times-panel h3{color:var(--lre-text);margin:0 0 .75rem;font-size:.85rem}.best-times-panel ul{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.best-times-panel li{background:var(--lre-surface-muted);border-radius:2px;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.5rem .65rem;font-size:.8rem;display:grid}.best-time-rank{color:var(--lre-primary);font-weight:800}.best-time-value{font-variant-numeric:tabular-nums;font-weight:700}.best-time-meta{color:var(--lre-text-muted);font-size:.72rem}.stats-panel{grid-template-columns:repeat(4,1fr);gap:.5rem;width:min(90vw,450px);display:grid}.stat-card{background:var(--lre-surface);border:1px solid var(--lre-border);border-radius:2px;padding:.65rem .75rem}.stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--lre-text-muted);margin-bottom:.15rem;font-size:.62rem;display:block}.stat-value{font-variant-numeric:tabular-nums;color:var(--lre-text);font-size:1.1rem;font-weight:800}.accent-green{color:var(--lre-emerald)}.accent-red{color:var(--lre-danger)}.mini-bar{background:var(--lre-border);border-radius:1px;height:3px;margin-top:.35rem;overflow:hidden}.mini-bar-fill{background:var(--lre-primary);height:100%;transition:width .3s}.timer-card.paused{opacity:.6}.timer-value.urgent{color:var(--lre-danger);animation:1s infinite pulse}@keyframes pulse{50%{opacity:.5}}.keyboard-hints{text-align:center;color:var(--lre-text-muted);margin:0;font-size:.72rem}.pause-banner{text-align:center;width:100%;color:var(--lre-warning);background:#fef3c7;border:1px solid #fcd34d;border-radius:2px;padding:.55rem;font-size:.85rem;font-weight:700}.status-message{min-height:1.25rem;color:var(--lre-text-muted);text-align:center;margin:0;font-size:.85rem}.game-meta{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.game-meta span{background:var(--lre-primary-light);color:var(--lre-primary);border:1px solid #bfdbfe;border-radius:2px;padding:.2rem .65rem;font-size:.75rem;font-weight:600}.controls{flex-wrap:wrap;justify-content:center;gap:.6rem;width:min(90vw,450px);display:flex}.controls .btn-next{flex:100%}.btn{cursor:pointer;border:none;border-radius:2px;padding:.7rem 1.1rem;font-family:inherit;font-size:.85rem;font-weight:700;transition:opacity .12s,transform .12s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-hint{background:var(--lre-emerald);color:#fff}.btn-undo{background:var(--lre-surface);color:var(--lre-text);border:1px solid var(--lre-border)}.btn-pause{color:#fff;background:#f59e0b}.btn-solve{background:var(--lre-danger);color:#fff}.btn-next{background:var(--lre-primary);color:#fff}.btn-ghost{color:var(--lre-text-muted);border:1px solid var(--lre-border);background:0 0}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#11182799;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-card{background:var(--lre-surface);border:1px solid var(--lre-border);border-radius:4px;width:100%;max-width:400px;padding:1.75rem;position:relative;box-shadow:0 24px 64px #00000026}.modal-card.win{border-top:3px solid var(--lre-primary)}.modal-card.lose{border-top:3px solid var(--lre-danger)}.modal-glow{display:none}.modal-card h2{text-align:center;color:var(--lre-text);margin:0 0 .75rem;font-size:1.5rem}.modal-lead{text-align:center;color:var(--lre-text-muted);margin:0 0 1rem}.modal-stats{grid-template-columns:1fr 1fr;gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.modal-stats li{background:var(--lre-surface-muted);border:1px solid var(--lre-border);border-radius:2px;flex-direction:column;gap:.15rem;padding:.65rem .75rem;display:flex}.modal-stats span{text-transform:uppercase;letter-spacing:.04em;color:var(--lre-text-muted);font-size:.65rem}.modal-stats strong{color:var(--lre-text);font-size:1rem}.modal-actions{flex-direction:column;gap:.45rem;margin-top:1.25rem;display:flex}.modal-actions .btn{width:100%;padding:.8rem}.animate-fade-in{animation:.35s fade-in}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hub-main{flex-direction:column;align-items:center;min-height:calc(100vh - 140px);padding:2rem 1.5rem 3rem;display:flex}.hub-hero{text-align:center;max-width:480px;margin-bottom:2rem}.hub-badge{background:var(--lre-primary-light);color:var(--lre-primary);text-transform:uppercase;letter-spacing:.06em;border-radius:2px;margin-bottom:.75rem;padding:.2rem .65rem;font-size:.7rem;font-weight:700;display:inline-block}.hub-hero h1{color:var(--lre-text);margin:0 0 .5rem;font-size:1.75rem}.hub-hero p{color:var(--lre-text-muted);margin:0}.hub-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;width:100%;max-width:640px;display:grid}.hub-card{background:var(--lre-surface);border:1px solid var(--lre-border);color:inherit;border-radius:4px;flex-direction:column;padding:1.5rem;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;box-shadow:0 4px 16px #0000000a}.hub-card:hover{border-color:var(--lre-primary);transform:translateY(-3px);box-shadow:0 8px 28px #2563eb1f}.hub-card-tag{text-transform:uppercase;letter-spacing:.06em;color:var(--lre-primary);margin-bottom:.75rem;font-size:.65rem;font-weight:700}.hub-card-emoji{margin-bottom:.75rem;font-size:2.5rem;line-height:1}.hub-card h2{color:var(--lre-text);margin:0 0 .5rem;font-size:1.25rem}.hub-card p{color:var(--lre-text-muted);flex:1;margin:0 0 1rem;font-size:.9rem;line-height:1.5}.hub-card-cta{color:var(--lre-primary);font-size:.85rem;font-weight:700}@media (max-width:520px){.lre-header{flex-direction:column;align-items:flex-start}.lre-header-meta{align-items:flex-start}.option-grid.three,.option-grid.two{grid-template-columns:1fr}.stats-panel{grid-template-columns:repeat(2,1fr)}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
.sudoku-title{letter-spacing:.12em;color:var(--lre-text);text-align:center;margin:0;font-size:1.75rem;font-weight:800}.sudoku-subtitle{color:var(--lre-text-muted);text-align:center;margin:-.5rem 0 0;font-size:.85rem}.board-wrapper{background:var(--lre-surface);border:1px solid var(--lre-border);border-radius:4px;width:min(90vw,450px);margin:0 auto;padding:.5rem;box-shadow:0 4px 20px #0000000f}.board-disabled{opacity:.65;pointer-events:none}.sudoku-table{border-collapse:collapse;table-layout:fixed;border:3px solid var(--lre-primary);background:var(--lre-surface);border-radius:2px;width:100%;overflow:hidden}.sudoku-td{text-align:center;vertical-align:middle;background:#f9fafb;border:1px solid #d1d5db;width:11.111%;height:0;margin:0;padding:0;position:relative}.sudoku-td:before{content:"";padding-top:100%;display:block}.sudoku-td.box-right{border-right:2px solid var(--lre-primary)}.sudoku-td.box-bottom{border-bottom:2px solid var(--lre-primary)}.sudoku-value,.sudoku-input{width:100%;height:100%;color:var(--lre-text);text-align:center;box-sizing:border-box;background:0 0;border:none;outline:none;justify-content:center;align-items:center;margin:0;padding:0;font-family:inherit;font-size:clamp(1rem,4vw,1.45rem);font-weight:600;line-height:1;display:flex;position:absolute;inset:0}.sudoku-input{color:var(--lre-primary);cursor:text;caret-color:var(--lre-primary)}.sudoku-input:focus{background:var(--lre-primary-light);box-shadow:inset 0 0 0 2px var(--lre-primary);color:var(--lre-primary-hover)}.sudoku-td:not(.fixed){cursor:pointer}.sudoku-td.fixed{cursor:default;background:#f3f4f6}.sudoku-td.fixed .sudoku-value{color:var(--lre-text);font-weight:700}.sudoku-td.user .sudoku-input{color:var(--lre-primary)}.sudoku-td.hint .sudoku-input,.sudoku-td.hint .sudoku-value{color:var(--lre-emerald)}.sudoku-td.error .sudoku-input{color:var(--lre-danger);background:#fef2f2}.sudoku-td.selected{background:var(--lre-primary-light)}.sudoku-td.selected .sudoku-input{box-shadow:inset 0 0 0 2px var(--lre-primary)}.sudoku-td.related{background:#eff6ff}.sudoku-td.same-num .sudoku-input,.sudoku-td.same-num .sudoku-value{color:var(--lre-emerald)}.sudoku-input:disabled{cursor:not-allowed}
.lights-title{letter-spacing:.12em;color:var(--lre-text);text-align:center;margin:0;font-size:1.75rem;font-weight:800}.lights-subtitle{color:var(--lre-text-muted);text-align:center;max-width:360px;margin:-.25rem 0 0;font-size:.85rem;line-height:1.5}.lights-stats{grid-template-columns:1fr 1fr;gap:.5rem;width:min(90vw,320px);display:grid}.accent-amber{color:#d97706}.lights-difficulty{justify-content:center;gap:.5rem;display:flex}.lights-board-wrapper{background:#111827;border:1px solid #374151;border-radius:8px;width:min(90vw,360px);padding:1rem;box-shadow:0 0 40px #2563eb26,inset 0 0 60px #00000080}.lights-board{aspect-ratio:1;gap:.5rem;width:100%;display:grid}.light-cell{cursor:pointer;background:#1f2937;border:none;border-radius:8px;padding:0;transition:transform .12s,box-shadow .15s,background .15s;position:relative}.light-cell:hover:not(:disabled){transform:scale(1.04)}.light-cell:disabled{cursor:default}.light-cell.off{background:#1f2937;box-shadow:inset 0 2px 8px #0009}.light-cell.off .light-bulb{box-shadow:none;background:#4b5563}.light-cell.on{background:#1e3a5f;box-shadow:0 0 16px #2563eb80,inset 0 0 12px #3b82f64d}.light-cell.on .light-bulb{background:radial-gradient(circle at 35% 35%,#fff 0%,#93c5fd 40%,#2563eb 100%);box-shadow:0 0 12px #60a5fa,0 0 24px #2563ebcc}.light-bulb{border-radius:50%;transition:background .15s,box-shadow .15s;position:absolute;inset:22%}.lights-controls{width:min(90vw,360px)}.lights-controls .btn{width:100%}
