:root{--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--font-size-2xs: .6875rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.375rem;--font-size-2xl: 1.75rem;--font-size-3xl: 2.25rem;--font-size-4xl: 3rem;--line-height-flat: 1;--line-height-tight: 1.18;--line-height-snug: 1.32;--line-height-normal: 1.55;--line-height-relaxed: 1.7;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--letter-spacing-tight: -.02em;--letter-spacing-snug: -.01em;--letter-spacing-normal: 0em;--letter-spacing-wide: .02em;--letter-spacing-caps: .06em;--font-size-control: 1rem;--font-size-control-sm: 1rem;--font-size-control-lg: 1rem;--space-0: 0rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 2rem;--space-8: 2.5rem;--space-9: 3rem;--space-10: 4rem;--space-11: 5rem;--space-12: 6rem;--radius-xs: .1875rem;--radius-sm: .3125rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1.125rem;--radius-full: 62.4375rem;--color-canvas: #f7f7f5;--color-canvas-subtle: #efeeea;--color-surface: #ffffff;--color-surface-raised: #ffffff;--color-surface-sunken: #f2f1ed;--color-surface-hover: #f2f1ed;--color-surface-active: #e8e6e1;--color-overlay: #ffffff;--color-scrim: rgba(24, 23, 21, .44);--color-border-subtle: #e2dfd9;--color-border: #868278;--color-border-strong: #6c685f;--color-text: #1a1917;--color-text-muted: #55524b;--color-text-subtle: #6f6c64;--color-text-inverse: #fbfbfa;--color-link: #3a4bc4;--color-link-hover: #2c3aa3;--color-focus: #4c5fd7;--color-selection-bg: #d7dcfb;--color-selection-text: #14142e;--color-accent: #4552cd;--color-accent-hover: #3a45b4;--color-accent-active: #2f3898;--color-accent-contrast: #ffffff;--color-accent-subtle: #ecedfb;--color-accent-subtle-hover: #dee0f7;--color-accent-border: #6a73cf;--color-success: #1c6f45;--color-success-contrast: #ffffff;--color-success-subtle: #e6f3eb;--color-success-border: #579575;--color-danger: #b8352a;--color-danger-hover: #9d2c22;--color-danger-active: #82231b;--color-danger-contrast: #ffffff;--color-danger-subtle: #fbeceb;--color-danger-border: #cc6c64;--color-warning: #8a5a06;--color-warning-contrast: #ffffff;--color-warning-subtle: #fdf2de;--color-warning-border: #a17b39;--color-info: #1f5f8b;--color-info-contrast: #ffffff;--color-info-subtle: #e6f0f7;--color-info-border: #5f8dae;--color-code-bg: #f2f1ed;--color-code-text: #33302a;--color-kbd-bg: #ffffff;--color-kbd-border: #868278;--color-kbd-text: #33302a;--shadow-1: 0 1px 1px rgba(24, 23, 21, .04), 0 1px 2px rgba(24, 23, 21, .06);--shadow-2: 0 1px 2px rgba(24, 23, 21, .05), 0 3px 8px rgba(24, 23, 21, .07);--shadow-3: 0 2px 4px rgba(24, 23, 21, .05), 0 8px 22px rgba(24, 23, 21, .1);--shadow-4: 0 4px 8px rgba(24, 23, 21, .06), 0 18px 44px rgba(24, 23, 21, .14);--shadow-inset: inset 0 1px 0 rgba(255, 255, 255, .6);--focus-ring-width: 2px;--focus-ring-offset: 2px;--focus-ring-outset: calc(var(--focus-ring-width) + var(--focus-ring-offset));--control-height-sm: 2rem;--control-height-md: 2.25rem;--control-height-lg: 2.75rem;--control-padding-sm: var(--space-2);--control-padding-md: var(--space-3);--control-padding-lg: var(--space-5);--icon-size-sm: 1rem;--icon-size-md: 1.125rem;--icon-size-lg: 1.375rem;--scroll-inset-block-start: auto;--header-height: 3.5rem;--footer-min-height: 5rem;--header-nav-fade: var(--space-6);--grid-item-min-sm: 12rem;--grid-item-min-md: 17rem;--grid-item-min-lg: 22rem;--container-max-narrow: 44rem;--container-max: 68rem;--container-max-wide: 84rem;--container-gutter: clamp(1rem, 4vw, 2rem);--z-base: 0;--z-sticky: 10;--z-header: 20;--z-overlay: 30;--z-toast: 40;--z-skip-link: 50;--duration-instant: 60ms;--duration-fast: .12s;--duration-medium: .2s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);color-scheme:light}@media(prefers-reduced-motion:reduce){:root{--duration-instant: 0ms;--duration-fast: 0ms;--duration-medium: 0ms}}@media(pointer:fine)and (min-width:48em){:root{--font-size-control: var(--font-size-sm);--font-size-control-sm: var(--font-size-xs);--control-height-sm: 1.75rem}}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-canvas: #121211;--color-canvas-subtle: #191918;--color-surface: #1b1b19;--color-surface-raised: #232321;--color-surface-sunken: #0e0e0d;--color-surface-hover: #262623;--color-surface-active: #2f2f2b;--color-overlay: #232321;--color-scrim: rgba(0, 0, 0, .66);--color-border-subtle: #34342f;--color-border: #7a7a73;--color-border-strong: #a2a29b;--color-text: #f2f1ee;--color-text-muted: #a9a69e;--color-text-subtle: #939089;--color-text-inverse: #171614;--color-link: #9aa5ff;--color-link-hover: #b4bcff;--color-focus: #8b96ff;--color-selection-bg: #2f3570;--color-selection-text: #f2f1ee;--color-accent: #8b96ff;--color-accent-hover: #a3acff;--color-accent-active: #bcc2ff;--color-accent-contrast: #14152e;--color-accent-subtle: #23264a;--color-accent-subtle-hover: #2c3059;--color-accent-border: #737cd0;--color-success: #6ed39c;--color-success-contrast: #06251a;--color-success-subtle: #12291f;--color-success-border: #3e7b5b;--color-danger: #ff9285;--color-danger-hover: #ffab9f;--color-danger-active: #ffc2ba;--color-danger-contrast: #33100b;--color-danger-subtle: #331a16;--color-danger-border: #9f5a51;--color-warning: #e6b464;--color-warning-contrast: #2c1d05;--color-warning-subtle: #2e2410;--color-warning-border: #886b39;--color-info: #79bde6;--color-info-contrast: #072130;--color-info-subtle: #12262f;--color-info-border: #48758e;--color-code-bg: #232321;--color-code-text: #e4e2dd;--color-kbd-bg: #2b2b28;--color-kbd-border: #85857e;--color-kbd-text: #e4e2dd;--shadow-1: 0 1px 1px rgba(0, 0, 0, .4), 0 1px 2px rgba(0, 0, 0, .36);--shadow-2: 0 1px 2px rgba(0, 0, 0, .44), 0 3px 8px rgba(0, 0, 0, .4);--shadow-3: 0 2px 4px rgba(0, 0, 0, .46), 0 8px 22px rgba(0, 0, 0, .46);--shadow-4: 0 4px 8px rgba(0, 0, 0, .5), 0 18px 44px rgba(0, 0, 0, .56);--shadow-inset: inset 0 1px 0 rgba(255, 255, 255, .05);color-scheme:dark}}:root[data-theme=dark]{--color-canvas: #121211;--color-canvas-subtle: #191918;--color-surface: #1b1b19;--color-surface-raised: #232321;--color-surface-sunken: #0e0e0d;--color-surface-hover: #262623;--color-surface-active: #2f2f2b;--color-overlay: #232321;--color-scrim: rgba(0, 0, 0, .66);--color-border-subtle: #34342f;--color-border: #7a7a73;--color-border-strong: #a2a29b;--color-text: #f2f1ee;--color-text-muted: #a9a69e;--color-text-subtle: #939089;--color-text-inverse: #171614;--color-link: #9aa5ff;--color-link-hover: #b4bcff;--color-focus: #8b96ff;--color-selection-bg: #2f3570;--color-selection-text: #f2f1ee;--color-accent: #8b96ff;--color-accent-hover: #a3acff;--color-accent-active: #bcc2ff;--color-accent-contrast: #14152e;--color-accent-subtle: #23264a;--color-accent-subtle-hover: #2c3059;--color-accent-border: #737cd0;--color-success: #6ed39c;--color-success-contrast: #06251a;--color-success-subtle: #12291f;--color-success-border: #3e7b5b;--color-danger: #ff9285;--color-danger-hover: #ffab9f;--color-danger-active: #ffc2ba;--color-danger-contrast: #33100b;--color-danger-subtle: #331a16;--color-danger-border: #9f5a51;--color-warning: #e6b464;--color-warning-contrast: #2c1d05;--color-warning-subtle: #2e2410;--color-warning-border: #886b39;--color-info: #79bde6;--color-info-contrast: #072130;--color-info-subtle: #12262f;--color-info-border: #48758e;--color-code-bg: #232321;--color-code-text: #e4e2dd;--color-kbd-bg: #2b2b28;--color-kbd-border: #85857e;--color-kbd-text: #e4e2dd;--shadow-1: 0 1px 1px rgba(0, 0, 0, .4), 0 1px 2px rgba(0, 0, 0, .36);--shadow-2: 0 1px 2px rgba(0, 0, 0, .44), 0 3px 8px rgba(0, 0, 0, .4);--shadow-3: 0 2px 4px rgba(0, 0, 0, .46), 0 8px 22px rgba(0, 0, 0, .46);--shadow-4: 0 4px 8px rgba(0, 0, 0, .5), 0 18px 44px rgba(0, 0, 0, .56);--shadow-inset: inset 0 1px 0 rgba(255, 255, 255, .05);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-gutter:stable;scroll-padding-block-start:var(--scroll-inset-block-start)}body{margin:0;min-height:100vh;background-color:var(--color-canvas);color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-md);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}@supports (min-height: 100svh){body{min-height:100svh}}:where(h1,h2,h3,h4,h5,h6){margin:0;font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-snug);text-wrap:balance}:where(h1){font-size:var(--font-size-3xl)}:where(h2){font-size:var(--font-size-2xl)}:where(h3){font-size:var(--font-size-xl)}:where(h4){font-size:var(--font-size-lg)}:where(h5){font-size:var(--font-size-md)}:where(h6){font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-muted)}:where(p,ul,ol,dl,pre,figure,blockquote,fieldset){margin:0}:where(h1,h2,h3,h4,h5,h6,p,li,dd,dt,figcaption,blockquote,summary,label,legend,td,th){overflow-wrap:break-word}:where(fieldset){border:0;padding:0;min-width:0}:where(ul,ol){padding-inline-start:var(--space-6)}:where(img,svg,video,canvas,iframe){max-width:100%}:where(img,video){height:auto}:where(a){color:var(--color-link);text-decoration-thickness:1px;text-underline-offset:.18em}:where(a:hover){color:var(--color-link-hover)}:where(button,input,select,textarea,optgroup){font:inherit;color:inherit;letter-spacing:inherit}:where(button){background:none;border:0;padding:0}:where(code,pre,kbd,samp){font-family:var(--font-mono);font-size:.9375em}:where(pre){white-space:pre-wrap;overflow-wrap:break-word}:where(table){border-collapse:collapse}:where(hr){margin:0;border:0;border-top:1px solid var(--color-border-subtle)}:where(:focus-visible){outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset)}::selection{background-color:var(--color-selection-bg);color:var(--color-selection-text)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.ui-icon{display:block;flex:none}.ui-icon-button{display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--control-height-md);height:var(--control-height-md);padding:0;border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-text-muted);background-color:transparent;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.ui-icon-button:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset)}.ui-icon-button:hover:not(:disabled):not([aria-disabled=true]){background-color:var(--color-surface-hover);color:var(--color-text)}.ui-icon-button:active:not(:disabled):not([aria-disabled=true]){background-color:var(--color-surface-active)}.ui-icon-button:disabled,.ui-icon-button[aria-disabled=true]{cursor:not-allowed;opacity:.55}.ui-icon-button[aria-pressed=true]{background-color:var(--color-accent-subtle);border-color:var(--color-accent);color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.ui-icon-button[aria-pressed=true]:hover:not(:disabled):not([aria-disabled=true]){background-color:var(--color-accent-subtle-hover);color:var(--color-accent)}.ui-icon-button--sm{width:var(--control-height-sm);height:var(--control-height-sm);border-radius:var(--radius-sm)}.ui-icon-button--lg{width:var(--control-height-lg);height:var(--control-height-lg);border-radius:var(--radius-lg)}.ui-icon-button--outlined{border-color:var(--color-border);background-color:var(--color-surface);color:var(--color-text)}.ui-icon-button--outlined:hover:not(:disabled):not([aria-disabled=true]){border-color:var(--color-border-strong)}@media(forced-colors:active){.ui-icon-button{border-color:ButtonBorder}.ui-icon-button:disabled,.ui-icon-button[aria-disabled=true]{opacity:1;color:GrayText;border-color:GrayText}.ui-icon-button[aria-pressed=true]{forced-color-adjust:none;background-color:Highlight;border-color:Highlight;color:HighlightText;box-shadow:none}}.ui-theme-toggle__face{display:none}:root:not([data-theme-choice]) .ui-theme-toggle__face--system,:root[data-theme-choice=system] .ui-theme-toggle__face--system,:root[data-theme-choice=light] .ui-theme-toggle__face--light,:root[data-theme-choice=dark] .ui-theme-toggle__face--dark{display:contents}.ui-visually-hidden:not(:focus):not(:active){position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-height-md);max-width:100%;padding-block:var(--space-2);padding-inline:var(--control-padding-md);border:1px solid transparent;border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);text-align:center;text-decoration:none;overflow-wrap:anywhere;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.ui-button:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset)}.ui-button:disabled{cursor:not-allowed;opacity:.55}.ui-button[aria-pressed=true]{background-color:var(--color-accent-subtle);border-color:var(--color-accent);color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.ui-button[aria-pressed=true]:hover:not(:disabled):not([aria-disabled=true]){background-color:var(--color-accent-subtle-hover);border-color:var(--color-accent);color:var(--color-accent)}.ui-button[aria-pressed=true]:active:not(:disabled):not([aria-disabled=true]){background-color:var(--color-accent-subtle-hover)}.ui-button--sm{min-height:var(--control-height-sm);padding-block:var(--space-1);padding-inline:var(--control-padding-sm);font-size:var(--font-size-xs);border-radius:var(--radius-sm)}.ui-button--lg{min-height:var(--control-height-lg);padding-block:var(--space-3);padding-inline:var(--control-padding-lg);font-size:var(--font-size-md);border-radius:var(--radius-lg)}.ui-button--block{display:flex;width:100%}.ui-button--primary{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-contrast)}.ui-button--primary:hover:not(:disabled):not([aria-disabled=true]){background-color:var(--color-accent-hover);border-color:var(--color-accent-hover);color:var(--color-accent-contrast)}.ui-button--primary:active:not(:disabled):not([aria-disabled=true]){background-color:var(--color-accent-active);border-color:var(--color-accent-active)}.ui-button--secondary{background-color:var(--color-surface);border-color:var(--color-border);color:var(--color-text);box-shadow:var(--shadow-1)}.ui-button--secondary:hover:not(:disabled):not([aria-disabled=true]){background-color:var(--color-surface-hover);border-color:var(--color-border-strong);color:var(--color-text)}.ui-button--secondary:active:not(:disabled):not([aria-disabled=true]){background-color:var(--color-surface-active)}.ui-button--ghost{background-color:transparent;border-color:transparent;color:var(--color-text-muted)}.ui-button--ghost:hover:not(:disabled):not([aria-disabled=true]){background-color:var(--color-surface-hover);color:var(--color-text)}.ui-button--ghost:active:not(:disabled):not([aria-disabled=true]){background-color:var(--color-surface-active)}.ui-button--danger{background-color:var(--color-danger);border-color:var(--color-danger);color:var(--color-danger-contrast)}.ui-button--danger:hover:not(:disabled):not([aria-disabled=true]){background-color:var(--color-danger-hover);border-color:var(--color-danger-hover);color:var(--color-danger-contrast)}.ui-button--danger:active:not(:disabled):not([aria-disabled=true]){background-color:var(--color-danger-active);border-color:var(--color-danger-active)}.ui-button[aria-disabled=true]{cursor:not-allowed;border-style:dashed;box-shadow:none}.ui-button--primary[aria-disabled=true]{background-color:var(--color-surface);border-color:var(--color-accent);color:var(--color-accent)}.ui-button--secondary[aria-disabled=true]{background-color:var(--color-surface);border-color:var(--color-border);color:var(--color-text-muted)}.ui-button--ghost[aria-disabled=true]{border-color:var(--color-border);color:var(--color-text-muted)}.ui-button--danger[aria-disabled=true]{background-color:var(--color-surface);border-color:var(--color-danger);color:var(--color-danger)}@media(forced-colors:active){.ui-button{border-color:ButtonBorder}.ui-button:disabled,.ui-button[aria-disabled=true]{opacity:1;color:GrayText;border-color:GrayText}.ui-button[aria-pressed=true]{forced-color-adjust:none;background-color:Highlight;border-color:Highlight;color:HighlightText;box-shadow:none}}.ui-badge{display:inline-block;vertical-align:middle;border:1px solid transparent;border-radius:var(--radius-full);padding-inline:var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-caps);line-height:var(--line-height-snug);text-transform:uppercase}.ui-badge:not(:first-child){margin-inline-start:var(--space-2)}.ui-badge--neutral{background-color:var(--color-canvas-subtle);border-color:var(--color-border);color:var(--color-text-muted)}.ui-badge--accent{background-color:var(--color-accent-subtle);border-color:var(--color-accent-border);color:var(--color-accent)}.ui-badge--success{background-color:var(--color-success-subtle);border-color:var(--color-success-border);color:var(--color-success)}.ui-badge--danger{background-color:var(--color-danger-subtle);border-color:var(--color-danger-border);color:var(--color-danger)}.ui-badge--warning{background-color:var(--color-warning-subtle);border-color:var(--color-warning-border);color:var(--color-warning)}.ui-badge--info{background-color:var(--color-info-subtle);border-color:var(--color-info-border);color:var(--color-info)}@media(forced-colors:active){.ui-badge{border-color:currentColor}}.ui-card{display:flex;flex-direction:column;min-width:0;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);color:var(--color-text)}.ui-card--dashed{background-color:transparent;border-style:dashed;box-shadow:none;color:var(--color-text-muted)}.ui-card--padding-sm{padding:var(--space-3)}.ui-card--padding-md{padding:var(--space-5)}.ui-card--padding-lg{padding:var(--space-7)}.ui-card--interactive{position:relative;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.ui-card--interactive:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-2)}.ui-card--interactive:focus-within{border-color:var(--color-accent-border);box-shadow:var(--shadow-2)}.ui-card__link:after{content:"";position:absolute;inset:0;z-index:0}.ui-card--interactive :is(a[href],button,input,select,textarea,[role=button],[tabindex]):not(.ui-card__link){position:relative;z-index:1}.ui-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-5) var(--space-3)}.ui-card--padding-sm>.ui-card__header,.ui-card--padding-md>.ui-card__header,.ui-card--padding-lg>.ui-card__header{padding:0 0 var(--space-3)}.ui-card__headings{min-width:0}.ui-card__actions{display:flex;flex:none;align-items:center;gap:var(--space-1)}.ui-card__title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);letter-spacing:var(--letter-spacing-snug);overflow-wrap:anywhere}.ui-card__description{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-normal);overflow-wrap:anywhere}.ui-card__body{flex:1 1 auto;min-width:0;padding:0 var(--space-5)}.ui-card--padding-sm>.ui-card__body,.ui-card--padding-md>.ui-card__body,.ui-card--padding-lg>.ui-card__body{padding:0}.ui-card__footer{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-5) var(--space-5)}.ui-card--padding-sm>.ui-card__footer,.ui-card--padding-md>.ui-card__footer,.ui-card--padding-lg>.ui-card__footer{padding:var(--space-4) 0 0}.ui-field{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.ui-field__label{display:inline-flex;align-items:center;gap:var(--space-1);min-width:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-snug);color:var(--color-text);overflow-wrap:anywhere}.ui-field__required{color:var(--color-danger)}.ui-field__control{display:flex;flex-direction:column;min-width:0}.ui-field__messages{display:flex;flex-direction:column;gap:var(--space-1)}.ui-field__messages--reserved{min-height:calc(var(--font-size-xs) * var(--line-height-normal))}@supports (min-height: 1lh){.ui-field__messages--reserved{min-height:1lh}}.ui-field__message{margin:0;min-width:0;font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--color-text-muted);overflow-wrap:anywhere}.ui-field__message--error{color:var(--color-danger)}.ui-input,.ui-textarea{width:100%;min-width:0;padding-block:var(--space-2);padding-inline:var(--control-padding-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:inherit;font-size:var(--font-size-control);line-height:var(--line-height-normal);transition:border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.ui-input{height:var(--control-height-md);padding-block:0}.ui-input--sm{height:var(--control-height-sm);padding-inline:var(--control-padding-sm);font-size:var(--font-size-control-sm);border-radius:var(--radius-sm)}.ui-input--lg{height:var(--control-height-lg);padding-inline:var(--control-padding-lg);font-size:var(--font-size-control-lg);border-radius:var(--radius-lg)}.ui-textarea{min-height:calc(var(--control-height-md) * 2);resize:vertical}.ui-input::placeholder,.ui-textarea::placeholder{color:var(--color-text-subtle)}.ui-input:hover:not(:disabled),.ui-textarea:hover:not(:disabled){border-color:var(--color-border-strong)}.ui-input:focus-visible,.ui-textarea:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset);border-color:var(--color-accent-border)}.ui-input:disabled,.ui-textarea:disabled{background-color:var(--color-surface-sunken);color:var(--color-text-subtle);cursor:not-allowed}.ui-input[aria-invalid=true],.ui-textarea[aria-invalid=true]{border-color:var(--color-danger)}@media(forced-colors:active){.ui-input[aria-invalid=true],.ui-textarea[aria-invalid=true],.ui-select__control[aria-invalid=true]{border-width:2px}.ui-input:disabled,.ui-textarea:disabled,.ui-select__control:disabled{color:GrayText;border-color:GrayText}}.ui-select{position:relative;display:inline-flex;align-items:center;min-width:0;width:100%}.ui-select__control{appearance:none;-webkit-appearance:none;width:100%;min-width:0;height:var(--control-height-md);padding-block:0;padding-inline-start:var(--control-padding-md);padding-inline-end:calc(var(--control-padding-md) + var(--icon-size-md) + var(--space-2));background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:inherit;font-size:var(--font-size-control);line-height:var(--line-height-normal);text-overflow:ellipsis;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.ui-select__control:hover:not(:disabled){border-color:var(--color-border-strong)}.ui-select__control:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset);border-color:var(--color-accent-border)}.ui-select__control:disabled{background-color:var(--color-surface-sunken);color:var(--color-text-subtle);cursor:not-allowed}.ui-select__control[aria-invalid=true]{border-color:var(--color-danger)}.ui-select__icon{position:absolute;inset-inline-end:var(--control-padding-md);color:var(--color-text-muted);pointer-events:none}.ui-select--sm .ui-select__control{height:var(--control-height-sm);padding-inline-start:var(--control-padding-sm);padding-inline-end:calc(var(--control-padding-sm) + var(--icon-size-sm) + var(--space-2));font-size:var(--font-size-control-sm);border-radius:var(--radius-sm)}.ui-select--sm .ui-select__icon{inset-inline-end:var(--control-padding-sm)}.ui-select--lg .ui-select__control{height:var(--control-height-lg);padding-inline-start:var(--control-padding-lg);padding-inline-end:calc(var(--control-padding-lg) + var(--icon-size-md) + var(--space-2));font-size:var(--font-size-control-lg);border-radius:var(--radius-lg)}.ui-select--lg .ui-select__icon{inset-inline-end:var(--control-padding-lg)}.ui-toast-layer,.ui-toast-region{display:flex;flex-direction:column;align-items:stretch}.ui-toast-layer{position:fixed;inset-block-end:var(--space-4);inset-inline:var(--space-4);z-index:var(--z-toast);margin-inline-start:auto;max-width:min(26rem,calc(100vw - var(--space-8)));pointer-events:none}.ui-toast-region{position:fixed;inset-block-end:var(--space-4);inset-inline:var(--space-4);z-index:var(--z-toast);gap:var(--space-2);margin-inline-start:auto;max-width:min(26rem,calc(100vw - var(--space-8)));pointer-events:none}.ui-toast-layer>.ui-toast-region{position:static;inset:auto;z-index:auto;margin-inline:0;max-width:none}.ui-toast-region:not(:empty)~.ui-toast-region:not(:empty){margin-block-start:var(--space-2)}@media(min-width:30rem){.ui-toast-layer,.ui-toast-region{inset-inline-start:auto;inset-inline-end:var(--space-5);inset-block-end:var(--space-5)}.ui-toast-layer>.ui-toast-region{inset:auto}}.ui-toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);background-color:var(--color-overlay);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);color:var(--color-text);pointer-events:auto;animation:ui-toast-in var(--duration-medium) var(--ease-out) both}@keyframes ui-toast-in{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}.ui-toast__dismiss{flex:none}.ui-toast__icon{display:flex;flex:none;margin-block-start:.0625rem;color:var(--color-text-muted)}.ui-toast__content{flex:1 1 auto;min-width:0}.ui-toast__title{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);overflow-wrap:anywhere}.ui-toast__message{margin:0;font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-muted);overflow-wrap:anywhere}.ui-toast__title+.ui-toast__message{margin-block-start:var(--space-1)}.ui-toast--success{border-color:var(--color-success-border);background-color:var(--color-success-subtle)}.ui-toast--success .ui-toast__icon{color:var(--color-success)}.ui-toast--danger{border-color:var(--color-danger-border);background-color:var(--color-danger-subtle)}.ui-toast--danger .ui-toast__icon{color:var(--color-danger)}.ui-toast--warning{border-color:var(--color-warning-border);background-color:var(--color-warning-subtle)}.ui-toast--warning .ui-toast__icon{color:var(--color-warning)}.ui-toast--info{border-color:var(--color-info-border);background-color:var(--color-info-subtle)}.ui-toast--info .ui-toast__icon{color:var(--color-info)}.ui-toolbar{display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-height-md);padding:var(--space-1);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.ui-toolbar>*:not(.ui-toolbar__spacer){flex:none}.ui-toolbar--horizontal{flex-direction:row;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.ui-toolbar--horizontal::-webkit-scrollbar{display:none}.ui-toolbar--wrap{flex-wrap:wrap;overflow-x:visible}.ui-toolbar--vertical{flex-direction:column;align-items:stretch;min-height:0}.ui-toolbar--plain{background-color:transparent;border-color:transparent;margin:calc(-1 * var(--space-1))}.ui-toolbar__separator{flex:none;align-self:stretch;width:0;margin-inline:var(--space-1);border:0;border-inline-start:1px solid var(--color-border)}.ui-toolbar--vertical .ui-toolbar__separator{width:auto;height:0;margin-inline:0;margin-block:var(--space-1);border-inline-start:0;border-block-start:1px solid var(--color-border)}.ui-toolbar__spacer{flex:1 1 auto}.ui-segmented{display:inline-flex;align-items:stretch;gap:var(--space-1);max-width:100%;padding:var(--space-1);background-color:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto;scroll-padding-inline:var(--focus-ring-outset);scrollbar-width:none}.ui-segmented::-webkit-scrollbar{display:none}.ui-segmented--block{display:flex;width:100%}.ui-segmented--block .ui-segmented__option{flex:1 1 0}.ui-segmented__option{position:relative;display:inline-flex;flex:none;min-width:0}.ui-segmented__input{position:absolute;inset:0;margin:0;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.ui-segmented__label{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;min-height:calc(var(--control-height-md) - var(--space-2));padding-inline:var(--space-3);border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.ui-segmented__option:hover .ui-segmented__label{color:var(--color-text)}.ui-segmented__input:checked+.ui-segmented__label{background-color:var(--color-surface);border-color:var(--color-border);box-shadow:var(--shadow-1);color:var(--color-text)}@media(forced-colors:active){.ui-segmented__label,.ui-segmented__option:hover .ui-segmented__label{color:CanvasText}.ui-segmented__input:checked+.ui-segmented__label{forced-color-adjust:none;background-color:Highlight;border-color:Highlight;color:HighlightText;box-shadow:none}.ui-segmented__input:focus-visible+.ui-segmented__label{outline:var(--focus-ring-width) solid CanvasText;outline-offset:var(--focus-ring-offset)}.ui-segmented__input:disabled+.ui-segmented__label{opacity:1;color:GrayText}}.ui-segmented__input:focus-visible+.ui-segmented__label{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset)}.ui-segmented__input:disabled+.ui-segmented__label{cursor:not-allowed;opacity:.55}.ui-segmented--sm .ui-segmented__label{min-height:calc(var(--control-height-sm) - var(--space-1));padding-inline:var(--space-2);font-size:var(--font-size-xs)}.ui-kbd-group{display:inline-flex;align-items:center;gap:var(--space-1);max-width:100%;min-width:0;font-family:inherit}.ui-kbd{display:inline-block;min-width:1.5em;max-width:100%;min-height:1.5em;padding-inline:.4em;background-color:var(--color-kbd-bg);border:1px solid var(--color-kbd-border);border-bottom-width:2px;border-radius:var(--radius-xs);color:var(--color-kbd-text);font-family:var(--font-mono);font-size:var(--font-size-xs);line-height:calc(1.5em - 3px);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.ui-kbd-group__separator{flex:none;color:var(--color-text-subtle);font-size:var(--font-size-xs)}.ui-container{width:100%;margin-inline:auto;padding-inline:var(--container-gutter);max-width:calc(var(--container-max) + var(--container-gutter) * 2)}.ui-container--narrow{max-width:calc(var(--container-max-narrow) + var(--container-gutter) * 2)}.ui-container--wide{max-width:calc(var(--container-max-wide) + var(--container-gutter) * 2)}.ui-container--full{max-width:none}.ui-app-shell{display:flex;flex-direction:column;min-height:100vh}@supports (min-height: 100svh){.ui-app-shell{min-height:100svh}}.ui-app-shell__main{flex:1 1 auto;min-width:0;padding-block:var(--space-8) var(--space-10)}.ui-app-shell__main:focus{outline:none}.ui-app-shell__main:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:calc(var(--focus-ring-offset) * -1)}.ui-breadcrumbs{font-size:var(--font-size-sm)}.ui-breadcrumbs__list{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2);margin:0;padding:0;list-style:none;color:var(--color-text-muted)}.ui-breadcrumbs__list>li{display:flex;align-items:center;gap:var(--space-2);min-width:0}.ui-breadcrumbs__separator{color:var(--color-text-subtle)}.ui-breadcrumbs__list a{display:inline-flex;align-items:center;min-height:var(--space-6)}.ui-breadcrumbs__list [aria-current]{color:var(--color-text);font-weight:var(--font-weight-medium)}.ui-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(var(--grid-item-min-md),100%),1fr));gap:var(--space-4);margin:0;padding:0;list-style:none}.ui-grid--items-sm{grid-template-columns:repeat(auto-fill,minmax(min(var(--grid-item-min-sm),100%),1fr))}.ui-grid--items-lg{grid-template-columns:repeat(auto-fill,minmax(min(var(--grid-item-min-lg),100%),1fr))}.ui-grid--gap-sm{gap:var(--space-3)}.ui-grid--gap-lg{gap:var(--space-6)}.ui-grid>*{min-width:0}.ui-nav-pills{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);min-width:0}.ui-nav-pills a{display:inline-flex;align-items:center;min-height:var(--control-height-sm);padding-inline:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.ui-nav-pills a:hover{background-color:var(--color-surface-hover);color:var(--color-text)}.ui-nav-pills a:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset)}.ui-nav-pills a[aria-current]{background-color:var(--color-accent-subtle);border-color:var(--color-accent);color:var(--color-text)}@media(forced-colors:active){.ui-nav-pills a[aria-current]{border-color:Highlight}}.ui-page-header{display:flex;flex-direction:column;gap:var(--space-4);margin-block-end:var(--space-8)}.ui-page-header__row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-4) var(--space-6)}.ui-page-header__headings{flex:1 1 20rem;min-width:0}.ui-page-header__title{font-size:var(--font-size-3xl);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}.ui-page-header__description{margin-block-start:var(--space-3);max-width:var(--container-max-narrow);color:var(--color-text-muted);font-size:var(--font-size-lg);line-height:var(--line-height-normal)}.ui-page-header__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.ui-stack{display:flex;flex-direction:column;min-width:0}.ui-stack--gap-xs{gap:var(--space-2)}.ui-stack--gap-sm{gap:var(--space-3)}.ui-stack--gap-md{gap:var(--space-5)}.ui-stack--gap-lg{gap:var(--space-7)}.ui-stack--gap-xl{gap:var(--space-9)}.ui-skip-link{position:absolute;inset-inline-start:var(--space-3);inset-block-start:var(--space-3);z-index:var(--z-skip-link);padding:var(--space-2) var(--space-4);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-3);color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;transform:translateY(-200%)}.ui-skip-link:focus-visible,.ui-skip-link:focus{transform:translateY(0);outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset)}.ui-site-header{position:relative;z-index:var(--z-header);flex:none;height:var(--header-height);background-color:var(--color-canvas);border-block-end:1px solid var(--color-border-subtle)}.ui-site-header--sticky{position:sticky;inset-block-start:0}:root:has(.ui-site-header--sticky){--scroll-inset-block-start: calc(var(--header-height) + var(--focus-ring-outset))}.ui-site-header__inner{display:flex;align-items:center;gap:var(--space-3);height:100%}@media(min-width:40rem){.ui-site-header__inner{gap:var(--space-5)}}.ui-site-header__brand{display:flex;flex:0 1 auto;align-items:center;gap:var(--space-2);min-width:0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-snug);white-space:nowrap}.ui-site-header__brand a{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;color:var(--color-text);text-decoration:none}.ui-site-header__brand a:hover{color:var(--color-text)}.ui-site-header__nav{display:flex;flex:1 1000 auto;align-items:center;gap:var(--space-1);min-width:0;height:100%;padding-inline:var(--focus-ring-outset) calc(var(--header-nav-fade) + var(--focus-ring-outset));margin-inline-start:calc(-1 * var(--focus-ring-outset));overflow-x:auto;overscroll-behavior-x:contain;scroll-padding-inline:var(--focus-ring-outset) calc(var(--header-nav-fade) + var(--focus-ring-outset));scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - var(--header-nav-fade)),transparent 100%);mask-image:linear-gradient(to right,#000 calc(100% - var(--header-nav-fade)),transparent 100%)}:is([dir=rtl] .ui-site-header__nav,.ui-site-header__nav:dir(rtl)){-webkit-mask-image:linear-gradient(to left,#000 calc(100% - var(--header-nav-fade)),transparent 100%);mask-image:linear-gradient(to left,#000 calc(100% - var(--header-nav-fade)),transparent 100%)}.ui-site-header__nav::-webkit-scrollbar{display:none}.ui-site-header__nav a{display:inline-flex;flex:none;align-items:center;height:calc(var(--control-height-md) - var(--space-1));padding-inline:var(--space-3);border-block-end:2px solid transparent;padding-block-start:2px;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;white-space:nowrap;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.ui-site-header__nav a:hover{background-color:var(--color-surface-hover);color:var(--color-text)}.ui-site-header__nav a:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset)}.ui-site-header__nav a[aria-current]{color:var(--color-text);background-color:var(--color-accent-subtle);border-block-end-color:var(--color-accent)}@media(forced-colors:active){.ui-site-header__nav a[aria-current]{border-block-end-color:Highlight}.ui-site-header__nav{-webkit-mask-image:none;mask-image:none}}.ui-site-header__actions{display:flex;flex:none;align-items:center;gap:var(--space-1);margin-inline-start:auto}.ui-site-footer{flex:none;min-height:var(--footer-min-height);background-color:var(--color-canvas-subtle);border-block-start:1px solid var(--color-border-subtle);color:var(--color-text-muted);font-size:var(--font-size-sm)}.ui-site-footer__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3) var(--space-5);min-height:var(--footer-min-height);padding-block:var(--space-5)}.ui-site-footer__note{margin:0;min-width:0;line-height:var(--line-height-normal)}.ui-site-footer__links{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);margin:0;padding:0;list-style:none}.ui-site-footer a{color:var(--color-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}.ui-site-footer a:hover{color:var(--color-link-hover);text-decoration-thickness:2px}.ui-site-footer a:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset)}.ui-site-footer__links a{display:inline-flex;align-items:center;min-height:var(--space-6)}:root{--jf-key: #2f3898;--jf-string: #1c6f45;--jf-number: #a2431f;--jf-literal: #6b3fbe;--jf-punct: #6f6c64;--jf-invalid: #b8352a;--jf-code-size: var(--font-size-control);--jf-line-height: calc(var(--jf-code-size) * 1.55);--jf-pad-y: 1.25rem;--jf-pad-x: var(--space-3);--jf-editor-height: 17rem;--jf-status-height: 3.5rem;--jf-detail-height: 5.5rem;--jf-warnings-height: 2.25rem}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--jf-key: #9aa5ff;--jf-string: #6ed39c;--jf-number: #e6b464;--jf-literal: #c2a6ff;--jf-punct: #939089;--jf-invalid: #ff9285}}:root[data-theme=dark]{--jf-key: #9aa5ff;--jf-string: #6ed39c;--jf-number: #e6b464;--jf-literal: #c2a6ff;--jf-punct: #939089;--jf-invalid: #ff9285}@media(min-width:48em){:root{--jf-editor-height: 24rem;--jf-detail-height: 4.25rem;--jf-status-height: 2.5rem}}.jf{position:relative;display:flex;flex-direction:column;gap:var(--space-6)}.jf__card{overflow:hidden}.jf__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border-block-end:1px solid var(--color-border-subtle);background-color:var(--color-surface)}.jf__actions{gap:var(--space-2)}.jf__options{display:flex;align-items:center;gap:var(--space-2)}.jf__flag{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-accent);inline-size:5rem;text-align:end;white-space:nowrap}.jf__panes{display:grid;grid-template-columns:1fr}@media(min-width:62em){.jf__panes{grid-template-columns:1fr 1fr}}.jf__pane{display:flex;flex-direction:column;min-width:0;border-block-end:1px solid var(--color-border-subtle)}@media(min-width:62em){.jf__pane+.jf__pane{border-inline-start:1px solid var(--color-border-subtle)}}.jf__pane-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-3);min-height:calc(var(--control-height-sm) + var(--space-1) + 2px + var(--space-2) * 2 + 1px);background-color:var(--color-canvas-subtle);border-block-end:1px solid var(--color-border-subtle)}.jf__pane-title{margin:0;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-muted)}.jf__pane-actions{display:flex;align-items:center;gap:var(--space-2);margin-inline-start:auto}.jf__check{display:inline-flex;align-items:center;gap:var(--space-2);margin-inline-start:auto;font-size:var(--font-size-xs);color:var(--color-text-muted);cursor:pointer;white-space:nowrap}.jf__check input{accent-color:var(--color-accent);inline-size:1rem;block-size:1rem;margin:0}.jf__counts{flex:none;inline-size:17ch;text-align:start;overflow:hidden;font-family:var(--font-mono);font-size:var(--font-size-2xs);font-variant-numeric:tabular-nums;color:var(--color-text-subtle);white-space:nowrap}.jf-code{position:relative;display:flex;flex:1 1 auto;min-block-size:var(--jf-editor-height);block-size:0;background-color:var(--color-surface-sunken);isolation:isolate}.jf-code:focus-within:after{content:"";position:absolute;inset:0;z-index:3;border:var(--focus-ring-width) solid var(--color-focus);pointer-events:none}@media(forced-colors:active){.jf-code:focus-within{outline:var(--focus-ring-width) solid Highlight;outline-offset:calc(-1 * var(--focus-ring-width))}}.jf-code__text{margin:0;font-family:var(--font-mono);font-size:var(--jf-code-size);line-height:var(--jf-line-height);letter-spacing:0;font-variant-ligatures:none;font-feature-settings:normal;font-kerning:none;text-rendering:auto;tab-size:2;white-space:pre;overflow-wrap:normal;word-break:normal}.jf-code__gutter{flex:none;inline-size:calc(4ch + var(--space-4));overflow:hidden;font-family:var(--font-mono);font-size:var(--jf-code-size);background-color:var(--color-canvas-subtle);border-inline-end:1px solid var(--color-border-subtle)}.jf-code__gutter-track{position:relative;isolation:isolate;padding-block-start:var(--jf-pad-y);will-change:transform}.jf-code__numbers{position:relative;z-index:1;padding-inline:var(--space-2);text-align:end;color:var(--color-text-subtle);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.jf-code__marker{position:absolute;inset-inline:0;block-size:var(--jf-line-height);inset-block-start:calc(var(--jf-pad-y) + (var(--jf-error-line) - 1) * var(--jf-line-height));z-index:0;background-color:var(--color-danger-subtle);border-inline-start:3px solid var(--color-danger);pointer-events:none}.jf-code__field{position:relative;flex:1 1 auto;min-inline-size:0}.jf-code__highlight{position:absolute;inset:0;padding:var(--jf-pad-y) var(--jf-pad-x);overflow:hidden;pointer-events:none;z-index:0}.jf-code__ink{display:block;inline-size:max-content;min-inline-size:100%;color:var(--color-text);will-change:transform}.jf-code__input{position:absolute;inset:0;inline-size:100%;block-size:100%;padding:var(--jf-pad-y) var(--jf-pad-x);border:0;border-radius:0;resize:none;overflow:auto;background-color:transparent;color:transparent;-webkit-text-fill-color:transparent;caret-color:var(--color-text);z-index:1}.jf-code__input:focus{outline:none}.jf-code__input--plain{color:var(--color-text);-webkit-text-fill-color:var(--color-text)}.jf-code__input::placeholder{color:var(--color-text-subtle);-webkit-text-fill-color:var(--color-text-subtle);opacity:1}.jf-code__input::selection{background-color:var(--color-selection-bg)}.jf-tk-key{color:var(--jf-key)}.jf-tk-string{color:var(--jf-string)}.jf-tk-number{color:var(--jf-number)}.jf-tk-literal{color:var(--jf-literal)}.jf-tk-punct{color:var(--jf-punct)}.jf-tk-invalid{color:var(--jf-invalid);text-decoration:underline wavy currentColor;text-underline-offset:.2em}.jf-output-frame{position:relative;display:flex;flex-direction:column;flex:1 1 auto;min-block-size:var(--jf-editor-height);block-size:0}.jf-output{flex:1 1 auto;min-block-size:var(--jf-editor-height);block-size:0;overflow:auto;background-color:var(--color-surface-sunken);padding:var(--focus-ring-outset);overscroll-behavior:contain}.jf-output__code{margin:0;padding:calc(var(--jf-pad-y) - var(--focus-ring-outset)) var(--jf-pad-x);color:var(--color-text)}.jf-output__capped{position:absolute;inset-block-start:0;inset-inline:0;z-index:1;block-size:var(--jf-pad-y);margin:0;padding-inline:var(--jf-pad-x);background-color:var(--color-canvas-subtle);border-block-end:1px solid var(--color-border-subtle);color:var(--color-text-muted);font-size:var(--font-size-2xs);line-height:calc(var(--jf-pad-y) - 1px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.jf-output__empty{display:grid;grid-template-columns:minmax(0,34ch);place-content:center;min-block-size:100%;margin:0;padding:var(--space-4) var(--jf-pad-x);color:var(--color-text-subtle);font-size:var(--font-size-sm);text-align:center;text-wrap:balance}.jf-tree__bar{position:sticky;inset-block-start:calc(-1 * var(--focus-ring-outset));z-index:1;display:flex;align-items:center;gap:var(--space-2);margin-block-end:var(--space-2);padding-block:var(--space-1);background-color:var(--color-surface-sunken)}.jf-tree__count{margin-inline-start:auto;padding-inline-end:var(--space-1);font-size:var(--font-size-2xs);font-variant-numeric:tabular-nums;color:var(--color-text-subtle);white-space:nowrap}.jf-tree{list-style:none;margin:0;padding:0;font-family:var(--font-mono);font-size:var(--font-size-sm);line-height:var(--line-height-snug)}.jf-tree__row{display:flex;align-items:center;gap:var(--space-1);padding-inline-start:calc(var(--jf-depth) * var(--space-4));border-radius:var(--radius-sm)}.jf-tree__row:hover{background-color:var(--color-surface-hover)}.jf-tree__node{display:flex;align-items:center;gap:var(--space-1);flex:1 1 auto;min-inline-size:0;padding:var(--space-1) var(--space-1);border:0;border-radius:var(--radius-sm);background:none;font:inherit;color:inherit;text-align:start;cursor:pointer}.jf-tree__node--leaf{cursor:default}.jf-tree__chevron{flex:none;color:var(--color-text-subtle);transform:rotate(-90deg);transition:transform var(--duration-fast) var(--ease-standard)}.jf-tree__node[aria-expanded=true] .jf-tree__chevron{transform:rotate(0)}.jf-tree__chevron-space{flex:none;inline-size:14px;block-size:14px}.jf-tree__root{color:var(--color-text-muted)}.jf-tree__key{color:var(--jf-key)}.jf-tree__index{color:var(--color-text-subtle)}.jf-tree__colon{color:var(--jf-punct);margin-inline-start:calc(-1 * var(--space-1));margin-inline-end:var(--space-1)}.jf-tree__value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text)}.jf-tree__value--string{color:var(--jf-string)}.jf-tree__value--number{color:var(--jf-number)}.jf-tree__value--boolean,.jf-tree__value--null{color:var(--jf-literal)}.jf-tree__value--object,.jf-tree__value--array{color:var(--color-text-muted)}.jf-tree__hidden{margin-inline-start:var(--space-2);font-size:var(--font-size-2xs);color:var(--color-text-subtle)}.jf-tree__copy{flex:none;opacity:0}.jf-tree__row:hover .jf-tree__copy,.jf-tree__copy:focus-visible{opacity:1}@media(hover:none){.jf-tree__copy{opacity:1}}.jf-tree__more{padding:var(--space-2) var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-subtle)}.jf__status-region{border-block-end:1px solid var(--color-border-subtle)}.jf__status{display:flex;align-items:center;gap:var(--space-2);block-size:var(--jf-status-height);padding-inline:var(--space-3);font-size:var(--font-size-sm);border-block-end:1px solid var(--color-border-subtle)}.jf__status-icon{display:inline-flex;flex:none}.jf__status-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-overflow:ellipsis;white-space:normal}@media(min-width:48em){.jf__status-text{display:block;white-space:nowrap}}.jf__status--success{color:var(--color-success);background-color:var(--color-success-subtle)}.jf__status--danger{color:var(--color-danger);background-color:var(--color-danger-subtle)}.jf__status--neutral{color:var(--color-text-muted);background-color:var(--color-surface)}.jf__status-meta{display:none;margin-inline-start:auto;flex:none;font-size:var(--font-size-2xs);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-subtle);inline-size:5.75rem;text-align:start}@media(min-width:48em){.jf__status-meta{display:block}.jf__jump{inline-size:8.5rem}}.jf__jump{margin-inline-start:auto;flex:none;text-align:center;padding:var(--space-1) var(--space-2);border:1px solid currentColor;border-radius:var(--radius-full);background:none;color:inherit;font:inherit;font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer}.jf__jump:hover{background-color:var(--color-surface-hover)}.jf__detail{block-size:var(--jf-detail-height);overflow:auto;padding:var(--space-2) var(--space-3);background-color:var(--color-surface)}.jf__diagnostic{display:flex;flex-direction:column;gap:var(--space-1)}.jf__excerpt{margin:0;font-family:var(--font-mono);font-size:var(--font-size-xs);line-height:1.4;white-space:pre;overflow-x:auto;color:var(--color-text);tab-size:2}.jf__hint{font-size:var(--font-size-xs);color:var(--color-text-muted)}.jf__hints{display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-inline:contain;gap:var(--space-2) var(--space-4);list-style:none;margin:0;padding:0}.jf__hints{block-size:100%;align-items:center}.jf__hints li{flex:none}@media(min-width:48em){.jf__hints{flex-wrap:wrap;overflow-x:visible}}.jf__hints li{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted)}.jf__hints .jf__jump{margin-inline-start:0;inline-size:auto}.jf__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;background-color:var(--color-border-subtle);border-block-end:1px solid var(--color-border-subtle)}@media(min-width:30em){.jf__stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.jf__stat{padding:var(--space-2) var(--space-3);background-color:var(--color-surface);min-inline-size:0}.jf__stat dt{font-size:var(--font-size-2xs);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jf__stat-hint{text-transform:none;letter-spacing:var(--letter-spacing-normal)}.jf__stat dd{margin:0;font-family:var(--font-mono);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jf__warnings{list-style:none;margin:0;padding:var(--space-2) var(--space-3);display:flex;align-items:center;gap:var(--space-3);block-size:var(--jf-warnings-height);overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;background-color:var(--color-warning-subtle);color:var(--color-warning);font-size:var(--font-size-xs);white-space:nowrap}.jf__warnings:empty{background-color:transparent}.jf__warnings li{display:flex;flex:none;align-items:center;gap:var(--space-2)}.jf__warning-more{color:var(--color-text-muted)}.jf__warnings svg{flex:none}.jf__warning-at{color:var(--color-text-muted)}.jf__file{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.jf__drop{position:absolute;inset:0;display:grid;place-items:center;z-index:var(--z-overlay);background-color:var(--color-accent-subtle);border:2px dashed var(--color-accent);border-radius:var(--radius-lg);color:var(--color-accent);font-weight:var(--font-weight-semibold);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-standard)}.jf--dragging .jf__drop{opacity:.97;visibility:visible}.jf__notes{display:grid;grid-template-columns:1fr;gap:var(--space-5)}@media(min-width:48em){.jf__notes{grid-template-columns:repeat(3,minmax(0,1fr))}}.jf__notes h2{font-size:var(--font-size-md);margin-block-end:var(--space-2)}.jf__notes p{font-size:var(--font-size-sm);color:var(--color-text-muted)}.jf__notes code{font-family:var(--font-mono);font-size:.9em;padding:.1em .35em;border-radius:var(--radius-xs);background-color:var(--color-code-bg);color:var(--color-code-text)}.jf__link,.jf-undo{padding:0;border:0;background:none;font:inherit;color:var(--color-link);text-decoration:underline;text-underline-offset:.15em;cursor:pointer}.jf__link:hover,.jf-undo:hover{color:var(--color-link-hover)}.jf-undo{font-weight:var(--font-weight-semibold)}.sdk{--sdk-n: 9;--sdk-hair: 1px;--sdk-rule: 1px;--sdk-edge: 2px;--sdk-cell: var(--color-surface);--sdk-ink-lift: 18%;--sdk-ink-note-lift: 10%;--sdk-ink-clue: var(--color-text);--sdk-ink-entered: color-mix( in srgb, var(--color-text) var(--sdk-ink-lift), var(--color-accent) );--sdk-ink-hinted: color-mix( in srgb, var(--color-text) var(--sdk-ink-lift), var(--color-warning) );--sdk-ink-bad: color-mix( in srgb, var(--color-text) var(--sdk-ink-lift), var(--color-danger) );--sdk-ink-note: color-mix( in srgb, var(--color-text) var(--sdk-ink-note-lift), var(--color-text-muted) );--sdk-t-peer: 11%;--sdk-t-match: 20%;--sdk-t-select: 28%;--sdk-t-danger: 13%;--sdk-t-hint: 16%;--sdk-t-solved: 9%;--sdk-t-line: 0%;--sdk-t-line-strong: 0%;--sdk-line: color-mix( in srgb, var(--color-text-muted) var(--sdk-t-line), var(--color-border-subtle) );--sdk-line-strong: color-mix( in srgb, var(--color-border-subtle) var(--sdk-t-line-strong), var(--color-text-muted) );--sdk-peer: color-mix(in srgb, var(--color-accent) var(--sdk-t-peer), var(--sdk-cell));--sdk-match: color-mix(in srgb, var(--color-accent) var(--sdk-t-match), var(--sdk-cell));--sdk-select: color-mix(in srgb, var(--color-accent) var(--sdk-t-select), var(--sdk-cell));--sdk-conflict: color-mix(in srgb, var(--color-danger) var(--sdk-t-danger), var(--sdk-cell));--sdk-hint: color-mix(in srgb, var(--color-warning) var(--sdk-t-hint), var(--sdk-cell));--sdk-solved: color-mix(in srgb, var(--color-success) var(--sdk-t-solved), var(--sdk-cell));--sdk-chrome: 35.5rem;--sdk-board-cap: min(32rem, max(12rem, calc(100vh - var(--sdk-chrome))));--sdk-board-cap: min(32rem, max(12rem, calc(100svh - var(--sdk-chrome))));--sdk-side: 0px;display:block}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .sdk{--sdk-t-peer: 11%;--sdk-t-match: 20%;--sdk-t-select: 28%;--sdk-t-danger: 22%;--sdk-t-hint: 20%;--sdk-t-solved: 14%;--sdk-t-line: 5%;--sdk-t-line-strong: 23%}}:root[data-theme=dark] .sdk{--sdk-t-peer: 11%;--sdk-t-match: 20%;--sdk-t-select: 28%;--sdk-t-danger: 22%;--sdk-t-hint: 20%;--sdk-t-solved: 14%;--sdk-t-line: 5%;--sdk-t-line-strong: 23%}.sdk-layout{gap:var(--space-2);display:grid;align-content:start;inline-size:min(100%,max(17rem,var(--sdk-board-cap)));margin-inline:auto}@media(min-width:48rem){.sdk-layout{gap:var(--space-4)}}.sdk-head,.sdk-boardwrap,.sdk-panel,.sdk-tools,.sdk-padwrap,.sdk-help{min-inline-size:0}.sdk-boardframe{position:relative;inline-size:min(100%,var(--sdk-board-cap));margin-inline:auto}.sdk-board{inline-size:100%;aspect-ratio:1;container-type:inline-size;display:grid;grid-template-columns:1fr 1fr 1fr var(--sdk-rule) 1fr 1fr 1fr var(--sdk-rule) 1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr var(--sdk-rule) 1fr 1fr 1fr var(--sdk-rule) 1fr 1fr 1fr;gap:var(--sdk-hair);background-color:var(--sdk-line);border:var(--sdk-edge) solid var(--sdk-line-strong);border-radius:var(--radius-xs);touch-action:manipulation;user-select:none;-webkit-user-select:none}.sdk-board:focus{outline:none}.sdk-row{display:contents}.sdk-row>.sdk-cell:nth-child(1){grid-column:1}.sdk-row>.sdk-cell:nth-child(2){grid-column:2}.sdk-row>.sdk-cell:nth-child(3){grid-column:3}.sdk-row>.sdk-cell:nth-child(4){grid-column:5}.sdk-row>.sdk-cell:nth-child(5){grid-column:6}.sdk-row>.sdk-cell:nth-child(6){grid-column:7}.sdk-row>.sdk-cell:nth-child(7){grid-column:9}.sdk-row>.sdk-cell:nth-child(8){grid-column:10}.sdk-row>.sdk-cell:nth-child(9){grid-column:11}.sdk-row:nth-child(1)>.sdk-cell{grid-row:1}.sdk-row:nth-child(2)>.sdk-cell{grid-row:2}.sdk-row:nth-child(3)>.sdk-cell{grid-row:3}.sdk-row:nth-child(4)>.sdk-cell{grid-row:5}.sdk-row:nth-child(5)>.sdk-cell{grid-row:6}.sdk-row:nth-child(6)>.sdk-cell{grid-row:7}.sdk-row:nth-child(7)>.sdk-cell{grid-row:9}.sdk-row:nth-child(8)>.sdk-cell{grid-row:10}.sdk-row:nth-child(9)>.sdk-cell{grid-row:11}.sdk-rule{background-color:var(--sdk-line-strong);pointer-events:none}.sdk-rule--v{margin-inline:calc(var(--sdk-hair) * -1)}.sdk-rule--h{margin-block:calc(var(--sdk-hair) * -1)}.sdk-cell{position:relative;display:grid;place-items:center;min-inline-size:0;min-block-size:0;background-color:var(--sdk-cell);color:var(--sdk-ink-clue);line-height:var(--line-height-flat);font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard)}.sdk-cell.is-clue{cursor:default}.sdk-digit{font-size:max(.6875rem,calc(57.6cqw / var(--sdk-n)));line-height:var(--line-height-flat)}.sdk-cell.is-clue .sdk-digit{font-weight:var(--font-weight-semibold);color:var(--sdk-ink-clue)}.sdk-cell.is-entered .sdk-digit{font-weight:var(--font-weight-regular);color:var(--sdk-ink-entered)}.sdk-cell.is-hinted .sdk-digit{color:var(--sdk-ink-hinted)}.sdk-cell.is-conflict .sdk-digit{color:var(--sdk-ink-bad);font-weight:var(--font-weight-semibold)}.sdk-notes{position:absolute;inset:6%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr)}.sdk-note{display:grid;place-items:center;font-size:max(.375rem,calc(26.1cqw / var(--sdk-n)));line-height:var(--line-height-flat);color:var(--sdk-ink-note)}.sdk-cell.is-peer{background-color:var(--sdk-peer)}.sdk-cell.is-match{background-color:var(--sdk-match)}.sdk-cell.is-hint-reason{background-color:var(--sdk-hint)}.sdk-cell.is-conflict,.sdk-cell.is-wrong{background-color:var(--sdk-conflict)}.sdk-cell.is-wrong .sdk-digit{color:var(--sdk-ink-bad);font-weight:var(--font-weight-semibold)}.sdk-cell.is-hint-target{background-color:var(--sdk-hint);box-shadow:inset 0 0 0 2px var(--color-warning)}.sdk-cell.is-selected{background-color:var(--sdk-select);box-shadow:inset 0 0 0 2px var(--color-accent)}.sdk-cell:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:calc(var(--focus-ring-width) * -1);z-index:1}@media(hover:hover){.sdk-cell.is-open:hover{background-color:var(--sdk-peer)}.sdk-cell.is-selected:hover{background-color:var(--sdk-select)}}.sdk-board.is-solved .sdk-cell{background-color:var(--sdk-solved);box-shadow:none;cursor:default}.sdk-board.is-paused .sdk-digit,.sdk-board.is-paused .sdk-notes{visibility:hidden}.sdk-curtain{position:absolute;inset:0;z-index:2;display:grid;place-content:center;justify-items:center;gap:var(--space-3);background-color:color-mix(in srgb,var(--color-surface) 86%,transparent);border-radius:var(--radius-xs)}.sdk-curtain__title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.sdk-head{display:flex;flex-direction:column;gap:.375rem}.sdk-levels{inline-size:100%}.sdk-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:var(--space-4)}.sdk-stat{display:flex;flex-direction:column;gap:1px;margin:0;min-inline-size:0}.sdk-stat__value--date{overflow:hidden;text-overflow:ellipsis}.sdk-stat__label{font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-subtle);line-height:var(--line-height-flat);white-space:nowrap;overflow:hidden}.sdk-stat__value{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;line-height:var(--line-height-snug);white-space:nowrap}.sdk-stat__value.is-bad{color:var(--color-danger)}.sdk-clock{display:flex;align-items:center;gap:var(--space-2);min-inline-size:0}.sdk-clock>.sdk-stat{min-inline-size:0}.sdk-clock__pause{flex:none}.sdk-tools{--sdk-tool-gap: var(--space-1);display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--sdk-tool-gap);justify-items:center}.sdk-tool{display:flex;gap:2px;flex-direction:column;align-items:center;min-inline-size:0;inline-size:100%;max-inline-size:5rem}.sdk-tool__button{inline-size:var(--control-height-lg);max-inline-size:calc(100% + var(--sdk-tool-gap))}.sdk-tool__button[aria-pressed=true]{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-contrast)}.sdk-tool__button.is-armed{border-color:var(--color-danger);color:var(--color-danger)}.sdk-tool__caption{font-size:var(--font-size-2xs);color:var(--color-text-muted);line-height:var(--line-height-flat);white-space:nowrap}.sdk-tool__caption.is-armed{color:var(--color-danger);font-weight:var(--font-weight-medium)}.sdk-padwrap{container-type:inline-size}.sdk-pad{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2)}.sdk-key{flex:0 1 calc((100% - 4 * var(--space-2)) / 5);display:grid;place-items:center;min-block-size:2.75rem;padding:var(--space-1);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);color:var(--sdk-ink-entered);font-family:inherit;font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums;line-height:var(--line-height-flat);cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}@container (min-width: 32rem){.sdk-key{flex-basis:calc((100% - 8 * var(--space-2)) / 9)}}.sdk-key__digit{line-height:var(--line-height-flat)}.sdk-key:after{content:attr(data-left);min-block-size:.875rem;font-size:var(--font-size-2xs);font-weight:var(--font-weight-regular);color:var(--sdk-ink-note);line-height:var(--line-height-flat);font-variant-numeric:tabular-nums}.sdk-key:hover:not(:disabled){background-color:var(--color-surface-hover)}.sdk-key:active:not(:disabled){background-color:var(--color-surface-active)}.sdk-key:disabled{opacity:.4;cursor:default;box-shadow:none}.sdk-key:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset)}.sdk-pad.is-pencil .sdk-key{color:var(--color-text-muted);border-style:dashed;border-color:var(--color-border-strong)}.sdk-note-card{border-left:3px solid var(--color-accent)}.sdk-note-card--warning{border-left-color:var(--color-warning)}.sdk-note-card__title{margin:0 0 var(--space-1);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.sdk-note-card__body{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.sdk-note-card__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.sdk-win{border-color:var(--color-success-border)}.sdk-win__eyebrow{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-success)}.sdk-win__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(4.5rem,1fr));gap:var(--space-3);margin:0 0 var(--space-4)}.sdk-win__stats dt{font-size:var(--font-size-2xs);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-subtle)}.sdk-win__stats dd{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.sdk-win__result{margin:0 0 var(--space-4);padding:var(--space-3);background-color:var(--color-surface-sunken);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--font-size-xs);line-height:var(--line-height-snug);white-space:pre-wrap;overflow-wrap:anywhere}.sdk-win__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.sdk-win__status{margin:var(--space-2) 0 0;min-block-size:1.25rem;font-size:var(--font-size-xs);color:var(--color-text-muted)}.sdk-help{font-size:var(--font-size-sm);color:var(--color-text-muted)}.sdk-help__title{margin:0 0 var(--space-2);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-subtle);line-height:var(--line-height-flat)}.sdk-help__list{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}@media(max-width:48rem){.ui-app-shell__main:has(.sdk){padding-block:var(--space-4) var(--space-6)}article:has(.sdk) .ui-page-header{gap:var(--space-2);margin-block-end:var(--space-3)}article:has(.sdk) .ui-page-header__title{font-size:var(--font-size-xl)}article:has(.sdk) .ui-page-header__description{display:none}article:has(.sdk) .ui-breadcrumbs{display:none}.sdk{--sdk-side: .5rem;margin-inline:calc(var(--container-gutter) * -1);padding-inline:var(--sdk-side)}@supports selector(:has(*)){.sdk{--sdk-chrome: 23.5rem}}.sdk-head{gap:var(--space-1)}.sdk-stats{gap:var(--space-2)}.sdk-clock{gap:var(--space-1)}.sdk-help{display:none}}@media(min-width:62rem){.sdk-layout{grid-template-columns:min(var(--sdk-board-cap),calc(100% - 20rem)) minmax(18rem,1fr);grid-template-areas:"board head" "board panel" "board tools" "board pad" "board help";grid-template-rows:auto auto auto auto 1fr;align-items:start;justify-content:space-between;column-gap:var(--space-7);inline-size:100%}.sdk{--sdk-chrome: 14.5rem;--sdk-board-cap: min(38rem, 52vw, max(18rem, calc(100vh - var(--sdk-chrome))));--sdk-board-cap: min(38rem, 52vw, max(18rem, calc(100svh - var(--sdk-chrome))))}.sdk-boardwrap{grid-area:board}.sdk-head{grid-area:head}.sdk-panel{grid-area:panel}.sdk-tools{grid-area:tools;--sdk-tool-gap: var(--space-2)}.sdk-padwrap{grid-area:pad}.sdk-help{grid-area:help}.sdk-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.sdk-key{flex:none;min-block-size:3rem}}@media(orientation:landscape)and (max-height:34rem){.ui-app-shell__main:has(.sdk){padding-block:var(--space-3) var(--space-4)}article:has(.sdk) .ui-page-header{position:absolute;inline-size:1px;block-size:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}article:has(.sdk) .ui-breadcrumbs{display:none}.sdk-layout{grid-template-columns:min(var(--sdk-board-cap),calc(100% - 14rem)) minmax(13rem,1fr);grid-template-areas:"board head" "board panel" "board tools" "board pad" "board help";grid-template-rows:auto auto auto auto 1fr;align-items:start;justify-content:center;column-gap:var(--space-4);row-gap:var(--space-2);inline-size:100%}.sdk{--sdk-chrome: 14rem;--sdk-board-cap: min(45vw, max(9rem, calc(100vh - var(--sdk-chrome))));--sdk-board-cap: min(45vw, max(9rem, calc(100svh - var(--sdk-chrome))))}@supports selector(:has(*)){.sdk{--sdk-chrome: 5rem}}.sdk-boardwrap{grid-area:board}.sdk-head{grid-area:head}.sdk-panel{grid-area:panel}.sdk-tools{grid-area:tools}.sdk-padwrap{grid-area:pad}.sdk-help{display:none}}@media(forced-colors:active){.sdk-cell{outline:1px solid CanvasText;outline-offset:-1px}.sdk-cell.is-conflict,.sdk-cell.is-wrong{outline:3px double CanvasText;outline-offset:-3px}.sdk-cell.is-hint-target{outline:3px dashed Highlight;outline-offset:-3px}.sdk-cell.is-selected,.sdk-cell:focus-visible{outline:3px solid Highlight;outline-offset:-3px}}.sdk.sdk--mini{--sdk-n: 6;--sdk-chrome: 30rem;--sdk-board-cap: min(24rem, max(11rem, calc(100vh - var(--sdk-chrome))));--sdk-board-cap: min(24rem, max(11rem, calc(100svh - var(--sdk-chrome))))}.sdk--mini .sdk-board{grid-template-columns:1fr 1fr 1fr var(--sdk-rule) 1fr 1fr 1fr;grid-template-rows:1fr 1fr var(--sdk-rule) 1fr 1fr var(--sdk-rule) 1fr 1fr}.sdk--mini .sdk-row>.sdk-cell:nth-child(1){grid-column:1}.sdk--mini .sdk-row>.sdk-cell:nth-child(2){grid-column:2}.sdk--mini .sdk-row>.sdk-cell:nth-child(3){grid-column:3}.sdk--mini .sdk-row>.sdk-cell:nth-child(4){grid-column:5}.sdk--mini .sdk-row>.sdk-cell:nth-child(5){grid-column:6}.sdk--mini .sdk-row>.sdk-cell:nth-child(6){grid-column:7}.sdk--mini .sdk-row:nth-child(1)>.sdk-cell{grid-row:1}.sdk--mini .sdk-row:nth-child(2)>.sdk-cell{grid-row:2}.sdk--mini .sdk-row:nth-child(3)>.sdk-cell{grid-row:4}.sdk--mini .sdk-row:nth-child(4)>.sdk-cell{grid-row:5}.sdk--mini .sdk-row:nth-child(5)>.sdk-cell{grid-row:7}.sdk--mini .sdk-row:nth-child(6)>.sdk-cell{grid-row:8}.sdk--mini .sdk-notes{grid-template-rows:repeat(2,1fr)}@media(max-width:48rem){.sdk.sdk--mini{--sdk-chrome: 21rem}}@media(orientation:landscape)and (max-height:34rem){.sdk.sdk--mini{--sdk-chrome: 10.5rem}.sdk--mini .sdk-layout{grid-template-columns:none;grid-template-areas:none;grid-template-rows:none;column-gap:0}.sdk--mini .sdk-boardwrap,.sdk--mini .sdk-head,.sdk--mini .sdk-panel,.sdk--mini .sdk-tools,.sdk--mini .sdk-padwrap,.sdk--mini .sdk-help{grid-area:auto}}@media(min-width:62rem){.sdk.sdk--mini{--sdk-chrome: 14.5rem}}:root{--rdl-box-height: 14rem;--rdl-list-height: 11rem;--rdl-note-height: calc(var(--font-size-xs) * var(--line-height-normal) * 2)}@media(min-width:48em){:root{--rdl-box-height: 20rem;--rdl-list-height: 13rem}}.rdl{display:flex;flex-direction:column;gap:var(--space-6)}.rdl__card{min-inline-size:0}.rdl__title{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);color:var(--color-text)}.rdl__title label{cursor:pointer}.rdl__options{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--space-4);padding:var(--space-2) var(--space-4);border-block-end:1px solid var(--color-border-subtle)}.rdl__options .rdl__title{margin-inline-end:var(--space-1)}.rdl__option{display:inline-flex;align-items:center;gap:var(--space-2);min-block-size:var(--control-height-sm);font-size:var(--font-size-sm);line-height:var(--line-height-snug);color:var(--color-text);cursor:pointer;overflow-wrap:anywhere}.rdl__checkbox{flex:none;inline-size:1.125rem;block-size:1.125rem;margin:0;accent-color:var(--color-accent);cursor:pointer}.rdl__panes{display:grid;grid-template-columns:minmax(0,1fr);border-block-end:1px solid var(--color-border-subtle)}@media(min-width:48em){.rdl__panes{grid-template-columns:repeat(2,minmax(0,1fr))}.rdl__pane+.rdl__pane{border-inline-start:1px solid var(--color-border-subtle)}}.rdl__pane{display:flex;flex-direction:column;gap:var(--space-2);min-inline-size:0;padding:var(--space-3) var(--space-4) var(--space-4)}.rdl__pane+.rdl__pane{border-block-start:1px solid var(--color-border-subtle)}@media(min-width:48em){.rdl__pane+.rdl__pane{border-block-start:0}}.rdl__pane-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);min-block-size:var(--control-height-sm)}.rdl__tools{display:flex;flex-wrap:wrap;gap:var(--space-2)}.rdl__text{display:block;box-sizing:border-box;inline-size:100%;min-inline-size:0;block-size:var(--rdl-box-height);min-block-size:6rem;margin:0;padding:var(--space-2) var(--space-3);font-family:var(--font-mono);font-size:var(--font-size-control);line-height:var(--line-height-normal);tab-size:4;color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);resize:vertical}.rdl__text::placeholder{color:var(--color-text-muted);opacity:1}.rdl__text:read-only{background-color:var(--color-surface-sunken)}.rdl__text--result{tab-size:8}.rdl--dragging #rdl-input{outline:var(--focus-ring-width) dashed var(--color-accent);outline-offset:var(--focus-ring-offset)}.rdl__note{margin:0;min-block-size:var(--rdl-note-height);font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--color-text-muted);overflow-wrap:anywhere}.rdl__note--danger{color:var(--color-danger)}.rdl__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.rdl__status{flex:1 1 100%;min-inline-size:0;min-block-size:calc(var(--font-size-xs) * var(--line-height-normal));margin:0;font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--color-text-muted);overflow-wrap:anywhere}@media(min-width:30em){.rdl__status{flex:1 1 10rem;padding-inline-start:var(--space-1)}}.rdl__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border-block-end:1px solid var(--color-border-subtle)}@media(min-width:40em){.rdl__stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.rdl__stat{min-inline-size:0;padding:var(--space-2) var(--space-4)}.rdl__stat dt{font-size:var(--font-size-xs);line-height:var(--line-height-snug);color:var(--color-text-muted);overflow-wrap:anywhere}.rdl__stat dd{margin:0;font-family:var(--font-mono);font-size:var(--font-size-lg);line-height:var(--line-height-snug);font-variant-numeric:tabular-nums;color:var(--color-text);overflow-wrap:anywhere}.rdl__shortcuts{display:none}@media(min-width:48em){.rdl__shortcuts{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-4);margin:0;font-size:var(--font-size-xs);color:var(--color-text-muted)}.rdl__shortcut{display:inline-flex;align-items:center;gap:var(--space-2)}}.rdl__removed{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-4)}.rdl__removed-head{display:flex;flex-direction:column;gap:var(--space-1)}.rdl__caption{margin:0;min-block-size:var(--rdl-note-height);font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--color-text-muted);overflow-wrap:anywhere}.rdl__removed-box{position:relative}.rdl__removed-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;padding:var(--space-4);font-size:var(--font-size-sm);line-height:var(--line-height-normal);text-align:center;color:var(--color-text-muted);overflow-wrap:anywhere;pointer-events:none}.rdl__removed-list{position:relative;list-style:none;margin:0;padding:var(--focus-ring-outset);block-size:var(--rdl-list-height);overflow:auto;background-color:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-md)}.rdl__removed-item{display:flex;align-items:baseline;gap:var(--space-3);padding:var(--space-1) var(--space-2);font-family:var(--font-mono);font-size:var(--font-size-sm);line-height:var(--line-height-snug)}.rdl__removed-item+.rdl__removed-item{border-block-start:1px solid var(--color-border-subtle)}@media(min-width:48em){.rdl__removed-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;column-gap:var(--space-4)}.rdl__removed-item{border-block-start:1px solid var(--color-border-subtle)}}@media(min-width:62em){.rdl__removed-list{grid-template-columns:repeat(3,minmax(0,1fr))}}.rdl__removed-count{flex:none;min-inline-size:5ch;text-align:end;font-variant-numeric:tabular-nums;font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}.rdl__removed-text{min-inline-size:0;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--color-text);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.rdl__removed-text--placeholder{font-family:var(--font-sans);font-style:italic;color:var(--color-text-muted)}.rdl__about{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-5)}@media(min-width:48em){.rdl__about{grid-template-columns:repeat(3,minmax(0,1fr))}}.rdl__about h2{margin-block:0 var(--space-2);font-size:var(--font-size-md)}.rdl__about p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.rdl__about code{font-family:var(--font-mono);font-size:.9em;padding:.1em .35em;border-radius:var(--radius-xs);background-color:var(--color-code-bg);color:var(--color-code-text)}.jwtd{display:flex;flex-direction:column;gap:var(--space-4);min-inline-size:0}.jwtd__notice{padding:var(--space-3) var(--space-4);background-color:var(--color-warning-subtle);border:1px solid var(--color-warning-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.jwtd__notice p{margin:0}.jwtd__notice p+p{margin-block-start:var(--space-1)}.jwtd__input-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}.jwtd__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text)}.jwtd__tools{display:flex;flex-wrap:wrap;gap:var(--space-2)}.jwtd__tools .jwtd__tool,.jwtd__section-head .jwtd__tool{font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);box-shadow:none}.jwtd__section-head .jwtd__tool{inline-size:11.5rem;justify-content:center;text-align:center}.jwtd__field{position:relative}.jwtd__mirror{position:absolute;inset:0;box-sizing:border-box;margin:0;padding:var(--space-2) var(--space-3);font-family:var(--font-mono);font-size:var(--font-size-control);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-surface);border:1px solid transparent;border-radius:var(--radius-md);white-space:pre-wrap;overflow-wrap:anywhere;overflow-x:hidden;overflow-y:auto;scrollbar-color:transparent transparent;pointer-events:none;-webkit-user-select:none;user-select:none}.jwtd__seg--header,.jwtd__heading.jwtd__heading--header{color:var(--color-danger)}.jwtd__seg--payload,.jwtd__heading.jwtd__heading--payload{color:var(--color-accent)}.jwtd__seg--signature,.jwtd__heading.jwtd__heading--signature{color:var(--color-info)}.jwtd__input{display:block;box-sizing:border-box;inline-size:100%;min-inline-size:0;block-size:9rem;min-block-size:5rem;margin:0;padding:var(--space-2) var(--space-3);font-family:var(--font-mono);font-size:var(--font-size-control);line-height:var(--line-height-normal);position:relative;color:transparent;caret-color:var(--color-text);background-color:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-wrap:anywhere;resize:vertical}.jwtd__input::selection{color:transparent;background-color:color-mix(in srgb,var(--color-accent) 14%,transparent)}@media(forced-colors:active){.jwtd__mirror{display:none}.jwtd__input{color:FieldText;background-color:Field}.jwtd__input::selection{color:HighlightText;background-color:Highlight}}.jwtd__input::placeholder{color:var(--color-text-muted);opacity:1}.jwtd__status{margin:0;padding:var(--space-3) var(--space-4);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);color:var(--color-text);background-color:var(--color-surface-sunken);border:1px solid var(--color-border);border-inline-start:var(--space-2) solid var(--color-border-strong);border-radius:var(--radius-md);overflow-wrap:anywhere;white-space:pre-wrap}.jwtd__ignored{font-size:var(--font-size-sm);font-weight:var(--font-weight-regular)}.jwtd__when{display:block;margin-block-start:var(--space-1);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);color:var(--color-text-muted)}.jwtd__status:empty{display:none}.jwtd__status--error,.jwtd__status--expired{background-color:var(--color-danger-subtle);border-color:var(--color-danger-border);border-inline-start-color:var(--color-danger)}.jwtd__status--not-yet-valid{background-color:var(--color-warning-subtle);border-color:var(--color-warning-border);border-inline-start-color:var(--color-warning)}.jwtd__status--valid{background-color:var(--color-success-subtle);border-color:var(--color-success-border);border-inline-start-color:var(--color-success)}.jwtd__section{min-inline-size:0}.jwtd__section-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);margin-block-end:var(--space-2)}.jwtd__section-head .jwtd__heading{margin:0}.jwtd__heading{margin:0 0 var(--space-2);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);color:var(--color-text)}.jwtd__pre{margin:0;padding:var(--space-3);font-family:var(--font-mono);font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-surface-sunken);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);white-space:pre-wrap;overflow-wrap:anywhere}.jwtd__line{display:block;padding-inline-start:calc((var(--indent, 0) + 2) * 1ch);text-indent:calc((var(--indent, 0) + 2) * -1ch)}.jwtd__json-key{color:var(--color-info)}.jwtd__json-string{color:var(--color-success)}.jwtd__json-number{color:var(--color-warning)}.jwtd__json-literal{color:var(--color-accent)}.jwtd__note{margin:var(--space-2) 0 0;font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-muted)}.jwtd__hint{display:block;color:var(--color-text-muted)}.jwtd__table{inline-size:100%;table-layout:fixed;border-collapse:collapse;font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text)}.jwtd__table th,.jwtd__table td{padding:var(--space-1) var(--space-2);text-align:start;vertical-align:top;border-block-end:1px solid var(--color-border-subtle);overflow-wrap:anywhere}.jwtd__table thead th{font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}.jwtd__table thead th:first-child{inline-size:12%}@media(max-width:40rem){.jwtd__table,.jwtd__table tbody,.jwtd__table tr,.jwtd__table th,.jwtd__table td{display:block}.jwtd__table thead{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.jwtd__table tr{margin-block-end:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background-color:var(--color-surface-sunken)}.jwtd__table th,.jwtd__table td{padding:var(--space-1) 0;border-block-end:0}.jwtd__table tbody th{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.jwtd__table td:before{content:attr(data-label);content:attr(data-label) / "";display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}}.jwtd__results{display:flex;flex-direction:column;gap:var(--space-4);min-inline-size:0}:root{--rsg-box-height: 12rem}@media(min-width:48em){:root{--rsg-box-height: 18rem}}.rsg{display:flex;flex-direction:column;gap:var(--space-4)}.rsg__card{min-inline-size:0}.rsg__controls{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);border-block-end:1px solid var(--color-border-subtle)}.rsg__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.rsg__number{min-inline-size:0}.rsg__row .rsg__number.rsg__number--off{display:none}.rsg__row--single{grid-template-columns:minmax(0,1fr)}.rsg__row--single .rsg__number{display:grid;grid-template-columns:auto 6rem minmax(0,1fr);align-items:center;column-gap:var(--space-3);row-gap:var(--space-1)}.rsg__row--single .ui-field__messages{grid-column:3}.rsg__row--single .rsg__number:has(.ui-field__message--error) .ui-field__messages{grid-column:1 / -1;grid-row:2}.rsg__controls .ui-segmented__label{padding-inline:var(--space-1);text-align:center;white-space:normal;overflow-wrap:break-word}@media(max-width:29.999em){.rsg__controls .ui-segmented--block .ui-segmented__option{flex:1 1 auto}}.rsg__strings{display:flex;flex-direction:column;gap:var(--space-4)}.rsg__strings[hidden]{display:none}.rsg__cap:not(:empty){display:block;margin-block-start:var(--space-1);color:var(--color-text)}.rsg__title{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);color:var(--color-text)}.rsg__groups{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--space-4)}.rsg__groups .rsg__title{flex:1 1 100%}.rsg__option{display:inline-flex;align-items:center;gap:var(--space-2);min-block-size:var(--control-height-sm);font-size:var(--font-size-sm);line-height:var(--line-height-snug);color:var(--color-text);cursor:pointer;overflow-wrap:anywhere}.rsg__checkbox{flex:none;inline-size:1.125rem;block-size:1.125rem;margin:0;accent-color:var(--color-accent);cursor:pointer}.rsg__strength{margin:0;min-block-size:calc(var(--font-size-sm) * var(--line-height-normal));font-size:var(--font-size-sm);line-height:var(--line-height-normal);font-variant-numeric:tabular-nums;color:var(--color-text-muted);overflow-wrap:anywhere}.rsg__strength{display:flex;flex-wrap:wrap;column-gap:var(--space-2)}.rsg__strength-text{flex:0 1 auto;min-inline-size:0}.rsg__sample{flex:1 1 10rem;min-inline-size:0;padding-block:.25em;margin-block:-.25em;overflow:hidden;overflow-wrap:normal;text-overflow:ellipsis;white-space:nowrap}.rsg__sample-value{font-family:var(--font-mono);color:var(--color-text)}.rsg__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.rsg__feedback{display:flex;align-items:baseline;gap:var(--space-2);flex:1 1 100%;min-inline-size:0;min-block-size:calc(var(--font-size-xs) * var(--line-height-normal))}.rsg__status{flex:1 1 auto;min-inline-size:0;margin:0;font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--color-text-muted);overflow-wrap:anywhere}@media(min-width:30em){.rsg__feedback{flex:1 1 15rem;padding-inline-start:var(--space-1)}}.rsg__feedback--done-odd{animation:rsg-confirm-odd .4s ease-out}.rsg__feedback--done-even{animation:rsg-confirm-even .4s ease-out}.rsg__feedback--done-odd .rsg__status,.rsg__feedback--done-even .rsg__status{font-size:var(--font-size-md);line-height:1.15;font-weight:var(--font-weight-medium);color:var(--color-success)}.rsg__tick{flex:none;font-size:var(--font-size-md);line-height:1.15;color:var(--color-success)}@keyframes rsg-confirm-odd{0%{opacity:0}to{opacity:1}}@keyframes rsg-confirm-even{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.rsg__feedback--done-odd,.rsg__feedback--done-even{animation:none}}.rsg__output{display:flex;flex-direction:column;gap:var(--space-2);min-inline-size:0;padding:var(--space-3) var(--space-4) var(--space-4)}.rsg__text{display:block;box-sizing:border-box;inline-size:100%;min-inline-size:0;block-size:var(--rsg-box-height);min-block-size:6rem;margin:0;padding:var(--space-2) var(--space-3);font-family:var(--font-mono);font-size:var(--font-size-control);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-md);white-space:pre;overflow-wrap:normal;overflow-x:auto;resize:vertical}.rsg__note{margin:0;font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--color-text-muted);overflow-wrap:anywhere}.rsg__note--stale{color:var(--color-text)}.rsg__privacy{margin:0;font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-muted);overflow-wrap:anywhere}@media(max-width:29.999em){.rsg .rsg__card{margin-inline:calc(-1 * var(--container-gutter));border-inline-width:0;border-radius:0}.rsg__controls{padding-block:var(--space-3);padding-inline:calc(var(--space-4) + var(--container-gutter) + 1px)}.rsg__output{gap:var(--space-1);padding:var(--space-1) 0 0}.rsg__output .rsg__title{padding-inline:calc(var(--space-4) + var(--container-gutter) + 1px)}.rsg__note{padding-inline:calc(var(--space-4) + var(--container-gutter) + 1px);padding-block:var(--space-1) var(--space-2)}.rsg__actions .ui-button{padding-inline:var(--space-2)}.rsg__text{padding-inline:var(--space-1);letter-spacing:-.05em;border-inline-width:0;border-block-end-width:0;border-radius:0}.rsg__text:focus-visible{outline-offset:calc(-1 * var(--focus-ring-width))}.rsg__text.rsg__text--uuid{letter-spacing:max(-.1em,min(0em,calc((100vw - var(--space-1)) / 36 - .618em)));letter-spacing:var( --rsg-uuid-tracking, max(-.1em, min(0em, calc((100cqw - var(--space-1)) / 36 - .618em))) )}.rsg__output{container-type:inline-size}}:root{--b64-box-height: 4rem;--b64-box-min: 4rem}@media(min-width:30em){:root{--b64-box-height: 14rem;--b64-box-min: 6rem}}@media(min-width:48em){:root{--b64-box-height: 12rem}}.b64{display:flex;flex-direction:column;gap:var(--space-6);min-inline-size:0}.b64__card{position:relative;min-inline-size:0}.b64__card--dragging{outline:2px dashed var(--color-accent);outline-offset:-2px}.b64__card--refusing{outline-color:var(--color-danger)}.b64__card--refusing .b64__drop{color:var(--color-danger)}.b64__drop{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;padding:var(--space-4);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);text-align:center;color:var(--color-text);background-color:color-mix(in srgb,var(--color-surface) 88%,transparent);border-radius:inherit;pointer-events:none}.b64__title{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);color:var(--color-text)}.b64__title label{cursor:pointer}.b64__options{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);border-block-end:1px solid var(--color-border-subtle);min-inline-size:0}.b64__mode-opts{display:grid;flex:1 1 14rem;min-inline-size:0}.b64__mode-opts>*{grid-area:1 / 1}.b64__opts{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-2) var(--space-4);min-inline-size:0}.b64__idle{visibility:hidden}.b64__group{display:flex;flex-wrap:wrap;align-items:center;min-block-size:var(--control-height-sm);gap:var(--space-1) var(--space-2);min-inline-size:0;max-inline-size:100%}.b64__group-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);color:var(--color-text-muted)}.b64 .ui-segmented{flex-wrap:wrap}.b64__pad{display:flex;flex-direction:column;min-inline-size:0;flex:1 1 14rem}.b64__option{display:inline-flex;align-items:center;gap:var(--space-2);min-block-size:calc(var(--control-height-md) + 2px);font-size:var(--font-size-sm);line-height:var(--line-height-snug);color:var(--color-text);cursor:pointer}.b64__checkbox{flex:none;inline-size:1.125rem;block-size:1.125rem;margin:0;accent-color:var(--color-accent);cursor:pointer}.b64__panes{display:grid;grid-template-columns:minmax(0,1fr)}@media(min-width:48em){.b64__panes{grid-template-columns:repeat(2,minmax(0,1fr))}.b64__pane+.b64__pane{border-inline-start:1px solid var(--color-border-subtle);border-block-start:0}}.b64__pane{display:flex;flex-direction:column;gap:var(--space-2);min-inline-size:0;padding:var(--space-3) var(--space-4) var(--space-4)}.b64__pane+.b64__pane{border-block-start:1px solid var(--color-border-subtle)}@media(min-width:48em){.b64__panes{row-gap:var(--space-2)}.b64__pane{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:normal}.b64__panes .b64__text--result{grid-row:3;block-size:auto;min-block-size:var(--b64-box-height);align-self:stretch}.b64__after{grid-row:4}}.b64__pane-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);min-block-size:var(--control-height-sm)}.b64__tools{display:flex;flex-wrap:wrap;gap:var(--space-2)}.b64__note{margin:0;font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--color-text-muted);overflow-wrap:anywhere}.b64__note p{margin:0}.b64__file{color:var(--color-text);font-weight:var(--font-weight-semibold)}.b64__danger,.b64__error{color:var(--color-danger)}.b64__below{display:grid;align-items:start;min-inline-size:0;min-block-size:calc(var(--font-size-xs) * var(--line-height-normal) * 3)}.b64__below>*{grid-area:1 / 1;min-inline-size:0}.b64__error{margin:0;font-size:var(--font-size-xs);line-height:var(--line-height-normal);overflow-wrap:anywhere}.b64__suggest{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2)}.b64__suggest .ui-button{min-block-size:1.75rem}.b64__after{display:flex;flex-direction:column;gap:var(--space-2);min-inline-size:0}.b64__after>.b64__note:empty{display:none}.b64__hex{font-family:var(--font-mono);overflow-wrap:anywhere}.b64__text{display:block;box-sizing:border-box;inline-size:100%;min-inline-size:0;block-size:var(--b64-box-height);min-block-size:var(--b64-box-min);margin:0;padding:var(--space-2) var(--space-3);font-family:var(--font-mono);font-size:var(--font-size-control);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);resize:vertical;overflow-wrap:anywhere;will-change:transform}.b64__text::placeholder{color:var(--color-text-muted);opacity:1}.b64__layer{grid-area:1 / 1;z-index:1;min-block-size:0;min-inline-size:0}.b64__layer--idle{z-index:0}.b64__in{block-size:100%;min-block-size:0;resize:none}.b64__file-card{grid-area:1 / 1;z-index:2;box-sizing:border-box;display:flex;align-items:center;gap:var(--space-3);min-inline-size:0;padding:var(--space-2) var(--space-3);overflow:hidden;color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.b64__file-info{display:flex;flex:1 1 0;min-inline-size:0;margin:0;font-size:var(--font-size-sm);line-height:var(--line-height-snug);white-space:nowrap}.b64__file{display:flex;min-inline-size:0}.b64__file-stem{min-inline-size:0;overflow:hidden;text-overflow:ellipsis}.b64__file-ext{flex:none}.b64__file-size{flex:none;white-space:pre}.b64__file-card .ui-button{flex:none}.b64__file-card:focus-visible{outline-offset:calc(var(--focus-ring-width) * -1)}.b64__text:read-only{cursor:text}.b64__box{position:relative;display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);min-inline-size:0;block-size:var(--b64-box-height);min-block-size:var(--b64-box-min);overflow:hidden;resize:vertical;border-radius:var(--radius-md);contain:layout paint}.b64__text:focus-visible{outline-offset:calc(var(--focus-ring-width) * -1)}.b64__in:focus-visible{outline:none}.b64__focus{position:absolute;inset:1px;z-index:3;border-radius:calc(var(--radius-md) - 1px);pointer-events:none}.b64__box:has(.b64__in:focus-visible) .b64__focus{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:calc(var(--focus-ring-width) * -1)}.b64__ring{position:absolute;inset:0;z-index:3;border:1px solid transparent;border-radius:var(--radius-md);pointer-events:none}.b64__ring--invalid{border-color:var(--color-danger)}@media(forced-colors:active){.b64__ring{display:none}.b64__ring--invalid{display:block;border:4px double CanvasText}}.b64__actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-2)}.b64__status{align-self:center;flex:1 1 100%;min-inline-size:0;min-block-size:calc(var(--font-size-xs) * var(--line-height-normal));margin:0;font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--color-text-muted);overflow-wrap:anywhere}@media(min-width:30em){.b64__status{flex:1 1 10rem;padding-inline-start:var(--space-1)}}.b64__decode-note{align-self:center}@media(pointer:coarse){.b64__tools .ui-button,.b64__file-card .ui-button,.b64__actions .ui-button,.b64__suggest .ui-button,.b64 .ui-segmented--sm .ui-segmented__label,.b64__option{min-block-size:2.75rem}}@media(max-width:29.999em){.b64__options,.b64__opts{gap:var(--space-1) var(--space-3)}.b64__options{padding-block:var(--space-1)}.b64__pane{gap:var(--space-1);padding-block:var(--space-1)}.b64__below{min-block-size:calc(var(--font-size-xs) * var(--line-height-normal) * 2)}.b64__pane-head{min-block-size:0}.b64__pad{flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:var(--space-3)}.b64__pad .b64__note{flex:1 1 11rem}.b64__group-label{flex:none;inline-size:4.25rem}}@media(max-width:24em){.b64__below{min-block-size:calc(var(--font-size-xs) * var(--line-height-normal) * 3)}}@media(pointer:coarse)and (min-width:24.001em)and (max-width:29.999em){.b64__suggest{margin-block:calc((var(--font-size-xs) * var(--line-height-normal) * 2 - 2.75rem) / 2)}}.cc{display:flex;flex-direction:column;gap:var(--space-6);min-inline-size:0}.cc__card{min-inline-size:0}.cc__input{display:flex;flex-direction:column;gap:var(--space-2);min-inline-size:0;padding:var(--space-3) var(--space-4) var(--space-4)}.cc__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);min-block-size:var(--control-height-sm)}.cc__title{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);color:var(--color-text);overflow-wrap:anywhere}.cc__title label{cursor:pointer}.cc__note{margin:0;font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--color-text-muted);overflow-wrap:anywhere}.cc__counts{margin:0;font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.cc__jump,.cc__fold{min-inline-size:0}.cc__fold-summary{display:flex;align-items:center;gap:var(--space-2);min-block-size:var(--control-height-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-accent);cursor:pointer;list-style:none}.cc__fold-summary::-webkit-details-marker{display:none}.cc__fold-summary:before{content:"";flex:none;inline-size:.5rem;block-size:.5rem;border-inline-end:2px solid currentcolor;border-block-end:2px solid currentcolor;transform:translateY(-.125rem) rotate(-45deg)}.cc__fold[open]>.cc__fold-summary:before{transform:translateY(-.125rem) rotate(45deg)}.cc__fold-summary--title{color:var(--color-text)}.cc__jump-list{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);min-inline-size:0;margin:0;padding:0;list-style:none}.cc__jump-link{display:inline-block;padding-block:var(--space-1);font-size:var(--font-size-sm);color:var(--color-accent);overflow-wrap:anywhere}@media(min-width:48em){.cc__jump{display:none}}.cc__out{scroll-margin-block-start:var(--space-4)}.cc__copy{min-inline-size:6rem}.cc__about{min-inline-size:0;max-inline-size:48rem;font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text);overflow-wrap:anywhere}.cc__about-body{display:flex;flex-direction:column;gap:var(--space-2);min-inline-size:0}.cc__about p{margin:0}.cc__about-title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug)}.cc__about-head{margin:var(--space-3) 0 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug)}.cc__option{display:inline-flex;align-items:center;align-self:flex-start;gap:var(--space-2);min-block-size:var(--control-height-sm);font-size:var(--font-size-sm);line-height:var(--line-height-snug);color:var(--color-text);cursor:pointer}.cc__checkbox{flex:none;inline-size:1.125rem;block-size:1.125rem;margin:0;accent-color:var(--color-accent);cursor:pointer}.cc__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4)}@media(min-width:48em){.cc__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:72em){.cc__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.cc__out{display:flex;flex-direction:column;gap:var(--space-2);min-inline-size:0;padding:var(--space-3) var(--space-4) var(--space-4)}.cc__text{display:block;box-sizing:border-box;inline-size:100%;min-inline-size:0;margin:0;padding:var(--space-2) var(--space-3);font-family:var(--font-mono);font-size:var(--font-size-control);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);resize:vertical;overflow-wrap:anywhere;block-size:10rem;min-block-size:5rem}.cc__text--result{flex:1 1 6rem;block-size:6rem;background-color:var(--color-surface-sunken)}@media(max-width:47.99em){.cc__input .cc__text{block-size:6rem}.cc__text--result{flex:0 0 auto;block-size:3.25rem;min-block-size:2.75rem}@supports (field-sizing: content){.cc__text--result{field-sizing:content;block-size:auto;max-block-size:8rem}}}.cc__text::placeholder{color:var(--color-text-muted);opacity:1}.cc__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.cc__status{flex:1 1 6rem;min-inline-size:0;min-block-size:calc(var(--font-size-xs) * var(--line-height-normal));margin:0;font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--color-text-muted);overflow-wrap:anywhere}.bsg{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-6);min-inline-size:0}@media(min-width:64em){.bsg{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}@media(min-width:64em)and (min-height:40em){.bsg>.bsg__side--preview{position:sticky;inset-block-start:var(--space-4);--bsg-stage-size: clamp(9rem, calc(100svh - 33rem) , 24rem);--bsg-box-size: min(12rem, calc(var(--bsg-stage-size) - 3rem))}.bsg__side--preview .bsg__code{max-block-size:11rem;overflow:auto}}@media(max-width:63.99em)and (min-height:42em){.bsg{display:flex;flex-direction:column}.bsg>.bsg__side--preview{display:contents}.bsg__card--preview{position:sticky;inset-block-start:0;z-index:1;--bsg-stage-size: 9rem;--bsg-box-size: 5.5rem}.bsg__card--preview .bsg__head{padding-block:var(--space-2)}.bsg__card--preview .bsg__stage{padding:var(--space-3)}.bsg__card--preview .bsg__foot{display:none}html:has(.bsg__card--preview){scroll-padding-block-start:14rem}}.bsg__side{display:flex;flex-direction:column;gap:var(--space-6);min-inline-size:0}.bsg__card{min-inline-size:0}.bsg__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);border-block-end:1px solid var(--color-border-subtle);min-block-size:var(--control-height-sm);min-inline-size:0}.bsg__title{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);color:var(--color-text)}.bsg__tools{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.bsg__foot{padding:var(--space-2) var(--space-4);border-block-start:1px solid var(--color-border-subtle)}.bsg__body{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3) var(--space-4) var(--space-4);min-inline-size:0}.bsg__note{margin:0;font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--color-text-muted);overflow-wrap:anywhere}.bsg__stage{display:grid;place-items:center;box-sizing:border-box;block-size:var(--bsg-stage-size, 24rem);padding:var(--space-6);border-end-start-radius:calc(var(--radius-lg) - 1px);border-end-end-radius:calc(var(--radius-lg) - 1px);overflow:hidden;container-type:size;min-inline-size:0}.bsg__stage--light{background-color:#e2e8f0}.bsg__stage--dark{background-color:#64748b}.bsg__box{inline-size:var(--bsg-box-size, 12rem);block-size:var(--bsg-box-size, 12rem);inline-size:min(var(--bsg-box-size, 12rem),100cqmin);block-size:min(var(--bsg-box-size, 12rem),100cqmin)}.bsg__stage--light .bsg__box{background-color:#fff}.bsg__stage--dark .bsg__box{background-color:#334155}.bsg__out{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-4);min-inline-size:0}.bsg__code{margin:0;padding:var(--space-3);font-family:var(--font-mono);font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-code-text);background-color:var(--color-code-bg);border-radius:var(--radius-md);white-space:pre;overflow-x:auto;min-inline-size:0}.bsg__code:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.bsg__feedback{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-3);min-inline-size:0}.bsg__feedback .bsg__status{flex:1 1 auto}.bsg__status{margin:0;min-block-size:calc(var(--font-size-xs) * var(--line-height-normal));font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--color-text-muted);overflow-wrap:anywhere}.bsg__layers{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.bsg__layer{display:flex;flex-direction:column;gap:var(--space-1);inline-size:100%;box-sizing:border-box;padding:var(--space-2) var(--space-3);font:inherit;text-align:start;color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;min-inline-size:0}.bsg__layer:hover{background-color:var(--color-surface-hover)}.bsg__layer[aria-pressed=true]{background-color:var(--color-accent-subtle);border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.bsg__layer-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug)}.bsg__layer-sum{font-family:var(--font-mono);font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--color-text-muted);overflow-wrap:anywhere}.bsg__layer[aria-pressed=true] .bsg__layer-sum{color:var(--color-text)}.bsg__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,5rem) 1.5rem;align-items:center;gap:var(--space-1) var(--space-3);min-inline-size:0}.bsg__label{grid-column:1 / -1;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);color:var(--color-text)}.bsg__range{appearance:none;box-sizing:border-box;inline-size:100%;min-inline-size:0;block-size:1.75rem;margin:0;padding:0;background:transparent;cursor:pointer}.bsg__range::-webkit-slider-runnable-track{block-size:.5rem;background-color:var(--color-surface-active);border:1px solid var(--color-border);border-radius:var(--radius-full)}.bsg__range::-moz-range-track{block-size:.5rem;background-color:var(--color-surface-active);border:1px solid var(--color-border);border-radius:var(--radius-full)}.bsg__range::-webkit-slider-thumb{appearance:none;inline-size:1.5rem;block-size:1.5rem;margin-block-start:-.5rem;background-color:var(--color-accent);border:2px solid var(--color-surface);border-radius:var(--radius-full);box-shadow:0 0 0 1px var(--color-accent)}.bsg__range::-moz-range-thumb{inline-size:1.5rem;block-size:1.5rem;box-sizing:border-box;background-color:var(--color-accent);border:2px solid var(--color-surface);border-radius:var(--radius-full);box-shadow:0 0 0 1px var(--color-accent)}.bsg__range:focus-visible,.bsg__number:focus-visible,.bsg__hex:focus-visible,.bsg__picker:focus-visible,.bsg__checkbox:focus-visible,.bsg__layer:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.bsg__number,.bsg__hex{box-sizing:border-box;min-inline-size:0;block-size:var(--control-height-md);margin:0;padding:0 var(--space-2);font-family:var(--font-mono);font-size:var(--font-size-control);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.bsg__number{inline-size:100%}.bsg__unit{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-muted)}.bsg .ui-button[aria-disabled=true]{border-style:solid;border-color:var(--color-border-subtle);background-color:var(--color-surface-sunken);color:var(--color-text-muted);cursor:not-allowed}.bsg__hex{flex:1 1 6rem}.bsg__hex--invalid{border-color:var(--color-danger)}.bsg__color{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-3);min-inline-size:0}.bsg__color .bsg__label{flex:1 1 100%}.bsg__picker{flex:none;box-sizing:border-box;inline-size:2.75rem;block-size:var(--control-height-md);margin:0;padding:.125rem;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer}.bsg__check{display:inline-flex;align-items:center;gap:var(--space-2);min-block-size:var(--control-height-sm);font-size:var(--font-size-sm);line-height:var(--line-height-snug);color:var(--color-text);cursor:pointer}.bsg__checkbox{flex:none;inline-size:1.125rem;block-size:1.125rem;margin:0;accent-color:var(--color-accent);cursor:pointer}.bsg__error{flex:1 1 100%;margin:0;font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--color-danger);overflow-wrap:anywhere}.ccc{display:flex;flex-direction:column;gap:var(--space-3);min-inline-size:0}.ccc__card{min-inline-size:0}@media(min-width:80em){.ccc{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;gap:var(--space-4)}.ccc__card--wide,.ccc__privacy,.ccc__notes{grid-column:1 / -1}.ccc{grid-template-rows:auto auto 1fr auto auto}.ccc__card--results{grid-column:1;grid-row:2}.ccc__card--sliders{grid-column:1;grid-row:3}.ccc__card--suggestions{grid-column:2;grid-row:2 / 4}}.ccc__colours{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);padding:var(--space-2) var(--space-4) 0;min-inline-size:0}.ccc__field{display:contents}@media(max-width:47.99em){.ccc__colours>:nth-child(2){order:5;flex:0 1 auto;align-self:flex-start;max-inline-size:100%;min-block-size:2.75rem;line-height:var(--line-height-snug)}.ccc__colours>:nth-child(1)>:nth-child(1),.ccc__colours>:nth-child(1)>:nth-child(2),.ccc__colours>:nth-child(1)>:nth-child(3),.ccc__colours>:nth-child(3)>:nth-child(2),.ccc__colours>:nth-child(3)>:nth-child(3){flex:0 0 100%;min-inline-size:0}.ccc__colours>:nth-child(1)>:nth-child(1){order:1}.ccc__colours>:nth-child(1)>:nth-child(2){order:2}.ccc__colours>:nth-child(1)>:nth-child(3){order:3}.ccc__colours>:nth-child(3)>:nth-child(1){order:4;flex:1 1 0;min-inline-size:min(8rem,100%)}.ccc__colours>:nth-child(3)>:nth-child(2){order:6}.ccc__colours>:nth-child(3)>:nth-child(3){order:7}}@media(min-width:48em){.ccc__colours{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-areas:"fg swap bg";column-gap:var(--space-1);align-items:start;padding:var(--space-4) var(--space-4) 0}.ccc__colours>:nth-child(1){grid-area:fg}.ccc__colours>:nth-child(2){grid-area:swap;align-self:start;min-block-size:2.75rem;margin-block:calc(var(--font-size-sm) * var(--line-height-snug) + var(--space-1) - .125rem) 0;line-height:var(--line-height-snug);white-space:nowrap}.ccc__colours>:nth-child(3){grid-area:bg}.ccc__field{display:flex;flex-direction:column;gap:var(--space-1);min-inline-size:0}}.ccc__label-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:0 var(--space-3);min-inline-size:0}.ccc__label,.ccc__title{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);color:var(--color-text)}.ccc__inputs{display:flex;flex-wrap:wrap;gap:var(--space-2);min-inline-size:0}.ccc__hex-input{flex:1 1 auto;box-sizing:border-box;inline-size:100%;min-inline-size:0;min-block-size:var(--control-height-md);padding:var(--space-2) min(var(--space-3),12px);font-family:var(--font-mono);font-size:var(--font-size-control);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.ccc__inputs>.ccc__hex-input{flex:1 1 8rem;inline-size:8rem}.ccc__hex-input--invalid{border-color:var(--color-danger);box-shadow:inset 0 0 0 1px var(--color-danger)}@media(forced-colors:active){.ccc__hex-input--invalid{border-width:3px;border-style:double}}.ccc__picker:disabled{cursor:not-allowed;opacity:.4}.ccc__copy{flex:none;min-block-size:var(--control-height-md)}.ccc__copy-text{display:none}@media(min-width:48em){.ccc__copy-text{display:inline-block}.ccc__copy-text:after{content:"Copied";display:block;block-size:0;overflow:hidden;visibility:hidden}}.ccc__picker-wrap{position:relative;display:inline-flex;flex:none}.ccc__picker-swatch{position:absolute;inset:calc(var(--space-1) + 1px);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px #0000004d;background-repeat:no-repeat,no-repeat,repeat;pointer-events:none;forced-color-adjust:none}.ccc__picker{flex:none;box-sizing:border-box;inline-size:var(--control-height-md);block-size:var(--control-height-md);padding:var(--space-1);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer}.ccc__error{margin:0;font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--color-danger);overflow-wrap:anywhere}.ccc__error--block{font-size:var(--font-size-sm)}.ccc__note{margin:0;font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--color-text-muted);overflow-wrap:anywhere}.ccc__field-error{min-block-size:calc(var(--font-size-xs) * var(--line-height-normal))}@media(max-width:23.2em){.ccc__field-error{min-block-size:calc(2 * var(--font-size-xs) * var(--line-height-normal))}}.ccc__section{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3) var(--space-4) var(--space-4);min-inline-size:0}.ccc__top{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3);min-inline-size:0}@media(max-width:47.99em){.ccc{gap:var(--space-2)}.ccc__colours{row-gap:.125rem}.ccc__hint{line-height:var(--line-height-snug)}.ccc__inputs>.ccc__hex-input{padding-block:5px;line-height:1.25}.ccc__card--results .ccc__section{padding-block-start:var(--space-2)}.ccc__check{line-height:1.25}}.ccc__results{min-block-size:13.25rem;min-inline-size:0;overflow-anchor:none}@media(max-width:25.8em){.ccc__results{min-block-size:14.35rem}}@media(max-width:24.75em){.ccc__results{min-block-size:15.35rem}}@media(max-width:23.4em){.ccc__results{min-block-size:16.85rem}}@media(max-width:21.5em){.ccc__results{min-block-size:17.95rem}}@media(max-width:20.85em){.ccc__results{min-block-size:19.35rem}}@media(min-width:48em)and (max-width:50.99em){.ccc__results{min-block-size:15.9rem}}@media(min-width:51em)and (max-width:79.99em){.ccc__results{min-block-size:14.4rem}}.ccc__jump-slot{min-block-size:2.25rem;padding-block-start:var(--space-1)}.ccc__mini{display:none;flex-direction:column;gap:var(--space-2);align-self:start;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);forced-color-adjust:none;overflow-wrap:anywhere;min-inline-size:0}.ccc__mini--idle{visibility:hidden}.ccc__mini p{margin:0}.ccc__mini-normal{font-size:16px}.ccc__mini-large{font-size:24px}@media(min-width:48em){.ccc__mini{display:flex}}@media(min-width:48em)and (max-width:79.99em){.ccc__top{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-6)}}@media(min-width:80em){.ccc__top{grid-template-columns:minmax(0,1fr) minmax(0,min(12.5rem,200px));gap:var(--space-4)}}.ccc__headline{container-type:inline-size;min-block-size:2.75rem;display:flex;flex-wrap:wrap;align-items:center;align-content:flex-start;gap:var(--space-1) var(--space-3)}.ccc__overall{flex:1 1 8rem;margin:0;font-size:var(--font-size-sm);color:var(--color-text)}.ccc__alpha-note{flex:0 0 100%;line-height:var(--line-height-snug)}.ccc__title--hidden{position:absolute;inline-size:1px;block-size:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.ccc__ratio{margin:0;font-size:min(var(--font-size-3xl),22cqi);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text);white-space:nowrap}.ccc__dash{margin:0;font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-muted)}.ccc__checks{display:flex;flex-direction:column;max-inline-size:36rem;margin:0;padding:0;list-style:none}.ccc__check{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-1) var(--space-3);padding-block:0;font-size:var(--font-size-sm);color:var(--color-text);border-block-start:1px solid var(--color-border-subtle);min-inline-size:0}.ccc__verdict{display:inline-flex;align-items:center;gap:var(--space-1);font-weight:var(--font-weight-semibold)}.ccc__verdict--pass{color:var(--color-success)}.ccc__verdict--fail{color:var(--color-danger)}.ccc__preview{position:relative;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);min-inline-size:0;overflow-wrap:anywhere}.ccc__samples{display:flex;flex-direction:column;gap:var(--space-3);min-inline-size:0}.ccc__preview--idle .ccc__samples{visibility:hidden}.ccc__preview-note{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:var(--space-4);text-align:center}.ccc__sample{margin:0}.ccc__sample--normal{font-size:16px}.ccc__sample--large{font-size:24px}.ccc__sample--bold{font-size:14pt;font-weight:700}.ccc__sample--ui{display:flex;align-items:center;gap:var(--space-3);font-size:16px}.ccc__preview,.ccc__swatch{forced-color-adjust:none}.ccc__ui-box{display:inline-flex;flex:none;padding:var(--space-2);border:3px solid currentColor;border-radius:var(--radius-md)}.ccc__suggestions{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4)}@media(min-width:48em){.ccc__suggestions{grid-template-columns:repeat(2,minmax(0,1fr))}}.ccc__suggestion{display:flex;flex-direction:column;gap:var(--space-2);min-inline-size:0;min-block-size:9.2rem}@media(min-width:80em){.ccc__suggestion{min-block-size:10.3rem}}.ccc__suggestion-title{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text)}.ccc__suggestion-body{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);min-inline-size:0}.ccc__swatch{flex:none;inline-size:2rem;block-size:2rem;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.ccc__hex{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text)}.ccc__swatch--inline{display:inline-block;inline-size:1rem;block-size:1rem;vertical-align:text-bottom}.ccc__jump{align-self:flex-start}@media(max-width:20.6em){.ccc__headline{min-block-size:4.25rem}}.ccc__painted{min-inline-size:0}.ccc__target{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);min-inline-size:0;max-inline-size:100%}.ccc .ui-segmented{display:flex;flex-wrap:wrap;overflow:visible}.ccc__chip{display:flex;flex-direction:column;align-items:center;line-height:var(--line-height-snug);text-align:center}.ccc__chip-ratio{font-weight:var(--font-weight-semibold)}.ccc__chip-note{font-size:var(--font-size-xs)}.ccc__sliders,.ccc__slider,.ccc__sample-field{display:flex;flex-direction:column;gap:var(--space-2);min-inline-size:0}.ccc__readout{margin:0;font-size:var(--font-size-sm);line-height:var(--line-height-snug);color:var(--color-text);overflow-wrap:anywhere}.ccc__readout-ratio{font-weight:var(--font-weight-semibold)}.ccc__slider-row{display:flex;align-items:center;gap:var(--space-3);min-inline-size:0}.ccc__range{touch-action:pan-y;flex:1 1 auto;min-inline-size:0;min-block-size:var(--control-height-md);margin:0;appearance:none;background:transparent;cursor:pointer}.ccc__range::-webkit-slider-runnable-track{block-size:.75rem;border:1px solid var(--color-border);border-radius:999px;background:var(--ccc-track, var(--color-surface-sunken))}.ccc__range::-moz-range-track{block-size:.75rem;border:1px solid var(--color-border);border-radius:999px;background:var(--ccc-track, var(--color-surface-sunken))}.ccc__range::-webkit-slider-thumb{appearance:none;inline-size:1.5rem;block-size:1.5rem;margin-block-start:calc(-.375rem - 1px);border:2px solid var(--color-surface);border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 1px var(--color-border)}.ccc__range::-moz-range-thumb{inline-size:1.5rem;block-size:1.5rem;box-sizing:border-box;border:2px solid var(--color-surface);border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 1px var(--color-border)}.ccc__range:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset)}.ccc__range:disabled{cursor:not-allowed;opacity:.5}@media(forced-colors:active){.ccc__range{appearance:auto}.ccc__picker:focus-visible{outline-color:Highlight}}.ccc__slider-value{flex:none;min-inline-size:3.5rem;text-align:end;font-variant-numeric:tabular-nums}.ccc__sample-input{font-family:inherit}.ccc__privacy{padding-inline:var(--space-1)}.ccc__notes{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-5);padding-inline:var(--space-1);min-inline-size:0}@media(min-width:48em){.ccc__notes{grid-template-columns:repeat(3,minmax(0,1fr))}}.ccc__notes h2{margin-block:0 var(--space-2);font-size:var(--font-size-md)}.ccc__notes p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted);overflow-wrap:anywhere}.lks{display:flex;flex-direction:column;gap:var(--space-3);align-items:center}.lks__stage{position:relative;width:100%;max-width:30rem;aspect-ratio:100 / 160;border-radius:var(--radius-md);overflow:hidden;background:#f4f4f2}.lks__canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}.lks__canvas:focus-visible{outline:var(--focus-ring-width, 3px) solid var(--color-focus);outline-offset:-3px}.lks__chrome{position:absolute;inset:var(--space-2) var(--space-2) auto;display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2);pointer-events:none;z-index:2}.lks__stats{display:flex;gap:var(--space-3);align-items:flex-start}.lks__stat{display:flex;flex-direction:column;line-height:var(--line-height-flat);margin:0}.lks__stat-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase;color:#6b6f76}.lks__stat-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;color:#23262b}.lks__stat--minor .lks__stat-value{font-size:var(--font-size-md, 1rem)}.lks__stat--coins .lks__stat-label{color:#1c9436}.lks__stat--power .lks__stat-label{color:#2f6fd8}.lks__hint{margin:0;max-width:14rem;text-align:right;font-size:var(--font-size-xs);color:#6b6f76}.lks__cue{display:none;position:absolute;left:0;right:0;bottom:1.25rem;margin:0;text-align:center;font-size:var(--font-size-sm);color:#6b6f76;pointer-events:none}@media(max-width:26rem){.lks__hint{display:none}.lks__cue{display:block}}.lks__loading{position:absolute;inset:0;display:grid;place-items:center;margin:0;font-size:var(--font-size-sm);color:#6b6f76}.lks__over{position:absolute;inset:0;display:grid;place-content:center;gap:var(--space-2);text-align:center;padding:var(--space-4);background:#f4f4f2eb;z-index:3}.lks__over-title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:#23262b}.lks__over-score{margin:0;font-size:var(--font-size-xxl, 2.5rem);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;line-height:var(--line-height-flat);color:#23262b}.lks__again{justify-self:center;min-block-size:44px;min-inline-size:44px;padding:var(--space-2) var(--space-4);border:0;border-radius:var(--radius-sm);background:#23262b;color:#f4f4f2;font:inherit;font-weight:var(--font-weight-semibold);cursor:pointer}.lks__again:hover{background:#4a4a4a}.lks__over-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2)}.lks__peek{min-block-size:44px;min-inline-size:44px;padding:var(--space-2) var(--space-4);border:1px solid #23262b;border-radius:var(--radius-sm);background:#f4f4f2;color:#23262b;font:inherit;font-weight:var(--font-weight-semibold);cursor:pointer}.lks__peek:hover{background:#e4e4e0}.lks__peekbar{position:absolute;left:0;right:0;bottom:var(--space-3);display:flex;justify-content:center;gap:var(--space-2);pointer-events:none}.lks__peekbar>*{pointer-events:auto}.lks__credit{margin:var(--space-2) 0 0;font-size:var(--font-size-xs);color:#6b6f76}.lks__live{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){.lks__again{transition:none}}.cc{--cc-cell-ink: #0b1020;--cc-cell-line: color-mix(in srgb, var(--color-text) 32%, transparent);--cc-cell-selected: color-mix(in srgb, var(--color-accent) 16%, var(--color-surface));--cc-cell-conflict: color-mix(in srgb, var(--color-danger) 15%, var(--color-surface));--cc-cell-mark: color-mix(in srgb, var(--cc-cell-ink) 88%, transparent);--cc-cell-mark-ink: var(--cc-cell-ink);--cc-auto-mark-opacity: .8;--cc-boundary-width: 3px;--cc-boundary-color: var(--color-text);--cc-focus-ring: #0b1020;--cc-focus-halo: #ffffff;--cc-conflict-stripe: color-mix(in srgb, var(--color-danger) 15%, #000);--cc-cell-floor: 40px;--cc-cell-min: 24px;--cc-vh: 100vh;--cc-above: 37.2rem;--cc-board-cap: min(38rem, calc(100vw - 2rem) );--cc-region-1: #e78fae;--cc-region-2: #f29a6b;--cc-region-3: #e5bd3e;--cc-region-4: #a9c94f;--cc-region-5: #58b878;--cc-region-6: #3bb6aa;--cc-region-7: #45b9d1;--cc-region-8: #6aa9e8;--cc-region-9: #8b83d5;--cc-region-10: #ba78c7;--cc-region-11: #a98a76;--cc-region-12: #e36b63;--cc-region-13: #687acb;--cc-region-14: #d36aa5;--cc-region-15: #a774cc;display:grid;gap:.25rem;inline-size:100%}@supports (block-size: 100dvh){.cc{--cc-vh: 100dvh}}.cc__summary{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);align-items:center;justify-content:space-between;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.3}.cc__summary strong{color:var(--color-text);margin-inline-end:.25rem}.cc-target-status{display:flex;min-block-size:2.05rem;align-items:center;margin:0;padding-inline:.375rem;border-inline-start:3px solid var(--color-border-subtle);color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.35;overflow:hidden}.cc-target-status.is-pending [role=status]{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.cc-target-status.is-warning{border-inline-start-color:var(--color-warning);color:var(--color-text)}.cc-win-focus:focus{outline:3px solid var(--color-success);outline-offset:4px}.cc-win-card{border:2px solid var(--color-success);background:color-mix(in srgb,var(--color-success) 18%,var(--color-surface));box-shadow:0 8px 24px color-mix(in srgb,var(--color-success) 22%,transparent)}.cc-panel--win{display:grid;gap:var(--space-2)}.cc-panel--win .cc-panel__title{font-size:var(--font-size-xl)}.cc-win-card .cc-panel__eyebrow{color:color-mix(in srgb,var(--color-accent) 60%,var(--color-text))}.cc-dialog-backdrop{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:var(--space-4);touch-action:none;background:color-mix(in srgb,var(--color-text) 55%,transparent)}.cc-dialog{display:grid;gap:var(--space-3);inline-size:min(100%,26rem);padding:var(--space-5);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:0 18px 50px color-mix(in srgb,var(--color-text) 28%,transparent)}.cc-dialog__title{margin:0}.cc-dialog__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.cc-controls{display:flex;flex-direction:column;gap:.375rem}.cc-controls__settings,.cc-controls__buttons{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.cc-controls__settings{justify-content:space-between;column-gap:.375rem}.cc-controls__buttons{row-gap:.25rem}.cc-controls__buttons .ui-button{flex:1 1 auto;min-block-size:2rem;padding-block:var(--space-1);padding-inline:var(--space-2)}.cc-field{display:flex;align-items:center;gap:var(--space-1);min-inline-size:0}.cc-field__label{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:700;inline-size:min-content;line-height:1.15}.cc-field .ui-select{inline-size:5.75rem}.cc-field .ui-select__control{padding-inline-start:var(--space-2);padding-inline-end:calc(.375rem + var(--icon-size-md) + 2px)}.cc-field .ui-select__icon{inset-inline-end:.375rem}.cc-field--target .ui-segmented{gap:2px}.cc-field--target .ui-segmented__label{padding-inline:var(--space-2)}.cc-help{margin:0;color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.6}.cc-help--board,.cc-help--keys{text-align:center}.cc-hints{order:1}.cc-panel--error,.cc-win-focus{order:2}.cc__unsaved{color:var(--color-danger);font-weight:700}.cc-board-frame{position:relative;inline-size:min(100%,var(--cc-board-cap));margin-inline:auto;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain}.cc-board{display:grid;grid-template-columns:repeat(var(--cc-size),minmax(0,1fr));inline-size:max(100%,calc(var(--cc-size) * var(--cc-cell-min) + 7px));aspect-ratio:1;overflow:hidden;container-type:inline-size;border:3px solid var(--color-text);background:var(--color-surface)}.cc-row{display:contents}.cc-cell{position:relative;display:grid;place-items:center;min-inline-size:0;min-block-size:0;aspect-ratio:1;box-sizing:border-box;border:0;--cc-line-top-width: 1px;--cc-line-left-width: 1px;--cc-line-top-color: var(--cc-cell-line);--cc-line-left-color: var(--cc-cell-line);color:var(--cc-cell-ink);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.cc-cell:before{content:"";position:absolute;z-index:0;inset:0;box-sizing:border-box;pointer-events:none;border-top:var(--cc-line-top-width) solid var(--cc-line-top-color);border-left:var(--cc-line-left-width) solid var(--cc-line-left-color)}.cc-cell[data-boundary-top=true]{--cc-line-top-width: var(--cc-boundary-width);--cc-line-top-color: var(--cc-boundary-color)}.cc-cell[data-boundary-left=true]{--cc-line-left-width: var(--cc-boundary-width);--cc-line-left-color: var(--cc-boundary-color)}.cc-cell[data-region="1"]{background:var(--cc-region-1)}.cc-cell[data-region="2"]{background:var(--cc-region-2)}.cc-cell[data-region="3"]{background:var(--cc-region-3)}.cc-cell[data-region="4"]{background:var(--cc-region-4)}.cc-cell[data-region="5"]{background:var(--cc-region-5)}.cc-cell[data-region="6"]{background:var(--cc-region-6)}.cc-cell[data-region="7"]{background:var(--cc-region-7)}.cc-cell[data-region="8"]{background:var(--cc-region-8)}.cc-cell[data-region="9"]{background:var(--cc-region-9)}.cc-cell[data-region="10"]{background:var(--cc-region-10)}.cc-cell[data-region="11"]{background:var(--cc-region-11)}.cc-cell[data-region="12"]{background:var(--cc-region-12)}.cc-cell[data-region="13"]{background:var(--cc-region-13)}.cc-cell[data-region="14"]{background:var(--cc-region-14)}.cc-cell[data-region="15"]{background:var(--cc-region-15)}.cc-cell[data-region="0"]{background:var(--color-surface)}.cc-cell__mark{position:relative;z-index:1;font-size:.9rem;font-size:max(.9rem,calc(100cqw / var(--cc-size) * .5));font-weight:800;line-height:1}.cc-cell.is-queen .cc-cell__mark:before{content:"Q"}.cc-cell.is-mark:not(.is-queen) .cc-cell__mark:before{content:"×"}.cc-cell.is-queen .cc-cell__mark{color:var(--cc-cell-ink);font-size:1rem;font-size:max(1rem,calc(100cqw / var(--cc-size) * .6))}.cc-cell.is-mark:not(.is-queen) .cc-cell__mark{color:var(--cc-cell-mark-ink);font-weight:700}.cc-cell.is-auto-mark:not(.is-queen) .cc-cell__mark{font-weight:500;opacity:var(--cc-auto-mark-opacity)}.cc-cell.is-selected{z-index:2;outline:3px solid var(--cc-focus-ring);outline-offset:-3px;box-shadow:inset 0 0 0 5px var(--cc-focus-halo)}.cc-cell.is-conflict{--cc-conflict-hatch: var(--cc-conflict-stripe)}.cc-cell.is-conflict:after{content:"";position:absolute;z-index:0;inset:0;box-sizing:border-box;padding:4px;padding:max(4px,calc(100cqw / var(--cc-size) * .14));pointer-events:none;background-image:repeating-linear-gradient(135deg,transparent 0 3px,var(--cc-conflict-hatch) 3px 5px);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.cc-cell:focus-visible{z-index:3;outline:3px solid var(--cc-focus-ring);outline-offset:-3px;box-shadow:inset 0 0 0 5px var(--cc-focus-halo)}.cc-panel{display:grid;gap:var(--space-2)}.cc-panel__title,.cc-panel__eyebrow{margin:0}.cc-panel__eyebrow{color:var(--color-accent);font-size:var(--font-size-sm);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.cc-panel__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.cc-panel--error{border-color:var(--color-danger)}.cc-stats{display:flex;flex-wrap:wrap;gap:var(--space-4);margin:0}.cc-stats div{display:grid;gap:var(--space-1)}.cc-stats dt{color:var(--color-text-muted);font-size:var(--font-size-xs)}.cc-stats dd{margin:0;color:var(--color-text);font-size:var(--font-size-lg);font-weight:800}.cc-visually-hidden,.cc-live{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}@media(min-width:40rem){.cc{gap:var(--space-3);--cc-board-cap: min( 38rem, max(calc(var(--cc-size) * var(--cc-cell-floor) + 6px), calc(var(--cc-vh) - var(--cc-above))) )}.cc-target-status{padding-inline:var(--space-3)}.cc-controls{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface)}.cc-controls__buttons{flex:1 1 auto;justify-content:flex-end;row-gap:var(--space-2)}.cc-controls__buttons .ui-button{flex:0 0 auto;min-block-size:var(--control-height-md);padding-block:var(--space-2);padding-inline:var(--control-padding-md)}.cc-field__label{inline-size:auto;line-height:normal;white-space:nowrap}.cc-controls__settings{column-gap:var(--space-3)}.cc-field{gap:var(--space-2)}.cc-field--target .ui-segmented{gap:var(--space-1)}.cc-field--target .ui-segmented__label{padding-inline:var(--space-3)}.cc-field .ui-select{inline-size:7rem}.cc-field .ui-select__control{padding-inline-start:var(--control-padding-md);padding-inline-end:calc(var(--control-padding-md) + var(--icon-size-md) + var(--space-2))}.cc-field .ui-select__icon{inset-inline-end:var(--control-padding-md)}.cc-hints{order:0}}@media(min-width:48rem){.cc{--cc-above: 34.2rem}}@media(min-width:68rem){.cc{--cc-above: 29.5rem}}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .cc{--cc-cell-ink: #0b1020;--cc-cell-selected: color-mix(in srgb, var(--color-accent) 30%, var(--color-surface));--cc-cell-conflict: color-mix(in srgb, var(--color-danger) 30%, var(--color-surface));--cc-cell-mark: color-mix(in srgb, var(--cc-cell-ink) 88%, transparent);--cc-boundary-color: var(--cc-cell-ink)}}:root[data-theme=dark] .cc{--cc-cell-ink: #0b1020;--cc-cell-selected: color-mix(in srgb, var(--color-accent) 30%, var(--color-surface));--cc-cell-conflict: color-mix(in srgb, var(--color-danger) 30%, var(--color-surface));--cc-cell-mark: color-mix(in srgb, var(--cc-cell-ink) 88%, transparent);--cc-boundary-color: var(--cc-cell-ink)}@media(forced-colors:active){.cc-cell{border-color:CanvasText;forced-color-adjust:none;background:Canvas!important;color:CanvasText;--cc-line-top-color: GrayText;--cc-line-left-color: GrayText}.cc-cell[data-boundary-top=true]{--cc-line-top-color: CanvasText}.cc-cell[data-boundary-left=true]{--cc-line-left-color: CanvasText}.cc-cell.is-queen .cc-cell__mark,.cc-cell.is-mark:not(.is-queen) .cc-cell__mark{color:CanvasText}.cc-cell.is-selected,.cc-cell:focus-visible{outline:3px solid Highlight;box-shadow:none}.cc-cell.is-conflict{--cc-conflict-hatch: CanvasText}}@media(prefers-reduced-motion:reduce){.cc *,.cc *:before,.cc *:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.tng-page{display:flex;flex-direction:column;gap:var(--space-4);--tng-sun: var(--color-warning);--tng-moon: var(--color-info);--tng-sun-core: oklch(from var(--tng-sun) calc(l + (1 - l)*.55) calc(c*1.5) calc(h + 8) );--tng-mark: var(--color-text);--tng-line: var(--color-border);--tng-given-fill: color-mix(in srgb, var(--color-text) 8%, var(--color-surface));--tng-given-edge: var(--color-text);--tng-tray: var(--color-surface-sunken);--tng-broken: var(--color-danger);--tng-flag: var(--color-accent);--tng-frame-pad: var(--space-2);--tng-play-max: calc(28rem + 2 * var(--tng-frame-pad) + 2px)}.tng-page__heading{font-size:var(--font-size-lg)}.tng-page__help{color:var(--color-text-muted);max-width:60ch;margin-block-start:calc(-1 * var(--space-2))}.tng-noscript{margin:0;padding:var(--space-3);border:1px solid var(--color-warning);border-radius:var(--radius-md, 6px);background:var(--color-warning-subtle);color:var(--color-text);max-width:60ch}.tng-layout{display:grid;gap:var(--space-4);align-items:start}.tng-play,.tng-rail{display:flex;flex-direction:column;gap:var(--space-3);inline-size:min(100%,var(--tng-play-max));min-inline-size:0}@media(min-width:56rem){.tng-layout{grid-template-columns:var(--tng-play-max) minmax(16rem,28rem);column-gap:var(--space-7)}.tng-rail{inline-size:auto}}.tng-frame{padding:var(--tng-frame-pad);background:var(--tng-tray);border:1px solid var(--tng-line);border-radius:var(--radius-lg)}@media(max-width:30rem){.tng-page{--tng-frame-pad: .375rem}.tng-play{inline-size:100%}.tng-frame{margin-inline:calc(-1 * (var(--tng-frame-pad) + 1px))}}.tng-hint,.tng-meta,.tng-panel,.tng-win,.tng-error{display:flex;flex-direction:column;gap:var(--space-2)}.tng-hint__label{margin:0;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:var(--letter-spacing-snug);color:var(--color-text-muted)}.tng-hint{block-size:12rem}.tng-hint__body{margin:0;display:flex;flex-direction:column;gap:var(--space-1);flex:1 1 auto;min-block-size:0;overflow-y:auto;font-size:var(--font-size-sm)}.tng-hint__text,.tng-hint__where{margin:0}.tng-hint__where{font-weight:var(--font-weight-semibold)}.tng-hint__rule{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.tng-hint--false-premise,.tng-hint--rule-broken{border-color:color-mix(in srgb,var(--color-danger) 45%,transparent)}.tng-hint--solved .tng-hint__label{color:var(--color-success)}.tng-meta__line{margin:0;display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:baseline}.tng-meta__difficulty{font-weight:var(--font-weight-semibold);text-transform:capitalize;min-inline-size:3.5em}.tng-meta__detail,.tng-meta__line--origin{color:var(--color-text-muted);font-size:var(--font-size-sm)}.tng-meta__detail{font-variant-numeric:tabular-nums;min-inline-size:4.25em}.tng-meta__detail+.tng-meta__detail{min-inline-size:6.5em}.tng-controls{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.tng-controls .ui-button{flex:1 1 0;min-inline-size:max-content}.tng-play{container:tng-play / inline-size}@container tng-play (inline-size < 26rem){.tng-controls{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.tng-controls .ui-button{grid-column:span 2;min-inline-size:0}.tng-controls .tng-controls__new,.tng-controls .tng-controls__reset{grid-column:span 3}.tng-controls__text{grid-column:1 / -1}}.tng-controls .tng-controls__reset{color:var(--color-danger);border-color:var(--color-danger-border)}.tng-page .ui-button,.tng-page .ui-input{min-block-size:var(--control-height-lg)}.tng-controls .ui-button[aria-disabled=true]{border-style:solid;border-color:var(--color-border-subtle);background-color:var(--color-surface-sunken);color:var(--color-text-muted)}.tng-controls__text{display:grid;flex-basis:100%;min-block-size:calc(2 * var(--font-size-sm) * var(--line-height-normal))}.tng-controls__text>*{grid-area:1 / 1}.tng-controls__text:has(.tng-controls__note) .tng-controls__help{visibility:hidden}.tng-controls__note{margin:0;color:var(--color-danger);font-size:var(--font-size-sm)}.tng-controls__help{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.tng-controls__help-keys{display:none}@media(hover:hover)and (pointer:fine){.tng-controls__help-touch{display:none}.tng-controls__help-keys{display:inline}}.tng-summary{display:grid;min-block-size:14.5rem}.tng-summary>*{grid-area:1 / 1}.tng-summary:has(>.tng-win)>.tng-meta{visibility:hidden}:root[data-tng-restore=pending] .tng,:root[data-tng-restore=pending] .tng-summary{visibility:hidden}@media(min-width:56rem){.tng-summary{min-block-size:13rem}}.tng-panels{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}.tng-panel__title{margin:0;font-size:var(--font-size-md)}.tng-panel__note,.tng-rules__legend{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.tng-panel__form{display:flex;gap:var(--space-2);align-items:flex-start;flex-wrap:wrap}.tng-panel__field{flex:1 1 10rem}.tng-panel__form>.ui-button{margin-block-start:calc(var(--font-size-sm) * var(--line-height-snug) + var(--space-2))}.tng-panel__field .ui-field__messages{display:grid;grid-template-rows:auto minmax(calc(2 * var(--font-size-xs) * var(--line-height-normal)),auto);row-gap:var(--space-1)}.tng-rules__list{margin:0;padding-inline-start:1.25rem;display:flex;flex-direction:column;gap:var(--space-1)}.tng-win{border-color:color-mix(in srgb,var(--color-success) 45%,transparent)}.tng-win__title{margin:0;font-size:var(--font-size-md);color:var(--color-success)}.tng-win p{margin:0;font-size:var(--font-size-sm)}.tng-win__code{font-family:var(--font-mono)}@media(forced-colors:active){.tng-controls .ui-button[aria-disabled=true]{color:GrayText;border-color:GrayText}}.tng{position:relative;inline-size:min(100%,28rem);aspect-ratio:1;container-type:inline-size;--tng-gap-track: .375rem;--tng-cell-radius: 2px}@media(max-width:30rem){.tng{--tng-gap-track: .25rem}}.tng-grid,.tng-clues{display:grid;grid-template-columns:minmax(0,1fr) var(--tng-gap-track) minmax(0,1fr) var(--tng-gap-track) minmax(0,1fr) var(--tng-gap-track) minmax(0,1fr) var(--tng-gap-track) minmax(0,1fr) var(--tng-gap-track) minmax(0,1fr);grid-template-rows:minmax(0,1fr) var(--tng-gap-track) minmax(0,1fr) var(--tng-gap-track) minmax(0,1fr) var(--tng-gap-track) minmax(0,1fr) var(--tng-gap-track) minmax(0,1fr) var(--tng-gap-track) minmax(0,1fr);inline-size:100%;block-size:100%}.tng-grid{background:color-mix(in srgb,var(--color-border-subtle) 50%,var(--tng-tray))}.tng-clues{position:absolute;inset:0;pointer-events:none}.tng-row{display:contents}.tng-cell{appearance:none;margin:0;padding:0;border:1px solid var(--tng-line);border-radius:var(--tng-cell-radius);background:var(--color-surface);color:var(--tng-mark);display:grid;place-items:center;cursor:pointer;position:relative;touch-action:manipulation;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.tng-cell:hover:not(.is-given):not(.is-broken){background:color-mix(in srgb,var(--color-text) 6%,var(--color-surface))}.tng-cell:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px}.tng-cell.is-given{cursor:default;background:var(--tng-given-fill);border:2px solid var(--tng-given-edge)}.tng-cell__mark{display:block;inline-size:66%;aspect-ratio:1}.tng-cell__mark>svg,.tng-legend>svg{display:block;inline-size:100%;block-size:100%}.tng-cell.is-empty .tng-cell__mark{display:none}.tng-cell.is-sun{color:var(--tng-sun)}.tng-cell.is-moon{color:var(--tng-moon)}.tng-cell.is-broken{background:color-mix(in srgb,var(--color-danger) 18%,var(--color-surface));box-shadow:inset 0 0 0 2px var(--tng-broken)}.tng-cell.is-flagged{box-shadow:inset 0 0 0 5px var(--color-surface),inset 0 0 0 8px var(--tng-flag)}.tng-cell.is-flagged:after{content:"";position:absolute;inset:5px;border:3px dashed var(--color-surface);border-radius:2px;pointer-events:none}.tng-cell.is-broken.is-flagged{box-shadow:inset 0 0 0 2px var(--tng-broken),inset 0 0 0 5px var(--color-surface),inset 0 0 0 8px var(--tng-flag)}.tng.is-solved .tng-cell{background:color-mix(in srgb,var(--color-success) 12%,var(--color-surface));border-color:color-mix(in srgb,var(--color-success) 45%,transparent)}.tng-clue,.tng-legend[data-clue]{place-self:center;position:relative;flex:none}.tng-clue{display:block}.tng-clue{--tng-badge: clamp(.75rem, 4.4cqi, 1.125rem);inline-size:var(--tng-badge);block-size:var(--tng-badge);background:var(--color-surface);border-radius:50%;box-shadow:0 0 0 1px var(--tng-line);color:var(--tng-mark)}.tng-clue[data-clue=same]:before,.tng-clue[data-clue=same]:after,.tng-legend[data-clue=same]:before,.tng-legend[data-clue=same]:after{content:"";position:absolute;background:currentColor;inline-size:84%;block-size:2px;inset-inline-start:8%}.tng-clue[data-clue=same]:before,.tng-legend[data-clue=same]:before{inset-block-start:calc(50% - 3px)}.tng-clue[data-clue=same]:after,.tng-legend[data-clue=same]:after{inset-block-start:calc(50% + 1px)}.tng-clue[data-clue=different]:before,.tng-clue[data-clue=different]:after,.tng-legend[data-clue=different]:before,.tng-legend[data-clue=different]:after{content:"";position:absolute;background:currentColor;inset-block-start:calc(50% - 1px);inline-size:100%;block-size:2px;inset-inline-start:0}.tng-clue[data-clue=different]:before,.tng-legend[data-clue=different]:before{rotate:45deg}.tng-clue[data-clue=different]:after,.tng-legend[data-clue=different]:after{rotate:-45deg}.tng-legend{display:inline-block;vertical-align:-.2em;inline-size:1.125rem;block-size:1.125rem;color:var(--tng-mark, var(--color-text))}.tng-legend[data-cell=sun]{color:var(--tng-sun)}.tng-legend[data-cell=moon]{color:var(--tng-moon)}@supports (color: oklch(from red l c h)){[data-glyph=sun] circle{fill:var(--tng-sun-core);stroke:currentColor;stroke-width:1.25px}}@media(prefers-reduced-motion:no-preference){.tng-cell{transition:background-color .12s ease-out,box-shadow .12s ease-out}}@media(forced-colors:active){.tng,.tng-legend{forced-color-adjust:none;--tng-line: CanvasText;--tng-mark: CanvasText;--tng-given: CanvasText;--tng-given-edge: CanvasText;--tng-given-fill: Canvas;--tng-broken: CanvasText;--tng-flag: Highlight;--tng-sun: CanvasText;--tng-moon: CanvasText}.tng-cell{background:Canvas;color:CanvasText;border:1px solid CanvasText}.tng-cell:hover:not(.is-given):not(.is-broken),.tng.is-solved .tng-cell{background:Canvas;color:CanvasText}.tng-cell.is-given{background:Canvas;border:4px double CanvasText}.tng-cell.is-broken{background:Canvas;border-style:dashed;border-width:3px}.tng-cell.is-flagged,.tng-cell.is-broken.is-flagged{box-shadow:inset 0 0 0 4px var(--tng-flag)}.tng-cell.is-flagged:after{inset:0;border-width:4px;border-style:dotted;border-color:Canvas}.tng-cell:focus-visible{outline:3px solid CanvasText;outline-offset:2px}.tng-cell.is-sun,.tng-cell.is-moon,.tng-cell__mark>svg{color:CanvasText}.tng-clue{background:Canvas;border:1px solid CanvasText;box-shadow:none}.tng-grid{background:Canvas}[data-glyph=sun] circle{fill:CanvasText}.tng-clue[data-clue]:before,.tng-clue[data-clue]:after,.tng-legend[data-clue]:before,.tng-legend[data-clue]:after{forced-color-adjust:none;background:CanvasText}.tng-legend[data-cell=moon],.tng-legend[data-cell=sun]{color:CanvasText}}.md-page{max-width:64rem;margin-inline:auto}.md-layout{display:grid;gap:1.5rem;align-items:start;margin-block:1.25rem}.md-play{width:100%;max-width:30rem;min-width:0}.md-frame{aspect-ratio:1;width:100%;padding:6px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.md-board{display:grid;grid-template-rows:repeat(var(--md-size),1fr);width:100%;height:100%;border:1px solid var(--color-text)}.md-row{display:grid;grid-template-columns:repeat(var(--md-size),minmax(0,1fr));min-height:0}.md-gridcell{min-width:0;min-height:0}.md-cell{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-width:24px;min-height:24px;padding:0;border:1px solid var(--color-border-subtle);border-radius:0;background:var(--color-surface);color:var(--color-text);cursor:pointer}.md-cell[data-top=true]{border-top:2px solid var(--color-text)}.md-cell[data-right=true]{border-right:2px solid var(--color-text)}.md-cell[data-bottom=true]{border-bottom:2px solid var(--color-text)}.md-cell[data-left=true]{border-left:2px solid var(--color-text)}.md-gridcell[aria-selected=true] .md-cell{background:color-mix(in srgb,var(--color-text) 10%,var(--color-surface))}.md-cell:focus-visible{outline:3px solid var(--color-text);outline-offset:-6px;z-index:1}.md-clue{position:absolute;left:3px;top:1px;font-size:clamp(.625rem,2.7vw,.8125rem);line-height:1.2;font-weight:650}.md-value{padding-top:10px;font-size:clamp(1.125rem,5vw,2rem);line-height:1}.md-notes{padding:14px 3px 0;font-size:clamp(.625rem,2.6vw,.875rem);line-height:1.2;overflow-wrap:anywhere}.md-cell--error{color:var(--color-danger)}.md-conflict{position:absolute;bottom:0;right:3px;font-size:.75rem;font-weight:700}.md-placeholder{height:100%;display:grid;place-items:center;color:var(--color-text-muted)}.md-pad,.md-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.md-pad>button{flex:1;min-width:2rem;padding-inline:.5rem}.md-rail{display:flex;flex-direction:column;gap:.75rem;min-width:0}.md-status{min-height:5rem;padding:1rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.md-help,.md-credit{font-size:.875rem;color:var(--color-text-muted);margin-block:.75rem}.md-rail summary{cursor:pointer;min-height:2rem}@media(min-width:56rem){.md-layout{grid-template-columns:minmax(0,30rem) minmax(0,1fr);gap:2rem}}@media(forced-colors:active){.md-cell:focus-visible{outline-color:Highlight}.md-gridcell[aria-selected=true]{outline:2px solid Highlight}}.br-page{max-width:64rem;margin-inline:auto}.br-layout{display:grid;gap:1.5rem;align-items:start;margin-block:1.25rem}.br-play{width:100%;max-width:32rem;min-width:0}.br-frame{width:100%;aspect-ratio:1;padding:3px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.br-board{position:relative;width:100%;height:100%}.br-paths{position:absolute;width:100%;height:100%;pointer-events:none;color:var(--color-text);overflow:visible}.br-line{stroke:currentColor;stroke-width:3}.br-edge--locked .br-line{stroke-width:5}.br-guide{stroke:var(--color-text-muted);stroke-width:1;stroke-dasharray:3 6}.br-preview{stroke:var(--color-text);stroke-width:3;stroke-dasharray:4}.br-exclusion{fill:currentColor;font-size:22px;font-weight:700}.br-island{position:absolute;display:grid;place-items:center;transform:translate(-50%,-50%);width:max(24px,calc(80% / var(--br-size)));height:max(24px,calc(80% / var(--br-size)));max-width:44px;max-height:44px;min-width:24px;min-height:24px;padding:0;border:2px solid var(--color-text);border-radius:50%;background:var(--color-surface);color:var(--color-text);font-weight:700;font-size:clamp(.875rem,3.8vw,1.375rem);line-height:1;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}.br-island[data-selected=true]{background:color-mix(in srgb,var(--color-text) 12%,var(--color-surface))}.br-island[data-locked=true]{border-width:3px}.br-island[data-warning=true]{border-color:var(--color-danger);color:var(--color-danger)}.br-island:focus-visible{outline:3px solid var(--color-text);outline-offset:3px;z-index:1}.br-lock,.br-warning{position:absolute;right:-5px;bottom:-3px;font-size:.6875rem;background:var(--color-surface);border-radius:50%;padding:1px}.br-warning{right:auto;left:-4px;font-weight:900}.br-armed{position:absolute;left:0;bottom:0;background:var(--color-surface);padding:4px;font-size:.75rem}.br-placeholder{display:grid;place-items:center;height:100%;color:var(--color-text-muted)}.br-controls,.br-directions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.br-directions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.br-directions button{padding-inline:.375rem}.br-rail{display:flex;flex-direction:column;gap:.75rem;min-width:0}.br-status{min-height:5rem;padding:1rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.br-help,.br-credit{font-size:.875rem;color:var(--color-text-muted);margin-block:.75rem}.br-rail summary{cursor:pointer;min-height:2rem}@media(min-width:56rem){.br-layout{grid-template-columns:minmax(0,32rem) minmax(0,1fr);gap:2rem}}@media(forced-colors:active){.br-island:focus-visible{outline-color:Highlight}.br-island[data-selected=true]{border-color:Highlight}.br-line{stroke:CanvasText}}.bb-page{width:100%}.bb-layout{display:grid;grid-template-columns:minmax(0,1fr) 19rem;gap:2rem;align-items:start}.bb-play,.bb-rail{min-width:0}.bb-frame{max-width:32rem;margin-inline:auto}.bb-board{width:100%;aspect-ratio:1;display:grid;grid-template-rows:repeat(var(--bb-size),1fr);gap:2px;padding:3px;background:var(--color-border);border-radius:var(--radius-md)}.bb-row{display:grid;grid-template-columns:repeat(var(--bb-size),minmax(0,1fr));gap:2px;min-height:24px}.bb-row>[role=gridcell]{min-width:0;min-height:0}.bb-tile{width:100%;height:100%;min-height:24px;min-width:24px;position:relative;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:3px;font-family:var(--font-mono);font-size:clamp(.8rem,3vw,1.1rem);font-weight:600;cursor:pointer;touch-action:manipulation}.bb-cell{background:var(--color-surface);color:var(--color-text)}.bb-laser{background:var(--color-surface-raised);color:var(--color-text)}.bb-tile:focus-visible{outline:3px solid var(--color-accent);outline-offset:-3px;z-index:1}.bb-tile:hover{box-shadow:inset 0 0 0 2px var(--color-accent)}.bb-paired{box-shadow:inset 0 0 0 2px var(--color-accent);background:var(--color-accent-subtle)}.bb-locked{background:var(--color-surface-sunken)}.bb-ball{display:flex;align-items:center;justify-content:center;border-radius:50%;width:60%;height:60%;background:var(--color-text);color:var(--color-surface);font-size:.8rem}.bb-warning{color:var(--color-danger);box-shadow:inset 0 0 0 2px var(--color-danger)}.bb-warning .bb-ball{background:var(--color-danger);color:var(--color-surface)}.bb-tile small{position:absolute;right:2px;bottom:0;font-size:.65rem;line-height:1}.bb-selection{min-height:2.8em;margin-block:.6rem;font-size:.85rem;color:var(--color-text-muted)}.bb-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin-block:.8rem}.bb-rail{display:flex;flex-direction:column;gap:.7rem}.bb-status{min-height:6rem;padding:1rem;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);margin:0}.bb-count{font-family:var(--font-mono);margin:0}.bb-help,.bb-credit{color:var(--color-text-muted);font-size:.875rem;line-height:1.6}.bb-placeholder{aspect-ratio:1;display:grid;place-items:center;background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-md)}.bb-recovery{min-height:2.5rem}.bb-rail details{line-height:1.6}.bb-rail summary{cursor:pointer}@media(max-width:48rem){.bb-layout{grid-template-columns:minmax(0,1fr);gap:1rem}}@media(max-width:24rem){.bb-board{gap:0;padding:0}.bb-row{gap:0}.bb-cell{border:1px solid var(--color-border);border-radius:0}}.rc-page{max-width:64rem;margin-inline:auto}.rc-layout{display:grid;gap:1.5rem;align-items:start;margin-block:1.25rem}.rc-play{width:100%;max-width:32rem;min-width:0}.rc-frame{width:100%;aspect-ratio:1;padding:3px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.rc-board{position:relative;width:100%;height:100%;touch-action:none;-webkit-user-select:none;user-select:none}.rc-row{display:flex;height:calc(100% / var(--rc-size))}.rc-cell{position:relative;display:grid;place-items:center;width:calc(100% / var(--rc-size));height:100%;padding:0;border:0 solid var(--color-text);border-radius:0;background:var(--color-surface);color:var(--color-text);font-size:clamp(.875rem,3vw,1.4rem);font-weight:600;cursor:crosshair}.rc-cell:disabled{opacity:1;cursor:wait}.rc-cell[data-correct=true]{background:color-mix(in srgb,var(--color-text) 12%,var(--color-surface))}.rc-cell:focus-visible{outline:3px solid var(--color-text);outline-offset:-5px;z-index:2}.rc-check{position:absolute;bottom:1px;right:2px;font-size:.6rem}.rc-preview{position:absolute;border:3px dashed var(--color-text);background:color-mix(in srgb,var(--color-text) 8%,transparent);pointer-events:none}.rc-preview[data-erase=true]{border-style:dotted}.rc-placeholder{display:grid;place-items:center;height:100%;color:var(--color-text-muted)}.rc-controls,.rc-directions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.rc-directions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.rc-directions button{padding-inline:.375rem}.rc-rail{display:flex;flex-direction:column;gap:.75rem;min-width:0}.rc-status{min-height:5rem;padding:1rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.rc-help,.rc-credit{font-size:.875rem;color:var(--color-text-muted);margin-block:.75rem}.rc-rail summary{cursor:pointer;min-height:2rem}@media(min-width:56rem){.rc-layout{grid-template-columns:minmax(0,32rem) minmax(0,1fr);gap:2rem}}@media(forced-colors:active){.rc-cell[data-correct=true]{background:Canvas}.rc-cell:focus-visible{outline-color:Highlight}}.rc-cell[data-selected=true]:after{content:"";position:absolute;inset:5px;border:1px dashed var(--color-text);pointer-events:none}.lw,.lw-dialog{--lw-target: #087d73;--lw-guess: #ad501d;color:var(--color-text);font-family:var(--font-sans)}:root[data-theme=dark] .lw,:root[data-theme=dark] .lw-dialog{--lw-target: #72ddd0;--lw-guess: #ffb27e}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .lw,:root:not([data-theme=light]) .lw-dialog{--lw-target: #72ddd0;--lw-guess: #ffb27e}}.lw{max-width:660px;margin-inline:auto;padding:22px 26px 14px}.lw-topbar,.lw-modebar,.lw-chart-header,.lw-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.lw-topbar{margin-bottom:22px}.lw-brand{display:flex;align-items:center;gap:12px;color:var(--color-text-muted);font-size:10px;font-weight:650;letter-spacing:.1em}.lw-brand svg{width:36px;height:28px;fill:none;stroke:var(--lw-target);stroke-width:2.5;stroke-linecap:round;flex-shrink:0}.lw-actions{display:flex;gap:6px}.lw-modebar{margin-bottom:24px;flex-wrap:wrap}.lw-puzzle-label{color:var(--color-text-muted);font:11px var(--font-mono)}.lw-difficulty{margin:-8px 0 22px}.lw-difficulty p{margin:8px 0 0;font-size:11px;color:var(--color-text-muted)}.lw-difficulty .lw-first-letter{color:var(--lw-target)}.lw-first-letter strong{font:650 14px var(--font-mono)}.lw-chart-header{padding-inline:12px;font-size:11px}.lw-legend{display:flex;gap:18px}.lw-legend span{display:flex;align-items:center;gap:7px;color:var(--color-text-muted)}.lw-legend i{display:block;width:18px;height:0;border-top:2px solid var(--lw-target)}.lw-legend .lw-guess-swatch{border-top:2px dashed var(--lw-guess)}.lw-best{color:var(--lw-target);font-weight:600}.lw-plot{width:100%;display:block;margin-block:2px 0;overflow:visible}.lw-gridline{stroke:var(--color-border-subtle);stroke-width:.7;stroke-dasharray:2 5}.lw-axis{fill:var(--color-text-muted);font:10px var(--font-mono)}.lw-target-wave{fill:none;stroke:var(--lw-target);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.lw-guess-wave{fill:none;stroke:var(--lw-guess);stroke-linecap:round;stroke-linejoin:round}.lw-point{fill:var(--color-surface);stroke:var(--lw-target);stroke-width:2}.lw-progress{display:flex;align-items:center;justify-content:center;gap:7px;margin-block:6px 18px}.lw-progress>span{width:6px;height:6px;background:var(--color-border);border-radius:50%}.lw-progress>span[data-used=true]{background:var(--lw-guess)}.lw-progress>span[data-won=true]{background:var(--lw-target)}.lw-progress small{margin-inline-start:8px;color:var(--color-text-muted);font:10px var(--font-mono)}.lw-attempts{margin:0;padding:0;display:grid;gap:6px;list-style:none}.lw-attempts li{display:flex;align-items:stretch;border:1px solid var(--color-border-subtle);background:var(--color-surface-sunken);border-radius:9px}.lw-attempts li[data-selected=true]{border-color:var(--lw-guess)}.lw-attempt{border:0;background:transparent;padding:8px 12px;display:flex;align-items:center;gap:14px;width:100%;min-width:0;text-align:start;color:var(--color-text)}.lw-attempt-number{font:10px var(--font-mono);color:var(--color-text-muted)}.lw-attempt strong{font:600 13px var(--font-mono);letter-spacing:.12em}.lw-mini-wave{flex-shrink:0;width:48px;height:24px}.lw-score{margin-inline-start:auto;border-radius:6px;padding:3px 7px;font:600 11px var(--font-mono);color:var(--color-text-muted);background:var(--color-surface)}.lw-score[data-tone=solved],.lw-score[data-tone=close]{color:var(--lw-target)}.lw-score[data-tone=warm]{color:var(--lw-guess)}.lw-visibility{width:38px;flex-shrink:0;border:0;background:transparent;color:var(--color-text-muted);font-size:16px}.lw-empty{text-align:center;font-size:12px;color:var(--color-text-muted);margin:24px 0 6px}.lw-message{font-size:12px;text-align:center;color:var(--color-text-muted);min-height:38px;margin:12px 0;display:flex;justify-content:center;align-items:center}.lw-guess-form{display:flex;align-items:stretch;justify-content:center;gap:10px;margin:0 0 18px}.lw-input{width:100%;min-width:0;height:48px;font:600 20px var(--font-mono);text-align:center;letter-spacing:.6em;text-indent:.6em}.lw-input::placeholder{color:var(--color-text-muted);letter-spacing:normal;text-indent:0}.lw-keyboard{display:grid;gap:6px}.lw-key-row{display:flex;justify-content:center;gap:5px}.lw-key{min-width:0;max-width:48px;height:44px;flex:1;padding:0;border:1px solid var(--color-border);border-radius:7px;background:var(--color-surface-sunken);color:var(--color-text);font:600 12px var(--font-mono)}.lw-key:focus-visible{outline:2px solid var(--lw-target);outline-offset:2px}.lw-key:hover,.lw-key:active{border-color:var(--lw-target);background:var(--color-surface)}.lw-key-wide{flex:1.5;max-width:66px;font-size:9px}.lw-result{padding:14px 10px 12px;text-align:center}.lw-result-kicker{color:var(--lw-guess);font-size:10px;font-weight:650;letter-spacing:.15em}.lw-result[data-won=true] .lw-result-kicker{color:var(--lw-target)}.lw-result h2{font:700 36px var(--font-mono);letter-spacing:.2em;margin:8px 0}.lw-result p{font-size:13px;color:var(--color-text-muted)}.lw-result-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:20px 0}.lw-footer{border-top:1px solid var(--color-border-subtle);margin-top:22px;padding-top:14px;color:var(--color-text-muted);font-size:10px}.lw-footer>span:first-child{font-family:var(--font-mono)}.lw-muted{color:var(--color-text-muted);font-size:13px;line-height:1.6}.lw-dialog{width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:24px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface);box-shadow:0 24px 80px #0003}.lw-dialog::backdrop{background:#00000073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.lw-dialog header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}.lw-dialog h2{font-size:20px;margin:0}.lw-dialog h3{font-size:14px;margin:24px 0 12px}.lw-help{font-size:13px;line-height:1.65}.lw-help p{margin:14px 0}.lw-help ul{padding-inline-start:20px}.lw-help li{margin-bottom:8px}.lw-letter-values{display:flex;justify-content:space-around;background:var(--color-surface-sunken);padding:16px;border-radius:10px;font:600 20px var(--font-mono)}.lw-letter-values small{display:block;margin-top:8px;text-align:center;font-size:12px;color:var(--lw-target)}.lw-help-example{display:flex;align-items:center;gap:20px;padding:14px;background:var(--color-surface-sunken);border-radius:10px}.lw-help-example svg{width:90px;height:55px}.lw-help-example p{margin:6px 0 0;font-size:12px;color:var(--color-text-muted)}.lw-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-block:24px;text-align:center}.lw-stats-grid strong{display:block;font:600 26px var(--font-mono);color:var(--lw-target)}.lw-stats-grid span{display:block;margin-top:6px;color:var(--color-text-muted);font-size:10px}.lw-distribution{display:grid;gap:6px}.lw-distribution>div{display:flex;gap:10px;align-items:center;font:12px var(--font-mono)}.lw-distribution>div>div{background:var(--lw-target);color:#fff;padding:5px 8px;min-width:30px;border-radius:4px;text-align:end}:root[data-theme=dark] .lw-distribution>div>div{color:#122a28}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .lw-distribution>div>div{color:#122a28}}.lw-share-text{margin:12px 0 16px;font-family:var(--font-mono)}@media(max-width:480px){.lw{padding:16px 12px 12px;border-radius:14px}.lw-brand{font-size:8px;letter-spacing:.04em;gap:7px}.lw-brand svg{width:28px}.lw-topbar{gap:8px;margin-bottom:16px}.lw-actions{gap:4px}.lw-modebar{gap:8px;margin-bottom:18px}.lw-puzzle-label{font-size:10px}.lw-chart-header{padding-inline:0;font-size:10px}.lw-legend{gap:10px}.lw-best{font-size:9px}.lw-key-row{gap:3px}.lw-key{border-radius:5px;font-size:11px}.lw-key-wide{font-size:8px}.lw-input{width:100%;font-size:19px;letter-spacing:.45em;text-indent:.45em}.lw-attempt{gap:10px;padding-inline:9px}.lw-empty{font-size:11px}.lw-dialog{padding:18px}}@media(forced-colors:active){.lw-target-wave,.lw-point{stroke:Highlight}.lw-guess-wave{stroke:CanvasText}.lw-gridline{stroke:GrayText}.lw-axis{fill:CanvasText}.lw-progress>span{border:1px solid CanvasText}.lw-progress>span[data-used=true]{background:Highlight;forced-color-adjust:none}}.lw-loading{min-height:650px;display:grid;place-items:center;color:var(--color-text-muted)}.lw-actions svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.lw-guess-form .ui-field{flex:1;min-width:0;max-width:230px}.ud-page{max-width:64rem;margin-inline:auto}.ud-layout{display:grid;gap:1.5rem;align-items:start;margin-block:1.25rem}.ud-play{width:100%;max-width:32rem;min-width:0}.ud-rail{display:flex;flex-direction:column;gap:.75rem;min-width:0}.ud-ghost{--ud-c: var(--color-info)}.ud-vampire{--ud-c: var(--color-accent)}.ud-zombie{--ud-c: var(--color-success)}.ud-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-bottom:.75rem}.ud-count.ui-button{display:grid;grid-template-columns:1.75rem minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:.375rem;align-items:center;justify-items:start;min-height:3.25rem;padding:.375rem .5rem;text-align:start}.ud-count .ud-glyph{grid-row:span 2;width:1.75rem;height:1.75rem}.ud-count-name{font-size:.8125rem;color:var(--color-text-muted);min-width:0;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ud-count-value{font-family:var(--font-mono);font-weight:700;font-variant-numeric:tabular-nums}.ud-count-flag{grid-row:span 2;grid-column:3;grid-row-start:1;font-weight:700}.ud-count[data-done=true] .ud-count-value{color:var(--color-text-muted)}.ud-count[data-error=true]{box-shadow:inset 0 0 0 2px var(--color-danger)}.ud-count[data-error=true] .ud-count-value,.ud-count[data-error=true] .ud-count-flag{color:var(--color-danger)}.ud-frame{width:100%}.ud-board{width:100%;aspect-ratio:1;display:grid;grid-template-rows:repeat(var(--ud-size),minmax(0,1fr));-webkit-user-select:none;user-select:none}.ud-row{display:grid;grid-template-columns:repeat(var(--ud-size),minmax(0,1fr));min-height:0}.ud-row>[role=gridcell]{min-width:0;min-height:0}.ud-cell,.ud-clue{position:relative;display:grid;place-items:center;width:100%;height:100%;min-width:24px;min-height:24px;padding:0;border:0;border-radius:0;color:var(--color-text);font:inherit;touch-action:manipulation;cursor:pointer}.ud-cell{background:var(--color-surface);box-shadow:inset 0 0 0 1px var(--color-border-strong)}.ud-cell[data-value="-1"],.ud-cell[data-value="-2"],.ud-cell[data-fixed=true]{background:var(--color-surface-sunken);cursor:default}.ud-cell[data-sight=true]{background:var(--color-accent-subtle)}.ud-cell[data-error=true]{box-shadow:inset 0 0 0 1px var(--color-border-strong),inset 0 0 0 3px var(--color-danger)}.ud-clue{background:transparent;font-family:var(--font-mono);font-size:clamp(.875rem,3.4vw,1.25rem);font-weight:700;border-radius:6px}.ud-clue[data-done=true]{color:var(--color-text-subtle);text-decoration:line-through;text-decoration-thickness:2px}.ud-clue[data-paired=true]{box-shadow:inset 0 0 0 2px var(--color-accent)}.ud-clue[data-error=true]{color:var(--color-danger);box-shadow:inset 0 0 0 2px var(--color-danger)}.ud-cell:focus-visible,.ud-clue:focus-visible{outline:3px solid var(--color-focus, var(--color-accent));outline-offset:-3px;z-index:2}.ud-cell[data-selected=true]:after,.ud-clue[data-selected=true]:after{content:"";position:absolute;inset:4px;border:2px solid var(--color-accent);border-radius:3px;pointer-events:none}.ud-cell[data-pencil-mode=true]:after{border-style:dashed}.ud-cell[data-pencil-mode=true]:before{content:"✎";position:absolute;top:1px;left:3px;font-size:.625rem;line-height:1;color:var(--color-accent)}.ud-cell:hover:not([aria-disabled=true]),.ud-clue:hover:not([aria-disabled=true]){background:var(--color-surface-hover)}.ud-mirror{width:100%;height:100%}.ud-mirror line{stroke:var(--color-text);stroke-width:.5;stroke-linecap:round}.ud-glyph{width:72%;height:72%;overflow:visible}.ud-glyph .ud-body{fill:color-mix(in srgb,var(--ud-c) 24%,var(--color-surface));stroke:var(--ud-c);stroke-width:1.4;stroke-linejoin:round}.ud-glyph .ud-cape{fill:var(--ud-c)}.ud-glyph .ud-ink{fill:var(--color-text);stroke:var(--color-text);stroke-width:0;stroke-linecap:round}.ud-glyph path.ud-ink[stroke-width]{fill:none}.ud-glyph .ud-fang{fill:var(--color-surface);stroke:var(--color-text);stroke-width:.7;stroke-linejoin:round}.ud-letter{display:grid;place-items:center;width:auto;height:auto;font-family:var(--font-mono);font-size:clamp(1rem,5vw,1.75rem);font-weight:800;color:var(--ud-c)}.ud-pencils{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));width:84%;height:84%;place-items:center}.ud-pencils .ud-glyph{width:88%;height:88%}.ud-pencils .ud-letter{font-size:clamp(.5rem,2.4vw,.875rem)}.ud-flag{position:absolute;top:1px;right:3px;font-size:.75rem;font-weight:800;line-height:1;color:var(--color-danger)}.ud-corner{display:block}.ud-placeholder{display:grid;place-items:center;aspect-ratio:1;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text-muted)}.ud-selection{min-height:2.8em;margin-block:.5rem;font-size:.875rem;color:var(--color-text-muted)}.ud-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.ud-status{min-height:5rem;padding:1rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.ud-help,.ud-credit{font-size:.875rem;color:var(--color-text-muted);margin-block:.75rem}.ud-rail summary{cursor:pointer;min-height:2rem}@media(max-width:22rem){.ud-count-name{display:none}.ud-count.ui-button{grid-template-columns:1.5rem minmax(0,1fr) auto;padding-inline:.375rem}}@media(min-width:56rem){.ud-layout{grid-template-columns:minmax(0,32rem) minmax(0,1fr);gap:2rem}}@media(forced-colors:active){.ud-cell[data-sight=true]{background:Canvas;outline:2px dotted CanvasText;outline-offset:-4px}.ud-cell:focus-visible,.ud-clue:focus-visible{outline-color:Highlight}.ud-glyph .ud-body,.ud-glyph .ud-cape{fill:Canvas;stroke:CanvasText}}.ut-page{max-width:64rem;margin-inline:auto}.ut-layout{display:grid;gap:1.5rem;align-items:start;margin-block:1.25rem}.ut-play{width:100%;max-width:34rem;min-width:0}.ut-rail{display:flex;flex-direction:column;gap:.75rem;min-width:0}.ut-frame{width:100%}.ut-board{width:100%;aspect-ratio:1;border:1px solid var(--color-border);border-radius:8px;overflow:hidden;background:var(--color-surface)}.ut-svg{display:block;width:100%;height:100%;overflow:visible;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.ut-surface{fill:var(--color-surface)}.ut-edge{stroke:var(--color-text);stroke-width:2;stroke-linecap:round}.ut-edge[data-crossed=true]{stroke:var(--color-danger);stroke-dasharray:7 4}.ut-edge[data-active=true]{stroke:var(--color-accent);stroke-width:3}.ut-point{cursor:grab;outline:none}.ut-dot{fill:var(--color-info);stroke:var(--color-text);stroke-width:1.5;vector-effect:non-scaling-stroke}.ut-ring{fill:none;stroke:transparent;stroke-width:2.5;vector-effect:non-scaling-stroke}.ut-number{fill:var(--color-text);font-family:var(--font-mono);font-weight:700;text-anchor:middle;pointer-events:none}.ut-board[data-numbers] .ut-dot{fill:var(--color-surface)}.ut-point[data-state=drag]{cursor:grabbing}.ut-point[data-state=drag] .ut-dot{fill:var(--color-surface);stroke:var(--color-accent);stroke-width:3}.ut-point[data-state=neighbour] .ut-dot{fill:var(--color-accent)}.ut-point[data-state=neighbour] .ut-ring{stroke:var(--color-accent);stroke-dasharray:3 2}.ut-point[data-state=cursor] .ut-ring{stroke:var(--color-text-muted)}.ut-point:focus-visible .ut-ring{stroke:var(--color-focus, var(--color-accent));stroke-width:3;stroke-dasharray:none}.ut-carried{pointer-events:none}.ut-board[data-flash]{animation:ut-flash-a .6s ease-out 1}.ut-board[data-flash=odd]{animation-name:ut-flash-b}.ut-board[data-flash] .ut-surface{fill:transparent}@keyframes ut-flash-a{0%{background:var(--color-success-subtle)}to{background:var(--color-surface)}}@keyframes ut-flash-b{0%{background:var(--color-success-subtle)}to{background:var(--color-surface)}}.ut-placeholder{display:grid;place-items:center;aspect-ratio:1;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text-muted)}.ut-selection{min-height:4.2em;margin-block:.5rem;font-size:.875rem;color:var(--color-text-muted)}.ut-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.ut-status{min-height:5rem;padding:1rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.ut-help,.ut-credit{font-size:.875rem;color:var(--color-text-muted);margin-block:.75rem}.ut-rail summary{cursor:pointer;min-height:2rem}@media(min-width:56rem){.ut-layout{grid-template-columns:minmax(0,34rem) minmax(0,1fr);gap:2rem}}@media(prefers-reduced-motion:reduce){.ut-board[data-flash]{animation:none}}@media(forced-colors:active){.ut-edge,.ut-dot{stroke:CanvasText}.ut-dot{fill:Canvas}.ut-edge[data-crossed=true],.ut-edge[data-active=true],.ut-point[data-state=drag] .ut-dot{stroke:Highlight}.ut-point[data-state=neighbour] .ut-dot{fill:Highlight}.ut-point:focus-visible .ut-ring,.ut-point[data-state=cursor] .ut-ring{stroke:Highlight}}.fl-page{max-width:64rem;margin-inline:auto;--fl-0: #d63c3c;--fl-0-ink: #ffffff;--fl-1: #f2c94c;--fl-1-ink: #1a1917;--fl-2: #45a85a;--fl-2-ink: #10240f;--fl-3: #3a6bdc;--fl-3-ink: #ffffff;--fl-4: #f08c2e;--fl-4-ink: #1a1917;--fl-5: #8a4bb8;--fl-5-ink: #ffffff;--fl-sep: rgba(0, 0, 0, .55)}.fl-layout{display:grid;gap:1.5rem;align-items:start;margin-block:1.25rem}.fl-play{width:100%;max-width:32rem;min-width:0}.fl-frame{width:100%;aspect-ratio:1;padding:3px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.fl-frame[data-completion=won]{border-color:var(--color-text);box-shadow:0 0 0 2px var(--color-text)}.fl-board{width:100%;height:100%;-webkit-user-select:none;user-select:none}.fl-row{display:flex;height:calc(100% / var(--fl-size))}.fl-cell{position:relative;display:grid;place-items:center;box-sizing:border-box;width:calc(100% / var(--fl-size));height:100%;padding:0;border:0 solid var(--fl-sep);border-radius:0;background:var(--fl-c);color:var(--fl-ink);cursor:pointer;touch-action:manipulation}.fl-cell:disabled{opacity:1;cursor:wait}.fl-cell[data-t=colour]{border-top-width:1px}.fl-cell[data-r=colour]{border-right-width:1px}.fl-cell[data-b=colour]{border-bottom-width:1px}.fl-cell[data-l=colour]{border-left-width:1px}.fl-cell[data-t=area]{border-top:2px solid var(--color-text)}.fl-cell[data-r=area]{border-right:2px solid var(--color-text)}.fl-cell[data-b=area]{border-bottom:2px solid var(--color-text)}.fl-cell[data-l=area]{border-left:2px solid var(--color-text)}.fl-page [data-colour="0"]{--fl-c: var(--fl-0);--fl-ink: var(--fl-0-ink)}.fl-page [data-colour="1"]{--fl-c: var(--fl-1);--fl-ink: var(--fl-1-ink)}.fl-page [data-colour="2"]{--fl-c: var(--fl-2);--fl-ink: var(--fl-2-ink)}.fl-page [data-colour="3"]{--fl-c: var(--fl-3);--fl-ink: var(--fl-3-ink)}.fl-page [data-colour="4"]{--fl-c: var(--fl-4);--fl-ink: var(--fl-4-ink)}.fl-page [data-colour="5"]{--fl-c: var(--fl-5);--fl-ink: var(--fl-5-ink)}.fl-cell:focus-visible{outline:3px solid var(--color-text);outline-offset:-3px;box-shadow:inset 0 0 0 5px var(--color-surface);z-index:2}.fl-cell[data-selected=true]:after{content:"";position:absolute;inset:18%;border:1px dashed var(--fl-ink);pointer-events:none}.fl-glyph{font-size:clamp(.5rem,2.4vw,.95rem);line-height:1}.fl-dot{position:absolute;width:34%;height:34%;border-radius:50%;background:var(--fl-ink);box-shadow:0 0 0 2px var(--fl-c)}.fl-board[data-symbols=true] .fl-dot{top:6%;right:6%;width:26%;height:26%}.fl-placeholder{display:grid;place-items:center;height:100%;color:var(--color-text-muted)}.fl-palette{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;min-height:6rem;align-content:start;margin-top:.75rem}.fl-swatch{display:flex;align-items:center;gap:.5rem;min-height:2.75rem;padding:.25rem .5rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);font:inherit;cursor:pointer}.fl-swatch:hover:not(:disabled){background:var(--color-surface-hover)}.fl-swatch:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.fl-swatch:disabled{cursor:default;color:var(--color-text-muted)}.fl-swatch[data-current=true]{border-style:dashed}.fl-swatch[data-hint=true]{border:2px solid var(--color-text)}.fl-swatch-chip{display:grid;place-items:center;flex:none;width:1.75rem;height:1.75rem;border-radius:6px;background:var(--fl-c);color:var(--fl-ink);box-shadow:inset 0 0 0 1px var(--fl-sep);font-size:.9rem}.fl-swatch-name{min-width:0;overflow-wrap:anywhere}.fl-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.fl-rail{display:flex;flex-direction:column;gap:.75rem;min-width:0}.fl-status{min-height:5rem;padding:1rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.fl-tally{display:flex;gap:1.5rem;margin:0}.fl-tally dt{font-size:.875rem;color:var(--color-text-muted)}.fl-tally dd{margin:0;font-size:1.5rem;font-weight:600;font-variant-numeric:tabular-nums}.fl-toggle{display:flex;align-items:center;gap:.5rem;min-height:2rem}.fl-toggle input{width:1.125rem;height:1.125rem}.fl-help,.fl-credit{font-size:.875rem;color:var(--color-text-muted);margin-block:.75rem}.fl-rail summary{cursor:pointer;min-height:2rem}@media(min-width:56rem){.fl-layout{grid-template-columns:minmax(0,32rem) minmax(0,1fr);gap:2rem}}@media(forced-colors:active){.fl-cell,.fl-swatch-chip{forced-color-adjust:none}.fl-cell:focus-visible{outline-color:Highlight}}.sx-page{max-width:64rem;margin-inline:auto}.sx-layout{display:grid;gap:1.5rem;align-items:start;margin-block:1.25rem}.sx-play{width:100%;max-width:32rem;min-width:0}.sx-rail{display:flex;flex-direction:column;gap:.75rem;min-width:0}.sx-moves{margin:0 0 .5rem;font-family:var(--font-mono);font-weight:700;font-variant-numeric:tabular-nums}.sx-moves[data-completion=won]{color:var(--color-success)}.sx-moves[data-completion=revealed]{color:var(--color-text-muted)}.sx-frame{width:100%}.sx-board{width:100%;aspect-ratio:var(--sx-cols) / var(--sx-rows);display:grid;grid-template-rows:repeat(var(--sx-rows),minmax(0,1fr));user-select:none;-webkit-user-select:none}.sx-row{display:grid;grid-template-columns:repeat(var(--sx-cols),minmax(0,1fr));min-height:0}.sx-row>[role=gridcell]{position:relative;min-width:0;min-height:0}.sx-corner{display:block}.sx-arrow{display:grid;place-items:center;width:100%;height:100%;min-width:24px;min-height:24px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--color-text-muted);touch-action:manipulation;cursor:pointer}.sx-arrow svg{width:48%;height:48%;fill:currentColor}.sx-arrow:hover:not([aria-disabled=true]){background:var(--color-surface-hover);color:var(--color-accent)}.sx-arrow[aria-disabled=true]{cursor:default}.sx-square{display:block;width:100%;height:100%;min-width:24px;min-height:24px;background:var(--color-surface-sunken);box-shadow:inset 0 0 0 1px var(--color-border);overflow:visible;touch-action:none;cursor:grab}.sx-square:active{cursor:grabbing}.sx-tile{position:absolute;inset:3px;display:grid;place-items:center;border:1px solid var(--color-border-strong);border-radius:6px;background:var(--color-surface);box-shadow:inset 0 2px color-mix(in srgb,var(--color-surface) 60%,white),inset 0 -3px color-mix(in srgb,var(--color-text) 14%,transparent);color:var(--color-text);font-family:var(--font-mono);font-size:clamp(1rem,5.2vw,1.75rem);font-weight:700;font-variant-numeric:tabular-nums;pointer-events:none}.sx-tile[data-slide]{animation:sx-slide .13s ease-out}.sx-tile[data-slide=wrap]{animation:sx-slide .13s ease-out,sx-enter .13s ease-out}@keyframes sx-slide{0%{transform:translate(calc(var(--sx-dx, 0) * 100%),calc(var(--sx-dy, 0) * 100%))}}@keyframes sx-enter{0%{opacity:0}}.sx-square:focus-visible,.sx-arrow:focus-visible{outline:3px solid var(--color-focus, var(--color-accent));outline-offset:-3px;z-index:2}.sx-square[data-selected=true]:after,.sx-arrow[data-selected=true]:after{content:"";position:absolute;inset:6px;border:2px solid var(--color-accent);border-radius:4px;pointer-events:none;z-index:1}.sx-square[data-locked]:after{border-style:dashed;border-width:3px}.sx-square[data-locked]:before{content:"⇄";position:absolute;top:6px;right:8px;z-index:1;font-size:.75rem;line-height:1;color:var(--color-accent)}.sx-square[data-locked=stay]:before{content:"⌖"}.sx-placeholder{display:grid;place-items:center;aspect-ratio:1;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text-muted)}.sx-announce{min-height:2.8em;margin-block:.5rem;font-size:.875rem;color:var(--color-text-muted)}.sx-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.sx-status{min-height:5rem;padding:1rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.sx-help,.sx-credit{font-size:.875rem;color:var(--color-text-muted);margin-block:.75rem}.sx-rail summary{cursor:pointer;min-height:2rem}@media(min-width:56rem){.sx-layout{grid-template-columns:minmax(0,32rem) minmax(0,1fr);gap:2rem}}@media(prefers-reduced-motion:reduce){.sx-tile[data-slide]{animation:none}}@media(forced-colors:active){.sx-tile{border-color:CanvasText;forced-color-adjust:none;background:Canvas;color:CanvasText}.sx-arrow svg{fill:ButtonText}.sx-square:focus-visible,.sx-arrow:focus-visible{outline-color:Highlight}}.sp-page{max-width:64rem;margin-inline:auto}.sp-layout{display:grid;gap:1.5rem;align-items:start;margin-block:1.25rem}.sp-play{width:100%;max-width:32rem;min-width:0}.sp-rail{display:flex;flex-direction:column;gap:.75rem;min-width:0}.sp-frame{width:100%}.sp-board{position:relative;display:grid;grid-template-rows:repeat(var(--sp-size),minmax(0,1fr));width:100%;aspect-ratio:1;container-type:inline-size;box-shadow:0 0 0 2px var(--color-border-strong);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.sp-board[data-dragging=true]{cursor:grabbing}.sp-board[data-unlink=true]{box-shadow:0 0 0 2px var(--color-danger)}.sp-row{display:grid;grid-template-columns:repeat(var(--sp-size),minmax(0,1fr));min-height:0}.sp-row>[role=gridcell]{min-width:0;min-height:0}.sp-cell{--sp-tint: var(--color-surface);position:relative;display:block;width:100%;height:100%;min-width:24px;min-height:24px;padding:0;border:0;border-radius:0;background:var(--sp-tint);color:var(--color-text);box-shadow:inset 0 0 0 1px var(--color-border-strong);font:inherit;cursor:pointer;touch-action:pinch-zoom}.sp-cell:not([data-set="0"]){--sp-tint: color-mix( in srgb, hsl(var(--sp-hue, 0) 78% 52%) 26%, var(--color-surface) )}.sp-cell[data-chain=true]{box-shadow:inset 0 0 0 1px var(--color-border-strong),inset 0 0 0 3px var(--color-accent-border)}.sp-cell[data-error=true]{box-shadow:inset 0 0 0 1px var(--color-border-strong),inset 0 0 0 3px var(--color-danger)}.sp-cell:hover:not([aria-disabled=true]){background:color-mix(in srgb,var(--color-text) 6%,var(--sp-tint))}.sp-cell[data-selected=true]{outline:2px solid var(--color-accent);outline-offset:-2px}.sp-cell:focus-visible{outline:3px solid var(--color-focus, var(--color-accent));outline-offset:-3px;z-index:2}.sp-arrow{position:absolute;left:34%;top:38%;width:56%;height:56%;overflow:visible;fill:currentColor;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round;transform:rotate(calc(var(--sp-dir) * 45deg));pointer-events:none}.sp-cell[data-out=true]:not([data-end=true]) .sp-arrow{fill:transparent;opacity:.8}.sp-num,.sp-dot,.sp-flag{z-index:2}.sp-num{position:absolute;top:3px;left:4px;max-width:calc(100% - 6px);overflow:hidden;font-family:var(--font-mono);font-size:max(11px,calc(27cqw / var(--sp-size)));font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none}.sp-cell[data-fixed=true] .sp-num{font-weight:800;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px}.sp-cell:not([data-set="0"]) .sp-num{font-style:italic}.sp-dot{position:absolute;left:5px;bottom:5px;width:max(6px,calc(12cqw / var(--sp-size)));height:max(6px,calc(12cqw / var(--sp-size)));border-radius:50%;background:currentColor;pointer-events:none}.sp-flag{position:absolute;top:3px;right:4px;font-size:.8125rem;font-weight:800;line-height:1;color:var(--color-danger);pointer-events:none}.sp-cell[data-role=anchor]{box-shadow:inset 0 0 0 1px var(--color-border-strong),inset 0 0 0 4px var(--color-accent)}.sp-cell[data-role=forward],.sp-cell[data-role=backward]{box-shadow:inset 0 0 0 1px var(--color-border-strong),inset 0 0 0 3px var(--color-success)}.sp-cell[data-role=forward]:before,.sp-cell[data-role=backward]:before{content:"▶";position:absolute;right:4px;top:2px;font-size:.625rem;line-height:1;color:var(--color-success)}.sp-cell[data-role=backward]:before{content:"◀"}.sp-cell[data-drop=true]{background:var(--color-success-subtle)}.sp-links{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}.sp-links line{stroke:var(--color-accent);stroke-width:.05;stroke-linecap:round;opacity:.85}.sp-links polygon{fill:var(--color-accent);opacity:.85}.sp-drag{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:3}.sp-drag line{stroke:var(--color-accent);stroke-width:.09;stroke-linecap:round}.sp-drag polygon{fill:var(--color-accent)}.sp-board[data-unlink=true] .sp-drag line{stroke:var(--color-danger);stroke-dasharray:.2 .14}.sp-board[data-unlink=true] .sp-drag polygon{fill:var(--color-danger)}.sp-placeholder{display:grid;place-items:center;aspect-ratio:1;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text-muted)}.sp-message{min-height:2.8em;margin-block:.5rem;font-size:.875rem;color:var(--color-text-muted)}.sp-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.sp-status{min-height:5rem;padding:1rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.sp-help,.sp-credit{font-size:.875rem;color:var(--color-text-muted);margin-block:.75rem}.sp-rail summary{cursor:pointer;min-height:2rem}@media(prefers-reduced-motion:no-preference){.sp-board[data-celebrate=true] .sp-arrow{animation:sp-spin .7s ease-in-out 1}}@keyframes sp-spin{0%{transform:rotate(calc(var(--sp-dir) * 45deg))}to{transform:rotate(calc(var(--sp-dir) * 45deg + 360deg))}}@media(min-width:56rem){.sp-layout{grid-template-columns:minmax(0,32rem) minmax(0,1fr);gap:2rem}}@media(forced-colors:active){.sp-board{box-shadow:none;outline:2px solid CanvasText}.sp-cell{background:Canvas;color:CanvasText;border:1px solid CanvasText;box-shadow:none}.sp-cell[data-chain=true]{outline:2px dotted Highlight;outline-offset:-3px}.sp-cell[data-error=true]{outline:3px double CanvasText;outline-offset:-4px}.sp-cell[data-role=forward],.sp-cell[data-role=backward]{outline:3px dashed Highlight;outline-offset:-3px}.sp-cell[data-selected=true]{outline:2px solid Highlight;outline-offset:-2px}.sp-cell[data-role=anchor]{outline:4px solid Highlight;outline-offset:-4px}.sp-cell:focus-visible{outline:3px solid Highlight;outline-offset:-3px}.sp-arrow{fill:CanvasText;stroke:CanvasText}.sp-cell[data-out=true]:not([data-end=true]) .sp-arrow{fill:Canvas}.sp-dot{background:CanvasText}.sp-flag{color:CanvasText}.sp-drag line,.sp-links line{stroke:Highlight}.sp-drag polygon,.sp-links polygon{fill:Highlight}}.fp-page{width:100%}.fp-layout{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:var(--space-6);align-items:start}.fp-play,.fp-rail{min-width:0}.fp-frame{width:100%;aspect-ratio:1;max-width:27rem;margin-inline:auto;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.fp-frame[data-completion=won]{border-color:var(--color-success, var(--color-accent))}.fp-board{display:grid;aspect-ratio:1;grid-template-rows:repeat(var(--fp-size),minmax(0,1fr));gap:3px}.fp-row{display:grid;grid-template-columns:repeat(var(--fp-size),minmax(0,1fr));gap:3px}.fp-cell{position:relative;width:100%;height:100%;aspect-ratio:1;padding:0;min-width:0;min-height:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-muted);background:var(--color-surface-raised, var(--color-canvas));touch-action:manipulation}.fp-cell[data-lit=true]{background:var(--color-accent-subtle);color:var(--color-text);border-color:var(--color-accent)}.fp-cell:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px;z-index:1}.fp-cell[aria-disabled=true]{cursor:wait}.fp-diagram{display:block;width:100%;height:100%}.fp-light{position:absolute;bottom:2px;inset-inline:0;text-align:center;font-size:.625rem;font-weight:700;line-height:1.1}.fp-mark{position:absolute;inset:2px;border:2px dashed var(--color-text);border-radius:var(--radius-sm);text-align:end;padding-inline:2px;font-weight:700;font-size:1rem;pointer-events:none}.fp-controls{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-block:var(--space-3);justify-content:center}.fp-rail{display:flex;flex-direction:column;gap:var(--space-3)}.fp-rail .fp-controls{justify-content:start;margin:0}.fp-status{font-weight:600;min-height:3rem}.fp-tally{display:flex;gap:var(--space-5);margin:0}.fp-tally dt{font-size:var(--font-size-sm);color:var(--color-text-muted)}.fp-tally dd{margin:0;font-size:var(--font-size-xl);font-variant-numeric:tabular-nums}.fp-help,.fp-credit,.fp-selection{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.6}.fp-selection{min-height:8em;overflow-wrap:anywhere}.fp-placeholder{aspect-ratio:1;display:grid;place-items:center}.fp-rail details p{line-height:1.6;margin-block:var(--space-3)}@media(max-width:760px){.fp-layout{grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.fp-frame{padding:var(--space-2)}}@media(forced-colors:active){.fp-cell[data-lit=true]{border-width:3px}.fp-mark{border-color:CanvasText}}.dm-page{max-width:64rem;margin-inline:auto}.dm-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,22rem);gap:var(--space-6);align-items:start}.dm-play,.dm-rail{min-width:0}.dm-frame{max-width:34rem;margin-inline:auto;padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.dm-board{position:relative;width:100%;aspect-ratio:var(--dm-width) / var(--dm-height);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);user-select:none;-webkit-user-select:none;touch-action:manipulation}.dm-board:focus-visible{outline:3px solid var(--color-accent);outline-offset:4px}.dm-numbers{display:grid;grid-template-columns:repeat(var(--dm-width),1fr);grid-template-rows:repeat(var(--dm-height),1fr);height:100%;position:relative}.dm-number{border:0;padding:0;background:transparent;color:var(--color-text);display:flex;justify-content:center;align-items:center;position:relative;font-size:clamp(1rem,4vw,1.6rem);font-weight:600;cursor:pointer}.dm-domino{position:absolute;border:3px solid var(--color-text);border-radius:var(--radius-lg);background:var(--color-text);transform:scale(.94)}.dm-paired{color:var(--color-surface)}.dm-clash{border-style:dashed;background:var(--color-danger);border-color:var(--color-danger)}.dm-conflict small{position:absolute;right:16%;top:3%;font-size:.7em}.dm-highlight{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:4px}.dm-highlight-tag{position:absolute;left:8%;top:5%;font-size:.6em}.dm-edge{pointer-events:none;position:absolute;transform:translate(-50%,-50%);width:24px;height:24px;padding:0;border:0;border-radius:4px;background:transparent;cursor:pointer;z-index:2}.dm-edge span{display:block;background:var(--color-text);margin:auto}.dm-edge-vertical span{width:3px;height:24px}.dm-edge-horizontal span{width:24px;height:3px}.dm-cursor{pointer-events:none;position:absolute;width:22px;height:22px;border:2px solid var(--color-accent);border-radius:50%;transform:translate(-50%,-50%);z-index:3;box-shadow:0 0 0 1px var(--color-surface)}.dm-controls{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-block:var(--space-3)}.dm-help,.dm-credit{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-block:var(--space-3)}.dm-status{padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-4);min-height:3.5rem}.dm-rail label{display:block;margin-block:var(--space-2)}.dm-placeholder{display:grid;place-items:center;aspect-ratio:5/4;color:var(--color-text-muted)}.dm-rail details{margin-block:var(--space-4)}.dm-rail summary{cursor:pointer}@media(max-width:48em){.dm-layout{grid-template-columns:1fr}.dm-frame{padding:var(--space-2)}}@media(forced-colors:active){.dm-domino{background:Canvas;color:CanvasText;border-color:CanvasText}.dm-paired{color:CanvasText}.dm-clash{border-style:dashed}.dm-cursor{border-color:Highlight}}.fi-page{max-width:64rem;margin-inline:auto}.fi-layout{display:grid;gap:1.5rem;align-items:start;margin-block:1.25rem}.fi-play{width:100%;max-width:32rem;min-width:0}.fi-frame{width:100%;aspect-ratio:1;padding:.5rem;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.fi-frame[data-completion=won]{box-shadow:0 0 0 2px var(--color-text)}.fi-board{width:100%;height:100%;display:flex;flex-direction:column;gap:.375rem;-webkit-user-select:none;user-select:none}.fi-row{display:flex;flex:1;gap:.375rem;min-height:0}.fi-tile{display:grid;place-items:center;flex:1;min-width:0;padding:0;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-raised);color:var(--color-text);font:600 clamp(1rem,5vw,2rem) / 1 var(--font-sans);font-variant-numeric:tabular-nums;cursor:pointer;touch-action:manipulation;box-shadow:0 2px 0 var(--color-border)}.fi-tile[data-movable=true]:hover{background:var(--color-surface-hover)}.fi-tile[data-tile="0"]{background:var(--color-surface);border-style:dashed;box-shadow:none}.fi-gap-label{font-size:.75rem;font-weight:400;color:var(--color-text-muted)}.fi-tile:disabled{opacity:1;cursor:wait}.fi-tile:focus-visible{outline:3px solid var(--color-focus);outline-offset:-4px}.fi-placeholder{display:grid;place-items:center;height:100%;color:var(--color-text-muted)}.fi-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.fi-rail{display:flex;flex-direction:column;gap:.75rem;min-width:0}.fi-status{min-height:6rem;padding:1rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.fi-tally{display:flex;gap:1.5rem;margin:0}.fi-tally dt{font-size:.875rem;color:var(--color-text-muted)}.fi-tally dd{margin:0;font-size:1.5rem;font-weight:600;font-variant-numeric:tabular-nums}.fi-toggle{display:flex;align-items:center;gap:.5rem;min-height:2rem}.fi-toggle input{width:1.125rem;height:1.125rem}.fi-help,.fi-credit{font-size:.875rem;color:var(--color-text-muted);margin-block:.75rem}.fi-rail summary{cursor:pointer;min-height:2rem}@media(min-width:56rem){.fi-layout{grid-template-columns:minmax(0,32rem) minmax(0,1fr);gap:2rem}}.lu-page{max-width:64rem;margin-inline:auto;--lu-dark: #292823;--lu-wall: #24282b;--lu-light: #fff0b1;--lu-unlit: #74746a;--lu-error: #a31919}.lu-layout{display:grid;gap:1.5rem;align-items:start;margin-block:1.25rem}.lu-play{width:100%;max-width:32rem;min-width:0}.lu-frame{width:100%;aspect-ratio:1;padding:3px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.lu-frame[data-completion=won]{box-shadow:0 0 0 2px var(--color-text)}.lu-board{width:100%;height:100%;-webkit-user-select:none;user-select:none}.lu-row{display:flex;height:calc(100% / var(--lu-size))}.lu-cell{position:relative;display:grid;place-items:center;box-sizing:border-box;width:calc(100% / var(--lu-size));height:100%;padding:0;border:1px solid var(--color-border);border-radius:0;font:inherit;font-size:clamp(1rem,3.4vw,1.6rem);font-weight:600;background:var(--lu-unlit);color:#fff;cursor:pointer;touch-action:manipulation}.lu-cell[data-wall=true]{background:var(--lu-wall);color:#fff;cursor:default}.lu-cell[data-wall=true][data-clue=""]{background-image:repeating-linear-gradient(135deg,var(--lu-wall) 0 5px,#171b1e 5px 6px)}.lu-cell[data-lit=true]{background:var(--lu-light);color:var(--lu-dark)}.lu-lit-cue{position:absolute;top:3px;left:3px;width:5px;height:5px;border-radius:50%;background:currentColor;pointer-events:none}.lu-cell[data-error=true]{box-shadow:inset 0 0 0 2px var(--lu-error)}.lu-cell[data-wall=true][data-error=true]{color:#ffbaba}.lu-cell:focus-visible{outline:3px solid currentColor;outline-offset:-3px;box-shadow:none;z-index:2}.lu-cell[data-wall=true]:focus-visible{outline-color:#fff;box-shadow:inset 0 0 0 5px #24282b}.lu-cell[data-selected=true]:after{content:"";position:absolute;inset:12%;border:1px dashed currentColor;pointer-events:none}.lu-bulb{width:52%;height:62%;fill:currentColor;stroke:currentColor;stroke-width:2;stroke-linecap:round}.lu-mark{line-height:1;font-weight:400}.lu-error{position:absolute;top:1px;right:2px;font-size:.75rem;line-height:1;color:var(--lu-error)}.lu-cell[data-wall=true] .lu-error{color:#ffbaba}.lu-placeholder{display:grid;place-items:center;height:100%;color:var(--color-text-muted)}.lu-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin-block:.75rem}.lu-controls [aria-pressed=true]{border:2px solid var(--color-text)}.lu-selection{min-height:3rem;margin-block:.75rem;font-size:.875rem}.lu-rail{display:flex;flex-direction:column;gap:.75rem;min-width:0}.lu-status{min-height:5rem;padding:1rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.lu-tally{margin:0;min-height:1.5rem;font-variant-numeric:tabular-nums}.lu-toggle{display:flex;align-items:center;gap:.5rem;min-height:2rem}.lu-toggle input{width:1.125rem;height:1.125rem}.lu-help,.lu-credit{font-size:.875rem;color:var(--color-text-muted);margin-block:.75rem}.lu-rail summary{cursor:pointer;min-height:2rem}@media(min-width:56rem){.lu-layout{grid-template-columns:minmax(0,32rem) minmax(0,1fr);gap:2rem}}@media(forced-colors:active){.lu-cell[data-lit=true],.lu-cell[data-wall=true]{forced-color-adjust:none}.lu-cell:focus-visible{outline-color:Highlight}}.flg-page{max-width:68rem;margin-inline:auto}.flg-layout{display:grid;gap:1.5rem;align-items:start;margin-block:1.25rem}.flg-play{width:100%;min-width:0;max-width:40rem}.flg-frame{overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-md)}.flg-board{display:grid;width:100%;touch-action:none;-webkit-user-select:none;user-select:none;background:var(--color-surface-sunken)}.flg-cell{display:flex;position:relative;align-items:center;justify-content:center;width:100%;aspect-ratio:1;border-radius:0;line-height:1;min-width:26px;padding:0;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-accent);font-family:var(--font-mono);font-size:clamp(.875rem,2.2vw,1.125rem);cursor:pointer}.flg-cell[data-clue=true]{color:var(--color-text);font-weight:700}.flg-cell[data-complete=true]{background:var(--color-surface-sunken)}.flg-cell[data-error=true]{background:color-mix(in srgb,var(--color-danger) 15%,var(--color-surface))}.flg-cell[data-selected=true]:before{content:"";position:absolute;left:2px;top:2px;border-left:5px solid var(--color-text);border-bottom:5px solid transparent}.flg-cell[data-selected=true]{background:var(--color-accent-subtle);box-shadow:inset 0 0 0 2px var(--color-accent)}.flg-cell[data-border-left=true]{border-left-color:var(--color-text);border-left-width:2px}.flg-cell[data-border-right=true]{border-right-color:var(--color-text);border-right-width:2px}.flg-cell[data-border-top=true]{border-top-color:var(--color-text);border-top-width:2px}.flg-cell[data-border-bottom=true]{border-bottom-color:var(--color-text);border-bottom-width:2px}.flg-cell:focus-visible{outline:3px solid var(--color-accent);outline-offset:-5px;z-index:1}.flg-done{position:absolute;top:0;right:1px;color:var(--color-text);font-size:.625rem;font-weight:800}.flg-flag{position:absolute;top:0;right:2px;color:var(--color-danger);font-size:.625rem;font-weight:800}.flg-palette{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:.25rem;margin-block:.75rem}.flg-palette .ui-button{padding-inline:0;min-width:24px}.flg-controls{display:flex;gap:.5rem;flex-wrap:wrap}.flg-rail{display:flex;flex-direction:column;gap:.75rem;min-width:0}.flg-status{margin:0;min-height:3rem}.flg-selection{font-size:.8125rem;color:var(--color-text-muted);min-height:3rem;margin-block:.5rem}.flg-help,.flg-credit{font-size:.875rem;color:var(--color-text-muted)}.flg-placeholder{display:grid;place-items:center;background:var(--color-surface);border-radius:var(--radius-md)}.flg-rail details p{font-size:.875rem}@media(min-width:56rem){.flg-layout{grid-template-columns:minmax(0,1fr) 19rem}}.flg-cell[data-cursor=true]{outline:3px solid var(--color-accent);outline-offset:-5px}.gx-page{max-width:64rem;margin-inline:auto}.gx-layout{display:grid;gap:1.5rem;align-items:start;margin-block:1.25rem}.gx-play{width:100%;max-width:32rem;min-width:0}.gx-frame{width:100%;aspect-ratio:1;padding:3px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.gx-board{position:relative;width:100%;height:100%;touch-action:none;-webkit-user-select:none;user-select:none}.gx-row{display:flex;height:calc(100% / var(--gx-size))}.gx-cell{position:relative;display:grid;place-items:center;width:calc(100% / var(--gx-size));height:100%;padding:0;border:0 solid var(--color-text);border-top:1px solid var(--color-border);border-left:1px solid var(--color-border);border-radius:0;background:var(--color-surface);color:var(--color-text);font-size:clamp(.875rem,3vw,1.4rem);font-weight:600;cursor:crosshair}.gx-cell[data-top=true]{border-top:3px solid var(--color-text)}.gx-cell[data-left=true]{border-left:3px solid var(--color-text)}.gx-cell:last-child{border-right-width:3px}.gx-row[data-bottom=true] .gx-cell{border-bottom-width:3px}.gx-cell:disabled{opacity:1;cursor:wait}.gx-cell[data-correct="1"],.gx-cell[data-correct="2"]{background:color-mix(in srgb,var(--color-text) 12%,var(--color-surface))}.gx-cell:focus-visible{outline:3px solid var(--color-text);outline-offset:-5px;z-index:2}.gx-check{position:absolute;bottom:1px;right:2px;font-size:.6rem}.gx-placeholder{display:grid;place-items:center;height:100%;color:var(--color-text-muted)}.gx-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.gx-page .ui-button:empty:before{content:attr(data-label)}.gx-rail{display:flex;flex-direction:column;gap:.75rem;min-width:0}.gx-status{min-height:5rem;padding:1rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.gx-session-control{min-height:var(--control-height-md)}.gx-selected-cell{min-height:11rem}.gx-help,.gx-credit{font-size:.875rem;color:var(--color-text-muted);margin-block:.75rem}.gx-rail summary{cursor:pointer;min-height:2rem}@media(min-width:56rem){.gx-selected-cell{min-height:7rem}.gx-layout{grid-template-columns:minmax(0,32rem) minmax(0,1fr);gap:2rem}}@media(forced-colors:active){.gx-cell[data-correct="1"],.gx-cell[data-correct="2"]{background:Canvas}.gx-cell:focus-visible{outline-color:Highlight}}.gx-cell[data-selected=true]:after{content:"";position:absolute;inset:5px;border:1px dashed var(--color-text);pointer-events:none}.gx-dot{position:absolute;z-index:2;width:16px;height:16px;transform:translate(-50%,-50%);background:var(--color-surface);border:2px solid var(--color-text);border-radius:50%;pointer-events:none}.gx-dot[data-black=true]{background:var(--color-text)}.gx-dot[data-active=true]{box-shadow:0 0 0 3px var(--color-surface),0 0 0 4px var(--color-text)}.gx-dot span{position:absolute;left:13px;top:-10px;font-size:9px;font-weight:700;color:var(--color-text);background:var(--color-surface);border-radius:2px;padding:0 1px}.gx-arrow{display:block;font-size:clamp(12px,3vw,24px)}.gx-drag-note{position:absolute;inset:auto 0 0;background:var(--color-surface);border:1px solid var(--color-text);padding:4px;pointer-events:none;font-size:12px;z-index:3}.cb-page{max-width:64rem;margin-inline:auto}.cb-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(15rem,20rem);gap:var(--space-6);align-items:start}.cb-play,.cb-rail{min-width:0}.cb-frame{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3);aspect-ratio:1;display:grid;min-height:0}.cb-frame[data-completion=won]{border-color:var(--color-accent);box-shadow:inset 0 0 0 2px var(--color-accent)}.cb-win{position:absolute;inset-block-start:var(--space-1);inset-inline:var(--space-2);width:fit-content;max-width:calc(100% - 2 * var(--space-2));margin-inline:auto;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:.875rem;font-weight:600;pointer-events:none}.cb-board{width:100%;height:100%;min-height:0;border-radius:var(--radius-md);outline-offset:4px}.cb-board:focus-visible{outline:3px solid var(--color-accent)}.cb-arena{display:block;width:100%;height:100%;touch-action:manipulation;-webkit-user-select:none;user-select:none;cursor:pointer}.cb-square,.cb-face{fill:var(--color-surface);stroke:var(--color-text);stroke-width:.018;stroke-linejoin:round}.cb-square{fill:var(--color-surface);stroke:var(--color-text-muted)}.cb-face{stroke-width:.035}.cb-arena [data-blue=true]>polygon{fill:#2975ba}.cb-blue-mark{fill:#fff;stroke:#143e69;stroke-width:.018;pointer-events:none}.cb-cell-id{fill:var(--color-text);font-size:.3px;font-weight:600;font-variant-numeric:tabular-nums;text-anchor:middle;pointer-events:none}.cb-arena [data-blue=true]>.cb-cell-id{fill:#fff}.cb-directions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(44px,auto));gap:var(--space-2);margin-block:var(--space-3)}.cb-direction{font:inherit;line-height:var(--line-height-snug);min-height:44px;padding:var(--space-2);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-md);cursor:pointer}.cb-direction:disabled{opacity:.5;cursor:default}.cb-direction:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.cb-direction span{font-size:1.2rem}.cb-controls{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-block:var(--space-3)}.cb-rail{display:flex;flex-direction:column;gap:var(--space-3)}.cb-feedback{margin-block-start:var(--space-2)}.cb-status{min-block-size:4.5em;line-height:1.5;font-size:.875rem;font-weight:600}.cb-tally{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:0;min-block-size:1.5em;font-size:1rem;line-height:1.5}.cb-tally dt,.cb-tally dd{display:inline}.cb-tally dt{margin-inline-end:var(--space-1);font-size:.875rem;color:var(--color-text-muted)}.cb-tally dd{margin:0;font-variant-numeric:tabular-nums}.cb-session-action{min-block-size:44px}.cb-session-action>.ui-button{min-height:44px}.cb-help,.cb-credit{font-size:.875rem;color:var(--color-text-muted);margin:0}.cb-direction-placeholder{grid-area:1 / 1 / -1 / -1;align-self:center;text-align:center}.cb-controls .ui-button{min-height:44px}.cb-state>:not(summary){margin-top:var(--space-3)}.cb-faces{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-1);font-size:.85rem}.cb-faces span{white-space:nowrap}.cb-placeholder{min-height:0;display:grid;place-items:center;color:var(--color-text-muted)}@media(max-width:760px){.cb-layout{grid-template-columns:minmax(0,1fr)}.cb-directions{grid-template-columns:repeat(2,minmax(0,1fr))}.cb-frame{min-height:0}.cb-arena{height:100%}}.in-page{--in-gem: #126c4e;--in-ball: #285bb8;--in-mine: #a32432;max-width:64rem;margin-inline:auto}[data-theme=dark] .in-page{--in-gem: #69dbb2;--in-ball: #abc5ff;--in-mine: #ff9ca6}.in-layout{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:var(--space-6);align-items:start}.in-play,.in-rail{min-width:0}.in-play{max-width:40rem}.in-rail{display:grid;gap:var(--space-4)}.in-frame{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:3px;aspect-ratio:5 / 4;background:var(--color-surface);position:relative;display:grid;min-height:0}.in-scroll{max-width:100%;padding:4px;width:100%;height:100%;min-height:0;overflow:auto}.in-board{width:max(100%,calc(var(--in-width) * 24px));max-width:none;margin-inline:auto;border:2px solid var(--color-text-muted);border-radius:2px;touch-action:manipulation}.in-board:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.in-row{display:grid;grid-template-columns:repeat(var(--in-width),minmax(24px,1fr))}.in-cell{aspect-ratio:1;min-width:24px;min-height:24px;position:relative;display:grid;place-items:center;padding:0;border:0;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);border-radius:0;color:var(--color-text);background:var(--color-surface);font-size:clamp(1rem,2.7vw,1.75rem);cursor:pointer}.in-cell:hover{background:var(--color-surface-hover)}.in-cell:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px;z-index:1}.in-object{line-height:1}.in-object-g{color:var(--in-gem)}.in-object-m{color:var(--in-mine)}.in-cell[data-kind=w]{background:var(--color-surface-hover);box-shadow:inset 0 0 0 3px var(--color-border)}.in-object-w{color:var(--color-text-muted)}.in-object-s{font-size:1.4em}.in-ball{position:absolute;display:grid;place-items:center;width:78%;height:78%;border:2px solid var(--color-text);border-radius:50%;background:var(--in-ball);color:var(--color-surface);font-weight:700;font-size:1em;line-height:1}.in-cell[data-dead=true] .in-ball{background:var(--in-mine);border-radius:20%;color:#fff}.in-pad{display:grid;grid-template-columns:repeat(3,2.75rem);justify-content:center;gap:.3rem;margin-block:var(--space-4)}.in-direction{height:2.75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:1.6rem;cursor:pointer}.in-direction:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.in-direction[aria-disabled=true]{border-style:dashed;color:var(--color-text-muted);cursor:not-allowed}.in-direction[data-hint=true]:not([aria-disabled=true]){border:3px solid var(--in-gem)}.in-pad-centre{display:grid;place-items:center;color:var(--in-gem)}.in-controls{display:flex;flex-wrap:wrap;gap:var(--space-2)}.in-help,.in-credit{font-size:.875rem;color:var(--color-text-muted)}.in-help{margin-block:var(--space-3)}.in-status{min-block-size:calc(10.5em + .5rem);font-size:.875rem;line-height:1.5;margin-block:var(--space-2)}.in-tally{display:flex;gap:var(--space-6);margin:0;min-block-size:2.75rem}.in-tally dt{color:var(--color-text-muted);font-size:.875rem}.in-tally dd{margin:0;font-variant-numeric:tabular-nums;font-size:1.5rem}.in-legend{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:.875rem}.in-placeholder{height:100%;display:grid;place-items:center}@media(max-width:850px){.in-layout{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.in-page *{transition:none}}.in-feedback{margin-block-start:var(--space-2)}.in-session-action{min-block-size:2.75rem}.in-win{display:inline-block;padding:.25rem .5rem;border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:.875rem;font-weight:600}.in-frame[data-completion=won]{box-shadow:inset 0 0 0 2px var(--color-success)}.gs-page{max-width:64rem;margin-inline:auto}.gs-layout{display:grid;gap:1.5rem;align-items:start;margin-block:1.25rem}.gs-play{width:100%;max-width:36rem;min-width:0}.gs-frame{padding:.75rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);height:54rem}.gs-frame[data-completion=won]{box-shadow:0 0 0 2px var(--color-text)}.gs-board{-webkit-user-select:none;user-select:none}.gs-palette{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;min-height:8.75rem;align-content:start;margin-bottom:.75rem}.gs-swatch{display:flex;align-items:center;gap:.375rem;min-height:2.75rem;padding:.25rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text);font:inherit;font-size:.875rem;cursor:pointer;touch-action:manipulation}.gs-swatch[aria-pressed=true]{border:2px solid var(--color-text);padding:calc(.25rem - 1px)}.gs-swatch .gs-chip{width:1.625rem;height:1.625rem;flex:none}.gs-rows{display:flex;flex-direction:column;gap:.25rem}.gs-row{display:grid;grid-template-columns:1.125rem repeat(var(--gs-pegs),minmax(0,1fr)) 4.75rem;align-items:center;gap:.25rem;min-height:2.75rem;padding:.125rem;border:1px solid transparent;border-radius:6px}.gs-row[data-active=true]{border-color:var(--color-text);background:var(--color-surface-hover)}.gs-row-number{font-size:.75rem;text-align:center;font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.gs-peg{position:relative;display:grid;place-items:center;padding:0;height:2.5rem;min-width:0;width:100%;border:0;border-radius:4px;background:transparent;color:var(--color-text);font:inherit;cursor:pointer;touch-action:manipulation}.gs-chip{display:grid;place-items:center;width:clamp(1.5rem,7vw,2rem);height:clamp(1.5rem,7vw,2rem);border:1px solid var(--color-text-muted);border-radius:50%;font-weight:700;font-size:.875rem;line-height:1;background:var(--gs-c, var(--color-surface));color:var(--gs-ink, var(--color-text))}.gs-page [data-colour="1"]{--gs-c: #bb2424;--gs-ink: #fff}.gs-page [data-colour="2"]{--gs-c: #f2cc35;--gs-ink: #171717}.gs-page [data-colour="3"]{--gs-c: #238539;--gs-ink: #fff}.gs-page [data-colour="4"]{--gs-c: #3159c7;--gs-ink: #fff}.gs-page [data-colour="5"]{--gs-c: #ed8b2c;--gs-ink: #171717}.gs-page [data-colour="6"]{--gs-c: #8040a5;--gs-ink: #fff}.gs-page [data-colour="7"]{--gs-c: #78504a;--gs-ink: #fff}.gs-page [data-colour="8"]{--gs-c: #79cdf3;--gs-ink: #171717}.gs-peg[data-selected=true]{outline:1px dashed var(--color-text);outline-offset:-1px}.gs-held{position:absolute;bottom:-2px;right:0;padding:0 .125rem;font-size:.75rem;font-weight:700;background:var(--color-text);color:var(--color-surface);border-radius:2px}.gs-feedback{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.25rem;width:4.75rem;color:var(--color-text-muted);padding:0;border:0;border-radius:4px;background:transparent;font:inherit;height:2.5rem}.gs-feedback-peg{display:inline-block;flex:none;width:.75rem;height:.75rem;box-sizing:border-box;border:1px solid var(--color-text-muted);border-radius:50%;vertical-align:baseline}.gs-feedback-peg[data-feedback="1"]{border-radius:1px;background:#171717;border-color:#fff;box-shadow:0 0 0 1px #171717}.gs-feedback-peg[data-feedback="2"]{background:#fff;border:2px solid #171717;box-shadow:0 0 0 1px #fff}.gs-feedback.gs-submit{border:1px solid var(--color-border);font-size:.75rem;background:var(--color-surface);color:var(--color-text-muted);cursor:default}.gs-submit[data-ready=true]{color:var(--color-text);border-color:var(--color-text);cursor:pointer;font-weight:600}.gs-page button[aria-disabled=true]{cursor:default;opacity:1}.gs-page button:focus-visible,.gs-solution:focus-visible,.gs-selection:focus-visible{outline:3px solid var(--color-focus);outline-offset:1px;z-index:1}.gs-solution{display:grid;grid-template-columns:4.25rem repeat(var(--gs-pegs),minmax(0,1fr));align-items:center;gap:.25rem;margin-top:.75rem;padding-top:.5rem;border-top:1px solid var(--color-border)}.gs-solution-label{font-size:.875rem}.gs-placeholder{height:100%;display:grid;place-items:center;color:var(--color-text-muted)}.gs-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.gs-recovery{height:2.75rem}.gs-rail{display:flex;flex-direction:column;gap:.75rem;min-width:0}.gs-status{height:12rem;margin-top:.75rem;overflow:auto;padding:1rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.gs-legend{font-size:.875rem;line-height:1.8;margin:0}.gs-toggle{display:flex;align-items:center;gap:.5rem;min-height:2rem}.gs-toggle input{width:1.125rem;height:1.125rem}.gs-help,.gs-credit{margin-block:.75rem;font-size:.875rem;color:var(--color-text-muted)}.gs-selection{height:6rem;overflow:auto;font-size:.875rem}.gs-rail summary{cursor:pointer;min-height:2rem}@media(min-width:56rem){.gs-layout{grid-template-columns:minmax(0,36rem) minmax(0,1fr);gap:2rem}}@media(max-width:24rem){.gs-frame{padding:.375rem}.gs-palette{gap:.25rem}.gs-swatch{font-size:.75rem;gap:.125rem}.gs-swatch .gs-chip{width:1.25rem;height:1.25rem;font-size:.75rem}.gs-row{gap:.125rem}}@media(forced-colors:active){.gs-chip,.gs-feedback-peg{forced-color-adjust:none}.gs-peg:focus-visible{outline-color:Highlight}}.sg-page{max-width:64rem;margin-inline:auto}.sg-layout{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:var(--space-6);align-items:start}.sg-play,.sg-rail{min-width:0}.sg-play{max-width:32rem}.sg-rail{display:grid;gap:var(--space-4)}.sg-frame{aspect-ratio:1;box-shadow:0 0 0 1px var(--color-border);background:var(--color-surface);display:grid;min-height:0;overflow:auto}.sg-frame[data-completion=won]{box-shadow:0 0 0 3px var(--color-success)}.sg-board{width:max(100%,calc(var(--sg-size) * 24px));aspect-ratio:1;display:grid;grid-template-rows:repeat(var(--sg-size),minmax(0,1fr));container-type:inline-size;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.sg-row{display:grid;grid-template-columns:repeat(var(--sg-size),minmax(0,1fr))}.sg-cell{position:relative;display:grid;place-items:center;min-width:0;min-height:0;padding:0;border:1px solid var(--color-border);border-radius:0;background:var(--color-surface);color:var(--color-text);font:inherit;font-size:calc(100cqi / var(--sg-size) * .48);font-weight:600;font-variant-numeric:tabular-nums;line-height:1;cursor:pointer;touch-action:manipulation}.sg-cell:hover:not([data-black=true]){background:var(--color-surface-hover)}.sg-cell[data-black=true]{background:var(--color-text);color:var(--color-surface)}.sg-cell[data-black=true] .sg-number{visibility:hidden}.sg-board[data-black-numbers=true] .sg-cell[data-black=true] .sg-number{visibility:visible;opacity:.75}.sg-cell[data-circle=true]:before{content:"";position:absolute;inset:12%;border:2px solid currentColor;border-radius:50%;pointer-events:none}.sg-cell[data-error=true]{color:var(--color-danger)}.sg-cell[data-error=true][data-black=true]{background:var(--color-danger);color:var(--color-surface)}.sg-cell[data-error=true]:after{content:"";position:absolute;inset:3px;border:2px dashed currentColor;pointer-events:none}.sg-error{position:absolute;top:7px;right:8px;font-size:max(.75rem,.36em);font-weight:700;line-height:1}.sg-cell:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px;box-shadow:inset 0 0 0 5px var(--color-surface);z-index:1}.sg-placeholder{display:grid;place-items:center;height:100%;color:var(--color-text-muted)}.sg-feedback{margin-block-start:var(--space-2)}.sg-status{min-block-size:9em;font-size:.875rem;line-height:1.5}.sg-badge{display:inline-block;margin-inline-end:var(--space-2);padding:0 .5rem;border-radius:var(--radius-sm);box-shadow:inset 0 0 0 2px var(--color-success);color:var(--color-text);font-weight:700}.sg-badge[data-completion=revealed]{box-shadow:none;outline:2px dashed var(--color-text-muted);outline-offset:-2px}.sg-tally{margin:0;min-block-size:1.5rem;font-size:.875rem;font-variant-numeric:tabular-nums}.sg-session-action{min-block-size:2.75rem}.sg-controls{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-block:var(--space-3)}.sg-toggle{display:flex;align-items:flex-start;gap:.5rem;min-height:3em;line-height:1.5}.sg-toggle input{flex:none;width:1.125rem;height:1.125rem;margin:.1875rem 0 0}.sg-help,.sg-credit{font-size:.875rem;color:var(--color-text-muted)}.sg-help{margin-block:var(--space-3)}.sg-legend{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:.875rem}.sg-legend>span{display:inline-flex;align-items:center;gap:.375rem}.sg-key,.sg-key-error{display:inline-grid;place-items:center;width:1.125rem;height:1.125rem;border:1px solid var(--color-border)}.sg-key[data-black=true]{background:var(--color-text)}.sg-key[data-circle=true]{border:2px solid var(--color-text);border-radius:50%}.sg-key-error{border:2px dashed var(--color-danger);color:var(--color-danger);font-weight:700;font-size:.75rem}.sg-rail summary{cursor:pointer;min-height:2rem}@media(max-width:850px){.sg-layout{grid-template-columns:minmax(0,1fr)}}@media(forced-colors:active){.sg-cell[data-black=true]{forced-color-adjust:none;background:CanvasText;color:Canvas}.sg-cell:focus-visible{outline-color:Highlight}}.tw-page{--tw-gap: 4px;max-width:64rem;margin-inline:auto}.tw-layout{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:var(--space-6);align-items:start}.tw-play,.tw-rail{min-width:0}.tw-play{max-width:32rem}.tw-rail{display:grid;gap:var(--space-4)}.tw-frame{aspect-ratio:1;width:100%;max-width:30rem;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-sunken);display:grid}.tw-frame[data-completion=won]{box-shadow:inset 0 0 0 3px var(--color-success)}.tw-placeholder{display:grid;place-items:center;color:var(--color-text-muted)}.tw-stage{position:relative;container-type:inline-size;min-width:0;min-height:0}.tw-board{display:grid;grid-template-rows:repeat(var(--tw-size),minmax(0,1fr));gap:var(--tw-gap);width:100%;height:100%;border-radius:var(--radius-sm);touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:pointer}.tw-board:focus-visible{outline:3px solid var(--color-focus);outline-offset:5px}.tw-row{display:grid;grid-template-columns:repeat(var(--tw-size),minmax(0,1fr));gap:var(--tw-gap);min-height:0}.tw-cell{position:relative;min-width:0;min-height:0}.tw-tile{position:absolute;inset:0;display:grid;place-items:center;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface-raised);box-shadow:inset 2px 2px 0 var(--color-surface),inset -2px -2px 0 var(--color-border);color:var(--color-text);font-size:calc(100cqi / var(--tw-size) * .4);font-weight:600;font-variant-numeric:tabular-nums;line-height:1}.tw-number{position:relative}.tw-arrow{position:absolute;inset:0;display:grid;justify-items:center;align-items:start;transform:rotate(calc(var(--tw-turn) * -90deg))}.tw-arrow-glyph{margin-top:6%;font-size:.55em;color:var(--color-text-muted)}.tw-overlay{position:absolute;inset:0;pointer-events:none}.tw-centre{position:absolute;left:calc((100% + var(--tw-gap)) * var(--tw-cx) / var(--tw-size) - var(--tw-gap) / 2);top:calc((100% + var(--tw-gap)) * var(--tw-cy) / var(--tw-size) - var(--tw-gap) / 2);width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--color-text-muted);opacity:.55}.tw-selection{position:absolute;left:calc((100% + var(--tw-gap)) * var(--tw-x) / var(--tw-size) - 4px);top:calc((100% + var(--tw-gap)) * var(--tw-y) / var(--tw-size) - 4px);width:calc((100% + var(--tw-gap)) * var(--tw-block) / var(--tw-size) - var(--tw-gap) + 8px);height:calc((100% + var(--tw-gap)) * var(--tw-block) / var(--tw-size) - var(--tw-gap) + 8px);border:3px dashed var(--color-accent);border-radius:var(--radius-md)}.tw-stage:has(.tw-board:focus-visible) .tw-selection{border-style:solid}.tw-feedback{margin-block-start:var(--space-2)}.tw-status{min-block-size:calc(10.5em + .5rem);font-size:.875rem;line-height:1.5;margin-block:var(--space-2)}.tw-badge{display:inline-block;padding:0 .5rem;border-radius:var(--radius-sm);background:var(--color-success);color:var(--color-success-contrast);font-weight:700}.tw-badge[data-completion=revealed]{background:var(--color-surface-hover);color:var(--color-text);box-shadow:inset 0 0 0 1px var(--color-border-strong)}.tw-tally{display:flex;gap:var(--space-6);margin:0;min-block-size:2.75rem}.tw-tally dt{color:var(--color-text-muted);font-size:.875rem}.tw-tally dd{margin:0;font-size:1.25rem;font-variant-numeric:tabular-nums;white-space:nowrap}.tw-session-action{display:grid;grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));min-block-size:2.75rem}.tw-session-action .ui-button{width:100%}.tw-controls{display:grid;gap:var(--space-2);margin-block:var(--space-3)}.tw-turns{grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr))}.tw-history{grid-template-columns:repeat(3,minmax(0,1fr))}.tw-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.tw-controls .ui-button{width:100%}.tw-page .ui-button:empty:before{content:attr(data-label)}.tw-controls [data-icon]:before{margin-inline-end:.35em}.tw-controls [data-icon=anticlockwise]:before{content:"↺";content:"↺" / ""}.tw-controls [data-icon=clockwise]:before{content:"↻";content:"↻" / ""}.tw-controls [data-icon=anticlockwise]:empty:before{content:"↺ " attr(data-label)}.tw-controls [data-icon=clockwise]:empty:before{content:"↻ " attr(data-label)}.tw-help,.tw-credit{font-size:.875rem;color:var(--color-text-muted)}@media(min-width:560px){.tw-status{min-block-size:calc(7.5em + .5rem)}}@media(max-width:850px){.tw-layout{grid-template-columns:minmax(0,1fr)}}.tn-page{max-width:64rem;margin-inline:auto}.tn-layout{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:var(--space-6);align-items:start}.tn-play,.tn-rail{min-width:0}.tn-play{max-width:32rem}.tn-rail{display:grid;gap:var(--space-4)}.tn-frame{aspect-ratio:1;box-shadow:0 0 0 1px var(--color-border);background:var(--color-surface);display:grid;min-height:0;overflow:auto}.tn-frame[data-completion=won]{box-shadow:0 0 0 3px var(--color-success)}.tn-board{width:max(100%,calc((var(--tn-size) + 1) * 24px));aspect-ratio:1;display:grid;grid-template-rows:repeat(calc(var(--tn-size) + 1),minmax(0,1fr));container-type:inline-size;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.tn-row{display:grid;grid-template-columns:repeat(calc(var(--tn-size) + 1),minmax(0,1fr))}.tn-cell{position:relative;display:grid;place-items:center;min-width:0;min-height:0;padding:0;border:1px solid var(--color-border);border-radius:0;overflow:hidden;background:var(--color-surface);color:var(--color-text);font:inherit;cursor:pointer;touch-action:manipulation}.tn-cell:hover:not([data-kind=tree]){background:var(--color-surface-hover)}.tn-cell[data-kind=grass],.tn-cell[data-preview=grass]{background:color-mix(in srgb,var(--color-success) 24%,var(--color-surface))}.tn-cell[data-kind=grass]:hover{background:color-mix(in srgb,var(--color-success) 32%,var(--color-surface))}.tn-icon{width:86%;height:86%;pointer-events:none}.tn-leaves{fill:var(--color-success)}.tn-trunk{fill:var(--color-text-muted)}.tn-tent{fill:var(--color-accent)}.tn-door{fill:var(--color-surface)}.tn-grass{width:60%;height:60%;fill:none;stroke:var(--color-success);stroke-width:2.5;stroke-linecap:round}.tn-cell[data-unmatched=true] .tn-leaves,.tn-cell[data-unmatched=true] .tn-tent{fill:var(--color-danger)}.tn-cell[data-unmatched=true]:after{content:"";position:absolute;inset:3px;border:2px dashed var(--color-danger);pointer-events:none}.tn-adjacent{position:absolute;width:56%;height:56%;border:1px solid var(--color-text);background:var(--color-danger);transform:translate(-50%,-50%) rotate(45deg);pointer-events:none}.tn-adjacent[data-edge^=t]{top:0}.tn-adjacent[data-edge=l],.tn-adjacent[data-edge=r]{top:50%}.tn-adjacent[data-edge^=b]{top:100%}.tn-adjacent[data-edge$=l]{left:0}.tn-adjacent[data-edge=t],.tn-adjacent[data-edge=b]{left:50%}.tn-adjacent[data-edge$=r]{left:100%}.tn-cell:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px;box-shadow:inset 0 0 0 5px var(--color-surface);z-index:1}.tn-clue,.tn-corner{position:relative;display:grid;place-items:center;min-width:0;min-height:0}.tn-clue{font-size:calc(100cqi / (var(--tn-size) + 1) * .5);font-weight:600;font-variant-numeric:tabular-nums;line-height:1}.tn-clue[data-error=true]{color:var(--color-danger);font-weight:800}.tn-clue[data-error=true]:after{content:"";position:absolute;inset:12%;border:2px dashed var(--color-danger);border-radius:50%;pointer-events:none}.tn-placeholder{display:grid;place-items:center;height:100%;color:var(--color-text-muted)}.tn-feedback{margin-block-start:var(--space-2)}.tn-status{min-block-size:calc(9em + .5rem);font-size:.875rem;line-height:1.5;margin-block:var(--space-2)}.tn-badge{display:inline-block;margin-inline-end:var(--space-2);padding:0 .5rem;border-radius:var(--radius-sm);box-shadow:inset 0 0 0 2px var(--color-success);color:var(--color-text);font-weight:700}.tn-badge[data-completion=revealed]{box-shadow:none;outline:2px dashed var(--color-text-muted);outline-offset:-2px}.tn-tally{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;min-block-size:1.5rem;font-size:.875rem;line-height:1.5;font-variant-numeric:tabular-nums}.tn-tally div{display:flex;gap:.5em;min-width:0}.tn-tally dt{color:var(--color-text-muted)}.tn-tally dt:after{content:":"}.tn-tally dd{margin:0;white-space:nowrap}.tn-session-action{display:grid;grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));min-block-size:2.75rem;margin-block-start:var(--space-2)}.tn-controls{display:grid;gap:var(--space-2);margin-block:var(--space-3)}.tn-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.tn-history{grid-template-columns:repeat(3,minmax(0,1fr))}.tn-controls .ui-button,.tn-session-action .ui-button{width:100%}.tn-page .ui-button:empty:before{content:attr(data-label)}.tn-help,.tn-credit{font-size:.875rem;color:var(--color-text-muted)}.tn-help{margin-block:var(--space-3)}.tn-legend{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:.875rem}.tn-legend>span{display:inline-flex;align-items:center;gap:.375rem}.tn-key{display:inline-block;width:1.125rem;height:1.125rem;border:1px solid var(--color-border);background:var(--color-surface)}.tn-key[data-kind=tree]{border-radius:50% 50% 2px 2px;background:var(--color-success)}.tn-key[data-kind=tent]{border:0;background:var(--color-accent);clip-path:polygon(50% 0,100% 100%,0 100%)}.tn-key[data-kind=grass]{background:color-mix(in srgb,var(--color-success) 24%,var(--color-surface))}.tn-key[data-kind=error]{border:2px dashed var(--color-danger);background:transparent}.tn-rail summary{cursor:pointer;min-height:2rem}@media(min-width:560px){.tn-status{min-block-size:calc(6em + .5rem)}}@media(max-width:850px){.tn-layout{grid-template-columns:minmax(0,1fr)}}@media(forced-colors:active){.tn-cell:focus-visible{outline-color:Highlight}.tn-cell[data-kind=grass] .tn-grass{stroke:CanvasText}}.rg-page{max-width:64rem;margin-inline:auto}.rg-layout{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:var(--space-6);align-items:start}.rg-play,.rg-rail{min-width:0}.rg-play{max-width:36rem}.rg-rail{display:grid;gap:var(--space-4)}.rg-frame{aspect-ratio:3 / 2;container-type:size;box-shadow:0 0 0 1px var(--color-border);background:var(--color-surface);display:grid;min-height:0;overflow:auto}.rg-frame[data-completion=won]{box-shadow:0 0 0 3px var(--color-success)}.rg-board{margin:auto;width:max(min(100cqw,calc(100cqh * var(--rg-w) / var(--rg-h))),calc(var(--rg-w) * 24px));aspect-ratio:var(--rg-w) / var(--rg-h);display:grid;grid-template-rows:repeat(var(--rg-h),minmax(0,1fr));container-type:inline-size;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.rg-row{display:grid;grid-template-columns:repeat(var(--rg-w),minmax(0,1fr))}.rg-cell{position:relative;display:grid;place-items:center;min-width:0;min-height:0;padding:0;border:1px solid var(--color-border);border-radius:0;background:var(--color-surface);color:var(--color-text);font:inherit;cursor:pointer;touch-action:manipulation}.rg-cell:hover:not([data-kind=black]):not([data-kind=clue]){background:var(--color-surface-hover)}.rg-cell[data-kind=clue]{cursor:default}.rg-cell[data-kind=black]{background:var(--color-text)}.rg-clue{font-size:calc(100cqi / var(--rg-w) * .55);font-weight:600;font-variant-numeric:tabular-nums;line-height:1;pointer-events:none}.rg-dot{width:22%;aspect-ratio:1;border-radius:50%;background:currentColor;pointer-events:none}.rg-cell[data-error]{color:var(--color-danger)}.rg-cell[data-error][data-kind=clue] .rg-clue{font-weight:800}.rg-cell[data-error][data-kind=black]{background:var(--color-danger);color:var(--color-surface)}.rg-cell[data-error]:after{content:"";position:absolute;inset:3px;border:2px dashed currentColor;pointer-events:none}.rg-cell:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px;box-shadow:inset 0 0 0 5px var(--color-surface);z-index:1}.rg-placeholder{display:grid;place-items:center;height:100%;color:var(--color-text-muted)}.rg-feedback{margin-block-start:var(--space-2)}.rg-status{min-block-size:calc(9em + .5rem);font-size:.875rem;line-height:1.5;margin-block:var(--space-2)}.rg-badge{display:inline-block;margin-inline-end:var(--space-2);padding:0 .5rem;border-radius:var(--radius-sm);box-shadow:inset 0 0 0 2px var(--color-success);color:var(--color-text);font-weight:700}.rg-badge[data-completion=revealed]{box-shadow:none;outline:2px dashed var(--color-text-muted);outline-offset:-2px}.rg-tally{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;min-block-size:1.5rem;font-size:.875rem;line-height:1.5;font-variant-numeric:tabular-nums}.rg-tally div{display:flex;gap:.5em;min-width:0}.rg-tally dt{color:var(--color-text-muted)}.rg-tally dt:after{content:":"}.rg-tally dd{margin:0;white-space:nowrap}.rg-session-action{display:grid;grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));min-block-size:2.75rem;margin-block-start:var(--space-2)}.rg-controls{display:grid;gap:var(--space-2);margin-block:var(--space-3)}.rg-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.rg-trio{grid-template-columns:repeat(3,minmax(0,1fr))}.rg-controls .ui-button,.rg-session-action .ui-button{width:100%;padding-inline:var(--space-2)}.rg-page .ui-button:empty:before{content:attr(data-label)}.rg-help,.rg-credit{font-size:.875rem;color:var(--color-text-muted)}.rg-help{margin-block:var(--space-3)}.rg-legend{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:.875rem}.rg-legend>span{display:inline-flex;align-items:center;gap:.375rem}.rg-key{display:inline-grid;place-items:center;width:1.125rem;height:1.125rem;border:1px solid var(--color-border);background:var(--color-surface)}.rg-key[data-kind=black]{background:var(--color-text)}.rg-key[data-kind=dot]:before{content:"";width:.3rem;height:.3rem;border-radius:50%;background:var(--color-text)}.rg-key[data-kind=error]{border:2px dashed var(--color-danger);background:transparent}.rg-rail summary{cursor:pointer;min-height:2rem}@media(min-width:560px){.rg-status{min-block-size:calc(6em + .5rem)}}@media(max-width:850px){.rg-layout{grid-template-columns:minmax(0,1fr)}}@media(forced-colors:active){.rg-cell[data-kind=black]{forced-color-adjust:none;background:CanvasText;color:Canvas}.rg-cell:focus-visible{outline-color:Highlight}}.uq-page{max-width:64rem;margin-inline:auto}.uq-layout{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:var(--space-6);align-items:start}.uq-play,.uq-rail{min-width:0}.uq-play{max-width:32rem}.uq-rail{display:grid;gap:var(--space-4)}.uq-frame{aspect-ratio:1;box-shadow:0 0 0 1px var(--color-border);background:var(--color-surface);display:grid;min-height:0;padding:var(--space-2);container-type:inline-size}.uq-frame[data-completion=won]{box-shadow:0 0 0 3px var(--color-success)}.uq-board{--uq-unit: calc(100cqi / (3 * var(--uq-size) - 1));aspect-ratio:1;display:grid;grid-template-rows:repeat(var(--uq-size),minmax(0,1fr));row-gap:var(--uq-unit);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.uq-row{display:grid;grid-template-columns:repeat(var(--uq-size),minmax(0,1fr));column-gap:var(--uq-unit)}.uq-slot{position:relative;display:grid;min-width:0;min-height:0}.uq-cell{position:relative;display:grid;place-items:center;min-width:0;min-height:0;padding:0;border:1px solid var(--color-text-muted);border-radius:0;background:var(--color-surface);color:var(--color-accent);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;touch-action:manipulation}.uq-cell:hover{background:var(--color-surface-hover)}.uq-cell[data-selected=true]{background:var(--color-accent-subtle)}.uq-cell[data-pencil=true]:before{content:"";position:absolute;inset:0 auto auto 0;width:40%;height:40%;background:var(--color-accent);clip-path:polygon(0 0,100% 0,0 100%);pointer-events:none}.uq-cell[data-given=true]{color:var(--color-text);font-weight:700}.uq-value{font-size:calc(var(--uq-unit) * 1.3);line-height:1}.uq-cell[data-error=true]{color:var(--color-danger)}.uq-cell[data-error=true]:after{content:"";position:absolute;inset:3px;border:2px dashed var(--color-danger);pointer-events:none}.uq-marks{display:grid;grid-template-columns:repeat(3,1fr);width:100%;height:100%;padding:6%;font-size:calc(var(--uq-unit) * .62);line-height:1;color:var(--color-text-muted);place-items:center}.uq-cell:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px;box-shadow:inset 0 0 0 5px var(--color-surface);z-index:1}.uq-sign{position:absolute;display:grid;place-items:center;color:var(--color-text);touch-action:manipulation}.uq-sign[data-side=right]{inset-block:0;inset-inline-start:100%;width:var(--uq-unit)}.uq-sign[data-side=down]{inset-inline:0;inset-block-start:100%;height:var(--uq-unit)}.uq-sign:not([data-clue=none]){cursor:pointer}.uq-sign svg{width:min(100%,calc(var(--uq-unit) * 1.1));height:min(100%,calc(var(--uq-unit) * 1.1));overflow:visible;pointer-events:none}.uq-chevron{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.uq-bar{fill:currentColor}.uq-sign[data-spent=true]{color:var(--color-text-muted)}.uq-sign[data-spent=true] .uq-chevron{stroke-dasharray:3 3}.uq-sign[data-spent=true] .uq-bar{fill:none;stroke:currentColor;stroke-width:2;stroke-dasharray:3 2}.uq-sign[data-error=true]{color:var(--color-danger)}.uq-sign[data-error=true]:after{content:"";position:absolute;inset:0;margin:auto;width:calc(var(--uq-unit) * 1.2);height:calc(var(--uq-unit) * 1.2);border:2px dashed var(--color-danger);border-radius:50%;pointer-events:none}.uq-sign[data-clue=none][data-error=true] .uq-bar{fill:none;stroke:currentColor;stroke-width:2}.uq-placeholder{display:grid;place-items:center;height:100%;color:var(--color-text-muted)}.uq-feedback{margin-block-start:var(--space-2)}.uq-status{min-block-size:calc(9em + .5rem);font-size:.875rem;line-height:1.5;margin-block:var(--space-2)}.uq-badge{display:inline-block;margin-inline-end:var(--space-2);padding:0 .5rem;border-radius:var(--radius-sm);box-shadow:inset 0 0 0 2px var(--color-success);color:var(--color-text);font-weight:700}.uq-badge[data-completion=revealed]{box-shadow:none;outline:2px dashed var(--color-text-muted);outline-offset:-2px}.uq-tally{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;min-block-size:1.5rem;font-size:.875rem;line-height:1.5;font-variant-numeric:tabular-nums}.uq-tally div{display:flex;gap:.5em;min-width:0}.uq-tally dt{color:var(--color-text-muted)}.uq-tally dt:after{content:":"}.uq-tally dd{margin:0;white-space:nowrap}.uq-session-action{display:grid;grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));min-block-size:2.75rem;margin-block-start:var(--space-2)}.uq-controls{display:grid;gap:var(--space-2);margin-block:var(--space-3)}.uq-pad{grid-template-columns:repeat(4,minmax(0,1fr))}.uq-pad .ui-button{padding-inline:var(--space-1);white-space:nowrap}.uq-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.uq-history{grid-template-columns:repeat(3,minmax(0,1fr))}.uq-controls .ui-button,.uq-session-action .ui-button{width:100%}.uq-page .ui-button:empty:before{content:attr(data-label)}.uq-help,.uq-credit{font-size:.875rem;color:var(--color-text-muted)}.uq-help{margin-block:var(--space-3)}.uq-legend{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:.875rem}.uq-legend>span{display:inline-flex;align-items:center;gap:.375rem}.uq-key{display:inline-block;width:1.125rem;height:1.125rem;background:var(--color-text)}.uq-key[data-kind=greater]{clip-path:polygon(15% 0,85% 50%,15% 100%,15% 75%,55% 50%,15% 25%)}.uq-key[data-kind=adjacent]{clip-path:inset(0 38%)}.uq-key[data-kind=error]{border:2px dashed var(--color-danger);border-radius:50%;background:transparent}.uq-rail summary{cursor:pointer;min-height:2rem}@media(min-width:560px){.uq-status{min-block-size:calc(6em + .5rem)}}@media(max-width:850px){.uq-layout{grid-template-columns:minmax(0,1fr)}}@media(forced-colors:active){.uq-cell:focus-visible{outline-color:Highlight}.uq-cell[data-pencil=true]:before{background:Highlight}}.to-page{max-width:64rem;margin-inline:auto}.to-layout{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:var(--space-6);align-items:start}.to-play,.to-rail{min-width:0}.to-play{max-width:32rem}.to-rail{display:grid;gap:var(--space-4)}.to-frame{aspect-ratio:1;box-shadow:0 0 0 1px var(--color-border);background:var(--color-surface);display:grid;min-height:0;padding:var(--space-2);container-type:inline-size}.to-frame[data-completion=won]{box-shadow:0 0 0 3px var(--color-success)}.to-board{--to-unit: calc(100cqi / (var(--to-size) + 1.5));aspect-ratio:1;display:grid;grid-template-columns:3fr repeat(var(--to-size),4fr) 3fr;grid-template-rows:3fr repeat(var(--to-size),4fr) 3fr;min-width:0;min-height:0;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.to-grid{grid-row:2 / -2;grid-column:2 / -2;display:grid;grid-template-rows:repeat(var(--to-size),minmax(0,1fr));min-width:0;min-height:0;box-shadow:0 0 0 1px var(--color-text)}.to-row{display:grid;grid-template-columns:repeat(var(--to-size),minmax(0,1fr))}.to-slot{position:relative;display:grid;min-width:0;min-height:0}.to-cell{position:relative;display:grid;place-items:center;min-width:0;min-height:0;padding:0;border:0;border-radius:0;box-shadow:inset 0 0 0 .5px var(--color-text-muted);background:var(--color-surface);color:var(--color-accent);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;touch-action:manipulation}.to-cell:hover{background:var(--color-surface-hover)}.to-cell[data-selected=true]{background:var(--color-accent-subtle)}.to-cell[data-pencil=true]:before{content:"";position:absolute;inset:0 auto auto 0;width:40%;height:40%;background:var(--color-accent);clip-path:polygon(0 0,100% 0,0 100%);pointer-events:none}.to-cell[data-given=true]{color:var(--color-text);font-weight:700}.to-value{font-size:calc(var(--to-unit) * .5);line-height:1}.to-cell[data-error=true]{color:var(--color-danger)}.to-cell[data-error=true]:after{content:"";position:absolute;inset:3px;border:2px dashed var(--color-danger);pointer-events:none}.to-marks{display:grid;grid-template-columns:repeat(3,1fr);width:100%;height:100%;padding:8%;font-size:calc(var(--to-unit) * .28);line-height:1;color:var(--color-text-muted);place-items:center}.to-cell:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px;box-shadow:inset 0 0 0 5px var(--color-surface);z-index:1}.to-clue{position:relative;display:grid;place-items:center;min-width:0;min-height:0;color:var(--color-text);font-size:max(.875rem,calc(var(--to-unit) * .4));font-weight:700;line-height:1;font-variant-numeric:tabular-nums;touch-action:manipulation}.to-clue:not([data-value="0"]){cursor:pointer}.to-clue[data-done=true]{color:var(--color-text-muted);font-weight:400;text-decoration:line-through;text-decoration-thickness:2px}.to-clue[data-error=true]{color:var(--color-danger)}.to-clue[data-error=true]:after{content:"";position:absolute;inset:0;margin:auto;width:calc(var(--to-unit) * .62);height:calc(var(--to-unit) * .62);border:2px dashed var(--color-danger);border-radius:50%;pointer-events:none}.to-placeholder{display:grid;place-items:center;height:100%;color:var(--color-text-muted)}.to-feedback{margin-block-start:var(--space-2)}.to-status{min-block-size:calc(9em + .5rem);font-size:.875rem;line-height:1.5;margin-block:var(--space-2)}.to-badge{display:inline-block;margin-inline-end:var(--space-2);padding:0 .5rem;border-radius:var(--radius-sm);box-shadow:inset 0 0 0 2px var(--color-success);color:var(--color-text);font-weight:700}.to-badge[data-completion=revealed]{box-shadow:none;outline:2px dashed var(--color-text-muted);outline-offset:-2px}.to-tally{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;min-block-size:1.5rem;font-size:.875rem;line-height:1.5;font-variant-numeric:tabular-nums}.to-tally div{display:flex;gap:.5em;min-width:0}.to-tally dt{color:var(--color-text-muted)}.to-tally dt:after{content:":"}.to-tally dd{margin:0;white-space:nowrap}.to-session-action{display:grid;grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));min-block-size:2.75rem;margin-block-start:var(--space-2)}.to-controls{display:grid;gap:var(--space-2);margin-block:var(--space-3)}.to-pad{grid-template-columns:repeat(4,minmax(0,1fr))}.to-pad .ui-button{padding-inline:var(--space-1);white-space:nowrap}.to-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.to-history{grid-template-columns:repeat(3,minmax(0,1fr))}.to-controls .ui-button,.to-session-action .ui-button{width:100%}.to-page .ui-button:empty:before{content:attr(data-label)}.to-help,.to-credit{font-size:.875rem;color:var(--color-text-muted)}.to-help{margin-block:var(--space-3)}.to-legend{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:.875rem}.to-legend>span{display:inline-flex;align-items:center;gap:.375rem}.to-key{display:inline-grid;place-items:center;width:1.375rem;height:1.375rem;font-weight:700;line-height:1}.to-key[data-kind=done]{color:var(--color-text-muted);font-weight:400;text-decoration:line-through;text-decoration-thickness:2px}.to-key[data-kind=error]{border:2px dashed var(--color-danger);border-radius:50%;color:var(--color-danger)}.to-rail summary{cursor:pointer;min-height:2rem}@media(min-width:560px){.to-status{min-block-size:calc(6em + .5rem)}}@media(max-width:850px){.to-layout{grid-template-columns:minmax(0,1fr)}}@media(forced-colors:active){.to-cell:focus-visible{outline-color:Highlight}.to-cell[data-pencil=true]:before{background:Highlight}}.mg-page{max-width:64rem;margin-inline:auto}.mg-layout{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:var(--space-6);align-items:start}.mg-play,.mg-rail{min-width:0}.mg-play{max-width:32rem}.mg-rail{display:grid;gap:var(--space-4)}.mg-frame{aspect-ratio:11.5 / 10.5;box-shadow:0 0 0 1px var(--color-border);background:var(--color-surface);display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);align-items:center;min-height:0;padding:var(--space-2);container-type:inline-size}.mg-frame[data-completion=won]{box-shadow:0 0 0 3px var(--color-success)}.mg-board{--mg-ring: .75;--mg-unit: calc(100cqi / (var(--mg-w) + 2 * var(--mg-ring)));width:100%;aspect-ratio:calc(var(--mg-w) + 2 * var(--mg-ring)) / calc(var(--mg-h) + 2 * var(--mg-ring));display:grid;--mg-edge: calc(var(--mg-unit) * var(--mg-ring));grid-template-columns:var(--mg-edge) repeat(var(--mg-w),minmax(0,1fr)) var(--mg-edge);grid-template-rows:var(--mg-edge) repeat(var(--mg-h),minmax(0,1fr)) var(--mg-edge);min-width:0;min-height:0;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.mg-grid{grid-row:2 / -2;grid-column:2 / -2;display:grid;grid-template-rows:repeat(var(--mg-h),minmax(0,1fr));min-width:0;min-height:0}.mg-row{display:grid;grid-template-columns:repeat(var(--mg-w),minmax(0,1fr))}.mg-slot{position:relative;display:grid;min-width:0;min-height:0}.mg-cell{--mg-gap: 8%;position:relative;display:grid;min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--color-text);font:inherit;cursor:pointer;touch-action:manipulation}.mg-half{display:grid;place-items:center;margin:var(--mg-gap);border-radius:calc(var(--mg-unit) * .18);background:var(--color-surface-sunken);border:1px solid var(--color-border-strong);font-size:max(.875rem,calc(var(--mg-unit) * .62));font-weight:700;line-height:1}.mg-cell[data-join=right] .mg-half{margin-inline-end:0;border-inline-end-width:0;border-start-end-radius:0;border-end-end-radius:0}.mg-cell[data-join=left] .mg-half{margin-inline-start:0;border-inline-start-width:0;border-start-start-radius:0;border-end-start-radius:0}.mg-cell[data-join=down] .mg-half{margin-block-end:0;border-block-end-width:0;border-end-start-radius:0;border-end-end-radius:0}.mg-cell[data-join=up] .mg-half{margin-block-start:0;border-block-start-width:0;border-start-start-radius:0;border-start-end-radius:0}.mg-cell:hover .mg-half{background:var(--color-surface-hover)}.mg-cell[data-state=positive] .mg-half,.mg-key[data-state=positive]{background:var(--color-danger-subtle);color:var(--color-text)}.mg-cell[data-state=negative] .mg-half,.mg-key[data-state=negative]{background:var(--color-text);color:var(--color-text-inverse)}.mg-cell[data-state=neutral] .mg-half,.mg-key[data-state=neutral]{background:var(--color-success-subtle);color:var(--color-text-muted);font-weight:400}.mg-cell[data-state=notNeutral] .mg-half,.mg-key[data-state=notNeutral]{color:var(--color-info)}.mg-cell[data-selected=true] .mg-half{border-color:var(--color-accent)}.mg-cell[data-error=true] .mg-half{color:var(--color-danger)}.mg-cell[data-state=negative][data-error=true] .mg-half{color:var(--color-danger-subtle)}.mg-cell[data-error=true]:after{content:"";position:absolute;inset:18%;border:2px dashed var(--color-danger);border-radius:50%;box-shadow:0 0 0 2px var(--color-surface);pointer-events:none}.mg-cell:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px;box-shadow:inset 0 0 0 5px var(--color-surface);z-index:1}.mg-cell:focus-visible .mg-half{margin:5px}.mg-clue,.mg-corner{position:relative;display:grid;place-items:center;min-width:0;min-height:0;color:var(--color-text);font-size:max(.875rem,calc(var(--mg-unit) * .5));font-weight:700;line-height:1;font-variant-numeric:tabular-nums;touch-action:manipulation}.mg-corner{grid-row:1;grid-column:1;color:var(--color-text-muted)}.mg-corner[data-sign=negative]{grid-row:-2;grid-column:-2}.mg-clue:not([data-value=""]){cursor:pointer}.mg-clue[data-done=true]{color:var(--color-text-muted);font-weight:400;text-decoration:line-through;text-decoration-thickness:2px}.mg-clue[data-error=true]{color:var(--color-danger)}.mg-clue[data-error=true]:after{content:"";position:absolute;inset:0;margin:auto;width:max(1.25rem,calc(var(--mg-unit) * .7));height:max(1.25rem,calc(var(--mg-unit) * .7));border:2px dashed var(--color-danger);border-radius:50%;pointer-events:none}.mg-placeholder{height:100%;padding:var(--space-3);color:var(--color-text-muted)}.mg-feedback{margin-block-start:var(--space-2)}.mg-status{min-block-size:calc(9em + .5rem);font-size:.875rem;line-height:1.5;margin-block:var(--space-2)}.mg-badge{display:inline-block;margin-inline-end:var(--space-2);padding:0 .5rem;border-radius:var(--radius-sm);box-shadow:inset 0 0 0 2px var(--color-success);color:var(--color-text);font-weight:700}.mg-badge[data-completion=revealed]{box-shadow:none;outline:2px dashed var(--color-text-muted);outline-offset:-2px}.mg-tally{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;min-block-size:1.5rem;font-size:.875rem;line-height:1.5;font-variant-numeric:tabular-nums}.mg-tally div{display:flex;gap:.5em;min-width:0}.mg-tally dt{color:var(--color-text-muted);white-space:nowrap}.mg-tally dt:after{content:":"}.mg-tally dd{margin:0;white-space:nowrap}.mg-session-action{display:grid;grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));min-block-size:2.75rem;margin-block-start:var(--space-2)}.mg-controls{display:grid;gap:var(--space-2);margin-block:var(--space-3)}.mg-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.mg-history{grid-template-columns:repeat(3,minmax(0,1fr))}.mg-controls .ui-button,.mg-session-action .ui-button{width:100%}.mg-page .ui-button:empty:before{content:attr(data-label)}.mg-help,.mg-credit{font-size:.875rem;color:var(--color-text-muted)}.mg-help{margin-block:var(--space-3)}.mg-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2) var(--space-3);font-size:.875rem}.mg-legend>span{display:flex;align-items:center;gap:.375rem;min-width:0;white-space:nowrap}.mg-key{flex:none;display:inline-grid;place-items:center;width:1.375rem;height:1.375rem;border-radius:var(--radius-sm);font-weight:700;line-height:1}.mg-key[data-state]{box-shadow:inset 0 0 0 1px var(--color-border-strong)}.mg-key[data-state=notNeutral]{background:var(--color-surface-sunken)}.mg-key[data-kind=done]{color:var(--color-text-muted);font-weight:400;text-decoration:line-through;text-decoration-thickness:2px}.mg-key[data-kind=error]{border:2px dashed var(--color-danger);border-radius:50%;color:var(--color-danger)}.mg-rail summary{cursor:pointer;min-height:2rem}@media(max-width:399px){.mg-frame{padding:0}.mg-board{--mg-ring: .6}.mg-tally{grid-template-columns:minmax(0,1fr);min-block-size:3rem}}@media(min-width:560px){.mg-status{min-block-size:calc(6em + .5rem)}}@media(max-width:850px){.mg-layout{grid-template-columns:minmax(0,1fr)}}@media(forced-colors:active){.mg-cell:focus-visible{outline-color:Highlight}.mg-half{border-color:CanvasText}}.mp-page{--mp-blank: #fbfaf6;--mp-c0: #e58a70;--mp-c1: #f1cb63;--mp-c2: #95c58c;--mp-c3: #8aaee6;--mp-ink: #1b1a17;--mp-hatch: rgba(27, 26, 23, .42);--mp-margin: var(--color-surface-sunken);--mp-ring: #0b1020;--mp-ring-halo: #ffffff;max-width:64rem;margin-inline:auto}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .mp-page{--mp-blank: #d9d5cb;--mp-c0: #d47a61;--mp-c1: #dbb551;--mp-c2: #82b179;--mp-c3: #789bd2}}:root[data-theme=dark] .mp-page{--mp-blank: #d9d5cb;--mp-c0: #d47a61;--mp-c1: #dbb551;--mp-c2: #82b179;--mp-c3: #789bd2}.mp-patterns{position:absolute;width:0;height:0;overflow:hidden}.mp-swatch-0{fill:var(--mp-c0)}.mp-swatch-1{fill:var(--mp-c1)}.mp-swatch-2{fill:var(--mp-c2)}.mp-swatch-3{fill:var(--mp-c3)}.mp-hatch{stroke:var(--mp-hatch);stroke-width:.07}.mp-layout{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:var(--space-6);align-items:start}.mp-play,.mp-rail{min-width:0}.mp-play{max-width:40rem}.mp-rail{display:grid;gap:var(--space-4)}.mp-frame{aspect-ratio:21 / 16;box-shadow:0 0 0 1px var(--color-border);background:var(--color-surface);display:grid;min-height:0;overflow:auto;overscroll-behavior:contain;container-type:size}.mp-frame[data-completion=won]{box-shadow:0 0 0 3px var(--color-success)}.mp-board{position:relative;width:max(min(100cqw,100cqh * var(--mp-w) / var(--mp-h)),var(--mp-w) * 13px);aspect-ratio:var(--mp-w) / var(--mp-h);margin:auto;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.mp-svg{display:block;width:100%;height:100%;overflow:visible;touch-action:manipulation}.mp-margin{fill:var(--mp-margin)}.mp-region{fill:var(--mp-blank);cursor:pointer;outline:none}.mp-region[data-colour="0"]{fill:url(#mp-fill-0)}.mp-region[data-colour="1"]{fill:url(#mp-fill-1)}.mp-region[data-colour="2"]{fill:url(#mp-fill-2)}.mp-region[data-colour="3"]{fill:url(#mp-fill-3)}.mp-dot{stroke:var(--mp-ink);stroke-width:.03}.mp-borders{fill:none;stroke:var(--mp-ink);stroke-width:1.5px;stroke-linecap:square;vector-effect:non-scaling-stroke;pointer-events:none}.mp-error{fill:#c62828;stroke:var(--mp-ink);stroke-width:.04}.mp-error-mark{fill:#fff}.mp-errors,.mp-dots,.mp-ghost{pointer-events:none}.mp-ring,.mp-ring-halo{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}.mp-ring-halo{stroke:var(--mp-ring-halo);stroke-width:6px}.mp-ring{stroke:var(--mp-ring);stroke-width:3px}.mp-ghost-blob{fill:var(--mp-blank);stroke:var(--mp-ink);stroke-width:.05}.mp-ghost[data-colour="0"] .mp-ghost-blob{fill:url(#mp-fill-0)}.mp-ghost[data-colour="1"] .mp-ghost-blob{fill:url(#mp-fill-1)}.mp-ghost[data-colour="2"] .mp-ghost-blob{fill:url(#mp-fill-2)}.mp-ghost[data-colour="3"] .mp-ghost-blob{fill:url(#mp-fill-3)}.mp-ghost-mark{display:none;stroke:var(--mp-ink);stroke-width:.03}.mp-ghost[data-marks*="0"] [data-mark="0"],.mp-ghost[data-marks*="1"] [data-mark="1"],.mp-ghost[data-marks*="2"] [data-mark="2"],.mp-ghost[data-marks*="3"] [data-mark="3"]{display:inline}.mp-labels{position:absolute;inset:0;pointer-events:none}.mp-label{position:absolute;translate:-50% -50%;padding:0 .15rem;border-radius:.25rem;background:#ffffffe0;box-shadow:0 0 0 1px var(--mp-ink);color:var(--mp-ink);font-size:.75rem;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap}.mp-placeholder{display:grid;place-items:center;color:var(--color-text-muted)}.mp-feedback{margin-block-start:var(--space-2)}.mp-status{min-block-size:calc(9em + .5rem);font-size:.875rem;line-height:1.5;margin-block:var(--space-2)}.mp-badge{display:inline-block;margin-inline-end:var(--space-2);padding:0 .5rem;border-radius:var(--radius-sm);box-shadow:inset 0 0 0 2px var(--color-success);color:var(--color-text);font-weight:700}.mp-badge[data-completion=revealed]{box-shadow:none;outline:2px dashed var(--color-text-muted);outline-offset:-2px}.mp-tally{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;min-block-size:1.5rem;font-size:.875rem;line-height:1.5;font-variant-numeric:tabular-nums}.mp-tally div{display:flex;gap:.5em;min-width:0}.mp-tally dt{color:var(--color-text-muted)}.mp-tally dt:after{content:":"}.mp-tally dd{margin:0;white-space:nowrap}.mp-session-action{display:grid;grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));min-block-size:2.75rem;margin-block-start:var(--space-2)}.mp-controls{display:grid;gap:var(--space-2);margin-block:var(--space-3)}.mp-palette{grid-template-columns:repeat(5,minmax(0,1fr))}.mp-palette .ui-button{flex-direction:column;gap:.125rem;padding-block:.25rem;padding-inline:0;white-space:nowrap;block-size:3.75rem}.mp-swatch{flex:none;width:1.25rem;height:1.25rem;box-shadow:0 0 0 1px var(--mp-ink);background:var(--mp-blank)}.mp-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.mp-history{grid-template-columns:repeat(3,minmax(0,1fr))}.mp-controls .ui-button,.mp-session-action .ui-button,.mp-numbers{width:100%}.mp-page .ui-button:empty:before{content:attr(data-label)}.mp-help,.mp-credit{font-size:.875rem;color:var(--color-text-muted)}.mp-help{margin-block:var(--space-3)}.mp-legend{display:grid;gap:var(--space-2);font-size:.875rem}.mp-legend>span{display:inline-flex;align-items:center;gap:.5rem}.mp-rail summary{cursor:pointer;min-height:2rem}@media(min-width:560px){.mp-status{min-block-size:calc(6em + .5rem)}}@media(max-width:850px){.mp-layout{grid-template-columns:minmax(0,1fr)}}@media(forced-colors:active){.mp-ring{stroke:Highlight}.mp-borders{stroke:CanvasText}}.lp-page{max-width:64rem;margin-inline:auto}.lp-layout{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:var(--space-6);align-items:start}.lp-play,.lp-rail{min-width:0}.lp-play{max-width:32rem}.lp-rail{display:grid;gap:var(--space-4)}.lp-frame{aspect-ratio:1;box-shadow:0 0 0 1px var(--color-border);background:var(--color-surface);display:grid;min-height:0;padding:var(--space-1);overflow:auto}.lp-frame[data-completion=won]{box-shadow:0 0 0 3px var(--color-success)}.lp-board{display:block;width:100%;height:100%;min-width:0;min-height:0;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation;cursor:pointer;overflow:visible}.lp-face{fill:transparent;stroke:none}.lp-selected-face{fill:var(--color-accent-subtle);stroke:none;pointer-events:none}.lp-edge{outline:none}.lp-edge line,.lp-edge path,.lp-dot,.lp-dot circle,.lp-clue-ring{vector-effect:non-scaling-stroke;stroke-linecap:round;pointer-events:none}.lp-line{stroke:var(--color-text-muted);stroke-width:1.5px;stroke-dasharray:3 4}.lp-edge[data-state=y] .lp-line{stroke:var(--color-text);stroke-width:5px;stroke-dasharray:none}.lp-edge[data-state=n] .lp-line{stroke:var(--color-border);stroke-width:1px;stroke-dasharray:none}.lp-cross{stroke:var(--color-text-muted);stroke-width:2px;fill:none}.lp-edge[data-error=true] .lp-line{stroke:var(--color-danger);stroke-width:6px}.lp-flaw{stroke:var(--color-surface);stroke-width:2px;stroke-dasharray:4 5}.lp-frame[data-completion=won] .lp-edge[data-state=y] .lp-line{stroke:var(--color-success)}.lp-band,.lp-halo{stroke:transparent;stroke-width:0}.lp-edge:focus-visible .lp-band{stroke:var(--color-surface);stroke-width:16px}.lp-edge:focus-visible .lp-halo{stroke:var(--color-focus);stroke-width:10px}.lp-dot{fill:var(--color-text)}.lp-dot[data-error=true]{fill:var(--color-danger)}.lp-dot-ring{fill:none;stroke:var(--color-danger);stroke-width:2px;stroke-dasharray:3 2}.lp-clue text{fill:var(--color-text);font-weight:700;font-variant-numeric:tabular-nums;pointer-events:none}.lp-clue[data-error=true] text{fill:var(--color-danger)}.lp-clue-ring{fill:none;stroke:var(--color-danger);stroke-width:2px;stroke-dasharray:3 2}.lp-placeholder{display:grid;place-items:center;height:100%;color:var(--color-text-muted)}.lp-feedback{margin-block-start:var(--space-2)}.lp-status{min-block-size:calc(9em + .5rem);font-size:.875rem;line-height:1.5;margin-block:var(--space-2)}.lp-badge{display:inline-block;margin-inline-end:var(--space-2);padding:0 .5rem;border-radius:var(--radius-sm);box-shadow:inset 0 0 0 2px var(--color-success);color:var(--color-text);font-weight:700}.lp-badge[data-completion=revealed]{box-shadow:none;outline:2px dashed var(--color-text-muted);outline-offset:-2px}.lp-tally{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);margin:0;min-block-size:1.5rem;font-size:.875rem;line-height:1.5;font-variant-numeric:tabular-nums}.lp-tally div{display:flex;gap:.5em;min-width:0}.lp-tally dt{color:var(--color-text-muted);white-space:nowrap}.lp-tally dt:after{content:":"}.lp-tally dd{margin:0;white-space:nowrap}.lp-session-action{display:grid;grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));min-block-size:2.75rem;margin-block-start:var(--space-2)}.lp-controls{display:grid;gap:var(--space-2);margin-block:var(--space-3)}.lp-pad,.lp-history{grid-template-columns:repeat(3,minmax(0,1fr))}.lp-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-controls .ui-button,.lp-session-action .ui-button{width:100%}.lp-page .ui-button:empty:before{content:attr(data-label)}.lp-help,.lp-credit{font-size:.875rem;color:var(--color-text-muted)}.lp-help{margin-block:var(--space-3)}.lp-legend{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:.875rem}.lp-legend>span{display:inline-flex;align-items:center;gap:.375rem;min-block-size:1lh}.lp-rail summary{cursor:pointer;min-height:2rem}@media(min-width:560px){.lp-status{min-block-size:calc(6em + .5rem)}}@media(max-width:850px){.lp-layout{grid-template-columns:minmax(0,1fr)}}.lp-key{width:1.5rem;height:.75rem;overflow:visible}.lp-key line,.lp-key path{stroke-linecap:round;fill:none}.lp-key-line{stroke:var(--color-text);stroke-width:4px}.lp-key-cross{stroke:var(--color-border);stroke-width:1px}.lp-key-x{stroke:var(--color-text-muted);stroke-width:2px}.lp-key-unknown{stroke:var(--color-text-muted);stroke-width:1.5px;stroke-dasharray:3 4}.lp-key-error{stroke:var(--color-danger);stroke-width:5px}.lp-key-flaw{stroke:var(--color-surface);stroke-width:2px;stroke-dasharray:4 5}@media(forced-colors:active){.lp-edge:focus-visible .lp-halo{stroke:Highlight}.lp-selected-face{fill:none;stroke:Highlight;stroke-width:1px;vector-effect:non-scaling-stroke}}.sl-page{max-width:64rem;margin-inline:auto}.sl-layout{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:var(--space-6);align-items:start}.sl-play,.sl-rail{min-width:0}.sl-play{max-width:32rem}.sl-rail{display:grid;gap:var(--space-4)}.sl-frame{aspect-ratio:13 / 11;box-shadow:0 0 0 1px var(--color-border);background:var(--color-surface);display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);min-height:0;padding:var(--space-2)}.sl-frame[data-completion=won]{box-shadow:0 0 0 3px var(--color-success)}.sl-board{position:relative;justify-self:center;height:100%;max-width:100%;aspect-ratio:calc(var(--sl-w) + 2 * var(--sl-ring)) / calc(var(--sl-h) + 2 * var(--sl-ring));min-width:0;min-height:0;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.sl-grid{position:absolute;inset:calc(100% * var(--sl-ring) / (var(--sl-h) + 2 * var(--sl-ring))) calc(100% * var(--sl-ring) / (var(--sl-w) + 2 * var(--sl-ring)));display:grid;grid-template-rows:repeat(var(--sl-h),minmax(0,1fr))}.sl-row{display:grid;grid-template-columns:repeat(var(--sl-w),minmax(0,1fr));min-height:0}.sl-cell{position:relative;min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:transparent;cursor:pointer;touch-action:manipulation}.sl-cell:hover{background:var(--color-surface-hover)}.sl-cell:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px;box-shadow:inset 0 0 0 5px var(--color-surface);z-index:1}.sl-art{position:absolute;z-index:2;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.sl-gridlines line{stroke:var(--color-border-strong);stroke-width:1px;vector-effect:non-scaling-stroke}.sl-line line{stroke:var(--color-text);stroke-width:.1;stroke-linecap:round}.sl-line[data-loop=true] line{stroke:var(--color-danger);stroke-width:.17}.sl-line[data-loop=true] .sl-flaw{stroke:var(--color-surface);stroke-width:.06;stroke-dasharray:.1 .12;stroke-linecap:butt}.sl-key-flaw{stroke:var(--color-surface);stroke-width:2px;stroke-dasharray:3px 3px;vector-effect:non-scaling-stroke}.sl-clue-disc,.sl-key-disc{fill:var(--color-surface);stroke:var(--color-text);stroke-width:1.5px;vector-effect:non-scaling-stroke}.sl-clue text,.sl-key text{fill:var(--color-text);font-weight:700;font-variant-numeric:tabular-nums}.sl-clue[data-error=true] text,.sl-key .sl-key-error{fill:var(--color-danger)}.sl-clue-ring,.sl-key-ring{fill:none;stroke:var(--color-danger);stroke-width:2.5px;stroke-dasharray:3px 2px;vector-effect:non-scaling-stroke}.sl-placeholder{height:100%;padding:var(--space-3);color:var(--color-text-muted)}.sl-feedback{margin-block-start:var(--space-2)}.sl-status{min-block-size:calc(9em + .5rem);font-size:.875rem;line-height:1.5;margin-block:var(--space-2)}.sl-badge{display:inline-block;margin-inline-end:var(--space-2);padding:0 .5rem;border-radius:var(--radius-sm);box-shadow:inset 0 0 0 2px var(--color-success);color:var(--color-text);font-weight:700}.sl-badge[data-completion=revealed]{box-shadow:none;outline:2px dashed var(--color-text-muted);outline-offset:-2px}.sl-tally{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;min-block-size:1.5rem;font-size:.875rem;line-height:1.5;font-variant-numeric:tabular-nums}.sl-tally div{display:flex;gap:.5em;min-width:0}.sl-tally dt{color:var(--color-text-muted);white-space:nowrap}.sl-tally dt:after{content:":"}.sl-tally dd{margin:0;white-space:nowrap}.sl-session-action{display:grid;grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));min-block-size:2.75rem;margin-block-start:var(--space-2)}.sl-controls{display:grid;gap:var(--space-2);margin-block:var(--space-3)}.sl-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.sl-history{grid-template-columns:repeat(3,minmax(0,1fr))}.sl-controls .ui-button,.sl-session-action .ui-button{width:100%}.sl-page .ui-button:empty:before{content:attr(data-label)}.sl-help,.sl-credit{font-size:.875rem;color:var(--color-text-muted)}.sl-help{margin-block:var(--space-3)}.sl-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2) var(--space-3);font-size:.875rem}.sl-legend>span{display:flex;align-items:center;gap:.375rem;min-width:0;white-space:nowrap}.sl-key{flex:none;width:1.375rem;height:1.375rem;overflow:visible}.sl-key-line{stroke:var(--color-text);stroke-width:3px;stroke-linecap:round;vector-effect:non-scaling-stroke}.sl-key-line.sl-key-loop{stroke:var(--color-danger);stroke-width:5px}.sl-rail summary{cursor:pointer;min-height:2rem}@media(max-width:399px){.sl-frame{padding:0}.sl-tally{grid-template-columns:minmax(0,1fr);min-block-size:3rem}}@media(min-width:560px){.sl-status{min-block-size:calc(6em + .5rem)}}@media(max-width:850px){.sl-layout{grid-template-columns:minmax(0,1fr)}}@media(forced-colors:active){.sl-cell:focus-visible{outline-color:Highlight}.sl-gridlines line,.sl-line line,.sl-clue-disc{stroke:CanvasText}}.pt-page{max-width:64rem;margin-inline:auto}.pt-layout{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:var(--space-6);align-items:start}.pt-play,.pt-rail{min-width:0}.pt-play{max-width:40rem}.pt-rail{display:grid;gap:var(--space-4)}.pt-frame{aspect-ratio:1;box-shadow:0 0 0 1px var(--color-border);background:var(--color-surface);display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);min-height:0;overflow:auto;overscroll-behavior:contain;container-type:inline-size}.pt-frame[data-completion=won]{box-shadow:0 0 0 3px var(--color-success)}.pt-board{--pt-min: 20px;--pt-across: calc(var(--pt-w) + var(--pt-row-slots) * .9 + .3);--pt-down: calc(var(--pt-h) + var(--pt-column-slots) * .75 + .3);--pt-unit: max( var(--pt-min), min(44px, calc((100cqi - 2px) / var(--pt-across)), calc((100cqi - 2px) / var(--pt-down))) );--pt-row-strip: calc(var(--pt-unit) * (var(--pt-row-slots) * .9 + .3));--pt-column-strip: calc(var(--pt-unit) * (var(--pt-column-slots) * .75 + .3));--pt-line: var(--color-border-strong);--pt-line-major: var(--color-text-muted);margin:auto;display:grid;grid-template-columns:var(--pt-row-strip) calc(var(--pt-w) * var(--pt-unit));grid-template-rows:var(--pt-column-strip) calc(var(--pt-h) * var(--pt-unit));user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.pt-corner,.pt-columns,.pt-rows{position:sticky;background:var(--color-surface);z-index:2}.pt-corner{grid-area:1 / 1;top:0;left:0;z-index:3}.pt-columns{grid-area:1 / 2;top:0;display:grid;grid-template-columns:repeat(var(--pt-w),var(--pt-unit))}.pt-rows{grid-area:2 / 1;left:0;display:grid;grid-template-rows:repeat(var(--pt-h),var(--pt-unit))}.pt-clue{display:grid;min-width:0;min-height:0;color:var(--color-text);font-size:max(.8125rem,calc(var(--pt-unit) * .55));font-weight:700;line-height:1;font-variant-numeric:tabular-nums;place-items:center;touch-action:pan-x pan-y}.pt-clue[data-axis=column]{grid-template-rows:repeat(var(--pt-column-slots),calc(var(--pt-unit) * .75));align-content:end;padding-block-end:calc(var(--pt-unit) * .3)}.pt-clue[data-axis=row]{grid-template-columns:repeat(var(--pt-row-slots),calc(var(--pt-unit) * .9));justify-content:end;padding-inline-end:calc(var(--pt-unit) * .3)}.pt-clue[data-guide=true]{background:var(--color-accent-subtle)}.pt-clue[data-done=true]{color:var(--color-text-muted);font-weight:400;text-decoration:line-through;text-decoration-thickness:2px}.pt-clue[data-error=true]{color:var(--color-danger);font-weight:800;outline:2px dashed var(--color-danger);outline-offset:-2px}.pt-grid{grid-area:2 / 2;display:grid;grid-template-rows:repeat(var(--pt-h),var(--pt-unit));box-shadow:0 0 0 2px var(--pt-line-major);touch-action:none}.pt-row{display:grid;grid-template-columns:repeat(var(--pt-w),var(--pt-unit))}.pt-cell{--pt-right: 1px;--pt-bottom: 1px;--pt-right-colour: var(--pt-line);--pt-bottom-colour: var(--pt-line);position:relative;display:grid;place-items:center;min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:var(--color-surface-sunken);box-shadow:inset calc(-1 * var(--pt-right)) 0 0 var(--pt-right-colour),inset 0 calc(-1 * var(--pt-bottom)) 0 var(--pt-bottom-colour);color:var(--color-text);font:inherit;cursor:pointer;scroll-margin-top:var(--pt-column-strip);scroll-margin-left:var(--pt-row-strip)}.pt-cell[data-x5=true]{--pt-right: 2px;--pt-right-colour: var(--pt-line-major)}.pt-cell[data-y5=true]{--pt-bottom: 2px;--pt-bottom-colour: var(--pt-line-major)}.pt-cell:hover{background:var(--color-surface-hover)}.pt-cell[data-value="1"],.pt-key[data-value="1"]{background:var(--color-text)}.pt-cell[data-value="0"],.pt-key[data-value="0"]{background:var(--color-surface)}.pt-cell[data-value="0"]:before,.pt-key[data-value="0"]:before{content:"";width:22%;aspect-ratio:1;border-radius:50%;background:var(--color-text-muted)}.pt-cell[data-pending=true]:after{content:"";position:absolute;inset:2px;border:2px dashed var(--color-accent);pointer-events:none}.pt-cell:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px;box-shadow:inset 0 0 0 5px var(--color-surface);z-index:1}.pt-placeholder{height:100%;padding:var(--space-3);color:var(--color-text-muted)}.pt-feedback{margin-block-start:var(--space-2)}.pt-status{min-block-size:calc(9em + .5rem);font-size:.875rem;line-height:1.5;margin-block:var(--space-2)}.pt-badge{display:inline-block;margin-inline-end:var(--space-2);padding:0 .5rem;border-radius:var(--radius-sm);box-shadow:inset 0 0 0 2px var(--color-success);color:var(--color-text);font-weight:700}.pt-badge[data-completion=revealed]{box-shadow:none;outline:2px dashed var(--color-text-muted);outline-offset:-2px}.pt-tally{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;min-block-size:1.5rem;font-size:.875rem;line-height:1.5;font-variant-numeric:tabular-nums}.pt-tally div{display:flex;gap:.5em;min-width:0}.pt-tally dt{color:var(--color-text-muted);white-space:nowrap}.pt-tally dd{margin:0;white-space:nowrap}.pt-session-action{display:grid;grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));min-block-size:2.75rem;margin-block-start:var(--space-2)}.pt-controls{display:grid;gap:var(--space-2);margin-block:var(--space-3)}.pt-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.pt-history{grid-template-columns:repeat(3,minmax(0,1fr))}.pt-controls .ui-button,.pt-session-action .ui-button{width:100%}.pt-page .ui-button:empty:before{content:attr(data-label)}.pt-help,.pt-credit{font-size:.875rem;color:var(--color-text-muted)}.pt-help{margin-block:var(--space-3)}.pt-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2) var(--space-3);font-size:.875rem}.pt-legend>span{display:flex;align-items:center;gap:.375rem;min-width:0;white-space:nowrap}.pt-key{flex:none;display:inline-grid;place-items:center;width:1.375rem;height:1.375rem;border-radius:var(--radius-sm);font-weight:700;line-height:1}.pt-key[data-value]{box-shadow:inset 0 0 0 1px var(--color-border-strong)}.pt-key[data-value="2"]{background:var(--color-surface-sunken)}.pt-key[data-kind=done]{color:var(--color-text-muted);font-weight:400;text-decoration:line-through;text-decoration-thickness:2px}.pt-key[data-kind=error]{color:var(--color-danger);font-weight:800;outline:2px dashed var(--color-danger);outline-offset:-2px}.pt-key[data-kind=guide]{background:var(--color-accent-subtle)}.pt-rail summary{cursor:pointer;min-height:2rem}@media(max-width:399px){.pt-tally{grid-template-columns:minmax(0,1fr);min-block-size:3rem}.pt-legend{grid-template-columns:minmax(0,1fr)}}@media(min-width:560px){.pt-status{min-block-size:calc(6em + .5rem)}}@media(max-width:850px){.pt-layout{grid-template-columns:minmax(0,1fr)}}@media(forced-colors:active){.pt-cell:focus-visible{outline-color:Highlight}.pt-cell[data-value="1"]{background:CanvasText;forced-color-adjust:none}}.mn-page{max-width:64rem;margin-inline:auto}.mn-layout{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:var(--space-6);align-items:start}.mn-play,.mn-rail{min-width:0}.mn-play{max-width:40rem}.mn-rail{display:grid;gap:var(--space-4)}.mn-frame{aspect-ratio:1;box-shadow:0 0 0 1px var(--color-border);background:var(--color-surface);display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);min-height:0;overflow:auto;overscroll-behavior:contain;container-type:inline-size}.mn-frame[data-completion=won]{box-shadow:0 0 0 3px var(--color-success)}.mn-frame[data-completion=revealed]{box-shadow:0 0 0 3px var(--color-text-muted)}.mn-board{--mn-min: 22px;--mn-unit: clamp( var(--mn-min), calc((100cqi - 2px) / var(--mn-w)), 40px );margin:auto;display:grid;grid-template-rows:repeat(var(--mn-h),var(--mn-unit));width:calc(var(--mn-w) * var(--mn-unit));user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:pan-x pan-y pinch-zoom}.mn-row{display:grid;grid-template-columns:repeat(var(--mn-w),var(--mn-unit))}.mn-cell{--mn-line: var(--color-border);position:relative;display:grid;place-items:center;min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:var(--color-surface-sunken);box-shadow:inset -2px -2px 0 var(--color-border-strong),inset 2px 2px 0 var(--color-surface);color:var(--color-text);font:inherit;cursor:pointer;scroll-margin:1px}.mn-cell:hover{background:var(--color-surface-hover)}.mn-cell[data-state=open]{background:var(--color-surface);box-shadow:inset -1px -1px 0 var(--mn-line);cursor:default}.mn-cell[data-state=open][data-over=true]{box-shadow:inset 0 0 0 2px var(--color-danger),inset -1px -1px 0 var(--mn-line)}.mn-number{font-weight:700;font-size:calc(var(--mn-unit) * .62);line-height:1;font-variant-numeric:tabular-nums}.mn-cell[data-value="1"] .mn-number{color:var(--color-accent)}.mn-cell[data-value="2"] .mn-number{color:var(--color-success)}.mn-cell[data-value="3"] .mn-number,.mn-cell[data-value="4"] .mn-number,.mn-cell[data-value="5"] .mn-number{color:var(--color-danger)}.mn-cell[data-state=flag]:before,.mn-key[data-state=flag]:before{content:"";width:34%;aspect-ratio:1;clip-path:polygon(0 0,100% 35%,0 70%,0 100%,22% 100%,22% 0);background:var(--color-danger)}.mn-cell[data-state=question]:before,.mn-key[data-state=question]:before{content:"?";font-weight:800;color:var(--color-text);font-size:calc(var(--mn-unit) * .62);line-height:1}.mn-cell[data-state=mine],.mn-cell[data-state=exploded],.mn-cell[data-state=wrongflag],.mn-key[data-state=mine],.mn-key[data-state=exploded],.mn-key[data-state=wrongflag]{background:var(--color-surface);box-shadow:inset -1px -1px 0 var(--mn-line);cursor:default}.mn-cell[data-state=mine]:before,.mn-cell[data-state=exploded]:before,.mn-cell[data-state=wrongflag]:before,.mn-key[data-state=mine]:before,.mn-key[data-state=exploded]:before,.mn-key[data-state=wrongflag]:before{content:"";width:34%;aspect-ratio:1;border-radius:50%;background:var(--color-text);box-shadow:0 calc(-1 * var(--mn-unit) * .18) 0 calc(-1 * var(--mn-unit) * .06) var(--color-text),0 calc(var(--mn-unit) * .18) 0 calc(-1 * var(--mn-unit) * .06) var(--color-text),calc(-1 * var(--mn-unit) * .18) 0 0 calc(-1 * var(--mn-unit) * .06) var(--color-text),calc(var(--mn-unit) * .18) 0 0 calc(-1 * var(--mn-unit) * .06) var(--color-text)}.mn-cell[data-state=exploded]{background:var(--color-danger-subtle, var(--color-surface-sunken))}.mn-cell[data-state=exploded]:after{content:"";position:absolute;inset:6%;border:2px solid var(--color-danger);clip-path:polygon(50% 0,60% 35%,100% 25%,70% 50%,100% 75%,60% 65%,50% 100%,40% 65%,0 75%,30% 50%,0 25%,40% 35%)}.mn-cell[data-state=wrongflag]:after,.mn-key[data-state=wrongflag]:after{content:"✕";position:absolute;inset:0;display:grid;place-items:center;color:var(--color-danger);font-weight:800;font-size:calc(var(--mn-unit) * .7);line-height:1}.mn-cell[data-cross=true]:before{content:"";width:46%;aspect-ratio:1;background:linear-gradient(to top right,transparent 44%,var(--color-danger) 44%,var(--color-danger) 56%,transparent 56%) no-repeat,linear-gradient(to top left,transparent 44%,var(--color-danger) 44%,var(--color-danger) 56%,transparent 56%) no-repeat}.mn-cell[data-pending=true]:after{content:"";position:absolute;inset:2px;border:2px dashed var(--color-accent);pointer-events:none}.mn-cell:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px;box-shadow:inset 0 0 0 3px var(--color-surface);z-index:1}.mn-placeholder{height:100%;padding:var(--space-3);color:var(--color-text-muted)}.mn-feedback{margin-block-start:var(--space-2)}.mn-status{min-block-size:calc(7.5em + .5rem);font-size:.875rem;line-height:1.5;margin-block:var(--space-2)}.mn-badge{display:inline-block;margin-inline-end:var(--space-2);padding:0 .5rem;border-radius:var(--radius-sm);box-shadow:inset 0 0 0 2px var(--color-success);color:var(--color-text);font-weight:700}.mn-badge[data-completion=revealed]{box-shadow:none;outline:2px dashed var(--color-text-muted);outline-offset:-2px}.mn-tally{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;min-block-size:1.5rem;font-size:.875rem;line-height:1.5;font-variant-numeric:tabular-nums}.mn-tally div{display:flex;gap:.5em;min-width:0}.mn-tally dt{color:var(--color-text-muted);white-space:nowrap}.mn-tally dd{margin:0;white-space:nowrap}.mn-session-action{display:grid;grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));min-block-size:2.75rem;margin-block-start:var(--space-2)}.mn-controls{display:grid;gap:var(--space-2);margin-block:var(--space-3)}.mn-history{grid-template-columns:repeat(3,minmax(0,1fr))}.mn-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.mn-controls .ui-button,.mn-session-action .ui-button{width:100%}.mn-page .ui-button:empty:before{content:attr(data-label)}.mn-help,.mn-credit{font-size:.875rem;color:var(--color-text-muted)}.mn-help{margin-block:var(--space-3)}.mn-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2) var(--space-3);font-size:.875rem}.mn-legend>span{display:flex;align-items:center;gap:.375rem;min-width:0;white-space:nowrap}.mn-key{flex:none;position:relative;display:inline-grid;place-items:center;width:1.375rem;height:1.375rem;border-radius:var(--radius-sm);font-weight:700;line-height:1;background:var(--color-surface-sunken);box-shadow:inset -1px -1px 0 var(--color-border-strong)}.mn-key[data-state=open]{background:var(--color-surface)}.mn-rail summary{cursor:pointer;min-height:2rem}@media(max-width:399px){.mn-tally{grid-template-columns:minmax(0,1fr);min-block-size:3rem}.mn-legend{grid-template-columns:minmax(0,1fr)}}@media(min-width:560px){.mn-status{min-block-size:calc(5em + .5rem)}}@media(max-width:850px){.mn-layout{grid-template-columns:minmax(0,1fr)}}@media(forced-colors:active){.mn-cell:focus-visible{outline-color:Highlight}.mn-cell[data-state=mine]:before,.mn-cell[data-state=exploded]:before,.mn-cell[data-state=wrongflag]:before{background:CanvasText;forced-color-adjust:none}}.ns-page{max-width:64rem;margin-inline:auto}.ns-layout{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:var(--space-6);align-items:start}.ns-play,.ns-rail{min-width:0}.ns-play{max-width:36rem}.ns-rail{display:grid;gap:var(--space-4)}.ns-frame{aspect-ratio:1;box-shadow:0 0 0 1px var(--color-border);background:var(--color-surface);display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);min-height:0}.ns-frame[data-completion=won]{box-shadow:0 0 0 3px var(--color-success)}.ns-frame[data-completion=revealed]{box-shadow:0 0 0 3px var(--color-text-muted)}.ns-board{width:100%;height:100%;display:grid;grid-template-rows:repeat(var(--ns-rows),minmax(0,1fr));user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:pan-x pan-y pinch-zoom}.ns-row{display:grid;grid-template-columns:repeat(var(--ns-cols),minmax(0,1fr));min-height:0}.ns-row>[role=gridcell],.ns-corner{position:relative;min-width:0;min-height:0}.ns-corner,.ns-slot{display:block}.ns-arrow{display:grid;place-items:center;width:100%;height:100%;min-width:20px;min-height:20px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--color-text-muted);touch-action:manipulation;cursor:pointer}.ns-arrow svg{width:56%;height:56%;fill:currentColor}.ns-arrow:hover:not([aria-disabled=true]){background:var(--color-surface-hover);color:var(--color-accent)}.ns-arrow[aria-disabled=true]{cursor:default}.ns-arrow[data-cursor=true]{background:var(--color-accent);color:var(--color-accent-contrast);box-shadow:inset 0 0 0 2px var(--color-text)}.ns-arrow:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px;box-shadow:inset 0 0 0 6px var(--color-surface);z-index:2}.ns-arrow[data-cursor=true]:focus-visible{box-shadow:inset 0 0 0 6px var(--color-surface),inset 0 0 0 8px var(--color-text)}.ns-square{background:var(--color-surface-sunken);box-shadow:inset 0 0 0 1px var(--color-border)}.ns-square[data-powered=true]{background:color-mix(in srgb,var(--color-accent) 12%,var(--color-surface))}.ns-tile{position:absolute;inset:0;display:block;pointer-events:none}.ns-tile svg,.ns-walls{display:block;width:100%;height:100%}.ns-walls{position:absolute;inset:0;pointer-events:none}.ns-wire-off,.ns-wire-outline,.ns-wire-core{fill:none;stroke-linecap:square}.ns-wire-off{stroke:var(--color-text);stroke-width:7}.ns-wire-outline{stroke:var(--color-text);stroke-width:17}.ns-wire-core{stroke:var(--color-accent);stroke-width:9}.ns-end{fill:var(--color-surface);stroke:var(--color-text);stroke-width:7}.ns-end-on{fill:var(--color-accent)}.ns-source{fill:var(--color-text)}.ns-socket{fill:var(--color-surface)}.ns-bar{fill:var(--color-danger)}.ns-bar-dash{stroke:var(--color-surface);stroke-width:1.5;stroke-dasharray:6 5}.ns-tile[data-slide]{z-index:1;animation:ns-slide .13s ease-out}.ns-tile[data-slide=wrap]{animation:ns-slide .13s ease-out,ns-enter .13s ease-out}@keyframes ns-slide{0%{transform:translate(calc(var(--ns-dx, 0) * 100%),calc(var(--ns-dy, 0) * 100%))}}@keyframes ns-enter{0%{opacity:0}}.ns-placeholder{height:100%;padding:var(--space-3);color:var(--color-text-muted)}.ns-feedback{margin-block-start:var(--space-2)}.ns-status{min-block-size:calc(7.5em + .5rem);font-size:.875rem;line-height:1.5;margin-block:var(--space-2)}.ns-line{font-weight:700;font-variant-numeric:tabular-nums}.ns-badge{display:inline-block;margin-inline-end:var(--space-2);padding:0 .5rem;border-radius:var(--radius-sm);box-shadow:inset 0 0 0 2px var(--color-success);color:var(--color-text);font-weight:700}.ns-badge[data-completion=revealed]{box-shadow:none;outline:2px dashed var(--color-text-muted);outline-offset:-2px}.ns-session-action{display:grid;grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));min-block-size:2.75rem;margin-block-start:var(--space-2)}.ns-controls{display:grid;gap:var(--space-2);margin-block:var(--space-3)}.ns-history{grid-template-columns:repeat(3,minmax(0,1fr))}.ns-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.ns-controls .ui-button,.ns-session-action .ui-button{width:100%}.ns-page .ui-button:empty:before{content:attr(data-label)}.ns-help,.ns-credit{font-size:.875rem;color:var(--color-text-muted)}.ns-help{margin-block:var(--space-3)}.ns-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2) var(--space-3);font-size:.875rem}.ns-legend>span{display:flex;align-items:center;gap:.375rem;min-width:0;white-space:nowrap}.ns-key{flex:none;position:relative;display:inline-block;width:1.5rem;height:1.5rem;background:var(--color-surface);box-shadow:inset 0 0 0 1px var(--color-border)}.ns-key svg{display:block;width:100%;height:100%}.ns-key-barrier{background:linear-gradient(var(--color-danger),var(--color-danger)) center / 100% 6px no-repeat,var(--color-surface)}.ns-rail summary{cursor:pointer;min-height:2rem}@media(max-width:399px){.ns-legend{grid-template-columns:minmax(0,1fr)}}@media(min-width:560px){.ns-status{min-block-size:calc(5em + .5rem)}}@media(max-width:850px){.ns-layout{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.ns-tile[data-slide]{animation:none}}@media(forced-colors:active){.ns-arrow:focus-visible{outline-color:Highlight}.ns-arrow svg{fill:ButtonText}.ns-arrow[data-cursor=true]{background:Highlight}.ns-arrow[data-cursor=true] svg{fill:HighlightText}.ns-wire-off,.ns-wire-outline,.ns-end,.ns-source{stroke:CanvasText;forced-color-adjust:none}.ns-source{fill:CanvasText}.ns-wire-core,.ns-end-on{stroke:Highlight;fill:none;forced-color-adjust:none}.ns-end-on{fill:Highlight}.ns-bar{fill:CanvasText;forced-color-adjust:none}}.nt-page{max-width:64rem;margin-inline:auto}.nt-layout{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:var(--space-6);align-items:start}.nt-play,.nt-rail{min-width:0}.nt-play{max-width:40rem}.nt-rail{display:grid;gap:var(--space-4)}.nt-frame{aspect-ratio:449 / 385;width:100%;box-sizing:border-box;padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-sunken);display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);min-height:0;container-type:size}.nt-frame[data-completion=won]{box-shadow:inset 0 0 0 3px var(--color-success)}.nt-frame[data-completion=revealed]{box-shadow:inset 0 0 0 3px var(--color-text-muted)}.nt-placeholder{display:grid;place-items:start center;padding-block-start:var(--space-4);color:var(--color-text-muted)}.nt-stage{min-width:0;min-height:0;display:grid;place-items:start center}.nt-board{position:relative;width:min(100cqw,calc(100cqh * var(--nt-vw) / var(--nt-vh)));aspect-ratio:var(--nt-vw) / var(--nt-vh);border-radius:var(--radius-sm);touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:pointer}.nt-board:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.nt-svg{display:block;width:100%;height:100%;overflow:visible}.nt-cells{position:absolute;left:calc(17 / var(--nt-vw) * 100%);top:calc(17 / var(--nt-vh) * 100%);width:calc(32 * var(--nt-cols) / var(--nt-vw) * 100%);height:calc(32 * var(--nt-rows) / var(--nt-vh) * 100%);display:grid;grid-template-rows:repeat(var(--nt-rows),minmax(0,1fr));pointer-events:none}.nt-row{display:grid;grid-template-columns:repeat(var(--nt-cols),minmax(0,1fr))}.nt-cell-bg{fill:var(--color-surface)}.nt-cell-bg[data-locked="1"]{fill:var(--color-surface-active)}.nt-grid line{stroke:var(--color-border-strong);stroke-width:1}.nt-wire-edge,.nt-wire-core{fill:none;stroke-linecap:butt}[data-state=unpowered]>.nt-wire-edge,.nt-wire[data-state=unpowered] .nt-wire-edge{stroke:var(--color-text-muted)}.nt-hub[data-state=unpowered] .nt-wire-edge{fill:var(--color-text-muted);stroke:none}.nt-wire[data-state=powered] .nt-wire-edge,.nt-key .nt-wire-edge[data-state=powered]{stroke:var(--color-text)}.nt-wire[data-state=powered] .nt-wire-core,.nt-key .nt-wire-core[data-state=powered]{stroke:var(--color-accent)}.nt-hub[data-state=powered] .nt-wire-edge{fill:var(--color-text);stroke:none}.nt-hub[data-state=powered] .nt-wire-core{fill:var(--color-accent);stroke:none}.nt-wire[data-state=error] .nt-wire-edge,.nt-key .nt-wire-edge[data-state=error]{stroke:var(--color-text)}.nt-wire[data-state=error] .nt-wire-core,.nt-key .nt-wire-core[data-state=error]{stroke:var(--color-danger);stroke-dasharray:3 2.2}.nt-hub[data-state=error] .nt-wire-edge{fill:var(--color-text);stroke:none}.nt-hub[data-state=error] .nt-wire-core{fill:var(--color-danger);stroke:none}.nt-key .nt-wire-edge[data-state=unpowered]{stroke:var(--color-text-muted)}.nt-end-box{stroke:var(--color-text);stroke-width:2.5;fill:var(--color-surface)}.nt-end[data-endpoint=powered] .nt-end-box,.nt-end[data-endpoint=source] .nt-end-box{fill:var(--color-accent)}.nt-end-dot{fill:var(--color-accent-contrast)}.nt-lock{fill:var(--color-surface);stroke:var(--color-text);stroke-width:1.4;stroke-linejoin:round}.nt-key-locked{fill:var(--color-surface-active)}.nt-cursor{display:none;fill:none;stroke:var(--color-focus);stroke-width:2.5;stroke-dasharray:5 3}.nt-board[data-cursor-visible=true] .nt-cursor,.nt-board:focus-visible .nt-cursor{display:inline}.nt-barrier{stroke:var(--color-text);stroke-width:3.5;stroke-linecap:square}.nt-feedback{margin-block-start:var(--space-2)}.nt-readout{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-3);margin:var(--space-2) 0 0;min-block-size:4.9rem;font-size:1rem;line-height:1.5}.nt-meter{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.nt-cursor-note{flex-basis:100%;color:var(--color-text-muted);font-size:.875rem;white-space:nowrap}.nt-badge{display:inline-block;padding:0 .5rem;border-radius:var(--radius-sm);background:var(--color-success);color:var(--color-success-contrast);font-weight:700}.nt-badge[data-completion=revealed]{background:var(--color-surface-hover);color:var(--color-text);box-shadow:inset 0 0 0 1px var(--color-border-strong)}.nt-status{min-block-size:calc(10.5em + .5rem);font-size:.875rem;line-height:1.5;margin-block:var(--space-2)}.nt-session-action{display:grid;grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));min-block-size:2.75rem}.nt-session-action .ui-button{width:100%}.nt-controls{display:grid;gap:var(--space-2);margin-block:var(--space-3)}.nt-turns{grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr))}.nt-history{grid-template-columns:repeat(3,minmax(0,1fr))}.nt-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.nt-arrows{grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));margin-block-end:0}.nt-moves{display:grid;gap:var(--space-2);margin-block:var(--space-3)}.nt-moves label{font-size:.875rem}.nt-controls .ui-button{width:100%}.nt-page .ui-button:empty:before{content:attr(data-label)}.nt-controls [data-icon]:before{margin-inline-end:.35em}.nt-controls [data-icon=anticlockwise]:before{content:"↺";content:"↺" / ""}.nt-controls [data-icon=clockwise]:before{content:"↻";content:"↻" / ""}.nt-controls [data-icon=anticlockwise]:empty:before{content:"↺ " attr(data-label)}.nt-controls [data-icon=clockwise]:empty:before{content:"↻ " attr(data-label)}.nt-help,.nt-credit{font-size:.875rem;color:var(--color-text-muted)}.nt-legend{display:grid;gap:var(--space-2);font-size:.875rem}.nt-legend>span{display:flex;align-items:center;gap:var(--space-2)}.nt-key{width:1.75rem;height:.875rem;flex:none;overflow:visible}@media(min-width:560px){.nt-status{min-block-size:calc(7.5em + .5rem)}}@media(max-width:850px){.nt-layout{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.nt-spin{animation:none}}.mo-page{max-width:64rem;margin-inline:auto}.mo-layout{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:var(--space-6);align-items:start}.mo-play,.mo-rail{min-width:0}.mo-play{max-width:40rem}.mo-rail{display:grid;gap:var(--space-4)}.mo-frame{aspect-ratio:1;box-shadow:0 0 0 1px var(--color-border);background:var(--color-surface);display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);min-height:0;overflow:auto;overscroll-behavior:contain;container-type:inline-size}.mo-frame[data-completion=won]{box-shadow:0 0 0 3px var(--color-success)}.mo-board{--mo-min: 24px;--mo-unit: max( var(--mo-min), min( 44px, calc((100cqi - 2px) / (var(--mo-w) + 1)), calc((100cqi - 2px) / (var(--mo-h) + 1)) ) );--mo-line: var(--color-border-strong);box-sizing:border-box;margin:auto;width:calc((var(--mo-w) + 1) * var(--mo-unit));height:calc((var(--mo-h) + 1) * var(--mo-unit));padding:calc(var(--mo-unit) / 2);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:pan-x pan-y pinch-zoom}.mo-grid{display:grid;grid-template-rows:repeat(var(--mo-h),var(--mo-unit));box-shadow:0 0 0 2px var(--color-text-muted)}.mo-row{display:grid;grid-template-columns:repeat(var(--mo-w),var(--mo-unit))}.mo-cell{position:relative;display:grid;place-items:center;min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:var(--color-surface-sunken);box-shadow:inset -1px 0 0 var(--mo-line),inset 0 -1px 0 var(--mo-line);color:var(--color-text);font:inherit;font-size:max(.8125rem,calc(var(--mo-unit) * .5));font-weight:700;line-height:1;font-variant-numeric:tabular-nums;cursor:pointer;scroll-margin:var(--mo-unit)}.mo-cell[data-colour=unmarked]:hover{background:var(--color-surface-active)}.mo-cell[data-colour=black],.mo-key[data-colour=black]{background:var(--color-text);color:var(--color-surface)}.mo-cell[data-colour=white],.mo-key[data-colour=white]{background:var(--color-surface)}.mo-cell[data-colour=white]:before,.mo-key[data-colour=white]:before{content:"";position:absolute;inset-block:0;inset-inline:0;margin:auto;width:22%;aspect-ratio:1;border-radius:50%;background:var(--color-text-muted)}.mo-cell[data-colour=white][data-clue]:before{inset:12% auto auto 12%;margin:0;width:14%}.mo-clue{display:grid;place-items:center;width:1.55em;height:1.55em;border:2px solid transparent;border-radius:50%;box-sizing:border-box}.mo-cell[data-solved=true] .mo-clue{border-color:currentColor;font-weight:400}.mo-cell[data-colour=white][data-solved=true],.mo-cell[data-colour=unmarked][data-solved=true]{color:var(--color-text-muted)}.mo-cell[data-error=true]{color:var(--color-danger);font-weight:800}.mo-cell[data-error=true][data-colour=black]{background:var(--color-danger);color:var(--color-surface)}.mo-cell[data-error=true]:after{content:"";position:absolute;inset:2px;border:2px dashed currentColor;pointer-events:none}.mo-cell:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px;box-shadow:inset 0 0 0 5px var(--color-surface);z-index:1}.mo-placeholder{height:100%;padding:var(--space-3);color:var(--color-text-muted)}.mo-feedback{margin-block-start:var(--space-2)}.mo-status{min-block-size:calc(9em + .5rem);font-size:.875rem;line-height:1.5;margin-block:var(--space-2)}.mo-badge{display:inline-block;margin-inline-end:var(--space-2);padding:0 .5rem;border-radius:var(--radius-sm);box-shadow:inset 0 0 0 2px var(--color-success);color:var(--color-text);font-weight:700}.mo-badge[data-completion=revealed]{box-shadow:none;outline:2px dashed var(--color-text-muted);outline-offset:-2px}.mo-hint{min-block-size:3em;margin-block:0 var(--space-2);font-size:.875rem;line-height:1.5;color:var(--color-text-muted)}.mo-session-action{display:grid;grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));min-block-size:2.75rem;margin-block-start:var(--space-2)}.mo-controls{display:grid;gap:var(--space-2);margin-block:var(--space-3)}.mo-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.mo-history{grid-template-columns:repeat(3,minmax(0,1fr))}.mo-controls .ui-button,.mo-session-action .ui-button{width:100%}.mo-page .ui-button:empty:before{content:attr(data-label)}.mo-help,.mo-credit{font-size:.875rem;color:var(--color-text-muted)}.mo-help{margin-block:var(--space-3)}.mo-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2) var(--space-3);font-size:.875rem}.mo-legend>span{display:flex;align-items:center;gap:.375rem;min-width:0;white-space:nowrap}.mo-key{position:relative;flex:none;display:inline-grid;place-items:center;width:1.375rem;height:1.375rem;border-radius:var(--radius-sm);font-weight:700;line-height:1}.mo-key[data-colour]{box-shadow:inset 0 0 0 1px var(--color-border-strong)}.mo-key[data-colour=unmarked]{background:var(--color-surface-sunken)}.mo-key[data-kind=met]{border-radius:50%;box-shadow:inset 0 0 0 2px currentColor;color:var(--color-text-muted);font-weight:400}.mo-key[data-kind=error]{color:var(--color-danger);font-weight:800;outline:2px dashed var(--color-danger);outline-offset:-2px}.mo-rail summary{cursor:pointer;min-height:2rem}@media(max-width:399px){.mo-legend{grid-template-columns:minmax(0,1fr)}}@media(min-width:560px){.mo-status{min-block-size:calc(6em + .5rem)}}@media(max-width:850px){.mo-layout{grid-template-columns:minmax(0,1fr)}}@media(forced-colors:active){.mo-cell,.mo-key[data-colour]{box-shadow:none;border:1px solid CanvasText}.mo-cell:focus-visible{outline-color:Highlight}.mo-cell[data-colour=black],.mo-key[data-colour=black]{background:CanvasText;color:Canvas;forced-color-adjust:none}.mo-cell[data-colour=white]:before,.mo-key[data-colour=white]:before{background:CanvasText;forced-color-adjust:none}}.pa-page{max-width:64rem;margin-inline:auto}.pa-layout{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:var(--space-6);align-items:start}.pa-play,.pa-rail{min-width:0}.pa-play{max-width:40rem}.pa-rail{display:grid;gap:var(--space-4)}.pa-frame{aspect-ratio:1;box-shadow:0 0 0 1px var(--color-border);background:var(--color-surface);display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);min-height:0;overflow:auto;overscroll-behavior:contain;container-type:inline-size}.pa-frame[data-completion=won]{box-shadow:0 0 0 3px var(--color-success)}.pa-board{--pa-min: 24px;--pa-unit: max( var(--pa-min), min( 64px, calc((100cqi - 2px) / (var(--pa-w) + 1)), calc((100cqi - 2px) / (var(--pa-h) + 1)) ) );position:relative;box-sizing:border-box;margin:auto;width:calc((var(--pa-w) + 1) * var(--pa-unit));height:calc((var(--pa-h) + 1) * var(--pa-unit));user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:pan-x pan-y pinch-zoom;cursor:pointer}.pa-rims,.pa-grid{position:absolute;inset:0}.pa-rims{pointer-events:none}.pa-row{position:absolute;inset-inline:0;top:calc(var(--pa-unit) * (.5 + var(--pa-hy) / 2));height:0}.pa-stop,.pa-corner,.pa-rim{position:absolute;left:calc(var(--pa-unit) * (.5 + var(--pa-hx) / 2));top:0;transform:translate(-50%,-50%)}.pa-rim{top:calc(var(--pa-unit) * (.5 + var(--pa-hy) / 2))}.pa-stop{display:grid;place-items:center;box-sizing:border-box;padding:0;border:0;border-radius:0;background:transparent;color:var(--color-text);font:inherit;line-height:1;pointer-events:none}.pa-sq{width:calc(var(--pa-unit) * .8);height:calc(var(--pa-unit) * .8);font-size:max(.8125rem,calc(var(--pa-unit) * .5));font-weight:700;font-variant-numeric:tabular-nums;z-index:1}.pa-edge.pa-h{width:calc(var(--pa-unit) * .6);height:calc(var(--pa-unit) * .3)}.pa-edge.pa-v{width:calc(var(--pa-unit) * .3);height:calc(var(--pa-unit) * .6)}.pa-edge{z-index:2}.pa-corner{width:2px;height:2px;background:var(--color-text-muted);pointer-events:none}.pa-edge,.pa-rim,.pa-key{--pa-t: 2px;--pa-fh: repeating-linear-gradient( 90deg, var(--color-text-muted) 0 4px, transparent 4px 8px );--pa-fv: repeating-linear-gradient( 180deg, var(--color-text-muted) 0 4px, transparent 4px 8px )}.pa-edge[data-state=line],.pa-rim,.pa-key[data-state=line]{--pa-t: 4px;--pa-fh: var(--color-text);--pa-fv: var(--color-text)}.pa-edge[data-state=no-line],.pa-key[data-state=no-line]{--pa-t: 2px;--pa-fh: var(--color-border);--pa-fv: var(--color-border)}.pa-edge[data-error=true],.pa-rim[data-error=true],.pa-key[data-error=true]{--pa-t: 5px;--pa-fh: repeating-linear-gradient( 45deg, var(--color-danger) 0 3px, var(--color-surface) 3px 6px );--pa-fv: var(--pa-fh)}.pa-edge:before,.pa-rim:before,.pa-key:before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none}.pa-h:before{width:calc(var(--pa-unit) + var(--pa-t));height:var(--pa-t);background:var(--pa-fh)}.pa-v:before{width:var(--pa-t);height:calc(var(--pa-unit) + var(--pa-t));background:var(--pa-fv)}.pa-rim{width:0;height:0}.pa-edge[data-state=no-line]:after,.pa-key[data-state=no-line]:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:var(--pa-x);height:var(--pa-x);background:linear-gradient(45deg,transparent calc(50% - 1px),var(--pa-xc) calc(50% - 1px) calc(50% + 1px),transparent calc(50% + 1px)),linear-gradient(-45deg,transparent calc(50% - 1px),var(--pa-xc) calc(50% - 1px) calc(50% + 1px),transparent calc(50% + 1px)),var(--color-surface);pointer-events:none}.pa-edge{--pa-x: min(14px, max(7px, calc(var(--pa-unit) * .28)));--pa-xc: var(--color-text-muted)}.pa-key{--pa-x: 12px;--pa-xc: var(--color-text-muted)}.pa-edge[data-state=no-line][data-error=true]{--pa-xc: var(--color-danger)}.pa-clue{display:grid;place-items:center;width:1.45em;height:1.45em;border-radius:50%;box-sizing:border-box}.pa-sq[data-error=true]{color:var(--color-danger);font-weight:800}.pa-sq[data-error=true] .pa-clue{border:2px dashed currentColor}.pa-stop:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;z-index:3}.pa-sq:focus-visible{outline-offset:-3px}.pa-placeholder{height:100%;padding:var(--space-3);color:var(--color-text-muted)}.pa-feedback{margin-block-start:var(--space-2)}.pa-status{min-block-size:calc(9em + .5rem);font-size:.875rem;line-height:1.5;margin-block:var(--space-2)}.pa-badge{display:inline-block;margin-inline-end:var(--space-2);padding:0 .5rem;border-radius:var(--radius-sm);box-shadow:inset 0 0 0 2px var(--color-success);color:var(--color-text);font-weight:700}.pa-badge[data-completion=revealed]{box-shadow:none;outline:2px dashed var(--color-text-muted);outline-offset:-2px}.pa-hint{min-block-size:3em;margin-block:0 var(--space-2);font-size:.875rem;line-height:1.5;color:var(--color-text-muted)}.pa-session-action{display:grid;grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));min-block-size:2.75rem;margin-block-start:var(--space-2)}.pa-controls{display:grid;gap:var(--space-2);margin-block:var(--space-3)}.pa-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.pa-history{grid-template-columns:repeat(3,minmax(0,1fr))}.pa-pad{grid-template-columns:repeat(2,minmax(0,1fr))}.pa-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.pa-controls .ui-button,.pa-session-action .ui-button{width:100%}.pa-page .ui-button:empty:before{content:attr(data-label)}.pa-help,.pa-credit{font-size:.875rem;color:var(--color-text-muted)}.pa-help{margin-block:var(--space-3)}.pa-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2) var(--space-3);font-size:.875rem}.pa-legend>span{display:flex;align-items:center;gap:.375rem;min-width:0;white-space:nowrap}.pa-key{position:relative;flex:none;display:inline-block;width:1.5rem;height:1.375rem}.pa-key:before{width:100%;height:var(--pa-t);background:var(--pa-fh)}.pa-rail summary{cursor:pointer;min-height:2rem}@media(min-width:560px){.pa-status{min-block-size:calc(6em + .5rem)}}@media(max-width:850px){.pa-layout{grid-template-columns:minmax(0,1fr)}}@media(forced-colors:active){.pa-edge,.pa-rim,.pa-key{forced-color-adjust:none;--pa-fh: repeating-linear-gradient(90deg, GrayText 0 4px, transparent 4px 8px);--pa-fv: repeating-linear-gradient(180deg, GrayText 0 4px, transparent 4px 8px)}.pa-edge[data-state=line],.pa-rim,.pa-key[data-state=line]{--pa-fh: CanvasText;--pa-fv: CanvasText}.pa-edge[data-state=no-line],.pa-key[data-state=no-line]{--pa-fh: GrayText;--pa-fv: GrayText}.pa-edge[data-error=true],.pa-rim[data-error=true],.pa-key[data-error=true]{--pa-fh: repeating-linear-gradient(45deg, CanvasText 0 3px, Canvas 3px 6px);--pa-fv: var(--pa-fh)}.pa-edge,.pa-key{--pa-xc: CanvasText}.pa-edge[data-state=no-line]:after,.pa-key[data-state=no-line]:after{background:linear-gradient(45deg,transparent calc(50% - 1px),CanvasText calc(50% - 1px) calc(50% + 1px),transparent calc(50% + 1px)),linear-gradient(-45deg,transparent calc(50% - 1px),CanvasText calc(50% - 1px) calc(50% + 1px),transparent calc(50% + 1px)),Canvas}.pa-corner{background:CanvasText;forced-color-adjust:none}.pa-stop:focus-visible{outline-color:Highlight}.pa-sq[data-error=true]{color:CanvasText}}.pe-page{max-width:64rem;margin-inline:auto}.pe-layout{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:var(--space-6);align-items:start}.pe-play,.pe-rail{min-width:0}.pe-play{max-width:40rem}.pe-rail{display:grid;gap:var(--space-4)}.pe-frame{aspect-ratio:1;box-shadow:0 0 0 1px var(--color-border);background:var(--color-surface);display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);min-height:0;overflow:auto;overscroll-behavior:contain;container-type:inline-size}.pe-frame[data-completion=won]{box-shadow:0 0 0 3px var(--color-success)}.pe-board{--pe-margin: 3px;--pe-min: 24px;--pe-unit: max( var(--pe-min), min( 96px, calc((100cqi - 2 * var(--pe-margin) - 2px) / max(var(--pe-w), var(--pe-h))) ) );--pe-grid: var(--color-border);box-sizing:border-box;margin:auto;width:calc(var(--pe-w) * var(--pe-unit) + 2 * var(--pe-margin));height:calc(var(--pe-h) * var(--pe-unit) + 2 * var(--pe-margin));padding:var(--pe-margin);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none}.pe-grid{display:grid;grid-template-rows:repeat(var(--pe-h),var(--pe-unit));box-shadow:0 0 0 1px var(--pe-grid)}.pe-row{display:grid;grid-template-columns:repeat(var(--pe-w),var(--pe-unit))}.pe-square{position:relative;display:block;min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:inset -1px 0 0 var(--pe-grid),inset 0 -1px 0 var(--pe-grid);color:var(--color-text);cursor:pointer;scroll-margin:var(--pe-unit)}.pe-art{display:block;width:100%;height:100%;overflow:visible;pointer-events:none}.pe-defs{position:absolute;width:0;height:0;overflow:hidden}.pe-stripe-error{fill:var(--color-danger)}.pe-stripe-add{fill:var(--color-warning)}.pe-stripe-gap{fill:var(--color-surface)}.pe-seg{fill:var(--color-text)}.pe-seg[data-kind=error]{fill:url(#pe-stripe-error)}.pe-seg[data-kind=add]{fill:url(#pe-stripe-add)}.pe-seg[data-kind=remove]{fill:var(--color-surface);fill-opacity:.7;stroke:var(--color-text);stroke-width:1.25;stroke-dasharray:2 2}.pe-cross{fill:none;stroke:var(--color-text);stroke-width:1.75;stroke-linecap:round}.pe-pearl[data-pearl=black]{fill:var(--color-text);stroke:var(--color-text);stroke-width:.75}.pe-pearl[data-pearl=white]{fill:var(--color-surface);stroke:var(--color-text);stroke-width:2}.pe-ring{fill:var(--color-danger);stroke:var(--color-text);stroke-width:1.5;stroke-dasharray:3 2}.pe-square:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px;box-shadow:inset 0 0 0 5px var(--color-surface)}.pe-marks{position:absolute;inset:0;z-index:2;display:block;width:100%;height:100%;overflow:visible;pointer-events:none}.pe-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.pe-placeholder{height:100%;padding:var(--space-3);color:var(--color-text-muted)}.pe-feedback{margin-block-start:var(--space-2)}.pe-status{min-block-size:calc(9em + .5rem);font-size:.875rem;line-height:1.5;margin-block:var(--space-2)}.pe-badge{display:inline-block;margin-inline-end:var(--space-2);padding:0 .5rem;border-radius:var(--radius-sm);box-shadow:inset 0 0 0 2px var(--color-success);color:var(--color-text);font-weight:700}.pe-badge[data-completion=revealed]{box-shadow:none;outline:2px dashed var(--color-text-muted);outline-offset:-2px}.pe-hint{min-block-size:3em;margin-block:0 var(--space-2);font-size:.875rem;line-height:1.5;color:var(--color-text-muted)}.pe-session-action{display:grid;grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));min-block-size:2.75rem;margin-block-start:var(--space-2)}.pe-controls{display:grid;gap:var(--space-2);margin-block:var(--space-3)}.pe-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.pe-history{grid-template-columns:repeat(3,minmax(0,1fr))}.pe-controls .ui-button,.pe-session-action .ui-button{width:100%}.pe-page .ui-button:empty:before{content:attr(data-label)}.pe-help,.pe-credit{font-size:.875rem;color:var(--color-text-muted)}.pe-help{margin-block:var(--space-3)}.pe-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2) var(--space-3);font-size:.875rem}.pe-legend>span{display:flex;align-items:center;gap:.375rem;min-width:0;white-space:nowrap}.pe-key{flex:none;width:1.75rem;height:1.75rem;overflow:visible;background:var(--color-surface);box-shadow:inset 0 0 0 1px var(--pe-grid, var(--color-border))}.pe-rail summary{cursor:pointer;min-height:2rem}@media(max-width:399px){.pe-legend{grid-template-columns:minmax(0,1fr)}}@media(min-width:560px){.pe-status{min-block-size:calc(6em + .5rem)}}@media(max-width:339px){.pe-frame{margin-inline:-.75rem}}@media(max-width:850px){.pe-layout{grid-template-columns:minmax(0,1fr)}}@media(forced-colors:active){.pe-square{box-shadow:none;border:1px solid CanvasText}.pe-square:focus-visible{outline-color:Highlight}.pe-frame[data-completion=won]{box-shadow:none;outline:3px solid Highlight;outline-offset:-3px}.pe-badge{box-shadow:none;outline:2px solid CanvasText;outline-offset:-2px}.pe-art,.pe-marks,.pe-key,.pe-defs{forced-color-adjust:none}.pe-seg,.pe-stripe-error{fill:CanvasText}.pe-stripe-add{fill:Highlight}.pe-stripe-gap{fill:Canvas}.pe-seg[data-kind=error]{fill:url(#pe-stripe-error)}.pe-seg[data-kind=add]{fill:url(#pe-stripe-add)}.pe-seg[data-kind=remove]{fill:Canvas;stroke:CanvasText}.pe-cross{stroke:CanvasText}.pe-pearl[data-pearl=black]{fill:CanvasText;stroke:CanvasText}.pe-pearl[data-pearl=white],.pe-ring{fill:Canvas;stroke:CanvasText}}@property --smg-unit{syntax: "<length>"; inherits: true; initial-value: 24px;}.smg-page{--smg-chrome: 21rem;max-width:64rem;margin-inline:auto}.smg-layout{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:var(--space-6);align-items:start}.smg-play,.smg-rail{min-width:0}.smg-play{max-width:40rem}.smg-rail{display:grid;gap:var(--space-4)}.smg-frame{aspect-ratio:1;width:min(100%,max(16rem,calc(100svh - var(--smg-chrome))));box-shadow:0 0 0 1px var(--color-border);background:var(--color-surface);display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);min-height:0;overflow:auto;overscroll-behavior:contain;container-type:inline-size}.smg-frame[data-completion=won]{box-shadow:0 0 0 3px var(--color-success)}.smg-board{--smg-min: 24px;--smg-margin: 8px;--smg-unit: max( var(--smg-min), min( 72px, calc((100cqi - 2 * var(--smg-margin) - 2px) / var(--smg-w)), calc((100cqi - 2 * var(--smg-margin) - 2px) / var(--smg-h)) ) );box-sizing:border-box;margin:auto;width:calc(var(--smg-w) * var(--smg-unit) + 2 * var(--smg-margin));height:calc(var(--smg-h) * var(--smg-unit) + 2 * var(--smg-margin));padding:var(--smg-margin);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:pan-x pan-y pinch-zoom}.smg-grid{display:grid;grid-template-rows:repeat(var(--smg-h),minmax(0,1fr));width:100%;height:100%;background:var(--color-surface-sunken)}.smg-row{display:grid;grid-template-columns:repeat(var(--smg-w),minmax(0,1fr))}.smg-square{--smg-ink: #fff;--smg-fill: transparent;--smg-gap: max(1px, calc(var(--smg-unit) / 32));position:relative;display:block;min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--smg-ink);font:inherit;cursor:pointer;overflow:visible;scroll-margin:var(--smg-unit)}.smg-square[data-empty]{cursor:default}.smg-square[data-colour="1"],.smg-key[data-colour="1"]{--smg-fill: #2f6bd0}.smg-square[data-colour="2"],.smg-key[data-colour="2"]{--smg-fill: #c8372f}.smg-square[data-colour="3"],.smg-key[data-colour="3"]{--smg-fill: #1f7a3d}.smg-square[data-colour="4"],.smg-key[data-colour="4"]{--smg-fill: #e5b800;--smg-ink: #16181d}.smg-square[data-colour="5"],.smg-key[data-colour="5"]{--smg-fill: #7a3fb5}.smg-square[data-colour="6"],.smg-key[data-colour="6"]{--smg-fill: #f0952b;--smg-ink: #16181d}.smg-square[data-colour="7"],.smg-key[data-colour="7"]{--smg-fill: #0f7a80}.smg-square[data-colour="8"],.smg-key[data-colour="8"]{--smg-fill: #c23069}.smg-square[data-colour="9"],.smg-key[data-colour="9"]{--smg-fill: #7a4a21}.smg-fill{position:absolute;inset:var(--smg-gap);display:grid;place-items:center;box-sizing:border-box;background:var(--smg-fill);color:var(--smg-ink)}.smg-square[data-join~=r] .smg-fill{right:calc(-1 * var(--smg-gap))}.smg-square[data-join~=d] .smg-fill{bottom:calc(-1 * var(--smg-gap))}.smg-square[data-join~=r][data-join~=d]:not([data-join~=dr]) .smg-fill:after{content:"";position:absolute;right:0;bottom:0;width:var(--smg-gap);height:var(--smg-gap);background:var(--color-surface-sunken)}.smg-shape{width:66%;height:66%;fill:currentColor;stroke:none}.smg-shape .smg-ring-shape{fill:none;stroke:currentColor;stroke-width:11}:is(.smg-square,.smg-key)[data-selected]{--smg-t: max(3px, calc(var(--smg-unit) / 10));--smg-l: var(--smg-t);--smg-r: var(--smg-t);--smg-u: var(--smg-t);--smg-d: var(--smg-t)}:is(.smg-square,.smg-key)[data-selected][data-join~=l]{--smg-l: 0px}:is(.smg-square,.smg-key)[data-selected][data-join~=r]{--smg-r: 0px}:is(.smg-square,.smg-key)[data-selected][data-join~=u]{--smg-u: 0px}:is(.smg-square,.smg-key)[data-selected][data-join~=d]{--smg-d: 0px}:is(.smg-square,.smg-key)[data-selected] .smg-fill{background-image:repeating-linear-gradient(45deg,color-mix(in srgb,var(--smg-ink) 38%,transparent) 0 3px,transparent 3px 8px);background-color:var(--smg-fill);box-shadow:inset var(--smg-l) 0 0 0 var(--color-text),inset calc(-1 * var(--smg-r)) 0 0 0 var(--color-text),inset 0 var(--smg-u) 0 0 var(--color-text),inset 0 calc(-1 * var(--smg-d)) 0 0 var(--color-text)}.smg-dead{position:absolute;inset:0;margin:auto;width:max(6px,16%);height:max(6px,16%);background:#16181d;box-shadow:0 0 0 1px #fff}.smg-square:focus-visible{outline:none;z-index:1}.smg-square:focus-visible:after{content:"";position:absolute;inset:0;border:3px solid var(--color-focus);box-shadow:inset 0 0 0 2px var(--color-surface),0 0 0 1px var(--color-surface);pointer-events:none}.smg-placeholder{height:100%;padding:var(--space-3);color:var(--color-text-muted)}.smg-feedback{margin-block-start:var(--space-2)}.smg-status{min-block-size:calc(9em + .5rem);font-size:.875rem;line-height:1.5;margin-block:var(--space-2)}.smg-badge{display:inline-block;margin-inline-end:var(--space-2);padding:0 .5rem;border-radius:var(--radius-sm);box-shadow:inset 0 0 0 2px var(--color-success);color:var(--color-text);font-weight:700}.smg-hint{min-block-size:3em;margin-block:0 var(--space-2);font-size:.875rem;line-height:1.5;color:var(--color-text-muted)}.smg-session-action{display:grid;grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));min-block-size:2.75rem;margin-block-start:var(--space-2)}.smg-controls{display:grid;gap:var(--space-2);margin-block:var(--space-3)}.smg-single{grid-template-columns:minmax(0,1fr)}.smg-history{grid-template-columns:repeat(3,minmax(0,1fr))}.smg-controls .ui-button,.smg-session-action .ui-button{width:100%}.smg-page .ui-button:empty:before{content:attr(data-label)}.smg-help,.smg-credit{font-size:.875rem;color:var(--color-text-muted)}.smg-help{margin-block:var(--space-3)}.smg-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.smg-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2) var(--space-3);font-size:.875rem}.smg-legend>span[data-unused]{visibility:hidden}.smg-legend>span{display:flex;align-items:center;gap:.375rem;min-width:0;white-space:nowrap}.smg-key{--smg-ink: #fff;--smg-gap: 1px;--smg-unit: 22px;position:relative;flex:none;display:inline-block;width:1.375rem;height:1.375rem}.smg-key[data-colour="4"],.smg-key[data-colour="6"]{--smg-ink: #16181d}.smg-key .smg-fill{inset:0}.smg-rail summary{cursor:pointer;min-height:2rem}@media(max-width:399px){.smg-legend{grid-template-columns:minmax(0,1fr)}}@media(min-width:560px){.smg-status{min-block-size:calc(6em + .5rem)}}@media(max-width:850px){.smg-layout{grid-template-columns:minmax(0,1fr)}}@media(forced-colors:active){.smg-fill{forced-color-adjust:none;background:Canvas;color:CanvasText;box-shadow:inset 0 0 0 1px CanvasText}:is(.smg-square,.smg-key)[data-selected] .smg-fill{background-image:none;background-color:Canvas;box-shadow:none;border:solid Highlight;border-style:dashed;border-width:var(--smg-u) var(--smg-r) var(--smg-d) var(--smg-l)}.smg-square:focus-visible:after{inset:-2px;border:3px solid Highlight;box-shadow:none}.smg-dead{box-sizing:border-box;width:max(9px,24%);height:max(9px,24%);background:Canvas;border:2px solid CanvasText;box-shadow:none}.smg-square[data-join~=r][data-join~=d]:not([data-join~=dr]) .smg-fill:after{background:Canvas}.smg-frame{box-shadow:none;outline:1px solid CanvasText;outline-offset:-1px}.smg-frame[data-completion=won]{box-shadow:none;outline:3px solid Highlight;outline-offset:-3px}.smg-badge{box-shadow:none;outline:2px solid CanvasText;outline-offset:-2px}}.pg-page{max-width:64rem;margin-inline:auto}.pg-layout{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:var(--space-6);align-items:start}.pg-play,.pg-rail{min-width:0}.pg-play{max-width:40rem;container:pg-play / inline-size}.pg-rail{display:grid;gap:var(--space-4)}.pg-frame{aspect-ratio:1;max-inline-size:max(calc(100svh - 17.5rem),min(20rem,calc(100svh - 2rem)));margin-inline:auto;box-shadow:0 0 0 1px var(--color-border);background:var(--color-surface);display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);min-height:0;overflow:auto;overscroll-behavior:contain;container-type:inline-size}.pg-frame[data-completion=won]{box-shadow:0 0 0 3px var(--color-success)}.pg-board{--pg-margin: 3px;--pg-min: 24px;--pg-unit: max( var(--pg-min), min( 96px, calc((100cqi - 2 * var(--pg-margin) - 2px) / max(var(--pg-w), var(--pg-h))) ) );--pg-grid: var(--color-border);position:relative;box-sizing:border-box;margin:auto;width:calc(var(--pg-w) * var(--pg-unit) + 2 * var(--pg-margin));height:calc(var(--pg-h) * var(--pg-unit) + 2 * var(--pg-margin));padding:var(--pg-margin);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none}.pg-grid{display:grid;grid-template-rows:repeat(var(--pg-h),var(--pg-unit))}.pg-row{display:grid;grid-template-columns:repeat(var(--pg-w),var(--pg-unit))}.pg-obstacle{min-width:0;min-height:0}.pg-cell{position:relative;display:block;min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:inset 0 0 0 1px var(--pg-grid);color:var(--color-text);cursor:pointer;scroll-margin:var(--pg-unit)}.pg-art{display:block;width:100%;height:100%;overflow:visible;pointer-events:none}.pg-peg{fill:var(--color-text);stroke:var(--color-text);stroke-width:.75}.pg-hole{fill:var(--color-border);stroke:var(--color-text-muted);stroke-width:1.5}.pg-armed{fill:none;stroke:var(--color-text);stroke-width:2;stroke-dasharray:4 2.5}.pg-chevron{fill:none;stroke:var(--color-text);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.pg-cell:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px;box-shadow:inset 0 0 0 5px var(--color-surface)}.pg-sprite{position:absolute;z-index:3;width:calc(var(--pg-unit) * .7);height:calc(var(--pg-unit) * .7);border-radius:50%;background:var(--color-text);box-shadow:0 0 0 2px var(--color-surface),0 4px 10px #00000059;transform:translate(-50%,-50%) scale(1.12);pointer-events:none}.pg-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.pg-placeholder{height:100%;padding:var(--space-3);color:var(--color-text-muted)}.pg-feedback{margin-block-start:var(--space-2)}.pg-status{min-block-size:6em;font-size:.875rem;line-height:1.5;margin-block:var(--space-2)}@container pg-play (min-width: 23rem){.pg-status{min-block-size:4.5em}}@container pg-play (min-width: 34rem){.pg-status{min-block-size:3em}}.pg-badge{display:inline-block;margin-inline-end:var(--space-2);padding:0 .5rem;border-radius:var(--radius-sm);box-shadow:inset 0 0 0 2px var(--color-success);color:var(--color-text);font-weight:700}.pg-hint{min-block-size:3em;margin-block:0 var(--space-2);font-size:.875rem;line-height:1.5;color:var(--color-text-muted)}.pg-session-action{display:grid;grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));min-block-size:2.75rem;margin-block-start:var(--space-2)}.pg-controls{display:grid;gap:var(--space-2);margin-block:var(--space-3)}.pg-history{grid-template-columns:repeat(3,minmax(0,1fr))}.pg-controls .ui-button,.pg-session-action .ui-button{width:100%}.pg-page .ui-button:empty:before{content:attr(data-label)}.pg-help,.pg-credit{font-size:.875rem;color:var(--color-text-muted)}.pg-help{margin-block:var(--space-3)}.pg-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2) var(--space-3);font-size:.875rem}.pg-legend>span{display:flex;align-items:center;gap:.375rem;min-width:0;white-space:nowrap}.pg-key{flex:none;width:1.75rem;height:1.75rem;overflow:hidden;background:var(--color-surface);box-shadow:inset 0 0 0 1px var(--pg-grid, var(--color-border))}.pg-rail summary{cursor:pointer;min-height:2rem}@media(max-width:399px){.pg-legend{grid-template-columns:minmax(0,1fr)}}@media(max-width:339px){.pg-frame{margin-inline:-.75rem}}@media(max-width:850px){.pg-layout{grid-template-columns:minmax(0,1fr)}}@media(forced-colors:active){.pg-cell{box-shadow:none;border:1px solid CanvasText}.pg-cell:focus-visible{outline-color:Highlight}.pg-frame[data-completion=won]{box-shadow:none;outline:3px solid Highlight;outline-offset:-3px}.pg-badge{box-shadow:none;outline:2px solid CanvasText;outline-offset:-2px}.pg-art,.pg-key,.pg-sprite{forced-color-adjust:none}.pg-peg{fill:CanvasText;stroke:CanvasText}.pg-hole{fill:Canvas;stroke:CanvasText}.pg-armed,.pg-chevron{stroke:CanvasText}.pg-sprite{background:CanvasText;box-shadow:0 0 0 2px Canvas}}.tr-page{max-width:64rem;margin-inline:auto}.tr-layout{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:var(--space-6);align-items:start}.tr-play,.tr-rail{min-width:0}.tr-play{max-width:40rem}.tr-rail{display:grid;gap:var(--space-4)}.tr-frame{aspect-ratio:1;box-shadow:0 0 0 1px var(--color-border);background:var(--color-surface);display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);min-height:0;overflow:hidden;container-type:inline-size}.tr-frame[data-completion=won]{box-shadow:0 0 0 3px var(--color-success)}.tr-board{--tr-unit: min( 64px, calc((100cqi - 2px) / (var(--tr-w) + 1.75)), calc((100cqi - 2px) / (var(--tr-h) + 1.75)) );--tr-track-bg: var(--color-surface-sunken);--tr-hatch: var(--color-border);--tr-rail: var(--color-text-muted);--tr-fixed: var(--color-text);--tr-sleeper: var(--color-warning-border);--tr-drag: var(--color-info);--tr-drag-bg: var(--color-info-subtle);position:relative;box-sizing:border-box;margin:auto;width:calc((var(--tr-w) + 1.75) * var(--tr-unit));height:calc((var(--tr-h) + 1.75) * var(--tr-unit));user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:pinch-zoom;cursor:pointer}.tr-art{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible;pointer-events:none}.tr-grid{position:absolute;left:calc(var(--tr-unit) * .75);top:var(--tr-unit);width:calc(var(--tr-w) * var(--tr-unit));height:calc(var(--tr-h) * var(--tr-unit))}.tr-row{position:absolute;inset-inline:0;top:calc(var(--tr-unit) * var(--tr-hy) / 2);height:0}.tr-stop,.tr-corner{position:absolute;left:calc(var(--tr-unit) * var(--tr-hx, 0) / 2);top:0;transform:translate(-50%,-50%)}.tr-stop{box-sizing:border-box;padding:0;border:0;border-radius:0;background:transparent;pointer-events:none;scroll-margin:var(--tr-unit)}.tr-centre{width:calc(var(--tr-unit) * .72);height:calc(var(--tr-unit) * .72)}.tr-edge.tr-h{width:calc(var(--tr-unit) * .6);height:calc(var(--tr-unit) * .32)}.tr-edge.tr-v{width:calc(var(--tr-unit) * .32);height:calc(var(--tr-unit) * .6)}.tr-corner{width:0;height:0;pointer-events:none}.tr-grid:not(:focus-within) .tr-stop[aria-selected=true]{outline:2px dashed var(--color-focus);outline-offset:0}.tr-stop:focus-visible{outline:3px solid var(--color-focus);outline-offset:0;box-shadow:0 0 0 5px var(--color-surface);z-index:1}.tr-bg{fill:var(--color-surface)}.tr-sq[data-shows=true] .tr-bg{fill:var(--tr-track-bg)}.tr-hatch{fill:none;stroke:var(--tr-hatch);stroke-width:1}.tr-rail{fill:none;stroke:var(--tr-rail);stroke-width:3.75}.tr-sleeper{fill:none;stroke:var(--tr-sleeper);stroke-width:2.5}.tr-given{fill:none;stroke:var(--tr-fixed);stroke-width:1.5}.tr-sq[data-clue=true] .tr-rail,.tr-key[data-state=fixed] .tr-rail{stroke:var(--tr-fixed)}.tr-error{fill:none;stroke:var(--color-danger);stroke-width:1.5;stroke-dasharray:3 2}.tr-sq[data-error=true] .tr-rail,.tr-key[data-state=error] .tr-rail{stroke:var(--color-danger);stroke-dasharray:4 2.5}.tr-cross{fill:none;stroke:var(--color-text);stroke-width:2;stroke-linecap:round}.tr-edge-cross{fill:none;stroke:var(--color-text);stroke-width:1.75;stroke-linecap:round}.tr-sq[data-drag=gain] .tr-bg{fill:var(--tr-drag-bg)}.tr-sq[data-drag=gain] .tr-hatch{stroke:var(--tr-drag)}.tr-sq[data-drag=lose] .tr-hatch{stroke-opacity:.35}.tr-sq[data-drag=lose] .tr-bg{fill:var(--color-surface)}.tr-cross[data-drag=gain]{stroke:var(--tr-drag);stroke-dasharray:3 2}.tr-cross[data-drag=lose]{stroke-opacity:.35}.tr-lines{fill:none;stroke:var(--color-border);stroke-width:1}.tr-gridline{fill:none;stroke:var(--color-text-muted);stroke-width:2}.tr-labels{position:absolute;inset:0;pointer-events:none}.tr-number,.tr-station{position:absolute;left:calc(var(--tr-unit) * var(--tr-lx));top:calc(var(--tr-unit) * var(--tr-ly));transform:translate(-50%,-50%);display:grid;place-items:center;width:1.45em;height:1.45em;box-sizing:border-box;border-radius:50%;color:var(--color-text);font-size:max(.625rem,calc(var(--tr-unit) * .5));font-weight:700;font-variant-numeric:tabular-nums;line-height:1}.tr-station{width:auto;height:auto;font-size:max(.625rem,calc(var(--tr-unit) * .45))}.tr-number[data-broken=true]{color:var(--color-danger);border:2px dashed currentColor}.tr-placeholder{height:100%;padding:var(--space-3);color:var(--color-text-muted)}.tr-feedback{margin-block-start:var(--space-2)}.tr-status{min-block-size:calc(9em + .5rem);font-size:.875rem;line-height:1.5;margin-block:var(--space-2)}.tr-badge{display:inline-block;margin-inline-end:var(--space-2);padding:0 .5rem;border-radius:var(--radius-sm);box-shadow:inset 0 0 0 2px var(--color-success);color:var(--color-text);font-weight:700}.tr-badge[data-completion=revealed]{box-shadow:none;outline:2px dashed var(--color-text-muted);outline-offset:-2px}.tr-hint{min-block-size:3em;margin-block:0 var(--space-2);font-size:.875rem;line-height:1.5;color:var(--color-text-muted)}.tr-session-action{display:grid;grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));min-block-size:2.75rem;margin-block-start:var(--space-2)}.tr-controls{display:grid;gap:var(--space-2);margin-block:var(--space-3)}.tr-pair,.tr-pad{grid-template-columns:repeat(2,minmax(0,1fr))}.tr-history{grid-template-columns:repeat(3,minmax(0,1fr))}.tr-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.tr-controls .ui-button,.tr-session-action .ui-button{width:100%}.tr-page .ui-button:empty:before{content:attr(data-label)}.tr-help,.tr-credit{font-size:.875rem;color:var(--color-text-muted)}.tr-help{margin-block:var(--space-3)}.tr-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2) var(--space-3);font-size:.875rem}.tr-legend>span{display:flex;align-items:center;gap:.375rem;min-width:0;white-space:nowrap}.tr-key{--tr-track-bg: var(--color-surface-sunken);--tr-hatch: var(--color-border);--tr-rail: var(--color-text-muted);--tr-fixed: var(--color-text);--tr-sleeper: var(--color-warning-border);flex:none;width:1.5rem;height:1.5rem;box-shadow:0 0 0 1px var(--color-border)}.tr-key[data-state=marked] .tr-bg{fill:var(--tr-track-bg)}.tr-rail summary{cursor:pointer;min-height:2rem}@media(min-width:560px){.tr-status{min-block-size:calc(6em + .5rem)}}@media(max-width:850px){.tr-layout{grid-template-columns:minmax(0,1fr)}}@media(forced-colors:active){.tr-art,.tr-key{forced-color-adjust:none}.tr-board,.tr-key{--tr-track-bg: Canvas;--tr-hatch: GrayText;--tr-rail: CanvasText;--tr-fixed: CanvasText;--tr-sleeper: GrayText;--tr-drag: Highlight;--tr-drag-bg: Canvas}.tr-bg,.tr-sq[data-drag=lose] .tr-bg{fill:Canvas}.tr-cross,.tr-edge-cross,.tr-gridline,.tr-error,.tr-given{stroke:CanvasText}.tr-grid:not(:focus-within) .tr-stop[aria-selected=true]{outline-color:Highlight}.tr-lines{stroke:GrayText}.tr-sq[data-error=true] .tr-rail,.tr-key[data-state=error] .tr-rail{stroke:CanvasText}.tr-number,.tr-station,.tr-number[data-broken=true]{color:CanvasText}.tr-stop:focus-visible{outline-color:Highlight}}.pch-page{position:relative;display:flex;flex-direction:column;gap:var(--space-4);align-items:center;--pch-frame-pad: var(--space-2);--pch-board-max: min(30rem, max(14rem, calc(100vh - 7rem) ));--pch-board-max: min(30rem, max(14rem, calc(100svh - 7rem) ));--pch-play-max: calc(var(--pch-board-max) + 2 * var(--pch-frame-pad) + 2px);--pch-line: var(--color-border);--pch-ink: var(--color-text);--pch-edge: color-mix(in srgb, var(--color-text) 78%, transparent);--pch-ok: var(--color-accent);--pch-bad: var(--color-danger)}.pch-page__intro{position:absolute}.pch-page__heading{font-size:var(--font-size-lg)}.pch-noscript{margin:0;padding:var(--space-3);border:1px solid var(--color-warning);border-radius:var(--radius-md);background:var(--color-warning-subtle);color:var(--color-text);max-width:60ch}.pch-layout{display:flex;flex-direction:column;gap:var(--space-3);inline-size:min(100%,var(--pch-play-max));padding:var(--space-3);border-radius:var(--radius-lg);background:var(--color-surface-sunken)}.pch-play,.pch-rail{display:flex;flex-direction:column;gap:var(--space-3);inline-size:100%;min-inline-size:0}@media(min-width:56rem){.pch-page{--pch-board-max: min(30rem, max(14rem, calc(100vh - 24rem) ));--pch-board-max: min(30rem, max(14rem, calc(100svh - 24rem) ))}}.pch-frame{order:1}.pch-timer{order:0}.pch-controls{order:2}.pch-status-box{order:3}.pch-othertab{order:4}.pch-frame{scroll-margin-block:var(--scroll-inset-block-start, 0px) var(--space-3);padding:0;background:var(--color-surface);border:2px solid var(--color-border-subtle);border-radius:var(--radius-lg)}@media(max-width:30rem){.pch-page{--pch-frame-pad: .375rem}.pch-play{inline-size:100%}.pch-layout{padding:var(--space-2)}}html[data-pch-restore] .pch-gated{visibility:hidden;animation:pch-ungate 0s linear 4s forwards}html[data-pch-restore=loading] .pch-gated{animation:none}@media(max-width:55.999rem){.pch-frame{scroll-margin-block-start:3rem}}@keyframes pch-ungate{to{visibility:visible}}.pch-board{position:relative;inline-size:100%;aspect-ratio:1;container-type:inline-size;background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden;--pch-cell: calc(100cqi / var(--pch-n))}.pch-grid,.pch-patches{display:grid;grid-template-columns:repeat(var(--pch-n),minmax(0,1fr));grid-template-rows:repeat(var(--pch-n),minmax(0,1fr));inline-size:100%;block-size:100%}.pch-patches{position:absolute;inset:0;z-index:0;pointer-events:none}.pch-overlay{position:absolute;inset:0;z-index:2;display:grid;grid-template-columns:repeat(var(--pch-n),minmax(0,1fr));grid-template-rows:repeat(var(--pch-n),minmax(0,1fr));pointer-events:none}.pch-grid{position:relative;z-index:1;touch-action:none;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.pch-row{display:contents}.pch-cell{appearance:none;margin:0;padding:0;border:0;border-inline-end:1px dashed var(--color-border-subtle);border-block-end:1px dashed var(--color-border-subtle);border-radius:0;background:transparent;color:var(--pch-ink);display:grid;place-items:center;cursor:pointer;position:relative;touch-action:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.pch-cell:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px;box-shadow:inset 0 0 0 6px var(--color-surface);z-index:2}.pch-cell.is-anchor{box-shadow:inset 0 0 0 4px var(--pch-ink)}.pch-cell.is-anchor:focus-visible{box-shadow:inset 0 0 0 6px var(--color-surface),inset 0 0 0 9px var(--pch-ink)}.pch-clue{position:relative;display:grid;place-items:center;line-height:1;pointer-events:none;color:var(--pch-fill)}.pch-glyph{inline-size:calc(var(--pch-cell) * .82);block-size:calc(var(--pch-cell) * .82);flex:none}.pch-clue__n{position:absolute;color:var(--color-surface);font-weight:var(--font-weight-bold);font-size:max(9px,calc(var(--pch-cell) * .27));font-variant-numeric:tabular-nums}[data-tone="0"]{--pch-fill: var(--color-success)}[data-tone="1"]{--pch-fill: var(--color-warning)}[data-tone="2"]{--pch-fill: var(--color-accent)}[data-tone="3"]{--pch-fill: var(--color-info)}[data-tone="4"]{--pch-fill: color-mix(in srgb, var(--color-info) 65%, var(--color-success))}[data-tone="5"]{--pch-fill: color-mix(in srgb, var(--color-accent) 75%, var(--color-info))}[data-tone="6"]{--pch-fill: color-mix(in srgb, var(--color-warning) 70%, var(--color-success))}[data-tone="7"]{--pch-fill: color-mix(in srgb, var(--color-accent) 65%, var(--color-warning))}.pch-patch{position:relative;margin:2px;border:3px solid var(--pch-fill);border-radius:var(--radius-md);background-color:color-mix(in srgb,var(--pch-fill) 35%,var(--color-surface))}.pch-label{margin:3px;max-inline-size:calc(var(--pch-cell) - 10px);overflow:hidden;white-space:nowrap;align-self:end;justify-self:end;padding:0 .1em;border-radius:var(--radius-xs);background:var(--color-surface);color:var(--pch-ink);font-size:max(8px,calc(var(--pch-cell) * .2));font-weight:var(--font-weight-semibold);line-height:1.3;font-variant-numeric:tabular-nums;z-index:2;pointer-events:none}.pch-label[data-corner=start]{align-self:start;justify-self:start}.pch-preview__label{margin:5px}@container (max-width: 170px){.pch-label{display:none}}.pch-board.is-solved .pch-patch{background-color:color-mix(in srgb,var(--pch-fill) 55%,var(--color-surface))}.pch-preview{position:relative;margin:2px;border:3px solid var(--pch-ok);border-radius:var(--radius-xs);background:color-mix(in srgb,var(--pch-ok) 14%,transparent);z-index:1}.pch-preview[data-valid=false]{border-style:dashed;border-color:var(--pch-bad);background-color:color-mix(in srgb,var(--pch-bad) 3%,transparent);background-image:repeating-linear-gradient(45deg,color-mix(in srgb,var(--pch-bad) 6%,transparent) 0 2px,transparent 2px 8px);display:grid;place-items:center;color:var(--pch-bad)}.pch-refused{inline-size:min(40%,2rem);block-size:min(40%,2rem);min-inline-size:.875rem}@media(prefers-reduced-motion:no-preference){.pch-patch{animation:pch-pop .14s var(--ease-out, ease-out)}@keyframes pch-pop{0%{opacity:.4;transform:scale(.96)}}}.pch-status{margin:0;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface);min-block-size:3.5em;font-size:var(--font-size-sm)}.pch-status-stack{display:grid}.pch-status-stack>.pch-status{grid-area:1 / 1}.pch-status__over{z-index:1}.pch-making{margin:var(--space-1) 0 0;min-block-size:1.25em;line-height:1.25;font-size:var(--font-size-xs, .75rem);color:var(--color-text-muted)}.pch-othertab{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-warning);border-radius:var(--radius-md);background:var(--color-warning-subtle);font-size:var(--font-size-sm)}.pch-status__idle{color:var(--color-text-muted)}.pch-status__reason{color:var(--pch-bad);font-weight:var(--font-weight-semibold)}.pch-controls{display:flex;flex-wrap:wrap;gap:var(--space-2)}.pch-controls .ui-button{flex:1 1 4rem;border-radius:var(--radius-full)}.pch-controls .ui-button[aria-disabled=true],.pch-controls[inert] .ui-button{opacity:.55;cursor:not-allowed}.pch-controls__reset{border-color:color-mix(in srgb,var(--color-danger) 55%,var(--color-border))}.pch-controls__help{flex:1 1 100%;margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.pch-controls__help-keys{display:none}@media(hover:hover)and (pointer:fine){.pch-controls__help-keys{display:inline}.pch-controls__help-touch{display:none}}.pch-timer{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2)}.pch-timer__label{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:var(--letter-spacing-snug);color:var(--color-text-muted)}.pch-timer__value{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;min-inline-size:4.5ch}.pch-timer__hints{margin-inline-start:auto;font-size:var(--font-size-sm);color:var(--color-text-muted)}.pch-timer[data-won] .pch-timer__value{color:var(--color-success)}.pch-meta,.pch-win,.pch-panel{display:flex;flex-direction:column;gap:var(--space-2)}.pch-meta__line,.pch-win__line,.pch-win__code{margin:0}.pch-meta__line--detail{color:var(--color-text-muted);font-size:var(--font-size-sm)}.pch-win{border-color:var(--color-success)}.pch-win__title,.pch-panel__title{margin:0;font-size:var(--font-size-lg)}.pch-win__title{color:var(--color-success)}.pch-win__code{font-family:var(--font-mono);font-size:var(--font-size-sm);overflow-wrap:anywhere}.pch-panels{inline-size:100%;display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));align-items:start}.pch-panel__note{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.pch-panel__error{margin:0;color:var(--color-danger);font-size:var(--font-size-sm)}.pch-panel__row,.pch-panel__form,.pch-new{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:end}.pch-panel__form{flex-direction:column;align-items:stretch}.pch-panel__field{flex:none}.pch-new__field{flex:1 1 10rem}.pch-dailies{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));gap:var(--space-2)}.pch-daily.ui-button{flex-direction:column;gap:0;block-size:auto;min-block-size:3.5rem;padding-block:var(--space-2)}.pch-daily[aria-pressed=true]{border-color:var(--color-accent);box-shadow:inset 0 0 0 2px var(--color-accent)}.pch-daily__name{font-weight:var(--font-weight-semibold)}.pch-daily__size{font-size:var(--font-size-sm);color:var(--color-text-muted)}.pch-daily__solved{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-success)}.pch-daily__solved:before{content:"✓ "}.pch-rules{inline-size:min(100%,var(--pch-play-max))}.pch-rules__list{margin:0;padding-inline-start:1.25rem;display:flex;flex-direction:column;gap:var(--space-1)}.pch-legend{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))}.pch-legend__item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm)}.pch-legend__icon{display:grid;place-items:center;flex:none;inline-size:2rem;block-size:2rem;border:1px solid var(--pch-line);border-radius:var(--radius-sm);color:var(--pch-ink)}.pch-legend__icon .pch-glyph{inline-size:1.25rem;block-size:1.25rem}@media(forced-colors:active){.pch-board,.pch-legend__icon{forced-color-adjust:none;background:Canvas;color:CanvasText;--pch-line: CanvasText;--pch-ink: CanvasText;--pch-edge: CanvasText;--pch-ok: Highlight;--pch-bad: CanvasText}.pch-patch,.pch-patch[data-tone]{background:Canvas;background-image:none;border:4px solid CanvasText;box-shadow:none}.pch-clue{color:CanvasText}.pch-clue__n{color:Canvas}.pch-label{background:Canvas;color:CanvasText;border:1px solid CanvasText}.pch-board.is-solved .pch-patch{border-color:CanvasText}.pch-preview{background:transparent;border:6px double Highlight}.pch-preview[data-valid=false]{background:transparent;background-image:none;border:4px dashed CanvasText;color:CanvasText}.pch-cell{background:transparent;border:1px solid CanvasText;color:CanvasText}.pch-othertab{border:2px dashed CanvasText}.pch-cell:focus-visible{outline:3px solid Highlight;outline-offset:-3px;box-shadow:none}.pch-cell.is-anchor,.pch-cell.is-anchor:focus-visible{box-shadow:none;border:4px double CanvasText}.pch-daily[aria-pressed=true]{border-color:Highlight;box-shadow:none;border-width:3px}}
