@font-face{font-family:Lexend;src:url(/fonts/Lexend-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-SemiBold.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#fbfcfe;--surface:#fff;--border:#d8e1f0;--text:#14213d;--muted:#4a5878;--primary:#1f4fb8;--on-primary:#fff;--accent:#c23b3b;--good:#137a4b;--bad:#b42318;--surface-2:color-mix(in srgb, var(--primary) 4%, var(--surface));--border-strong:color-mix(in srgb, var(--primary) 30%, var(--border));--primary-soft:color-mix(in srgb, var(--primary) 10%, var(--surface));--primary-hover:color-mix(in srgb, var(--primary) 85%, var(--text));--focus-ring:color-mix(in srgb, var(--primary) 35%, transparent);--grid-line:color-mix(in srgb, var(--primary) 7%, transparent);--bad-soft:color-mix(in srgb, var(--bad) 10%, var(--surface));--good-soft:color-mix(in srgb, var(--good) 12%, var(--surface));--font-text:"Lexend", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--shadow-sm:0 1px 2px #14213d0f;--shadow-md:0 1px 2px #14213d0d, 0 12px 28px -14px #14213d38;--header-h:3.5rem;--page-max:75rem;--gutter:1rem;--dark-bg:#0f1626;--dark-surface:#172036;--dark-border:#2a3754;--dark-text:#e8edf7;--dark-muted:#a3afc7;--dark-primary:#8db4ff;--dark-on-primary:#0b1a3a;--dark-accent:#ff8a80;--dark-good:#6fd6a2;--dark-bad:#ff9c8f;--dark-shadow-sm:0 1px 2px #0000004d;--dark-shadow-md:0 1px 2px #0000004d, 0 12px 28px -14px #0009}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:var(--dark-bg);--surface:var(--dark-surface);--border:var(--dark-border);--text:var(--dark-text);--muted:var(--dark-muted);--primary:var(--dark-primary);--on-primary:var(--dark-on-primary);--accent:var(--dark-accent);--good:var(--dark-good);--bad:var(--dark-bad);--grid-line:color-mix(in srgb, var(--primary) 6%, transparent);--shadow-sm:var(--dark-shadow-sm);--shadow-md:var(--dark-shadow-md)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:var(--dark-bg);--surface:var(--dark-surface);--border:var(--dark-border);--text:var(--dark-text);--muted:var(--dark-muted);--primary:var(--dark-primary);--on-primary:var(--dark-on-primary);--accent:var(--dark-accent);--good:var(--dark-good);--bad:var(--dark-bad);--grid-line:color-mix(in srgb, var(--primary) 6%, transparent);--shadow-sm:var(--dark-shadow-sm);--shadow-md:var(--dark-shadow-md)}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 1rem)}body{min-height:100dvh;font-family:var(--font-text);color:var(--text);background-color:var(--bg);background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);-webkit-font-smoothing:antialiased;background-size:24px 24px;margin:0;font-size:1rem;line-height:1.6}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.25}h1{font-size:clamp(1.75rem,1.2rem + 2.4vw,2.6rem)}h2{font-size:clamp(1.25rem,1.05rem + .9vw,1.6rem)}h3{font-size:1.1rem}p{margin:0}a{color:var(--primary);text-underline-offset:.2em}code,.mono{font-family:var(--font-mono);font-size:.92em}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:var(--radius-sm)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;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}}.page{width:100%;max-width:var(--page-max);padding:1.5rem var(--gutter) 3.5rem;margin:0 auto}.page>*+*{margin-top:1.5rem}.page-title{text-wrap:balance;max-width:24ch}.lede{max-width:62ch;color:var(--muted);text-wrap:pretty;font-size:1.125rem}.prose{max-width:62ch}.prose>*+*{margin-top:.9rem}.prose h2{margin-top:2rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.25rem}.btn{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);min-width:2.75rem;min-height:2.75rem;color:var(--text);cursor:pointer;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1.1rem;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .15s,border-color .15s;display:inline-flex}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.btn-danger{border-color:var(--bad);color:var(--bad)}.btn:disabled{opacity:.5;cursor:default}@media (hover:hover) and (pointer:fine){.btn:not(:disabled):hover{background:var(--primary-soft)}.btn-primary:not(:disabled):hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-danger:not(:disabled):hover{background:var(--bad-soft)}}.site{flex-direction:column;min-height:100dvh;display:flex}.site>main{flex:1}main:focus{outline:none}.skip-link{z-index:100;border-radius:var(--radius-md);background:var(--primary);color:var(--on-primary);padding:.65rem 1rem;font-weight:600;text-decoration:none;position:absolute;top:.5rem;left:.5rem;transform:translateY(-200%)}.skip-link:focus{transform:none}.site-header{z-index:30;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0}.header-inner{max-width:var(--page-max);min-height:var(--header-h);padding:.25rem var(--gutter);align-items:center;gap:1rem;margin:0 auto;display:flex}.brand{color:var(--text);grid-area:brand;align-items:center;gap:.6rem;text-decoration:none;display:inline-flex}.brand-mark{flex:none;width:2rem;height:2rem}.brand-tile{fill:var(--surface)}.brand-edge{fill:none;stroke:var(--border-strong)}.brand-ink{fill:none;stroke:var(--primary);stroke-linecap:round;stroke-linejoin:round}.brand-underline{fill:none;stroke:var(--accent);stroke-linecap:round}.wordmark{letter-spacing:-.015em;white-space:nowrap;font-size:1.1rem;font-weight:600;line-height:1}.wordmark-visual{align-items:baseline;display:inline-flex}.wordmark-sub{color:var(--primary)}.wordmark-tld{color:var(--muted);font-weight:400}.wordmark-dot{background:var(--accent);border-radius:50%;width:.26em;height:.26em;margin:0 .08em 0 .1em;display:inline-block}@media (width<=22.5rem){.wordmark{font-size:1rem}}.menu-button{margin-left:auto;padding-inline:.9rem}.menu-sheet{display:none}.menu-sheet[data-open=true]{top:calc(var(--header-h) + 1px);z-index:40;padding:1rem var(--gutter) 2rem;background:var(--surface);overscroll-behavior:contain;flex-direction:column;gap:1.25rem;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}html[data-menu-open]{overflow:hidden}.site-nav ul{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.nav-link{border-radius:var(--radius-md);min-height:3rem;color:var(--text);align-items:center;padding:.5rem .9rem;font-size:1.15rem;font-weight:500;text-decoration:none;display:flex}@media (hover:hover) and (pointer:fine){.nav-link:hover{background:var(--primary-soft)}}.nav-link[aria-current]{background:var(--primary-soft);color:var(--primary);font-weight:600}.site-tools{border-top:1px solid var(--border);flex-direction:column;gap:.75rem;padding-top:1.25rem;display:flex}.tool-select-label{justify-content:space-between;align-items:center;gap:.75rem;font-weight:500;display:flex}.tool-select{border:1px solid var(--border-strong);border-radius:var(--radius-md);background-color:var(--surface);cursor:pointer;min-height:2.75rem;padding:.4rem 2rem .4rem .8rem}.lang-link{border:1px solid var(--border-strong);border-radius:var(--radius-md);min-height:2.75rem;color:var(--text);justify-content:center;align-items:center;padding:.4rem 1rem;font-weight:600;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.lang-link:hover{background:var(--primary-soft)}}@media (width>=45rem){.menu-button{display:none}.header-inner{grid-template-columns:auto 1fr auto;grid-template-areas:"brand.tools""nav nav nav";column-gap:1rem;padding-block:.5rem .25rem;display:grid}.menu-sheet,.menu-sheet[data-open=true]{display:contents;position:static}html[data-menu-open]{overflow:visible}.site-nav{grid-area:nav}.site-nav ul{flex-flow:wrap;gap:.25rem}.nav-link{min-height:2.75rem;padding:.4rem .8rem;font-size:1rem}.site-tools{border-top:0;flex-direction:row;grid-area:tools;align-items:center;padding-top:0}.tool-label{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (width>=72rem){.header-inner{grid-template-columns:auto 1fr auto;grid-template-areas:"brand nav tools";padding-block:.25rem}.site-nav ul{justify-content:center}}.site-footer{border-top:1px solid var(--border);background:var(--surface)}.footer-inner{max-width:var(--page-max);padding:1.5rem var(--gutter) 2rem;gap:1rem;margin:0 auto;display:grid}.signature{width:8.5rem;height:auto}.signature-ink{fill:none;stroke:var(--primary);stroke-linecap:round;stroke-linejoin:round}.signature-dot{fill:var(--accent)}.signature-underline{fill:none;stroke:var(--accent);stroke-linecap:round}.footer-links{flex-wrap:wrap;gap:.25rem 1.25rem;margin:0;padding:0;list-style:none;display:flex}.footer-links a{align-items:center;min-height:2.75rem;display:inline-flex}@media (width>=45rem){.footer-inner{grid-template-columns:auto 1fr;align-items:center;column-gap:2rem}}.data-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.data-list li{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);gap:.25rem;padding:.9rem 1rem;display:grid}.data-list .key{font-family:var(--font-mono);overflow-wrap:anywhere;font-weight:600}.data-list .area{color:var(--muted);font-size:.875rem}.status{border:1px solid var(--good);border-radius:var(--radius-md);background:var(--good-soft);padding:.8rem 1rem}.actions{flex-wrap:wrap;gap:.75rem;display:flex}.page>.continue{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;display:flex}.continue p{overflow-wrap:break-word;max-width:62ch}.continue-lesson{font-weight:600}.page section>h2{margin-bottom:.75rem}.card-grid,.lesson-list,.level-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}.lesson-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr))}.section-card,.lesson-card{height:100%;color:var(--text);overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;flex-direction:column;gap:.35rem;text-decoration:none;transition:border-color .15s,background-color .15s;display:flex}@media (hover:hover){.section-card:hover,.lesson-card:hover{border-color:var(--primary);background:var(--primary-soft)}}.section-card h2{color:var(--primary)}.section-card span:not(.theme-count),.lesson-card-goal{color:var(--muted)}.theme-count{font-variant-numeric:tabular-nums;min-height:1.75rem;margin-top:auto;padding-top:.35rem;font-weight:600}.lesson-card-title{font-size:1.1rem;font-weight:600}.lesson-card-done{color:var(--good);margin-top:auto;padding-top:.35rem;font-weight:600}.lesson-card[data-done=true]{border-color:var(--good);background:var(--good-soft)}.level-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))}.level-list li{flex-direction:column;gap:.25rem;display:flex}.level-name{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;font-weight:600}.level-count{color:var(--muted)}:root{--board-light:color-mix(in srgb, var(--primary) 9%, var(--surface));--board-dark:color-mix(in srgb, var(--primary) 45%, var(--surface));--board-coord-on-light:color-mix(in srgb, var(--primary) 75%, var(--surface))}:root[data-theme=dark]{--board-light:color-mix(in srgb, var(--text) 78%, var(--surface));--board-coord-on-light:var(--board-dark)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--board-light:color-mix(in srgb, var(--text) 78%, var(--surface));--board-coord-on-light:var(--board-dark)}}.board-area{margin-inline:calc(-1 * var(--gutter));container:board-area/inline-size}@media (width>=64rem){.board-area{margin-inline:0}}.board{--board-gutter:0px;--board-size:clamp(min(320px, 100cqi), min(100cqi - 2 * var(--board-gutter), 100dvh - 10rem), 640px);width:var(--board-size);aspect-ratio:1;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;border-radius:2px;margin-inline:auto;position:relative}@container board-area (width>=360px){.board{--board-gutter:4px}}@container board-area (width>=480px){.board{--board-gutter:16px}}@media (width>=64rem){.board{--board-gutter:0px}}.board-svg{width:100%;height:100%;display:block}.sq-light{fill:var(--board-light)}.sq-dark{fill:var(--board-dark)}.coord{font-family:var(--font-text);pointer-events:none;font-size:.2px;font-weight:600}.coord-on-light{fill:var(--board-coord-on-light)}.coord-on-dark{fill:var(--board-light)}.board-last{fill:color-mix(in srgb, var(--good) 26%, transparent)}.board-selected{fill:color-mix(in srgb, var(--good) 46%, transparent)}.board-mark{fill:color-mix(in srgb, var(--accent) 28%, transparent)}.board-dot{fill:color-mix(in srgb, var(--board-dark) 55%, black);opacity:.5}.board-ring{fill:none;stroke:color-mix(in srgb, var(--board-dark) 55%, black);stroke-width:.08px;opacity:.5}.board-check-core{stop-color:var(--bad);stop-opacity:1}.board-check-mid{stop-color:var(--bad);stop-opacity:.55}.board-check-edge{stop-color:var(--bad);stop-opacity:0}.board-hint{fill:none;stroke:var(--accent);stroke-width:.08px;animation:1.2s ease-in-out infinite alternate board-hint-pulse}@keyframes board-hint-pulse{0%{opacity:1}to{opacity:.4}}.board-star{fill:var(--accent);stroke:var(--surface);stroke-width:.03px;stroke-linejoin:round}.board-arrow line{stroke:color-mix(in srgb, var(--good) 75%, transparent);stroke-width:.16px;stroke-linecap:round}.board-arrow polygon{fill:color-mix(in srgb, var(--good) 75%, transparent)}.piece{pointer-events:none}.piece-ghost{opacity:.35}.piece-drag{filter:drop-shadow(0 .06px .08px #00000059)}.board-grid{touch-action:none;cursor:pointer;grid-template-rows:repeat(8,1fr);display:grid;position:absolute;inset:0}.board[data-dragging] .board-grid{cursor:grabbing}.board-row{grid-template-columns:repeat(8,1fr);display:grid}.board-cell{outline:none}.board-cell:focus-visible{box-shadow:inset 0 0 0 3px var(--primary), inset 0 0 0 5px var(--surface)}.board-picker-backdrop{background:color-mix(in srgb, var(--bg) 55%, transparent);position:absolute;inset:0}.board-picker{inset-inline:.5rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);max-width:22rem;box-shadow:var(--shadow-md);text-align:center;transform-origin:50%;margin-inline:auto;padding:.75rem;animation:.15s ease-out board-picker-in;position:absolute;top:50%;translate:0 -50%}@keyframes board-picker-in{0%{opacity:0;scale:.96}}.board-picker-title{text-wrap:balance;font-weight:600}.board-picker-choices{grid-template-columns:repeat(4,minmax(0,1fr));gap:.375rem;margin-top:.5rem;display:grid}.board-picker-choice{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);min-width:2.75rem;min-height:2.75rem;color:var(--text);overflow-wrap:anywhere;cursor:pointer;flex-direction:column;align-items:center;gap:.125rem;padding:.375rem .125rem;font-size:.8125rem;transition:background-color .15s,scale .1s ease-out;display:flex}.board-picker-choice img{width:2.5rem;height:2.5rem}.board-picker-choice:active{scale:.97}.board-picker-choice:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-color:var(--primary)}@media (hover:hover){.board-picker-choice:hover{background:var(--primary-soft)}}.breadcrumb ol{color:var(--muted);flex-wrap:wrap;align-items:center;gap:0 .5rem;margin:0;padding:0;font-size:.9375rem;list-style:none;display:flex}.breadcrumb li+li:before{content:"›" / "";margin-inline-end:.5rem}.breadcrumb a{min-height:2.75rem;color:var(--primary);align-items:center;font-weight:600;display:inline-flex}.page>.breadcrumb+.page-title{margin-top:.25rem}.page>.page-title+.lesson-counter{margin-top:.5rem}.lesson-counter,.demo-count,.player-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.9375rem}.player-side{align-items:center;gap:.5rem;font-weight:600;display:flex}.player-side img{flex:none;display:block}.lesson-counter{scroll-margin-top:calc(var(--header-h) + .5rem)}.lesson-step[hidden]{display:none}.step-text,.demo-caption,.task-message,.player-feedback{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;text-wrap:pretty;max-width:62ch}.step-text-only+*{margin-top:1rem}.step-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro""board""controls";gap:1rem;display:grid}.step-intro{grid-area:intro}.step-intro>*+*{margin-top:.5rem}.step-board{grid-area:board}.step-controls{grid-area:controls}.step-controls>*+*{margin-top:.75rem}@media (width>=64rem){.step-layout{grid-template:"board intro""board controls"1fr/minmax(0,40rem) minmax(16rem,1fr);align-items:start;column-gap:2rem}}.step-actions,.task-answers{flex-wrap:wrap;gap:.5rem;display:flex}.task-answer{overflow-wrap:anywhere;flex:8rem}.task-status{color:var(--muted);flex-wrap:wrap;gap:.25rem .75rem;font-size:.9375rem;display:flex}.task-status-label{font-weight:600}.task-status[data-status=done] .task-status-label{color:var(--good)}.task-status[data-status=failed] .task-status-label{color:var(--bad)}.task-counter{font-variant-numeric:tabular-nums}.task-message,.player-feedback:not(:empty){border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border);padding:.5rem .75rem}.task-message-done,.player-feedback-solved{background:var(--good-soft);border-color:color-mix(in srgb, var(--good) 35%, var(--border))}.task-message-failed,.player-feedback-wrong{background:var(--bad-soft);border-color:color-mix(in srgb, var(--bad) 35%, var(--border))}.demo-caption{font-weight:600}.player-status{color:var(--muted)}.lesson-nav{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding-top:1rem;display:flex}.lesson-nav>a{overflow-wrap:anywhere;text-align:center}.page>.lesson-nav+.lesson-finish{margin-top:.75rem}.lesson-done{color:var(--good);font-weight:600}.page-title[tabindex="-1"]:focus{outline:none}.play-radio,.play-setup .btn,.play-game .btn,.play-dialog .btn{touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:background-color .15s,border-color .15s,transform .12s cubic-bezier(.23,1,.32,1)}.play-radio:active,.play-setup .btn:active,.play-game .btn:active,.play-dialog .btn:active{transform:scale(.97)}.play-setup{gap:1.5rem;max-width:48rem;display:grid}.play-choice{border:0;min-width:0;margin:0;padding:0}.play-choice-label{margin-bottom:.5rem;padding:0;font-weight:600}.play-levels{gap:.5rem;display:grid}.play-colours{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.play-radio{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);min-width:0;min-height:2.75rem;color:var(--text);font:inherit;text-align:start;cursor:pointer;align-items:center;gap:.75rem;padding:.625rem .75rem;display:flex}.play-radio[aria-checked=true]{border-color:var(--primary);background:var(--primary-soft);box-shadow:inset 0 0 0 1px var(--primary)}@media (hover:hover) and (pointer:fine){.play-radio:hover{border-color:var(--primary)}}.play-level-number{background:var(--surface-2);border:1px solid var(--border);font-variant-numeric:tabular-nums;border-radius:50%;flex:none;place-items:center;width:2rem;height:2rem;font-weight:600;display:inline-grid}.play-radio[aria-checked=true] .play-level-number{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.play-level-text{min-width:0;display:grid}.play-level-name{font-weight:600}.play-level-line{color:var(--muted);overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;font-size:.9375rem}.play-colours .play-radio{text-align:center;overflow-wrap:anywhere;flex-direction:column;justify-content:center;gap:.25rem;padding-inline:.25rem;font-weight:600}.play-colour-icon{justify-content:center;align-items:center;height:1.75rem;display:inline-flex}.play-colour-icon img{display:block}.play-colour-icon-random img+img{margin-inline-start:-.25rem}.play-start{justify-self:start;min-width:12rem}@media (width>=40rem){.play-levels{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr))}.play-colours{max-width:30rem}}.play-game{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro""board""side";gap:1rem;display:grid}.page>.page-title+.play-game{margin-top:1rem}.play-intro{grid-area:intro;gap:.5rem;display:grid}.play-board{grid-area:board}.play-side{grid-area:side;align-content:start;gap:1rem;display:grid}@media (width>=64rem){.play-game{grid-template:"board intro""board side"1fr/minmax(0,40rem) minmax(16rem,1fr);align-items:start;column-gap:2rem}}.play-resume{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);overflow-wrap:break-word;padding:.5rem .75rem}.play-summary{color:var(--muted);overflow-wrap:break-word;font-size:.9375rem}.play-status{flex-wrap:wrap;align-items:center;gap:.5rem .625rem;min-height:2.75rem;font-weight:600;display:flex}.play-status-dot{background:var(--good);border-radius:50%;flex:none;width:.625rem;height:.625rem}.play-status[data-state=loading] .play-status-dot,.play-status[data-state=thinking] .play-status-dot{background:var(--primary);animation:.9s ease-in-out infinite alternate play-pulse}.play-status[data-state=error]{color:var(--bad)}.play-status[data-state=error] .play-status-dot{background:var(--bad)}.play-status[data-over] .play-status-dot{background:var(--muted);animation:none}.play-status-text{overflow-wrap:break-word;min-width:0}@keyframes play-pulse{0%{opacity:.35;transform:scale(.8)}}.play-controls{flex-wrap:wrap;gap:.5rem;display:flex}.play-controls .btn{flex:auto}.play-result{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);justify-items:start;gap:.75rem;padding:.75rem;display:grid}.play-result-text{overflow-wrap:break-word;font-weight:600}.play-moves-title{font-size:1rem}.play-moves-empty{color:var(--muted);margin-top:.25rem;font-size:.9375rem}.play-move-list{overscroll-behavior:contain;max-height:6.5rem;font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.25rem 1rem;margin:.25rem 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.play-move-list:empty{display:none}.play-move-list li{white-space:nowrap}.play-move-no{color:var(--muted)}.play-move{border-radius:var(--radius-sm);padding:0 .125rem}.play-move-last{background:var(--primary-soft);color:var(--primary);font-weight:600}@media (width>=64rem){.play-move-list{max-height:18rem}}.play-dialog{border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);width:min(26rem,100vw - 2rem);color:var(--text);box-shadow:var(--shadow-md);margin:auto;padding:0}.play-dialog[open]{animation:.2s cubic-bezier(.23,1,.32,1) play-dialog-in}.play-dialog::backdrop{background:color-mix(in srgb, var(--bg) 70%, transparent)}.play-dialog-body{gap:.75rem;padding:1.25rem;display:grid}.play-dialog-title{text-wrap:balance;overflow-wrap:break-word;font-size:1.25rem}.play-dialog-note{color:var(--muted)}.play-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:.25rem;display:flex}.play-dialog-actions .btn{flex:auto}@keyframes play-dialog-in{0%{opacity:0;transform:scale(.96)}}@media (prefers-reduced-motion:reduce){.play-dialog[open]{animation-name:play-dialog-fade}.play-status-dot{animation:none!important}}@keyframes play-dialog-fade{0%{opacity:0}}.licences-quote{border-inline-start:3px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--muted);overflow-wrap:break-word;margin:0;padding:.75rem 1rem;font-size:.875rem}.licences-files,.licences-list{padding-inline-start:1.25rem}.licences-files li+li,.licences-list li+li{margin-top:.5rem}.licences-files a,.licences-list a,.licences a{color:var(--primary);overflow-wrap:anywhere;font-weight:600}.licences-file{color:var(--muted);font-family:var(--font-mono);overflow-wrap:anywhere;font-size:.8125rem;display:block}.licences li{overflow-wrap:break-word}
/*$vite$:1*/