:root{color-scheme:light;--color-background:#f5f7f2;--color-surface:#fff;--color-text:#172c24;--color-muted:#4e6258;--color-accent:#166348;--color-accent-text:#fff;--color-warm:#a86b16;--color-line:#d5ddd2;--color-focus:#166348;--color-error:#a3261b;--color-error-surface:#fbeae7;--color-success:#166348;--color-success-surface:#e6f2ea;--color-notice-surface:#eef3ea;--color-art-tint:#16634814;--color-board-light:#e8eedc;--color-board-dark:#759782;--color-board-frame:#3d5a4a;--color-selected:#0b3d2a;--color-last-move:#5a3a00;--color-legal-target:#14261d;--color-check:#7a0f0f;--color-hint:#0b2e66;--color-board-focus:#06140d;--color-board-focus-halo:#fff;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--font-text:system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "Helvetica Neue", Arial, sans-serif;--font-heading:Charter, "Bitstream Charter", "Sitka Text", Cambria, "Noto Serif", Georgia, serif;--font-size-small:.9375rem;--font-size-text:1.125rem;--font-size-h3:1.25rem;--font-size-h2:1.5rem;--font-size-h1:2rem;--line-height-text:1.6;--line-height-heading:1.25;--measure:65ch;--page-max:72rem;--radius:6px;--radius-large:10px;--shadow-raised:0 1px 2px #172c2414, 0 2px 8px #172c240f;--target-min:44px;--duration-short:.15s}:root[data-theme=dark]{color-scheme:dark;--color-background:#101c18;--color-surface:#192b24;--color-text:#f2f6f1;--color-muted:#b9cbc0;--color-accent:#98ddb4;--color-accent-text:#10251b;--color-warm:#e7bb6f;--color-line:#2e463c;--color-focus:#98ddb4;--color-error:#ff9c8f;--color-error-surface:#3a1f1b;--color-success:#98ddb4;--color-success-surface:#173a2a;--color-notice-surface:#1f3329;--color-art-tint:#98ddb412;--color-board-light:#c6d3b2;--color-board-dark:#537561;--color-board-frame:#8fae9a;--color-selected:#03251a;--color-last-move:#2e1d00;--color-legal-target:#0a1510;--color-check:#3d0505;--color-hint:#05173a;--color-board-focus:#030a06;--color-board-focus-halo:#f2f6f1;--shadow-raised:0 1px 2px #0006, 0 2px 8px #0000004d}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--color-background:#101c18;--color-surface:#192b24;--color-text:#f2f6f1;--color-muted:#b9cbc0;--color-accent:#98ddb4;--color-accent-text:#10251b;--color-warm:#e7bb6f;--color-line:#2e463c;--color-focus:#98ddb4;--color-error:#ff9c8f;--color-error-surface:#3a1f1b;--color-success:#98ddb4;--color-success-surface:#173a2a;--color-notice-surface:#1f3329;--color-art-tint:#98ddb412;--color-board-light:#c6d3b2;--color-board-dark:#537561;--color-board-frame:#8fae9a;--color-selected:#03251a;--color-last-move:#2e1d00;--color-legal-target:#0a1510;--color-check:#3d0505;--color-hint:#05173a;--color-board-focus:#030a06;--color-board-focus-halo:#f2f6f1;--shadow-raised:0 1px 2px #0006, 0 2px 8px #0000004d}}*,:before,:after{box-sizing:border-box}html{background:var(--color-background);color:var(--color-text);font-family:var(--font-text);-webkit-text-size-adjust:100%;text-size-adjust:100%;font-size:100%}body{min-block-size:100vh;font-size:var(--font-size-text);line-height:var(--line-height-text);overflow-wrap:break-word;hyphens:auto;flex-direction:column;margin:0;display:flex}main{flex:1}h1,h2,h3{margin-block:0 var(--space-3);font-family:var(--font-heading);font-weight:600;line-height:var(--line-height-heading);text-wrap:balance;overflow-wrap:anywhere}h1{font-size:var(--font-size-h1)}h2{font-size:var(--font-size-h2);margin-block-start:var(--space-6)}h3{font-size:var(--font-size-h3);margin-block-start:var(--space-5)}p,ul,ol{margin-block:0 var(--space-4)}a{color:var(--color-accent);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.skip-link{z-index:10;padding:var(--space-2) var(--space-4);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius);position:absolute;inset-block-start:-100vh;inset-inline-start:var(--space-4)}.skip-link:focus{inset-block-start:var(--space-2)}.page{inline-size:100%;max-inline-size:var(--page-max);padding:var(--space-5) var(--space-4) var(--space-7);margin-inline:auto}.page>*{max-inline-size:var(--measure)}.page>.page__wide{max-inline-size:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.button{justify-content:center;align-items:center;gap:var(--space-2);min-block-size:var(--target-min);min-inline-size:var(--target-min);padding:var(--space-2) var(--space-5);border-radius:var(--radius);font:inherit;text-align:center;overflow-wrap:anywhere;cursor:pointer;max-inline-size:100%;transition:border-color var(--duration-short) ease;border:2px solid #0000;font-weight:600;line-height:1.3;text-decoration:none;display:inline-flex}.button--primary{background:var(--color-accent);color:var(--color-accent-text)}.button--primary:hover{background:color-mix(in srgb, var(--color-accent) 88%, var(--color-text))}.button--secondary{border-color:var(--color-accent);background:var(--color-surface);color:var(--color-accent)}.button--secondary:hover{background:var(--color-notice-surface)}.button--quiet{padding-inline:var(--space-3);color:var(--color-accent);text-underline-offset:.18em;background:0 0;text-decoration:underline}.button:disabled,.button[aria-disabled=true]{border-color:var(--color-line);background:var(--color-background);color:var(--color-muted);cursor:not-allowed}.notice,.feedback{gap:var(--space-3);margin-block:0 var(--space-4);padding:var(--space-4);border-radius:var(--radius);border-inline-start:4px solid;display:flex}.notice{border-color:var(--color-muted);background:var(--color-notice-surface)}.notice__icon,.feedback__icon{flex:none;block-size:1.5rem;inline-size:1.5rem;margin-block-start:.1rem}.notice__icon{color:var(--color-muted)}.notice__content,.feedback__content{overflow-wrap:anywhere;min-inline-size:0}.notice__content>:last-child,.feedback__content>:last-child{margin-block-end:0}.notice__title,.feedback__label{margin-block-end:var(--space-1);font-weight:700}.feedback--success{border-color:var(--color-success);background:var(--color-success-surface)}.feedback--success .feedback__icon,.feedback--success .feedback__label{color:var(--color-success)}.feedback--retry{border-color:var(--color-error);background:var(--color-error-surface)}.feedback--retry .feedback__icon,.feedback--retry .feedback__label{color:var(--color-error)}.disclosure{margin-block:0 var(--space-4);border-block:1px solid var(--color-line)}.disclosure__summary{align-items:center;gap:var(--space-2);min-block-size:var(--target-min);padding-block:var(--space-2);color:var(--color-accent);cursor:pointer;font-weight:600;list-style:none;display:flex}.disclosure__summary::-webkit-details-marker{display:none}.disclosure__summary:before{content:"";block-size:.55em;inline-size:.55em;transition:transform var(--duration-short) ease;border-block-end:2px solid;border-inline-end:2px solid;flex:none;transform:rotate(-45deg)}.disclosure[open]>.disclosure__summary:before{transform:rotate(45deg)}.disclosure__body{padding-block:0 var(--space-4)}.disclosure__body>:last-child{margin-block-end:0}.dialog{inline-size:min(32rem, calc(100vw - 2 * var(--space-4)));max-block-size:calc(100vh - 2 * var(--space-4));padding:var(--space-5);border:1px solid var(--color-line);border-radius:var(--radius-large);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-raised)}.dialog::backdrop{background:#101c188c}.dialog__title{margin-block-start:0}.dialog__actions{justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap;margin-block-start:var(--space-5);display:flex}.badge{margin:0 0 var(--space-3);padding:var(--space-1) var(--space-3);border:1px solid var(--color-muted);border-radius:var(--radius);color:var(--color-muted);font-size:var(--font-size-small);display:inline-block}.art-panel{padding:var(--space-4);border-radius:var(--radius-large);background-color:var(--color-notice-surface);background-image:conic-gradient(var(--color-art-tint) 25%, transparent 0 50%, var(--color-art-tint) 0 75%, transparent 0);background-size:2rem 2rem;place-items:center;display:grid}@media print{.art-panel{display:none}}
