: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,.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){background:#426c54;color:#fffbed;border-color:#8aaa8c}html body :is(.toolbar,.puzzle-toolbar,.board-actions,.tray-pages) 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:#35483e;background:#f7f3e9;font-synthesis:none;--paper:#fffdf6;--ink:#35483e;--line:#ded4bd;--wood:#d9b684;--muted:#647668;--cell:#fcf6e5;--bone:#fdf8ec;--bone-line:#c4b593;--pip:#3a4a3f;--felt:#5d8468}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}button{color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:10px 15px;min-height:44px;cursor:pointer;font-weight:650}button:disabled{cursor:default;opacity:.48}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #438abb;outline-offset:3px}button:hover:not(:disabled){filter:brightness(.96)}a{color:inherit}header{max-width:1250px;margin:auto;padding:24px;display:flex;justify-content:space-between;align-items:center}.brand{font-size:25px;text-decoration:none;font-weight:800}.brand span{font-weight:400;color:var(--muted)}main{max-width:1250px;margin:auto;padding:0 24px 40px}.intro{margin:35px 0}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:750;color:var(--muted)}h1{font-family:Georgia,serif;font-size:clamp(28px,4vw,49px);font-weight:400;margin:12px 0}h1 em{color:#64816a}h2{font-family:Georgia,serif;font-weight:400}.intro>p:last-child{color:var(--muted)}.layout{display:grid;grid-template-columns:minmax(0,790px) minmax(210px,1fr);gap:30px;align-items:start}.domino-shell{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:0 18px 45px #594b2510}.toolbar,.tools,.heading,.actions,.dialog-actions{display:flex;align-items:center;gap:8px}.toolbar{justify-content:space-between;flex-wrap:wrap;position:relative;z-index:6}.tools{flex-wrap:wrap}.heading{margin:14px 0}.heading img{width:83px;height:62px;object-fit:contain}.heading h2{font-size:25px;margin:0}.heading small{font-size:9px;letter-spacing:.12em;color:var(--muted)}.primary{background:#426d52;color:#fff;border-color:#426d52}.fine{font-size:11px;color:var(--muted);line-height:1.55}.actions{justify-content:space-between;margin-top:12px;flex-wrap:wrap}.companion{text-align:center;padding:30px 5px}.companion>img{width:100%;max-width:380px;object-fit:contain}.companion p{color:var(--muted);font-size:14px;line-height:1.6}.companion h2{font-size:28px}dialog{color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:24px;max-width:560px;width:calc(100% - 30px);max-height:85dvh;overflow:auto}dialog::backdrop{background:#14221cab;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}dialog h2{margin-top:0}dialog li,dialog p{font-size:14px;line-height:1.65}dialog li{margin-bottom:10px}label{display:block;margin:15px 0}select,input{width:100%;padding:12px;border-radius:10px;border:1px solid var(--line);color:var(--ink);background:var(--paper);margin-top:7px}.dialog-actions{justify-content:flex-end;flex-wrap:wrap}#player-list{display:flex;flex-wrap:wrap;gap:8px}.tile{--long:52px;--short:26px;--pip-size:calc(var(--short)/6.2);width:var(--long);height:var(--short);display:flex;flex-direction:row;background:linear-gradient(160deg,#fffdf7,var(--bone) 62%,#f0e7d3);border:1px solid var(--bone-line);border-radius:5px;box-shadow:0 2px 3px #4a3c1f2e,inset 0 1px #fff;flex-shrink:0;padding:1px}.tile.vertical{width:var(--short);height:var(--long);flex-direction:column}.tile>.half{flex:1;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:calc(var(--short)/11)}.tile>.half+.half{border-left:1px solid var(--bone-line)}.tile.vertical>.half+.half{border-left:0;border-top:1px solid var(--bone-line)}.tile>.half>i{width:var(--pip-size);height:var(--pip-size);border-radius:50%;background:var(--pip);place-self:center;box-shadow:inset 0 -1px #0002}.tile.back{background:linear-gradient(150deg,#8d6f4a,#6f5636);border-color:#5b452b;width:var(--short);height:var(--long);border-radius:5px;box-shadow:0 2px 3px #0003}.backs{display:flex;gap:2px;flex-wrap:wrap;justify-content:center;margin-top:5px}.backs .tile.back{--long:26px;--short:13px}.scores{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.score{border:1px solid var(--line);padding:9px 10px;border-radius:12px;display:flex;flex-direction:column;gap:2px;background:var(--cell)}.score[data-mine=true]{border-color:#4e7c5e;box-shadow:0 0 0 2px #4e7c5e33}.score small{font-size:10px;color:var(--muted);line-height:1.35}.score strong{font-size:26px;font-family:Georgia,serif;font-weight:400}.score-meta{grid-column:1/-1;margin:0;font-size:11px;color:var(--muted);text-align:center}#mode-label{margin:0 0 10px}.table{border:8px solid var(--wood);border-radius:18px;background:radial-gradient(circle at 50% 32%,color-mix(in srgb,var(--felt) 88%,#fff) 0%,var(--felt) 68%,color-mix(in srgb,var(--felt) 82%,#000) 100%);padding:10px;box-shadow:inset 0 0 0 2px #87684450,inset 0 6px 22px #00000026}.rivals{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:9px}.rival{background:#ffffffdb;border:1px solid #ffffff8c;border-radius:12px;padding:7px 6px;text-align:center;min-width:0}.rival[data-active=true]{outline:2px solid #f2d38a;background:#fffdf3}.rival[data-partner=true]{border-color:#4e7c5e73}.rival strong{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rival small{font-size:10px;color:#4c5c50;display:block}.rival .voids{margin-top:3px;color:#8a5b41;font-weight:650}.rival-open{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;margin-top:5px}.rival-open .tile{--long:34px;--short:17px}.board{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 3px;min-height:132px;padding:8px 4px;background:#00000012;border-radius:11px}.board .tile{--long:46px;--short:23px}.board .tile.last{box-shadow:0 0 0 2px #f4d78d,0 2px 4px #0003}.board .empty{color:#f2f7f0;font-size:12px;text-align:center;margin:auto;max-width:230px;line-height:1.6}.ends{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.end{display:flex;align-items:center;justify-content:center;gap:8px;background:#fffdf6e0;border-color:#ffffff9c;padding:8px}.end .half{width:26px;height:26px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:3px;background:var(--bone);border:1px solid var(--bone-line);border-radius:4px}.end .half>i{width:4px;height:4px;border-radius:50%;background:var(--pip);place-self:center}.end small{font-size:11px;color:var(--muted)}.end[data-ready=true]{border-color:#426d52;box-shadow:0 0 0 3px #426d5240;animation:offer 1.5s ease-in-out infinite}.turn-panel{padding:13px 2px 4px}.turn-panel strong{display:block;font-size:15px}.turn-panel p{font-size:13px;color:var(--muted);margin:5px 0 0;min-height:2.6em}.hand-area{margin-top:4px}#hand-label{margin:0 0 6px}.hand{display:flex;gap:6px;flex-wrap:wrap;align-items:flex-end;min-height:86px;padding:8px;border:1px dashed var(--line);border-radius:14px;background:var(--cell)}.hand .tile{--long:76px;--short:38px;cursor:default;transition:transform .16s ease,box-shadow .16s ease}.hand .tile.playable{cursor:pointer;box-shadow:0 0 0 2px #426d52,0 3px 5px #0002}.hand .tile.playable:hover{transform:translateY(-4px)}.hand .tile.chosen{transform:translateY(-8px);box-shadow:0 0 0 3px #d9a441,0 8px 12px #0003}.hand .tile:not(.playable){opacity:.72}.hand .backs{margin:0}.hand .backs .tile.back{--long:76px;--short:38px}.play-area{position:relative}.privacy{position:absolute;inset:0;z-index:5;display:grid;place-items:center;padding:22px;border-radius:18px;background:#f4efe0e6;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);text-align:center}.privacy>div{max-width:330px}.privacy h3{font-family:Georgia,serif;font-weight:400;font-size:23px;margin:0 0 8px}.privacy p{font-size:13px;color:var(--muted);line-height:1.6}.privacy button{margin-top:6px;padding:14px 26px}.handover{margin-top:12px;border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--cell)}.handover h3{font-family:Georgia,serif;font-weight:400;margin:0 0 6px;font-size:21px}.handover p{font-size:13px;color:var(--muted);margin:0 0 10px;line-height:1.6}.handover-tiles{display:grid;gap:7px;margin-bottom:12px}.handover-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.handover-row small{font-size:11px;color:var(--muted);min-width:118px}.handover-row>div{display:flex;gap:3px;flex-wrap:wrap}.handover-row .tile{--long:34px;--short:17px}.expanded-view,.domino-shell:fullscreen{width:100%;height:100dvh;position:fixed;inset:0;z-index:100;border-radius:0;overflow:auto;max-width:none;display:block}.expanded-view .intro{display:none}.game-expanded{overflow:hidden}@keyframes offer{50%{box-shadow:0 0 0 6px #426d5226}}@media(max-width:850px){.layout{grid-template-columns:1fr}.companion{max-width:440px;margin:auto;padding-top:0}.companion>img{max-height:260px}.intro{margin:12px 0 24px}header{padding:18px}main{padding:0 12px 25px}.domino-shell{padding:11px;border-radius:18px}.heading h2{font-size:22px}.heading img{width:70px;height:48px}.toolbar button{padding:7px 10px}.table{border-width:5px;padding:7px}.rivals{gap:4px}.rival{padding:5px 3px}.rival strong{font-size:11px}.rival small{font-size:9px}.board{min-height:112px;gap:3px 2px}.board .tile{--long:38px;--short:19px}.hand{gap:5px;padding:6px}.hand .tile,.hand .backs .tile.back{--long:66px;--short:33px}.score strong{font-size:22px}.handover-row small{min-width:100%}}@media(max-width:380px){.hand .tile,.hand .backs .tile.back{--long:58px;--short:29px}.board .tile{--long:34px;--short:17px}}@media(prefers-color-scheme:dark){:root{background:#17231e;color:#e9ede3;--paper:#22322a;--ink:#edf1e6;--line:#526353;--wood:#715b3f;--muted:#bdcbbd;--cell:#2b3d33;--bone:#f2ecdb;--bone-line:#9d8f70;--pip:#2c3a30;--felt:#3f5c4b}.domino-shell{background:var(--paper)}h1 em{color:#a8c29e}.heading small{color:var(--muted)}.rival{background:#22322ad9;border-color:#ffffff1f}.rival small{color:var(--muted)}.rival[data-active=true]{background:#2e4034;outline-color:#e5c885}.board .empty{color:#e7efe4}.end{background:#2b3d33e6;border-color:#ffffff24}.privacy{background:#1b2a23f0}.score[data-mine=true]{box-shadow:0 0 0 2px #8fb99c40;border-color:#8fb99c}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.rivals[data-duel=true]{grid-template-columns:minmax(0,1fr)}.rivals[data-duel=true] .rival{max-width:24rem;width:100%;justify-self:center}
