:root:has(body[data-minimal=true]){background:#f4f0e8}body[data-minimal=true]{--paper:#f4f0e8;--sheet:#fbf9f4;--ink:#1e1c19;--ink-2:#4a453d;--muted:#6f695e;--faint:#a59e91;--line:#d3ccbf;--rule:#26231f;--mark:#c4432b;--pen:#2c4a78;--pen-wash:#dae3ee;--pencil:#7a756c;--line-wash:#f0ebe1;--same-wash:#e7ecf2;--sheet-edge:#c4bcae;--cell-line:#d8d0c2;--hover:#ece6da;--ink-hover:#38332c;--lift:0 2px 4px #3c2d1412,0 22px 44px -26px #3c2d1466;--scrim:#2a231a40;--wordmark:var(--serif);--accent:var(--pen);--gutter:64px;--serif:"Iowan Old Style","Charter","New York",Georgia,serif;min-height:100svh;background:var(--paper);color:var(--ink);font-family:Avenir Next,Avenir,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body[data-screen=home]{--accent:var(--mark)}.brand-lockup{display:flex;align-items:baseline;gap:14px}body[data-screen=play] #resume-section,body[data-screen=home] .play-help{display:none}body[data-screen=home] .app-header{max-width:1440px;padding:36px var(--gutter) 0;min-height:0}body[data-screen=home] .wordmark{font-family:var(--wordmark);font-size:32px;font-weight:700;letter-spacing:-.6px;color:var(--ink)}.resume-link{padding:5px 0;border:0;background:none!important;font-size:15px;font-weight:500;color:var(--ink);border-radius:0;text-decoration:underline;text-decoration-color:var(--mark);text-decoration-thickness:2px;text-underline-offset:5px}.resume-link span{margin-left:8px}.resume-link:hover{color:var(--mark)}.dimension-home{max-width:1440px;padding:0 var(--gutter);margin:0 auto}.dimension-home #setup-fields{margin:0}.home-layout{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(300px,380px);column-gap:clamp(40px,5.5vw,96px);align-items:center;min-height:calc(100svh - 96px);padding:20px 0 44px}.control-label{display:block;font-size:13px;font-weight:500;color:var(--muted);line-height:1.4}.dimension-rail{display:flex;flex-direction:column}.dimension-rail .control-label{margin:0 0 12px}.dimension-options{display:flex;flex-direction:column;border-left:1px solid var(--line);margin-left:4px}.dimension-options label{position:relative;display:flex;align-items:center;gap:20px;padding-left:28px;height:clamp(54px,8.2svh,78px);width:112px;cursor:pointer;color:var(--faint)}.dimension-options input,.inline-choices input{position:absolute;width:1px;height:1px;opacity:0;margin:0}.dimension-options label:before{content:"";position:absolute;left:-7px;width:13px;border-top:1px solid var(--line)}.dimension-options label:has(input:checked):before{border-top:2px solid var(--ink);width:17px;left:-9px}.rail-number{position:relative;font-family:var(--serif);font-size:48px;line-height:1;font-weight:500;letter-spacing:-1px}.rail-unit{font-size:15px;font-weight:500;visibility:hidden}.dimension-options label:has(input:checked){color:var(--ink)}.dimension-options input:checked~.rail-unit{visibility:visible}.dimension-options label:hover{color:var(--ink-2)}.dimension-options label:has(input:focus-visible),.inline-choices label:has(input:focus-visible){outline:2px solid var(--mark);outline-offset:5px}.dimension-options input:checked+.rail-number:after,.inline-choices input:checked+span:after{content:"";position:absolute;inset:-.2em -.34em -.14em;border:2px solid var(--mark);border-radius:52% 48% 55% 45%/58% 44% 56% 42%;transform:rotate(-5deg);pointer-events:none}.inline-choices input:checked+span:after{inset:-.34em -.55em -.26em}.difficulty-setting input:checked+span:after{inset:-.4em -.7em -.3em}.dimension-figure{margin:0;width:min(100%,calc(100svh - 230px));min-width:280px;justify-self:center}.dimension-preview{display:grid;grid-template-columns:repeat(var(--preview-columns),minmax(0,1fr));gap:28px;width:100%;aspect-ratio:1;align-content:center}.preview-stack{position:relative;aspect-ratio:1;--layer-step:3.65%;padding-top:calc(var(--layer-count) * var(--layer-step));padding-right:calc(var(--layer-count) * var(--layer-step))}.preview-slice{position:absolute;table-layout:fixed;border-collapse:collapse;background:var(--sheet);width:calc(100% - var(--layer-count) * var(--layer-step));height:calc(100% - var(--layer-count) * var(--layer-step));left:calc(var(--layer) * var(--layer-step));bottom:calc(var(--layer) * var(--layer-step));color:transparent;border:1px solid var(--sheet-edge);outline:1px solid var(--sheet-edge);outline-offset:-1px;box-shadow:0 1px 3px #3c2d1410}.preview-slice tr{height:calc(100% / var(--preview-size))}.preview-slice td{padding:0;text-align:center;vertical-align:middle;line-height:1;width:1%;height:calc(100% / var(--preview-size));border:1px solid transparent;font-family:var(--serif);font-size:clamp(24px,3vw,46px);font-weight:500;font-variant-numeric:lining-nums tabular-nums}.preview-slice:last-child{color:var(--ink);border:1.5px solid var(--rule);outline-color:var(--rule);box-shadow:var(--lift)}.preview-slice:last-child td{border-color:var(--cell-line)}.preview-slice:first-child:last-child{border-color:var(--rule)}.dimension-preview[data-size="6"] .preview-slice td{font-size:clamp(22px,2.6vw,39px)}.dimension-preview[data-size="7"] .preview-slice td,.dimension-preview[data-size="8"] .preview-slice td,.dimension-preview[data-size="9"] .preview-slice td{font-size:clamp(18px,2.2vw,33px)}.dimension-preview:is([data-dimensions="4"],[data-dimensions="5"],[data-dimensions="6"]){gap:26px}.dimension-preview:is([data-dimensions="4"],[data-dimensions="5"],[data-dimensions="6"]) .preview-slice td{font-size:clamp(12px,1.4vw,21px)}.setup-panel{display:flex;flex-direction:column;min-width:0}.dimension-description{margin-bottom:38px}.dimension-description h2{position:absolute;width:1px;height:1px;margin:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}#preview-title,.dimension-home #dimension-detail{display:inline;font-size:18px;line-height:1.55;margin:0}#preview-title{font-weight:600;color:var(--ink)}#preview-title:after{content:" "}.dimension-home #dimension-detail{color:var(--ink-2)}.number-setting,.difficulty-setting{margin-bottom:22px}.setup-panel .control-label{margin-bottom:4px}.inline-choices{display:flex;align-items:center;flex-wrap:wrap;gap:4px 28px}.inline-choices label{position:relative;display:flex;align-items:center;justify-content:center;min-width:21px;min-height:46px;padding:0;cursor:pointer;font-size:17px;color:var(--ink-2);white-space:nowrap}.inline-choices span{position:relative}.number-setting .inline-choices{gap:4px 24px}.number-setting label{font-family:var(--serif);font-size:24px;font-weight:500}.inline-choices label:has(input:checked){color:var(--ink)}.inline-choices label:hover{color:var(--ink)}.dimension-home .start-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-top:10px}.dimension-home #setup-summary{order:2;font-size:13px;line-height:1.5;color:var(--muted);margin:0;max-width:none;font-variant-numeric:tabular-nums}.dimension-home .primary-button{width:100%;background:var(--ink);border:1px solid var(--ink);color:var(--paper);border-radius:0;min-height:60px;padding:16px 24px;font-size:17px;font-weight:600;letter-spacing:0}.dimension-home .primary-button:hover:not(:disabled){background:var(--ink-hover);border-color:var(--ink-hover)}.dimension-home .daily-card{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;max-width:none;margin:34px 0 0;padding:14px 16px 14px 18px;border:0;border-radius:3px;background:var(--sheet)}.dimension-home .daily-card>div{display:flex;flex-direction:column;gap:2px;min-width:0}.dimension-home .daily-card h2{font-size:15px;font-weight:600;margin:0}.dimension-home .daily-card p{margin:0;font-size:13px;line-height:1.45;color:var(--muted)}.dimension-home .daily-button{width:auto;flex-shrink:0;white-space:nowrap;border:0;background:none!important;padding:6px 0;min-width:0;min-height:36px;border-radius:0;font-size:15px;font-weight:600;color:var(--ink);text-decoration:underline;text-decoration-color:var(--mark);text-decoration-thickness:2px;text-underline-offset:5px}.dimension-home .daily-button:hover{color:var(--mark)}.dimension-home .home-notice{color:var(--mark);margin:12px 0 0}.home-links{display:flex;flex-wrap:wrap;gap:6px 24px;margin-top:22px}.home-links .quiet-button{font-size:13px;color:var(--ink-2);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px;padding:6px 0}.home-links .quiet-button:hover:not(:disabled){color:var(--ink);text-decoration-color:var(--ink)}.home-busy{display:flex;justify-content:flex-end;margin-top:-30px;min-height:0}.home-busy #cancel-button{color:var(--mark);font-size:13px;text-decoration:underline;text-underline-offset:4px}.dimension-home[aria-busy=true] #setup-fields{opacity:.55}.dimension-home[aria-busy=true] #setup-summary{color:var(--mark)}@media(min-width:861px)and (max-height:820px){body[data-screen=home] .app-header{padding-top:24px}.home-layout{min-height:calc(100svh - 76px);padding-block:12px 28px}.dimension-figure{width:min(100%,calc(100svh - 170px))}.rail-number{font-size:38px}.dimension-description{margin-bottom:26px}.number-setting,.difficulty-setting{margin-bottom:14px}.dimension-home .primary-button{min-height:54px}.dimension-home .daily-card{margin-top:22px;padding-block:10px}.home-links{margin-top:14px}}@media(max-width:1180px)and (min-width:861px){body[data-screen=home]{--gutter:40px}.home-layout{grid-template-columns:auto minmax(0,1fr) minmax(280px,320px);column-gap:36px}.dimension-options label{width:96px;gap:14px;padding-left:22px}.rail-number{font-size:40px}.inline-choices{gap:4px 16px}.inline-choices label{font-size:16px}.number-setting label{font-size:22px}.number-setting .inline-choices{gap:4px 18px}}@media(max-width:860px){body[data-screen=home]{--gutter:24px;--stack:26px}body[data-screen=home] .app-header{padding:22px var(--gutter) 0;gap:12px}body[data-screen=home] .wordmark{font-size:26px}.resume-link{font-size:14px}.resume-link span{margin-left:4px}.dimension-home{max-width:600px}.home-layout{display:flex;flex-direction:column;align-items:stretch;gap:var(--stack);min-height:calc(100svh - 58px);padding:16px 0 0}.setup-panel{display:contents}.dimension-description,.number-setting,.difficulty-setting{margin:0}.dimension-home .daily-card{order:1;margin:0;padding:11px 14px}.dimension-figure{order:2;flex:1 1 0;width:100%;min-width:0;min-height:clamp(170px,27svh,280px);container-type:size;display:grid;place-items:center}.dimension-figure .dimension-preview{width:min(100cqi,100cqb,520px);aspect-ratio:auto;container-type:inline-size}.dimension-figure .dimension-preview:is([data-dimensions="4"],[data-dimensions="5"],[data-dimensions="6"]){width:min(100cqi,100cqb * var(--preview-columns) / var(--preview-rows),560px)}.dimension-figure .dimension-preview[data-size] .preview-slice td{font-size:calc(46cqi / var(--preview-size) / var(--preview-columns))}.dimension-preview:is([data-dimensions="4"],[data-dimensions="5"],[data-dimensions="6"]){gap:14px}.dimension-rail{order:3}.dimension-rail .control-label{margin-bottom:10px}.dimension-options{flex-direction:row;border-left:0;border-top:1px solid var(--line);margin:0}.dimension-options label{flex:1;width:auto;height:auto;justify-content:center;padding:18px 0 4px;gap:0}.dimension-options label:before{left:50%;top:-7px;width:0;height:13px;border-top:0;border-left:1px solid var(--line)}.dimension-options label:has(input:checked):before{left:calc(50% - 1px);top:-9px;width:0;height:17px;border-top:0;border-left:2px solid var(--ink)}.rail-number{font-size:34px}.rail-unit{display:none}.dimension-description{order:4;margin-top:calc(12px - var(--stack))}#preview-title,.dimension-home #dimension-detail{font-size:15px}.number-setting{order:5}.difficulty-setting{order:6;margin-top:calc(16px - var(--stack))}.inline-choices label{font-size:16px;min-height:44px}.number-setting label{font-size:22px}.dimension-home .start-actions{order:7;position:sticky;bottom:0;z-index:2;margin:calc(6px - var(--stack)) calc(-1 * var(--gutter)) 0;padding:20px var(--gutter) calc(12px + env(safe-area-inset-bottom));background:linear-gradient(#f4f0e800,var(--paper) 20px);gap:8px}.dimension-home .primary-button{min-height:54px}.home-links{order:8;margin-top:calc(4px - var(--stack));padding-bottom:20px}.home-busy{margin:0 0 16px;justify-content:flex-start}}} @media(max-width:400px){body[data-screen=home]{--gutter:20px}body[data-screen=home] .app-header{flex-wrap:wrap;row-gap:8px}body[data-screen=home] .wordmark{font-size:24px}body[data-screen=home] .header-right{margin-left:auto}.inline-choices,.number-setting .inline-choices{gap:4px 20px}.inline-choices label{font-size:15px}.number-setting label{font-size:21px}.rail-number{font-size:32px}}:where(body[data-minimal=true]) .wordmark{font-family:var(--wordmark);font-weight:700;letter-spacing:-.4px;color:var(--ink)}:where(body[data-minimal=true]) button{background:var(--sheet);border-color:var(--line);color:var(--ink)}:where(body[data-minimal=true]) button:hover:not(:disabled){background:var(--hover)}:where(body[data-minimal=true]) .quiet-button,:where(body[data-minimal=true]) .quiet-button:hover:not(:disabled){background:transparent;color:var(--ink-2)}:where(body[data-minimal=true]) .primary-button{background:var(--ink);border-color:var(--ink);color:var(--paper);border-radius:0;font-size:15px;font-weight:600}:where(body[data-minimal=true]) .primary-button:hover:not(:disabled){background:var(--ink-hover)}:where(body[data-screen=play]) .play-title h1{font-size:19px;font-weight:600;letter-spacing:-.2px}:where(body[data-screen=play]) .play-title p,:where(body[data-screen=play]) .play-footer{color:var(--muted)}:where(body[data-screen=play]) .menu>summary{color:var(--ink-2)}.menu-popup{background:var(--sheet);border-color:var(--line);border-radius:2px;box-shadow:0 10px 30px -12px #3c2d1440}.menu-popup>button{background:none}.menu-stat{border-color:var(--line)}.ndim-board{background:var(--sheet);border:1.5px solid var(--rule);box-shadow:var(--lift)}.ndim-cell{background:var(--sheet);border-color:var(--cell-line);color:var(--pen);font-family:var(--serif)}.ndim-cell.given{color:var(--ink);font-weight:600}.ndim-cell:hover:not(:disabled){background:color-mix(in srgb,var(--sheet),var(--hover))}.ndim-cell.selected{background:var(--pen-wash)!important;box-shadow:inset 0 0 0 2px var(--pen)}.ndim-cell:focus-visible{outline-color:var(--pen)}.pencil-grid{color:var(--pencil);font-family:var(--serif)}.layer-title label{font-size:12px;font-weight:600;color:var(--ink-2)}.layer-title output{color:var(--muted);font-variant-numeric:tabular-nums}.layer-slider-row>button{background:none;color:var(--ink-2)}.layer-slider-row>input{background:var(--line);accent-color:var(--ink)}.layer-slider-row>input::-webkit-slider-thumb{background:var(--ink);border-color:var(--paper);box-shadow:0 0 0 1px var(--ink)}.layer-slider-row>input::-moz-range-thumb{background:var(--ink);border-color:var(--paper);box-shadow:0 0 0 1px var(--ink)}.ndim-pad button{background:none;font-family:var(--serif);color:var(--pen)}.ndim-pad button:hover:not(:disabled){background:var(--hover)}.ndim-pad button.marked{background:var(--pen-wash);color:var(--pen)}.edit-tools button{background:none;color:var(--ink-2);font-size:12px}.edit-tools button[aria-pressed=true]{color:var(--pen);background:var(--pen-wash);box-shadow:0 0 0 4px var(--pen-wash)}.app-dialog{background:var(--paper);color:var(--ink);border-color:var(--line);border-radius:2px;box-shadow:0 20px 50px -20px #3c2d1466}.app-dialog::backdrop{background:var(--scrim)}.dialog-header{border-color:var(--line)}.dialog-header h2{font-size:18px;font-weight:600}.dialog-header>button{background:none}.rule-lead{font-size:17px;color:var(--ink)}.rules-body hr,.board-aids,.saved-puzzle{border-color:var(--line)}.axis-card,.line-cell{background:var(--sheet)}.line-cell{color:var(--pen);font-family:var(--serif)}.line-cell.given{color:var(--ink)}.line-cell.selected{background:var(--pen-wash);border-color:var(--pen)}.saved-puzzle strong{font-size:15px;font-weight:600}.daily-aid-note{background:var(--hover)}.play-footer{justify-content:center;margin-top:18px;font-size:13px;line-height:1.5;color:var(--muted)}.menu>summary span{display:none}@media(min-width:980px){body[data-screen=play] .app-header{max-width:1160px;padding-inline:40px}.play-screen{max-width:1160px;padding:0 40px}.play-area{--play-board:clamp(380px, calc(100svh - 190px) ,640px);display:grid;grid-template-columns:var(--play-board) minmax(240px,300px);grid-template-rows:repeat(6,auto) 1fr;column-gap:64px;justify-content:center;align-items:start;width:auto;max-width:none}.play-area>*{grid-column:2}.ndim-board{grid-column:1;grid-row:1/-1;container-type:inline-size}.ndim-board[data-size="2"] .ndim-cell{font-size:22cqi}.ndim-board[data-size="3"] .ndim-cell{font-size:15cqi}.ndim-board[data-size="4"] .ndim-cell{font-size:11.5cqi}.ndim-board[data-size="5"] .ndim-cell{font-size:9cqi}.ndim-board[data-size="6"] .ndim-cell{font-size:7.5cqi}.ndim-board[data-size="7"] .ndim-cell{font-size:6.4cqi}.ndim-board[data-size="8"] .ndim-cell{font-size:5.6cqi}.ndim-board[data-size="9"] .ndim-cell{font-size:5cqi}.pencil-grid{font-size:clamp(11px,2.4cqi,17px)}.hint-strip{margin-top:0;margin-bottom:20px}.layer-controls{margin-top:0;gap:18px}.entry-controls{margin-top:30px}.ndim-pad{gap:6px}.ndim-pad button{min-height:52px;font-size:28px}.edit-tools{justify-content:flex-start;gap:20px;margin-top:14px}.play-footer{justify-content:flex-start;margin-top:26px}#completion-actions{text-align:left}}.ndim-cell.in-line:not(.selected):not(.incorrect):not(.hint-pattern):not(.hint-target){background:var(--line-wash)}.ndim-cell.same-number:not(.selected):not(.incorrect):not(.hint-pattern):not(.hint-target){background:var(--same-wash)}.pencil-grid{font-family:inherit;font-weight:500;color:var(--pencil)}.ndim-cell .ink{display:inline-block}@keyframes ink-settle{0%{transform:scale(1.32);opacity:.35}to{transform:none;opacity:1}}.ndim-cell.just-entered .ink{animation:ink-settle .22s cubic-bezier(.2,.8,.3,1)}body[data-minimal=true] .layer-slider-row{display:none}body[data-minimal=true] .layer-ticks{display:grid;gap:5px;margin-top:6px;container-type:inline-size}body[data-minimal=true] .layer-ticks button{position:relative;height:38px;min-height:0;padding:0 0 3px;border:1px solid var(--cell-line);border-radius:2px;background:var(--sheet);font-family:var(--serif);font-size:clamp(14px,6cqi,20px);line-height:1;color:var(--pen);overflow:hidden}body[data-minimal=true] .layer-ticks button.given{color:var(--ink);font-weight:600}body[data-minimal=true] .layer-ticks button.same-number{background:var(--same-wash)}body[data-minimal=true] .layer-ticks button:hover:not(:disabled){background:var(--hover)}body[data-minimal=true] .layer-ticks button[aria-pressed=true]{border-color:var(--pen);box-shadow:inset 0 0 0 1px var(--pen);background:var(--pen-wash)}body[data-minimal=true] .layer-ticks button:after{content:"";position:absolute;left:0;bottom:0;height:3px;width:calc(var(--fill,0) * 100%);background:var(--faint)}.layer-title output{font-size:12px}body[data-minimal=true] .ndim-pad button{position:relative;padding-bottom:14px}body[data-minimal=true] .ndim-pad button:after{content:attr(data-left);position:absolute;left:0;right:0;bottom:3px;font-family:Avenir Next,Avenir,-apple-system,sans-serif;font-size:11px;line-height:1;color:var(--muted)}body[data-minimal=true] .ndim-pad button.done{color:var(--faint)}body[data-minimal=true] .ndim-pad button.done:after{content:"done"}@media(prefers-reduced-motion:reduce){.ndim-cell.just-entered .ink{animation:none}}.layer-hint{margin:2px 0 0;font-size:12px;line-height:1.5;color:var(--muted)}
