@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap";:root{color-scheme:light;--bg: #f7f7f3;--surface: #ffffff;--surface-muted: #f0f0eb;--ink: #111111;--muted: #4f4f4f;--accent: #111111;--accent-soft: rgba(17, 17, 17, .12);--shadow: none;--radius: 16px;--tile-radius: 8px;--tile-border: #d5d5cf;--correct: #6aaa64;--present: #c9b458;--incorrect: #b25a4f;--double: #7c5cab;--tile-size: 150px;--header-bump: 8px;--header-width: calc(var(--tile-size) + var(--header-bump));--header-height: calc(var(--tile-size) + 6px);--header-front: #e8e8e2;--header-back: #deded7;--header-border: #cfcfc6;--button-radius: 6px;--gap: 8px;--button-bg: #111111;--button-text: #ffffff;--toast-bg: #111111;--toast-text: #ffffff;--board-bg: var(--bg);--grid-line: #1c1c1c;--board-pad: 0px;--frame-pad: 10px;--logo-green: #39ff14;--logo-purple: #b388ff}*{box-sizing:border-box}body{margin:0;font-family:Manrope,Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--ink)}button,input,textarea{font-family:inherit}#root{min-height:100vh}.app{max-width:1100px;margin:0 auto;padding:32px 20px 48px;min-height:100vh;display:flex;flex-direction:column}.header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.brand{display:flex;flex-direction:column;gap:4px}.brand-title{display:flex;align-items:center;gap:8px}.logo-mark{width:1.1em;height:1.1em;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:0;border-radius:4px;overflow:hidden;flex-shrink:0}.logo-cell{background:var(--logo-green);display:block}.logo-cell.center{background:var(--logo-purple)}.brand h1{margin:0;font-size:24px;letter-spacing:.2px;font-family:Space Grotesk,Manrope,sans-serif;line-height:1}.brand p{margin:0;color:var(--muted);font-size:12px}.brand-tag{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:2px 8px;border-radius:999px;border:1px solid var(--tile-border);background:var(--surface-muted);font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;letter-spacing:.3px;color:var(--ink)}.brand-tag:before{content:"://";color:#2f9e44}.header-actions{display:flex;gap:12px}.header-actions button,.controls-button{border:none;background:var(--surface);color:var(--ink);padding:8px 10px;border-radius:var(--button-radius);border:1px solid var(--tile-border);cursor:pointer;font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.4px;transition:background .15s ease;display:inline-flex;align-items:center;justify-content:center}.header-actions button:hover,.controls-button:hover{background:var(--surface-muted)}.header-actions button:disabled,.controls-button:disabled{opacity:.45;cursor:not-allowed}.controls-button.icon-only{width:34px;height:30px;padding:0}.controls-button.icon-only svg{width:16px;height:16px}.mode-tabs{display:inline-flex;background:var(--surface);border-radius:999px;padding:4px;gap:4px;margin-bottom:12px;border:1px solid var(--tile-border)}.mode-tabs button{border:none;background:transparent;padding:6px 12px;border-radius:999px;color:var(--muted);cursor:pointer;transition:all .15s ease;font-weight:600;font-size:12px;letter-spacing:.4px;text-transform:uppercase}.mode-tabs button.active{background:var(--accent);color:var(--button-text);box-shadow:none}.layout{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;justify-content:flex-start;width:100%}.board-section{background:transparent;border-radius:var(--radius);padding:var(--board-pad);border:none;display:flex;flex-direction:column;align-items:center;position:relative;width:min(100%,var(--board-width));max-width:100%;--board-width: calc(var(--header-width) + (var(--tile-size) * 3) + (var(--gap) * 3));animation:panel-in .26s ease;overflow:visible}.board-section>div,.board-section>.board-matrix{width:100%}.board-stack{width:100%;display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:var(--frame-pad)}.title-bar{width:100%;max-width:980px;margin:0 auto 6px;display:flex;align-items:center;justify-content:space-between;gap:16px;animation:panel-in .26s ease}.title-group{display:flex;flex-direction:column;gap:6px}.module-title{font-size:28px;font-weight:700;letter-spacing:-.2px;font-family:Space Grotesk,Manrope,sans-serif}.module-meta{display:flex;flex-wrap:wrap;gap:6px}.meta-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:999px;border:1px solid var(--tile-border);background:var(--surface-muted);font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px}.meta-pill.status.won{border-color:#8dc58a;color:#3e7b44;background:#eef7ed}.meta-pill.status.lost{border-color:#d79a8f;color:#7a2f2a;background:#f5e6e3}.module-actions{width:100%;display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-bottom:calc(var(--frame-pad) + 6px)}.instruction-bar{width:100%;max-width:980px;margin:0 auto 4px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.instruction-pill{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;border:1px solid var(--tile-border);background:var(--surface-muted);font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;letter-spacing:.3px;color:var(--ink);max-width:100%;white-space:normal;line-height:1.35}.instruction-note{color:var(--muted);font-size:12px;margin:0;text-align:left}.meta-bar{width:100%;max-width:980px;margin:0 auto 8px;display:flex;align-items:center;justify-content:flex-start}.howto{width:100%;max-width:980px;margin:0 auto 8px;padding:10px 12px;border-radius:12px;border:1px solid var(--tile-border);background:var(--surface-muted);color:var(--muted);font-size:12px}.howto-list{margin:0;padding:0;list-style:none;counter-reset:howto;display:grid;gap:6px}@media (min-width: 900px){.howto-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.howto-list li{grid-template-columns:18px 1fr}}.howto-list li{display:grid;grid-template-columns:20px 1fr;align-items:center;gap:10px;color:var(--ink);font-size:11px;padding:6px 8px;border-radius:999px;border:1px solid var(--tile-border);background:var(--surface);box-shadow:inset 0 0 0 1px #39ff1414}.howto-list li:before{counter-increment:howto;content:counter(howto);width:18px;height:18px;border-radius:999px;border:1px solid #39ff14;color:#39ff14;display:inline-flex;align-items:center;justify-content:center;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:9px;letter-spacing:.2px;box-shadow:0 0 #39ff142e;transform:scale(1);opacity:.6;animation:howto-step 18s ease-in-out infinite}.howto-list li:nth-child(2):before{animation-delay:3s}.howto-list li:nth-child(3):before{animation-delay:6s}.howto-list li:nth-child(4):before{animation-delay:9s}.howto-list li:nth-child(5):before{animation-delay:12s}.howto-list li:nth-child(6):before{animation-delay:15s}@keyframes howto-step{0%,70%,to{transform:scale(1);box-shadow:0 0 #39ff141f;opacity:.6}80%{transform:scale(1.05);box-shadow:0 0 0 4px #39ff1400;opacity:.95}88%{transform:scale(1.02);box-shadow:0 0 0 1px #39ff140d;opacity:.75}}@media (prefers-reduced-motion: reduce){.howto-list li:before{animation:none}}.board-actions{margin-top:6px;width:100%;display:flex;justify-content:space-between;gap:6px;align-self:center;flex-wrap:wrap;margin-inline:0}.practice-row{width:100%;display:flex;justify-content:flex-end;margin-top:8px;align-self:stretch}.reset-row{margin-top:auto;display:flex;justify-content:center;padding:18px 0 6px}.reset-button{border:1px solid var(--tile-border);background:var(--surface);color:var(--muted);padding:8px 14px;border-radius:999px;font-size:11px;text-transform:uppercase;letter-spacing:.6px;cursor:pointer;transition:background .15s ease,color .15s ease}.reset-button:hover{background:var(--surface-muted);color:var(--ink)}.board-actions.full{width:100%;margin-top:8px}.full-width{width:100%;justify-content:center}.board-actions-left,.board-actions-right{display:flex;align-items:center;gap:6px}.mistakes{display:inline-flex;align-items:center;gap:6px;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.mistake-dots{display:inline-flex;align-items:center;gap:4px}.mistake-dot{width:8px;height:8px;border-radius:999px;border:1px solid var(--muted);background:transparent;opacity:.75}.mistake-dot.filled{background:var(--ink);border-color:var(--ink);opacity:1}.mini-actions{display:flex;gap:6px}.mini-btn{border:1px solid var(--tile-border);background:var(--surface);color:var(--ink);padding:6px 10px;border-radius:var(--button-radius);font-size:10px;text-transform:uppercase;letter-spacing:.6px;cursor:pointer;transition:transform .14s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px}.mini-btn svg{width:16px;height:16px;display:block;stroke:currentColor;fill:none}.mini-btn.primary{background:var(--button-bg);color:var(--button-text);border-color:var(--button-bg)}.mini-btn.icon-btn{width:34px;height:30px;padding:0}.mini-btn.icon-btn svg{width:16px;height:16px}.btn-count{font-size:9px;letter-spacing:.4px;color:var(--muted)}.mini-btn:disabled{opacity:.55;cursor:not-allowed}.puzzle-message{margin-top:calc(var(--frame-pad) + 12px);margin-bottom:calc(var(--frame-pad) + 12px);padding:12px 16px;border-radius:14px;background:var(--surface-muted);border:1px solid var(--tile-border);color:var(--ink);font-size:13px;font-weight:600;letter-spacing:.2px;font-family:Space Grotesk,Manrope,sans-serif;text-align:center;width:100%;max-width:640px;box-shadow:0 10px 20px #00000014}.board-matrix{display:grid;grid-template-columns:var(--header-width) repeat(3,var(--tile-size));grid-template-rows:var(--header-height) repeat(3,var(--tile-size));gap:var(--gap);margin-top:0;width:100%;transition:opacity .2s ease;position:relative;background:var(--board-bg);border-radius:calc(var(--tile-radius) + 2px);overflow:visible;border:none;outline:none}.board-matrix:before{content:"";position:absolute;inset:calc(-1 * var(--frame-pad));border-radius:calc(var(--tile-radius) + var(--frame-pad));border:1px solid var(--tile-border);pointer-events:none;z-index:0}.matrix-label{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;justify-self:center;align-self:center;font-weight:700;color:var(--muted);font-size:11px;letter-spacing:.8px;padding:4px;text-align:center;overflow-wrap:break-word;word-break:normal;line-height:1.2;perspective:600px;text-transform:uppercase;z-index:1}.matrix-label.corner{background:transparent}.matrix-label .label-face{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;backface-visibility:hidden;border-radius:8px;padding:6px;transition:transform .16s ease}.matrix-label .front{background:var(--surface);border:1px solid var(--tile-border);color:var(--muted);transform:rotateX(0)}.matrix-label .back{background:var(--surface);border:1px solid var(--tile-border);color:var(--ink);transform:rotateX(-180deg);font-weight:800;font-size:10.5px;letter-spacing:.2px;line-height:1.2;text-align:center}.matrix-label.flipped .front{transform:rotateX(180deg)}.matrix-label.flipped .back{transform:rotateX(0)}.matrix-label.row-header .label-text{display:inline-block;white-space:normal;font-size:11px;line-height:1.1}.merge-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5}.merge-clone{position:absolute;background:var(--correct);border-radius:var(--tile-radius);color:#fff;border:1px solid #4f8f4a;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:700;padding:8px 10px;font-size:clamp(11px,.9vw,14px);line-height:1.1;overflow-wrap:break-word;word-break:break-word;-webkit-hyphens:none;hyphens:none;transition:left .82s cubic-bezier(.16,.9,.2,1),top .82s cubic-bezier(.16,.9,.2,1),width .82s cubic-bezier(.16,.9,.2,1),height .82s cubic-bezier(.16,.9,.2,1),opacity .36s ease;will-change:left,top,width,height,opacity}.merge-clone span{display:block;opacity:0}.merge-clone.hold{border-color:transparent}.merge-clone.split{transition-timing-function:cubic-bezier(.22,.8,.2,1)}.merge-bar{position:absolute;background:var(--correct);color:#fff;border-radius:var(--tile-radius);display:flex;align-items:center;justify-content:center;text-transform:uppercase;letter-spacing:.6px;font-weight:700;font-size:12px;text-align:center;line-height:1.1;padding:8px 12px;opacity:0;transform:scale(.98);transition:opacity .36s ease,transform .82s cubic-bezier(.18,.9,.2,1);box-shadow:0 14px 28px #00000038}.merge-bar.merge-in{transform:scale(1.03)}.merge-bar.settle{transform:scale(1)}.merge-bar.split{opacity:0;transform:scale(.98);transition:opacity .22s ease,transform .24s ease}.merge-bar span{display:block;max-width:100%;text-align:center}.matrix-label.merge-suppressed .label-face,.tile.text-hidden{color:transparent}.board-matrix.debug{outline:1px solid #ff2a2a}.debug-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:6}.debug-overlay{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid #00e5ff}.debug-rect{position:absolute;border:1px solid #ffe600;box-sizing:border-box}.merge-bar.visible{opacity:1}.slot{background:transparent;border-radius:var(--tile-radius);min-height:var(--tile-size);min-width:var(--tile-size);width:var(--tile-size);height:var(--tile-size);display:block;padding:0;border:0;transition:border-color .2s ease,transform .2s ease;position:relative;z-index:2}.slot.drag-over{outline:2px solid var(--accent);outline-offset:2px}.tile{background:#111;border-radius:var(--tile-radius);padding:12px 14px;text-align:center;font-weight:600;box-shadow:none;cursor:grab;-webkit-user-select:none;user-select:none;transition:transform .14s ease,border .14s ease,background-color .14s ease,color .14s ease;border:1px solid var(--grid-line);overflow-wrap:break-word;word-break:break-word;-webkit-hyphens:none;hyphens:none;line-height:1.1;min-height:52px;width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative;font-size:clamp(12px,1vw,15px);color:#f5f5f5;z-index:2}.tile:active{cursor:grabbing}.tile.dragging{opacity:0}.tile.selected{background:#1a1a1a;border-color:#f5f5f5;box-shadow:0 0 0 2px #f5f5f599,0 8px 16px #0000004d;transform:translateY(-1px)}.tile.correct{background:var(--correct);border-color:#4f8f4a;color:#fff}.tile.double{background:var(--double);border-color:#5f4490;color:#fff}.tile.incorrect{background:#111;border-color:var(--grid-line);color:#f5f5f5}.tile.locked{cursor:default}.tile.locked:before{content:"";position:absolute;bottom:6px;right:6px;width:16px;height:16px;border-radius:999px;background:#f1e6d1;border:1px solid rgba(255,255,255,.65)}.tile.locked:after{content:"";position:absolute;bottom:10px;right:11px;width:6px;height:10px;border-right:2px solid var(--correct);border-bottom:2px solid var(--correct);transform:rotate(45deg)}.tile.present{background:var(--present);border-color:#b59f3b;color:#fff}.tile.text-hidden,.tile.text-hidden.correct,.tile.text-hidden.double,.tile.text-hidden.present,.tile.text-hidden.incorrect{color:transparent;-webkit-text-fill-color:transparent;text-shadow:none}.tile.pulse{animation:pulse .6s ease}@keyframes pulse{0%{box-shadow:0 0 #6aaa644d}70%{box-shadow:0 0 0 10px #6aaa6400}to{box-shadow:0 0 #6aaa6400}}@keyframes panel-in{0%{opacity:0}to{opacity:1}}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-out{to{opacity:0;transform:translateY(-6px)}}@keyframes modal-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.board-matrix .tile{width:100%}.panel{background:var(--surface);border-radius:var(--radius);padding:16px;border:1px solid var(--tile-border);display:flex;flex-direction:column;gap:12px;width:100%;max-width:980px;animation:panel-in .26s ease}.panel-section{display:flex;flex-direction:column;gap:10px}.panel h3{margin:0;font-size:16px;text-transform:uppercase;letter-spacing:1.4px;color:var(--muted)}.theme-list{display:grid;gap:8px}.theme-item{padding:10px 12px;border-radius:12px;background:var(--surface-muted);font-size:14px}.theme-item.revealed{background:var(--accent-soft);color:var(--ink);font-weight:600}.controls{display:flex;flex-wrap:wrap;gap:6px}.controls button{border:1px solid var(--tile-border);background:var(--surface);color:var(--ink);padding:6px 10px;border-radius:var(--button-radius);font-weight:600;cursor:pointer;transition:transform .14s ease,background .14s ease;letter-spacing:.6px;text-transform:uppercase;font-size:10px}.controls button.secondary{background:var(--surface);color:var(--ink)}button.secondary{border:none;background:var(--surface-muted);color:var(--ink);padding:10px 14px;border-radius:12px;cursor:pointer;font-weight:600}.controls button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.controls button:not(:disabled):hover{transform:translateY(-1px);box-shadow:none;background:var(--surface-muted)}.toast-row{width:100%;display:flex;justify-content:center;margin-top:8px;margin-bottom:4px}.toast{margin:0;background:var(--toast-bg);color:var(--toast-text);padding:8px 14px;border-radius:999px;border:1px solid var(--toast-bg);font-size:12px;font-weight:600;text-transform:none;letter-spacing:.2px;box-shadow:none;max-width:240px;text-align:center;display:inline-flex;align-items:center;justify-content:center;align-self:center;animation:toast-in .18s ease,toast-out .2s ease 1.8s forwards}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b0b0b99;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:30;animation:toast-in .18s ease}.modal{background:#0f0f0f;border-radius:var(--radius);max-width:520px;width:100%;padding:24px;box-shadow:0 30px 80px #00000073;border:1px solid #262626;display:flex;flex-direction:column;gap:16px;color:#f5f5f5;animation:modal-in .22s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid #262626}.modal h2{margin:0;font-family:Space Grotesk,Manrope,sans-serif;font-size:20px}.modal-close{border:none;background:#f5f5f5;color:#0b0b0b;padding:6px 10px;border-radius:999px;font-size:10px;text-transform:uppercase;letter-spacing:.6px;cursor:pointer}.modal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.modal-grid .tile{cursor:default}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat-card{background:#151515;border-radius:12px;padding:12px;border:1px solid #262626;display:flex;flex-direction:column;gap:6px}.stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:#bdbdbd}.stat-value{font-size:20px;font-weight:700;color:#f5f5f5;font-family:Space Grotesk,Manrope,sans-serif}.archive-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.archive-nav{display:inline-flex;align-items:center;gap:8px}.archive-nav-btn{border:1px solid var(--tile-border);background:var(--surface);color:var(--ink);width:26px;height:26px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .14s ease,transform .14s ease}.archive-nav-btn:disabled{opacity:.4;cursor:not-allowed}.archive-nav-btn:hover:not(:disabled){background:var(--surface-muted);transform:translateY(-1px)}.archive-nav-btn svg{width:14px;height:14px}.archive-month{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}.archive-month-block{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.archive-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.archive-weekday{font-size:8px;color:var(--muted);text-align:center;text-transform:uppercase;letter-spacing:.6px}.archive-day{border:1px solid var(--tile-border);background:var(--surface);border-radius:8px;padding:4px;min-height:30px;display:flex;align-items:center;justify-content:center;font-size:10px;text-align:center;cursor:pointer;transition:transform .14s ease,background .14s ease,border-color .14s ease;position:relative}.archive-day.empty{border:none;background:transparent;cursor:default}.archive-day.disabled{opacity:.4;cursor:not-allowed}.archive-day.active:hover{transform:translateY(-1px);background:var(--surface-muted)}.archive-day.state-completed{border-color:var(--correct)}.archive-day.state-attempted{border-color:var(--incorrect)}.archive-day.state-in-progress{border-color:var(--present)}.archive-day.state-future{opacity:.35;cursor:not-allowed}.archive-day.today{border-color:var(--accent)}.archive-day.selected{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.archive-date{font-size:11px;font-weight:700;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;border:1px solid transparent}.archive-day.state-completed .archive-date{background:var(--correct);border-color:var(--correct);color:#fff}.archive-day.state-future .archive-date{color:var(--muted)}.archive-day:after{content:"";position:absolute;bottom:4px;right:4px;width:6px;height:6px;border-radius:50%;background:transparent}.archive-day.state-completed:after{background:transparent}.archive-day.state-attempted:after{background:var(--incorrect)}.archive-day.state-in-progress:after{background:var(--present)}.archive-day.state-unattempted:after{background:#c9c9c2}.archive-day.state-future:after{background:transparent}.archive-empty{padding:12px;text-align:center;color:var(--muted);font-size:12px}.focus-ring:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width: 900px){.app{max-width:none}.header{flex-direction:column;align-items:flex-start}.board-section{--board-pad: 0px;--frame-pad: 8px;--tile-size: 120px;--header-bump: 6px;--header-width: calc(var(--tile-size) + var(--header-bump));--header-height: calc(var(--tile-size) + 5px)}.board-matrix{max-width:100%}}@media (max-width: 600px){.app{padding:10px 8px 12px;max-width:none}.header{flex-direction:row;align-items:center}.reset-row{padding:8px 0 0;margin-top:12px}.brand h1{font-size:20px}.brand p{font-size:10px}.brand-tag{font-size:10px;padding:2px 6px}.header-actions{margin-left:auto}.board-section{--board-pad: 0px;--gap: 6px;--frame-pad: 6px;--header-bump: 4px;--tile-size: clamp(72px, calc((100vw - 40px - (var(--gap) * 3) - var(--header-bump)) / 4), 110px);--header-width: calc(var(--tile-size) + var(--header-bump));--header-height: calc(var(--tile-size) + 4px)}.panel{padding:8px}.panel-section{gap:6px}.board-matrix{gap:var(--gap)}.slot{min-height:var(--tile-size)}.tile{padding:6px 8px;font-size:clamp(10px,2.6vw,12px)}.board-actions{gap:4px}.mini-btn{padding:4px 8px}.mini-btn.icon-btn{width:30px;height:28px}.btn-count{display:none}.title-bar{margin-bottom:6px}.module-title{font-size:18px}.module-actions{justify-content:space-between;gap:8px}.module-meta,.meta-bar{display:none}.instruction-pill{font-size:10px}.instruction-note{font-size:11px}.instruction-bar{margin-bottom:4px;gap:4px}.howto{font-size:10px;padding:6px 8px}.howto-list{gap:4px}.howto-list li{padding:4px 6px;font-size:10px;line-height:1.2;grid-template-columns:16px 1fr;gap:6px}.howto-list li:before{width:16px;height:16px;font-size:8px}.matrix-label{font-size:clamp(9px,2.4vw,11px)}.matrix-label .back{font-size:clamp(9px,2.2vw,10px)}.controls button{padding:4px 6px;font-size:9px}.merge-bar{font-size:10px;padding:6px 8px}.merge-clone{padding:6px 8px;font-size:clamp(10px,2.4vw,12px)}.puzzle-message{font-size:12px;padding:10px 12px}.archive-calendar{gap:4px}.archive-day{min-height:28px;padding:3px}}@media (prefers-color-scheme: dark){:root{--bg: #121212;--surface: #1c1c1c;--surface-muted: #222222;--ink: #f0f0f0;--muted: #b0b0b0;--accent: #f0f0f0;--accent-soft: rgba(240, 240, 240, .12);--tile-border: #333333;--header-front: #242424;--header-back: #2c2c2c;--header-border: #3a3a3a;--button-bg: #f0f0f0;--button-text: #111111;--correct: #538d4e;--present: #b59f3b;--incorrect: #a14f45;--double: #6b4c9a;--toast-bg: #f0f0f0;--toast-text: #111111;--board-bg: var(--bg);--grid-line: #2b2b2b}.tile{background:#1f1f1f}.slot{background:#191919}.puzzle-message{background:#1b1b1b;color:#e8e8e8}.archive-day{background:#242424}.archive-date{color:#f0f0f0}.archive-day.state-unattempted:after{background:#4a4a4a}.brand-tag{background:#1f1f1f;border-color:#303030;color:#f0f0f0}.brand-tag:before{color:#6ee07b}}
