@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;--spacing:.25rem;--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}.start{inset-inline-start:var(--spacing)}.grid{display:grid}}:root{--bg-primary:#fdfbf7;--bg-secondary:#fff;--text-primary:#1a1a1a;--text-secondary:#555;--text-muted:#888;--border-color:#e8e4de;--cell-bg:#fff;--cell-selected:#3b82f6;--cell-related:#f5f2eb;--cell-highlighted:#fef3c7;--cell-given:#1a1a1a;--cell-user:#2563eb;--cell-error:#ef4444;--cell-error-bg:#fef2f2;--accent:#3b82f6;--accent-hover:#2563eb;--grid-line:#333;--grid-line-light:#ccc}.dark{--bg-primary:#0a0a0a;--bg-secondary:#171717;--text-primary:#fafafa;--text-secondary:#a3a3a3;--text-muted:#525252;--border-color:#262626;--cell-bg:#171717;--cell-selected:#3b82f6;--cell-related:#262626;--cell-highlighted:#422006;--cell-given:#fafafa;--cell-user:#60a5fa;--cell-error:#f87171;--cell-error-bg:#450a0a;--grid-line:#fafafa;--grid-line-light:#404040}*{box-sizing:border-box}.game-container,.game-header,.game-sidebar,.game-main,.game-footer,.game-center,.timer,.streak-display,.board,.board-row,.cell,.number-pad,.number-btn,.controls,.control-btn,.difficulty-selector,.diff-btn,.game-stats,.new-game-btn,.share-container,.share-btn,.theme-toggle,.completion-overlay,.completion-modal{transition:background-color .3s,border-color .3s,color .3s}html{transition:background-color .3s,color .3s}body{background:var(--bg-primary);color:var(--text-primary);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:background-color .3s,color .3s}.game-container{flex-direction:column;max-width:1200px;min-height:100vh;margin:0 auto;padding:1rem;transition:background-color .3s;display:flex}.game-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1rem 0;display:flex}.header-right{align-items:center;gap:1rem;display:flex}.theme-toggle{border:1px solid var(--border-color);background:var(--bg-secondary);cursor:pointer;border-radius:.5rem;padding:.5rem;font-size:1.25rem;transition:all .15s}.theme-toggle:hover{background:var(--cell-related)}.game-title{letter-spacing:-.025em;font-size:1.5rem;font-weight:700}.game-main{flex:1;gap:2rem;padding:1rem 0;display:flex}.game-sidebar{flex-direction:column;gap:1rem;width:200px;display:flex}.game-center{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1.5rem;display:flex;position:relative}.number-pad-container{justify-content:center;display:flex}.mobile-number-pad{display:none}.game-footer{border-top:1px solid var(--border-color);justify-content:center;padding:1rem 0;display:flex}.timer{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;flex-direction:column;align-items:center;padding:1rem;display:flex}.timer-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.timer-value{font-variant-numeric:tabular-nums;font-size:2rem;font-weight:700}.streak-display{flex-direction:column;align-items:center;gap:.25rem;display:flex}.streak-current{align-items:baseline;gap:.25rem;display:flex}.streak-number{color:#f59e0b;font-size:2rem;font-weight:800}.streak-label{color:var(--text-secondary);font-size:.875rem}.streak-best{color:var(--text-muted);font-size:.75rem}.board{background:var(--text-primary);aspect-ratio:1;border-radius:.5rem;flex-direction:column;width:100%;max-width:500px;display:flex;overflow:hidden}.board-row{flex:1;display:flex}.cell{background:var(--cell-bg);cursor:pointer;-webkit-user-select:none;user-select:none;flex:1;justify-content:center;align-items:center;font-size:1.25rem;font-weight:500;display:flex;position:relative}.cell.given{color:var(--cell-given);font-weight:600}.cell.user{color:var(--cell-user);font-weight:500}.cell.selected{background:var(--cell-selected);color:#fff}.cell.related{background:var(--cell-related)}.cell.highlighted{background:var(--cell-highlighted)}.cell.error{background:var(--cell-error-bg);color:var(--cell-error)}.cell.border-right{border-right:2px solid var(--grid-line)}.cell.border-bottom{border-bottom:2px solid var(--grid-line)}.cell{border-right:1px solid var(--grid-line-light);border-bottom:1px solid var(--grid-line-light)}.cell-value{font-size:inherit;font-weight:inherit}.notes-grid{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);width:100%;height:100%;display:grid}.note{color:var(--text-muted);justify-content:center;align-items:center;font-size:.65rem;display:flex}.note.visible{color:var(--text-secondary)}.number-pad{flex-wrap:wrap;justify-content:center;gap:.5rem;max-width:400px;display:flex}.number-btn{border:1px solid var(--border-color);background:var(--bg-secondary);width:3rem;height:3rem;color:var(--text-primary);cursor:pointer;border-radius:.5rem;font-size:1.25rem;font-weight:600;transition:all .15s}.number-btn:hover{background:var(--cell-related)}.number-btn:active{transform:scale(.95)}.clear-btn{color:var(--cell-error)}.controls{flex-wrap:wrap;gap:.5rem;display:flex}.control-btn{border:1px solid var(--border-color);background:var(--bg-secondary);min-width:80px;color:var(--text-secondary);cursor:pointer;border-radius:.375rem;flex:1;padding:.5rem;font-size:.75rem;transition:all .15s}.control-btn:hover:not(:disabled){background:var(--cell-related);color:var(--text-primary)}.control-btn:disabled{opacity:.4;cursor:not-allowed}.control-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.give-up-btn{color:var(--cell-error)}.give-up-btn.confirm{background:var(--cell-error);color:#fff;border-color:var(--cell-error)}.difficulty-selector{gap:.5rem;display:flex}.diff-btn{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;border-radius:.375rem;flex:1;padding:.375rem .5rem;font-size:.75rem;transition:all .15s}.diff-btn:hover{background:var(--cell-related)}.diff-btn.active{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.game-stats{flex-direction:column;gap:.5rem;margin-top:auto;display:flex}.new-game-btn{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;border-radius:.5rem;padding:.75rem;font-size:.875rem;font-weight:500;transition:all .15s}.new-game-btn:hover:not(:disabled){background:var(--cell-related)}.new-game-btn.active{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.new-game-btn:disabled{opacity:.6;cursor:not-allowed}.new-game-btn.daily{color:#fff;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border:none}.new-game-btn.daily:hover:not(:disabled){opacity:.9}.new-game-btn.daily.active{background:#22c55e}.share-container{margin-top:1rem}.close-completion-btn{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;border-radius:.5rem;margin-top:.75rem;padding:.5rem 1rem;font-size:.875rem;transition:all .15s}.close-completion-btn:hover{background:var(--cell-related);color:var(--text-primary)}.share-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;transition:all .15s}.share-btn:hover{background:var(--accent-hover)}.completion-overlay{background:#00000080;border-radius:.5rem;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.completion-modal{background:var(--bg-secondary);text-align:center;border-radius:1rem;padding:2rem}.completion-modal h2{margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.completion-time{color:var(--text-secondary);margin-bottom:.25rem;font-size:1.25rem}.completion-streak{color:#f59e0b;font-size:1.125rem;font-weight:600}@media (max-width:768px){.game-main{flex-direction:column}.game-sidebar{flex-flow:wrap;width:100%}.game-sidebar>*{flex:1;min-width:140px}.game-stats{flex-direction:row;width:100%}.game-stats .new-game-btn{flex:1}.board{max-width:100%}.cell{font-size:1rem}.note{font-size:.55rem}.number-btn{width:2.5rem;height:2.5rem;font-size:1rem}.number-pad-container{display:none}.mobile-number-pad{justify-content:center;padding:1rem 0;display:flex}}
