.fill-page{max-width:1060px;padding-bottom:48px}.fill-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:18px 0 10px}.fill-hero h1{margin:2px 0 4px;font-size:clamp(2rem,5vw,3.2rem);line-height:1}.fill-rule{max-width:720px;margin:0;color:var(--muted);font-size:1.02rem}.fill-hero-status{display:grid;grid-template-columns:auto auto;gap:4px 12px;align-items:center;text-align:right;white-space:nowrap}.fill-hero-status>span:first-child{grid-column:1/-1;color:var(--muted);font-weight:800}.fill-hero-status strong{font-variant-numeric:tabular-nums;font-size:1.15rem}.fill-run-badge{justify-self:end;border:1px solid var(--line);border-radius:999px;padding:3px 8px;font-size:.8rem;font-weight:900}.fill-run-badge.assisted{background:var(--soft)}
.fill-mode-tabs{display:flex;gap:7px;margin:4px 0 10px;border-bottom:1px solid var(--line);padding-bottom:8px}.fill-mode-tabs a{padding:9px 14px;border-radius:10px;text-decoration:none;color:var(--muted);font-weight:900}.fill-mode-tabs a.active{color:var(--ink);background:var(--soft)}
.fill-context{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;margin-bottom:10px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.fill-context small{display:block;color:var(--muted);font-weight:900}.fill-context strong{margin-right:8px}.fill-context-actions,.fill-daily-tiers,.fill-practice-sizes{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.fill-context a,.fill-link-button{border:1px solid var(--line);border-radius:999px;padding:7px 10px;background:var(--card);color:var(--ink);text-decoration:none;font:inherit;font-weight:850}.fill-context a.active{outline:2px solid currentColor;outline-offset:1px}.fill-progress-track{flex:1;max-width:280px;height:8px;border-radius:999px;background:var(--soft);overflow:hidden}.fill-progress-track span{display:block;height:100%;width:0;background:currentColor;border-radius:inherit}.fill-campaign-context>div:first-child{min-width:205px}
.fill-game-card{padding:14px}.fill-game-status{display:grid;grid-template-columns:92px 92px 76px minmax(0,1fr);align-items:center;gap:8px;margin-bottom:10px}.fill-game-status>div{border-right:1px solid var(--line);padding:2px 8px}.fill-game-status>div:nth-child(3){border-right:0}.fill-game-status small{display:block;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.fill-game-status strong{font-size:1rem}.fill-status-message{border:0!important;text-align:right;color:var(--muted);font-size:.9rem;line-height:1.25;padding-right:2px!important}
.fill-palette{display:grid;grid-template-columns:repeat(7,minmax(44px,1fr));gap:7px;max-width:600px;margin:0 auto 10px}.fill-palette button,.fill-core-actions button,.fill-toggle-row button,.fill-hint-actions button,.fill-win button{border:1px solid var(--line);border-radius:11px;background:var(--card);color:var(--ink);font:inherit;font-weight:900;min-height:42px;cursor:pointer}.fill-palette button{font-size:1.08rem}.fill-palette button.active{outline:3px solid currentColor;outline-offset:1px;background:var(--soft)}.fill-palette button.erase{font-size:1.15rem}.fill-board-stage{max-width:780px;margin:0 auto}.fill-shell{width:100%;margin:0 auto;overflow:auto;overscroll-behavior:contain;border-radius:14px;padding:2px}.fill-grid{--n:8;position:relative;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:2px;aspect-ratio:1;width:min(100%,calc(var(--n) * 54px));margin:0 auto;background:var(--soft);padding:5px;border-radius:14px;touch-action:none}.fill-shell.comfort-board .fill-grid{width:max(100%,calc(var(--n) * 44px));max-width:none}.fill-cell{position:relative;border:1px solid color-mix(in srgb,var(--line) 74%,transparent);border-radius:4px;background:var(--card);padding:0;min-width:0;aspect-ratio:1;touch-action:none;user-select:none;font-size:clamp(.75rem,2vw,1.08rem);font-weight:900;transition:background .12s ease,box-shadow .12s ease,transform .08s ease}.fill-cell:not(.clue):active{transform:scale(.96)}.fill-cell.clue{font-weight:950;cursor:pointer}.fill-cell.clue::after{content:'•';position:absolute;right:3px;top:0;font-size:.5rem;opacity:.42}.fill-cell.cursor{box-shadow:inset 0 0 0 3px color-mix(in srgb,currentColor 62%,transparent)}.fill-cell.same-value:not(.selected-region){box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 28%,transparent)}.fill-cell.selected-region{box-shadow:inset 0 0 0 3px color-mix(in srgb,currentColor 56%,transparent)}.fill-cell.bad{outline:3px solid #b42318;outline-offset:-3px}.fill-cell.hint-target{outline:3px solid #8b5cf6;outline-offset:-3px}.fill-cell.region-complete{background:color-mix(in srgb,var(--soft) 45%,var(--card))}.fill-cell.fill-v1.region-complete{background:color-mix(in srgb,#f7d6e0 48%,var(--card))}.fill-cell.fill-v2.region-complete{background:color-mix(in srgb,#cde8ff 48%,var(--card))}.fill-cell.fill-v3.region-complete{background:color-mix(in srgb,#d8f3dc 48%,var(--card))}.fill-cell.fill-v4.region-complete{background:color-mix(in srgb,#fff1b8 50%,var(--card))}.fill-cell.fill-v5.region-complete{background:color-mix(in srgb,#e6d6ff 48%,var(--card))}.fill-cell.fill-v6.region-complete{background:color-mix(in srgb,#ffd8b5 48%,var(--card))}.fill-cell.edge-t{border-top:3px solid currentColor}.fill-cell.edge-r{border-right:3px solid currentColor}.fill-cell.edge-b{border-bottom:3px solid currentColor}.fill-cell.edge-l{border-left:3px solid currentColor}.fill-grid.is-paused .fill-cell{color:transparent!important;background:var(--card)!important}.fill-grid.is-paused::after{content:'Paused';position:absolute;inset:3px;display:grid;place-items:center;background:color-mix(in srgb,var(--card) 94%,transparent);border:1px solid var(--line);border-radius:11px;font-weight:900;font-size:1.25rem;z-index:5;color:var(--ink)}.fill-core-actions{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:10px}.fill-core-actions button.primary{background:var(--ink);color:var(--card)}
.fill-hint-card{display:flex;align-items:center;justify-content:space-between;gap:14px;max-width:780px;margin:12px auto 0;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:var(--soft)}.fill-hint-card small{display:block;font-weight:900;color:var(--muted)}.fill-hint-card strong{display:block;margin:2px 0 3px}.fill-hint-card p{margin:0;color:var(--muted);font-size:.92rem}.fill-hint-actions{display:flex;gap:7px;flex:none}.fill-hint-actions button{padding:0 12px}
.fill-more{max-width:780px;margin:13px auto 0;border-top:1px solid var(--line);padding-top:9px}.fill-more>summary,.fill-secondary-grid>details>summary{cursor:pointer;font-weight:900;list-style:none}.fill-more>summary::-webkit-details-marker,.fill-secondary-grid>details>summary::-webkit-details-marker{display:none}.fill-more>summary::after,.fill-secondary-grid>details>summary::after{content:'＋';float:right}.fill-more[open]>summary::after,.fill-secondary-grid>details[open]>summary::after{content:'−'}.fill-more-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.fill-more-grid section{border:1px solid var(--line);border-radius:12px;padding:11px;background:var(--soft)}.fill-more-grid h2{font-size:.95rem;margin:0 0 8px}.fill-more-grid p{font-size:.82rem;margin:7px 0 0}.fill-toggle-row{display:flex;gap:6px;flex-wrap:wrap}.fill-toggle-row button{padding:7px 10px;min-height:36px}.fill-toggle-row button.active{outline:2px solid currentColor;outline-offset:1px}.fill-toggle-row button.assisted{border-style:dashed}
.fill-win{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:14px 0;padding:16px;border:1px solid var(--line);border-radius:15px;background:var(--card)}.fill-win h2{margin:2px 0 4px}.fill-win p{margin:0;color:var(--muted)}.fill-win-actions{display:flex;gap:7px;align-items:center}.fill-win-actions a,.fill-win-actions button{border:1px solid var(--line);border-radius:10px;padding:9px 12px;text-decoration:none;color:var(--ink);font-weight:900;background:var(--card)}
.fill-secondary-grid{display:grid;gap:10px;margin-top:14px}.fill-secondary-grid>details{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--card)}.fill-secondary-grid>details>summary span{color:var(--muted);font-weight:600;margin-left:8px;font-size:.88rem}.fill-lab-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:12px}.fill-lab-grid>div{background:var(--soft);border-radius:12px;padding:11px}.fill-lab-grid h2{font-size:.95rem;margin:0 0 8px}.fill-chiplist{display:flex;flex-wrap:wrap;gap:6px}.fill-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:999px;padding:5px 8px;background:var(--card)}.fill-chip.forced{outline:2px solid currentColor}.fill-chip small{color:var(--muted)}.fill-lens{display:grid;gap:5px;font-size:.9rem}.fill-proof{border-left:4px solid currentColor;padding-left:9px;font-size:.9rem}.fill-proof[data-state="bad"]{color:#b42318}.fill-proof[data-state="good"]{color:#067647}.fill-statline{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0;color:var(--muted)}.fill-statline strong{color:var(--ink)}.fill-recent{display:grid;gap:5px}.fill-recent-row{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding:7px 0;font-size:.88rem}.fill-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:11px}.fill-guide>div{background:var(--soft);border-radius:11px;padding:11px}.fill-guide p{margin:5px 0 0;color:var(--muted);font-size:.9rem}.fill-print-only{display:none}.fill-hero.clock-hidden #fillTime{visibility:hidden}
@media(max-width:760px){.fill-page{padding-bottom:108px;overflow-x:hidden}.fill-hero{align-items:flex-start;padding-top:12px}.fill-rule{font-size:.93rem}.fill-hero-status{gap:3px 8px}.fill-context{align-items:flex-start;flex-direction:column}.fill-progress-track{max-width:none;width:100%}.fill-game-card{padding:10px}.fill-game-status{grid-template-columns:72px 72px 62px 1fr;gap:2px}.fill-game-status>div{padding:2px 5px}.fill-status-message{font-size:.78rem}.fill-palette{gap:5px;margin-bottom:7px}.fill-palette button{min-height:38px;border-radius:9px}.fill-grid{gap:1px;padding:3px;width:100%}.fill-cell{border-radius:3px;font-size:clamp(.68rem,3.2vw,.95rem)}.fill-core-actions{gap:5px;margin-top:7px}.fill-core-actions button{min-height:40px;font-size:.82rem}.fill-hint-card{align-items:flex-start;flex-direction:column}.fill-hint-actions{width:100%}.fill-hint-actions button{flex:1}.fill-more-grid,.fill-lab-grid{grid-template-columns:1fr}.fill-win{align-items:flex-start;flex-direction:column}.fill-win-actions{width:100%}.fill-win-actions>*{flex:1;text-align:center}.fill-secondary-grid>details>summary span{display:none}}
@media(max-width:460px){.fill-hero{padding-bottom:4px}.fill-hero h1{font-size:2rem}.fill-rule{display:none}.fill-hero-status>span:first-child{font-size:.76rem}.fill-mode-tabs{margin-top:0}.fill-mode-tabs a{flex:1;text-align:center;padding:8px 6px}.fill-campaign-context{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:8px 10px}.fill-campaign-context>div:first-child{min-width:0}.fill-campaign-context .fill-progress-track{display:none}.fill-campaign-context .fill-context-actions{grid-column:2;grid-row:1}.fill-campaign-context .fill-context-actions a{white-space:nowrap}.fill-game-status{grid-template-columns:repeat(3,1fr)}.fill-game-status>div:nth-child(3){border-right:0}.fill-status-message{display:none}.fill-game-status small{font-size:.62rem}.fill-game-status strong{font-size:.88rem}.fill-palette{grid-template-columns:repeat(7,1fr)}.fill-palette button{min-width:0;padding:0}.fill-core-actions button{padding:0 2px}.fill-context-actions,.fill-daily-tiers,.fill-practice-sizes{gap:5px}.fill-context a,.fill-link-button{padding:6px 8px;font-size:.82rem}}
@media(prefers-reduced-motion:reduce){.fill-cell{transition:none}}
@media print{header,.preview-note,.mobile-dock,.fill-mode-tabs,.fill-context,.fill-game-status,.fill-palette,.fill-core-actions,.fill-hint-card,.fill-more,.fill-win,.fill-secondary-grid,.footer{display:none!important}.fill-game-card{box-shadow:none;border:0;padding:0}.fill-shell{width:680px;max-width:100%;overflow:visible}.fill-grid{width:100%!important;background:#fff;color:#000}.fill-cell{color:#000!important;background:#fff!important;border-color:#333!important}.fill-page{max-width:none}.fill-print-only{display:block}}
@media (max-width:700px){
  .fill-page ~ .mobile-dock{display:none}
}
