:root{--accent-default: var(--color-accent-machine);--accent-focus-ring: var(--color-accent-machine);--accent-strong: var(--color-accent-machine-strong);--border-faint: var(--color-line-soft);--border-hairline: var(--color-line-strong);--border-strongest: var(--color-line-strongest);--border-radius-none: 0px;--border-radius-pill: 999px;--border-radius-sm: 2px;--color-accent-ember: #e74c3c;--color-accent-live: #8fc98a;--color-accent-machine: #c9a96e;--color-accent-machine-strong: #a3874f;--color-accent-warn: #d29922;--color-bg-1000: #000000;--color-bg-700: #1a1a1a;--color-bg-800: #111111;--color-bg-900: #0a0a0a;--color-ink-100: #f4f1ea;--color-ink-200: #b8b3a7;--color-ink-300: #8f8a7d;--color-line-soft: rgba(244, 241, 234, .06);--color-line-soft-on-paper: rgba(10, 10, 10, .06);--color-line-strong: rgba(244, 241, 234, .12);--color-line-strongest: rgba(244, 241, 234, .24);--color-line-strong-on-paper: rgba(10, 10, 10, .12);--color-paper-100: #f4f1ea;--color-paper-200: #ece8de;--color-paper-300: #e0dcd1;--color-paper-ink: #0a0a0a;--color-paper-ink2: #3a3a3a;--color-paper-ink3: #5f5f5f;--color-plate-100: #242424;--color-plate-200: #1e1e1e;--color-plate-300: #191919;--color-plate-400: #141414;--color-plate-500: #0d0d0d;--color-vignette-deep: rgba(0, 0, 0, .92);--color-vignette-mid: rgba(0, 0, 0, .55);--duration-fast: .18s;--duration-frame: 42ms;--duration-normal: .3s;--duration-shutter: .9s;--duration-slow: .6s;--easing-drift: cubic-bezier(.25, .1, .25, 1);--easing-shutter: cubic-bezier(.83, 0, .17, 1);--easing-standard: cubic-bezier(.4, 0, .2, 1);--elevation-1: var(--shadow-1);--elevation-2: var(--shadow-2);--font-family-base: var(--font-family-body);--font-family-body: "Inter Variable", Inter, system-ui, sans-serif;--font-family-display: "Editorial New", "Cormorant Garamond", "Instrument Serif", serif;--font-family-mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, monospace;--font-size-2xl: var(--font-size-body2xl);--font-size-body2xl: 32px;--font-size-body-lg: 20px;--font-size-body-md: 16px;--font-size-body-sm: 14px;--font-size-body-xl: 24px;--font-size-display-huge: clamp(80px, 18vw, 340px);--font-size-display-lg: clamp(56px, 8vw, 128px);--font-size-display-md: clamp(48px, 6vw, 96px);--font-size-display-sm: clamp(32px, 4vw, 56px);--font-size-display-xl: clamp(64px, 10vw, 180px);--font-size-display-xs: 24px;--font-size-lg: var(--font-size-body-lg);--font-size-md: var(--font-size-body-md);--font-size-mono-lg: 13px;--font-size-mono-md: 11px;--font-size-mono-sm: 10px;--font-size-mono-xs: 9px;--font-size-sm: var(--font-size-body-sm);--font-size-xl: var(--font-size-body-xl);--font-size-xs: var(--font-size-mono-sm);--font-weight-body-light: 300;--font-weight-body-medium: 500;--font-weight-body-regular: 400;--font-weight-display-light: 300;--font-weight-mono-light: 300;--font-weight-mono-regular: 400;--letter-spacing-body-normal: 0em;--letter-spacing-display-normal: -.03em;--letter-spacing-display-tight: -.04em;--letter-spacing-mono-wide: .16em;--letter-spacing-mono-wider: .18em;--letter-spacing-mono-widest: .22em;--line-height-body: var(--line-height-body-normal);--line-height-body-normal: 1.55;--line-height-body-relaxed: 1.6;--line-height-display-normal: .92;--line-height-display-tight: .88;--line-height-heading: var(--line-height-display-normal);--measure-hero: 1100px;--measure-hero-stats: 760px;--measure-key-column: 260px;--measure-page: 1400px;--measure-thumb-h: 54px;--measure-thumb-w: 96px;--motion-duration-fast: var(--duration-fast);--motion-duration-normal: var(--duration-normal);--motion-easing-standard: var(--easing-standard);--shadow-1: 0px 1px 2px 0px rgba(0, 0, 0, .4);--shadow-2: 0px 4px 12px 0px rgba(0, 0, 0, .5);--space-1: 4px;--space-2: 8px;--space-3: 14px;--space-4: 20px;--space-5: 28px;--space-6: 40px;--space-7: 56px;--space-8: 80px;--space-9: 120px;--space-unit: clamp(16px, 1.4vw, 22px);--status-danger: var(--color-accent-ember);--status-success: var(--color-accent-live);--status-warning: var(--color-accent-warn);--surface-canvas: var(--color-bg-1000);--surface-page: var(--color-bg-900);--surface-pressed: var(--color-bg-700);--surface-raised: var(--color-bg-800);--text-muted: var(--color-ink-300);--text-on-accent: var(--color-bg-900);--text-primary: var(--color-ink-100);--text-secondary: var(--color-ink-200);--z-index-base: 1;--z-index-chrome: 200;--z-index-content: 5;--z-index-grain: 3;--z-index-overlay: 20;--z-index-shutter: 900}:root{--color-bg: var(--surface-page);--color-bg-canvas: var(--surface-canvas);--color-surface: var(--surface-raised);--color-surface-raised: var(--surface-pressed);--color-border: var(--border-hairline);--color-border-strong: var(--border-strongest);--color-text-primary: var(--text-primary);--color-text-secondary: var(--text-secondary);--color-text-muted: var(--text-muted);--color-text-on-accent: var(--text-on-accent);--color-accent: var(--accent-default);--color-accent-strong: var(--accent-strong);--color-focus-ring: var(--accent-focus-ring);--color-success: var(--status-success);--color-warning: var(--status-warning);--color-danger: var(--status-danger);--radius-sm: var(--border-radius-sm);--radius-md: var(--border-radius-sm);--radius-lg: var(--border-radius-sm)}@media(prefers-reduced-motion:reduce){:root{--motion-duration-fast: 0ms;--motion-duration-normal: 0ms}}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/cormorant-garamond-latin-300-normal-Cw-E_7L1.woff2) format("woff2")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:300;src:url(/assets/cormorant-garamond-latin-300-italic-qkwBXYHn.woff2) format("woff2")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-normal-B-1hWBU7.woff2) format("woff2")}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--color-bg);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-md);line-height:var(--line-height-body)}h1{font-family:var(--font-family-display);font-weight:var(--font-weight-display-light);font-size:var(--font-size-display-xs);line-height:var(--line-height-display-normal);letter-spacing:var(--letter-spacing-display-normal);color:var(--color-text-primary);margin:0}h2{font-family:var(--font-family-display);font-weight:var(--font-weight-display-light);font-size:var(--font-size-md);line-height:var(--line-height-display-normal);letter-spacing:var(--letter-spacing-display-normal);color:var(--color-text-primary);margin:0}h3,h4{font-family:var(--font-family-mono);font-weight:var(--font-weight-mono-regular);font-size:var(--font-size-mono-md);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-mono-wider);text-transform:uppercase;color:var(--color-text-muted);margin:0}a{color:var(--color-accent)}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--space-3);top:-48px;background:var(--color-accent-strong);color:var(--color-text-on-accent);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);z-index:var(--z-index-chrome);transition:top var(--motion-duration-fast) var(--motion-easing-standard)}.skip-link:focus{top:var(--space-3)}.t-display{font-family:var(--font-family-display);font-weight:var(--font-weight-display-light);font-size:var(--font-size-display-md);line-height:var(--line-height-display-normal);letter-spacing:var(--letter-spacing-display-normal);color:var(--color-text-primary)}.t-body{font-family:var(--font-family-base);font-weight:var(--font-weight-body-regular);font-size:var(--font-size-md);line-height:var(--line-height-body);color:var(--color-text-primary)}.t-body-soft{font-family:var(--font-family-base);font-weight:var(--font-weight-body-regular);font-size:var(--font-size-md);line-height:var(--line-height-body-relaxed);color:var(--color-text-secondary)}.t-label{font-family:var(--font-family-mono);font-weight:var(--font-weight-mono-regular);font-size:var(--font-size-mono-md);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-mono-wider);text-transform:uppercase;color:var(--color-text-muted)}.t-label-sm{font-family:var(--font-family-mono);font-weight:var(--font-weight-mono-regular);font-size:var(--font-size-mono-sm);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-mono-widest);text-transform:uppercase;color:var(--color-text-muted)}.t-label-strong{color:var(--color-text-primary);font-variant-numeric:tabular-nums}.t-timecode{font-family:var(--font-family-mono);font-weight:var(--font-weight-mono-regular);font-size:var(--font-size-mono-lg);letter-spacing:var(--letter-spacing-mono-wide);color:var(--color-text-primary);font-variant-numeric:tabular-nums}.t-roman,.t-em{font-style:normal;color:var(--color-text-secondary);font-weight:inherit}.t-em{font-style:italic}.t-accent{color:var(--color-accent)}.app-shell{min-height:100%;display:flex;flex-direction:column;position:relative}.app-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-6);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.app-header__brand{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-family-display);font-weight:var(--font-weight-display-light);font-size:var(--font-size-display-xs);letter-spacing:var(--letter-spacing-display-normal);color:var(--color-text-primary);text-decoration:none}.app-header__brand:hover{color:var(--color-accent)}.app-header__nav{display:flex;gap:var(--space-2)}.app-main{flex:1;padding:var(--space-6);max-width:1280px;width:100%;margin:0 auto}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.row--wrap{flex-wrap:wrap}.row--between{justify-content:space-between}.grid{display:grid;gap:var(--space-4)}.btn{font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-body-medium);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-surface-raised);color:var(--color-text-primary);cursor:pointer;transition:background-color var(--motion-duration-fast) var(--motion-easing-standard),border-color var(--motion-duration-fast) var(--motion-easing-standard)}.btn:hover:not(:disabled){border-color:var(--color-accent)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-accent-strong);border-color:var(--color-accent-strong);color:var(--color-text-on-accent)}.btn-primary:hover:not(:disabled){background:var(--color-accent);border-color:var(--color-accent)}.btn-danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-text-on-accent)}.btn-danger:hover:not(:disabled){opacity:.85}.btn-sm{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs)}.field{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.field input,.field select,.field textarea,.input{font-family:inherit;font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:1px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--elevation-1)}.card--interactive{display:block;width:100%;cursor:pointer;text-align:left;color:inherit;transition:border-color var(--motion-duration-fast) var(--motion-easing-standard),box-shadow var(--motion-duration-fast) var(--motion-easing-standard)}.card--interactive:hover,.card--interactive:focus-visible{border-color:var(--color-accent);box-shadow:var(--elevation-2)}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-family-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-mono-regular);text-transform:uppercase;letter-spacing:var(--letter-spacing-mono-wide);background:var(--color-surface-raised);color:var(--color-text-secondary);border:1px solid var(--color-border-strong)}.badge[data-tone=success]{color:var(--color-success);border-color:var(--color-success)}.badge[data-tone=warning]{color:var(--color-warning);border-color:var(--color-warning)}.badge[data-tone=danger]{color:var(--color-danger);border-color:var(--color-danger)}.badge[data-tone=active]{color:var(--color-accent);border-color:var(--color-accent)}.table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.table th,.table td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}.table th{font-family:var(--font-family-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-mono-regular);text-transform:uppercase;letter-spacing:var(--letter-spacing-mono-wider);color:var(--color-text-muted)}.viewport-hero{position:relative;background:var(--color-bg-canvas);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.viewport-hero canvas{display:block;width:100%;aspect-ratio:4 / 3}.log-panel{max-height:260px;overflow-y:auto;background:var(--color-bg-canvas);color:var(--color-text-secondary);font-family:var(--font-family-mono);font-size:var(--font-size-xs);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border)}.thumbnail-grid{display:flex;flex-wrap:wrap;gap:var(--space-2)}.thumbnail-grid img{width:160px;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.empty-state{text-align:center;color:var(--color-text-muted);padding:var(--space-12) var(--space-4)}.field__hint{font-family:var(--font-family-base);font-size:var(--font-size-xs);color:var(--color-text-muted)}.field__error{font-family:var(--font-family-base);font-size:var(--font-size-xs);color:var(--color-danger)}.modal{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:var(--space-5);max-width:480px;width:90vw}.modal::backdrop{background:var(--color-vignette-deep, rgba(0,0,0,.7))}.modal__title{margin-bottom:var(--space-3)}.modal__body{margin-bottom:var(--space-4)}.modal__actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.tabs{display:flex;gap:var(--space-4);border-bottom:1px solid var(--color-border)}.tabs__tab{font-family:var(--font-family-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-mono-regular);text-transform:uppercase;letter-spacing:var(--letter-spacing-mono-wider);color:var(--color-text-muted);background:none;border:none;border-bottom:2px solid transparent;padding:var(--space-2) var(--space-1) var(--space-3);cursor:pointer;transition:color var(--motion-duration-fast) var(--motion-easing-standard),border-color var(--motion-duration-fast) var(--motion-easing-standard)}.tabs__tab[aria-selected=true]{color:var(--color-text-primary);border-bottom-color:var(--color-accent)}.tabs__tab:hover{color:var(--color-text-primary)}.notice{font-family:var(--font-family-base);font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text-secondary)}.notice[data-tone=success]{border-color:var(--color-success);color:var(--color-success)}.notice[data-tone=warning]{border-color:var(--color-warning);color:var(--color-warning)}.notice[data-tone=danger]{border-color:var(--color-danger);color:var(--color-danger)}.toast-stack{position:fixed;bottom:var(--space-5);right:var(--space-5);z-index:var(--z-index-chrome);display:flex;flex-direction:column-reverse;gap:var(--space-2);max-width:360px}.toast-stack>[role]{display:flex;flex-direction:column;gap:var(--space-2)}.toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:var(--elevation-2);font-family:var(--font-family-base);font-size:var(--font-size-sm);color:var(--color-text-primary);animation:toast-in var(--motion-duration-normal) var(--motion-easing-standard)}.toast[data-tone=success]{border-color:var(--color-success)}.toast[data-tone=danger]{border-color:var(--color-danger)}.toast__dismiss{margin-left:auto;background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-md);line-height:1}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.media-card{display:flex;flex-direction:column;gap:var(--space-2)}.media-card__body{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1)}.media-card__thumb{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius-sm)}.media-card__meta{font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--color-text-muted);letter-spacing:var(--letter-spacing-mono-wide)}.media-card__links{margin-top:var(--space-2);display:flex;flex-wrap:wrap;gap:var(--space-2)}.media-card__links a{font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--color-text-muted)}.loading-indicator{font-family:var(--font-family-mono);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-mono-wider);color:var(--color-text-muted)}.loading-indicator__dots:after{content:"";animation:loading-dots 1.4s steps(4,end) infinite}@keyframes loading-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}@media(prefers-reduced-motion:reduce){.loading-indicator__dots:after{animation:none;content:"…"}}.status-strip{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-family-mono);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-mono-wide);color:var(--color-text-muted)}.status-strip__conn{display:inline-flex;align-items:center;gap:var(--space-1)}.status-strip__led{width:7px;height:7px;border-radius:var(--radius-pill);background:var(--color-success)}.status-strip__conn[data-state=connecting] .status-strip__led,.status-strip__conn[data-state=reconnecting] .status-strip__led{background:var(--color-warning);animation:status-led-blink 1.6s steps(2,end) infinite}@keyframes status-led-blink{50%{opacity:.15}}@media(prefers-reduced-motion:reduce){.status-strip__conn .status-strip__led{animation:none}}.table--dense th,.table--dense td{padding:var(--space-1) var(--space-2)}.log-panel--dense{padding:var(--space-2)}.log-panel--dense [data-testid=log-line]{line-height:var(--line-height-body-normal)}.app-readout{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted)}.app-shell--cinematic{margin:var(--space-3);border:1px solid var(--color-border);min-height:calc(100% - var(--space-6))}.grain{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:var(--z-index-grain);opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.form--narrow{max-width:480px}.media-card__thumb--empty{display:flex;align-items:center;justify-content:center;background:var(--color-surface-raised);border:1px dashed var(--color-border)}.asset-grid{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(var(--measure-key-column),1fr))}.link-target-preview__thumb{width:64px;height:48px;object-fit:cover;border-radius:var(--radius-sm)}.link-target-preview__body{gap:0}.link-list{list-style:decimal inside;padding-left:0}.embed-opt-input--sm{width:90px}.embed-opt-input--md{width:100px}.embed-opt-input--lg{width:260px}.embed-snippet-row{align-items:center}.embed-snippet-textarea{width:480px;height:60px;font-family:var(--font-family-mono);font-size:var(--font-size-xs)}.annotation-item__image{max-width:240px}.tour-waypoint-card--selected{outline:1px solid var(--color-accent);outline-offset:2px}.tour-waypoint-legend-button{border:none;background:none;padding:0;font:inherit;color:inherit;cursor:pointer}
