:root,:root[data-theme=dark]{color-scheme:dark;--bg: #0B1220;--bg-elevated: #0F1A30;--bg-surface: #142339;--fg: #E2E8F0;--fg-muted: #94A3B8;--border: #1E2D47;--border-strong: #2A3D5C;--primary: #1E3F73;--on-primary: #F1F5F9;--accent: #C8A96B;--accent-fg: #1A1208;--success: #34D399;--warning: #F59E0B;--danger: #F87171;--link: #C8A96B;--shadow: rgba(0, 0, 0, .5);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 14px;--radius-pill: 999px;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-2xl: 4rem;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", Menlo, Consolas, monospace}:root[data-theme=light]{color-scheme:light;--bg: #F8FAFC;--bg-elevated: #FFFFFF;--bg-surface: #F1F5F9;--fg: #0F172A;--fg-muted: #475569;--border: #E2E8F0;--border-strong: #CBD5E1;--primary: #0F2742;--on-primary: #FFFFFF;--accent: #C8A96B;--accent-fg: #1A1208;--success: #0F8A5F;--warning: #B45309;--danger: #B91C1C;--link: #0F2742;--shadow: rgba(15, 23, 42, .08)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,h5,h6{margin:0 0 var(--space-sm) 0;font-weight:600;line-height:1.2;letter-spacing:-.01em}h1{font-size:2.25rem}h2{font-size:1.75rem}h3{font-size:1.25rem}p{margin:0 0 var(--space-md) 0}button{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}code{font-family:var(--font-mono);background:var(--bg-surface);padding:.125rem .375rem;border-radius:var(--radius-sm);font-size:.875em}html{scroll-behavior:smooth}.coming-soon-layout{--color-dark: #141413;--color-light: #f1eee7;--color-mid-gray: #b0aea5;--color-light-gray: #e3dacb;--color-accent-orange: #d97757;--color-accent-blue: #6a9bcc;--color-accent-green: #788c5d;--color-curtain-peak: #7A1025;--color-curtain-valley: #2B0610;--color-stage: #0a0608;--color-proscenium: #0a0405;background:var(--color-light);color:var(--color-dark);font-family:"Source Serif Pro",Georgia,serif;font-size:16px;line-height:1.6;min-height:100vh;display:flex;flex-direction:column}.coming-soon-layout h1,.coming-soon-layout h2,.coming-soon-layout h3,.coming-soon-layout .cs-sans{font-family:Inter,system-ui,sans-serif;font-weight:600;line-height:1.15;letter-spacing:-.01em}.coming-soon-layout :focus-visible{outline:2px solid var(--color-accent-orange);outline-offset:2px}.cs-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}.cs-nav{position:sticky;top:0;z-index:30;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,5vw);background:transparent;transition:background-color .2s ease,border-color .2s ease,backdrop-filter .2s ease;border-bottom:1px solid transparent}.cs-nav[data-scrolled=true]{background:var(--color-light);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom-color:var(--color-mid-gray)}.cs-nav-wordmark{font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:1.25rem;color:var(--color-dark);text-decoration:none}.cs-nav-buttons{display:flex;gap:12px}.cs-nav-btn{font-family:Inter,system-ui,sans-serif;font-weight:500;font-size:.9375rem;padding:8px 16px;border-radius:999px;border:1px solid var(--color-mid-gray);background:transparent;color:var(--color-dark);text-decoration:none;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease;display:inline-flex;align-items:center;line-height:1.2}.cs-nav-btn:hover,.cs-nav-btn--solid{background:var(--color-dark);color:var(--color-light);border-color:var(--color-dark)}.cs-nav-btn--solid:hover{background:transparent;color:var(--color-dark)}.cs-page-hero{padding:96px max(24px,5vw) 64px;max-width:1280px;margin:0 auto}.cs-page-hero-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:64px;align-items:start}.cs-page-hero-headline{font-family:"Source Serif Pro",Georgia,serif;font-weight:400;font-size:clamp(2.5rem,5.5vw,5rem);line-height:1.05;letter-spacing:-.02em;color:var(--color-dark);margin:0;text-wrap:balance}.cs-page-hero-body{font-family:"Source Serif Pro",Georgia,serif;font-size:1.0625rem;line-height:1.6;color:var(--color-dark);max-width:38ch;margin-top:1rem}.cs-page-hero-body p{margin:0}.cs-hero{position:relative;padding:32px max(24px,5vw) 96px;max-width:1280px;margin:0 auto;display:flex;justify-content:center}.cs-theatre{position:relative;width:100%;max-width:1080px;padding:14px;background:var(--color-proscenium);border-radius:8px;box-shadow:0 10px 40px #00000059}.cs-proscenium-trim{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px;pointer-events:none;box-shadow:inset 0 0 0 1px #2a1418,inset 0 1px #b464501f}.cs-stage{position:relative;width:100%;aspect-ratio:16 / 9;min-height:240px;background:var(--color-stage);overflow:hidden;border-radius:3px;cursor:pointer}.cs-stage:focus-visible{outline:2px solid var(--color-accent-orange);outline-offset:4px}.cs-screen-content{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-stage);color:#fff;font-family:"Source Serif Pro",Georgia,serif;z-index:1;padding:0 24px;text-align:center}.cs-reveal{font-style:italic;font-size:clamp(2.5rem,7vw,5.5rem);line-height:1;margin:0;font-weight:400;letter-spacing:-.02em;color:#fff}.cs-curtain{position:absolute;top:-1px;bottom:-1px;width:52%;line-height:0;font-size:0;transition:transform 1.6s cubic-bezier(.45,0,.2,1);will-change:transform;z-index:2}.cs-curtain--left{left:0}.cs-curtain--right{right:0}.cs-curtain svg{display:block;width:100%;height:100%;vertical-align:bottom}.cs-curtain--right svg{transform:scaleX(-1);transform-origin:center}.cs-curtain:after{content:"";position:absolute;top:0;bottom:0;width:48px;pointer-events:none;z-index:3}.cs-curtain--left:after{right:0;background:linear-gradient(to right,#0000,#0006 60%,#000000b8)}.cs-curtain--right:after{left:0;background:linear-gradient(to left,#0000,#0006 60%,#000000b8)}.cs-stage[data-curtains=open] .cs-curtain--left{transform:translate(-100%)}.cs-stage[data-curtains=open] .cs-curtain--right{transform:translate(100%)}.cs-footlights{position:absolute;left:-4%;right:-4%;bottom:-2%;height:42%;pointer-events:none;z-index:3;background:radial-gradient(ellipse 70% 100% at 50% 100%,rgba(255,185,115,.6) 0%,rgba(255,150,80,.32) 25%,rgba(255,120,60,.12) 55%,transparent 80%);transition:opacity 1.4s ease-out;mix-blend-mode:screen}.cs-stage[data-curtains=open] .cs-footlights{opacity:.18}.cs-marquee{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:10;font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#ffdcb4eb;text-shadow:0 1px 2px rgba(0,0,0,.5);transition:opacity .7s ease-out;pointer-events:none}.cs-stage[data-curtains=open] .cs-marquee{opacity:0}.cs-intro-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;background:#000;z-index:1}.cs-mute-button{position:absolute;bottom:16px;right:16px;z-index:3;padding:6px 10px;background:#0009;color:#faf9f5;border:1px solid rgba(255,255,255,.2);border-radius:6px;font-family:Inter,system-ui,sans-serif;font-size:12px;font-weight:500;cursor:pointer;opacity:0;transition:opacity .2s ease}.cs-stage[data-curtains=open] .cs-mute-button,.cs-stage:hover .cs-mute-button{opacity:1}.cs-mobile-play{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:flex;align-items:center;justify-content:center;background:#0006;color:#faf9f5;border:none;font-size:64px;cursor:pointer;transition:background-color .2s ease}.cs-mobile-play:hover{background:#00000080}@media (hover: hover) and (pointer: fine){.cs-mobile-play{display:none}}.cs-carousel-section{padding:96px max(24px,4vw);background:var(--color-light)}.cs-carousel-shell{position:relative;max-width:1280px;margin:0 auto}.cs-carousel-rail{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:8px 0 24px;scrollbar-width:none}.cs-carousel-rail::-webkit-scrollbar{display:none}.cs-carousel-card{flex:0 0 320px;height:280px;padding:48px;background:var(--color-light);border:1px solid var(--color-light-gray);border-radius:8px;scroll-snap-align:center;display:flex;align-items:center;justify-content:center;text-align:center;font-style:italic;font-size:1.5rem;font-family:"Source Serif Pro",Georgia,serif;color:var(--color-dark);transition:transform .2s ease,box-shadow .2s ease}.cs-carousel-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #14141314}.cs-carousel-chevron{position:absolute;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--color-mid-gray);cursor:pointer;padding:12px;transition:color .2s ease;font-size:24px;line-height:1}.cs-carousel-chevron:hover{color:var(--color-dark)}.cs-carousel-chevron--prev{left:-40px}.cs-carousel-chevron--next{right:-40px}.cs-cta{padding:120px max(24px,4vw);text-align:center;background:var(--color-light);scroll-margin-top:80px}.cs-cta-inner{max-width:640px;margin:0 auto}.cs-cta h2{font-size:2.5rem;margin:0 0 24px;color:var(--color-dark)}.cs-cta-body{font-family:"Source Serif Pro",Georgia,serif;font-style:italic;font-size:1.125rem;color:var(--color-dark);max-width:50ch;margin:0 auto 40px}.cs-cta-form{display:flex;flex-direction:column;gap:16px;align-items:stretch;text-align:left}.cs-cta-row{display:flex;gap:12px;flex-wrap:wrap}.cs-cta-input{flex:1 1 240px;padding:14px;border-radius:6px;border:1px solid var(--color-mid-gray);background:var(--color-light);color:var(--color-dark);font-family:Inter,system-ui,sans-serif;font-size:1rem}.cs-cta-submit{padding:14px 24px;border-radius:6px;border:none;background:var(--color-accent-orange);color:#fff;font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:1rem;cursor:pointer;transition:filter .2s ease,opacity .2s ease}.cs-cta-submit:disabled{opacity:.5;cursor:not-allowed}.cs-cta-submit:not(:disabled):hover{filter:brightness(.95)}.cs-consent-list{display:flex;flex-direction:column;gap:12px;margin-top:8px;text-align:left}.cs-consent-item{display:flex;gap:12px;align-items:flex-start;font-family:Inter,system-ui,sans-serif;font-size:.9375rem;color:var(--color-dark);cursor:pointer;line-height:1.4}.cs-consent-item input{margin-top:3px;flex-shrink:0;accent-color:var(--color-accent-orange)}.cs-cta-success{font-family:"Source Serif Pro",Georgia,serif;font-style:italic;color:var(--color-mid-gray);font-size:1.25rem;text-align:center}.cs-footer{margin-top:auto;padding:80px max(24px,4vw);background:var(--color-light-gray);border-top:1px solid var(--color-mid-gray)}.cs-footer-grid{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr 1fr;gap:48px;align-items:start}.cs-footer-wordmark{font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:1.25rem;color:var(--color-dark);margin:0 0 8px}.cs-footer-tagline{font-family:"Source Serif Pro",Georgia,serif;font-style:italic;color:var(--color-dark);margin:0}.cs-footer-socials{display:flex;gap:16px;justify-content:center}.cs-footer-social{color:var(--color-mid-gray);display:inline-flex;align-items:center;justify-content:center;transition:color .2s ease}.cs-footer-social:hover,.cs-footer-social:focus-visible{color:var(--color-dark)}.cs-footer-contact{text-align:right}.cs-footer-contact h4{font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:1rem;color:var(--color-dark);margin:0 0 8px}.cs-footer-contact a{color:var(--color-dark);text-decoration:underline}.cs-footer-copyright{margin-top:8px;color:var(--color-mid-gray);font-size:.875rem}@media (max-width: 1023px){.cs-carousel-chevron--prev{left:0}.cs-carousel-chevron--next{right:0}}@media (max-width: 767px){.cs-page-hero{padding:48px 16px 32px}.cs-page-hero-grid{grid-template-columns:1fr;gap:24px}.cs-page-hero-headline{font-size:clamp(2rem,9vw,3.25rem)}.cs-page-hero-body{margin-top:0}.cs-hero{padding:24px 16px 64px}.cs-theatre{padding:10px}.cs-stage{cursor:default}.cs-carousel-chevron{display:none}.cs-cta{padding:80px 16px}.cs-cta-submit{width:100%}.cs-consent-list{gap:16px}.cs-footer-grid{grid-template-columns:1fr;gap:32px;text-align:center}.cs-footer-socials{justify-content:center}.cs-footer-contact{text-align:center}.cs-nav-buttons .cs-nav-btn{padding:6px 12px;font-size:.875rem}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.cs-curtain,.cs-footlights,.cs-marquee{transition:none!important}.cs-stage[data-curtains=open] .cs-curtain--left{transform:translate(-100%)}.cs-stage[data-curtains=open] .cs-curtain--right{transform:translate(100%)}.cs-carousel-card,.cs-cta-submit,.cs-footer-social,.cs-nav,.cs-nav-btn{transition:none!important}}.flipai-app{--bg: #f1eee7;--bg-elevated: #e3dacb;--bg-subtle: #ebe6dd;--bg-dark: #141413;--fg: #1a1a1a;--fg-muted: #4a4a4a;--fg-subtle: #7a7a7a;--fg-inverse: #faf9f5;--accent: #B85C38;--accent-hover: #A04E2E;--accent-subtle: #f3e5dc;--success: #3d5a40;--success-subtle: #e2eae3;--warning: #b8860b;--warning-subtle: #f5ebd0;--danger: #8b2e2e;--danger-subtle: #f2dcdc;--border: #d8d2c5;--border-strong: #c9c2b5;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-2xl: 4rem;--space-3xl: 6rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-xl: 20px;--font-serif: "Source Serif Pro", "Tiempos", Georgia, serif;--font-sans: "Inter", "Styrene", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "IBM Plex Mono", Menlo, monospace;background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}.flipai-app h1,.flipai-app h2,.flipai-app h3,.flipai-app h4{font-family:var(--font-serif);font-weight:500;letter-spacing:-.01em;margin:0}.flipai-app h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.05}.flipai-app h2{font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.15}.flipai-app h3{font-size:1.5rem;line-height:1.3}.flipai-app h4{font-size:1.125rem;line-height:1.4}.flipai-app button{font-family:var(--font-sans);cursor:pointer}.flipai-app code,.flipai-app pre{font-family:var(--font-mono)}.flipai-app{display:flex;min-height:100vh}.fa-nav{width:260px;flex:0 0 260px;height:100vh;position:sticky;top:0;background:var(--bg-elevated);border-right:1px solid var(--border);display:flex;flex-direction:column}.fa-nav-brand{padding:1.5rem;font-family:var(--font-serif);font-size:1.5rem;font-weight:500;color:var(--fg);text-decoration:none}.fa-nav-items{display:flex;flex-direction:column;flex:1;overflow-y:auto}.fa-nav-link{padding:.875rem 1.5rem;color:var(--fg-muted);text-decoration:none;border-left:2px solid transparent;font-size:.9375rem;transition:background .12s ease,color .12s ease}.fa-nav-link:hover{background:var(--bg-subtle);text-decoration:none}.fa-nav-link.is-active{color:var(--fg);border-left-color:var(--accent);background:var(--bg-subtle);font-weight:500}.fa-nav-foot{padding:1.5rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:var(--space-xs)}.fa-nav-user{font-size:.8125rem;color:var(--fg-subtle)}.fa-nav-logout{font-size:.875rem;color:var(--fg-muted);background:none;border:none;padding:0;text-align:left;cursor:pointer}.fa-nav-logout:hover{color:var(--accent);text-decoration:underline}.fa-main{flex:1;min-width:0;background:var(--bg);overflow-y:auto;height:100vh}.fa-main-inner{max-width:1280px;padding:var(--space-xl) var(--space-2xl);margin:0 auto}.fa-main-inner--full{max-width:none;padding:0;margin:0}.fa-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-size:.9375rem;font-weight:500;border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);border:1px solid transparent;text-decoration:none;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.fa-btn--primary{background:var(--accent);color:var(--fg-inverse)}.fa-btn--primary:hover{background:var(--accent-hover);text-decoration:none}.fa-btn--outline{background:transparent;color:var(--fg);border-color:var(--border-strong)}.fa-btn--outline:hover{background:var(--bg-subtle);text-decoration:none}.fa-btn--pill{border-radius:var(--radius-pill, 999px);padding:var(--space-sm) var(--space-lg)}.fa-btn--ghost-light{background:transparent;color:var(--fg-inverse);border-color:#faf9f580}.fa-btn--ghost-light:hover{background:#faf9f51a;text-decoration:none}.fa-btn--cream{background:var(--fg-inverse);color:var(--bg-dark)}.fa-btn--cream:hover{background:#ece9e1;text-decoration:none}.fa-pill{display:inline-flex;align-items:center;font-size:.8125rem;font-weight:500;padding:.1875rem .625rem;border-radius:var(--radius-pill, 999px);white-space:nowrap}.fa-pill--success{background:var(--success-subtle);color:var(--success)}.fa-pill--warning{background:var(--warning-subtle);color:var(--warning)}.fa-pill--danger{background:var(--danger-subtle);color:var(--danger)}.fa-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg)}.fa-table{width:100%;border-collapse:collapse;font-size:.9375rem}.fa-table th,.fa-table td{text-align:left;padding:.625rem .75rem;border-bottom:1px solid var(--border)}.fa-table td.num,.fa-table th.num{text-align:right;font-variant-numeric:tabular-nums}.fa-table tfoot td{font-weight:600;border-bottom:none;border-top:2px solid var(--border-strong)}.fa-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md)}.fa-gallery img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius-md);transition:transform .15s ease}.fa-gallery img:hover{transform:scale(1.02)}.fa-two-up{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl)}.fa-three-up{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}.fa-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}@media (max-width: 900px){.fa-two-up,.fa-three-up,.fa-grid-2{grid-template-columns:1fr}.fa-gallery{grid-template-columns:repeat(2,1fr)}.fa-hero-cols{grid-template-columns:1fr!important}.fa-nav{display:none}}.fa-textarea{width:100%;min-height:400px;background:#fff;font-family:var(--font-sans);font-size:.9375rem;line-height:1.6;padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--fg);resize:vertical}.fa-textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.fa-dropzone{background:var(--bg-elevated);border:2px dashed var(--border);border-radius:var(--radius-lg);padding:var(--space-2xl);text-align:center;color:var(--fg-muted);transition:border-color .12s ease,background .12s ease}.fa-dropzone.is-drag{border-color:var(--accent);background:var(--accent-subtle)}.fa-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1414138c;display:flex;align-items:center;justify-content:center;z-index:50}.fa-modal{background:var(--bg);border-radius:var(--radius-xl);padding:var(--space-2xl);text-align:center;max-width:380px}.fa-section+.fa-section{margin-top:var(--space-3xl)}.fa-section h2{margin-bottom:var(--space-sm)}.infra{background:#faf9f5;color:#141413;min-height:100%;padding:2.5rem 2.5rem 3rem;font-family:"Source Serif Pro","Source Serif 4",Georgia,serif}.infra h1,.infra h2,.infra h3{font-family:Inter,system-ui,-apple-system,sans-serif;font-weight:600;letter-spacing:-.01em;color:#141413}.infra__header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem}.infra__title{margin:0;font-size:1.5rem}.infra__subtitle{margin:0;font-size:.9rem;color:#5a2329}.infra__clock{display:flex;flex-direction:column;align-items:center;text-align:center;flex:0 0 auto;white-space:nowrap;background:#0a0f0a;border:1px solid #1d2a1d;border-radius:10px;padding:.5rem 1.1rem .55rem;box-shadow:inset 0 0 14px #0009}.infra__clock-time{font-family:DSEG7,ui-monospace,SF Mono,Consolas,Courier New,monospace;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";font-size:2.6rem;font-weight:700;line-height:1;letter-spacing:.06em;color:#39ff14;text-shadow:0 0 6px rgba(57,255,20,.65),0 0 14px rgba(57,255,20,.35)}.infra__clock-time--down{color:#ff5b5b;text-shadow:0 0 6px rgba(255,91,91,.6)}.infra__clock-label{font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:.7rem;letter-spacing:.04em;color:#4caf50;margin-top:.3rem;text-transform:uppercase}.infra__clock-label--warn{color:#ffb300;font-weight:700}.infra__clock-label--down{color:#ff5b5b;font-weight:700}.infra__cap{margin-bottom:.3rem}.infra__cap-row{display:grid;grid-template-columns:2.6rem 1fr;align-items:center;gap:.4rem;margin-bottom:.2rem}.infra__cap-label{font-size:.68rem;color:#5a626c;font-weight:600}.infra__cap-track{position:relative;height:12px;border-radius:6px;background:#e6e8eb;border:1px solid #d2d6db;overflow:hidden}.infra__cap-fill{height:100%;transition:width .4s ease}.infra__cap-fill--green{background:#34c759}.infra__cap-fill--orange{background:#ff9500}.infra__cap-fill--red{background:#ff3b30}.infra__cap-text{font-size:.7rem;color:#5a626c;font-variant-numeric:tabular-nums;margin-top:.15rem}.infra__cap-warn{font-size:.7rem;color:#b00020;font-weight:700;margin-top:.15rem}.infra__cap-offline{font-size:.75rem;color:#9aa3ad;font-weight:600}.infra__cell--muted{color:#b6bcc4;text-align:center}.infra__nas-gauge{margin-bottom:.4rem}.infra__nas-bar{height:10px;border-radius:5px;background:#e6e8eb;overflow:hidden;border:1px solid #d2d6db}.infra__nas-fill{height:100%;transition:width .4s ease}.infra__nas-fill--green{background:#34c759}.infra__nas-fill--orange{background:#ff9500}.infra__nas-fill--red{background:#ff3b30}.infra__nas-stats{font-size:.72rem;color:#5a626c;margin-top:.2rem;font-variant-numeric:tabular-nums}.infra__nas-warn{font-size:.72rem;color:#b00020;font-weight:600;margin-top:.15rem}.infra__nas-offline{font-size:.75rem;color:#9aa3ad;font-weight:600}.infra__loading,.infra__error{background:#fff;border:1px solid rgba(20,20,19,.15);border-radius:8px;padding:1rem 1.25rem;font-family:"Source Serif Pro",Georgia,serif}.infra__error{color:#5a2329;border-color:#5a2329;background:#fbeceb}.infra__roles-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:1rem;font-family:Inter,system-ui,sans-serif;font-size:.8rem}.infra__roles-label{color:#5a2329;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-right:.2rem}.infra__role-chip{background:#f3efe6;border:1px solid rgba(20,20,19,.15);border-radius:999px;padding:.1rem .55rem}.infra__connections{margin-bottom:1.25rem}.infra__conn-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.infra__conn-card{background:#fff;border:1px solid rgba(20,20,19,.15);border-radius:8px;padding:1rem 1.25rem}.infra__conn-card h3{margin:0 0 .4rem;font-family:Inter,system-ui,sans-serif;font-size:1rem}.infra__conn-hint{margin:0 0 .75rem;font-family:Inter,system-ui,sans-serif;font-size:.78rem;color:#5a2329;line-height:1.4}.infra__conn-card label{display:flex;flex-direction:column;gap:.2rem;font-family:Inter,system-ui,sans-serif;font-size:.78rem;color:#141413;margin-bottom:.6rem}.infra__conn-card input[type=text],.infra__conn-card input[type=password]{font:inherit;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;padding:.4rem .5rem;border:1px solid rgba(20,20,19,.25);border-radius:6px;background:#fff}.infra__conn-check{flex-direction:row!important;align-items:center;gap:.4rem!important}.infra__conn-actions{display:flex;gap:.5rem;margin-top:.25rem}.infra__conn-msg{margin-top:.75rem;font-family:Inter,system-ui,sans-serif;font-size:.82rem;color:#5a2329}.infra__conn-vault{margin-top:1rem}.infra__cred-list{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-direction:column;gap:.4rem}.infra__cred-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.5rem .6rem;border:1px solid rgba(20,20,19,.12);border-radius:6px;background:#faf9f5;font-family:Inter,system-ui,sans-serif;font-size:.8rem}.infra__cred-meta{color:#5a2329}.infra__cred-secret{margin-left:.5rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#8a7a55}.infra__cred-notes{margin-top:.2rem;color:#5a2329;font-size:.75rem}.infra__cred-add{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.infra__cred-add input{font:inherit;font-family:Inter,system-ui,sans-serif;font-size:.8rem;padding:.4rem .5rem;border:1px solid rgba(20,20,19,.25);border-radius:6px;flex:1 1 9rem;min-width:7rem}.infra__build-panel{margin-bottom:1.25rem;border:1px solid rgba(20,20,19,.12);border-radius:8px;background:#0f172a;color:#e2e8f0;padding:.75rem 1rem}.infra__build-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem}.infra__build-head strong{flex:1}.infra__build-badge{font-size:.7rem;padding:.1rem .55rem;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}.infra__build-badge--pending{background:#475569;color:#fff}.infra__build-badge--running{background:#d97706;color:#fff}.infra__build-badge--succeeded{background:#16a34a;color:#fff}.infra__build-badge--failed{background:#dc2626;color:#fff}.infra__build-log{max-height:340px;overflow:auto;background:#0b1220;color:#cbd5e1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;padding:.6rem;border-radius:6px;white-space:pre-wrap;margin:0}.infra__btn--build{background:#1d4ed8;color:#fff;border-color:#1d4ed8;margin-right:.3rem}.infra__diagram{margin-bottom:1.25rem;border:1px solid rgba(20,20,19,.12);border-radius:8px;background:#fff;padding:1rem 1.25rem;font-family:Inter,system-ui,sans-serif}.infra__diag-head{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.6rem}.infra__diag-sub{font-size:.78rem;color:#8a7a55;flex:1}.infra__diag-legend{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.9rem}.infra__diag-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.8rem}.infra__diag-grouplbl{font-size:.75rem;color:#5a2329;margin-right:.3rem}.infra__diag-hosts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem;margin-bottom:.8rem}.infra__diag-host{border:1px solid rgba(20,20,19,.18);border-radius:8px;padding:.5rem .6rem;background:#faf9f5}.infra__diag-host--down{opacity:.5}.infra__diag-host-title{font-weight:600;font-size:.82rem;margin-bottom:.4rem}.infra__diag-vms{display:flex;flex-wrap:wrap;gap:.4rem}.infra__diag-empty{color:#9aa3ad}.infra__diag-chip{display:inline-flex;flex-direction:column;gap:.05rem;border-radius:6px;padding:.25rem .5rem;font-size:.75rem;border:1.5px solid transparent}.infra__diag-name{font-weight:600}.infra__diag-ip{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;opacity:.8}.infra__diag--confirmed{background:#16a34a;color:#fff}.infra__diag--unconfirmed{background:#dcfce7;color:#14532d;border-style:dashed;border-color:#4ade80}.infra__diag--planned{background:#fef9c3;color:#713f12;border-style:dotted;border-color:#d97706}.infra__diag--drift{background:#e5e7eb;color:#374151}.infra__diag--backbone{background:#1f2937;color:#fff}.infra__diag--decommissioning{background:#1c1c1c;color:#fff}.infra__diag-household{margin-top:.4rem;padding:.5rem .75rem;border-radius:8px;background:#f3efe6;color:#5a2329;font-size:.82rem;display:inline-block}.infra__table-wrap{overflow-x:auto;border:1px solid rgba(20,20,19,.12);border-radius:8px;background:#fff}.infra__table{border-collapse:collapse;width:100%;min-width:1280px;font-size:.88rem}.infra__table thead th{text-align:left;font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;padding:.6rem .65rem;background:#f3efe6;border-bottom:1px solid rgba(20,20,19,.12);color:#5a2329;white-space:nowrap}.infra__table tbody td{padding:.45rem .5rem;border-bottom:1px solid rgba(20,20,19,.06);vertical-align:top;font-family:"Source Serif Pro",Georgia,serif;font-size:.88rem}.infra__table tbody tr:hover{background:#fbf8f0}.infra__cell{position:relative}.infra__cell input,.infra__cell select,.infra__cell textarea{width:100%;border:1px solid transparent;background:transparent;font:inherit;color:inherit;padding:.3rem .4rem;border-radius:4px;resize:vertical;box-sizing:border-box}.infra__cell input:focus,.infra__cell select:focus,.infra__cell textarea:focus{outline:none;border-color:#d97757;background:#fff;box-shadow:0 0 0 2px #d977572e}.infra__cell--num input{font-variant-numeric:tabular-nums}.infra__table thead th:nth-child(5),.infra__table thead th:nth-child(6),.infra__table thead th:nth-child(7),.infra__cell--num{width:5rem}.infra__cell--num input{max-width:5rem}.infra__table thead th:nth-child(8),.infra__table tbody td:nth-child(8){min-width:150px}.infra__table thead th:nth-child(12),.infra__comment{width:36%;min-width:320px}.infra__comment textarea{width:100%}.infra__cell-error{margin-top:.25rem;font-family:Inter,system-ui,sans-serif;font-size:.75rem;color:#5a2329;background:#fbeceb;border:1px solid rgba(90,35,41,.25);padding:.25rem .4rem;border-radius:4px}.infra__cell-suggestion{margin-top:.25rem;font-family:Inter,system-ui,sans-serif;font-size:.78rem;background:#fff5ee;border:1px solid #d97757;padding:.4rem .5rem;border-radius:4px;display:flex;flex-direction:column;gap:.3rem}.infra__suggestion-actions{display:flex;gap:.4rem}.infra__cell-spinner{margin-top:.25rem;font-family:Inter,system-ui,sans-serif;font-size:.72rem;color:#5a2329}.infra__state{display:inline-block;padding:.25rem .55rem;border-radius:4px;font-family:Inter,system-ui,sans-serif;font-size:.78rem;font-weight:600;color:#141413}.infra__state--Active{background:#4ade80}.infra__state--Planned{background:#fde047}.infra__state--Locked{background:#fb923c}.infra__state--Decommissioned{background:#9ca3af}.infra__state-select{width:100%;border:1px solid transparent;padding:.3rem .4rem;font:inherit;background:transparent;border-radius:4px;color:inherit;font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:.78rem}.infra__state-select option{color:#141413}.infra__state-cell--Planned{background:#fde047}.infra__state-cell--Active{background:#4ade80}.infra__state-cell--Standby{background:#fb923c}.infra__state-cell--Production{background:#ef4444;color:#fff}.infra__state-cell--Decommissioning{background:#1c1c1c;color:#fff}.infra__state-cell--Decommissioned{background:#d4d4d4}.infra__state-cell--External{background:#2563eb;color:#fff}.infra__state-cell--Locked{background:#ef4444;color:#fff}.infra__depends-chips{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center}.infra__chip{display:inline-flex;align-items:center;gap:.25rem;background:#f3efe6;border:1px solid rgba(20,20,19,.15);border-radius:999px;padding:.1rem .45rem;font-family:Inter,system-ui,sans-serif;font-size:.75rem}.infra__chip-remove{border:none;background:transparent;cursor:pointer;font-size:.85rem;line-height:1;color:#5a2329;padding:0}.infra__chip-add{border:1px dashed rgba(20,20,19,.3);background:transparent;border-radius:999px;padding:.1rem .45rem;font-family:Inter,system-ui,sans-serif;font-size:.75rem;cursor:pointer}.infra__usedby{font-family:Inter,system-ui,sans-serif;font-size:.78rem;color:#5a2329;display:inline-flex;flex-wrap:wrap;gap:.25rem}.infra__usedby-chip{background:transparent;border:1px solid rgba(90,35,41,.3);color:#5a2329;border-radius:999px;padding:.05rem .4rem}.infra__comment textarea{min-width:240px;min-height:3.4rem;font-family:"Source Serif Pro",Georgia,serif;line-height:1.4}.infra__comment-source{margin-top:.2rem;font-family:Inter,system-ui,sans-serif;font-size:.7rem;letter-spacing:.03em;text-transform:uppercase;color:#8a7a55}.infra__actions-row{margin-top:1.25rem;display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.infra__poll-meta{font-family:Inter,system-ui,sans-serif;font-size:.78rem;color:#8a7a55}.infra__reach{margin-top:.25rem;font-family:Inter,system-ui,sans-serif;font-size:.72rem;font-weight:600;display:inline-block}.infra__reach--up{color:#15803d}.infra__reach--down{color:#b91c1c}.infra__reach--unknown{color:#9aa3ad}.infra__btn{font-family:Inter,system-ui,sans-serif;font-size:.85rem;border:1px solid rgba(20,20,19,.2);background:#fff;color:#141413;padding:.45rem .85rem;border-radius:6px;cursor:pointer}.infra__btn:hover:not(:disabled){background:#f3efe6}.infra__btn:disabled{opacity:.5;cursor:not-allowed}.infra__btn--primary{background:#d97757;border-color:#d97757;color:#fff}.infra__btn--primary:hover:not(:disabled){background:#c46645;border-color:#c46645}.infra__btn--danger{border-color:#5a2329;color:#5a2329;background:transparent;font-size:.78rem;padding:.3rem .6rem}.infra__btn--danger:hover:not(:disabled){background:#5a2329;color:#fff}.infra__btn--ghost{font-size:.78rem;padding:.3rem .6rem}.infra__nav{display:flex;gap:.6rem;align-items:center;padding:.6rem 1.5rem;background:#1c1f24;border-bottom:1px solid #2d3138}.infra__nav-link{font-family:Inter,system-ui,sans-serif;font-size:.85rem;background:transparent;color:#e6e8eb;border:1px solid transparent;padding:.35rem .7rem;border-radius:6px;cursor:pointer}.infra__nav-link--active{border-color:#d97757;color:#fff}.infra__nav-link:hover{background:#2a2e35}.infra__setup{padding:3rem 1.5rem;display:flex;justify-content:center;background:#faf9f5;min-height:100%}.infra__setup-card{max-width:520px;width:100%;background:#fff;border:1px solid rgba(20,20,19,.12);border-radius:8px;padding:1.5rem 1.75rem;color:#141413;font-family:"Source Serif Pro",Georgia,serif}.infra__setup-card h2{margin:0 0 .6rem;font-family:Inter,system-ui,sans-serif}.infra__setup-card p{margin:0 0 1rem;line-height:1.5}.infra__setup-card code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f3efe6;padding:.05rem .3rem;border-radius:3px;font-size:.85em}.infra__setup-label{display:flex;flex-direction:column;gap:.3rem;font-family:Inter,system-ui,sans-serif;font-size:.85rem;margin-bottom:.75rem}.infra__setup-label input{padding:.55rem .7rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;border:1px solid rgba(20,20,19,.25);border-radius:6px;background:#fff}.infra__setup-error{background:#fbeceb;border:1px solid #5a2329;color:#5a2329;font-family:Inter,system-ui,sans-serif;padding:.4rem .6rem;border-radius:4px;font-size:.8rem;margin-bottom:.6rem}.infra__confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14141366;display:flex;align-items:center;justify-content:center;z-index:1000}.infra__confirm-card{background:#fff;color:#141413;border-radius:8px;padding:1.25rem 1.5rem;max-width:400px;font-family:"Source Serif Pro",Georgia,serif}.infra__confirm-card h3{margin:0 0 .5rem;font-family:Inter,system-ui,sans-serif}.infra__confirm-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.infra__role-add{display:flex;gap:.3rem;margin-top:.3rem}.infra__role-add input{font:inherit;border:1px solid rgba(20,20,19,.25);padding:.25rem .45rem;border-radius:4px}.infra__delete-cell{padding-left:0!important;width:1%;white-space:nowrap}
