:root:root{color-scheme:light}@media(prefers-color-scheme:dark){:root:root{color-scheme:dark;--night-bg: #18251f;--night-panel: #23342c;--night-raised: #2e4338;--night-hover: #3b5546;--night-line: #607967;--night-ink: #f0efdf;--night-muted: #bdcaba;--night-accent: #e5c885;--ink: var(--night-ink);--paper: var(--night-panel);--sage: #acd1b5;--green: #acd1b5;--blue: #a7d3ee;color:var(--night-ink);background:var(--night-bg);accent-color:#a9c99f}html body{color:var(--night-ink);background:var(--night-bg)}html body :is(.site-header,body>header,footer,.how,.how-to,.little-lesson,#player-form){border-color:var(--night-line)}html body :is(footer,.eyebrow,.subtitle,.header-note,.edition,.category,.description,.section-description,.collection-note,.welcome-note,.handwritten,.ready-copy p,.ready-copy small,.feature-tags,.feature-copy small,.feature-copy>p:not(.eyebrow),.coming,.welcome>p:last-of-type,.more-ideas p,.intro>p:last-child,.puzzle-intro>div>p:last-child,.companion>p,.companion-panel>p,.how,.how-to p,.how p,.little-lesson,.board-heading h2 span,.board-title small,.board-header h2 span,.scores small,.score-strip span,.puzzle-meta span,.tray-tip,.tray-label,.board-footer>span,.under-game p,.under-game>span,.game-tag,.off-count,.player-stat small,.progress-count small,.board-label,.board-foot,.storage-status,#storage-status,#move-message,.start-controls,.start-card p:not(.eyebrow),.start-card small,.modal-card p:not(.eyebrow),.game-bottom,#save-status,.text-button,dialog p,dialog li,dialog label,.game-audio-intro,.game-audio-status,.game-audio-credit,.clock-readout>span,.clock-readout>small,.records-table caption,.records-table thead th,#records-storage){color:var(--night-muted)}html body :is(.welcome h1 em,.intro h1 em,.how h3,.how strong,summary,.board-label b,.clock-readout>strong,.game-audio-heading h2){color:var(--night-ink)}html body :is(.featured,.game-card,.ready-game,.more-ideas,.puzzle-shell,.blocks-shell,.sudoku-shell,.gammon-shell,.game-shell,.tray-column,.journal-card,.chapter-card,.start-card,.modal-card,.time-panel,.player-stat,.route-options,.game-topbar,.game-bottom,.touch-controls,.puzzle-toolbar,.scores>div,.example,.skip-link){background:var(--night-panel);border-color:var(--night-line);color:var(--night-ink)}html body :is(.solitaire-shell,.jigsaw-shell,.numbers-shell):is(.expanded-view,:fullscreen),html body :is(.gammon-shell,.game-shell,.blocks-shell,.sudoku-shell):is(.expanded-view,:fullscreen){background:var(--night-bg)}html body dialog:not(.block-drag-layer),html body .game-audio-dialog.game-audio-dialog{background:var(--night-panel);color:var(--night-ink);border-color:var(--night-line)}html body dialog:not(.block-drag-layer)::backdrop{background:#08130eb8}html body :is(.toolbar,.puzzle-toolbar,.board-actions,.board-footer,.board-controls,.tools,.piece-tools,.under-game,.touch-controls,.game-actions,.tray-heading,.tray-pages,.how,.companion,.companion-panel,.dialog-actions,.chess-tabs,.opening-actions,.puzzle-actions,.review-nav,.review-actions,.game-audio-dialog,.game-topbar,.actions,.bar-alert) button,html body #outcome button,html body :is(.secondary,.player-choice,.player-card,.player-button,.text-button,.launcher-return,.route-choice,.game-audio-toggle.game-audio-toggle),html body dialog:not(.block-drag-layer) button{background:var(--night-raised);color:var(--night-ink);border-color:var(--night-line)}html body :is(button,a):focus-visible,html body :is(input,select,summary):focus-visible{outline-color:var(--night-accent)}html body :is(input:not([type=range]),select),html body .game-audio-dialog select{background:var(--night-bg);border-color:var(--night-line);color:var(--night-ink)}html body input::placeholder{color:var(--night-muted);opacity:.85}html body button.primary,html body dialog button.primary,html body .play-link,html body :is(.toolbar,.puzzle-toolbar,.board-actions,.tools,.game-audio-dialog) button:is([aria-pressed=true],.current),html body .chess-tabs button[aria-selected=true]{background:#426c54;color:#fffbed;border-color:#8aaa8c}html body :is(.toolbar,.puzzle-toolbar,.board-actions,.tray-pages,.chess-tabs,.opening-actions,.puzzle-actions,.review-nav,.review-actions) button:hover:not(:disabled),html body dialog:not(.block-drag-layer) button:hover:not(:disabled){background:var(--night-hover)}html body :is(#name-error,#player-error){color:#ffb69b}html body :is(#stuck,.bar-alert,.entry-blocked,#journal-conclusion){background:#423c27;border-color:#aa935d;color:#f0dba3}html body .bar-alert.blocked{background:#4f3529;color:#ffd3b6;border-color:#b08b70}html body :is(#outcome,.blocks-shell #outcome){background:#23342cf5;border-color:var(--night-line);color:var(--night-ink)}html body #outcome p,html body #outcome #outcome-time{color:var(--night-muted)}html body .progress-track{background:#3c5143}html body .progress-track span{background:#aac792}html body .player-stat.active{background:#375240;border-color:#acc28c}html body .game-audio-dialog .game-audio-heading h2{color:var(--night-ink)}html body .start-card #save-status{color:var(--night-muted)}html body .variant,html body .piece-tools>span{color:var(--night-muted)}html body .variant select,html body .board-actions #autocomplete-btn{background:var(--night-raised);color:var(--night-ink);border-color:var(--night-line)}html body .board-actions #autocomplete-btn[aria-pressed=true]{background:#426c54}html body :is(.portrait img,.companion img,.companion>img,.title-group img,.board-title img,.puzzle-title img,.companion-panel .companion-portrait img){mix-blend-mode:normal;background:#f7f3e9;border-radius:14px}html body .companion-portrait{background:none}html body .feature-art{background-image:url(/assets/park-watercolor-v1.webp)}html body .feature-art:after{background:linear-gradient(transparent,#192a24df)}html body .art-caption{color:#fff8df}html body :is(.available,.coming){border-color:var(--night-line)}html body .sudoku-shell .cell{background:#22372e;color:#a7d3ee;border-color:#526c5c}html body .sudoku-shell .cell.given{color:#f2f0df}html body .sudoku-shell .cell.related{background:#2e473a}html body .sudoku-shell .cell.same{background:#3b5553}html body .sudoku-shell .cell.selected{background:#416578;box-shadow:inset 0 0 0 2px #aedbf5}html body .sudoku-shell .cell:is(.wrong,.conflict){color:#ffb197}html body .sudoku-shell .cell:nth-child(3n):not(:last-child){border-right-color:#9aad92}html body .sudoku-shell .board-row:nth-child(3n):not(:last-child){border-bottom-color:#9aad92}html body #records-btn{background:var(--night-raised);color:var(--night-ink);border-color:var(--night-line)}html body #notes-btn[aria-pressed=true]{background:#355568;color:#e3f5ff;border-color:#a7d3ee}html body .sudoku-shell .pencil-grid{color:#c0dbe3}html body #number-pad button{background:#334e3f;color:var(--night-ink);border-color:var(--night-line)}html body #number-pad small{color:var(--night-muted)}html body #number-pad.noting button{background:#304953;color:#d5efff}html body #number-pad button.digit-complete{background:#263b31;color:#b8c8b8}html body .numbers-shell .board-frame,html body .jigsaw-shell .board-frame{background:#3a4638;border-color:#81876b;box-shadow:inset 0 0 0 5px #4b5642,0 8px 20px #0003}html body #board-scroll{background:#1c2d24;border-color:#718269;scrollbar-color:#839d81 #263b2d}html body .numbers-shell .number-cell{background:#273d30;color:#f1ecda;border-color:#566e59}html body .numbers-shell .number-cell:nth-child(n){background:#273d30}html body .numbers-shell .number-cell.empty{background:#203226;color:transparent}html body .numbers-shell .number-cell.empty:after{color:#71866e}html body .numbers-shell .number-cell:hover:not(:disabled){background:#3a5743}html body .numbers-shell .number-cell.selected{background:#476850;color:#fff8df;box-shadow:inset 0 0 0 3px #ead191}html body .numbers-shell .number-cell.hint{background:#3a616b;color:#e5fcff;box-shadow:inset 0 0 0 3px #a9d5d7}html body .numbers-shell .number-cell.matched{background:#4d6c3e}html body .jigsaw-shell #board{background:radial-gradient(#7c906680 .7px,transparent .7px) 0 0/5px 5px,#25352a}html body .jigsaw-shell .piece-button{background:#314439;border-color:#78866b}html body .jigsaw-shell .piece-button.selected{background:#446550;outline-color:#cae3b9}html body .gallery label{color:var(--night-ink);border-color:var(--night-line)}html body .gallery label:has(input:checked){background:#3b5642;border-color:#b7d49f}html body .jigsaw-shell #loading{background:#25352aeb}html body .blocks-shell #board{background:#455442;border-color:#748268}html body .blocks-shell .cell[data-color="0"]{background:#283e31}html body .blocks-shell .piece{background:#2e4437;border-color:#6f846c}html body .blocks-shell .piece small{color:var(--night-muted)}html body .blocks-shell .piece[aria-pressed=true]{background:#415d47;outline-color:#bbd5a9}html body .puzzle-shell #board{background:#495e45;border-color:#788f68}html body .puzzle-shell .tile[data-level="0"]{background:#2e442f}html body .gammon-shell .dice-launch{background:linear-gradient(110deg,#2a4033,#3b4735);border-color:#849b73}html body .dice-launch small{color:var(--night-muted)}html body .gammon-shell #bear-off{background:#2e4434;border-color:#80916d;color:var(--night-ink)}html body .gammon-shell #bear-off small{color:var(--night-muted)}html body .gammon-shell #bear-off.target{background:#4b6140;border-color:#b6ce96}html body #hud{background:#23342cf0;color:var(--night-ink);border-color:#829478}html body :is(#chapter-label,#objective){color:var(--night-ink)}html body #toast{background:#2c4032;color:#f5f0dc;border-color:#ab9568}html body #toast:after{background:#2c4032;border-color:#ab9568}html body #bubble-title{color:#ebce95}html body :is(#journal-dialog,#map-dialog,#players-dialog,#restart-dialog){background:var(--night-panel);color:var(--night-ink);border-color:var(--night-line)}html body :is(#journal-intro,.journal-progress,#journal-count,.journal-card p,.journal-next p,.journal-next>span,.journal-footnote,#journal-conclusion p,#players-intro,.player-card small,.player-card-action,.player-local-note,#map-player,.map-route,.chapter-copy small,.chapter-description,.chapter-status,.chapter-copy b,.map-footnote){color:var(--night-muted)}html body .journal-card.undiscovered{background:#2d3e2f}html body .chapter-card:not(:disabled):hover{background:var(--night-hover)}}:root{font-family:system-ui,sans-serif;color:#394942;background:#f8f4e9;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header{display:flex;gap:24px;align-items:center;max-width:1150px;margin:auto;padding:22px}a{color:inherit}.brand{font:700 25px Georgia;text-decoration:none;margin-right:auto}.brand span{font-weight:400;color:#897454}main{max-width:1060px;margin:auto;padding:0 20px 45px}h1{font:clamp(32px,5vw,50px) Georgia;margin:6px 0}h2{font:26px Georgia;margin:5px 0}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:750;color:#657c68}.heading{display:flex;justify-content:space-between;align-items:center;margin:20px 0 25px}.heading p{margin:7px 0}.game{background:#fffdf7;border:1px solid #d9dfcd;border-radius:24px;overflow:hidden;box-shadow:0 14px 40px #475b4510}.topbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 20px;background:#e9efdf}.topbar label{font-size:12px;display:flex;align-items:center;gap:8px}.topbar strong{margin-left:auto;font-size:14px}button,select{font:inherit;min-height:44px;border:1px solid #acbca7;border-radius:12px;background:#fffdf7;color:inherit;padding:8px 14px;cursor:pointer}button:hover{background:#edf2e3}button:disabled{opacity:.5;cursor:default}button:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid #b77b25;outline-offset:3px}.scene-heading{padding:15px 20px}.scene-heading p{font-size:13px;margin:5px 0;color:#677568}.viewport{position:relative;margin:0 12px;border:1px solid #dfd7c5;overflow:hidden;border-radius:14px;line-height:0;background:#eee9dc}canvas{display:block;width:100%;height:auto;aspect-ratio:3/2;touch-action:none;cursor:crosshair}#image-loading{position:absolute;inset:40% 0 auto;text-align:center;line-height:1.5;background:#fffdf7d9;padding:15px;margin:0}.tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;padding:14px 12px}.tools button{font-size:13px}#zoom-in,#zoom-out{font-size:22px;width:44px;padding:0}#zoom-label{font-size:12px;min-width:44px;text-align:center}#message{padding:0 18px;min-height:24px;text-align:center;font-size:14px}#targets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:5px 16px 18px;gap:10px;margin:0}#targets button{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:6px;font-size:12px;height:70px}#targets .preview{flex:0 0 55px;width:55px;height:55px;border-radius:9px;background-color:#f3ebd9;background-repeat:no-repeat}#targets .selected{outline:2px solid #977941;background:#f6efd8}#targets .found{opacity:.65;background:#e7efdf;text-decoration:line-through}.end-inline{text-align:center;padding:15px}.end-inline button{margin:6px}#save-status{font-size:12px;color:#687365}details{font-size:14px;line-height:1.65}summary{cursor:pointer;padding:14px 0;font-weight:650}dialog{max-width:min(420px,90vw);border:1px solid #a9b7a0;border-radius:18px;padding:26px;color:inherit;background:#fffdf7}dialog::backdrop{background:#15271e66}dialog button{margin:4px}.game:fullscreen{overflow:auto;width:100%;max-width:none;border-radius:0;background:#fffdf7}.game:fullscreen .viewport{max-width:1000px;margin:auto}[hidden]{display:none!important}@media(max-width:600px){header{padding:14px;gap:10px;font-size:11px}.brand{font-size:21px}main{padding:0 10px 30px}.heading{margin:15px 3px}.heading>div>p:not(.eyebrow){font-size:13px}.eyebrow{font-size:9px;letter-spacing:1px}.topbar{padding:10px;gap:8px}.topbar select{max-width:150px;font-size:12px}.topbar strong{font-size:12px}.scene-heading{padding:12px}.scene-heading h2{font-size:23px}.viewport{margin:0 5px;border-radius:8px}#targets{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:5px 10px 12px}#targets button{font-size:11px}.tools{gap:5px;padding:10px 5px}.tools button{padding:7px;font-size:12px}.game{border-radius:17px}#message{font-size:12px;padding:0 10px}}@media(prefers-color-scheme:dark){:root{color:#ebe6d5;background:#202923}.game,dialog,.game:fullscreen{background:#2b362e;border-color:#52614f}.topbar{background:#354534}button,select{background:#344432;border-color:#65715a;color:#f3eddf}button:hover{background:#44573e}.scene-heading p,#save-status{color:#c0cbb5}.eyebrow{color:#b9cfa7}#targets .selected{background:#605739;outline-color:#e4c784}#targets .found{background:#3c4f34}#image-loading{background:#26362bea}.viewport{border-color:#52614f}}@media(prefers-reduced-motion:no-preference){#targets .found{animation:found .35s ease-out}@keyframes found{50%{transform:scale(1.035)}}}.heading-actions{display:flex;align-items:center;gap:8px}.heading-actions>button{font-size:12px}#gesture-help{position:absolute;left:10px;bottom:9px;border-radius:20px;padding:8px 12px;background:#fffdf7df;color:#405345;font:11px/1.2 system-ui;pointer-events:none}.target-tray{position:sticky;bottom:0;z-index:3;background:#fffdf7f5;border-top:1px solid #d9dfcd;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tray-heading{display:flex;justify-content:space-between;gap:8px;padding:10px 18px 5px;font-size:12px}.tray-heading span{font-size:11px;color:#687365}#targets .preview{overflow:hidden;border:1px solid #d5d5be}#targets .found{opacity:.72}#targets .target-label{line-height:1.3}#targets .target-check{display:block;color:#467244;font-weight:700;font-size:10px}.viewport canvas{max-height:none}#message[data-kind=miss]{color:#925f31}#message[data-kind=found]{color:#357041}.game.expanded-view{position:fixed;inset:0;z-index:50;overflow:auto;border-radius:0;width:100%;max-width:none;background:#fffdf7}.game.expanded-view .viewport{max-width:1000px;margin:auto}.game-expanded{overflow:hidden}#new-name{font:inherit;border-radius:8px;padding:10px;border:1px solid #a9b7a0;width:100%;margin:12px 0;background:inherit;color:inherit}#image-loading button{margin-top:8px}.end-inline p{font-size:14px;color:#657c68}@media(max-width:600px){.heading-actions{flex-direction:column;gap:4px}.heading-actions>button{min-height:36px;padding:6px;font-size:10px}.target-tray{bottom:0}#targets{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding:7px 10px 10px}#targets li{flex:0 0 130px;scroll-snap-align:start}#targets button{height:66px}.tray-heading{padding:8px 12px 0;font-size:11px}.tray-heading span{font-size:9px;max-width:150px;text-align:right}#gesture-help{font-size:9px;padding:6px 8px}.tools #fullscreen{font-size:0}.tools #fullscreen:after{content:"⛶";font-size:19px}.tools #hint{font-size:12px}.tools{flex-wrap:nowrap}#targets .preview{flex-basis:48px;width:48px;height:48px}.topbar label:first-child select{max-width:105px}.topbar label:nth-child(2){flex:1}.topbar label:nth-child(2) select{width:100%;max-width:200px}.topbar strong{width:100%;text-align:right}.heading>div:first-child{min-width:0}.heading h1{font-size:34px}.heading{gap:8px}}@media(prefers-color-scheme:dark){.target-tray{background:#2b362ef5;border-color:#52614f}.tray-heading span{color:#bdcbb4}.game.expanded-view{background:#2b362e}#message[data-kind=miss]{color:#ebba80}#message[data-kind=found],#targets .target-check{color:#b7dba1}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}#targets{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding:7px 12px 12px}#targets li{flex:0 0 156px;scroll-snap-align:start}#targets .detail-preview{display:grid;place-items:center;font:34px Georgia;color:#657c68;background:#edf0df}#targets .detail-preview:after{content:none}@media(max-width:600px){#targets li{flex-basis:145px}#targets .detail-preview{font-size:28px}}@media(prefers-color-scheme:dark){#targets .detail-preview{color:#d1dcbc;background:#3c4c37}}@media(max-width:520px){.topbar label.search-mode-label{flex:1 0 100%}.topbar #search-mode{flex:1;max-width:none;min-width:0}}
