html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}:root{--styles-loaded:1;--bg:#f5efe2;--card:#fbf6ec;--border:#ddcca8;--text:#2b2013;--text-muted:#7a6650;--faint:#a89877;--gold:#a5711f;--sans:system-ui, "Segoe UI", Roboto, sans-serif;font:16px/145% var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--bg:#17130f;--card:#241a12;--border:#4a3524;--text:#f0e4c8;--text-muted:#c2ac8a;--faint:#7d6a52;--gold:#e8b453;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#17130f;--card:#241a12;--border:#4a3524;--text:#f0e4c8;--text-muted:#c2ac8a;--faint:#7d6a52;--gold:#e8b453;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-contrast=more]{--border:#8a6f45;--text:#000;--text-muted:#3d2f1d;--faint:#5e4b31;--gold:#7a4f0e}:root[data-theme=dark][data-contrast=more]{--border:#b0916a;--text:#fff;--text-muted:#eadbbd;--faint:#c9b28e;--gold:#f2c869}@media (prefers-color-scheme:dark){:root:not([data-theme=light])[data-contrast=more]{--border:#b0916a;--text:#fff;--text-muted:#eadbbd;--faint:#c9b28e;--gold:#f2c869}}:root[data-motion=reduce] *,:root[data-motion=reduce] :before,:root[data-motion=reduce] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}body{margin:0}#root{background:var(--bg);min-height:100svh}#game{box-sizing:border-box;min-height:100svh;font-family:var(--sans);flex-direction:column;align-items:center;padding:24px 16px 32px;display:flex}.game-header{text-align:center;margin-bottom:12px}.header-nav{justify-content:center;align-items:center;gap:8px;display:flex}.game-header h1{letter-spacing:-.3px;color:var(--text);margin:0;font-size:24px;font-weight:600}.date-tag{color:var(--text-muted);font-size:.75em;font-weight:400}.day-nav-button{border:1px solid var(--border);width:28px;height:28px;color:var(--text);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:16px;display:flex}.day-nav-button:disabled{color:var(--faint);cursor:default}@media (hover:hover){.day-nav-button:hover:not(:disabled){border-color:var(--gold)}}.load-status{min-height:100svh;font-family:var(--sans);color:var(--text-muted);text-align:center;justify-content:center;align-items:center;padding:0 24px;display:flex}.difficulty-row{box-sizing:border-box;width:min(400px,100%);color:var(--text-muted);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;display:flex}.difficulty-label{text-transform:capitalize;color:var(--text);font-weight:600}.theme-toggle{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:0;line-height:0}.theme-toggle-track{background:var(--border);box-sizing:border-box;border-radius:12px;align-items:center;width:44px;height:24px;padding:2px;transition:background-color .2s;display:flex}.theme-toggle-thumb{background:var(--card);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;transition:transform .2s;display:flex;box-shadow:0 1px 2px #0003}.theme-toggle.dark .theme-toggle-thumb{transform:translate(20px)}.theme-toggle-icon{width:13px;height:13px}.theme-toggle.light .theme-toggle-icon{color:var(--gold)}.theme-toggle.dark .theme-toggle-icon{color:var(--text-muted)}.theme-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:12px}@media (prefers-reduced-motion:reduce){.theme-toggle-thumb,.theme-toggle-track{transition:none}}.header-controls{align-items:center;gap:10px;display:flex}.gear-button{width:24px;height:24px;color:var(--text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}@media (hover:hover){.gear-button:hover{color:var(--text)}}.gear-button svg{width:18px;height:18px}.gear-button:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}.settings-card{text-align:left}.settings-card .modal-title{text-align:center;margin-bottom:20px}.settings-row{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.settings-label{color:var(--text);flex-direction:column;gap:4px;font-size:14px;font-weight:600;display:flex}.settings-description{color:var(--text-muted);font-size:13px;font-weight:400;line-height:1.5}.segmented-control{border:1px solid var(--border);border-radius:8px;gap:2px;padding:2px;display:flex}.segmented-option{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:6px 0;font-family:inherit;font-size:13px}.segmented-option.active{background:var(--gold);color:var(--card);font-weight:600}.segmented-option:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.board-stage{box-sizing:border-box;justify-content:center;align-items:center;padding:16px 0;display:flex}.board-stage svg{width:min(100vw - 32px,100svh - 300px,560px);height:auto}.piece-movable{cursor:pointer}@media (hover:hover){.piece-movable:hover{filter:brightness(1.08)}}.status-row{box-sizing:border-box;width:min(400px,90vw);color:var(--text-muted);align-items:center;min-height:20px;font-size:13px;display:flex}.status-timer,.status-moves{font-variant-numeric:tabular-nums;flex:1}.status-moves{text-align:right;white-space:nowrap;flex:1.6}.status-center{text-align:center;flex:1}.win-banner{color:var(--gold);font-weight:600}.button-row{box-sizing:border-box;justify-content:center;gap:8px;width:min(400px,90vw);margin-top:14px;display:flex}.reset-button{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;flex:1;padding:8px 16px;font-family:inherit;font-size:13px}@media (hover:hover){.reset-button:hover:not(:disabled){color:var(--text);border-color:var(--gold)}}.reset-button:disabled{color:var(--faint);cursor:default}.hint-button{position:relative;overflow:hidden}.hint-button-label{z-index:1;position:relative}.hint-progress{background:var(--border);transition:width 1s linear;position:absolute;inset:0}.build-footer{color:var(--faint);text-align:center;margin-top:12px;font-size:13px}.modal-overlay{z-index:998;background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-card{background:var(--card);border:1px solid var(--border);text-align:center;box-sizing:border-box;border-radius:16px;width:100%;max-width:320px;padding:32px 24px;box-shadow:0 8px 32px #00000080}.modal-icon{margin-bottom:14px;font-size:48px}.modal-title{color:var(--text);margin:0 0 4px;font-size:22px;font-weight:600}.modal-subtitle{color:var(--text-muted);margin:0 0 24px;font-size:13px}.modal-stats{grid-template-columns:repeat(2,1fr);gap:16px 0;margin-bottom:24px;display:grid}.modal-stat{text-align:center}.modal-stat:nth-child(odd){border-right:1px solid var(--border)}.modal-stat-value{color:var(--text);font-variant-numeric:tabular-nums;font-size:26px;font-weight:700}.modal-stat-label{color:var(--text-muted);margin-top:2px;font-size:13px}.modal-share{background:var(--gold);width:100%;color:var(--card);cursor:pointer;border:none;border-radius:10px;margin-bottom:10px;padding:12px;font-family:inherit;font-size:15px;font-weight:600}.modal-secondary{width:100%;color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:10px;margin-bottom:10px;padding:10px;font-family:inherit;font-size:14px}.modal-close{width:100%;color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:10px;padding:10px;font-family:inherit;font-size:14px}.confetti-canvas{pointer-events:none;z-index:999;width:100%;height:100%;position:fixed;top:0;left:0}.piece-hint-glow{stroke:var(--gold);stroke-width:3px;stroke-linejoin:round;pointer-events:none;animation:1s ease-in-out infinite hint-pulse}@keyframes hint-pulse{0%,to{stroke-opacity:.35;stroke-width:2px}50%{stroke-opacity:.95;stroke-width:5px}}@media (prefers-reduced-motion:reduce){.piece-hint-glow{stroke-opacity:.75;animation:none}}.about-card{text-align:left;max-height:calc(100svh - 32px);overflow-y:auto}.about-card .modal-title{text-align:center}.about-card p{margin:0 0 12px;font-size:14px;line-height:1.5}.about-card a{color:inherit}.about-heading{margin:16px 0 6px;font-size:14px;font-weight:600}.about-intro{text-align:center;color:var(--text-muted);margin:4px 0 12px}.about-badges{flex-wrap:wrap;justify-content:center;gap:6px;margin:0 0 16px;padding:0;list-style:none;display:flex}.about-badges li{border:1px solid var(--border);background:0 0;border-radius:999px;padding:3px 10px;font-size:13px}.about-access{gap:8px;margin:0 0 8px;padding:0;list-style:none;display:grid}.about-access li{align-items:flex-start;gap:10px;font-size:14px;line-height:1.4;display:flex}.about-access-icon{width:20px;height:20px;color:var(--gold);flex-shrink:0}.about-settings-link{font:inherit;color:var(--gold);cursor:pointer;background:0 0;border:none;margin:0 0 12px;padding:0;font-size:14px;text-decoration:underline}.about-privacy{color:var(--text-muted);margin-bottom:8px;font-size:13px}.about-privacy summary{cursor:pointer}.about-privacy p{margin:6px 0 0;font-size:13px}.about-tiles{gap:8px;margin:0;padding:0;list-style:none;display:grid}.about-card a.about-tile{border:1px solid var(--border);color:var(--text);border-radius:10px;align-items:center;gap:12px;padding:8px 10px;text-decoration:none;display:flex}.about-tile img{flex-shrink:0}.about-tile strong{font-size:14px;display:block}.about-tile-line{color:var(--text-muted);font-size:13px;display:block}.about-footer{text-align:center;color:var(--text-muted);margin:16px 0;font-size:13px}.footer-link{font:inherit;color:var(--faint);cursor:pointer;background:0 0;border:none;padding:0}@media (hover:hover){.footer-link:hover{text-decoration:underline}}.settings-row-switch{flex-direction:row;justify-content:space-between;align-items:center;gap:16px}.settings-row-switch .settings-label{text-align:left}.switch{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-shrink:0;padding:0;line-height:0}.switch-track{background:var(--border);box-sizing:border-box;border-radius:11px;align-items:center;width:40px;height:22px;padding:2px;transition:background-color .2s;display:flex}.switch-thumb{background:var(--card);border-radius:50%;width:18px;height:18px;transition:transform .2s;box-shadow:0 1px 2px #0003}.switch.on .switch-track{background:var(--gold)}.switch.on .switch-thumb{transform:translate(18px)}.how-to-play-card{text-align:left;max-height:calc(100svh - 32px);overflow-y:auto}.how-to-play-card .modal-title{text-align:center}.how-to-play-card p{margin:0 0 12px;font-size:14px;line-height:1.5}:root[data-contrast=more] .piece-grain-overlay{opacity:.12}:root[data-contrast=more] .piece-edge{opacity:1;stroke-width:2.4px}:root[data-contrast=more] .symbol-sun{stroke:#5e3f0e;stroke-width:2px}:root[data-contrast=more] .symbol-sun-ray{stroke:#8a5a14}:root[data-contrast=more] .symbol-moon{stroke:#fff;stroke-width:2px}:root[data-input=keyboard] button:focus-visible,:root[data-input=keyboard] a:focus-visible,:root[data-input=keyboard] [tabindex]:not([tabindex="-1"]):focus-visible{outline:2px solid var(--gold);outline-offset:2px}:root:not([data-input=keyboard]) :focus-visible,.modal-card:focus{outline:none}.load-status p{margin:0 0 12px}.load-retry{border:1.5px solid var(--border);background:var(--card);color:var(--text);font:inherit;cursor:pointer;border-radius:10px;padding:10px 22px;font-weight:600}@media (width<=400px){.game-header h1{font-size:20px}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tone-even{--tone:#ce7a2e;--tone-deep:#9b4c18;--tone-light:#eca552;--tone-hi:#f8d27a;color:#ce7a2e}.tone-odd{--tone:#303a56;--tone-deep:#1b2238;--tone-light:#5a76a8;--tone-hi:#a9c2e6;color:#303a56}.board-stage .tone-even{--tone:#f0a24a;--tone-deep:#a8541a;--tone-light:#f6c27a;--tone-hi:#fde2a8}:root[data-theme=dark] .symbol-theme-icon.tone-odd{--tone:#8b98c4;--tone-deep:#58659a;--tone-light:#b4c2e8;--tone-hi:#e0e8f8;color:#8b98c4}.symbol-theme-options{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:4px;display:grid}.symbol-theme-option{border:1.5px solid var(--border);background:var(--card);cursor:pointer;text-align:left;border-radius:10px;align-items:center;gap:8px;padding:8px 10px;font-family:inherit;display:flex}.symbol-theme-option.active{border-color:var(--gold)}.symbol-theme-icons{flex-shrink:0;gap:2px;display:flex}.symbol-theme-icon{width:18px;height:18px}.symbol-theme-label{color:var(--text);font-size:13px;font-weight:500;line-height:1.3}.hint-slot{flex-shrink:0;width:min(400px,90vw);height:61px}.hint-slot .status-row{width:100%;height:100%}.hint-reason{box-sizing:border-box;border:1px solid var(--gold);height:100%;color:var(--text);border-radius:10px;padding:10px 14px;font-size:13px;line-height:1.5;overflow-y:auto}@media (height<=700px){#game{padding-top:8px;padding-bottom:16px}.game-header{margin-bottom:4px}.game-header h1{font-size:20px}.board-stage{padding:6px 0}.board-stage svg{width:min(100vw - 32px,100svh - 220px,560px)}.button-row{margin-top:8px}}@media (orientation:landscape) and (height<=600px){#game{grid-template-rows:auto auto auto auto 1fr;grid-template-columns:auto minmax(0,400px);justify-content:center;align-items:start;column-gap:24px;padding:8px 16px;display:grid}.board-stage{grid-area:1/1/-1;align-self:center;padding:0}.board-stage svg{width:calc(100dvh - 16px)}.game-header,.difficulty-row,.hint-slot,.button-row,.build-footer{grid-column:2}.game-header{grid-row:1}.difficulty-row{grid-row:2;width:100%}.hint-slot{grid-row:3;width:100%;margin-top:6px}.button-row{grid-row:4;width:100%}.build-footer{grid-row:5}}.modal-overlay,.modal-overlay.top-anchored-overlay{padding:var(--popup-top,130px) 24px 16px;align-items:flex-start}.modal-overlay .modal-card{width:100%;max-width:880px;max-height:calc(100svh - var(--popup-top,130px) - 16px);overflow-y:auto}.modal-overlay .win-card{max-width:420px}@media (width>=640px){.settings-card{grid-template-columns:1fr 1fr;align-content:start;column-gap:32px;display:grid}.settings-card>:not(.settings-row),.settings-card>.settings-row-symbols{grid-column:1/-1}.how-to-play-body,.about-body{columns:2;column-gap:32px}.how-to-play-body>*,.about-body>*{break-inside:avoid}}@media (height<=600px){.modal-overlay .modal-card{padding:16px 24px}}
