:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body{height:100%;width:100%!important;box-shadow:none!important;background-color:#f8fafc!important;border:none!important;outline:none!important;justify-content:center!important;align-items:flex-start!important;margin:0!important;padding:0!important;display:flex!important;overflow-x:hidden!important}#root{background-color:#f8fafc!important;border:none!important;outline:none!important;justify-content:center!important;width:100%!important;display:flex!important}.app-wrapper{box-sizing:border-box;flex-direction:column;align-items:center;display:flex;background-color:#f8fafc!important;border:none!important;outline:none!important;width:100%!important;max-width:100%!important;padding:24px 16px!important}.container{box-sizing:border-box;background:#fff;border-radius:8px;width:100%;max-width:1000px;padding:24px;border:none!important;outline:none!important;margin:0 auto!important;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008!important}.title-area{text-align:center;margin-bottom:16px}.title-area h1{color:#0f172a;letter-spacing:-.5px;margin:0;font-size:1.8rem;font-weight:700}.defect-bar{box-sizing:border-box;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;justify-content:center;align-items:center;gap:12px;width:100%;margin-bottom:16px;padding:6px 12px;font-size:.85rem;display:flex}.defect-label{color:#64748b;font-weight:500}.defect-value{font-weight:600}.defect-grey{color:#0f172a!important}.defect-separator{color:#cbd5e1}.top-controls-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:12px;margin-bottom:18px;padding:16px;display:flex}.controls-row{border-bottom:1px solid #f1f5f9;align-items:center;gap:24px;width:100%;padding-bottom:12px;display:flex;justify-content:center!important}.controls-row:last-child{border-bottom:none;padding-bottom:0}.controls-row.row-1,.controls-row.row-2,.controls-row.row-3,.controls-row.row-4{justify-content:center!important}.inner-flex-group{align-items:center;gap:8px;display:flex}.slider-area{flex:200px;align-items:center;gap:12px;display:flex}.slider-label{color:#475569;white-space:nowrap;font-size:.82rem;font-weight:600}#grid-size-slider{cursor:pointer;accent-color:#2563eb;background-color:#0000;background-image:linear-gradient(#cbd5e1,#cbd5e1);background-position:50%;background-repeat:no-repeat;background-size:100% 6px;outline:none;flex-grow:1;height:24px;margin:0;padding:0}.preset-container{align-items:center;gap:8px;display:flex}.preset-label{color:#475569;font-size:.82rem;font-weight:600}.preset-select{color:#0f172a;cursor:pointer;background-color:#fff;border:1px solid #cbd5e1;border-radius:6px;outline:none;height:32px;padding:0 10px;font-size:.85rem}.preset-select option{color:#0f172a;background-color:#fff}.stamp-badge-short{color:#854d0e;cursor:pointer;background:#fef08a;border:1px solid #fde047;border-radius:6px;align-items:center;padding:4px 10px;font-size:.82rem;font-weight:600;transition:background .1s;display:inline-flex}.stamp-badge-short:hover{background:#fde047}.stamp-badge-short:disabled{opacity:.4;cursor:not-allowed;color:#64748b;background:#cbd5e1;border-color:#cbd5e1}.tool-selector-block{background:#cbd5e1;border-radius:6px;padding:2px;display:flex}.tool-btn{color:#475569;cursor:pointer;background:0 0;border:none;border-radius:4px;height:28px;padding:0 12px;font-size:.82rem;font-weight:600;transition:all .1s}.tool-btn.active{color:#0f172a;background:#fff;box-shadow:0 1px 2px #0000001a}.tool-btn:disabled{opacity:.5;cursor:not-allowed}.selection-actions-panel{box-sizing:border-box;background:#eff6ff;border-radius:8px;justify-content:center;gap:8px;width:100%;display:flex;border:1.5px dashed #3b82f6!important;padding:12px!important}.selection-actions-panel.no-bounds{background:#f8fafc;border-color:#cbd5e1!important}.palette-container{align-items:center;gap:12px;display:flex}.palette-label{color:#475569;font-size:.82rem;font-weight:600}.swatches{gap:6px;display:flex}.swatch{cursor:pointer;border:2px solid #e2e8f0;border-radius:50%;outline:none;width:18px;height:18px;padding:0;transition:transform .1s,border-color .1s}.swatch:hover{transform:scale(1.15)}.swatch.active{border-color:#0f172a;transform:scale(1.1)}.game-area{flex-direction:column;align-items:center;width:100%;display:flex}.board-container{touch-action:none;background:#fff;border:1px solid #e2e8f0;border-radius:6px;justify-content:center;padding:8px;display:flex}.grid-container{-webkit-user-select:none;user-select:none;background:#f1f5f9;border:1px solid #cbd5e1;flex-direction:column;display:flex;overflow:hidden}.row{display:flex}.cell{box-sizing:border-box;cursor:pointer;border-bottom:1px solid #f1f5f9;border-right:1px solid #f1f5f9;justify-content:center;align-items:center;transition:background-color .12s;display:flex;position:relative}.cell.inactive{background-color:#fff!important}.cell.inactive:hover{background-color:#f1f5f9!important}.cell.preview-stamp{opacity:.55;border:1px dashed #64748b!important}.cell.selected-cell{z-index:5}.cell.sel-top{border-top:2px solid #ef4444!important}.cell.sel-bottom{border-bottom:2px solid #ef4444!important}.cell.sel-left{border-left:2px solid #ef4444!important}.cell.sel-right{border-right:2px solid #ef4444!important}.queen-icon{color:#fff;-webkit-user-select:none;user-select:none;pointer-events:none;z-index:10;justify-content:center;align-items:center;animation:.15s cubic-bezier(.34,1.56,.64,1) scale-up;display:flex}@keyframes scale-up{0%{transform:scale(.6)}to{transform:scale(1)}}.controls-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%;margin-top:18px;display:flex}.primary-actions,.utility-actions{align-items:center;gap:8px;display:flex}.action-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;justify-content:center;align-items:center;gap:6px;height:36px;padding:0 12px;font-size:.85rem;font-weight:500;transition:all .1s;display:inline-flex;box-shadow:0 1px 2px #0000000d}.action-btn:hover{color:#0f172a;background:#f8fafc;border-color:#94a3b8}.action-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.primary-btn{color:#fff!important;background:#2563eb!important;border-color:#2563eb!important}.primary-btn:hover{background:#1d4ed8!important}.cancel-btn{color:#fff!important;background:#dc2626!important;border-color:#dc2626!important}.cancel-btn:hover{background:#b91c1c!important}.text-danger{color:#dc2626!important}.text-danger:hover{background:#fef2f2!important;border-color:#fca5a5!important}.inline-paste{height:32px!important;padding:0 10px!important}.solution-inline-controls{background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;align-items:center;gap:8px;padding:4px 10px;display:flex}.solution-inline-controls.disabled{opacity:.4;cursor:not-allowed;background:#f1f5f9;border-color:#cbd5e1}.solution-info{color:#0369a1;text-align:center;min-width:48px;font-size:.82rem;font-weight:600}.sol-btn{color:#0369a1;cursor:pointer;background:#fff;border:1px solid #bae6fd;border-radius:4px;justify-content:center;align-items:center;width:26px;height:26px;padding:0;display:flex}.sol-btn:hover{background:#e0f2fe}.sol-btn:disabled{opacity:.4;cursor:not-allowed}.message-box{box-sizing:border-box;border-radius:6px;width:100%;margin-bottom:12px;padding:8px 12px;font-size:.82rem}.message-box.error{color:#991b1b;background:#fef2f2;border:1px solid #fca5a5}.message-box.warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.instructions{color:#475569;box-sizing:border-box;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;width:100%;margin-top:16px;padding:12px;font-size:.82rem;line-height:1.5}.instructions h3{color:#1e293b;margin-top:0;margin-bottom:6px;font-size:.88rem;font-weight:600}.instructions ul{text-align:left;margin:0;padding-left:18px}.instructions li{text-align:left;margin-bottom:8px}.modal-overlay{z-index:2000;background:#0f172a66;justify-content:center;align-items:center;animation:.1s ease-out fade-in;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{text-align:center;background:#fff;border-radius:8px;width:100%;max-width:340px;padding:24px;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000000a}.modal-buttons{justify-content:center;gap:12px;margin-top:18px;display:flex}.modal button.confirm{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;padding:8px 16px;font-size:.85rem;font-weight:600}.modal button.confirm:hover{background:#1d4ed8}.modal button.cancel{color:#334155;cursor:pointer;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;padding:8px 16px;font-size:.85rem;font-weight:600}.modal button.cancel:hover{background:#e2e8f0}.spinner-small{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin;display:inline-block}
