@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Manrope:wght@300;400;500;600;700&display=swap";*{box-sizing:border-box;margin:0;padding:0}body{margin:0;font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fbfbfb;color:#1a1a1a;font-size:16px;line-height:1.5}#root{height:100vh;overflow:hidden}:root{--color-primary: #1a1a1a;--color-primary-dark: #000000;--color-black: #1a1a1a;--color-white: #ffffff;--color-bg: #fbfbfb;--color-surface: #fbfbfb;--color-subtle: #f5f5f5;--color-text: #1a1a1a;--color-text-primary: #1a1a1a;--color-text-secondary: #666666;--color-text-muted: #a0aec0;--color-text-error: #c53030;--color-border: #333333;--color-border-hover: #666666;--color-border-focus: #1a1a1a;--color-input-border: #dddddd;--color-bg-primary: #fbfbfb;--color-bg-secondary: #f7fafc;--color-bg-tertiary: #edf2f7;--color-bg-hover: #f7fafc;--color-accent-green: #517e51;--color-accent-purple: #896895;--color-accent-pink: #929292;--color-accent-blue: #a8c5d5;--color-accent: #666666;--color-success: #48bb78;--color-success-light: #e8f5e9;--color-success-dark: #2e7d32;--color-warning: #ed8936;--color-warning-light: #fff3cd;--color-error: #f44336;--color-error-light: #ffebee;--color-error-dark: #c62828;--color-info: #2196f3;--color-info-light: #e3f2fd;--color-info-dark: #1565c0;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 40px;--spacing-3xl: 48px;--spacing-4xl: 64px;--spacing-5xl: 80px;--spacing-6xl: 96px;--radius-sm: 2px;--radius-base: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-3xl: 24px;--radius-full: 9999px;--shadow-xs: 0 0 0 1px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-base: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .06);--font-heading: "Space Grotesk", sans-serif;--font-body: "Manrope", sans-serif;--font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-size-6xl: 3.75rem;--font-size-7xl: 4.5rem;--font-size-8xl: 6rem;--font-size-9xl: 8rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-none: 1;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--letter-spacing-tighter: -.05em;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--letter-spacing-widest: .1em;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--transition-standard: .3s cubic-bezier(.4, 0, .2, 1);--transition-smooth: .5s cubic-bezier(.4, 0, .2, 1);--header-height: 72px;--sidebar-width: 64px}:root.dark{--color-primary: #ffffff;--color-primary-dark: #e5e5e5;--color-black: #ffffff;--color-white: #1a1a1a;--color-bg: #0d0d0d;--color-surface: #1a1a1a;--color-subtle: #262626;--color-text: #f5f5f5;--color-text-primary: #f5f5f5;--color-text-secondary: #a3a3a3;--color-text-muted: #737373;--color-text-error: #f87171;--color-border: #404040;--color-border-hover: #525252;--color-border-focus: #737373;--color-input-border: #525252;--color-bg-primary: #0d0d0d;--color-bg-secondary: #171717;--color-bg-tertiary: #262626;--color-bg-hover: #262626;--color-accent-green: #6baa6b;--color-accent-purple: #a785b3;--color-accent-pink: #b0b0b0;--color-accent-blue: #7db3cc;--color-accent: #a3a3a3;--color-success: #4ade80;--color-success-light: #14532d;--color-success-dark: #86efac;--color-warning: #fb923c;--color-warning-light: #451a03;--color-error: #f87171;--color-error-light: #450a0a;--color-error-dark: #fca5a5;--color-info: #60a5fa;--color-info-light: #1e3a5f;--color-info-dark: #93c5fd;--shadow-xs: 0 0 0 1px rgba(255, 255, 255, .05);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-base: 0 1px 3px 0 rgba(0, 0, 0, .4), 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -2px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 10px 10px -5px rgba(0, 0, 0, .3);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .6);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .3)}:root.dark body{background:#0d0d0d;color:#f5f5f5}:root.dark ::-webkit-scrollbar-track{background:#262626}:root.dark ::-webkit-scrollbar-thumb{background:#525252}:root.dark ::-webkit-scrollbar-thumb:hover{background:#737373}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary)}.h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:-.02em;line-height:var(--line-height-tight)}.h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:-.01em;line-height:var(--line-height-tight)}.h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.text-body{font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--color-text-primary)}.text-small{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:14px 36px;border:none;border-radius:var(--radius-lg);font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:.5px;cursor:pointer;transition:var(--transition-standard);outline:none;text-decoration:none;text-transform:none}.btn-primary{background:var(--color-primary);color:var(--color-surface)}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 8px 20px #00000026}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:transparent;color:var(--color-primary);border:2px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-primary);color:var(--color-surface);border-color:var(--color-primary);transform:translateY(-2px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn--md{padding:8px 16px;letter-spacing:normal}.card{background:var(--color-white);border:none;border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-base);transition:var(--transition-standard)}.card-hover:hover{transform:translateY(-4px);box-shadow:0 12px 30px #00000014}.input{width:100%;padding:var(--spacing-md) var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-family:var(--font-body);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-white);transition:var(--transition-base);outline:none}.input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #6666661a}.input::placeholder{color:var(--color-text-muted)}.badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px}.badge-success{background:var(--color-success-light);color:var(--color-success-dark)}.badge-warning{background:var(--color-warning-light);color:var(--color-warning)}.badge-error{background:var(--color-error-light);color:var(--color-error-dark)}.badge-info{background:var(--color-info-light);color:var(--color-info-dark)}.badge-pending-approval{background:#f3e8ff;color:#7c3aed}.badge-qc-pending{background:#e0e7ff;color:#4338ca}.badge-revision{background:#fed7aa;color:#9a3412}.badge-qc-revision{background:#fee2e2;color:#991b1b}.badge-client-revision{background:#fef3c7;color:#92400e}.badge-revised{background:#fff3e0;color:#e65100;border:1px solid #ffb74d}.badge-delivered{background:#f3f4f6;color:#374151}.badge-placeholder{background:#f3f4f6;color:#d1d5db}.badge-placeholder:after{display:inline;content:"Loading...";background:linear-gradient(90deg,#d1d5db 25%,#e8eaed,#d1d5db 75%);background-size:200% 100%;animation:badge-ripple 1.5s linear infinite;color:transparent;line-height:1;margin-block:2.75px}@keyframes badge-ripple{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{display:inline-block;height:14px;border-radius:4px;background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6,#e5e7eb 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s linear infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.w-full{width:100%}.btn.w-full{display:flex}.h-full{height:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-subtle)}::-webkit-scrollbar-thumb{background:var(--color-accent);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.animate-slide-in{animation:slideIn var(--transition-smooth)}.animate-fade-in{animation:fadeIn var(--transition-smooth)}.animate-slide-up{animation:slideUp var(--transition-smooth)}.grid-pattern{background-image:linear-gradient(rgba(0,0,0,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.02) 1px,transparent 1px);background-size:20px 20px}.subtle-grid{background-size:40px 40px;opacity:.03}.pattern-dots{background-image:radial-gradient(circle,rgba(0,0,0,.05) 1px,transparent 1px);background-size:20px 20px}.pattern-diagonal{background-image:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(0,0,0,.02) 10px,rgba(0,0,0,.02) 20px)}.accent-text{background:linear-gradient(135deg,var(--color-accent-purple),var(--color-accent-green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.focus-visible:focus{outline:none;ring:2px solid rgba(102,102,102,.4);ring-offset:2px;ring-offset-color:#fbfbfb}:root.dark .badge-pending-approval{background:#4c1d95;color:#c4b5fd}:root.dark .badge-qc-pending{background:#312e81;color:#a5b4fc}:root.dark .badge-revision{background:#7c2d12;color:#fed7aa}:root.dark .badge-qc-revision{background:#7f1d1d;color:#fecaca}:root.dark .badge-client-revision{background:#78350f;color:#fde68a}:root.dark .badge-delivered{background:#374151;color:#d1d5db}:root.dark .badge-placeholder{background:#404040}:root.dark .badge-placeholder:after{color:#525252}:root.dark .card{background:#1a1a1a;border:1px solid #333333}:root.dark .input{background:#1a1a1a;border-color:#404040;color:#f5f5f5}:root.dark .input:focus{border-color:#737373;box-shadow:0 0 0 3px #73737333}:root.dark .input::placeholder{color:#737373}:root.dark .grid-pattern{background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px)}:root.dark .pattern-dots{background-image:radial-gradient(circle,rgba(255,255,255,.08) 1px,transparent 1px)}:root.dark .pattern-diagonal{background-image:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(255,255,255,.03) 10px,rgba(255,255,255,.03) 20px)}:root.dark .focus-visible:focus{ring-offset-color:#0d0d0d}.app-layout{display:flex;flex-direction:column;height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);min-height:var(--header-height);padding:var(--spacing-md) var(--spacing-xl);border-bottom:1px solid var(--color-input-border);background:var(--color-surface)}.brand-container{display:flex;align-items:center;gap:10px;text-decoration:none;transition:opacity var(--transition-base)}.brand-container:hover{opacity:.8}.inform-logo-img{height:32px;width:auto;object-fit:contain}.product-name{font-size:var(--font-size-xl);font-weight:var(--font-weight-normal);color:var(--color-text-secondary)}.env-tag{padding:2px var(--spacing-xs);border:1px solid var(--color-warning);border-radius:var(--radius-base);color:var(--color-warning);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide)}.app-header-actions{display:flex;align-items:center;gap:var(--spacing-md)}.app-main{flex:1;overflow-y:auto;background:var(--color-bg)}.page{max-width:1100px;margin:0 auto;padding:var(--spacing-2xl) var(--spacing-xl)}.page-lede{color:var(--color-text-secondary);margin-bottom:var(--spacing-xl)}.notice{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg)}.notice-warning{background:var(--color-warning-light);color:var(--color-warning)}.notice-error{background:var(--color-error-light);color:var(--color-error-dark)}.notice-success{background:var(--color-success-light);color:var(--color-success-dark)}.notice code{display:block;margin-top:var(--spacing-xs);font-size:var(--font-size-xs);overflow-wrap:anywhere}.notice code+code{opacity:.75}.notice summary{cursor:pointer}.login-main{min-height:100%;display:flex;align-items:center;justify-content:center;padding:var(--spacing-3xl) var(--spacing-lg)}.login-container{width:100%;max-width:420px}.login-form-header{text-align:center;margin-bottom:var(--spacing-2xl)}.login-logo{height:32px;width:auto;object-fit:contain;margin-bottom:var(--spacing-xl)}.login-form-header h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);margin:0 0 var(--spacing-sm)}.login-form-header p{color:var(--color-text-secondary);margin:0}.login-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.email-auth-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.auth-field{display:flex;flex-direction:column;gap:var(--spacing-xs);text-align:left}.auth-field label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.google-signin-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 16px;background:#fff;color:#3c4043;border:1px solid #dadce0;border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-base),box-shadow var(--transition-base)}.google-signin-btn:hover:not(:disabled){background:#f8f9fa;box-shadow:var(--shadow-sm)}.google-signin-btn:disabled{opacity:.6;cursor:not-allowed}.auth-submit-btn{padding:10px 16px;border:none;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-white);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:opacity var(--transition-base)}.auth-submit-btn:hover:not(:disabled){opacity:.9}.auth-submit-btn:disabled{opacity:.5;cursor:not-allowed}.auth-note{color:var(--color-text-secondary);font-size:var(--font-size-sm);text-align:center;margin:0;line-height:1.5}.user-menu-container{position:relative}.user-info{display:flex;align-items:center;gap:var(--spacing-sm);padding:6px 10px;border:none;border-radius:var(--radius-md);background:none;color:var(--color-text-secondary);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background .15s}.user-info:hover{background:var(--color-bg-hover)}.user-menu-chevron{transition:transform var(--transition-base)}.user-menu-chevron.open{transform:rotate(180deg)}.user-menu-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:200px;padding:var(--spacing-xs);border:1px solid var(--color-input-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-md);z-index:50}.user-menu-detail{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:10px 12px;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.logout-button{display:flex;align-items:center;gap:var(--spacing-sm);padding:8px 16px;border:1px solid var(--color-input-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.logout-button:hover{background:var(--color-bg);border-color:var(--color-border-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.spin-slow{animation:spin 2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}:root{--studio-mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--studio-gold: #d9c27a;--studio-blue: #5ea3d9}#app{display:flex;flex-direction:column;height:100vh}#view{flex:1;min-height:0;overflow-y:auto;background:var(--color-bg)}.studio-tabs{display:flex;gap:var(--spacing-xs);padding:0 var(--spacing-xl);border-bottom:1px solid var(--color-input-border);background:var(--color-surface)}.studio-tabs:empty{display:none}.studio-tab{padding:10px 14px;border:none;border-bottom:2px solid transparent;background:none;color:var(--color-text-secondary);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer}.studio-tab:hover:not(:disabled){color:var(--color-text-primary)}.studio-tab.on{color:var(--color-text-primary);border-bottom-color:var(--color-primary)}.studio-tab--disabled{opacity:.5;cursor:default}.studio-tab-soon{margin-left:6px;font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.front-form{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.front-form .input{flex:1;font-family:var(--studio-mono)}.front-scans{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg)}.scan-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-sm) 0;border-top:1px solid var(--color-input-border)}.scan-row-name{font-weight:var(--font-weight-medium)}.scan-row-meta{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.scan-row-meta code{font-family:var(--studio-mono)}.scan-row-actions{display:flex;gap:var(--spacing-xs);flex-wrap:wrap;justify-content:flex-end}.fa-app{display:grid;grid-template-columns:340px 1fr;height:100%;min-height:0}@media(max-width:760px){.fa-app{grid-template-columns:1fr;grid-template-rows:auto 1fr;height:auto;min-height:100%}.fa-app .rail{max-height:60vh}.fa-app .stage{min-height:40vh}}.fa-app .rail{background:var(--color-surface);border-right:1px solid var(--color-input-border);overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:18px;font-size:14px;line-height:1.45}.fa-title{display:flex;align-items:center;gap:8px}.fa-app h1{flex:1;font:600 17px/1.25 var(--font-heading, inherit);margin:0;letter-spacing:-.01em}.fa-app .sub{color:var(--color-text-secondary);font-size:12.5px;margin-top:4px}.fa-app .label,.front-scans .label{font:500 11px/1 inherit;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary)}.fa-app section.block{display:flex;flex-direction:column;gap:8px}.fa-app .storeys{display:flex;flex-direction:column;gap:10px}.fa-app .storey{border:1px solid var(--color-input-border);border-radius:6px;padding:12px;display:flex;flex-direction:column;gap:9px;background:var(--color-bg-secondary)}.fa-app .storey.active{border-color:var(--color-primary)}.fa-app .storey header{display:flex;align-items:center;gap:8px}.fa-app .swatch{width:12px;height:12px;border-radius:2px;flex:none}.fa-app .storey header .name{font:600 13.5px inherit;color:var(--color-text-primary);background:transparent;border:1px solid transparent;border-radius:3px;padding:1px 4px;flex:1;min-width:0}.fa-app .storey header .name:hover,.fa-app .storey header .name:focus{border-color:var(--color-input-border);background:var(--color-bg)}.fa-app .storey header .lvl{font:12px var(--studio-mono);color:var(--color-text-secondary);white-space:nowrap}.fa-app .storey .ref{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-text-secondary);cursor:pointer}.fa-app .storey .ref input{accent-color:var(--color-primary);margin:0}.fa-app .row{display:grid;grid-template-columns:34px 1fr 74px;align-items:center;gap:8px}.fa-app .row .k{font:12px var(--studio-mono);color:var(--color-text-secondary)}.fa-app .row .v{font:12.5px var(--studio-mono);text-align:right;font-variant-numeric:tabular-nums}.fa-app input[type=range]{width:100%;accent-color:var(--color-primary);margin:0}.fa-app .toggles{display:flex;gap:6px;flex-wrap:wrap}.fa-app .rail button,.fa-app .docs button,.fa-app .chip{font:500 12px inherit;color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-input-border);border-radius:4px;padding:5px 9px;cursor:pointer}.fa-app .rail button:hover:not(:disabled){border-color:var(--color-border-hover)}.fa-app .rail button:disabled{opacity:.45;cursor:default}.fa-app .rail button.primary{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.fa-app button:focus-visible,.fa-app input:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:1px}.fa-app .chip.on{background:var(--color-text-primary);color:var(--color-bg);border-color:var(--color-text-primary)}.fa-app .views button.on{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.fa-app .help{color:var(--color-text-secondary);font-size:12px}.fa-app .help kbd{font:11px var(--studio-mono);background:var(--color-bg-tertiary);border:1px solid var(--color-input-border);border-radius:3px;padding:0 4px}.fa-app .stage{position:relative;min-height:0;background:var(--color-bg)}.fa-app canvas.gl{display:block;width:100%;height:100%}.fa-app .status{position:absolute;left:12px;bottom:10px;right:12px;font:12px var(--studio-mono);color:var(--color-text-secondary);background:color-mix(in srgb,var(--color-surface) 80%,transparent);padding:4px 8px;border-radius:4px;pointer-events:none}.fa-app .empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--color-text-secondary);text-align:center;padding:24px;pointer-events:none}.fa-app .empty b{display:block;color:var(--color-text-primary);font-weight:500;font-size:16px;margin-bottom:6px}.fa-app .hist{position:relative;width:100%;height:190px;background:var(--color-bg);border:1px solid var(--color-input-border);border-radius:4px}.fa-app .hist canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:crosshair}.fa-app .cuts{display:flex;flex-direction:column;gap:4px}.fa-app .cut{display:grid;grid-template-columns:1fr auto auto;gap:6px;align-items:center;font:12px var(--studio-mono);color:var(--color-text-secondary)}.fa-app .cut input[type=number]{width:84px;font:12px var(--studio-mono);background:var(--color-bg);color:var(--color-text-primary);border:1px solid var(--color-input-border);border-radius:3px;padding:2px 5px}.fa-app .cut button{padding:2px 7px}.fa-app .fit{font:12px var(--studio-mono);color:var(--color-text-secondary);display:grid;grid-template-columns:auto 1fr;gap:2px 10px}.fa-app .fit b{color:var(--color-text-primary);font-weight:500;font-variant-numeric:tabular-nums}.fa-app .warn{color:var(--color-warning);font-size:12px}.fa-app .field{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:8px;font:12px var(--studio-mono);color:var(--color-text-secondary)}.fa-app .field input{width:100%;font:12.5px var(--studio-mono);background:var(--color-bg);color:var(--color-text-primary);border:1px solid var(--color-input-border);border-radius:3px;padding:4px 6px}.fa-app .push-box{display:flex;flex-direction:column;gap:8px}.fa-app .api-note{font:12px var(--studio-mono);color:var(--color-text-secondary);background:var(--color-bg);border:1px solid var(--color-input-border);border-radius:4px;padding:8px;word-break:break-all}.fa-app .api-note b{color:var(--color-text-primary);font-weight:500}.fa-app .ok{color:var(--color-success-dark)}.fa-app .docs{position:absolute;inset:0;background:color-mix(in srgb,var(--color-bg) 94%,transparent);overflow-y:auto;padding:28px 32px;z-index:5}.fa-app .docs .inner{max-width:68ch;margin:0 auto;display:flex;flex-direction:column;gap:14px}.fa-app .docs h2{font:600 18px/1.3 var(--font-heading, inherit);margin:0;letter-spacing:-.01em}.fa-app .docs h3{font:600 13.5px/1.3 inherit;margin:14px 0 0;color:var(--color-accent-green)}.fa-app .docs p,.fa-app .docs li{font-size:13.5px;line-height:1.55;margin:0}.fa-app .docs ul,.fa-app .docs ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:5px}.fa-app .docs code{font:12px var(--studio-mono);background:var(--color-bg-tertiary);border:1px solid var(--color-input-border);border-radius:3px;padding:0 4px}.fa-app .docs .close{position:sticky;top:0;align-self:flex-end}.fa-app .docs .num{font-variant-numeric:tabular-nums}
