:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#1c1f20;--color-background:#1c1f20;--color-surface:#25292a;--color-surface-hover:#2e3334;--color-surface-pressed:#373d3e;--color-surface-selected:#263a43;--color-border:#424849;--color-border-control:#87928f;--color-text:#f4f3ef;--color-muted:#bec6c1;--color-accent:#9ee8bc;--color-secondary-accent:#b8d7e2;--color-primary:#9ee8bc;--color-primary-hover:#b4efcc;--color-primary-pressed:#86d5a7;--color-on-primary:#18201c;--color-primary-border:#9ee8bc;--color-link:#9ee8bc;--color-link-hover:#b4efcc;--color-focus:#f1d48a;--color-disabled-bg:#2a2e2d;--color-disabled-text:#9eaaa4;--color-disabled-border:#56605b;--color-success:#93e0ae;--color-success-bg:#132a20;--color-warning:#ffca7b;--color-warning-bg:#332616;--color-danger:#ffb4ab;--color-danger-bg:#341c1c;--color-info:#9ed8ef;--color-info-bg:#142832;--color-destructive:#ffb4ab;--color-destructive-hover:#ffc9c2;--color-destructive-pressed:#efa099;--color-on-destructive:#101418;--color-destructive-border:#ffb4ab;--color-overlay:#0009;--color-segment-off:#293b35;--color-selection:#b8d7e2;--color-selection-border:#b8d7e2;--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"Cascadia Code", "SFMono-Regular", Consolas, monospace;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-half:.125rem;--radius-panel:16px;--content-width:80rem;--reading-width:65ch;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--button-padding-x:16px;--button-gap:8px;--button-minimum-text-width:88px;--button-icon-size:20px;--button-weight:600;--button-border:1px;--button-loading-icon-size:16px;--input-padding-x:12px;--input-label-gap:8px;--input-help-gap:4px;--input-icon-size:20px;--input-border:1px;--input-textarea-min-height:120px;--panel-padding:24px;--panel-compact-padding:16px;--panel-gap:16px;--panel-border:0px;--panel-divider:1px;--badge-min-height:24px;--badge-padding-x:8px;--badge-radius:2px;--badge-weight:500;--checkbox-visual-size:20px;--checkbox-radius:2px;--checkbox-check-stroke:2px;--radio-visual-size:20px;--radio-dot-size:8px;--switch-track-width:36px;--switch-track-height:20px;--switch-thumb-size:16px;--slider-track-height:4px;--slider-thumb-size:16px;--progress-track-height:4px;--menu-padding:4px;--menu-gap:4px;--menu-minimum-width:192px;--dialog-max-width:560px;--dialog-padding:24px;--dialog-gap:16px;--dialog-viewport-inset:16px;--tooltip-max-width:280px;--tooltip-padding:8px;--tooltip-gap-from-trigger:8px;--toast-max-width:400px;--toast-padding:16px;--toast-gap:12px;--icon-small:16px;--icon-default:20px;--icon-large:24px;--icon-stroke:2px;--avatar-small:24px;--avatar-default:32px;--avatar-large:48px;--border-default:1px;--border-selected:2px;--border-focus:3px;--border-focus-offset:3px;--motion-instant:0s;--motion-fast:.12s;--motion-normal:.18s;--motion-slow:.24s;--motion-spinner:1s;--motion-tooltip-delay:.5s;--motion-toast-minimum:6s;--motion-easing:cubic-bezier(.2, 0, 0, 1);--shadow-panel:none;--shadow-workspace:0 16px 48px #0000001f;--shadow-overlay:0 12px 32px #00000024;--composition-header-height:64px;--composition-compact-header-height:56px;--composition-workspace-radius:24px;--composition-workspace-padding:24px;--composition-compact-workspace-padding:16px;--composition-sidebar-width:280px;--composition-desktop-game-gap:24px;--composition-compact-game-gap:12px;--composition-mobile-action-height:48px;--composition-minimum-map-target:44px;--composition-hero-title-min:42px;--composition-hero-title-max:80px;--composition-compact-title-size:26px}:root[data-theme=dark],[data-mjc-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#1c1f20;--color-background:#1c1f20;--color-surface:#25292a;--color-surface-hover:#2e3334;--color-surface-pressed:#373d3e;--color-surface-selected:#263a43;--color-border:#424849;--color-border-control:#87928f;--color-text:#f4f3ef;--color-muted:#bec6c1;--color-accent:#9ee8bc;--color-secondary-accent:#b8d7e2;--color-primary:#9ee8bc;--color-primary-hover:#b4efcc;--color-primary-pressed:#86d5a7;--color-on-primary:#18201c;--color-primary-border:#9ee8bc;--color-link:#9ee8bc;--color-link-hover:#b4efcc;--color-focus:#f1d48a;--color-disabled-bg:#2a2e2d;--color-disabled-text:#9eaaa4;--color-disabled-border:#56605b;--color-success:#93e0ae;--color-success-bg:#132a20;--color-warning:#ffca7b;--color-warning-bg:#332616;--color-danger:#ffb4ab;--color-danger-bg:#341c1c;--color-info:#9ed8ef;--color-info-bg:#142832;--color-destructive:#ffb4ab;--color-destructive-hover:#ffc9c2;--color-destructive-pressed:#efa099;--color-on-destructive:#101418;--color-destructive-border:#ffb4ab;--color-overlay:#0009;--color-segment-off:#293b35;--color-selection:#b8d7e2;--color-selection-border:#b8d7e2}:root[data-theme=light],[data-mjc-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f3f1eb;--color-background:#f3f1eb;--color-surface:#fffefa;--color-surface-hover:#eae8e1;--color-surface-pressed:#ddded6;--color-surface-selected:#e6eff3;--color-border:#cecec5;--color-border-control:#737c73;--color-text:#222925;--color-muted:#525e56;--color-accent:#216b43;--color-secondary-accent:#245b73;--color-primary:#9ee8bc;--color-primary-hover:#b4efcc;--color-primary-pressed:#86d5a7;--color-on-primary:#18201c;--color-primary-border:#216b43;--color-link:#216b43;--color-link-hover:#174e30;--color-focus:#755900;--color-disabled-bg:#e4e6de;--color-disabled-text:#59635b;--color-disabled-border:#a5afa5;--color-success:#216b43;--color-success-bg:#e4f3e9;--color-warning:#805400;--color-warning-bg:#fff4dd;--color-danger:#b42318;--color-danger-bg:#fff0ed;--color-info:#245b73;--color-info-bg:#e8f3fa;--color-destructive:#b42318;--color-destructive-hover:#982018;--color-destructive-pressed:#7d1a14;--color-on-destructive:#fff;--color-destructive-border:#b42318;--color-overlay:#0006;--color-segment-off:#d9e5dd;--color-selection:#245b73;--color-selection-border:#245b73}:root,[data-mjc-platform=web]{--control-height:44px;--hit-target:44px;--control-radius:8px;--panel-radius:16px;--row-height:48px;--menu-row-height:44px;--page-margin:16px;--body-size:1rem;--title-size:2.25rem;--section-size:1.375rem;--label-size:.875rem;--caption-size:.75rem}[data-mjc-platform=ios]{--control-height:48px;--hit-target:44px;--control-radius:10px;--panel-radius:16px;--row-height:56px;--menu-row-height:44px;--page-margin:16px;--body-size:1.0625rem;--title-size:2.125rem;--section-size:1.25rem;--label-size:1.0625rem;--caption-size:.8125rem}[data-mjc-platform=android]{--control-height:48px;--hit-target:48px;--control-radius:12px;--panel-radius:16px;--row-height:56px;--menu-row-height:48px;--page-margin:16px;--body-size:1rem;--title-size:2rem;--section-size:1.25rem;--label-size:.875rem;--caption-size:.75rem}[data-mjc-platform=windows]{--control-height:40px;--hit-target:44px;--control-radius:8px;--panel-radius:12px;--row-height:48px;--menu-row-height:40px;--page-margin:16px;--body-size:.875rem;--title-size:2rem;--section-size:1.25rem;--label-size:.875rem;--caption-size:.75rem}[data-mjc-platform=macos]{--control-height:36px;--hit-target:40px;--control-radius:6px;--panel-radius:12px;--row-height:44px;--menu-row-height:36px;--page-margin:16px;--body-size:.8125rem;--title-size:1.75rem;--section-size:1.0625rem;--label-size:.8125rem;--caption-size:.75rem}.mjc-button,.mjc-choice{--action-fill:var(--color-surface);--action-hover:var(--color-surface-hover);--action-pressed:var(--color-surface-pressed);--action-text:var(--color-text);--action-border:var(--color-border-control);--action-active-border:var(--color-muted);justify-content:center;align-items:center;gap:var(--button-gap);min-height:max(var(--control-height), var(--hit-target));min-width:var(--button-minimum-text-width);max-width:100%;padding:var(--space-2) var(--button-padding-x);border:var(--button-border) solid var(--action-border);border-radius:var(--control-radius);background:var(--action-fill);color:var(--action-text);font:var(--weight-semibold) var(--label-size)/1.5 var(--font-sans);text-align:center;overflow-wrap:anywhere;cursor:pointer;transition:background-color var(--motion-fast) var(--motion-easing), border-color var(--motion-fast) var(--motion-easing);text-decoration:none;display:inline-flex}.mjc-button--primary{--action-fill:var(--color-primary);--action-hover:var(--color-primary-hover);--action-pressed:var(--color-primary-pressed);--action-text:var(--color-on-primary);--action-border:var(--color-primary-border);--action-active-border:var(--color-primary-border)}.mjc-button--tertiary{--action-fill:transparent;--action-border:transparent;--action-active-border:transparent}.mjc-button--destructive{--action-fill:var(--color-destructive);--action-hover:var(--color-destructive-hover);--action-pressed:var(--color-destructive-pressed);--action-text:var(--color-on-destructive);--action-border:var(--color-destructive-border);--action-active-border:var(--color-destructive-border)}:is(.mjc-button,.mjc-choice):not(:disabled):not([aria-disabled=true]):hover{background:var(--action-hover);border-color:var(--action-active-border);color:var(--action-text);text-decoration:none}:is(.mjc-button,.mjc-choice):not(:disabled):not([aria-disabled=true]):active{background:var(--action-pressed);border-color:var(--action-active-border)}:is(.mjc-button,.mjc-choice)[aria-pressed=true]{--action-fill:var(--color-surface-selected);--action-text:var(--color-selection);--action-border:var(--color-selection-border);--action-active-border:var(--color-selection-border);box-shadow:inset 0 0 0 calc(var(--border-selected) - var(--border-default)) var(--color-selection-border)}.mjc-button[aria-pressed=true]:before{content:"✓" / ""}:is(.mjc-button,.mjc-choice):is(:disabled,[aria-disabled=true]){background:var(--color-disabled-bg);color:var(--color-disabled-text);border-color:var(--color-disabled-border);box-shadow:none;opacity:1;cursor:default}.mjc-button--tertiary:is(:disabled,[aria-disabled=true]){background:0 0;border-color:#0000}.mjc-input{min-height:var(--control-height);min-width:0;max-width:100%;padding:var(--space-2) var(--input-padding-x);border:var(--input-border) solid var(--color-border-control);border-radius:var(--control-radius);background:var(--color-bg);color:var(--color-text);font:var(--weight-regular) var(--body-size)/1.5 var(--font-sans)}.mjc-input::placeholder{color:var(--color-muted);opacity:1}.mjc-input:hover:not(:disabled):not([aria-invalid=true]){border-color:var(--color-muted)}.mjc-input[aria-invalid=true]{border-color:var(--color-danger)}.mjc-input:disabled{background:var(--color-disabled-bg);color:var(--color-disabled-text);border-color:var(--color-disabled-border);opacity:1}.mjc-checkbox{appearance:none;flex:0 0 var(--checkbox-visual-size);width:var(--checkbox-visual-size);height:var(--checkbox-visual-size);border:var(--border-default) solid var(--color-border-control);border-radius:var(--checkbox-radius);background:var(--color-bg);color:var(--color-on-primary);place-content:center;margin:0;display:inline-grid}.mjc-checkbox:checked{background:var(--color-primary);border-color:var(--color-primary-border)}.mjc-checkbox:checked:before{content:"";border:var(--checkbox-check-stroke) solid currentColor;border-top:0;border-right:0;width:10px;height:6px;transform:translateY(-1px)rotate(-45deg)}.mjc-checkbox:disabled{background:var(--color-disabled-bg);color:var(--color-disabled-text);border-color:var(--color-disabled-border)}@media (forced-colors:active){:is(.mjc-button,.mjc-choice)[aria-pressed=true]{outline:var(--border-selected) solid Highlight;outline-offset:-4px;border-color:highlight}.mjc-checkbox{appearance:auto}.mjc-checkbox:before{display:none}}.mjc-choice{min-width:0}*,:before,:after{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--body-size);margin:0;line-height:1.5}a{color:var(--color-link);text-underline-offset:.25em}:focus-visible{outline:var(--border-focus) solid var(--color-focus);outline-offset:var(--border-focus-offset)}.mjc-workspace{background:var(--color-background);color:var(--color-text);border-radius:var(--composition-workspace-radius);padding:var(--composition-workspace-padding);box-shadow:var(--shadow-workspace)}@media (width<=639px){.mjc-workspace{padding:var(--composition-compact-workspace-padding);border-radius:var(--radius-panel)}}.module-panel{padding:var(--panel-padding);border:var(--panel-border) solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);flex-direction:column;min-width:0;display:flex}.module-panel__index{font-family:var(--font-mono);color:var(--color-accent);font-size:.8rem}.module-panel h3{font-size:var(--section-size);margin:var(--space-6) 0 var(--space-3);line-height:1.2}.module-panel__body{color:var(--color-muted)}.module-panel__body p{max-width:40ch;margin:0 0 var(--space-8)}.module-panel__status{font-family:var(--font-mono);font-size:var(--caption-size);color:var(--color-muted);margin-top:auto}.project-progress{margin-bottom:var(--space-6)}.project-progress__readout{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-3);display:flex}.project-progress__caption{font:var(--caption-size) var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.seven-segment{align-items:flex-end;gap:var(--space-1);color:var(--color-accent);display:inline-flex}.seven-segment svg{width:1.35rem;height:2.25rem;display:block}.segment-on{fill:var(--color-accent)}.segment-off{fill:var(--color-segment-off)}.seven-segment__unit{font:.8rem var(--font-mono);padding-bottom:var(--space-half);margin-left:var(--space-1)}.project-progress__bar{gap:var(--space-1);width:100%;height:.75rem;display:flex}.project-progress__split{border:1px solid var(--color-border);background:var(--color-bg);flex:1 1 0;min-width:0}.project-progress__split--complete{background:var(--color-accent);border-color:var(--color-accent)}.project-progress__count{margin-top:var(--space-2);text-transform:none;letter-spacing:normal;font-size:var(--caption-size);display:block}.project-plan{margin-top:var(--space-4)}.project-plan__toggle{cursor:pointer;font:var(--caption-size) var(--font-mono);color:var(--color-muted)}.project-plan[open]>.project-plan__toggle{margin-bottom:var(--space-6);color:var(--color-accent)}.project-plan__heading{justify-content:space-between;align-items:baseline;gap:var(--space-2);color:var(--color-text);flex-wrap:wrap;font-size:.85rem;display:flex}.project-plan__heading>span{font:var(--caption-size) var(--font-mono);color:var(--color-muted)}.module-panel__body .project-plan__rule,.module-panel__body .project-plan__empty{max-width:none;font-size:var(--caption-size);margin:var(--space-2) 0 var(--space-4)}.project-plan__list{margin:0;padding:0;list-style:none}.project-plan__list>li{gap:var(--space-2);border-top:1px solid var(--color-border);padding-block:var(--space-4);grid-template-columns:1.5rem minmax(0,1fr);display:grid}.project-plan__marker{font:var(--caption-size) var(--font-mono);padding-top:var(--space-1);color:var(--color-muted)}.project-plan__marker--complete,.project-plan__marker--in-progress{color:var(--color-accent)}.project-plan__project-heading{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.project-plan__title{color:var(--color-text);overflow-wrap:anywhere;font-size:.9rem}.project-plan__badge{border:1px solid var(--color-border);padding:var(--space-1) var(--space-2);font:var(--caption-size) var(--font-mono);white-space:nowrap}.project-plan__badge--available,.project-plan__badge--beta{color:var(--color-accent)}.project-plan__badge--private{color:var(--color-focus)}.module-panel__body .project-plan__description,.module-panel__body .project-plan__note{max-width:none;margin:var(--space-2) 0;font-size:.8rem}.module-panel__body .project-plan__note{color:var(--color-accent);font-size:var(--caption-size)}.project-plan__status{font:var(--caption-size) var(--font-mono)}.project-plan__phases{border-top:1px solid var(--color-border);margin-top:var(--space-2);padding-top:var(--space-4)}.project-plan__phases summary{cursor:pointer;color:var(--color-text);font-size:.85rem}.project-plan__phases summary>span{color:var(--color-muted);font:var(--caption-size) var(--font-mono);margin-left:var(--space-2)}.project-plan__phases ol{padding-left:var(--space-6);margin-bottom:0;font-size:.8rem}.project-plan__phases li{padding:var(--space-1) 0 var(--space-2) var(--space-1)}.project-plan__phases li::marker{color:var(--color-accent);font-family:var(--font-mono)}a:hover,a:active{color:var(--color-link-hover)}summary{min-height:var(--hit-target);cursor:pointer;align-content:center}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.container{width:min(var(--content-width), calc(100% - 3rem));margin-inline:auto}.skip-link{left:var(--space-4);top:var(--space-4);padding:var(--space-3);background:var(--color-surface);z-index:10;position:absolute;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-header{min-height:var(--composition-header-height);justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);padding-block:var(--space-3);flex-wrap:wrap;display:flex}.wordmark{min-height:var(--hit-target);color:var(--color-text);font-family:Consolas, var(--font-mono);letter-spacing:-.06em;align-items:center;font-size:1.5rem;font-weight:500;text-decoration:none;display:inline-flex}.wordmark__accent{color:var(--color-accent)}.header-link{font-size:var(--label-size);align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.site-nav{gap:var(--space-6);flex-wrap:wrap;display:flex}.header-link:hover{text-decoration:underline}.intro{max-width:58rem;padding-block:clamp(3rem,7vw,6rem)}.eyebrow{font:var(--caption-size)/1.5 var(--font-mono);letter-spacing:.1em;color:var(--color-accent);margin:0 0 var(--space-6)}h1{font-size:var(--title-size);letter-spacing:-.03em;line-height:1.2;font-weight:var(--weight-semibold);margin:0 0 var(--space-8)}h1 span{color:var(--color-muted)}.intro__copy{max-width:43ch;font-size:var(--section-size);color:var(--color-muted)}.development-note{font-size:var(--label-size);color:var(--color-muted);margin-top:var(--space-6)}.toolbox,.showcase,.about{scroll-margin-top:var(--space-8);padding-bottom:var(--space-16)}.section-copy{max-width:55ch;color:var(--color-muted);margin:0 0 var(--space-6);font-size:var(--body-size)}.showcase-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.showcase-item{padding:var(--panel-padding);border:var(--panel-border) solid var(--color-border);background:var(--color-surface);border-radius:var(--panel-radius);min-width:0}.showcase-item .eyebrow{font-size:var(--caption-size);margin-bottom:var(--space-4)}.showcase-item h3{margin:0 0 var(--space-3);font-size:var(--section-size)}.showcase-item>p:not(.eyebrow){color:var(--color-muted);max-width:45ch;font-size:var(--body-size)}.showcase-note{font:var(--caption-size) var(--font-mono);color:var(--color-muted)}.about{gap:var(--space-8);padding-top:var(--space-12);border-top:1px solid var(--color-border);grid-template-columns:1fr 1fr;display:grid}.about h2{font-size:var(--section-size);letter-spacing:-.03em;margin:0;line-height:1.2}.about-copy{max-width:50ch;color:var(--color-muted)}.about-copy p:first-child{margin-top:0}.text-link{align-items:center;gap:var(--space-2);min-height:44px;font-size:var(--label-size);display:inline-flex}.section-heading{justify-content:space-between;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.section-heading h2{font-size:var(--section-size);margin:0}.section-heading>span{font:var(--caption-size) var(--font-mono);letter-spacing:.08em;color:var(--color-muted)}.module-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.site-footer{justify-content:space-between;gap:var(--space-4);padding-block:var(--space-6);border-top:1px solid var(--color-border);color:var(--color-muted);font-size:var(--label-size);flex-wrap:wrap;display:flex}.free-use-note{color:var(--color-accent);font-size:var(--body-size)}.desktop-apps{padding-block:var(--space-8) var(--space-12)}.study-feature{justify-content:space-between;align-items:center;gap:var(--space-8);padding:var(--panel-padding);margin-top:var(--space-6);border:var(--panel-border) solid var(--color-border);background:var(--color-surface);border-radius:var(--panel-radius);flex-wrap:wrap;display:flex}.study-feature h3{font-size:var(--section-size);margin-block:var(--space-3)}.study-feature p{max-width:55ch;color:var(--color-muted);line-height:1.65}.study-feature .eyebrow{color:var(--color-accent);font-size:var(--caption-size)}.study-feature-status{font-size:var(--label-size)}.study-main{padding-block:var(--space-12) var(--space-16)}.study-hero{gap:var(--space-12);padding-block:var(--space-8) var(--space-16);grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;display:grid}.study-hero h1{font-size:var(--title-size);letter-spacing:-.03em;line-height:1.2}.study-hero h1 span{color:var(--color-muted)}.study-download-status{color:var(--color-accent);margin-top:var(--space-8)}.study-concept{border:var(--panel-border) solid var(--color-border);padding:var(--panel-padding);background:var(--color-surface);font:var(--body-size)/1.8 var(--font-mono);border-radius:var(--panel-radius);min-width:0}.study-concept .eyebrow{font-size:var(--caption-size)}.study-concept ul{padding-left:var(--space-4);border-left:1px solid var(--color-border);list-style:none}.study-concept li{padding-block:var(--space-2)}.study-concept p:last-child{font:var(--label-size) var(--font-sans);color:var(--color-muted)}.study-folder{color:var(--color-accent)}.study-notes{max-width:70ch;padding-top:var(--space-8)}.study-notes p{color:var(--color-muted);line-height:1.7}@media (width<=48rem){.study-hero{gap:var(--space-6);grid-template-columns:1fr}.study-feature,.study-concept{padding:var(--space-6)}}.profile-main{padding-block:var(--space-8) var(--space-16)}.profile-heading{justify-content:space-between;align-items:center;gap:var(--space-6);margin-block:var(--space-12) var(--space-8);flex-wrap:wrap;display:flex}.profile-heading h1{font-size:var(--title-size);letter-spacing:-.03em;margin-block:var(--space-3);line-height:1.2}.profile-heading p,.profile-panel p{color:var(--color-muted);line-height:1.5}.profile-columns{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(min(100%,23rem),1fr));display:grid}.profile-panel{min-width:0;padding:var(--panel-padding);background:var(--color-surface);border:var(--panel-border) solid var(--color-border);border-radius:var(--panel-radius)}.profile-panel h2{font-size:var(--section-size);margin-top:var(--space-2);overflow-wrap:anywhere}.profile-panel h3{font-size:var(--body-size)}.profile-panel .eyebrow{font-size:var(--caption-size);color:var(--color-accent)}.profile-stats{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));display:grid}.stat-value{font:400 2.5rem var(--font-mono)}.profile-stats .profile-panel p:last-child{font-size:var(--label-size)}.interest-options{gap:var(--space-2);flex-wrap:wrap;display:flex}.preview-checkbox{align-items:center;gap:var(--space-3);margin-top:var(--space-8);cursor:pointer;min-height:var(--hit-target);line-height:1.6;display:flex}.profile-level{font:400 2rem var(--font-mono);color:var(--color-accent);margin-top:var(--space-8)}.profile-level span{font:400 var(--label-size) var(--font-mono);color:var(--color-muted);margin-top:var(--space-2);display:block}.difficulty-rewards{padding:0;list-style:none}.difficulty-rewards li{padding-block:var(--space-4);border-bottom:1px solid var(--color-border)}.difficulty-rewards span{font-size:var(--label-size);color:var(--color-muted);margin-top:var(--space-2);display:block}.profile-rules{margin-top:var(--space-6)}.topic-summary{padding-block:var(--space-4)}.site-information{padding-block:var(--space-12);border-top:1px solid var(--color-border)}.information-grid{gap:var(--space-6);margin-top:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));display:grid}.information-grid article{min-width:0;scroll-margin-top:var(--space-6)}.information-grid h3{font-size:var(--section-size)}.information-grid p,.information-grid li{font-size:var(--body-size);color:var(--color-muted);line-height:1.65}.information-grid ul{padding-left:var(--space-4)}.information-grid .eyebrow{color:var(--color-accent);font-size:var(--caption-size)}.information-note{border-left:2px solid var(--color-border);padding-left:var(--space-3)}.information-links{gap:var(--space-3) var(--space-6);flex-wrap:wrap;display:flex}.information-links a{padding-block:var(--space-2);min-height:var(--hit-target);align-items:center;display:inline-flex}.guest-notice{padding:var(--space-4);margin-bottom:var(--space-6);border-radius:var(--panel-radius);background:var(--color-surface);font-size:var(--label-size)}.guest-notice strong{font-weight:500}.guest-notice p{color:var(--color-muted);margin:var(--space-2) 0 0;line-height:1.6}.project-directory{margin:0 0 var(--space-6);padding:0;list-style:none}.project-directory li{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);padding-block:var(--space-3);border-top:1px solid var(--color-border);font-size:var(--label-size);color:var(--color-text);padding:var(--space-2) var(--space-3);min-height:var(--row-height);flex-wrap:wrap;display:flex}.project-directory li>span:first-child{overflow-wrap:anywhere;min-width:0}.project-directory__tag{border:1px solid var(--color-border);padding:var(--space-1) var(--space-2);color:var(--color-muted);font:var(--badge-weight) var(--caption-size)/1.5 var(--font-mono);white-space:nowrap;min-height:var(--badge-min-height);border-radius:var(--badge-radius);align-items:center;display:inline-flex}.project-directory__tag--private{color:var(--color-warning);background:var(--color-warning-bg);border-color:var(--color-warning)}@media (width<=40rem){.container{width:calc(100% - 2 * var(--space-4))}.site-header{min-height:var(--composition-compact-header-height);padding-block:var(--space-2);gap:var(--space-2) var(--space-6)}.site-nav{gap:var(--space-4)}.module-grid,.showcase-grid,.about{grid-template-columns:1fr}.section-heading{align-items:flex-start;gap:var(--space-2);flex-direction:column}.module-panel,.showcase-item{padding:var(--space-6)}.site-footer{flex-wrap:wrap}}.intro h1{font-size:clamp(2.625rem,5.5vw,5rem);font-weight:var(--weight-semibold);letter-spacing:-.04em;line-height:1.05}@media (width<=40rem){.module-panel,.showcase-item,.study-feature,.study-concept,.profile-panel{padding:var(--panel-compact-padding)}.section-heading>span{overflow-wrap:anywhere}}.project-directory li>a,.profile-panel>a,.information-grid article>a{min-height:var(--hit-target);align-items:center;display:inline-flex}.wordmark{white-space:nowrap}.bank-page,.bank-surface{--bank-surface:var(--color-surface);--bank-accent:var(--color-secondary-accent)}.bank-main{padding-block:var(--space-6) var(--space-12)}.bank-breadcrumb{align-items:center;gap:var(--space-3);font:var(--caption-size)/1.6 var(--font-mono);color:var(--color-muted);margin-bottom:var(--space-8);flex-wrap:wrap;display:flex}.bank-breadcrumb a{min-height:var(--hit-target);align-items:center;display:inline-flex}.bank-preview{border:1px solid var(--color-border);padding:var(--space-1) var(--space-2);font-size:var(--caption-size);min-height:var(--badge-min-height);border-radius:var(--badge-radius);font-weight:var(--badge-weight);margin-left:auto}.bank-kicker{color:var(--bank-accent);font:var(--caption-size)/1.7 var(--font-mono);letter-spacing:.1em;margin:0 0 var(--space-3)}.bank-heading h1,.bank-problem-top h1,.bank-empty h1{font-size:var(--title-size);margin-bottom:var(--space-4);letter-spacing:-.03em;line-height:1.2}[data-bank-heading]:focus{outline:none}.bank-heading>p:last-child,.bank-problem-top p:last-child{color:var(--color-muted);max-width:74ch;font-size:var(--body-size)}.bank-toolbar{gap:var(--space-4);margin-block:var(--space-8);padding:var(--space-4);background:var(--bank-surface);border:1px solid var(--color-border);display:flex}.bank-search{flex:1}.bank-toolbar label,.bank-answer label{font-size:var(--label-size);margin-bottom:var(--input-label-gap);color:var(--color-muted);display:block}#workspace-variant{max-width:18rem;margin-block:var(--space-2) var(--space-4)}.bank-toolbar>div:last-child{min-width:12rem}.bank-layout{gap:var(--space-8);grid-template-columns:14rem minmax(0,1fr);display:grid}.bank-sidebar nav{border-top:1px solid var(--color-border);flex-direction:column;display:flex}.bank-sidebar a{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--color-border);color:var(--color-muted);font-size:var(--label-size);min-height:48px;text-decoration:none;display:flex}.bank-sidebar a[aria-current]{color:var(--color-text);background:var(--color-surface-selected);border-left:var(--border-selected) solid var(--color-accent)}.bank-sidebar a:hover{color:var(--color-text);background:var(--bank-surface)}.bank-sidebar a>span{font:var(--caption-size) var(--font-mono)}.bank-section-heading{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.bank-section-heading h2{font-size:var(--body-size);margin:0}.bank-section-heading>span{color:var(--color-muted);font:var(--caption-size)/1.6 var(--font-mono)}.bank-start{justify-content:space-between;align-items:center;gap:var(--space-6);padding:var(--space-6);border:1px solid var(--color-border);border-left:3px solid var(--bank-accent);background:var(--bank-surface);margin-bottom:var(--space-4);display:flex}.bank-start h3{font-size:var(--section-size);margin:0 0 var(--space-2)}.bank-start p:last-child{font-size:var(--label-size);color:var(--color-muted);max-width:45ch;margin:0}.bank-category-grid,.bank-topic-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.bank-category,.bank-topic{min-width:0;padding:var(--space-6);border:1px solid var(--color-border);background:var(--bank-surface);border-radius:var(--panel-radius)}.bank-category{color:var(--color-text);border-color:var(--color-border-control);flex-direction:column;text-decoration:none;display:flex}.bank-category:hover{border-color:var(--bank-accent)}.bank-topic-top{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.bank-meta{color:var(--color-muted);font:var(--caption-size)/1.7 var(--font-mono)}.bank-badge{color:var(--color-muted);border:1px solid var(--color-border);padding:var(--space-1) var(--space-2);font:var(--badge-weight) var(--caption-size)/1.5 var(--font-mono);white-space:nowrap;min-height:var(--badge-min-height);border-radius:var(--badge-radius);display:inline-block}.bank-badge--ready{color:var(--color-info);border-color:var(--color-info);background:var(--color-info-bg)}.bank-category h3,.bank-topic h3{font-size:var(--section-size);margin:0;line-height:1.4}.bank-category p,.bank-topic p{font-size:var(--body-size);color:var(--color-muted);margin-block:var(--space-3) var(--space-6)}.bank-category-bottom{font:var(--caption-size) var(--font-mono);color:var(--bank-accent);justify-content:space-between;margin-top:auto;display:flex}.bank-topic{flex-direction:column;display:flex}.bank-topic .bank-button{margin-top:var(--space-4)}.bank-unavailable{margin-top:var(--space-4);font-size:var(--caption-size);color:var(--color-muted);display:block}.bank-start .bank-button{flex-shrink:0}.bank-empty{padding:var(--space-8);border:1px solid var(--color-border)}.bank-empty p{color:var(--color-muted)}.bank-footnote{font:var(--caption-size)/1.8 var(--font-mono);color:var(--color-muted);max-width:100ch;margin-top:var(--space-8)}.bank-problem-top{justify-content:space-between;align-items:start;gap:var(--space-4);display:flex}.bank-problem-top>.bank-badge{margin-top:var(--space-2)}.bank-session-bar{justify-content:space-between;align-items:center;gap:var(--space-3);border-block:1px solid var(--color-border);padding-block:var(--space-3);margin-block:var(--space-6);flex-wrap:wrap;display:flex}.bank-session-bar>span{color:var(--color-muted);font:var(--caption-size) var(--font-mono)}.bank-session-bar>div{gap:var(--space-6);flex-wrap:wrap;display:flex}.bank-copy-status:empty{display:none}.bank-copy-status{color:var(--color-muted);font-size:var(--label-size);margin-bottom:var(--space-4)}.bank-workspace{gap:var(--space-6);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;display:grid}.bank-panel{border:var(--panel-border) solid var(--color-border);background:var(--bank-surface);min-width:0;padding:var(--panel-padding);border-radius:var(--panel-radius)}.bank-panel h2{font-size:var(--section-size);margin:0 0 var(--space-4);line-height:1.4}.bank-panel>p{color:var(--color-muted);font-size:var(--body-size)}.bank-diagram{margin:var(--space-6) 0}.bank-diagram svg{width:100%;height:auto;display:block}.bank-diagram--scroll{overscroll-behavior-x:contain;overflow-x:auto}.bank-diagram--scroll .bank-diagram-label{font-size:21px}.bank-wires{stroke:var(--bank-accent);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.bank-diagram-label{fill:var(--color-text);font:18px var(--font-mono)}.bank-fill,.bank-dots{fill:var(--bank-accent);stroke:none}.bank-label-id{font-weight:var(--weight-semibold)}.bank-label-note{fill:var(--color-accent)}.bank-input-row{border:var(--input-border) solid var(--color-border-control);background:var(--color-bg);border-radius:var(--control-radius);align-items:center;display:flex}.bank-input-row:focus-within{outline:var(--border-focus) solid var(--color-focus);outline-offset:var(--border-focus-offset)}.bank-input-row input{min-height:var(--control-height);width:100%;min-width:0;padding:var(--space-2) var(--input-padding-x);color:var(--color-text);font:var(--body-size)/1.5 var(--font-mono);background:0 0;border:0;border-radius:0}.bank-input-row input:focus-visible{outline:none}.bank-input-row>span{padding-inline:var(--space-4);color:var(--color-muted);font:var(--label-size)/1.5 var(--font-mono)}.bank-small{font-size:var(--caption-size);color:var(--color-muted)}.bank-answer form>.bank-button{width:100%;margin-top:var(--space-3)}.bank-feedback:empty{display:none}.bank-feedback{margin-top:var(--space-4);padding:var(--space-4);border-left:2px solid var(--color-focus);background:var(--color-warning-bg);font-size:var(--body-size);border:var(--border-default) solid var(--color-warning)}.bank-feedback--correct{border-color:var(--color-success);background:var(--color-success-bg)}.bank-support{gap:var(--space-4);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.bank-hint,.bank-solution{padding:var(--space-4);margin-top:var(--space-3);background:var(--color-bg);font-size:var(--label-size)}.bank-solution h3{font-size:var(--body-size);margin-top:0}.bank-solution p{overflow-wrap:anywhere;font-family:var(--font-mono);font-size:var(--label-size)}.bank-solution .bank-result{color:var(--bank-accent);font-size:var(--section-size)}.bank-question-footer{justify-content:space-between;gap:var(--space-3);margin-block:var(--space-6);font:var(--caption-size)/1.7 var(--font-mono);color:var(--color-muted);flex-wrap:wrap;display:flex}.bank-question-footer a{min-height:var(--hit-target);align-items:center;display:inline-flex}@media (width<=60rem){.bank-layout{gap:var(--space-4);grid-template-columns:11rem minmax(0,1fr)}.bank-category-grid,.bank-topic-grid,.bank-workspace{grid-template-columns:1fr}.bank-start{flex-direction:column;align-items:start}}@media (width<=40rem){.bank-layout{grid-template-columns:1fr}.bank-sidebar nav{border-bottom:1px solid var(--color-border);flex-direction:row;overflow-x:auto}.bank-sidebar{min-width:0}.bank-sidebar a{white-space:nowrap;font-size:var(--label-size);border-bottom:0;flex-shrink:0}.bank-sidebar a>span{display:none}.bank-sidebar a[aria-current]{border-left:var(--border-selected) solid var(--color-accent);border-bottom:2px solid var(--bank-accent);color:var(--color-text);background:var(--color-surface-selected)}.bank-toolbar{flex-direction:column}.bank-toolbar>div:last-child{min-width:0}.bank-panel,.bank-category,.bank-topic{padding:var(--space-6)}.bank-preview{font-size:var(--caption-size);min-height:var(--badge-min-height);border-radius:var(--badge-radius);font-weight:var(--badge-weight);margin-left:0}.bank-problem-top{flex-direction:column}.bank-breadcrumb{margin-bottom:var(--space-6)}}.bank-toolbar .mjc-input,.bank-page select.mjc-input{width:100%}.bank-input-row:has([aria-invalid=true]){border-color:var(--color-danger)}.bank-feedback--invalid{border-color:var(--color-danger);background:var(--color-danger-bg)}.bank-answer form>label,.bank-topic>label{margin-bottom:var(--input-label-gap);display:block}.bank-topic .mjc-input{margin-bottom:var(--space-4)}@media (width<=40rem){.bank-panel,.bank-category,.bank-topic,.bank-start,.bank-empty{padding:var(--panel-compact-padding)}}.bank-steps{margin:0 0 var(--space-3);padding-left:var(--space-6)}.bank-steps li{margin-bottom:var(--space-2);font-family:var(--font-mono);font-size:var(--label-size);overflow-wrap:anywhere;line-height:1.6}.shift-page{--shift-blue:var(--color-info);--shift-orange:var(--color-warning);--shift-green:var(--color-success);background:var(--color-bg);min-height:100vh}.shift-main{padding-block:var(--space-8) var(--space-12)}.shift-main:focus{outline:none}.shift-heading{justify-content:space-between;align-items:center;gap:var(--space-6);margin-block:var(--space-4) var(--space-8);display:flex}.shift-heading h1{font-size:var(--title-size);letter-spacing:-.03em;margin:var(--space-3) 0;line-height:1.2}.shift-heading h1 span{color:var(--color-warning)}.shift-heading p:last-child{color:var(--color-muted);font-size:var(--body-size);line-height:1.6}.shift-turn{font:var(--caption-size) var(--font-mono);color:var(--color-muted);text-align:right;flex-shrink:0}.shift-turn strong{color:var(--color-warning);font:500 3rem var(--font-mono);display:block}.shift-turn small{font-size:var(--body-size);color:var(--color-muted)}.shift-layout{gap:var(--space-6);grid-template-columns:minmax(0,1fr) 19rem;align-items:start;display:grid}.shift-board-panel,.shift-schedule{border:var(--panel-border) solid var(--color-border);background:var(--color-surface);min-width:0;padding:var(--space-6);border-radius:var(--panel-radius)}.shift-panel-heading{justify-content:space-between;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;display:flex}.shift-panel-heading h2,.shift-schedule h2{font-size:var(--section-size);margin:0}.shift-panel-heading>span{color:var(--color-muted);font:var(--caption-size) var(--font-mono)}.shift-services{gap:var(--space-2);margin-top:var(--space-6);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.shift-service{justify-content:center;align-items:center;gap:var(--space-1);min-width:0;min-height:80px;padding:var(--space-2);text-align:left;display:flex}.shift-service .shift-thumbnail{object-fit:contain;flex-shrink:0;width:38px;height:60px}.shift-service small{margin-top:var(--space-2);font:var(--caption-size) var(--font-mono);color:var(--color-muted);display:block}.shift-police{color:var(--shift-blue)}.shift-firefighter{color:var(--shift-orange)}.shift-medic{color:var(--shift-green)}.shift-instruction{color:var(--color-muted);font-size:var(--label-size);margin-block:var(--space-4) 0;line-height:1.6}.shift-board-scroll{overscroll-behavior:contain;overflow-x:auto}.shift-board{aspect-ratio:780/510;isolation:isolate;width:100%;position:relative}.shift-zoomed .shift-board{min-width:760px}.shift-scene{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.shift-diamond{fill:#0000;stroke:#67787b;stroke-opacity:.35;stroke-width:1px}.shift-move-target{fill:#58bfff25;stroke:#8bd5ff;stroke-width:2.5px;stroke-opacity:.95}.shift-response-target{fill:#ffd77935;stroke:#ffe6a2;stroke-width:3px;stroke-opacity:1}.shift-map-coordinate{font:11px var(--font-mono);fill:#e7eef1;opacity:.7;text-anchor:middle}.shift-route-line{fill:none;stroke:#ffb55f;stroke-width:3px;stroke-dasharray:5 7;opacity:.85}.shift-unit-ring{fill:#061925bb;stroke:currentColor;stroke-width:2.5px}.shift-ring-selected{stroke-width:1.5px;fill:currentColor;filter:drop-shadow(0 0 6px)}.shift-suspect-ring{fill:#30251c;stroke:#ffb55f;stroke-width:2px}.shift-unit-mark{fill:currentColor;font:700 15px var(--font-mono);paint-order:stroke;stroke:#07141f;stroke-width:3px}.shift-exit-label{font:13px var(--font-mono);fill:#c9d6db}.shift-hit{z-index:2;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);cursor:pointer;background:0 0;border:0;padding:0;position:absolute}.shift-hit:disabled{cursor:default}.shift-hit:not(:disabled):hover{background:#a2d9ff33}.shift-hit:focus-visible{outline:var(--border-focus) solid var(--color-focus);background:color-mix(in srgb, var(--color-focus) 25%, transparent);clip-path:none;outline-offset:calc(-1 * var(--border-focus))}.shift-hit-response:not(:disabled):hover{background:#ffdc8855}.shift-character-hit{z-index:3;min-width:var(--hit-target);min-height:var(--hit-target);cursor:pointer;background:0 0;border:0;border-radius:40%;padding:0;position:absolute;transform:translate(-50%)}.shift-character-hit:focus-visible{outline:var(--border-focus) solid var(--color-focus);outline-offset:var(--border-focus-offset)}:is(.shift-board:has(.shift-character-hit.shift-police:hover) .shift-unit-ring.shift-police,.shift-board:has(.shift-character-hit.shift-firefighter:hover) .shift-unit-ring.shift-firefighter,.shift-board:has(.shift-character-hit.shift-medic:hover) .shift-unit-ring.shift-medic){fill:currentColor;filter:drop-shadow(0 0 5px)}:is(.shift-board:has(.shift-character-hit.shift-police:focus-visible) .shift-unit-ring.shift-police,.shift-board:has(.shift-character-hit.shift-firefighter:focus-visible) .shift-unit-ring.shift-firefighter,.shift-board:has(.shift-character-hit.shift-medic:focus-visible) .shift-unit-ring.shift-medic){fill:currentColor;stroke:#f0f3f5;stroke-width:2.5px;filter:drop-shadow(0 0 6px)}.shift-map-options{gap:var(--space-3) var(--space-4);padding-block:var(--space-3);border-block:1px solid var(--color-border);flex-wrap:wrap;display:flex}.shift-map-options label{align-items:center;gap:var(--space-2);font-size:var(--label-size);min-height:var(--hit-target);color:var(--color-muted);cursor:pointer;display:flex}.shift-map-options input{accent-color:var(--color-primary)}.shift-status{border-left:var(--border-selected) solid var(--color-info);padding:var(--space-4);margin-block:var(--space-4);background:var(--color-info-bg);font-size:var(--body-size);border-radius:var(--panel-radius)}.shift-status p{margin:var(--space-2) 0 0;color:var(--color-muted);line-height:1.6}.shift-status-won{border-color:var(--color-success);background:var(--color-success-bg)}.shift-status-lost{border-color:var(--color-danger);background:var(--color-danger-bg)}.shift-warning{border:var(--border-default) solid var(--color-warning);background:var(--color-warning-bg);color:var(--color-warning);padding:var(--space-4);font-size:var(--body-size);line-height:1.6}.shift-warning ul{padding-left:var(--space-4);margin-bottom:0}.shift-controls{gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.shift-controls .shift-primary{flex:1}.shift-events{margin-top:var(--space-4);color:var(--color-muted);font-size:var(--label-size);line-height:1.6}.shift-events summary,.shift-rules summary{cursor:pointer;padding-block:var(--space-3)}.shift-schedule>.eyebrow{font-size:var(--caption-size);margin-top:0}.shift-schedule>p:not(.eyebrow){font-size:var(--label-size);color:var(--color-muted);line-height:1.6}.shift-call{border-top:1px solid var(--color-border);padding-block:var(--space-4)}.shift-call:last-child{padding-bottom:0}.shift-call h3{font-size:var(--body-size);margin-block:var(--space-3) var(--space-2)}.shift-call p{color:var(--color-muted);font-size:var(--label-size);line-height:1.6}.shift-call .shift-small{font-size:var(--caption-size)}.shift-call-top{justify-content:space-between;gap:var(--space-2);font:var(--caption-size) var(--font-mono);color:var(--color-muted);flex-wrap:wrap;display:flex}.shift-call button{width:100%}.shift-call-done h3{color:var(--shift-green)}.shift-rules{margin-top:var(--space-8);border-block:1px solid var(--color-border);font-size:var(--body-size)}.shift-rules>div{max-width:90ch;color:var(--color-muted);padding-bottom:var(--space-4);line-height:1.7}.shift-prototype-note{color:var(--color-muted);font-size:var(--caption-size);margin-top:var(--space-6)}@media (width<=54rem){.shift-layout{grid-template-columns:minmax(0,1fr)}.shift-schedule>div{gap:0 var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}@media (width<=40rem){.shift-heading{gap:var(--space-3)}.shift-turn strong{font-size:2.2rem}.shift-heading .eyebrow{font-size:var(--caption-size)}.shift-board-panel,.shift-schedule{padding:var(--space-4);background:var(--color-surface);border:var(--panel-border) solid var(--color-border);border-radius:var(--panel-radius)}.shift-service{text-align:center;padding:var(--space-2) var(--space-1)}.shift-service small{font-size:var(--caption-size)}.shift-service .shift-thumbnail{width:38px;height:48px}.shift-schedule>div{grid-template-columns:minmax(0,1fr)}}.shift-levels{gap:var(--space-4);margin:0 0 var(--space-6);flex-wrap:wrap;display:flex}.shift-levels a{padding:var(--space-2) var(--space-4);border:var(--border-default) solid var(--color-border-control);color:var(--color-text);min-height:var(--hit-target);border-radius:var(--control-radius);align-items:center;text-decoration:none;display:inline-flex}.shift-levels a[aria-current=page]{color:var(--color-text);border-color:var(--color-accent);background:var(--color-surface-selected);box-shadow:inset 0 -2px var(--color-accent)}.shift-police{--service-color:var(--shift-blue)}.shift-firefighter{--service-color:var(--shift-orange)}.shift-medic{--service-color:var(--shift-green)}.mjc-choice:is(.shift-police,.shift-firefighter,.shift-medic){color:var(--color-text)}.mjc-choice small:first-of-type{color:var(--service-color)}.mjc-choice[aria-pressed=true] strong:after{content:" ✓" / "";color:var(--color-selection)}@media (forced-colors:active){.shift-hit:focus-visible,.shift-character-hit:focus-visible{outline-color:highlight}.shift-move-target,.shift-response-target{stroke:highlight}.shift-unit-ring{stroke:canvastext}}:root:has(.daily-page){scrollbar-gutter:stable}.daily-page{background:var(--color-bg)}.daily-page :is(h1,h2,h3,p,li,small,strong,summary,label){overflow-wrap:anywhere}.daily-main{padding-block:var(--space-6) var(--space-12)}.daily-main:focus{outline:none}.daily-heading{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.daily-heading h1{margin:0 0 var(--space-1);font-size:var(--title-size);letter-spacing:-.03em;line-height:1.15}.daily-sub{color:var(--color-muted);font-variant-numeric:tabular-nums;margin:0}.daily-options-icon{font-size:var(--icon-large);line-height:1;display:none}.daily-workspace{--shift-blue:var(--color-info);--shift-orange:var(--color-warning);--shift-green:var(--color-success)}.daily-layout{grid-template-columns:minmax(0, 1fr) var(--composition-sidebar-width);gap:var(--composition-desktop-game-gap);align-items:start;display:grid}.daily-play,.daily-calls{min-width:0}.daily-responders{gap:var(--space-2);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,9.5rem),1fr));display:grid}.daily-responder{justify-content:flex-start;gap:var(--space-2);min-width:0;min-height:3.5rem;padding:var(--space-2);text-align:left}.daily-responder .shift-thumbnail{object-fit:contain;flex:none;width:24px;height:40px}.daily-responder>span{min-width:0}.daily-responder strong,.daily-responder small{display:block}.daily-responder strong{font-size:var(--label-size);line-height:1.3}.daily-responder small{font:var(--weight-medium) var(--caption-size)/1.4 var(--font-sans);white-space:normal;margin:0}.daily-responder[data-exhausted=true] small{color:var(--color-muted)}.daily-tabs{gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.daily-tabs button{flex:1}.daily-tabs [aria-selected=true]{background:var(--color-surface-selected);border-color:var(--color-selection-border);color:var(--color-selection);box-shadow:inset 0 0 0 calc(var(--border-selected) - var(--border-default)) var(--color-selection-border)}.daily-deadlines{gap:var(--space-1) var(--space-4);margin:0 0 var(--space-3);color:var(--color-muted);font-size:var(--label-size);flex-wrap:wrap;padding:0;list-style:none;display:flex}.daily-deadlines li[data-state=urgent]{color:var(--color-danger);font-weight:var(--weight-semibold)}.daily-deadlines li[data-state=done]{text-decoration:line-through;text-decoration-thickness:1px}.daily-deadlines strong{font-weight:var(--weight-semibold)}.daily-message{align-items:baseline;gap:var(--space-1) var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.daily-message p{margin:0}.daily-message-won strong{color:var(--color-success)}.daily-message-lost strong{color:var(--color-danger)}.daily-message-playing strong{color:var(--color-muted)}.daily-map{padding:var(--space-4);background:var(--color-surface);border-radius:var(--radius-panel);overflow-x:auto}.daily-iso{isolation:isolate;max-width:48rem;margin-inline:auto;position:relative}.daily-iso>svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.daily-page .shift-character-hit{min-width:44px;min-height:44px}.daily-iso-scroll{overscroll-behavior:contain;overflow:auto}.daily-view-iso .daily-iso{min-width:560px}.daily-route{fill:none;stroke:var(--color-info);stroke-width:4px;stroke-dasharray:6 4}.daily-focused{stroke:#fff;stroke-width:3px;fill:currentColor;filter:drop-shadow(0 0 7px)}.daily-grid{gap:var(--space-1);min-width:max-content;display:none}.daily-view-grid .daily-grid{display:grid}.daily-view-grid .daily-iso-scroll{display:none}.daily-grid button{aspect-ratio:1;min-width:var(--composition-minimum-map-target);min-height:var(--composition-minimum-map-target);border:var(--border-default) solid var(--color-border-control);border-radius:var(--control-radius);background:var(--color-surface);color:var(--color-text);font-family:var(--font-mono);cursor:default;padding:0;position:relative}.daily-grid button small{z-index:1;padding:var(--space-half);background:var(--color-bg);font:var(--caption-size)/1.2 var(--font-mono);position:absolute;top:2px;left:3px}.daily-grid button strong{border-radius:var(--badge-radius);background:var(--color-bg);font-size:var(--caption-size);padding:1px 3px;position:absolute;bottom:1px;right:2px}.daily-grid .shift-thumbnail{object-fit:contain;width:80%;height:80%;margin:10%;display:block}.daily-grid button:not(:disabled):hover{background:var(--color-surface-hover)}.daily-grid button:not(:disabled):active{background:var(--color-surface-pressed)}.daily-grid .daily-grid-target{border-color:var(--color-selection-border);background:var(--color-surface-selected);cursor:pointer}.daily-grid .daily-grid-selected{border-color:var(--color-selection-border);box-shadow:inset 0 0 0 var(--border-selected) var(--color-selection-border)}.daily-grid .daily-footpath{background:#324635}.daily-footpath:before{content:"";left:38%;opacity:.7;background:#a79c80;width:24%;position:absolute;inset-block:0}.daily-footpath .shift-thumbnail{position:relative}.daily-flame{animation:1.8s ease-in-out infinite alternate daily-flicker}@keyframes daily-flicker{to{opacity:.72}}.daily-calls-heading{justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.daily-calls h2{font-size:var(--section-size);letter-spacing:-.02em;margin:0;line-height:1.2}.daily-calls-heading>span{color:var(--color-muted);font:var(--caption-size) var(--font-mono)}.daily-call{padding:var(--space-4) 0;border-top:var(--panel-divider) solid var(--color-border)}.daily-call h3{margin:var(--space-1) 0 var(--space-2);font-size:var(--body-size);line-height:1.35}.daily-call p{margin:0 0 var(--space-2);color:var(--color-muted)}.daily-call-top{justify-content:space-between;gap:var(--space-2);color:var(--color-muted);font:var(--caption-size) var(--font-mono);display:flex}.daily-call[data-state=urgent] .daily-call-top span:last-child{color:var(--color-danger);font-weight:var(--weight-semibold)}.daily-call[data-state=ready] .daily-call-top span:last-child{color:var(--color-success);font-weight:var(--weight-semibold)}.daily-call[data-state=done] h3{color:var(--color-muted)}.daily-call .daily-response-hint{font-size:var(--label-size)}.daily-call button{width:100%}.daily-remaining-route{margin-top:var(--space-2);color:var(--color-warning);display:block}.daily-optional{padding-top:var(--space-2);border-top:var(--panel-divider) solid var(--color-border)}.daily-optional summary{min-height:var(--hit-target);color:var(--color-accent);font-size:var(--label-size);cursor:pointer;align-content:center}.daily-optional button+button{margin-top:var(--space-2)}.daily-optional button{width:100%}.daily-options{margin-bottom:var(--space-4);padding:var(--space-4);background:var(--color-surface);border-radius:var(--radius-panel)}.daily-options h2{margin:0 0 var(--space-3);font-size:var(--body-size)}.daily-options label{align-items:center;gap:var(--space-2);font-size:var(--label-size);flex-wrap:wrap;display:flex}.daily-options-actions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.daily-rules{margin-top:var(--space-4);border-top:var(--panel-divider) solid var(--color-border);color:var(--color-muted);font-size:var(--label-size);line-height:1.7}.daily-rules summary{min-height:var(--hit-target);cursor:pointer;align-content:center}.daily-warning{margin-top:var(--space-4);padding:var(--space-4);border:var(--border-default) solid var(--color-warning);border-radius:var(--radius-panel);background:var(--color-warning-bg);color:var(--color-text)}.daily-warning summary{min-height:var(--hit-target);color:var(--color-warning);font-weight:var(--weight-semibold);cursor:pointer;align-content:center}.daily-warning li{margin-bottom:var(--space-2);line-height:1.5}.daily-result,.daily-tutorial{margin:var(--space-4) 0;padding:var(--space-4);border-radius:var(--radius-panel);background:var(--color-surface)}.daily-tutorial{background:var(--color-info-bg)}.daily-result h2{font-size:var(--section-size);margin-top:0}.daily-tutorial p{margin:var(--space-1) 0 0;line-height:1.6}.daily-actions{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);margin-top:var(--space-6);padding-top:var(--space-4);border-top:var(--panel-divider) solid var(--color-border);flex-wrap:wrap;display:flex}.daily-actions-note{color:var(--color-muted);font-size:var(--label-size);font-variant-numeric:tabular-nums;margin:0}.daily-actions-buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.daily-save-note{margin:var(--space-4) 0 0;color:var(--color-muted);font-size:var(--caption-size)}@media (width<=63.9375rem){.daily-layout{grid-template-columns:minmax(0,1fr)}.daily-calls{margin-top:var(--space-6)}}@media (width<=39.9375rem){:root:has(.daily-page){scroll-padding-bottom:8rem}.daily-main{padding-top:var(--space-2)}.daily-heading{margin-bottom:var(--space-4)}.daily-heading h1{font-size:var(--composition-compact-title-size)}.daily-sub{font-size:var(--label-size)}.daily-sub-extra,.daily-options-label,.daily-responder-role,.daily-actions-note{display:none}.daily-options-icon{display:inline}.daily-options-button{width:var(--hit-target);min-width:0;padding:var(--space-2)}.daily-layout{gap:var(--composition-compact-game-gap)}.daily-calls{margin-top:0}.daily-map{padding:var(--space-2)}.daily-view-auto .daily-grid{display:grid}.daily-view-auto .daily-iso-scroll{display:none}.daily-actions{z-index:5;margin:var(--space-4) calc(-1 * var(--composition-compact-workspace-padding)) 0;padding:var(--space-3) var(--composition-compact-workspace-padding) max(var(--space-3), env(safe-area-inset-bottom));background:var(--color-background);position:sticky;bottom:0}.daily-actions-buttons{flex-wrap:nowrap;flex:1}.daily-actions-buttons .mjc-button{min-width:0;min-height:var(--composition-mobile-action-height);padding-inline:var(--space-2);flex:1 1 0}.daily-actions-buttons .mjc-button--primary{flex-grow:2}.daily-page .site-footer{flex-wrap:wrap}}@media (width<=39.9375rem) and (height<=30rem){:root:has(.daily-page){scroll-padding-bottom:0}.daily-actions{position:static}}@media (height<=30rem){.daily-main{padding-top:var(--space-2)}.daily-heading{margin-bottom:var(--space-3)}.daily-heading h1{font-size:var(--composition-compact-title-size)}}@media (prefers-reduced-motion:reduce){.daily-page *,.daily-page :before,.daily-page :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.planner-main{padding-block:var(--space-6) var(--space-12)}.planner-main:focus{outline:none}.planner-heading h1{font-size:var(--title-size);letter-spacing:-.03em;margin:var(--space-2) 0;line-height:1.2}.planner-heading p{max-width:65ch;color:var(--color-muted)}.planner-heading .eyebrow{color:var(--color-accent)}.planner-privacy{font-size:var(--label-size)}.planner-workspace{margin-top:var(--space-6)}.planner-panel{padding-block:var(--space-6);border-top:var(--panel-divider) solid var(--color-border)}.planner-panel:first-child{border-top:0;padding-top:0}.planner-panel:last-child{padding-bottom:0}.planner-panel h2{margin:0 0 var(--space-4);font-size:var(--section-size);line-height:1.2}.planner-panel h3{margin:0 0 var(--space-3);font-size:var(--body-size)}.planner-controls,.planner-actions,.planner-editor{align-items:flex-end;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.planner-controls label,.planner-editor label,.planner-rule-form label,.planner-paste label{gap:var(--space-2);font-size:var(--label-size);display:grid}.planner-controls input{width:7rem}.planner-mode{gap:var(--space-2);display:flex}.planner-mode button{flex:1;max-width:14rem}.planner-help{color:var(--color-muted);font-size:var(--label-size)}.planner-error{color:var(--color-danger);flex-basis:100%;margin:0}.planner-count{font:var(--caption-size) var(--font-mono);color:var(--color-muted)}.seat-grid-wrap{overscroll-behavior-x:contain;padding-bottom:var(--space-2);overflow-x:auto}.seat-front{min-width:100%;margin:0 0 var(--space-2);padding:var(--space-1) 0;border-bottom:3px solid var(--color-border-control);text-align:center;font:var(--caption-size) var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted)}.seat-grid{gap:var(--space-2);display:grid}.seat-cell{min-height:3.5rem;padding:var(--space-1);border:1px dashed var(--color-border);border-radius:var(--control-radius);color:var(--color-text);font:inherit;cursor:pointer;background:0 0;align-content:center;place-items:center;display:grid;position:relative}.seat-cell[data-desk=true]{border:var(--border-default) solid var(--color-border-control);background:var(--color-background)}.seat-cell:disabled{cursor:default}.seat-cell:not(:disabled):hover{background:var(--color-surface-hover)}.seat-cell[data-selected]{background:var(--color-surface-selected);border-color:var(--color-selection-border);box-shadow:inset 0 0 0 var(--border-selected) var(--color-selection-border)}.seat-cell:focus-visible{outline:var(--border-focus) solid var(--color-focus);outline-offset:var(--border-focus-offset)}.seat-name{overflow-wrap:anywhere;max-width:100%;font-size:var(--label-size);font-weight:var(--weight-semibold);line-height:1.2}.seat-lock{font:var(--caption-size) var(--font-mono);color:var(--color-accent)}.planner-paste{margin-bottom:var(--space-4)}.planner-paste summary{cursor:pointer;min-height:44px;color:var(--color-accent);align-content:center}.planner-paste textarea{width:100%;max-width:28rem}.planner-roster,.planner-rules{margin:var(--space-4) 0 0;padding:0;list-style:none}.planner-roster li,.planner-rules li,.planner-issue li{align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.planner-roster-name{min-width:8rem;font-weight:var(--weight-semibold)}.planner-roster-seat{color:var(--color-muted);font-size:var(--label-size);flex:1}.planner-check{align-items:center;gap:var(--space-2);min-height:44px;font-size:var(--label-size);display:flex}.planner-rules li>span,.planner-issue li>span{flex:1;min-width:12rem}.planner-rule-form{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));align-items:end;display:grid}.planner-pick{max-height:14rem;padding:var(--space-3);border:1px solid var(--color-border-control);border-radius:var(--control-radius);grid-column:1/-1;margin:0;overflow:auto}.planner-pick legend{padding-inline:var(--space-2);font-size:var(--label-size)}.planner-pick .planner-check{margin-right:var(--space-6);display:inline-flex}.planner-rule-form>button{justify-self:start}.planner-outcome{scroll-margin-top:var(--space-4)}.planner-outcome:focus{outline:none}.planner-success{color:var(--color-success);font-weight:var(--weight-semibold)}.planner-conflict{padding:var(--space-4);border:1px solid var(--color-warning);background:var(--color-warning-bg);border-radius:var(--panel-radius)}.planner-conflict h3{color:var(--color-warning)}.planner-issue{margin-bottom:var(--space-4)}.planner-issue p{margin:0 0 var(--space-2)}.planner-issue ul{margin:0;padding:0;list-style:none}@media (width<=40rem){.planner-mode button{max-width:none}.planner-editor>*{flex-basis:100%}}@media print{.mjc-workspace{box-shadow:none}.site-header,.site-footer,.planner-panel:not(:last-of-type),.planner-heading,.planner-actions{display:none}}.dg[data-mjc-theme=light],.dg [data-mjc-theme=light]{--dg-serif:Georgia, "Iowan Old Style", "Palatino Linotype", "Times New Roman", serif;--dg-fold:#f4eee1;--color-bg:#f4eee1;--color-background:#f4eee1;--color-surface:#fffcf5;--color-surface-hover:#ede4d2;--color-surface-pressed:#e1d6c0;--color-surface-selected:#efe6d3;--color-border:#d9cfbd;--color-border-control:#7a6d5c;--color-text:#231d17;--color-muted:#5b5146;--color-accent:#a8431f;--color-primary:#a8431f;--color-primary-hover:#8f3718;--color-primary-pressed:#772d13;--color-on-primary:#fff8ef;--color-primary-border:#a8431f;--color-link:#a8431f;--color-link-hover:#7e2f13;--color-selection:#2f5d62;--color-selection-border:#2f5d62;min-height:100vh;color:var(--color-text);background:var(--color-background)}.dg .dg-parent,.dg .dg-by{color:var(--color-text);font-size:1rem}.dg .dg-by{min-height:0;display:inline}.dg .wordmark__accent{color:#216b43}.dg-header{justify-content:space-between;align-items:center;gap:var(--space-4);padding-block:var(--space-3);border-bottom:1px solid var(--color-border);display:flex}.dg-hero{padding-block:var(--space-6) var(--space-2)}.dg-title{margin:var(--space-2) 0 var(--space-1);font-family:var(--dg-serif);letter-spacing:-.02em;align-items:center;gap:.6rem;font-size:clamp(2.75rem,7vw,4.5rem);font-weight:700;line-height:1;display:flex}.dg-mark{width:.78em;height:.78em;color:var(--color-accent);flex:none}.dg-tagline{margin:0 0 var(--space-4);font-size:1.15rem}.dg-hero p:not(.eyebrow,.dg-tagline){max-width:62ch}.dg .bk-panel h2,.dg .bk-shelf-head h2,.dg .bk-detail h2{font-family:var(--dg-serif);font-weight:700}.dg .bk-workspace{box-shadow:none;background:0 0;padding:0}.dg-footer{padding-block:var(--space-8) var(--space-12);border-top:1px solid var(--color-border);color:var(--color-muted);font-size:.9rem}.dg-footer p{max-width:70ch;margin:0}.dg .information-links{color:var(--color-muted)}.bk-main{padding-block:var(--space-6) var(--space-12)}.bk-main:focus{outline:none}.bk-heading h1{margin:var(--space-2) 0;font-size:var(--title-size);letter-spacing:-.03em;line-height:1.2}.bk-heading p{max-width:65ch;color:var(--color-muted)}.bk-heading .eyebrow{color:var(--color-accent)}.bk-note{font-size:var(--label-size)}.bk-workspace{--book-h:15rem;margin-top:var(--space-6)}@media (width<=639px){.bk-workspace{--book-h:11.5rem}}.bk-panel{padding-block:var(--space-6);border-top:var(--panel-divider) solid var(--color-border)}.bk-panel:first-child{border-top:0;padding-top:0}.bk-workspace h2{margin:0 0 var(--space-3);font-size:var(--section-size);line-height:1.2}.bk-count,.bk-help{color:var(--color-muted);font-size:var(--label-size);font-weight:var(--weight-regular)}.bk-label{margin-bottom:var(--input-label-gap);font-size:var(--label-size);font-weight:var(--weight-semibold);display:block}.bk-workspace .mjc-input{width:100%}.bk-add,.bk-inline,.bk-manual-form{align-items:end;gap:var(--space-3) var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));display:grid}.bk-manual-form{margin-top:var(--space-3)}.bk-actions{align-items:center;gap:var(--space-2) var(--space-3);margin-block:var(--space-3);flex-wrap:wrap;display:flex}.bk-status{min-height:1.5rem;margin-block:var(--space-2)}.bk-status[role=alert],.bk-error{color:var(--color-danger)}.bk-alert{padding:var(--space-4);color:var(--color-danger);background:var(--color-danger-bg);border:var(--border-default) solid var(--color-danger);border-radius:var(--control-radius)}.bk-manual summary{min-height:var(--hit-target);cursor:pointer;align-items:center;display:flex}.bk-confirm{gap:var(--space-3);padding:var(--space-4);background:var(--color-surface-hover);border-radius:var(--control-radius);display:grid}.bk-confirm p{margin:0}.bk-hidden,.bk-hidden-input{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.bk-file{position:relative}.bk-file:focus-within{outline:var(--border-focus) solid var(--color-focus);outline-offset:var(--border-focus-offset)}.bk-detail{gap:var(--space-6);grid-template-columns:minmax(8rem,14rem) 1fr;display:grid}.bk-detail:focus{outline:none}.bk-detail-art img{border-radius:var(--control-radius);width:100%;height:auto;display:block}@media (width<=639px){.bk-detail{grid-template-columns:1fr}.bk-detail-art img{max-width:12rem}}.bk-facts{gap:var(--space-1) var(--space-4);margin:var(--space-3) 0;grid-template-columns:max-content 1fr;display:grid}.bk-facts dt{color:var(--color-muted)}.bk-facts dd{overflow-wrap:anywhere;margin:0}.bk-fieldset{margin:var(--space-3) 0;padding:var(--space-3) var(--space-4);border:var(--border-default) solid var(--color-border);border-radius:var(--control-radius)}.bk-check{align-items:center;gap:var(--space-2);min-height:var(--hit-target);display:flex}.bk-shelf{padding-block:var(--space-4)}.bk-shelf-head{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.bk-shelf-head h2{margin:0}.bk-tools{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.bk-segment{gap:var(--space-1);display:flex}.bk-case{background:repeating-linear-gradient(90deg,#00000012 0 1px,#0000 1px 6px),linear-gradient(90deg,#4d351e,#7a5632 10%,#8a6238 18%,#6d4b2a 50%,#8a6238 82%,#7a5632 90%,#4d351e);border-radius:10px 10px 0 0;padding:.9rem .9rem 0;position:relative;box-shadow:inset 0 2px #ffffff2e,0 22px 26px -18px #0009}.bk-scroller{background:repeating-linear-gradient(90deg,#00000038 0 2px,#0000 2px 7.5rem),linear-gradient(#241a14,#35291f);border-radius:2px;padding:2.5rem .4rem 0;overflow:auto hidden;box-shadow:inset 0 18px 20px -10px #000000bf,inset 14px 0 16px -10px #0009,inset -14px 0 16px -10px #0009}.bk-scene{width:max-content;min-width:100%}.bk-row{min-height:var(--book-h);align-items:flex-end;gap:2px;margin:0;padding:0;list-style:none;display:flex}.bk-empty{padding:var(--space-8) var(--space-2);color:#e8dfd3;margin:0}.bk-board{background:linear-gradient(#d1a978 0 2px,#b88b57 2px .3rem,#94693a .3rem,#6d4b2a);border-radius:0 0 3px 3px;height:1.15rem;margin-inline:-.9rem;box-shadow:0 -1px #1c140e,0 14px 16px -8px #0000008c}.bk-book{--w:calc(var(--book-h) * var(--aspect));--d:calc(var(--book-h) * var(--depth));width:var(--d);height:var(--book-h);color:inherit;font:inherit;cursor:pointer;perspective:1100px;perspective-origin:50% 40%;background:0 0;border:0;padding:0;display:block;position:relative}.bk-covers .bk-book{width:calc(var(--w) + .5rem)}.bk-spines .bk-book{margin-inline:calc(var(--d) * .05)}.bk-book{z-index:calc(var(--out,0) * 1000 + var(--z,0))}.bk-book.is-selected{z-index:calc(var(--out,0) * 1000 + var(--z,0) + 600)}.bk-cube,.bk-cube *{pointer-events:none}.bk-book:focus-visible{outline:var(--border-focus) solid var(--color-focus);outline-offset:var(--border-focus-offset)}.bk-cube{width:0;height:0;transform-style:preserve-3d;position:absolute;top:50%;left:50%}.bk-face{top:calc(var(--book-h) / -2);height:var(--book-h);flex-direction:column;display:flex;position:absolute;overflow:hidden}.bk-front,.bk-back{width:var(--w);left:calc(var(--w) / -2)}.bk-front{background:var(--spine) center / cover no-repeat;color:var(--ink);text-align:center;transform:translateZ(calc(var(--d) / 2));border-radius:0 3px 3px 0;justify-content:center;align-items:center;padding:.6rem;box-shadow:inset 5px 0 7px -3px #00000059}.bk-back{background:var(--spine-dark);transform:rotateY(180deg) translateZ(calc(var(--d) / 2))}.bk-spine,.bk-pages{width:var(--d);left:calc(var(--d) / -2)}.bk-spine{background:linear-gradient(90deg, var(--spine-dark), var(--spine) 16%, var(--spine) 84%, var(--spine-dark));color:var(--ink);transform:rotateY(-90deg) translateZ(calc(var(--w) / 2));justify-content:space-between;align-items:center;padding:.7rem 0}.bk-pages{transform:rotateY(90deg) translateZ(calc(var(--w) / 2));background:repeating-linear-gradient(0deg,#efe6d2 0 2px,#d6c9ad 2px 3px)}.bk-top,.bk-bottom{width:var(--w);height:var(--d);top:calc(var(--d) / -2);left:calc(var(--w) / -2)}.bk-top{transform:rotateX(90deg) translateZ(calc(var(--book-h) / 2));background:#e7dcc3}.bk-bottom{transform:rotateX(-90deg) translateZ(calc(var(--book-h) / 2));background:#b9ac8d}.bk-spine-title,.bk-spine-author{writing-mode:vertical-rl;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bk-spine-title{max-height:76%;font:var(--weight-semibold) clamp(.6rem, calc(var(--d) * .4), 1rem) / 1.1 var(--font-sans)}.bk-spine-author{max-height:22%;font:var(--weight-regular) clamp(.5rem, calc(var(--d) * .28), .7rem) / 1.1 var(--font-sans);opacity:.9}.bk-front--generated{background:linear-gradient(160deg, #ffffff29, transparent 42%, #00000038), var(--spine)}.bk-gen{border:1px solid color-mix(in srgb, var(--ink) 40%, transparent);text-align:center;border-radius:2px;flex-direction:column;justify-content:center;align-items:center;gap:.55rem;padding:.6rem .5rem;display:flex;position:absolute;inset:.5rem}.bk-gen-title{-webkit-line-clamp:6;font-family:Georgia,Iowan Old Style,Times New Roman,serif;font-weight:700;font-size:clamp(.8rem, calc(var(--w) * .075), 1.2rem);letter-spacing:.01em;text-wrap:balance;overflow-wrap:anywhere;-webkit-box-orient:vertical;line-height:1.14;display:-webkit-box;overflow:hidden}.bk-gen-rule{opacity:.55;background:currentColor;width:1.6rem;height:2px}.bk-gen-author{-webkit-line-clamp:2;font-size:clamp(.55rem, calc(var(--w) * .04), .72rem);letter-spacing:.14em;text-transform:uppercase;opacity:.88;-webkit-box-orient:vertical;font-weight:600;display:-webkit-box;overflow:hidden}@property --rise{syntax:"<length>";inherits:true;initial-value:0}.bk-cube{--p:0;--base:90deg;--pull:clamp(0, calc(var(--p) * 2.5), 1);--turn:clamp(0, calc((var(--p) - .4) / .6), 1);--swing:calc(var(--turn) * -78deg);--lift:calc(var(--pull) * 2.6rem);transition:--rise var(--motion-normal) var(--motion-easing);--shift:0px;transform:translateY(var(--rise)) translateZ(var(--lift)) translateX(calc(var(--shift) * var(--pull))) rotateY(var(--swing)) rotateY(var(--base))}.bk-covers .bk-cube{--base:calc(-18deg + var(--p) * 14deg);--swing:0deg;--pull:0;--lift:calc(var(--p) * 1.4rem)}.bk-book.is-selected .bk-cube{--rise:-.5rem}@media (prefers-reduced-motion:reduce){.bk-cube{transition:none}}.bk-panel h3{margin:var(--space-6) 0 var(--space-2);font-size:var(--body-size)}.bk-target{max-width:24rem;margin-bottom:var(--space-2);display:block}.bk-hits{gap:var(--space-2);margin:var(--space-3) 0 0;padding:0;list-style:none;display:grid}.bk-hit{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-surface-hover);border-radius:var(--control-radius);grid-template-columns:3rem minmax(0,1fr) auto;display:grid}.bk-hit-cover{object-fit:cover;background:var(--color-surface-pressed);border-radius:2px;width:3rem;height:4.5rem;display:block}.bk-hit-text{min-width:0;display:grid}.bk-hit-text .bk-help{margin:0}@media (width<=639px){.bk-hit{grid-template-columns:3rem minmax(0,1fr)}.bk-hit .mjc-button{grid-column:1/-1}}.bk-book{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.bk-book.is-dragging{opacity:.3}.bk-shelf.is-drop-target .bk-case{outline:2px solid var(--color-selection-border);outline-offset:2px}.bk-ghost{z-index:1000000;background-color:var(--color-surface-pressed);pointer-events:none;background-position:50%;background-size:cover;border-radius:2px;width:5rem;height:7.5rem;position:fixed;transform:translate(-50%,-60%)rotate(-4deg);box-shadow:0 14px 28px #00000080}.bk-drop-marker{z-index:999999;pointer-events:none;background:#9ee8bc;border-radius:2px;width:3px;position:fixed}.bk-drop-label{white-space:nowrap;color:#18201c;background:#9ee8bc;border-radius:2px;padding:2px 8px;font-size:.75rem;font-weight:600;position:absolute;top:.25rem;left:.5rem}.bk-mark{top:calc(var(--book-h) / -2 - .7rem);width:.18rem;height:1.3rem;transform:translate3d(calc(var(--w) / -2 + .5rem), 0, calc((.5 - var(--at)) * (var(--d) - .5rem))) rotateY(90deg);opacity:clamp(0, calc(1 - var(--turn,0) * 2.5), 1);background:#c4473a;position:absolute;left:-.09rem}.bk-mark--cover{opacity:clamp(0, calc(var(--turn,0) * 2.5 - .25), 1);top:calc(var(--book-h) / -2 - .9rem);clip-path:polygon(0 0,50% 22%,100% 0,100% 100%,0 100%);width:.6rem;height:1.6rem;transform:translate3d(calc(var(--w) / -2 + 1.2rem), 0, calc((.5 - var(--at)) * (var(--d) - .5rem)));left:-.3rem}.bk-progress{gap:var(--space-2);display:grid}.bk-range{width:100%;min-height:var(--hit-target);accent-color:var(--color-accent)}.bk-undo{align-items:center;gap:var(--space-2) var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.bk-undo .bk-help{margin:0}.bk-sort .mjc-input{width:auto;min-width:8.5rem}.bk-reading ul{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.bk-reading li{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.bk-reading li>div{gap:var(--space-1);flex:14rem;display:grid}.bk-meter{width:100%;height:4px;accent-color:var(--color-accent)}.bk-notes{gap:var(--space-3);display:grid}.bk-stars{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.bk-star{min-width:var(--hit-target);min-height:var(--hit-target);color:var(--color-accent);border-radius:var(--control-radius);cursor:pointer;background:0 0;border:0;padding:0;font-size:1.5rem;line-height:1}.bk-star:hover{background:var(--color-surface-hover)}.bk-star[aria-pressed=true]{background:var(--color-surface-selected);outline:2px solid var(--color-selection-border);outline-offset:-2px}.bk-textarea{resize:vertical;width:100%;min-height:7.5rem}.bk-missing{gap:var(--space-1) var(--space-4);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.bk-choose{gap:var(--space-1);padding-left:var(--space-6);display:grid}.bk-bay{display:block}.bk-swatches{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.bk-swatch{width:var(--hit-target);height:var(--hit-target);border:1px solid var(--color-border-control);cursor:pointer;border-radius:50%;padding:0}.bk-swatch[aria-pressed=true]{outline:3px solid var(--color-selection-border);outline-offset:2px}.bk-swatch-own{align-items:center;gap:var(--space-2);display:flex}.bk-swatch-own input{width:var(--hit-target);height:var(--hit-target);cursor:pointer;padding:0}.bk-health{gap:var(--space-2);margin-bottom:var(--space-3);display:grid}.bk-health .bk-help{margin:0}.bk-candidates{gap:var(--space-3);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.bk-candidate{justify-items:center;gap:var(--space-1);padding:var(--space-2);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-control);border-radius:var(--control-radius);cursor:pointer;display:grid}.bk-candidate:hover{background:var(--color-surface-hover)}.bk-candidate img{object-fit:contain;width:6rem;height:9rem;display:block}.bk-consent{gap:var(--space-2);padding:var(--space-3);background:var(--color-info-bg);border-radius:var(--control-radius);display:grid}.bk-consent p,.bk-found p{margin:0}.bk-found{gap:var(--space-3);display:grid}.bk-workspace .bk-pages-field{width:7rem}.bk-facts dd .bk-help{margin:var(--space-1) 0 0;display:block}.pf-main{padding-block:var(--space-6) var(--space-16)}.pf-main:focus,.pf-section:focus{outline:none}.pf-hero{gap:var(--space-12);padding-block:var(--space-12) var(--space-16);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;display:grid}.pf-hero h1{margin:0 0 var(--space-6);letter-spacing:-.03em;font-size:clamp(2.25rem,3.6vw,3rem);line-height:1.1}.pf-lede{max-width:42ch;color:var(--color-muted);font-size:var(--section-size);margin:0;line-height:1.5}.pf-hero-photo{margin:0}.pf-hero-photo img{border-radius:var(--radius-panel);width:100%;height:auto;display:block}.pf-section{padding-block:var(--space-8);scroll-margin-top:var(--space-4)}.pf-section>h2{margin:0 0 var(--space-6);font-size:var(--section-size);letter-spacing:-.02em;line-height:1.2}.pf-about{gap:var(--space-8);grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;display:grid}.pf-about>h2{margin:0}.pf-prose{max-width:var(--reading-width)}.pf-prose p{margin:0 0 var(--space-4);color:var(--color-muted);line-height:1.65}.pf-prose p:first-child{color:var(--color-text)}.pf-panel{padding:var(--panel-padding);border-radius:var(--radius-panel);background:var(--color-surface)}.pf-panel h3{margin:0 0 var(--space-3);font-size:var(--body-size);line-height:1.35}.pf-panel p{margin:0 0 var(--space-3);color:var(--color-muted);line-height:1.65}.pf-panel ul{padding-left:var(--space-4);margin:0}.pf-panel li{margin-bottom:var(--space-2);line-height:1.5}.pf-skills{gap:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));display:grid}.pf-stack{gap:var(--space-6);display:grid}.pf-project{gap:var(--space-8);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:start;display:grid}.pf-gallery{columns:2;column-gap:var(--space-3);margin:0;padding:0;list-style:none}.pf-panel .pf-gallery li{margin:0 0 var(--space-3);break-inside:avoid;line-height:0}.pf-gallery img{border-radius:var(--control-radius);background:#fff;width:100%;height:auto;display:block}.pf-cad{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));display:grid}.pf-cad-card{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.pf-cad-card>div:first-child{flex:1}.pf-render{line-height:0}.pf-render img{border-radius:var(--control-radius);background:#fff;width:100%;height:auto;display:block}.pf-cad-card--wide{gap:var(--space-8);grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:start;display:grid}.pf-education{gap:var(--space-8);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);display:grid}.pf-education h4{margin:0 0 var(--space-3);font-size:var(--label-size);color:var(--color-muted);letter-spacing:.04em}.pf-school{color:var(--color-text);font-weight:var(--weight-semibold)}.pf-education strong{font-weight:var(--weight-semibold)}.pf-education li span{color:var(--color-muted)}.pf-panel :is(h3,h4,p,li,strong),.pf-prose p,.pf-hero h1{overflow-wrap:anywhere}@media (width<=63.9375rem){.pf-about{gap:var(--space-4);grid-template-columns:minmax(0,1fr)}.pf-about>h2{margin-bottom:var(--space-2)}.pf-project,.pf-cad-card--wide,.pf-education{gap:var(--space-4);grid-template-columns:minmax(0,1fr)}}@media (width<=47.9375rem){.pf-hero{gap:var(--space-6);padding-block:var(--space-6) var(--space-8);grid-template-columns:minmax(0,1fr)}.pf-lede{font-size:var(--body-size)}}@media (width<=39.9375rem){.pf-hero h1{font-size:2.25rem}.pf-section{padding-block:var(--space-6)}.pf-panel{padding:var(--panel-compact-padding)}}@media print{.site-header,.site-footer{display:none}}.audiodeck-main{padding-block:var(--space-12) var(--space-16)}.audiodeck-hero{gap:var(--space-8);padding-block:var(--space-8) var(--space-16);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;display:grid}.audiodeck-hero>*,.audiodeck-benefits>*{min-width:0}.audiodeck-hero h1{font-size:var(--title-size)}.audiodeck-lead{font-size:var(--body-size);color:var(--color-muted);max-width:52ch;line-height:1.65}.audiodeck-status{color:var(--color-accent);font-size:var(--label-size)}.audiodeck-main figure,.audiodeck-feature figure{margin:0}.audiodeck-main img,.audiodeck-feature img{border:1px solid var(--color-border);border-radius:var(--panel-radius);width:100%;height:auto;display:block}.audiodeck-main figcaption,.audiodeck-feature figcaption{margin-top:var(--space-2);font-size:var(--caption-size);color:var(--color-muted);line-height:1.5}.audiodeck-feature figure{margin-bottom:var(--space-6)}.showcase-grid:has(.audiodeck-feature){align-items:start}.audiodeck-section{border-top:1px solid var(--color-border);padding-block:var(--space-8) var(--space-12);scroll-margin-top:var(--space-8)}.audiodeck-section .section-heading{flex-wrap:wrap}.audiodeck-benefits{gap:var(--space-4);margin-bottom:var(--space-8);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.audiodeck-benefits article,.audiodeck-next{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--panel-radius);padding:var(--panel-padding)}.audiodeck-main h3{font-size:var(--body-size);margin:0 0 var(--space-2)}.audiodeck-benefits p,.audiodeck-timeline p,.audiodeck-next p:not(.eyebrow),.audiodeck-intro{color:var(--color-muted);font-size:var(--body-size);margin:0;line-height:1.65}.audiodeck-art-link{display:block}.audiodeck-intro{max-width:var(--reading-width);margin-bottom:var(--space-8)}.audiodeck-timeline{margin:0;padding:0;list-style:none}.audiodeck-timeline li{gap:var(--space-4);padding-block:var(--space-6);border-top:1px solid var(--color-border);grid-template-columns:9rem minmax(0,1fr);display:grid}.audiodeck-timeline time{font:var(--caption-size)/1.65 var(--font-mono);color:var(--color-accent)}.audiodeck-timeline p{max-width:var(--reading-width)}.audiodeck-next h2{font-size:var(--section-size);margin:0 0 var(--space-4)}.audiodeck-next p:not(.eyebrow){max-width:var(--reading-width);margin-bottom:var(--space-4)}@media (width<=48rem){.audiodeck-hero,.audiodeck-benefits{grid-template-columns:minmax(0,1fr)}.audiodeck-hero{padding-block:0 var(--space-8)}.audiodeck-timeline li{gap:var(--space-2);grid-template-columns:minmax(0,1fr)}.audiodeck-benefits article,.audiodeck-next{padding:var(--panel-compact-padding)}}
