*,:before,:after{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;scrollbar-width:none;-ms-overflow-style:none;margin:0;font-family:system-ui,-apple-system,sans-serif}body::-webkit-scrollbar{display:none}#root{flex-direction:column;min-height:100dvh;display:flex}.navbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:100;justify-content:space-between;align-items:center;height:52px;padding:0 20px;display:flex;position:sticky;top:0}.nav-brand{color:var(--text-primary);letter-spacing:-.01em;align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.nav-brand svg{color:var(--player)}.nav-links{align-items:center;gap:4px;display:flex}.nav-link{border-radius:var(--radius-md);width:36px;height:36px;color:var(--text-secondary);justify-content:center;align-items:center;transition:background .1s,color .1s;display:flex}.nav-link:hover{background:var(--accent-light);color:var(--text-primary)}.nav-link.active{color:var(--player);background:var(--highlight-row-col)}.footer{border-top:1px solid var(--border);flex-direction:column;align-items:center;gap:12px;margin-top:auto;padding:24px 20px;display:flex}.footer-links{flex-wrap:wrap;justify-content:center;gap:6px 16px;display:flex}.footer-links a{color:var(--text-muted);font-size:13px;text-decoration:none;transition:color .15s}.footer-links a:hover{color:var(--player)}.footer-copy{color:var(--text-muted);font-size:12px}.footer-attr{color:var(--text-muted);opacity:.7;margin-top:4px;font-size:11px}.welcome-card{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.welcome-scroll{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;gap:12px;max-height:160px;padding:18px 20px;display:flex;overflow-y:auto}.welcome-scroll::-webkit-scrollbar{width:4px}.welcome-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.welcome-heading{color:var(--text-primary);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:14px;font-weight:700}.welcome-card p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.65}.bv-wrap{flex-direction:column;align-items:center;gap:10px;display:flex}.bv-btn{border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;background:0 0;align-items:center;gap:7px;padding:8px 14px;font-size:13px;font-weight:600;transition:border-color .15s,color .15s;display:inline-flex}.bv-btn:hover{border-color:var(--player);color:var(--player)}.bv-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-lg);text-align:left;width:100%;max-width:400px;padding:16px 40px 16px 16px;position:relative}.bv-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;align-items:center;padding:2px;display:flex;position:absolute;top:10px;right:10px}.bv-text{color:var(--text-secondary);margin:0 0 8px;font-size:14px;font-style:italic;line-height:1.65}.bv-ref{color:var(--player);margin:0;font-size:13px;font-weight:600}.ad-slot{justify-content:center;align-items:center;width:100%;display:flex}.ad-placeholder{background:var(--surface-alt);border:1px dashed var(--border);min-height:60px;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;-webkit-user-select:none;user-select:none;border-radius:4px;font-size:11px;font-weight:600}.home-page{flex-direction:column;gap:32px;max-width:480px;margin:0 auto;padding:32px 20px 48px;display:flex}.home-hero{width:100%;line-height:0}.hero-banner{object-fit:cover;object-position:center top;width:100%;max-height:340px;display:block}.mode-cards{flex-direction:column;gap:12px;display:flex}.mode-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);align-items:center;gap:16px;padding:20px;transition:border-color .15s,box-shadow .15s;display:flex}.mode-card:hover{border-color:var(--player);box-shadow:0 4px 16px #0000000f}.mode-card-svg{width:56px;height:56px;color:var(--player);flex-shrink:0;overflow:visible}.mode-card-title{margin-bottom:4px;font-size:16px;font-weight:600}.mode-card-desc{color:var(--text-secondary);font-size:13px;line-height:1.5}.home-how{background:var(--surface-alt);border-radius:var(--radius-lg);flex-direction:column;gap:10px;padding:20px;display:flex}.home-how h2{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-size:14px;font-weight:700}.home-how p{color:var(--text-secondary);font-size:14px;line-height:1.6}.diamond-wrapper{justify-content:center;align-items:center;display:flex;position:relative}.diamond-grid{border:2px solid var(--box-border);background:var(--surface);grid-template-rows:repeat(9,1fr);grid-template-columns:repeat(9,1fr);display:grid;overflow:hidden}.diamond-cell{background:var(--surface);cursor:pointer;justify-content:center;align-items:center;transition:background .1s;display:flex;position:relative;overflow:visible}.diamond-cell:hover:not(.given){background:var(--accent-light)}.diamond-cell.rowcol{background:var(--highlight-row-col)}.diamond-cell.same{background:var(--highlight-same)}.diamond-cell.selected{background:var(--highlight-selected)}.diamond-cell.error .cell-num{color:var(--error)}.cell-num{color:var(--player);-webkit-user-select:none;user-select:none;pointer-events:none;justify-content:center;align-items:center;font-weight:500;line-height:1;display:inline-flex}.diamond-cell.given .cell-num{color:var(--given);font-weight:700}.compact .diamond-grid{border-width:1.5px}@keyframes error-pulse{0%{background:0 0}25%{background:#dc35354d}50%{background:#dc353526}75%{background:#dc35354d}to{background:0 0}}.diamond-cell.error-flash{animation:1.5s ease-in-out error-pulse}.diamond-cell.error-flash .cell-num{color:#dc3535}@keyframes correct-pulse{0%{background:0 0}25%{background:#22c55e4d}50%{background:#22c55e26}75%{background:#22c55e4d}to{background:0 0}}.diamond-cell.correct-flash{animation:1.5s ease-in-out correct-pulse}.diamond-cell.correct-flash .cell-num{color:#16a34a}.numpad{flex-direction:column;align-items:center;gap:8px;display:flex}.numpad-row{gap:8px;display:flex}.numpad-btn{border-radius:var(--radius-md);background:var(--surface);border:1.5px solid var(--border);width:52px;height:52px;color:var(--text-primary);justify-content:center;align-items:center;font-size:20px;font-weight:500;transition:background .1s,border-color .1s;display:flex}.numpad-btn:hover{background:var(--accent-light);border-color:var(--border-strong)}.numpad-btn:active{background:var(--highlight-selected)}.erase-btn{color:var(--text-secondary)}@media (height<=700px){.numpad-btn{width:44px;height:44px;font-size:18px}.numpad,.numpad-row{gap:6px}}@media (height<=600px){.numpad-btn{width:38px;height:38px;font-size:16px}.numpad,.numpad-row{gap:4px}}.win-overlay{z-index:200;background:#0000008c;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.win-card{background:var(--surface);border-radius:var(--radius-lg);text-align:center;z-index:201;width:300px;max-width:90vw;padding:36px 32px;animation:.3s slideUp;position:relative;box-shadow:0 20px 60px #0000004d}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.win-icon{color:#f39c12;margin-bottom:12px}.win-title{letter-spacing:-.02em;color:var(--text-primary);font-size:28px;font-weight:700}.win-sub{color:var(--text-muted);margin-top:4px;margin-bottom:24px;font-size:14px}.win-stats{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px;display:grid}.win-stat{background:var(--surface-alt);border-radius:var(--radius-md);flex-direction:column;gap:4px;padding:12px;display:flex}.ws-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:11px}.ws-val{color:var(--text-primary);font-size:20px;font-weight:600}.win-actions{gap:10px;display:flex}.win-btn{border-radius:var(--radius-md);flex:1;justify-content:center;align-items:center;gap:6px;height:44px;font-size:14px;font-weight:500;transition:opacity .1s;display:flex}.win-btn:hover{opacity:.85}.win-btn.primary{background:var(--accent);color:var(--bg)}.win-btn.secondary{background:var(--accent-light);color:var(--text-primary);border:1px solid var(--border)}.confetti-container{pointer-events:none;z-index:202;position:fixed;inset:0;overflow:hidden}.confetti-piece{border-radius:2px;animation:linear forwards fall;position:absolute;top:-10px}@keyframes fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(110vh)rotate(720deg)}}@media (prefers-reduced-motion:reduce){.confetti-piece{display:none}}.game-page{background-image:var(--game-bg-image);background-position:50%;background-size:cover;background-attachment:fixed;flex-direction:column;align-items:center;gap:16px;min-height:calc(100dvh - 52px);padding:16px 16px 32px;display:flex}.game-loading{height:calc(100vh - 52px);color:var(--text-muted);justify-content:center;align-items:center;display:flex}.game-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;width:100%;max-width:480px;display:flex}.game-mode-label{text-transform:uppercase;letter-spacing:.06em;color:var(--player);font-size:13px;font-weight:600}.diff-pills{gap:4px;display:flex}.game-counters{gap:20px;display:flex}.counter{flex-direction:column;align-items:center;gap:2px;min-width:52px;display:flex}.game-board-area{flex:1;justify-content:center;align-items:center;display:flex}.game-actions{gap:8px;display:flex}.action-btn{border-radius:var(--radius-md);background:var(--surface);border:1.5px solid var(--border);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;flex-direction:column;align-items:center;gap:4px;min-width:54px;padding:10px 14px;font-size:10px;font-weight:500;transition:all .1s;display:flex}.action-btn:hover{background:var(--accent-light);border-color:var(--border-strong);color:var(--text-primary)}.action-btn span{font-size:9px}@media (width<=400px){.action-btn{min-width:44px;padding:8px 10px}}@media (height<=700px){.game-page{gap:10px;padding-top:10px;padding-bottom:16px}.counter-val{font-size:15px}.counter-label{font-size:9px}.action-btn{min-width:46px;padding:7px 10px}.action-btn span{font-size:8px}}@media (height<=600px){.game-page{gap:6px;padding-top:8px;padding-bottom:8px}.game-counters{gap:12px}.counter{min-width:40px}.action-btn{min-width:40px;padding:5px 8px}}.game-landscape,.game-controls{display:contents}@media (height<=500px) and (width>=600px){.game-landscape{flex-direction:row;justify-content:center;align-items:center;gap:20px;width:100%;display:flex}.game-board-area{flex:none}.game-controls{flex-direction:column;flex:none;align-items:center;gap:10px;display:flex}.game-actions{flex-wrap:wrap;justify-content:center;max-width:200px}}.game-bottom{justify-content:center;padding:8px 0 24px;display:flex}.action-btn.check-correct{color:#16a34a;background:#22c55e26;border-color:#16a34a}.action-btn.check-correct svg{color:#16a34a}.challenge-page{flex-direction:column;align-items:center;gap:14px;min-height:calc(100vh - 52px);padding:16px 16px 32px;display:flex}.challenge-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;width:100%;max-width:480px;display:flex}.challenge-title{color:var(--text-primary);letter-spacing:-.01em;font-size:16px;font-weight:700}.challenge-sub{color:var(--text-muted);margin-top:2px;font-size:12px}.challenge-counters{gap:24px;display:flex}.counter{flex-direction:column;align-items:center;gap:2px;display:flex}.counter-val{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:18px;font-weight:600}.counter-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:10px}.four-diamond-layout{flex-direction:column;align-items:center;gap:8px;display:flex}.fd-top,.fd-bottom{justify-content:center;display:flex}.fd-middle{align-items:center;gap:12px;display:flex}.fd-center-label{flex-direction:column;align-items:center;gap:6px;min-width:52px;display:flex}.fd-active-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.fd-dot{background:var(--border-strong);border-radius:50%;width:8px;height:8px;transition:background .2s}.fd-dot.done{background:#2ecc71}.fd-dot.active-dot{background:var(--player);box-shadow:0 0 0 2px var(--highlight-selected)}.small-diamond-wrapper{border-radius:var(--radius-md);cursor:pointer;outline-offset:3px;outline:2px solid #0000;transition:transform .15s,box-shadow .15s;position:relative}.small-diamond-wrapper:hover{transform:scale(1.03)}.small-diamond-wrapper.sd-active{outline-color:var(--player)}.small-diamond-wrapper.sd-complete{outline-color:#2ecc71}.sd-complete-overlay{color:#2ecc71;border-radius:var(--radius-md);pointer-events:none;background:#2ecc7126;justify-content:center;align-items:center;font-size:28px;font-weight:700;display:flex;position:absolute;inset:0}.challenge-active-info{color:var(--text-secondary);align-items:center;gap:10px;font-size:13px;font-weight:500;display:flex}.done-badge{color:#fff;background:#2ecc71;border-radius:20px;padding:2px 8px;font-size:11px;font-weight:700}.diff-pills{flex-wrap:wrap;gap:4px;display:flex}.diff-pill{border:1.5px solid var(--border);color:var(--text-secondary);background:0 0;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:500;transition:all .1s}.diff-pill:hover{border-color:var(--border-strong);color:var(--text-primary)}.diff-pill.active{background:var(--player);border-color:var(--player);color:#fff}.stats-page{flex-direction:column;gap:24px;max-width:480px;margin:0 auto;padding:32px 20px 48px;display:flex}.stats-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.stats-header h1{margin:0;font-size:24px;font-weight:700}.clear-btn{border:1.5px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:20px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .15s}.clear-btn:hover{color:#e05252;border-color:#e05252}.clear-btn.clear-confirm{color:#fff;background:#e05252;border-color:#e05252}.stats-empty{text-align:center;color:var(--text-muted);padding:48px 20px;font-size:14px;line-height:1.7}.stats-summary{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-lg);justify-content:space-around;gap:8px;padding:20px 12px;display:flex}.summary-item{flex-direction:column;align-items:center;gap:4px;min-width:72px;display:flex}.summary-val{color:var(--player);font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;line-height:1}.summary-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-size:11px}.stats-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=360px){.stats-grid{grid-template-columns:1fr}}.stat-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:12px;padding:16px;display:flex}.stat-card-header{justify-content:space-between;align-items:baseline;display:flex}.stat-diff-label{color:var(--text-primary);font-size:14px;font-weight:700}.stat-win-rate{color:var(--player);font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.stat-rows{flex-direction:column;gap:6px;display:flex}.stat-row{justify-content:space-between;align-items:center;font-size:12px;display:flex}.stat-row-label{color:var(--text-muted)}.stat-row-val{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:600}.stat-row-highlight .stat-row-val{color:var(--player)}.info-page{flex-direction:column;gap:28px;max-width:560px;margin:0 auto;padding:32px 20px 56px;display:flex}.info-page h1{color:var(--text-primary);margin:0;font-size:26px;font-weight:700}.info-page section{flex-direction:column;gap:10px;display:flex}.info-page h2{text-transform:uppercase;letter-spacing:.07em;color:var(--text-secondary);margin:0;font-size:13px;font-weight:700}.info-page p{color:var(--text-secondary);margin:0;font-size:15px;line-height:1.65}.info-page ul{flex-direction:column;gap:8px;margin:0;padding-left:18px;display:flex}.info-page li{color:var(--text-secondary);font-size:15px;line-height:1.55}.info-page a{color:var(--player);text-decoration:none}.info-page a:hover{text-decoration:underline}.legal-date{color:var(--text-muted);margin:-16px 0 0;font-size:13px}.theme-grid{grid-template-columns:1fr 1fr;gap:14px;width:100%;display:grid}.theme-card{border:2px solid var(--border);cursor:pointer;text-align:left;background:0 0;border-radius:12px;padding:0;transition:border-color .15s,box-shadow .15s;position:relative;overflow:hidden}.theme-card--active{border-color:var(--player);box-shadow:0 0 0 2px var(--player)}.theme-card__preview{aspect-ratio:16/10;width:100%;position:relative;overflow:hidden}.theme-card--light .theme-card__preview{background:#f0eef8}.theme-card--dark .theme-card__preview{background:#0d0c14}.theme-card__bg{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.theme-card__grid{transform-origin:50%;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);display:grid;position:absolute;inset:0;transform:rotate(45deg)scale(.55)}.theme-card__cell{border:1px solid #80808066;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.theme-card--light .theme-card__cell{color:#1a1916;background:#ffffffb3}.theme-card--dark .theme-card__cell{color:#f0ede6;background:#14121eb3}.theme-card__label{color:var(--text-primary);background:var(--surface);padding:8px 10px;font-size:12px;font-weight:600}.theme-card__check{background:var(--player);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:flex;position:absolute;top:6px;right:8px}.contact-form{flex-direction:column;gap:16px;width:100%;display:flex}.contact-label{color:var(--color-text,#111);flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.contact-optional{color:var(--color-text-secondary,#777);font-size:12px;font-weight:400}.contact-input{border:1px solid var(--color-border,#ddd);background:var(--color-surface,#fff);color:var(--color-text,#111);border-radius:8px;outline:none;padding:10px 12px;font-family:inherit;font-size:15px;transition:border-color .15s}.contact-input:focus{border-color:var(--color-player,#5b7cfa)}.contact-textarea{resize:vertical;min-height:120px}.contact-btn{background:var(--color-player,#5b7cfa);color:#fff;cursor:pointer;border:none;border-radius:8px;align-self:flex-start;padding:10px 24px;font-size:15px;font-weight:600;transition:opacity .15s}.contact-btn:hover{opacity:.88}.contact-apps-section h2{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary,#777);margin:0 0 12px;font-size:13px}.contact-apps-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;display:grid}.contact-app-chip{color:var(--color-text,#111);border:1px solid var(--color-border,#e0e0e0);border-radius:10px;flex-direction:column;align-items:center;gap:6px;text-decoration:none;transition:box-shadow .15s,transform .15s;display:flex;overflow:hidden}.contact-app-chip:hover{transform:translateY(-2px);box-shadow:0 3px 12px #0000001a}.contact-app-img{aspect-ratio:16/9;object-fit:cover;width:100%}.contact-app-name{text-align:center;padding:0 8px 8px;font-size:12px;font-weight:600}.try-apps-page{max-width:720px}.try-apps-intro{margin:0 0 8px}.apps-grid{flex-direction:column;gap:16px;width:100%;display:flex}.app-card{background:var(--color-surface,#f8f8f8);border:1px solid var(--color-border,#e0e0e0);color:inherit;border-radius:12px;align-items:center;gap:16px;text-decoration:none;transition:box-shadow .15s,transform .15s;display:flex;overflow:hidden}.app-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.app-card__img{object-fit:cover;flex-shrink:0;width:120px;height:72px}.app-card__body{flex-direction:column;gap:4px;padding:12px 16px 12px 0;display:flex}.app-card__name{color:var(--color-text,#111);font-size:15px;font-weight:600}.app-card__desc{color:var(--color-text-secondary,#555);font-size:13px;line-height:1.5}@media (width<=480px){.app-card__img{width:96px;height:60px}}.classic-grid{border:2.5px solid var(--box-border);border-radius:4px;flex-direction:column;display:inline-flex;overflow:hidden;box-shadow:0 4px 24px #0000001f}.classic-row{display:flex}.classic-cell{width:var(--cell-size,44px);height:var(--cell-size,44px);cursor:pointer;border-right:1px solid var(--cell-border);border-bottom:1px solid var(--cell-border);background:var(--cell-bg);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;transition:background 80ms;display:flex;position:relative}.classic-cell.br-box{border-right:2.5px solid var(--box-border)}.classic-cell.bb-box{border-bottom:2.5px solid var(--box-border)}.classic-row .classic-cell:last-child{border-right:none}.classic-row:last-child .classic-cell{border-bottom:none}.classic-cell.selected{background:var(--cell-selected)}.classic-cell.rowcol{background:var(--cell-highlight)}.classic-cell.same{background:var(--cell-same)}.classic-num{font-size:var(--num-size,20px);color:var(--player);-webkit-user-select:none;user-select:none;pointer-events:none;font-weight:500;line-height:1}.classic-cell.given .classic-num{color:var(--given);font-weight:700}.classic-cell.error .classic-num{color:var(--error)}@keyframes classic-error-pulse{0%{background:0 0}25%{background:#dc35354d}50%{background:#dc353526}75%{background:#dc35354d}to{background:0 0}}.classic-cell.error-flash{animation:1.5s ease-in-out classic-error-pulse}.classic-cell.error-flash .classic-num{color:#dc3535}.classic-page{background-image:var(--game-bg-image);background-position:50%;background-size:cover;background-attachment:fixed;flex-direction:column;align-items:center;gap:16px;min-height:calc(100dvh - 52px);padding:16px 16px 32px;display:flex}@media (height<=700px){.classic-page{gap:10px;padding-top:10px;padding-bottom:16px}}@media (height<=600px){.classic-page{gap:6px;padding-top:8px;padding-bottom:8px}}:root,[data-theme=light]{--bg:#f0eef8;--surface:#ffffffd1;--surface-alt:#f0eefad1;--border:#d8d5ce;--border-strong:#b0aca3;--text-primary:#1a1916;--text-secondary:#5a5750;--text-muted:#9a968f;--accent:#2d2a26;--accent-light:#e8e5df;--given:#1a1916;--player:#1a5f7a;--error:#c0392b;--highlight-row-col:#b4d2e68c;--highlight-same:#96c3da8c;--highlight-selected:#78afcda6;--cell-border:#c8c4bc;--box-border:#5a5750;--game-bg-image:url(/og-images/bg-light.jpg);--cell-number:#1a1916;--radius-sm:4px;--radius-md:8px;--radius-lg:12px}[data-theme=light-plain]{--bg:#f8f7f4;--surface:#fff;--surface-alt:#f0eeea;--border:#d8d5ce;--border-strong:#b0aca3;--text-primary:#1a1916;--text-secondary:#5a5750;--text-muted:#9a968f;--accent:#2d2a26;--accent-light:#e8e5df;--given:#1a1916;--player:#1a5f7a;--error:#c0392b;--highlight-row-col:#e8f4f8;--highlight-same:#cce8f0;--highlight-selected:#b8dce8;--cell-border:#d0ccc5;--box-border:#5a5750;--game-bg-image:none;--cell-number:#1a1916;--radius-sm:4px;--radius-md:8px;--radius-lg:12px}[data-theme=dark]{--bg:#0d0c14;--surface:#1e1c28cc;--surface-alt:#262432cc;--border:#3a3848;--border-strong:#5a5870;--text-primary:#f0ede6;--text-secondary:#a0998e;--text-muted:#605a52;--accent:#e0dcd4;--accent-light:#2a2935;--given:#f0ede6;--player:#5bbcd8;--error:#e05a4a;--highlight-row-col:#1e3246b3;--highlight-same:#193750b3;--highlight-selected:#143c5acc;--cell-border:#2e2c40;--box-border:#706a80;--game-bg-image:url(/og-images/bg-dark.jpg);--cell-number:#f0ede6;--radius-sm:4px;--radius-md:8px;--radius-lg:12px}[data-theme=dark-plain]{--bg:#16151200;--surface:#1e1d1a;--surface-alt:#252320;--border:#3a3830;--border-strong:#5a5750;--text-primary:#f0ede6;--text-secondary:#a0998e;--text-muted:#605a52;--accent:#e0dcd4;--accent-light:#2a2925;--given:#f0ede6;--player:#5bbcd8;--error:#e05a4a;--highlight-row-col:#1e2a30;--highlight-same:#1a303a;--highlight-selected:#163545;--cell-border:#2e2c28;--box-border:#706a60;--game-bg-image:none;--cell-number:#f0ede6;--radius-sm:4px;--radius-md:8px;--radius-lg:12px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}a{color:var(--player);text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}
