@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/ibm-plex-sans-latin.woff2) format("woff2")}:root{--color-bg: #F7F2EA;--color-surface: #FFFDF8;--color-text: #1E2420;--color-muted: #5E665F;--color-border: #DDD3C5;--color-primary: #183529;--color-primary-fg: #FFFFFF;--color-primary-soft: #E7EEE8;--color-accent: #B57A3A;--color-accent-soft: #F1E2CE;--color-success: #2F6B4F;--color-warning: #B7791F;--color-danger: #9B2C2C;--color-danger-soft: #FDE9E7;--color-info: #355C7D;--color-primary-hover: #10271E;--color-accent-hover: #9E6830;--color-bg-elevated: var(--color-surface);--color-bg-sunken: color-mix(in srgb, var(--color-bg) 86%, var(--color-border) 14%);--color-fg: var(--color-text);--color-fg-muted: var(--color-muted);--color-fg-faint: color-mix(in srgb, var(--color-text) 42%, white 58%);--color-border-strong: color-mix(in srgb, var(--color-border) 72%, var(--color-primary) 28%);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-8: 3rem;--space-10: 4rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 9999px;--font-sans: "IBM Plex Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--shadow-sm: 0 2px 8px rgba(30, 36, 32, .04);--shadow-md: 0 8px 24px rgba(30, 36, 32, .06);--shadow-lg: 0 12px 32px rgba(30, 36, 32, .1)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{font-family:var(--font-sans);font-size:16px;line-height:1.6;color:var(--color-fg);background:var(--color-bg);scroll-behavior:smooth}body{min-height:100vh;background:var(--color-bg);color:var(--color-fg);-webkit-font-smoothing:antialiased}img,svg{display:block;max-width:100%}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--color-primary);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--color-primary-hover)}::selection{background:var(--color-accent-soft);color:var(--color-primary)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.pc-container{max-width:1200px;margin:0 auto;padding:0 var(--space-4)}.pc-stack>*+*{margin-top:var(--space-4)}.pc-stack-sm>*+*{margin-top:var(--space-2)}.pc-stack-lg>*+*{margin-top:var(--space-6)}.pc-muted{color:var(--color-fg-muted)}.pc-faint{color:var(--color-fg-faint)}.pc-mono{font-family:var(--font-mono);font-size:var(--text-sm)}:where(.auth-button,.upload-button,.form-button,.control-card__btn,.demo-panel__btn,.top-bar__logout,.top-bar__help,.nav-rail__item){transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}:where(.auth-button,.upload-button,.form-button,.control-card__btn,.demo-panel__btn):hover{background:var(--color-primary-hover)!important;text-decoration:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.live-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:.36rem .72rem;border-radius:var(--radius-full);border:1px solid color-mix(in srgb,var(--color-success) 28%,var(--color-surface) 72%);background:color-mix(in srgb,var(--color-success) 9%,var(--color-surface) 91%);color:var(--color-success);font-size:var(--text-xs);font-weight:500;line-height:1;white-space:nowrap;box-shadow:var(--shadow-sm);transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}.live-badge:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.live-badge__dot{width:.5rem;height:.5rem;border-radius:50%;background:currentColor;flex:0 0 auto;animation:live-badge-pulse 2.4s ease-in-out infinite}.live-badge__label{display:inline-flex;align-items:center;gap:.4em;letter-spacing:.02em}.live-badge__label strong{font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.7rem}.live-badge__sep{opacity:.55}.live-badge__age{color:color-mix(in srgb,var(--color-success) 70%,var(--color-fg-muted) 30%);font-variant-numeric:tabular-nums}@keyframes live-badge-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--color-success) 55%,transparent)}70%{box-shadow:0 0 0 7px color-mix(in srgb,var(--color-success) 0%,transparent)}to{box-shadow:0 0 color-mix(in srgb,var(--color-success) 0%,transparent)}}
