/* Generated from app.css. Edit the owned source modules, not this bundle. */

/* ==========================================================================
   Source: foundation.css
   ========================================================================== */
/* ==========================================================================
   Vira AI — Canonical Product Design Foundation
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&family=Source+Sans+3:wght@400;500;600;700&display=swap');

@keyframes messageIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes cardPop{from{opacity:0;transform:scale(.985) translateY(8px)}to{opacity:1;transform:none}}
@keyframes typing{0%,60%,100%{transform:translateY(0);opacity:.35}30%{transform:translateY(-3px);opacity:1}}
@keyframes scanBar{0%{width:8%}50%{width:90%}100%{width:8%}}
@keyframes linePulse{50%{opacity:.35;transform:scaleX(.93)}}
@keyframes dash{to{background-position:60px}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(166,77,50,.24)}70%{box-shadow:0 0 0 10px rgba(166,77,50,0)}100%{box-shadow:0 0 0 0 rgba(166,77,50,0)}}
@keyframes float{50%{transform:translateY(-5px)}}
@keyframes dataTravel{0%{left:90px;top:125px}45%,55%{left:49%;top:65px}100%{left:82%;top:194px}}
@keyframes orbPulse{50%{transform:scale(1.04);opacity:.45}}
@keyframes toastIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes pageIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes authSpin{to{transform:rotate(360deg)}}
@keyframes v7PageIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes v7ModalIn{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}
@keyframes v71FadeIn{from{opacity:0}to{opacity:1}}
@keyframes v71MenuIn{from{opacity:0;transform:translateY(-4px) scale(.99)}to{opacity:1;transform:none}}
@keyframes v71ProgressShine{to{transform:translateX(100%)}}
@keyframes runtimeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes routerPulse{0%{transform:scale(.9);opacity:.65}100%{transform:scale(1.08);opacity:0}}
@keyframes loadBreath{50%{filter:saturate(1.15);opacity:.72}}
@keyframes dashFlow{to{stroke-dashoffset:-140}}
@keyframes statusPulse{50%{opacity:.38}}
@keyframes sceneIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes genProgress{from{width:0}to{width:100%}}
@keyframes orbitPulse{0%,100%{opacity:.2;transform:scale(.96)}50%{opacity:.55;transform:scale(1.03)}}
@keyframes particleTravel{0%{transform:translate(0,0);opacity:0}15%{opacity:1}50%{transform:translate(130px,48px);opacity:1}100%{transform:translate(245px,-15px);opacity:0}}

/* --------------------------------------------------------------------------
   1. Design System & CSS Variables
   -------------------------------------------------------------------------- */

:root {
  --font-sans:"Hanken Grotesk",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-reading:"Source Sans 3",var(--font-sans);
  --font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --display:var(--font-sans);
  --font-display:var(--display);

  --brand-950:#051a0f;
  --brand-800:#173527;
  --brand-600:#355848;
  --brand-500:#4f715f;
  --brand-300:#8ba895;
  --brand-200:#b4ccbb;
  --brand-100:#dce9df;
  --brand-50:#f3f7f3;

  --bg:#faf9f5;
  --surface:#fffdf9;
  --surface-1:var(--surface);
  --surface-2:#f2f0e9;
  --surface-3:#e8e5dc;
  --ink:#132119;
  --muted:#5c665f;
  --faint:#7d857f;
  --line:#dedbd1;
  --line-strong:#c8c3b7;
  --border:var(--line);
  --accent:#a64d32;
  --accent-dark:#833a26;
  --lime:#dfe9df;
  --lav:#f0e1db;
  --gold:#efe2c5;
  --sky:#dbe8e4;
  --green:#2d6a4f;
  --red:#a84d44;
  --blue:#3f6f6d;

  --sidebar:260px;
  --topbar:64px;
  --radius:8px;
  --radius-sm:5px;
  --radius-lg:16px;
  --shadow:0 18px 48px rgba(19,33,25,.065);
  --shadow-sm:0 6px 18px rgba(19,33,25,.05);
  --shadow-xs:0 1px 3px rgba(19,33,25,.055);
  --ease:cubic-bezier(.2,.75,.25,1);

  --workspace-max:1280px;
  --workspace-readable:900px;
  --workspace-rail:260px;
  --workspace-gap:clamp(12px,1.6vw,20px);
  --account-max:1280px;
  --account-rail:236px;
  --account-gap:clamp(16px,2vw,26px);
  --account-soft:color-mix(in srgb,var(--surface-2) 78%,transparent);
  --account-line:color-mix(in srgb,var(--line) 90%,transparent);
  --account-readable:760px;

  --vira-mark-bg:var(--ink);
  --vira-mark-left:var(--brand-300);
  --vira-mark-center:#f1f5f1;
  --vira-mark-right:var(--brand-200);
}

:root.dark-theme,html.dark-theme,html[data-theme="dark"] {
  --bg:#0e120f;
  --surface:#151a16;
  --surface-1:var(--surface);
  --surface-2:#1d241f;
  --surface-3:#283029;
  --ink:#f2f4ef;
  --muted:#aab2aa;
  --faint:#7c867d;
  --line:#2c352e;
  --line-strong:#414b43;
  --border:var(--line);
  --accent:#c66c4f;
  --accent-dark:#de8060;
  --lime:#293a2d;
  --lav:#392923;
  --gold:#3b321f;
  --sky:#243936;
  --green:#62a57f;
  --red:#d77569;
  --blue:#69a6a1;
  --shadow:0 18px 48px rgba(0,0,0,.42);
  --shadow-sm:0 6px 18px rgba(0,0,0,.3);
  --shadow-xs:0 1px 3px rgba(0,0,0,.28);
}

/* --------------------------------------------------------------------------
   2. CSS Reset & Typography Core
   -------------------------------------------------------------------------- */

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);line-height:1.52;-webkit-font-smoothing:antialiased;font-size:15px;letter-spacing:-.006em}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
::selection{background:color-mix(in srgb,var(--brand-200) 72%,transparent);color:var(--ink)}

input[type=range]{-webkit-appearance:none;width:100%;height:5px;background:var(--line-strong);border-radius:999px;outline:none;accent-color:var(--accent)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--ink);border:2px solid var(--surface);cursor:pointer;box-shadow:var(--shadow-xs);transition:transform .14s var(--ease)}
input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.08)}

body[data-density="compact"] .app-page .card{padding-top:16px;padding-bottom:16px}
body[data-density="compact"] .setting-row{padding-top:11px;padding-bottom:11px}

button,a,input,textarea,select{outline:none}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid color-mix(in srgb,var(--brand-600) 58%,transparent);outline-offset:3px}
button,a,.card,.prompt-card,.tool-card,.studio-product,.pricing-card,.plan-card-app,.history-item{-webkit-tap-highlight-color:transparent}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ==========================================================================
   Source: design-tokens.css
   ========================================================================== */
/* --------------------------------------------------------------------------
   Vira design tokens — semantic layer

   Foundation owns the existing runtime primitives. This file names the
   approved Stitch vocabulary without duplicating component geometry. Feature
   owners consume semantic tokens; raw palette values stay here or in the
   foundation fallback layer.

   Lifecycle: STABLE for semantic roles; ADOPT for new component aliases.
   -------------------------------------------------------------------------- */

:root {
  /* Palette primitives: parchment, forest ink, terracotta and sage. */
  --palette-parchment: #faf9f5;
  --palette-parchment-surface: #fffdf9;
  --palette-forest-ink: #132119;
  --palette-forest-deep: #051a0f;
  --palette-forest-soft: #355848;
  --palette-sage: #4f715f;
  --palette-sage-soft: #dce9df;
  --palette-terracotta: #a64d32;
  --palette-terracotta-strong: #833a26;

  /* Semantic surfaces and content. These resolve through theme-aware legacy
     foundation values so this adoption is visually reversible. */
  --color-bg-canvas: var(--bg);
  --color-surface-primary: var(--surface);
  --color-surface-secondary: var(--surface-2);
  --color-surface-tertiary: var(--surface-3);
  --color-surface-sidebar: #f4f3ef;
  --color-surface-sidebar-active: #e5e4e0;
  --color-text-primary: var(--ink);
  --color-text-muted: var(--muted);
  --color-text-faint: var(--faint);
  --color-text-on-accent: #fff;
  --color-border-subtle: var(--line);
  --color-border-strong: var(--line-strong);
  --color-action-primary: var(--brand-950);
  --color-action-primary-hover: var(--brand-800);
  --color-action-accent: var(--accent);
  --color-action-accent-hover: var(--accent-dark);
  --color-feedback-success: var(--green);
  --color-feedback-danger: var(--red);
  --color-focus-ring: color-mix(in srgb, var(--brand-600) 58%, transparent);
  --color-overlay-scrim: rgba(23, 24, 23, .45);

  /* 8px rhythm; 4px is reserved for tight icon/text pairings. */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;

  /* Hanken is the product display/body family; reading and mono retain their
     existing specialized roles. */
  --font-family-display: var(--font-display);
  --font-family-reading: var(--font-reading);
  --font-family-mono: var(--font-mono);
  --text-size-xs: 12px;
  --text-size-sm: 14px;
  --text-size-body: 15px;
  --text-size-lg: 18px;
  --text-size-xl: 20px;
  --text-size-2xl: 24px;
  --text-size-3xl: 30px;
  --text-size-4xl: 36px;
  --text-size-5xl: 48px;

  /* Stitch radius contract: compact controls and quiet panels stay in the
     4–8px family; pills remain an explicit semantic exception. */
  --radius-tight: 4px;
  --radius-control: 8px;
  --radius-surface: 8px;
  --radius-pill: 999px;
  --border-width-default: 1px;

  /* Accessibility and motion tokens are available to every owner. */
  --touch-target-min: 44px;
  --focus-ring-width: 3px;
  --focus-ring-offset: 3px;
  --motion-duration-fast: 150ms;
  --motion-duration-standard: 180ms;
  --motion-duration-reduced: 0ms;
  --motion-ease-standard: var(--ease);
  --shadow-surface: var(--shadow);
}

html[data-theme="dark"], html.dark-theme {
  color-scheme: dark;
  --color-surface-sidebar: #121713;
  --color-surface-sidebar-active: #1d241f;
}

html[data-theme="light"] {
  color-scheme: light;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --motion-duration-fast: var(--motion-duration-reduced);
    --motion-duration-standard: var(--motion-duration-reduced);
  }
}

/* ==========================================================================
   Source: public-surface.css
   ========================================================================== */
/* --------------------------------------------------------------------------
   3. Public Navigation & Hero Surface
   Canonical owner for the shared Vira public shell and public home.
   -------------------------------------------------------------------------- */
/* Public surface: one editorial system shared by Home, Catalog, Vira UI,
   Studios, Plans and Docs. This replaces the former green product-demo skin. */
:root{--public-paper:#f6f4ef;--public-ink:#1e1d1a;--public-muted:#68645d;--public-rule:#d8d3ca;--public-rust:#a94f38;--public-tint:#ebe7df;--public-serif:Georgia,"Times New Roman",serif}
html.public-stable,html.public-stable body{width:100%;max-width:100%;overflow-x:hidden;background:var(--public-paper)}
html.public-stable .landing,html.public-stable .public-product-page,html.public-stable .pricing-page{min-width:0;background:var(--public-paper);color:var(--public-ink)}
html.public-stable .section-kicker,html.public-stable .hero-label{font:700 10px/1.3 var(--font-mono);letter-spacing:.14em;text-transform:uppercase}
html.public-stable .public-nav{position:sticky;top:0;z-index:80;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:80px;padding-inline:max(32px,calc((100vw - 1440px)/2));border-bottom:1px solid var(--public-rule);background:var(--public-paper);backdrop-filter:none}
html.public-stable .public-nav .logo{min-width:max-content;color:var(--public-ink)}html.public-stable .public-nav .logo-word{font:700 24px/1 var(--display);color:inherit;letter-spacing:-.08em}
html.public-stable .public-nav-center{display:flex;align-items:center;gap:36px}.public-nav-center a,html.public-stable .public-nav-center a{display:inline-flex;align-items:center;min-height:80px;border-bottom:2px solid transparent;color:var(--public-ink);font:500 clamp(15px,1vw,18px)/1 var(--font-reading);letter-spacing:.01em}.public-nav-center a:hover,.public-nav-center a:focus-visible,.public-nav-center a.active{color:var(--public-rust)}
html.public-stable .public-nav-center{column-gap:36px;white-space:nowrap}
html.public-stable .public-nav-actions{justify-self:end;display:flex;align-items:center;gap:13px}.public-nav-actions .lang-select .lang-trigger,.public-nav-actions .link-btn{border:0;background:transparent;color:var(--public-ink);font:600 12px/1 var(--font-mono)}.public-nav-actions>.btn-primary{min-height:54px;padding:0 22px;border-radius:0;background:var(--public-ink);color:var(--public-paper);font:500 15px/1 var(--font-reading);letter-spacing:.01em}.public-nav .btn,.public-nav .link-btn{box-shadow:none}.public-menu{display:none}
html.public-stable .catalog-page .public-nav-center a[href="/?section=catalog"],html.public-stable .vira-ui-page .public-nav-center a[href="/?section=vira-ui"],html.public-stable .studios-public-page .public-nav-center a[href="/?section=studios"],html.public-stable[data-public-route="pricing"] .public-nav-center a[href="/pricing"],html.public-stable[data-public-route="docs"] .public-nav-center a[href="/docs"]{color:var(--public-rust);border-bottom-color:var(--public-rust)}

html.public-stable .landing .hero{display:grid;grid-template-columns:minmax(0,1fr) 518px;gap:clamp(44px,6vw,114px);align-items:start;width:min(1314px,calc(100vw - 64px));height:634px;min-height:634px;overflow:hidden;margin:auto;padding:97px 0 0}.hero-copy{max-width:744px;padding:0 0 0 8px}.hero-label{display:block;margin-bottom:22px;color:var(--public-rust)}.hero-copy h1{max-width:744px;margin:0;color:var(--public-ink);font:300 clamp(62px,7.2vw,106px)/.92 var(--public-serif);letter-spacing:-.065em}.hero-copy h1 em{display:block;color:var(--public-rust);font-weight:300}.hero-promise,.hero-copy>p{max-width:448px!important;margin:25px 0 0!important;color:var(--public-muted);font:400 18px/1.625 var(--font-reading)!important}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.hero-actions .btn{min-height:46px;border-radius:0;box-shadow:none;font-size:12px}.hero-actions .btn-primary{background:var(--public-ink);color:var(--public-paper)}.hero-actions .btn-outline{border-color:var(--public-ink);color:var(--public-ink);background:transparent}

/* Self-playing conversation. The animation demonstrates typing, generation and
   in-result interaction without asking the visitor to operate the mock UI. */
html.public-stable .vira-cinema{position:relative;display:flex;flex-direction:column;width:100%;height:548px;overflow:hidden;border:1px solid #d7d1c8;background:#efede8;color:#211f1c;pointer-events:none}
html.public-stable .vira-cinema-top{display:flex;align-items:center;justify-content:space-between;flex:0 0 56px;padding:0 18px;border-bottom:1px solid #d8d3ca;background:#f7f5f0}
html.public-stable .vira-cinema-top>div{display:flex;align-items:center;gap:9px}.vira-cinema-top>div>span{width:8px;height:8px;border-radius:50%;background:#bd5f46;box-shadow:0 0 0 5px rgba(189,95,70,.1)}
html.public-stable .vira-cinema-top strong{font:650 12px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.vira-cinema-top time{color:#8b857c;font:500 9px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
html.public-stable .vira-cinema-thread{display:flex;flex:1;min-height:0;flex-direction:column;gap:14px;overflow:hidden;padding:20px 18px 14px}
html.public-stable .vira-cinema-user{display:flex;justify-content:flex-end;min-height:0;opacity:0;transform:translateY(7px);transition:opacity .22s cubic-bezier(0,0,.2,1),transform .22s cubic-bezier(0,0,.2,1)}
html.public-stable .vira-cinema-user p{max-width:82%;margin:0;padding:11px 13px;border-radius:15px 15px 3px 15px;background:#211f1c;color:#f7f5f0;font:400 14px/1.45 var(--font-reading)}
html.public-stable .vira-cinema.is-user-visible .vira-cinema-user{opacity:1;transform:none}
html.public-stable .vira-cinema-assistant{display:grid;grid-template-columns:27px minmax(0,1fr);gap:10px;min-height:0;opacity:0;transform:translateY(7px);transition:opacity .22s cubic-bezier(0,0,.2,1),transform .22s cubic-bezier(0,0,.2,1)}
html.public-stable .vira-cinema.is-assistant-visible .vira-cinema-assistant{opacity:1;transform:none}
html.public-stable .vira-cinema-avatar{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#bd5f46;color:#fff;font:700 12px/1 var(--font-mono)}
html.public-stable .vira-cinema-assistant>div{min-width:0}.vira-cinema-assistant p{max-width:94%;min-height:36px;margin:2px 0 10px;color:#4f4b45;font:400 14px/1.48 var(--font-reading)}
html.public-stable .vira-cinema-dots{display:none;align-items:center;gap:4px;height:27px}.vira-cinema.is-waiting .vira-cinema-dots{display:flex}.vira-cinema-dots i{width:5px;height:5px;border-radius:50%;background:#9c958b;animation:vira-cinema-dot .72s ease-in-out infinite alternate}.vira-cinema-dots i:nth-child(2){animation-delay:.12s}.vira-cinema-dots i:nth-child(3){animation-delay:.24s}
html.public-stable .vira-cinema-result{opacity:0;transform:translateY(8px);transition:opacity .28s cubic-bezier(0,0,.2,1),transform .28s cubic-bezier(0,0,.2,1)}html.public-stable .vira-cinema-result.is-visible{opacity:1;transform:none}
html.public-stable .vira-cinema-card{overflow:hidden;border:1px solid #d8d3ca;background:#fff}
html.public-stable .vira-cinema-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 15px 11px;border-bottom:1px solid #e4dfd7}.vira-cinema-card header div{display:grid;gap:5px}.vira-cinema-card header small{color:#9a5543;font:650 8px/1 var(--font-mono);letter-spacing:.11em}.vira-cinema-card header strong{font:500 20px/1.05 var(--public-serif);letter-spacing:-.035em}.vira-cinema-card header>b{display:grid;place-items:center;min-width:24px;height:24px;border:1px solid #b7c0ae;color:#52664a;font:600 10px/1 var(--font-reading)}
html.public-stable .vira-cinema-card ol{margin:0;padding:0 15px;list-style:none}.vira-cinema-card ol li{display:grid;grid-template-columns:18px 1fr;align-items:center;gap:7px;padding:8px 0;border-bottom:1px solid #e8e3dc;color:#605b54;font:400 12px/1.3 var(--font-reading)}.vira-cinema-card ol i{display:grid;place-items:center;width:13px;height:13px;border:1px solid #b7b0a6;color:#fff;font:700 8px/1 var(--font-reading)}.vira-cinema-card ol li.is-complete{color:#8c867d;text-decoration:line-through}.vira-cinema-card ol li.is-complete i{border-color:#bd5f46;background:#bd5f46;text-decoration:none}
html.public-stable .vira-cinema-days{display:grid;padding:0 15px}.vira-cinema-days>span{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:6px;padding:9px 0;border-bottom:1px solid #e8e3dc;color:#625d56;font:400 11px/1.2 var(--font-reading);transition:color .2s ease,transform .2s ease}.vira-cinema-days b{color:#9a5543;font:650 9px/1 var(--font-mono)}.vira-cinema-days em{color:#908980;font:500 9px/1 var(--font-mono);font-style:normal}.vira-cinema-days>span.is-selected{color:#1f1e1b;transform:translateX(4px)}
html.public-stable .vira-cinema-trip{padding:12px 15px}.vira-cinema-trip>div{display:flex;gap:7px;margin-bottom:10px}.vira-cinema-trip>div span{display:grid;place-items:center;width:29px;height:25px;border:1px solid #d8d3ca;color:#8c867d;font:600 9px/1 var(--font-mono);transition:background .2s ease,color .2s ease,border-color .2s ease}.vira-cinema-trip>div span.is-selected{border-color:#bd5f46;background:#bd5f46;color:#fff}.vira-cinema-trip>strong{display:block;font:500 14px/1.2 var(--font-reading)}.vira-cinema-trip p{min-height:0;margin:5px 0 0;color:#817b72;font:400 10px/1.3 var(--font-reading)}
html.public-stable .vira-cinema-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 15px;color:#8b857c;font:500 10px/1 var(--font-mono)}.vira-cinema-card footer strong{color:#bd5f46;font:600 11px/1 var(--font-reading)}
html.public-stable .vira-cinema-composer{display:grid;grid-template-columns:minmax(0,1fr) 1px 31px;align-items:center;gap:7px;flex:0 0 54px;margin:0 18px 17px;padding:0 9px 0 13px;border:1px solid #cec8bf;border-radius:16px;background:#fff;color:#3f3b36;font:400 12px/1.35 var(--font-reading)}
html.public-stable .vira-cinema-composer span:empty:before{content:attr(data-placeholder);color:#9d968d}.vira-cinema-composer>i{width:1px;height:16px;background:#bd5f46;opacity:0}.vira-cinema.is-typing .vira-cinema-composer>i{opacity:1;animation:vira-cinema-cursor .7s step-end infinite}.vira-cinema-composer>b{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#bd5f46;color:#fff;font:600 15px/1 var(--font-reading);transition:transform .16s cubic-bezier(0,0,.2,1)}.vira-cinema.is-sending .vira-cinema-composer>b{transform:scale(.88)}
@keyframes vira-cinema-dot{from{opacity:.3;transform:translateY(1px)}to{opacity:1;transform:translateY(-1px)}}
@keyframes vira-cinema-cursor{0%,45%{opacity:1}46%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){html.public-stable .vira-cinema-user,html.public-stable .vira-cinema-assistant,html.public-stable .vira-cinema-result{transition:opacity .1s ease;transform:none}.vira-cinema-dots i,.vira-cinema-composer>i{animation:none!important}.vira-cinema.is-reduced .vira-cinema-user,.vira-cinema.is-reduced .vira-cinema-assistant,.vira-cinema.is-reduced .vira-cinema-result{opacity:1}}

/* The hero proves the product with the existing Vira UI surface, never a stock image. */
html.public-stable .home-workbench,html.public-stable .home-chat-preview{position:relative;justify-self:end;width:518px;max-width:100%;min-height:590px;margin-top:-17px;transform:translateX(-3px);overflow:hidden;padding:18px;border:1px solid var(--public-rule);border-radius:0;background:#e9e4dc;color:var(--public-ink);box-shadow:none}
.home-workbench:before{display:none}.home-workbench:after{position:absolute;z-index:3;right:0;bottom:0;left:0;padding:15px 18px;background:#211f1c;color:#f6f4ef;content:"Vira UI · temsili ürün çıktısı";font:600 10px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}
.home-workbench-top{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:0 18px;background:var(--public-ink);color:#f6f4ef}.home-workbench-brand{display:flex;align-items:center;gap:9px;font:600 11px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.home-workbench-pulse{width:8px;height:8px;border-radius:50%;background:#d78368}.home-workbench-state{display:block;color:#d2cbc2;font:500 10px/1 var(--font-mono)}
.home-workbench-grid{position:relative;z-index:2;display:block;margin:14px 0 48px}.home-workbench-rail{display:none}.home-workbench-main{padding:20px;background:#f8f6f1;border:1px solid #d9d2c8}.home-workbench-context{display:flex;align-items:center;gap:8px;color:#746f68;font:500 10px/1.2 var(--font-mono);letter-spacing:.05em;text-transform:uppercase}.home-workbench-context strong{color:var(--public-ink);font-weight:700}.home-workbench-context-dot{width:5px;height:5px;border-radius:50%;background:#d78368}.home-workbench-message{display:flex;gap:10px;margin:20px 0}.home-workbench-avatar{display:grid;place-items:center;flex:0 0 24px;height:24px;background:var(--public-ink);color:#f6f4ef;font:700 10px/1 var(--font-mono)}.home-workbench-message p{margin:2px 0 0;color:#5d5851;font:400 13px/1.5 var(--font-reading)}
.home-workbench-output{padding:18px;background:#eeeae3;border-left:3px solid var(--public-rust)}.home-workbench-output-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.home-workbench-kicker{display:flex;align-items:center;gap:6px;color:var(--public-rust);font:700 9px/1 var(--font-mono);letter-spacing:.08em}.home-workbench-kicker .icon{width:13px}.home-workbench-output h3{margin:8px 0 0;font:500 23px/1 var(--public-serif);letter-spacing:-.04em}.home-workbench-check{display:grid;place-items:center;width:24px;height:24px;border:1px solid #a7b49a;color:#596b4b}.home-workbench-check .icon{width:13px}.home-workbench-output>p{margin:13px 0;color:#655f57;font:400 12px/1.5 var(--font-reading)}.home-workbench-table{border-top:1px solid #d2ccc2}.home-workbench-table>div{display:grid;grid-template-columns:1fr auto;gap:12px;padding:9px 0;border-bottom:1px solid #d2ccc2}.home-workbench-table span{color:#777168;font:600 9px/1 var(--font-mono);letter-spacing:.07em}.home-workbench-table strong{font:600 12px/1.2 var(--font-reading)}.home-workbench-table b{color:#52664a;font:600 11px/1.2 var(--font-reading)}.home-workbench-output-foot{display:flex;align-items:center;justify-content:space-between;margin-top:13px;color:#746e66;font:600 9px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.home-workbench-output-foot .icon{width:15px}.home-workbench-input,.home-demo-prompts{display:none}

html.public-stable .home-sovereignty,html.public-stable .landing .sovereignty-section{box-sizing:border-box;width:100%!important;max-width:none!important;padding:0 max(32px,calc((100vw - 1320px)/2));background:var(--public-ink);color:#f6f4ef}.home-sovereignty .sovereignty-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.8fr);gap:clamp(48px,8vw,118px);align-items:center;max-width:1320px;margin:auto;padding:clamp(78px,9vw,132px) 0}.home-sovereignty .sovereignty-card h2{max-width:10ch;margin:0;color:#f6f4ef;font:400 clamp(50px,5.8vw,82px)/.93 var(--public-serif);letter-spacing:-.07em}.home-sovereignty .sovereignty-copy p{color:#d1cbc2;font:400 16px/1.7 var(--font-reading)}.home-sovereignty-list{display:grid;gap:18px;margin-top:28px}.home-sovereignty-list>span{display:grid;grid-template-columns:22px 1fr;gap:4px 11px}.home-sovereignty-list .icon{grid-row:span 2;width:17px;color:#d78368}.home-sovereignty-list b{font:600 18px/1.2 var(--public-serif);color:#f6f4ef}.home-sovereignty-list small{color:#b9b2a8;font:400 13px/1.5 var(--font-reading)}

html.public-stable .landing .public-section{width:min(1320px,calc(100vw - 64px));max-width:none;margin:auto}html.public-stable .principle-section,.home-proof-section{padding:clamp(88px,10vw,150px) 0}.home-proof-section .principle-intro{display:grid;grid-template-columns:1fr minmax(290px,.68fr);gap:70px;align-items:end;margin-bottom:49px}.home-proof-section .principle-intro h2{max-width:11ch;margin:14px 0 0;font:400 clamp(47px,5vw,72px)/.94 var(--public-serif);letter-spacing:-.07em}.home-proof-section .principle-intro p{margin:0;color:var(--public-muted);font:400 16px/1.7 var(--font-reading)}html.public-stable .home-proof-grid,.home-proof-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));border-top:1px solid var(--public-rule);border-left:1px solid var(--public-rule)}html.public-stable .principle-grid>article,.home-proof-card{min-width:0;padding:27px;border-right:1px solid var(--public-rule);border-bottom:1px solid var(--public-rule);border-radius:0!important;background:transparent!important;transition:background .2s ease}.home-proof-card:hover{background:#eeebe4!important;transform:none!important}.home-proof-agents,.home-proof-ui{grid-column:span 6}.home-proof-catalog{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:44px;align-items:center}.home-card-heading{display:flex;justify-content:space-between}.home-card-index{color:var(--public-rust);font:700 10px/1 var(--font-mono)}.home-proof-card h3{max-width:15ch;margin:18px 0 11px;font:500 32px/1 var(--public-serif);letter-spacing:-.055em}.home-proof-card p{margin:0;color:var(--public-muted);font:400 14px/1.65 var(--font-reading)}.home-studio-visual,.home-ui-visual,.home-routing-visual{margin-top:28px;border-radius:0!important}.home-studio-visual>div{border-color:var(--public-rule);border-radius:0;background:#f9f7f2;color:var(--public-ink)}.home-studio-visual span{border-radius:0;background:#e5ded3}.home-studio-visual i .icon,.home-ui-row b,.home-routing-arrow .icon{color:var(--public-rust)}.home-ui-visual{border-color:var(--public-rule);background:#f9f7f2}.home-ui-meter i{background:var(--public-rust)}.home-routing-visual{border-color:var(--public-rule);background:#f9f7f2}.home-routing-top b{border-radius:0;background:#e5ded3;color:var(--public-ink)}.home-routing-options .selected i{border-color:var(--public-rust);background:var(--public-rust)}

html.public-stable .home-economy-section{display:grid;grid-template-columns:.78fr 1fr;gap:clamp(42px,8vw,118px);align-items:center;padding:clamp(80px,10vw,144px) 0;border-top:1px solid var(--public-rule)}.home-economy-card{padding:28px;border:1px solid var(--public-rule);border-radius:0;background:#ede9e1}.home-economy-card h3{font:500 30px/1 var(--public-serif)}.home-economy-rows>div{border-color:var(--public-rule)}.home-economy-total{border-radius:0;background:var(--public-ink);color:#f6f4ef}html.public-stable .home-economy-unconfigured{border-color:var(--public-rule);background:#f9f7f2}.home-economy-copy h2{font:400 clamp(38px,4vw,58px)/.95 var(--public-serif);letter-spacing:-.065em}.home-economy-copy>p,.home-economy-copy ul{color:var(--public-muted)}.home-economy-copy li .icon{color:var(--public-rust)}

html.public-stable .public-footer{padding:58px max(24px,calc((100vw - 1320px)/2)) 24px;border-top:1px solid var(--public-rule);background:#ebe7df;color:var(--public-ink)}.footer-top{display:grid;grid-template-columns:1.35fr repeat(4,1fr);gap:34px;padding-bottom:36px;border-bottom:1px solid var(--public-rule)}.footer-brand p{color:var(--public-muted)}.footer-col b{color:var(--public-muted)}.footer-col a{color:var(--public-ink)}.footer-col a small{display:block;color:var(--public-muted);font:400 11px/1.35 var(--font-mono);overflow-wrap:anywhere}.footer-bottom{color:var(--public-muted)}

/* Secondary public routes use the same headline, rule and editorial-card grammar. */
.catalog-hero,.vira-ui-hero,.studios-hero,.pricing-hero{width:min(1280px,calc(100vw - 64px));margin:auto;padding:clamp(82px,10vw,142px) 0 76px;border-bottom:1px solid var(--public-rule)}.catalog-hero{display:grid;grid-template-columns:1fr minmax(300px,.58fr);gap:clamp(38px,7vw,110px);align-items:end}.catalog-hero h1,.vira-ui-hero h1,.studios-hero h1,.pricing-hero h1{max-width:10ch;margin:15px 0 20px;color:var(--public-ink);font:400 clamp(54px,6vw,84px)/.91 var(--public-serif);letter-spacing:-.075em}.catalog-hero p,.vira-ui-hero p,.studios-hero p,.pricing-hero p{max-width:57ch;margin:0;color:var(--public-muted);font:400 16px/1.7 var(--font-reading)}.catalog-search{min-height:56px;border-color:var(--public-ink);border-radius:0;background:transparent}.catalog-search .icon{color:var(--public-rust)}.catalog-search input{color:var(--public-ink)}.catalog-workspace{display:grid;grid-template-columns:210px 1fr;gap:clamp(34px,6vw,90px);width:min(1280px,calc(100vw - 64px));margin:auto;padding:70px 0 120px}.catalog-filters button{border-radius:0;color:var(--public-muted)}.catalog-filters button.active{background:var(--public-ink);color:#f6f4ef}.catalog-result-list{border-color:var(--public-rule)}.catalog-result{border-color:var(--public-rule)}.catalog-result h3,.catalog-results header h2{font-family:var(--public-serif);font-weight:500}.catalog-result-state,.catalog-result-index{color:var(--public-rust)}
.vira-ui-hero,.studios-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(400px,1.05fr);gap:clamp(42px,8vw,120px);align-items:center;padding-bottom:108px}.vira-ui-hero .btn,.studios-hero .btn{margin-top:29px;border-radius:0;background:var(--public-ink);color:#f6f4ef}.genui-stage{border:0;border-radius:0;background:#292725;color:#f6f4ef}.genui-app{border-color:#d8d3ca;border-radius:0;background:#f9f7f2}.genui-app h2{font-family:var(--public-serif);font-weight:500}.genui-ready{border-radius:0;background:#e8ded3;color:var(--public-ink)}.genui-examples,.studios-library{width:min(1280px,calc(100vw - 64px));margin:auto;padding:88px 0 126px}.genui-examples h2,.studios-library h2{font:400 clamp(40px,4.5vw,64px)/.95 var(--public-serif);letter-spacing:-.065em}.genui-example-list{border-color:var(--public-rule)}.genui-example-list article{border-color:var(--public-rule)}.genui-example-list h3{font:500 26px/1 var(--public-serif)}.genui-example-arrow:hover{border-radius:0;background:#e8ded3}.studios-hero{background:transparent}.studios-launch-flow{border-color:var(--public-rule);border-radius:0;background:#ece7de}.studios-flow-step{border-color:var(--public-rule)}.studios-flow-step strong{font-family:var(--public-serif);font-weight:500}.studios-flow-step b,.studio-project-card a{color:var(--public-rust)}.studios-project-grid{gap:0;border-top:1px solid var(--public-rule);border-left:1px solid var(--public-rule)}.studio-project-card{padding:27px;border:0;border-right:1px solid var(--public-rule);border-bottom:1px solid var(--public-rule);background:transparent}.studio-project-art{border-radius:0;background:#dcd4c8}.studio-project-card h3{font:500 31px/1 var(--public-serif);letter-spacing:-.05em}
.pricing-hero{max-width:1280px}.pricing-page .plan-card-grid,.pricing-page .pricing-family,.pricing-page .pricing-capabilities,.pricing-page .pricing-account-truth,.pricing-page .pricing-developer-strip,.pricing-page .public-pricing-status{width:min(1280px,calc(100vw - 64px));margin-inline:auto}.pricing-page .pricing-family,.pricing-page .pricing-capabilities,.pricing-page .pricing-account-truth{border-color:var(--public-rule)}.pricing-page h2,.pricing-page h3{font-family:var(--public-serif)}

@media(max-width:820px){html.public-stable .public-nav{grid-template-columns:1fr auto;min-height:64px;padding-inline:18px}.public-nav-center{position:absolute;inset:100% 0 auto;display:none!important;flex-direction:column;align-items:stretch;gap:0;padding:10px 18px;border-bottom:1px solid var(--public-rule);background:var(--public-paper)}.public-nav-center.open{display:flex!important}.public-nav-center a{min-height:43px}.public-nav-actions .link-btn,.public-nav-actions>.btn-primary{display:none}.public-nav-actions .lang-select .lang-trigger{min-height:40px;padding-inline:10px}.public-menu{display:grid!important}html.public-stable .landing .hero,.catalog-hero,.vira-ui-hero,.studios-hero{grid-template-columns:1fr!important;width:calc(100vw - 48px)!important;gap:45px}html.public-stable .landing .hero{height:auto;min-height:0;padding-block:76px 94px}.hero-copy{padding-inline-start:0}.hero-copy h1{font-size:clamp(56px,10vw,76px)}.home-workbench{justify-self:stretch;max-width:none;margin-top:0;transform:none}.home-sovereignty .sovereignty-card,.home-proof-section .principle-intro,.home-economy-section{grid-template-columns:1fr;gap:38px}.home-proof-agents,.home-proof-ui{grid-column:1/-1}.catalog-workspace{grid-template-columns:1fr;width:calc(100vw - 48px)}.catalog-filters{display:flex;overflow:auto}.catalog-filters .section-kicker{display:none}.catalog-filters button{flex:none;border:1px solid var(--public-rule)}.genui-examples,.studios-library{width:calc(100vw - 48px)}.footer-top{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){html.public-stable .public-nav{min-height:64px;padding-inline:14px;gap:8px}}
@media(max-width:520px){.landing .hero,.catalog-hero,.vira-ui-hero,.studios-hero,.catalog-workspace{width:calc(100vw - 32px)!important}.hero-copy h1,.catalog-hero h1,.vira-ui-hero h1,.studios-hero h1,.pricing-hero h1{font-size:clamp(48px,14vw,64px)}.home-workbench{min-height:455px}.home-workbench-grid{right:12px;bottom:55px;left:12px}.home-workbench-top{inset:14px 14px auto}.home-workbench-main{padding:13px}.home-workbench-output{padding:11px}.home-workbench-output h3{font-size:20px}.home-proof-grid{display:block;border-left:0}.home-proof-card{border-right:0}.home-proof-catalog{display:block}.home-economy-section{width:calc(100vw - 32px)!important}.footer-top{grid-template-columns:1fr}.footer-bottom{display:grid;gap:8px}.catalog-hero,.vira-ui-hero,.studios-hero,.pricing-hero{padding-block:56px 62px}.genui-examples,.studios-library{width:calc(100vw - 32px);padding-block:70px 88px}.studios-project-grid{grid-template-columns:1fr}.catalog-result{grid-template-columns:26px 1fr}.catalog-result-state{grid-column:2}.catalog-result h3{font-size:23px}}
@media(max-width:520px){.home-workbench-grid{right:auto;bottom:auto;left:auto}.home-workbench-top{inset:auto}}

/* Vira Node overview and its two dedicated subpages share this owner. */
/* Node follows the existing public Vira palette: paper, ink and rust accent. */
.node-reference-page .section-kicker,.node-reference-page .node-form-section>.section-kicker{color:var(--public-rust)}
.node-reference-page .vira-node-benefit-grid article>b,.node-reference-page .vira-node-step-number,.node-reference-page .node-subpage-facts b{color:var(--public-rust)}
.node-reference-page .vira-node-benefit-icon,.node-reference-page .vira-node-fit-icon{border-color:var(--public-rule);color:var(--public-rust);background:var(--public-tint)}
.node-reference-page .vira-node-how .section-kicker,.node-reference-page .vira-node-final-cta .section-kicker{color:var(--public-rust)}
html.public-stable:has(.node-reference-page) .public-nav-center a.active,html.public-stable:has(.node-reference-page) .public-nav-center a[href="/node"]{color:var(--public-rust);border-bottom-color:var(--public-rust)}
html.public-stable:has(.node-reference-page) .public-nav-actions>.btn-primary{background:var(--public-rust);color:var(--public-paper)}
html.public-stable .vira-ref-node-hero{grid-template-columns:minmax(0,1fr) minmax(360px,.7fr)}.vira-ref-node-hero-note{align-self:end}.vira-ref-node-hero-note .vira-ref-actions{margin-top:26px}
html.public-stable .vira-ref-node-form{display:grid;gap:15px}.vira-ref-node-form label{display:grid;gap:7px;color:var(--public-muted);font:600 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.vira-ref-node-form input,.vira-ref-node-form select,.vira-ref-node-form textarea{width:100%;box-sizing:border-box;padding:13px 0;border:0;border-bottom:1px solid #bdb5aa;border-radius:0;background:transparent;color:var(--public-ink);font:400 15px/1.4 var(--font-reading);outline:none}.vira-ref-node-form input:focus,.vira-ref-node-form select:focus,.vira-ref-node-form textarea:focus{border-color:var(--public-rust)}.vira-ref-node-form .btn{justify-self:start;margin-top:8px;border-radius:0}.vira-ref-node-form-status{min-height:20px;margin:0;color:#52664a;font:600 12px/1.4 var(--font-reading)}

/* Node overview: the reference's clear consumer journey, translated into Vira's flat editorial language. */
html.public-stable .vira-node-new-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);gap:clamp(42px,7vw,110px);align-items:center;width:100%;box-sizing:border-box;padding:clamp(78px,9vw,134px) max(32px,calc((100vw - 1320px)/2));border-bottom:1px solid var(--public-rule);background:var(--public-paper);color:var(--public-ink)}
html.public-stable .vira-node-new-hero .node-pill{display:inline-flex;padding:9px 14px;border:1px solid var(--public-rust);border-radius:999px;color:var(--public-rust);background:transparent;font:700 10px/1 var(--font-mono);letter-spacing:.1em}
html.public-stable .vira-node-new-hero h1{max-width:9ch;margin:23px 0 20px;color:var(--public-ink);font:400 clamp(58px,7vw,98px)/.9 var(--public-serif);letter-spacing:-.078em}
html.public-stable .vira-node-new-hero p{max-width:56ch;margin:0;color:var(--public-muted);font:400 16px/1.75 var(--font-reading)}
html.public-stable .vira-node-new-hero .vira-ref-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.vira-node-new-hero .btn{border-radius:0}.vira-node-new-hero .btn-primary{border-color:var(--public-rust)!important;background:var(--public-rust)!important;color:var(--public-paper)!important}.vira-node-new-hero .btn-outline{border-color:var(--public-ink);color:var(--public-ink)!important;background:transparent}
.vira-node-network-visual{position:relative;min-height:390px;border:1px solid var(--public-rule);background:var(--public-tint);overflow:hidden}.vira-node-network-visual:before,.vira-node-network-visual:after{content:"";position:absolute;background:var(--public-rust);opacity:.45}.vira-node-network-visual:before{top:50%;right:12%;left:12%;height:1px}.vira-node-network-visual:after{top:18%;bottom:18%;left:50%;width:1px}.vira-node-network-core{position:absolute;z-index:2;top:50%;left:50%;display:grid;place-items:center;width:148px;height:118px;transform:translate(-50%,-50%);border:1px solid var(--public-rust);background:var(--public-paper);box-shadow:0 0 0 12px rgba(169,79,56,.08);color:var(--public-ink);text-align:center;font:700 13px/1.3 var(--font-mono);letter-spacing:.12em}.vira-node-network-core:after{content:"";position:absolute;inset:10px;border:1px solid rgba(169,79,56,.4)}.vira-node-network-visual i,.vira-node-network-visual b{position:absolute;z-index:2;display:block;border-radius:50%}.vira-node-network-visual i{width:17px;height:17px;border:3px solid var(--public-rust);background:var(--public-tint);box-shadow:0 0 0 7px rgba(169,79,56,.08)}.vira-node-network-visual b{width:7px;height:7px;background:var(--public-ink)}.vira-node-network-visual i:nth-of-type(1){top:18%;left:17%}.vira-node-network-visual i:nth-of-type(2){top:22%;right:16%}.vira-node-network-visual i:nth-of-type(3){bottom:18%;left:19%}.vira-node-network-visual i:nth-of-type(4){right:18%;bottom:19%}.vira-node-network-visual b:nth-of-type(1){top:27%;left:39%}.vira-node-network-visual b:nth-of-type(2){top:39%;right:27%}.vira-node-network-visual b:nth-of-type(3){bottom:28%;left:34%}.vira-node-network-visual b:nth-of-type(4){right:34%;bottom:29%}
html.public-stable .vira-node-benefits,html.public-stable .vira-node-fit{width:min(1320px,calc(100vw - 64px));margin:auto;padding:clamp(82px,9vw,132px) 0}.vira-node-benefits header{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);gap:50px;align-items:end;margin-bottom:48px}.vira-node-benefits h2,.vira-node-fit h2{max-width:10ch;margin:14px 0 0;font:400 clamp(48px,5.3vw,76px)/.94 var(--public-serif);letter-spacing:-.07em}.vira-node-benefits header p{margin:0;color:var(--public-muted);font:400 16px/1.7 var(--font-reading)}.vira-node-benefit-grid,.vira-node-step-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--public-rule);border-left:1px solid var(--public-rule)}.vira-node-benefit-grid article,.vira-node-step-grid article{min-height:290px;padding:27px;border-right:1px solid var(--public-rule);border-bottom:1px solid var(--public-rule)}.vira-node-benefit-icon,.vira-node-fit-icon{display:grid;place-items:center;width:50px;height:50px;margin-bottom:26px;border:1px solid #b9e3d5;border-radius:50%;color:#1e8c76;background:#e7f5ef}.vira-node-benefit-icon .icon,.vira-node-fit-icon .icon{width:22px}.vira-node-benefit-grid article>b,.vira-node-step-number{display:block;color:var(--public-rust);font:700 11px/1 var(--font-mono);letter-spacing:.08em}.vira-node-benefit-grid h3,.vira-node-step-grid h3{margin:54px 0 11px;font:500 28px/1 var(--public-serif);letter-spacing:-.05em}.vira-node-benefit-grid p,.vira-node-step-grid p{margin:0;color:var(--public-muted);font:400 14px/1.65 var(--font-reading)}
.vira-node-how{padding:clamp(82px,9vw,132px) max(32px,calc((100vw - 1320px)/2));background:var(--public-tint)}.vira-node-how header{max-width:760px;margin-bottom:48px}.vira-node-how h2{max-width:11ch;margin:14px 0 18px;color:var(--public-ink);font:400 clamp(48px,5.3vw,76px)/.94 var(--public-serif);letter-spacing:-.07em}.vira-node-how header p{margin:0;color:var(--public-muted);font:400 16px/1.7 var(--font-reading)}.vira-node-step-grid{border-color:var(--public-rule)}.vira-node-step-grid article{border-color:var(--public-rule)}.vira-node-step-mark{display:grid;place-items:center;width:58px;height:58px;margin:28px 0 0;border-radius:50%;background:var(--public-paper);color:var(--public-rust)}.vira-node-step-mark .icon{width:24px}.vira-node-step-grid h3{margin-top:24px;color:var(--public-ink)}
.vira-node-fit{border-bottom:1px solid var(--public-rule)}.vira-node-fit>header{display:flex;justify-content:space-between;align-items:end;margin-bottom:44px}.vira-node-fit>header h2{max-width:12ch}.vira-node-fit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.vira-node-fit-grid article{display:grid;grid-template-columns:60px 1fr;gap:24px;padding:32px;border:1px solid var(--public-rule);background:var(--public-paper)}.vira-node-fit-grid article:last-child{background:var(--public-tint)}.vira-node-fit-icon{margin:0}.vira-node-fit-grid h3{margin:3px 0 22px;font:500 31px/1 var(--public-serif);letter-spacing:-.055em}.vira-node-fit-grid ul{display:grid;gap:11px;margin:0 0 27px;padding:0;list-style:none;color:var(--public-muted);font:400 14px/1.5 var(--font-reading)}.vira-node-fit-grid li:before{content:"✓";margin-right:9px;color:var(--public-rust);font-weight:700}.vira-node-fit-grid .btn{border-radius:0}
.vira-node-final-cta{display:flex;justify-content:space-between;gap:35px;align-items:center;width:min(1320px,calc(100vw - 64px));margin:auto;padding:clamp(60px,7vw,90px) 0}.vira-node-final-cta h2{max-width:12ch;margin:13px 0 12px;font:400 clamp(44px,4.6vw,66px)/.94 var(--public-serif);letter-spacing:-.065em}.vira-node-final-cta p{max-width:52ch;margin:0;color:var(--public-muted);font:400 15px/1.7 var(--font-reading)}.vira-node-final-cta .btn{flex:0 0 auto;border-radius:0}
@media(max-width:900px){html.public-stable .vira-node-new-hero{grid-template-columns:1fr}.vira-node-network-visual{min-height:300px}.vira-node-benefits header{grid-template-columns:1fr;gap:24px}.vira-node-benefit-grid{grid-template-columns:repeat(2,1fr)}.vira-node-step-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){html.public-stable .vira-node-new-hero{padding-inline:16px}.vira-node-network-visual{min-height:260px}.vira-node-benefits,.vira-node-fit{width:calc(100vw - 32px)!important}.vira-node-benefit-grid,.vira-node-step-grid,.vira-node-fit-grid{grid-template-columns:1fr}.vira-node-benefit-grid article,.vira-node-step-grid article{min-height:0}.vira-node-fit>header{display:block}.vira-node-fit-grid article{grid-template-columns:1fr}.vira-node-fit-icon{margin-bottom:20px}.vira-node-final-cta{display:block;width:calc(100vw - 32px)}.vira-node-final-cta .btn{display:inline-flex;margin-top:25px}}

@media(min-width:621px){.vira-node-step-grid{grid-template-columns:repeat(5,1fr)}}

/* Reference-matched Node composition: quiet paper surface, trust row, audience split and dark closing band. */
.node-reference-page .vira-node-new-hero h1{max-width:12ch;font-size:clamp(52px,5.6vw,78px)}.node-reference-page .vira-node-new-hero h1 span,.node-reference-page .vira-node-new-hero h1 em{display:block}.node-reference-page .vira-node-new-hero h1 em{color:var(--public-rust);font-style:normal}
.node-reference-page .vira-node-trust-row{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;width:min(1320px,calc(100vw - 64px));margin:auto;padding:28px 0 34px;border-bottom:1px solid var(--public-rule);color:var(--public-muted);font:500 13px/1.4 var(--font-reading)}
.node-reference-page .vira-node-trust-row .icon{width:15px;margin-right:8px;vertical-align:-3px;color:var(--public-rust)}
.node-reference-page .vira-node-trust-row span:first-letter{color:var(--public-rust)}
.node-reference-page .vira-node-fit>header{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);grid-template-rows:auto auto;column-gap:clamp(40px,8vw,120px);align-items:end}
.node-reference-page .vira-node-fit>header .section-kicker{grid-column:1;grid-row:1}.node-reference-page .vira-node-fit>header h2{grid-column:1;grid-row:2;margin-top:14px}.node-reference-page .vira-node-fit-intro{grid-column:2;grid-row:1 / span 2;max-width:34ch;margin:0 0 5px;color:var(--public-muted);font:400 15px/1.7 var(--font-reading)}
.node-reference-page .vira-node-benefit-grid article,.node-reference-page .vira-node-fit-grid article{background:var(--public-paper)}
.node-reference-page .vira-node-network-visual{min-height:410px;background:#f1ede8}.node-reference-page .vira-node-network-core{width:182px;height:150px;transform:translate(-50%,-50%) perspective(520px) rotateX(8deg) rotateZ(-2deg);box-shadow:0 15px 0 #d5cec6,0 22px 22px rgba(31,29,26,.12);border-radius:15px}.node-reference-page .vira-node-network-core:after{inset:12px;border-radius:9px}.node-reference-page .vira-node-network-visual i{width:44px;height:44px;border:1px solid var(--public-rule);border-radius:11px;background:var(--public-paper);box-shadow:0 8px 0 #d5cec6,0 11px 14px rgba(31,29,26,.1)}.node-reference-page .vira-node-network-visual i:nth-of-type(1){top:16%;left:15%}.node-reference-page .vira-node-network-visual i:nth-of-type(2){top:20%;right:14%}.node-reference-page .vira-node-network-visual i:nth-of-type(3){bottom:15%;left:17%}.node-reference-page .vira-node-network-visual i:nth-of-type(4){right:16%;bottom:16%}.node-reference-page .vira-node-network-visual b{width:6px;height:6px;background:var(--public-rust)}
.node-reference-page .vira-node-how{background:var(--public-paper)}.node-reference-page .vira-node-step-grid{border:0;background:transparent}.node-reference-page .vira-node-step-grid article{position:relative;min-height:250px;padding:27px 22px;border:0;text-align:center}.node-reference-page .vira-node-step-grid article:not(:last-child):after{content:"";position:absolute;top:58px;right:-12px;width:24px;border-top:1px dashed var(--public-rust);opacity:.55}.node-reference-page .vira-node-step-number{margin-bottom:12px}.node-reference-page .vira-node-step-mark{margin:0 auto 22px;border:1px solid var(--public-rule);background:var(--public-paper)}.node-reference-page .vira-node-step-grid h3{margin:0 0 11px;font-size:23px}.node-reference-page .vira-node-step-grid p{max-width:20ch;margin:auto}
.node-reference-page .vira-node-final-cta{width:min(1240px,calc(100vw - 96px));margin:0 auto 70px;padding:32px 36px;background:var(--public-ink);color:var(--public-paper)}.node-reference-page .vira-node-final-cta h2{color:var(--public-paper)}.node-reference-page .vira-node-final-cta p{color:#d1cbc2}.node-reference-page .vira-node-final-cta .section-kicker{color:#d78368}.node-reference-page .vira-node-final-cta .btn-primary{background:var(--public-rust);color:var(--public-paper)}
@media(max-width:820px){.node-reference-page .vira-node-trust-row{grid-template-columns:repeat(2,1fr)}.node-reference-page .vira-node-fit>header{grid-template-columns:1fr;grid-template-rows:auto;display:block}.node-reference-page .vira-node-fit-intro{margin:20px 0 0}.node-reference-page .vira-node-fit>header h2{margin-top:14px}.node-reference-page .vira-node-step-grid article:not(:last-child):after{display:none}.node-reference-page .vira-node-final-cta{width:calc(100vw - 48px)}}
@media(max-width:620px){.node-reference-page .vira-node-trust-row{grid-template-columns:1fr;width:calc(100vw - 32px)}.node-reference-page .vira-node-final-cta{width:calc(100vw - 32px);padding:28px 22px}}

/* Node subpages keep the two intents distinct: operator onboarding versus investor diligence. */
html.public-stable .node-subpage-explainer,html.public-stable .node-subpage-facts,html.public-stable .node-subpage-form-wrap{width:min(1120px,calc(100vw - 64px));margin-inline:auto}.node-subpage-explainer{padding:clamp(72px,8vw,112px) 0 48px;border-bottom:1px solid var(--public-rule)}.node-subpage-explainer h2{max-width:17ch;margin:15px 0 18px;font:400 clamp(42px,4.8vw,68px)/.95 var(--public-serif);letter-spacing:-.065em}.node-subpage-explainer p{max-width:78ch;margin:0;color:var(--public-muted);font:400 16px/1.75 var(--font-reading)}.node-subpage-facts{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--public-rule);border-top:1px solid var(--public-rule);margin-top:48px!important}.node-subpage-facts article{min-height:245px;padding:27px;border-right:1px solid var(--public-rule);border-bottom:1px solid var(--public-rule)}.node-subpage-facts b{color:var(--public-rust);font:700 11px/1 var(--font-mono)}.node-subpage-facts h3{margin:58px 0 11px;font:500 27px/1 var(--public-serif);letter-spacing:-.05em}.node-subpage-facts p{margin:0;color:var(--public-muted);font:400 14px/1.65 var(--font-reading)}.node-subpage-form-wrap{padding:48px 0 140px}.vira-ref-node-standalone-form{max-width:none!important;margin:0!important;padding:clamp(28px,5vw,58px)!important}.node-form-section{padding:0 0 42px;margin:0 0 38px;border-bottom:1px solid var(--public-rule)}.node-form-section:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}.node-form-section h2{max-width:15ch;margin:14px 0 27px;font:400 clamp(34px,3.6vw,50px)/.97 var(--public-serif);letter-spacing:-.06em}.node-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px}.node-form-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.node-form-checks label{display:flex;align-items:flex-start;gap:10px;padding:15px;border:1px solid var(--public-rule);color:var(--public-ink);font:400 14px/1.45 var(--font-reading);text-transform:none;letter-spacing:0}.node-form-checks input{margin-top:3px;accent-color:#52664a}.node-form-section>label{display:grid;gap:7px;color:var(--public-muted);font:600 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.node-form-section>label textarea{margin-top:0}.node-form-section>.btn{margin-top:22px}
@media(max-width:820px){html.public-stable .node-subpage-explainer,html.public-stable .node-subpage-facts,html.public-stable .node-subpage-form-wrap{width:calc(100vw - 48px)}.node-subpage-facts{grid-template-columns:1fr}.node-form-grid,.node-form-checks{grid-template-columns:1fr}}
@media(max-width:520px){html.public-stable .node-subpage-explainer,html.public-stable .node-subpage-facts,html.public-stable .node-subpage-form-wrap{width:calc(100vw - 32px)}.node-subpage-facts article{min-height:0}.vira-ref-node-standalone-form{padding:24px!important}}

/* Investor information page: source-backed diligence, never a lead-capture form. */
.node-investors-page .vira-ref-node-hero h1{max-width:12ch}.investor-thesis-section,.investor-network-section,.investor-economics-section,.investor-evidence-section,.investor-risk-section{width:min(1120px,calc(100vw - 64px));margin:auto;padding:clamp(72px,8vw,116px) 0;border-bottom:1px solid var(--public-rule)}.investor-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:clamp(40px,8vw,120px);align-items:end}.investor-thesis-section h2,.investor-network-section h2,.investor-economics-section h2,.investor-evidence-section h2,.investor-risk-section h2{max-width:13ch;margin:15px 0 18px;font:400 clamp(42px,4.8vw,68px)/.95 var(--public-serif);letter-spacing:-.065em}.investor-thesis-section p,.investor-network-section header p{max-width:62ch;margin:0;color:var(--public-muted);font:400 16px/1.75 var(--font-reading)}.investor-thesis-list{display:grid;border-top:1px solid var(--public-rule)}.investor-thesis-list span{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:17px 0;border-bottom:1px solid var(--public-rule);font:500 18px/1.2 var(--public-serif)}.investor-thesis-list b,.investor-economics-grid b,.investor-evidence-grid b{color:var(--public-rust);font:700 11px/1 var(--font-mono);letter-spacing:.08em}.investor-network-section header{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);gap:50px;align-items:end;margin-bottom:48px}.investor-network-section header .section-kicker{grid-column:1/-1}.investor-network-section header h2{margin-bottom:0}.investor-network-section header p{margin-bottom:3px}.investor-network-grid,.investor-evidence-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--public-rule);border-left:1px solid var(--public-rule)}.investor-network-grid article,.investor-evidence-grid article{min-height:245px;padding:27px;border-right:1px solid var(--public-rule);border-bottom:1px solid var(--public-rule)}.investor-network-grid b{color:var(--public-rust);font:700 10px/1 var(--font-mono);letter-spacing:.1em}.investor-network-grid h3,.investor-evidence-grid h3{margin:58px 0 11px;font:500 27px/1 var(--public-serif);letter-spacing:-.05em}.investor-network-grid p,.investor-evidence-grid p{margin:0;color:var(--public-muted);font:400 14px/1.65 var(--font-reading)}.investor-economics-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--public-rule);border-left:1px solid var(--public-rule)}.investor-economics-grid article{min-height:235px;padding:24px;border-right:1px solid var(--public-rule);border-bottom:1px solid var(--public-rule)}.investor-economics-grid h3{margin:44px 0 11px;font:500 23px/1 var(--public-serif);letter-spacing:-.04em}.investor-economics-grid p{margin:0;color:var(--public-muted);font:400 13px/1.6 var(--font-reading)}.investor-honesty-note{margin:25px 0 0;padding:17px 19px;border-left:3px solid var(--public-rust);background:var(--public-tint);color:var(--public-muted);font:500 13px/1.55 var(--font-reading)}.investor-evidence-grid{grid-template-columns:repeat(4,1fr)}.investor-evidence-grid article{min-height:215px}.investor-evidence-grid h3{margin-top:48px}.investor-risk-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:clamp(42px,8vw,120px);align-items:start}.investor-risk-section ul{display:grid;gap:0;margin:0;padding:0;list-style:none;border-top:1px solid var(--public-rule)}.investor-risk-section li{padding:16px 0;border-bottom:1px solid var(--public-rule);color:var(--public-muted);font:400 15px/1.45 var(--font-reading)}.investor-risk-section li:before{content:"✓";margin-right:10px;color:var(--public-rust);font-weight:700}.investor-source-cta{display:flex;justify-content:space-between;gap:35px;align-items:center;width:min(1120px,calc(100vw - 64px));margin:0 auto;padding:72px 0 110px}.investor-source-cta h2{max-width:11ch;margin:14px 0 12px;font:400 clamp(42px,4.5vw,64px)/.95 var(--public-serif);letter-spacing:-.06em}.investor-source-cta p{max-width:58ch;margin:0;color:var(--public-muted);font:400 15px/1.7 var(--font-reading)}.investor-source-cta .btn{flex:0 0 auto;border-radius:0}
@media(max-width:900px){.investor-split,.investor-network-section header,.investor-risk-section{grid-template-columns:1fr;gap:34px}.investor-network-grid,.investor-evidence-grid{grid-template-columns:repeat(2,1fr)}.investor-economics-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.investor-thesis-section,.investor-network-section,.investor-economics-section,.investor-evidence-section,.investor-risk-section,.investor-source-cta{width:calc(100vw - 32px)}.investor-network-grid,.investor-evidence-grid,.investor-economics-grid{grid-template-columns:1fr}.investor-source-cta{display:block}.investor-source-cta .btn{display:inline-flex;margin-top:25px}}

/* Desktop density follows the supplied Node reference instead of the looser generic page rhythm. */
@media(min-width:901px){.node-reference-page .vira-node-new-hero{padding-top:58px;padding-bottom:58px}.node-reference-page .vira-node-new-hero h1{max-width:15ch;font-size:clamp(50px,5vw,70px)}.node-reference-page .vira-node-new-hero h1 span,.node-reference-page .vira-node-new-hero h1 em{white-space:nowrap}.node-reference-page .vira-node-network-visual{min-height:330px}.node-reference-page .vira-node-trust-row{padding-top:22px;padding-bottom:25px}.node-reference-page .vira-node-fit,.node-reference-page .vira-node-benefits{padding-top:70px;padding-bottom:78px}.node-reference-page .vira-node-fit>header,.node-reference-page .vira-node-benefits header{margin-bottom:30px}.node-reference-page .vira-node-fit-grid article{padding:25px}.node-reference-page .vira-node-benefit-grid article{min-height:225px;padding:24px}.node-reference-page .vira-node-benefit-grid h3{margin-top:34px}.node-reference-page .vira-node-how{padding-top:70px;padding-bottom:72px}.node-reference-page .vira-node-how header{margin-bottom:30px}.node-reference-page .vira-node-step-grid article{min-height:190px;padding:20px 16px}.node-reference-page .vira-node-final-cta{margin-bottom:44px}}
@media(max-width:620px){.node-reference-page .vira-node-new-hero h1 span,.node-reference-page .vira-node-new-hero h1 em{white-space:normal}}

/* ==========================================================================
   Source: node-home.css
   ========================================================================== */
/* Homepage Node teaser: explain the consumer outcome first, then show the network idea. */
html.public-stable .landing>main{display:flex;flex-direction:column}html.public-stable .landing>main>.vira-ref-hero{order:1}html.public-stable .landing>main>.vira-ref-ticker{order:2}html.public-stable .landing>main>.vira-ref-ecosystem{order:3}html.public-stable .landing>main>.vira-ref-manifesto{order:4}html.public-stable .landing>main>.vira-ref-node-teaser{order:5}html.public-stable .landing>main>.vira-ref-stats{order:6}html.public-stable .landing>main>.vira-ref-footnote{order:7}html.public-stable .landing>main>.vira-ref-cta{order:8}
html.public-stable .vira-ref-node-teaser{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);gap:clamp(42px,7vw,100px);align-items:center;width:min(1320px,calc(100vw - 64px));margin:auto;padding:clamp(58px,6vw,86px) 0;border-top:1px solid var(--public-rule);border-bottom:1px solid var(--public-rule)}
html.public-stable .vira-ref-node-teaser-copy h2{max-width:12ch;margin:16px 0 20px;color:var(--public-ink);font:400 clamp(44px,5vw,72px)/.94 var(--public-serif);letter-spacing:-.07em}
html.public-stable .vira-ref-node-teaser-copy p{max-width:55ch;margin:0;color:var(--public-muted);font:400 16px/1.7 var(--font-reading)}
html.public-stable .vira-ref-node-teaser-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:30px}.vira-ref-node-teaser-actions .btn{border-radius:0}.vira-ref-node-teaser-actions .text-link{display:inline-flex;align-items:center;gap:8px;color:var(--public-ink);font:600 13px/1.3 var(--font-reading)}.vira-ref-node-teaser-actions .text-link .icon{width:15px;color:var(--public-rust)}
html.public-stable .vira-ref-node-teaser-explainer{display:grid;gap:22px;padding:18px;border:1px solid var(--public-rule);background:#eee9e1}.vira-ref-node-teaser-network{position:relative;min-height:270px;overflow:hidden;border:1px solid #d7cec2;background:#f8f5ef}.vira-ref-node-teaser-network:before,.vira-ref-node-teaser-network:after{position:absolute;content:"";background:var(--public-rust);opacity:.38}.vira-ref-node-teaser-network:before{top:50%;right:10%;left:10%;height:1px}.vira-ref-node-teaser-network:after{top:10%;bottom:10%;left:50%;width:1px}.vira-ref-node-teaser-network i{position:absolute;width:38px;height:38px;border:1px solid var(--public-rust);border-radius:50%;background:#f8f5ef;box-shadow:0 0 0 8px rgba(169,79,56,.08)}.vira-ref-node-teaser-network i:nth-of-type(1){top:16%;left:14%}.vira-ref-node-teaser-network i:nth-of-type(2){top:18%;right:14%}.vira-ref-node-teaser-network i:nth-of-type(3){bottom:16%;left:16%}.vira-ref-node-teaser-network i:nth-of-type(4){right:16%;bottom:17%}.vira-ref-node-teaser-network b{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:142px;height:100px;transform:translate(-50%,-50%);border:1px solid var(--public-rust);background:var(--public-paper);box-shadow:0 10px 0 #d7cec2;color:var(--public-ink);font:600 18px/1 var(--font-mono);letter-spacing:.14em}.vira-ref-node-teaser-network b span,.vira-ref-node-teaser-network b small{display:block}.vira-ref-node-teaser-network b small{margin-top:8px;color:var(--public-rust);font:700 11px/1 var(--font-mono);letter-spacing:.18em}
html.public-stable .vira-ref-node-teaser-points{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--public-rule)}.vira-ref-node-teaser-points span{display:grid;gap:7px;padding:16px 14px 4px 0}.vira-ref-node-teaser-points span+span{padding-left:16px;border-left:1px solid var(--public-rule)}.vira-ref-node-teaser-points b{color:var(--public-rust);font:700 10px/1 var(--font-mono)}.vira-ref-node-teaser-points strong{font:500 20px/1.05 var(--public-serif)}.vira-ref-node-teaser-points small{color:var(--public-muted);font:400 12px/1.45 var(--font-reading)}
@media(max-width:820px){html.public-stable .vira-ref-node-teaser{grid-template-columns:1fr;width:calc(100vw - 48px);gap:42px;padding-block:60px}.vira-ref-node-teaser-copy h2{max-width:13ch!important}}
@media(max-width:520px){html.public-stable .vira-ref-node-teaser{width:calc(100vw - 32px);padding-block:58px}.vira-ref-node-teaser-points{grid-template-columns:1fr!important}.vira-ref-node-teaser-points span+span{padding-left:0;border-top:1px solid var(--public-rule);border-left:0}.vira-ref-node-teaser-explainer{padding:14px!important}}

/* ==========================================================================
   Source: node-application.css
   ========================================================================== */
/* Node application: detailed operator onboarding, matched to the supplied reference. */
.node-apply-reference-page{background:var(--public-paper)}
.node-apply-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.95fr);gap:clamp(32px,6vw,100px);width:min(1240px,calc(100vw - 96px));margin:auto;padding:74px 0 48px;align-items:center}
.node-apply-hero h1{margin:17px 0 20px;font:400 clamp(52px,5.4vw,78px)/.94 var(--public-serif);letter-spacing:-.07em}.node-apply-hero h1 em{color:var(--public-rust);font-style:normal}.node-apply-hero p{max-width:50ch;margin:0;color:var(--public-muted);font:400 16px/1.7 var(--font-reading)}
.node-apply-hero-art{position:relative;min-height:300px;background:radial-gradient(circle at 50% 48%,rgba(169,79,56,.08),transparent 42%),radial-gradient(circle,#eee4dc 1px,transparent 1px);background-size:auto,18px 18px;overflow:hidden}.node-apply-hero-art:before,.node-apply-hero-art:after{content:"";position:absolute;background:rgba(169,79,56,.35)}.node-apply-hero-art:before{top:50%;left:9%;right:9%;height:1px}.node-apply-hero-art:after{top:14%;bottom:14%;left:50%;width:1px}.node-apply-art-core{position:absolute;z-index:2;top:50%;left:50%;display:grid;place-items:center;width:155px;height:130px;transform:translate(-50%,-50%) perspective(500px) rotateX(7deg) rotateZ(-3deg);border:1px solid #d9b2a1;border-radius:15px;background:#fbf7f3;box-shadow:0 14px 0 #d9cec5,0 24px 32px rgba(31,29,26,.12);color:var(--public-ink);text-align:center;font:700 12px/1.3 var(--font-mono);letter-spacing:.12em}.node-apply-art-core:after{content:"";position:absolute;inset:11px;border:1px solid rgba(169,79,56,.4);border-radius:9px}.node-apply-hero-art i{position:absolute;width:46px;height:42px;border:1px solid #ddc7ba;border-radius:10px;background:#fbf7f3;box-shadow:0 8px 0 #ded3ca,0 12px 15px rgba(31,29,26,.08)}.node-apply-hero-art i:nth-of-type(1){top:18%;left:15%}.node-apply-hero-art i:nth-of-type(2){top:15%;right:14%}.node-apply-hero-art i:nth-of-type(3){bottom:14%;left:15%}.node-apply-hero-art i:nth-of-type(4){right:15%;bottom:15%}
.node-apply-progress{display:grid;grid-template-columns:repeat(4,1fr);width:min(1240px,calc(100vw - 96px));margin:0 auto 18px;padding:15px 24px;border:1px solid var(--public-rule);border-radius:10px;color:var(--public-muted);font:500 12px/1.3 var(--font-reading)}.node-apply-progress span{display:flex;align-items:center;gap:9px;border-right:1px solid var(--public-rule)}.node-apply-progress span:last-child{border:0}.node-apply-progress b{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--public-rule);border-radius:50%;font:500 12px var(--font-reading)}.node-apply-progress .is-active{color:var(--public-rust);font-weight:700}.node-apply-progress .is-active b{background:var(--public-rust);border-color:var(--public-rust);color:var(--public-paper)}
.node-apply-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;width:min(1240px,calc(100vw - 96px));margin:auto;padding:0 0 90px}.node-apply-form{display:grid;gap:16px}.node-apply-card,.node-apply-side-card{padding:24px 25px;border:1px solid var(--public-rule);border-radius:10px;background:var(--public-paper)}.node-apply-card{display:grid;grid-template-columns:30px 1fr;column-gap:10px;row-gap:18px}.node-apply-card-icon{display:grid;place-items:center;width:27px;height:27px;color:var(--public-rust);font-size:24px;line-height:1}.node-apply-card-heading{grid-column:2}.node-apply-card-heading h2,.node-apply-side-card h2{margin:0;font:500 22px/1.1 var(--public-serif);letter-spacing:-.035em}.node-apply-card-heading p,.node-apply-side-card>p{margin:7px 0 0;color:var(--public-muted);font:400 13px/1.5 var(--font-reading)}.node-apply-card>.node-apply-grid,.node-apply-card>.node-apply-upload,.node-apply-card>.node-apply-field,.node-apply-card>.node-apply-consent{grid-column:1/-1}.node-apply-grid{display:grid;gap:17px 18px}.node-apply-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.node-apply-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:2px}.node-apply-form label,.node-apply-field{display:grid;gap:7px;color:var(--public-ink);font:600 10px/1.2 var(--font-mono);letter-spacing:.03em;text-transform:none}.node-apply-form input,.node-apply-form select,.node-apply-form textarea{box-sizing:border-box;width:100%;min-height:42px;padding:10px 12px;border:1px solid #ded6ce;border-radius:6px;background:var(--public-paper);color:var(--public-ink);font:400 14px/1.35 var(--font-reading);outline:none}.node-apply-form input:focus,.node-apply-form select:focus,.node-apply-form textarea:focus{border-color:var(--public-rust);box-shadow:0 0 0 3px rgba(169,79,56,.09)}.node-apply-label{color:var(--public-ink);font:600 10px/1.2 var(--font-mono);letter-spacing:.03em}.node-apply-choice{display:flex;align-items:center;gap:15px;min-height:42px;padding:0 12px;border:1px solid #ded6ce;border-radius:6px;font:400 13px var(--font-reading)}.node-apply-choice label{display:flex;align-items:center;gap:5px;font:400 13px var(--font-reading);white-space:nowrap}.node-apply-choice input,.node-apply-consent input{min-height:0;width:auto;accent-color:var(--public-rust)}.node-apply-upload{display:grid;justify-items:center;gap:9px;padding:24px;border:1px dashed #d7c6bb;border-radius:8px;color:var(--public-muted);text-align:center}.node-apply-upload>span{font-size:26px;color:var(--public-rust)}.node-apply-upload strong{font:500 14px var(--font-reading)}.node-apply-upload small{font:400 12px var(--font-reading)}.node-apply-upload input{display:none}.node-apply-file-button{padding:7px 12px;border:1px solid var(--public-rust);border-radius:5px;background:transparent;color:var(--public-rust);font:600 12px var(--font-reading);cursor:pointer}.node-apply-consent{gap:11px}.node-apply-consent .node-apply-card-heading{grid-column:2}.node-apply-consent>label{grid-column:2;display:flex;align-items:flex-start;gap:9px;font:400 13px/1.4 var(--font-reading)}.node-apply-consent>label input{margin-top:2px}.node-apply-form-actions{display:grid;grid-template-columns:auto auto;align-items:center;justify-content:space-between;gap:16px;padding:3px 0}.node-apply-form-actions .btn{border-radius:6px}.node-apply-form-actions .vira-ref-node-form-status{grid-column:2;text-align:center}.node-apply-sidebar{display:grid;align-content:start;gap:16px}.node-apply-side-card{padding:23px 20px}.node-apply-side-card ol{display:grid;gap:22px;margin:22px 0;padding:0;list-style:none;counter-reset:steps}.node-apply-side-card li{position:relative;padding-left:45px;counter-increment:steps}.node-apply-side-card li:before{content:counter(steps);position:absolute;left:0;top:-3px;display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--public-rule);border-radius:50%;color:var(--public-rust);font:600 12px var(--font-reading)}.node-apply-side-card li:not(:last-child):after{content:"";position:absolute;top:30px;left:15px;height:22px;border-left:1px dashed #d8b5a6}.node-apply-side-card li b{display:block;font:600 13px var(--font-reading);text-transform:capitalize}.node-apply-side-card li span{display:block;margin-top:4px;color:var(--public-muted);font:400 12px/1.4 var(--font-reading)}.node-apply-side-card>small{display:block;padding:10px 12px;border-radius:6px;background:var(--public-tint);color:var(--public-rust);font:500 11px/1.4 var(--font-reading)}.node-apply-side-card ul{display:grid;gap:12px;margin:20px 0;padding:0;list-style:none;color:var(--public-muted);font:400 13px/1.4 var(--font-reading)}.node-apply-side-card li:before{content:"✓";margin-right:8px;color:var(--public-rust);font-weight:700}.node-apply-side-card a{color:var(--public-rust);font:600 13px var(--font-reading);text-decoration:none}.node-apply-side-card a .icon{width:14px;vertical-align:-3px;margin-left:5px}
@media(max-width:900px){.node-apply-hero{grid-template-columns:1fr;width:calc(100vw - 48px)}.node-apply-hero-art{min-height:260px}.node-apply-layout{grid-template-columns:1fr;width:calc(100vw - 48px)}.node-apply-sidebar{grid-template-columns:repeat(2,1fr)}.node-apply-progress{width:calc(100vw - 48px)}}
@media(max-width:620px){.node-apply-hero,.node-apply-layout,.node-apply-progress{width:calc(100vw - 32px)}.node-apply-hero{padding-top:42px}.node-apply-hero h1{font-size:48px}.node-apply-hero-art{min-height:220px}.node-apply-progress{grid-template-columns:repeat(4,1fr);padding:10px 8px;overflow:hidden}.node-apply-progress span{justify-content:center;border:0;font-size:0}.node-apply-progress b{font-size:12px}.node-apply-grid-3,.node-apply-grid-2{grid-template-columns:1fr}.node-apply-card{padding:20px 16px}.node-apply-sidebar{grid-template-columns:1fr}.node-apply-form-actions{grid-template-columns:1fr}.node-apply-form-actions .btn{justify-self:stretch;justify-content:center}.node-apply-form-actions .vira-ref-node-form-status{grid-column:1}.node-apply-choice{gap:8px;padding-inline:8px}.node-apply-choice label{font-size:12px}}

/* ==========================================================================
   Source: node-information.css
   ========================================================================== */
/* Shared visual language for the Node requirements and investor information surfaces. */
.node-info-hero,.investor-center-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.95fr);gap:clamp(34px,6vw,96px);align-items:center;width:min(1240px,calc(100vw - 96px));margin:auto;padding:74px 0 58px}.node-info-hero h1,.investor-center-hero h1{margin:17px 0 20px;font:400 clamp(54px,5.5vw,80px)/.93 var(--public-serif);letter-spacing:-.075em}.node-info-hero h1 em,.investor-center-hero h1 em{font-style:normal;color:var(--public-rust)}.node-info-hero p,.investor-center-hero p{max-width:52ch;margin:0 0 25px;color:var(--public-muted);font:400 16px/1.7 var(--font-reading)}.node-info-art{position:relative;min-height:330px;overflow:hidden;background:radial-gradient(circle at 50% 50%,rgba(169,79,56,.09),transparent 42%),radial-gradient(circle,#eee2d9 1px,transparent 1px);background-size:auto,18px 18px}.node-info-art:before,.node-info-art:after{content:"";position:absolute;background:rgba(169,79,56,.32)}.node-info-art:before{top:50%;left:8%;right:8%;height:1px}.node-info-art:after{top:12%;bottom:12%;left:50%;width:1px}.node-info-server{position:absolute;z-index:2;top:50%;left:50%;display:grid;place-items:center;width:166px;height:150px;transform:translate(-50%,-50%) perspective(520px) rotateX(7deg) rotateZ(-2deg);border:1px solid #d6ad99;border-radius:15px;background:#fbf7f3;box-shadow:0 15px 0 #d9cec5,0 25px 28px rgba(31,29,26,.12);color:var(--public-ink);text-align:center;font:700 12px/1.35 var(--font-mono);letter-spacing:.12em}.node-info-server:after{content:"";position:absolute;inset:12px;border:1px solid rgba(169,79,56,.4);border-radius:9px}.node-info-art i{position:absolute;width:52px;height:47px;border:1px solid #ddc4b5;border-radius:10px;background:#fbf7f3;box-shadow:0 8px 0 #ded3ca,0 13px 18px rgba(31,29,26,.08)}.node-info-art i:nth-of-type(1){top:14%;left:14%}.node-info-art i:nth-of-type(2){top:18%;right:14%}.node-info-art i:nth-of-type(3){bottom:15%;left:14%}.node-info-art i:nth-of-type(4){right:14%;bottom:14%}.investor-center-art i:nth-of-type(5){top:47%;right:26%;width:34px;height:30px}.investor-center-art b{position:absolute;z-index:3;padding:8px 12px;border:1px solid #dec9bb;border-radius:5px;background:#fbf7f3;color:var(--public-muted);font:600 9px var(--font-mono);letter-spacing:.06em}.investor-center-art b:nth-of-type(1){top:17%;left:6%}.investor-center-art b:nth-of-type(2){top:23%;right:5%}
.node-requirements-levels,.node-requirements-checks,.investor-thesis-cards,.investor-economy-flow,.investor-topic-list{width:min(1240px,calc(100vw - 96px));margin:auto;padding:66px 0;border-top:1px solid var(--public-rule)}.node-requirements-levels header,.investor-thesis-cards header,.investor-economy-flow header,.investor-topic-list header{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:32px}.node-requirements-levels h2,.investor-thesis-cards h2,.investor-economy-flow h2,.investor-topic-list h2{max-width:14ch;margin:14px 0 0;font:400 clamp(42px,4.5vw,66px)/.95 var(--public-serif);letter-spacing:-.065em}.node-requirements-levels header p{max-width:46ch;margin:0;color:var(--public-muted);font:400 14px/1.65 var(--font-reading)}.node-level-table{display:grid;grid-template-columns:165px repeat(4,1fr);border:1px solid var(--public-rule);border-radius:10px;overflow:hidden}.node-level-labels,.node-level-table article{display:grid;grid-template-rows:repeat(4,minmax(83px,auto));border-right:1px solid var(--public-rule)}.node-level-labels b{display:flex;align-items:center;padding:15px;border-bottom:1px solid var(--public-rule);font:600 11px/1.3 var(--font-mono);color:var(--public-muted)}.node-level-table article{background:var(--public-paper)}.node-level-table article:nth-of-type(2){background:#fcf8f2}.node-level-title{padding:20px 16px;border-bottom:1px solid var(--public-rule)}.node-level-title b{color:var(--public-rust);font:700 11px var(--font-mono)}.node-level-title h3{margin:16px 0 4px;font:500 22px/1 var(--public-serif);letter-spacing:-.04em}.node-level-title span{color:var(--public-muted);font:400 12px var(--font-reading)}.node-level-table article>p{display:flex;flex-direction:column;justify-content:center;gap:4px;margin:0;padding:12px 15px;border-bottom:1px solid var(--public-rule);color:var(--public-muted);font:400 12px/1.4 var(--font-reading)}.node-level-table article>p strong{color:var(--public-ink);font:600 10px var(--font-mono)}.node-requirements-checks{display:grid;grid-template-columns:1fr 1fr;gap:16px;border-top:0}.node-requirements-checks article{padding:28px;border:1px solid var(--public-rule);border-radius:10px}.node-requirements-checks h2{margin:14px 0 24px;font:400 34px/.98 var(--public-serif);letter-spacing:-.055em}.node-requirements-checks ul{display:grid;gap:12px;margin:0;padding:0;list-style:none;color:var(--public-muted);font:400 14px/1.45 var(--font-reading)}.node-requirements-checks li:before{content:"✓";margin-right:9px;color:var(--public-rust);font-weight:700}.node-requirements-checks label{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--public-rule);color:var(--public-muted);font:400 14px/1.4 var(--font-reading)}.node-requirements-checks input{accent-color:var(--public-rust);margin-top:3px}.node-info-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;width:min(1240px,calc(100vw - 96px));margin:0 auto;padding:0 0 80px}.node-info-bottom p{max-width:62ch;margin:0;color:var(--public-muted);font:400 13px/1.5 var(--font-reading)}
.investor-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;width:min(1240px,calc(100vw - 96px));margin:0 auto;padding:0 0 60px}.investor-metrics article{min-height:145px;padding:20px;border:1px solid var(--public-rule);border-radius:10px;background:var(--public-paper)}.investor-metrics span{display:block;color:var(--public-rust);font:700 11px var(--font-mono)}.investor-metrics b{display:block;margin:16px 0 6px;color:var(--public-muted);font:500 13px var(--font-reading)}.investor-metrics strong{display:block;font:500 24px/1 var(--public-serif);letter-spacing:-.04em}.investor-metrics small{display:block;margin-top:10px;color:var(--public-muted);font:400 12px var(--font-reading)}.investor-thesis-cards>div{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--public-rule);border-right:0}.investor-thesis-cards article{min-height:215px;padding:22px;border-right:1px solid var(--public-rule)}.investor-thesis-cards article>b{color:var(--public-rust);font:700 11px var(--font-mono)}.investor-thesis-cards h3{margin:48px 0 10px;font:500 24px/1 var(--public-serif);letter-spacing:-.04em}.investor-thesis-cards p{margin:0;color:var(--public-muted);font:400 13px/1.55 var(--font-reading)}.investor-economy-flow{background:var(--public-paper)}.investor-flow-grid{display:grid;grid-template-columns:1fr 45px 1fr 45px 1fr;align-items:center}.investor-flow-grid article{min-height:220px;padding:25px;border:1px solid var(--public-rule);border-radius:10px}.investor-flow-grid article:nth-of-type(3){background:#f6f0f7}.investor-flow-grid b{color:var(--public-rust);font:700 10px var(--font-mono)}.investor-flow-grid h3{margin:38px 0 18px;font:500 27px/1 var(--public-serif);letter-spacing:-.045em}.investor-flow-grid ul{display:grid;gap:8px;margin:0;padding:0;list-style:none;color:var(--public-muted);font:400 13px/1.4 var(--font-reading)}.investor-flow-grid li:before{content:"✓";margin-right:8px;color:var(--public-rust)}.investor-flow-arrow{text-align:center;color:var(--public-rust);font-size:26px}.investor-topic-list>div{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.investor-topic-list a{display:grid;grid-template-columns:160px 1fr 20px;gap:12px;align-items:center;padding:15px 16px;border:1px solid var(--public-rule);border-radius:6px;color:var(--public-ink);text-decoration:none}.investor-topic-list a:hover{border-color:var(--public-rust)}.investor-topic-list a b{font:600 13px var(--font-reading)}.investor-topic-list a span{color:var(--public-muted);font:400 12px/1.35 var(--font-reading)}.investor-topic-list a .icon{width:16px;color:var(--public-rust)}.investor-center-cta{display:flex;justify-content:space-between;align-items:center;gap:30px;width:min(1240px,calc(100vw - 96px));margin:0 auto 70px;padding:32px 38px;border-radius:10px;background:var(--public-ink);color:var(--public-paper)}.investor-center-cta h2{max-width:17ch;margin:0 0 12px;color:var(--public-paper);font:400 36px/.98 var(--public-serif);letter-spacing:-.055em}.investor-center-cta p{margin:0;color:#d1cbc2;font:400 14px/1.5 var(--font-reading)}.investor-center-cta .btn-primary{background:var(--public-rust)}
@media(max-width:950px){.node-info-hero,.investor-center-hero{grid-template-columns:1fr;width:calc(100vw - 48px)}.node-level-table{grid-template-columns:125px repeat(4,minmax(180px,1fr));overflow:auto}.node-level-labels,.node-level-table article{min-width:180px}.node-level-labels{min-width:125px}.investor-metrics{grid-template-columns:repeat(2,1fr);width:calc(100vw - 48px)}.investor-thesis-cards,.investor-economy-flow,.investor-topic-list,.node-requirements-levels,.node-requirements-checks,.node-info-bottom,.investor-center-cta{width:calc(100vw - 48px)}.investor-thesis-cards>div{grid-template-columns:repeat(2,1fr)}.investor-thesis-cards article{border-bottom:1px solid var(--public-rule)}.investor-flow-grid{grid-template-columns:1fr;gap:12px}.investor-flow-arrow{transform:rotate(90deg)}.investor-topic-list>div{grid-template-columns:1fr}}
@media(max-width:620px){.node-info-hero,.investor-center-hero,.node-requirements-levels,.node-requirements-checks,.node-info-bottom,.investor-metrics,.investor-thesis-cards,.investor-economy-flow,.investor-topic-list,.investor-center-cta{width:calc(100vw - 32px)}.node-info-hero,.investor-center-hero{padding-top:42px}.node-info-hero h1,.investor-center-hero h1{font-size:49px}.node-info-art{min-height:235px}.node-requirements-levels header,.investor-thesis-cards header,.investor-economy-flow header,.investor-topic-list header{display:block}.node-requirements-levels header p{margin-top:20px}.node-requirements-checks{grid-template-columns:1fr;padding-top:32px}.node-info-bottom,.investor-center-cta{display:block}.node-info-bottom .btn,.investor-center-cta .btn{display:inline-flex;margin-top:22px}.investor-metrics{gap:8px}.investor-metrics article{min-height:125px;padding:14px}.investor-metrics strong{font-size:19px}.investor-thesis-cards>div{grid-template-columns:1fr}.investor-topic-list a{grid-template-columns:1fr 20px}.investor-topic-list a span{grid-column:1}.investor-topic-list a .icon{grid-column:2;grid-row:1/3}}

/* ==========================================================================
   Source: application-shell.css
   ========================================================================== */
/* --------------------------------------------------------------------------
   5. Application Shell & Layout System
   -------------------------------------------------------------------------- */

.app-shell {
  min-height:100vh;
  display:grid;
  grid-template-columns:var(--sidebar) minmax(0,1fr);
  background:var(--bg);
  --control-radius:var(--radius-control);
  --surface-radius:var(--radius-surface);
}

.app-main {
  min-width:0;
  grid-column:2;
}

.sidebar {
  position:fixed;
  inset-block:0;
  inset-inline-start:0;
  width:var(--sidebar);
  background:var(--color-surface-sidebar);
  border-inline-end:1px solid color-mix(in srgb,var(--line) 92%,transparent);
  padding:18px 14px 14px;
  display:flex;
  flex-direction:column;
  z-index:70;
}

html[data-theme="dark"] .sidebar,
html.dark-theme .sidebar { background:#121713; }

.sidebar-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:44px;
  padding:0 4px 18px;
}

.new-chat {
  width:100%;
  justify-content:flex-start;
  margin-bottom:18px;
  background:var(--brand-950);
}

.new-chat:hover { background:var(--brand-800); }

.nav-group { margin-top:18px; }

.nav-label {
  padding:0 8px 7px;
  color:var(--faint);
  font-size:10px;
  font-weight:760;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.sidebar-spacer { flex:1; }

.sidebar-upgrade {
  padding:12px;
  background:var(--ink);
  color:var(--surface);
  border-radius:var(--radius-surface);
  margin:10px 0;
}

.sidebar-upgrade b { font-size:12px; }
.sidebar-upgrade p { font-size:12px;color:color-mix(in srgb,var(--surface) 72%,transparent);margin:4px 0 11px; }

.sidebar-profile {
  display:flex;
  align-items:center;
  gap:9px;
  min-height:50px;
  padding:8px;
  border-radius:var(--radius-control);
  width:100%;
  border:1px solid transparent;
  background:transparent;
  text-align:start;
}

.sidebar-profile:hover {
  background:color-mix(in srgb,var(--surface) 68%,transparent);
  border-color:color-mix(in srgb,var(--line) 72%,transparent);
}

.sidebar-profile b { display:block;font-size:13px; }
.sidebar-profile small { display:block;color:var(--muted);font-size:12px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.sidebar-profile .icon { margin-inline-start:auto; }

.account-popover-wrap { position:relative; }

.account-popover {
  position:absolute;
  inset-block-end:calc(100% + 8px);
  inset-inline:0;
  z-index:90;
  display:grid;
  gap:3px;
  min-width:100%;
  padding:8px;
  border:1px solid var(--line);
  border-radius:var(--radius-surface);
  background:var(--surface);
  box-shadow:0 12px 34px rgba(19,33,25,.08);
}

.account-popover .nav-link {
  width:100%;
  justify-content:flex-start;
}

.topbar {
  height:var(--topbar);
  position:sticky;
  top:0;
  z-index:55;
  background:var(--bg);
  border-bottom:1px solid color-mix(in srgb,var(--line) 92%,transparent);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 clamp(18px,2.2vw,30px);
}

.topbar-left,.topbar-right {
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}

.mobile-sidebar-toggle { display:none; }

.topbar-title {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:13px;
  font-weight:700;
  letter-spacing:-.01em;
}

.topbar-title a { color:var(--muted); }
.topbar-title a:hover { color:var(--ink); }
.topbar-context { margin-top:1px;font-size:12px;color:var(--muted); }

.nav-link,.sidebar-profile,.settings-nav button,.filter-tabs button,.selector-option,.lang-menu button {
  transition:background-color .15s var(--ease),color .15s var(--ease),border-color .15s var(--ease);
}

.app-shell .nav-link {
  min-height:40px;
  height:auto;
  margin-bottom:2px;
  padding:8px 9px;
  border-radius:7px;
  color:var(--muted);
  font-size:13px;
  font-weight:660;
  box-shadow:none;
  transform:none;
}

.app-shell .nav-link:hover {
  background:color-mix(in srgb,var(--surface) 72%,transparent);
  color:var(--ink);
  transform:none;
}

.app-shell .nav-link.active {
  background:var(--color-surface-sidebar-active);
  color:var(--brand-950);
  box-shadow:none;
}

.app-shell .nav-link.active::before {
  inset-inline-start:-2px;
  width:4px;
  height:24px;
  border-radius:var(--radius-pill);
  background:var(--accent);
}

.app-shell .connection-state { border-radius:var(--radius-pill); }
.app-shell .workspace-route-bar { background:var(--bg); }

.mobile-bottom { display:none; }
.sidebar-backdrop { display:none; }

@media(prefers-reduced-motion:no-preference) {
  .app-shell .nav-link { transition:background-color .16s var(--ease),border-color .16s var(--ease),color .16s var(--ease); }
}

@media(prefers-reduced-motion:reduce) {
  .app-shell *, .app-shell *::before, .app-shell *::after { scroll-behavior:auto!important; }
}

@media(prefers-contrast:more) {
  .app-shell .nav-link, .app-shell .sidebar-profile { border-color:currentColor; }
}

@media(max-width:840px) {
  .app-shell { display:block; }
  .mobile-sidebar-toggle { display:grid; }

  html:has(.sidebar.open),
  body:has(.sidebar.open) { overflow:hidden; }

  .sidebar-backdrop {
    position:fixed;
    inset:0;
    z-index:65;
    display:block;
    width:100%;
    height:100%;
    padding:0;
    border:0;
    background:color-mix(in srgb,var(--ink) 34%,transparent);
  }

  .sidebar {
    width:284px;
    transform:translateX(-105%);
    transition:transform .25s var(--ease);
    box-shadow:var(--shadow);
  }

  [dir=rtl] .sidebar { transform:translateX(105%); }
  .sidebar.open { transform:none; }
  .app-main { grid-column:auto; }
  .app-page { padding:26px 18px 90px; }

  .mobile-bottom {
    position:fixed;
    inset-inline:0;
    bottom:0;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    height:62px;
    background:var(--surface);
    border-top:1px solid var(--line);
    z-index:60;
  }

  .mobile-bottom a,.mobile-bottom button {
    border:0;
    background:transparent;
    display:grid;
    place-items:center;
    align-content:center;
    gap:3px;
    font-size:12px;
    color:var(--muted);
  }

  .mobile-bottom .icon { width:18px;height:18px; }
  .mobile-bottom .active { color:var(--accent-dark); }
  .mobile-bottom span { line-height:1.1; }
  .topbar { padding-inline:16px; }

  .app-shell .btn-icon,
  .app-shell .mobile-sidebar-toggle,
  .app-shell .notification-button,
  .app-shell .send-btn {
    width:44px;
    min-width:44px;
    height:44px;
    min-height:44px;
  }

  .app-shell .nav-link,
  .app-shell .filter-tabs button,
  .app-shell .selector-btn,
  .app-shell .lang-trigger { min-height:44px; }

  .app-shell .filter-tabs button,
  .app-shell .selector-btn { height:44px; }
}

@media(max-width:580px) {
  .topbar { padding-inline:11px;height:62px; }
  .topbar-context { display:none; }
  .app-page { padding:22px 12px 82px; }
  .mobile-bottom a,.mobile-bottom button { font-size:12px; }
  .topbar-title { font-size:14px;max-width:118px; }
  .topbar-right>a[href="/settings"] { display:none; }
}

@media(max-width:480px) {
  .topbar .connection-state span,
  .topbar .lang-trigger span { display:none; }
  .topbar .lang-trigger { width:44px;padding-inline:0;justify-content:center; }
  .topbar-title { max-width:126px; }
}

@media(max-width:760px) {
  .app-page { overflow-x:hidden; }
}

/* ==========================================================================
   Source: core-ui-primitives.css
   ========================================================================== */
/* --------------------------------------------------------------------------
   9. Core UI Components, Modals & Controls
   -------------------------------------------------------------------------- */

svg{display:block}
.hidden{display:none!important}
.muted{color:var(--muted)}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:var(--muted)}
.section-kicker{display:flex;align-items:center;gap:var(--space-2);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.13em;color:var(--color-text-muted);margin-bottom:17px}
.section-kicker:before{content:"";width:28px;height:2px;background:var(--brand-500)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.font-mono,code,pre,.key-value,.cost-number{font-family:var(--font-family-mono)}

.icon{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.icon.fill{fill:currentColor;stroke:none}
.avatar-symbol{width:22px;height:22px}

.btn {
  border:1px solid transparent;
  border-radius:var(--radius-control);
  min-height:40px;
  padding:0 15px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:var(--space-2);
  font-size:13px;
  font-weight:700;
  transition:background-color var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard);
  white-space:nowrap;
}

.btn:active{box-shadow:none}

.btn-primary{background:var(--color-action-primary);color:var(--color-text-on-accent);border-color:var(--color-action-primary);box-shadow:var(--shadow-xs)}
.btn-primary:hover{background:var(--color-action-primary-hover);border-color:var(--color-action-primary-hover)}
.btn-accent{background:var(--color-action-accent);border-color:var(--color-action-accent);color:var(--color-text-on-accent)}
.btn-accent:hover{background:var(--color-action-accent-hover);border-color:var(--color-action-accent-hover)}
.btn-soft{background:var(--color-surface-secondary);border-color:var(--color-border-subtle)}
.btn-soft:hover{background:var(--color-surface-tertiary);border-color:var(--color-border-strong)}
.btn-ghost{background:transparent;border-color:transparent}
.btn-ghost:hover{background:color-mix(in srgb,var(--color-surface-secondary) 78%,transparent)}
.btn-outline{background:transparent;border-color:var(--color-border-strong)}
.btn-outline:hover{background:var(--color-surface-secondary);border-color:color-mix(in srgb,var(--color-border-strong) 70%,var(--color-text-primary))}
.btn-danger{background:color-mix(in srgb,var(--color-feedback-danger) 10%,var(--color-surface-primary));border-color:color-mix(in srgb,var(--color-feedback-danger) 24%,var(--color-border-subtle));color:var(--color-feedback-danger)}
.btn-icon{width:40px;padding:0}
.btn-small{min-height:34px;padding:0 10px;font-size:12px}
.btn-wide{width:100%}

.link-btn{border:0;background:none;padding:0;color:var(--color-action-primary-hover);font-weight:700;font-size:13px}
.link-btn:hover{text-decoration:underline;text-underline-offset:3px}

.chip{display:inline-flex;align-items:center;gap:var(--space-1);min-height:29px;padding:0 9px;border-radius:var(--radius-pill);background:var(--color-surface-secondary);border:1px solid var(--color-border-subtle);font-size:12px;font-weight:650}
.chip.dot:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--color-feedback-success)}

.status-dot{display:inline-flex;align-items:center;gap:var(--space-1);min-width:0;color:var(--color-text-muted);font-size:13px;background:transparent;border-radius:0;box-shadow:none}
.status-dot::before{content:"";flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--color-border-strong);box-shadow:none}
.status-dot.on::before{background:var(--color-feedback-success);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-feedback-success) 12%,transparent)}
.status-dot:empty{gap:0}

.input,.textarea{
  width:100%;
  border:var(--border-width-default) solid var(--color-border-subtle);
  border-radius:var(--radius-control);
  background:var(--color-surface-primary);
  padding:var(--space-2);
  font-size:13px;
  outline:0;
}
.input{height:46px}
.textarea{min-height:130px;resize:vertical}
.select{
  height:36px;
  border:var(--border-width-default) solid var(--color-border-subtle);
  background:var(--color-surface-primary);
  border-radius:var(--radius-control);
  padding:0 var(--space-2);
  font-size:13px;
}
.input:focus,.textarea:focus,.select:focus{
  border-color:var(--brand-300);
  box-shadow:0 0 0 var(--focus-ring-width) color-mix(in srgb,var(--color-focus-ring) 18%,transparent)
}

.badge{display:inline-flex;align-items:center;min-height:23px;padding:0 7px;border-radius:var(--radius-pill);font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.055em;background:var(--lime);color:var(--color-text-primary)}
.badge.blue{background:var(--sky)}
.badge.gold{background:var(--gold)}
.badge.gray{background:var(--surface-3)}

.lang-select{position:relative}
.lang-trigger{display:flex;align-items:center;gap:var(--space-1);border:var(--border-width-default) solid var(--color-border-subtle);background:var(--color-surface-primary);height:38px;padding:0 9px;border-radius:var(--radius-control);font-size:12px;font-weight:650}
.lang-trigger:hover{border-color:var(--color-border-strong);background:var(--color-surface-secondary)}
.lang-menu{position:absolute;right:0;top:43px;z-index:120;background:var(--color-surface-primary);border:var(--border-width-default) solid var(--color-border-subtle);box-shadow:var(--shadow-sm);border-radius:var(--radius-surface);padding:5px;min-width:150px}
.lang-menu button{width:100%;border:0;background:transparent;text-align:left;padding:8px 9px;border-radius:var(--radius-tight);font-size:12px}
.lang-menu button:hover,.lang-menu button.active{background:var(--color-surface-secondary)}
.public-menu{display:none}

/* ==========================================================================
   Source: app-components.css
   ========================================================================== */
.nav-label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: #7d7f88;
  padding: 0 12px 8px;
  font-weight: 800;
  padding-inline: 12px;
}

.nav-link {
  height: 44px;
  padding: 0 12px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  gap: 11px;
  font-size: 13px;
  font-weight: 680;
  color: #58615b;
  margin-bottom: 2px;
  position: relative;
  transition: background-color .18s var(--ease),color .18s var(--ease),transform .18s var(--ease);
}

.nav-link .icon {
  width: 18px;
  height: 18px;
}

.nav-link:hover {
  background: rgba(255,253,248,.72);
  color: var(--brand-950);
  transform: translateX(2px);
}

.nav-link.active {
  background: var(--surface);
  color: var(--brand-950);
  box-shadow: inset 0 0 0 1px rgba(77,123,112,.12),var(--shadow-xs);
}

.nav-link.active:before {
  content: "";
  position: absolute;
  left: -2px;
  width: 3px;
  height: 22px;
  border-radius: 4px;
  background: var(--accent);
}

.avatar {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--brand-500);
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 13px;
  font-weight: 850;
}

.app-main {
  grid-column: 2;
  min-width: 0;
}

.card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 24px;
  transition: transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease);
}

.card-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 19px;
}

.card-head h3 {
  font-size: 17px;
  margin: 0;
}

.card-head p {
  font-size: 13px;
  color: var(--muted);
  margin: 3px 0 0;
  line-height: 1.5;
}

.grid-2 {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 18px;
}

.grid-3 {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 18px;
}

.grid-4 {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 18px;
}

.stat {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 22px;
}

.stat small {
  font-size: 13px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .1em;
}

.stat strong {
  display: block;
  font-size: 30px;
  letter-spacing: -.04em;
  margin-top: 9px;
}

.stat .delta {
  font-size: 12px;
  color: var(--green);
}

/* Shared application surfaces retain a single card/stat geometry owner. */
.app-shell .card,
.app-shell .stat,
.app-shell .settings-panel,
.app-shell .settings-nav {
  background:var(--surface);
  border-color:var(--line);
  box-shadow:none
}
.app-shell .card { border-radius:var(--surface-radius);padding:20px }
.app-shell .stat { border-radius:10px;padding:18px }
.app-shell .stat small { color:var(--faint);font-size:10px;font-weight:740;letter-spacing:.1em }
.app-shell .stat strong { margin-top:7px;font:720 28px/1 var(--display);letter-spacing:-.045em }
.app-shell .btn:not(.btn-icon),
.app-shell .input,
.app-shell .textarea,
.app-shell .select,
.app-shell .searchbox,
.app-shell .filter-tabs button,
.app-shell .selector-btn,
.app-shell .selector-menu { border-radius:var(--control-radius) }
.app-shell .input,
.app-shell .textarea,
.app-shell .select,
.app-shell .searchbox,
.app-shell .selector-btn { background:var(--surface) }

@media(prefers-reduced-motion:no-preference) {
  .app-shell .card,
  .app-shell .btn,
  .app-shell .input,
  .app-shell .select,
  .app-shell .textarea { transition:background-color .16s var(--ease),border-color .16s var(--ease),color .16s var(--ease) }
}

@media(prefers-contrast:more) {
  .app-shell .card, .app-shell .stat { border-color:currentColor }
}

.selector-wrap {
  position: relative;
}

.selector-btn {
  border: 1px solid var(--line);
  background: var(--color-surface-primary);
  border-radius: var(--radius-control);
  height: 40px;
  padding: 0 13px;
  display: flex;
  align-items: center;
  gap: var(--space-1);
  font-size: 12px;
  font-weight: 760;
}

.selector-menu {
  position: absolute;
  top: 49px;
  left: 0;
  width: 320px;
  background: var(--color-surface-primary);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  border-radius: var(--radius-surface);
  padding: var(--space-2);
  z-index: 90;
}

.selector-menu.right {
  left: auto;
  right: 0;
}

.selector-option {
  width: 100%;
  border: 0;
  background: transparent;
  border-radius: var(--radius-tight);
  padding: var(--space-3);
  display: flex;
  gap: 10px;
  align-items: start;
  text-align: left;
}

.selector-option:hover,.selector-option.active {
  background: var(--surface-2);
}

.model-logo {
  width: 30px;
  height: 30px;
  border-radius: var(--radius-control);
  background: var(--surface-3);
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 900;
}

.selector-option b {
  display: block;
  font-size: 12px;
}

.selector-option small {
  display: block;
  font-size: 12px;
  color: var(--muted);
  margin-top: 2px;
  line-height: 1.4;
}

.selector-option .badge {
  margin-left: auto;
}

.tool-option {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-3);
  border-radius: var(--radius-tight);
  font-size: 12px;
}

.tool-option input {
  margin-left: auto;
}

.meal-ui {
  display: grid;
  grid-template-columns: 210px 1fr;
  gap: 20px;
}

.meal-ui .recipe-photo {
  min-height: 200px;
}

.meal-ui h3 {
  font-size: 27px;
  letter-spacing: -.04em;
  margin: 0;
}

.nutrition {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 7px;
  margin: 13px 0;
}

.nutrition div {
  padding: 9px;
  border-radius: 10px;
  background: var(--surface-2);
}

.nutrition small {
  display: block;
  color: var(--muted);
  font-size: 12px;
}

.nutrition b {
  font-size: 13px;
}

.send-btn {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  border: 0;
  background: var(--brand-950);
  color: #fff;
  display: grid;
  place-items: center;
}

.send-btn:disabled {
  opacity: .4;
}

.composer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.composer-tools {
  display: flex;
  gap: 4px;
}

.searchbox {
  height: 44px;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 11px;
  padding: 0 11px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  max-width: 380px;
}

.searchbox input {
  border: 0;
  outline: 0;
  background: transparent;
  width: 100%;
  font-size: 13px;
}

.filter-tabs {
  display: flex;
  gap: 5px;
}

.filter-tabs button {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 10px;
  height: 36px;
  padding: 0 11px;
  font-size: 12px;
  min-height: 37px;
}

.filter-tabs button.active {
  background: var(--ink);
  color: #fff;
}

.project-card .project-icon {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  background: var(--sky);
  display: grid;
  place-items: center;
  margin-bottom: 20px;
}

.project-card:nth-child(2) .project-icon {
  background: var(--lav);
}

.project-card:nth-child(3) .project-icon {
  background: var(--gold);
}

.project-card h3 {
  font-size: 15px;
  margin: 0;
}

.project-card p {
  font-size: 12px;
  color: var(--muted);
}

.avatars {
  display: flex;
}

.avatars i {
  width: 23px;
  height: 23px;
  border-radius: 8px;
  background: var(--surface-3);
  border: 2px solid #fff;
  margin-left: -5px;
}

.output-card b {
  font-size: 12px;
}

.output-card small {
  display: block;
  font-size: 12px;
  color: var(--muted);
  margin-top: 3px;
}

.switch {
  width: 42px;
  height: 24px;
  border-radius: 20px;
  background: var(--line-strong);
  border: 0;
  padding: 3px;
  transition: .2s;
}

.switch:before {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  transition: .2s;
}

.switch.on {
  background: var(--brand-500);
}

.switch.on:before {
  transform: translateX(18px);
}

[dir=rtl] .switch.on:before {
  transform: translateX(-18px);
}

.plan-card-app {
  display: flex;
  flex-direction: column;
  min-height: 260px;
  padding: 22px;
}

.plan-card-app.featured {
  border-color: var(--brand-300);
  box-shadow: 0 15px 42px rgba(53,104,93,.10);
}

.plan-card-app h3 {
  font-size: 15px;
  margin: 0;
}

.plan-card-app p {
  font-size: 13px;
  line-height: 1.5;
}

.plan-card-app .price {
  font-size: 28px;
  font-weight: 800;
  margin: 16px 0;
}

.plan-card-app ul {
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
  font-size: 12px;
  line-height: 1.6;
}

.plan-card-app li:before {
  content: "✓";
  color: var(--green);
  margin-right: 7px;
}

[dir=rtl] .plan-card-app li:before {
  margin-right: 0;
  margin-left: 7px;
}

.plan-card-app .btn {
  margin-top: auto;
}

/* ==========================================================================
   Source: app-overlays.css
   ========================================================================== */
.toast {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 200;
  background: var(--color-action-primary);
  color: var(--color-text-on-accent);
  border-radius: var(--radius-control);
  padding: var(--space-2) var(--space-3);
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: 12px;
  box-shadow: var(--shadow);
  animation: toastIn .3s var(--ease);
}

.modal-backdrop {
  position: fixed;
  inset: 0;
  background: var(--color-overlay-scrim);
  backdrop-filter: blur(7px);
  display: grid;
  place-items: center;
  padding: var(--space-4);
  z-index: 160;
}

.modal {
  width: min(500px,100%);
  max-height: 88vh;
  overflow: auto;
  background: var(--color-surface-primary);
  border-radius: var(--radius-surface);
  padding: var(--space-4);
  box-shadow: var(--shadow-surface);
  animation: v7ModalIn .22s var(--ease);
}

.app-shell [data-modal-body] { box-shadow:var(--shadow-surface) }

.modal>.muted {
  font-size: 12px;
  line-height: 1.55;
}

.modal-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
}

.modal-head h2 {
  font-size: 22px;
  letter-spacing: -.04em;
  margin: 0;
}

.modal-footer {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 18px;
}

.selector-menu,.lang-menu {
  transform-origin:top right;
  animation:v71MenuIn .18s var(--ease);
}

[dir=rtl] .selector-menu,[dir=rtl] .lang-menu {
  transform-origin:top left;
}

/* ==========================================================================
   Source: shell-directionality.css
   ========================================================================== */
/* Shared directionality fixes only. Visual shell ownership stays in application-shell.css. */

[dir=rtl] body { text-align:right; }

[dir=rtl] .lang-menu {
  right:auto;
  left:0;
}

[dir=rtl] .selector-menu {
  left:auto;
  right:0;
}

[dir=rtl] .selector-menu.right {
  right:auto;
  left:0;
}

/* ==========================================================================
   Source: genui-workbench-shell.css
   ========================================================================== */
.section-heading-split {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 42px;
}

.section-heading-split>div:first-child {
  max-width: 760px;
}

.gen-tabs {
  display: flex;
  gap: 5px;
  background: #293831;
  border: 1px solid #415048;
  padding: 5px;
  border-radius: 14px;
  white-space: nowrap;
}

.gen-tabs button {
  border: 0;
  background: transparent;
  color: #b8c6bf;
  border-radius: 10px;
  padding: 9px 12px;
  font-size: 12px;
  cursor: pointer;
}

.gen-tabs button.active {
  background: var(--gold);
  color: var(--ink);
  font-weight: 800;
}

.gen-flow-steps {
  display: grid;
  gap: 9px;
  margin-top: 34px;
}

.gen-flow-steps span {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border-radius: 11px;
  color: #c7d1cb;
  background: #2b3933;
  font-size: 13px;
}

.gen-flow-steps i {
  font-style: normal;
  width: 23px;
  height: 23px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #3a4a42;
  font-size: 12px;
}

.gen-flow-steps .active i {
  background: var(--gold);
  color: var(--ink);
}

.gen-auto {
  margin-top: auto;
  display: flex;
  align-items: center;
  gap: 9px;
  color: #9eaea6;
  font-size: 12px;
}

.gen-auto i {
  width: 6px;
  height: 6px;
  box-shadow: 0 0 0 4px rgba(91,146,116,.1);
  animation: statusPulse 1.8s ease-in-out infinite;
}

.gen-canvas {
  position: relative;
  background: #f5f1e8;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.gen-canvas-head {
  height: 59px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 22px;
  border-bottom: 1px solid var(--line);
  font-size: 12px;
  color: var(--muted);
}

.gen-canvas-head>div {
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--ink);
}

.gen-scene {
  padding: 24px;
  flex: 1;
  display: grid;
  place-items: stretch;
  animation: sceneIn .42s var(--ease);
}

@media(max-width:760px) {
  .gen-prompt { border-right:0;border-bottom:1px solid #3b4a43;padding:22px }
  .gen-prompt h3 { font-size:25px }
}

.gen-progress {
  display: flex;
  gap: 5px;
  padding: 0 24px 20px;
}

.gen-progress i {
  height: 3px;
  flex: 1;
  border-radius: 999px;
  background: #d8d2c7;
  overflow: hidden;
}

.gen-progress i.active:after {
  content: "";
  display: block;
  height: 100%;
  background: var(--accent);
  animation: genProgress 5.2s linear forwards;
}

/* ==========================================================================
   Source: command-palette-surface.css
   ========================================================================== */
.command-backdrop {
  align-items: flex-start;
  padding-top: 10vh;
}

.command-palette {
  width: 100%;
  max-width: 600px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 10px 40px rgba(0,0,0,0.15);
  overflow: hidden;
  border: 1px solid var(--line);
}

.command-palette input {
  width: 100%;
  padding: 16px 20px;
  font-size: 16px;
  border: none;
  border-bottom: 1px solid var(--line);
  outline: none;
  background: transparent;
}

.command-results {
  max-height: 400px;
  overflow-y: auto;
  padding: 8px 0;
}

.command-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 20px;
  text-decoration: none;
  color: inherit;
  font-size: 14px;
}

.command-item i {
  opacity: 0.5;
  width: 16px;
  height: 16px;
}

.command-item:hover, .command-item.selected {
  background: var(--surface-2);
}

.command-item.selected {
  background: var(--lime);
}

.command-item.selected i {
  opacity: 1;
}

/* ==========================================================================
   Source: workspace-experience.css
   ========================================================================== */
html[data-workspace-density="compact"]{--workspace-gap:12px}
html[data-workspace-density="compact"] .workspace-surface{padding-block:10px}

.app-shell main,.app-page{min-width:0}
.app-page:not(.chat-page){width:min(100%,var(--workspace-max));margin-inline:auto;padding-inline:clamp(16px,2.4vw,32px)}
.app-page:has(.notification-list){max-width:960px}
.app-page:has(.settings-layout){max-width:1040px}
.app-page:has(.feedback-grid),.app-page:has(.privacy-controls){max-width:1100px}

.page-head h1{text-wrap:balance}
.page-head p{text-wrap:pretty}

.workspace-route-bar{position:sticky;top:0;z-index:18;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:52px;margin:0 calc(clamp(16px,2.4vw,32px)*-1) 20px;padding:8px clamp(16px,2.4vw,32px);border-bottom:1px solid var(--line);background:var(--bg)}
.workspace-route-bar>div:first-child{display:flex;align-items:baseline;gap:9px;min-width:0}
.workspace-route-bar span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-weight:700}
.workspace-route-bar b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--display);font-size:16px;letter-spacing:-.018em}
.workspace-route-status{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;color:var(--muted);font-size:12px}
.workspace-route-status i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 12%,transparent)}
.workspace-route-status i.offline{background:var(--red);box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 12%,transparent)}

.workspace-surface{min-width:0;background:var(--surface);border-color:var(--line);transition:border-color .15s var(--ease),background-color .15s var(--ease)}
.workspace-surface:is(.card,.history-item):hover{border-color:var(--line-strong);box-shadow:none}
.workspace-content-visibility{content-visibility:auto;contain-intrinsic-size:180px}
.workspace-table-scroll{max-width:100%;overflow:auto;overscroll-behavior-inline:contain;border-radius:inherit;scrollbar-width:thin}
.workspace-table-scroll table{min-width:680px}
.workspace-busy{position:relative;pointer-events:none}
.workspace-busy:after{content:"";position:absolute;inset:0;z-index:3;border-radius:inherit;background:color-mix(in srgb,var(--surface) 72%,transparent);cursor:progress}

/* Chat workbench is owned here. No later brand override is allowed. */
.app-shell .chat-page{--chat-readable:820px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:calc(100dvh - var(--topbar));min-height:560px;overflow:hidden;background:var(--bg)}
.app-shell .chat-head{position:relative;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:0 clamp(18px,2.2vw,30px);border-bottom:1px solid var(--line);background:var(--bg)}
.app-shell .chat-selectors{display:flex;flex:1 1 auto;align-items:center;gap:10px;min-width:0}
.app-shell .chat-selectors>.selector-wrap:last-child{margin-inline-start:auto}
.app-shell .chat-meta{display:flex;flex:0 1 auto;align-items:center;justify-content:flex-end;gap:7px;min-width:0;overflow:auto;scrollbar-width:none}
.app-shell .chat-meta::-webkit-scrollbar{display:none}
.app-shell .chat-meta .project-context{flex:0 0 auto;min-height:28px;border-radius:4px;background:transparent}

.model-selector-wrap{min-width:0}
.app-shell .chat-head .model-selector-btn{min-width:0;height:36px;justify-content:flex-start;padding-inline:4px 8px;border-color:transparent;border-radius:4px;background:transparent;box-shadow:none}
.model-selector-btn>span{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.model-selector-btn>small{margin-inline-start:2px;color:var(--faint);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.model-selector-btn>.icon:last-child{margin-inline-start:auto}
.app-shell .chat-head .model-selector-btn:hover,.app-shell .chat-head .model-selector-btn[aria-expanded="true"]{border-color:var(--line);background:var(--surface)}
.app-shell .chat-head .chat-selectors>.selector-wrap:last-child>.selector-btn{height:36px;border-radius:4px;background:transparent;box-shadow:none}
.app-shell .model-selector-menu{width:min(390px,calc(100vw - 32px));padding:7px;border-color:var(--line-strong);border-radius:8px;background:var(--surface);box-shadow:none}
.app-shell .model-selector-menu .selector-option,.app-shell .selector-menu .tool-option{border-radius:4px}
.model-selector-menu .selector-option{padding:11px}
.model-selector-menu .selector-option>span:nth-child(2){min-width:0;flex:1}
.model-selector-menu .selector-option b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.model-selector-menu .selector-option small{font-size:11px;line-height:1.45}
.model-selector-menu .model-logo{border-radius:7px}
.model-selector-menu .model-logo.auto{background:var(--brand-950);color:#fff}
.model-selector-menu .auto-option{border:1px solid transparent}
.model-selector-menu .auto-option.active{border-color:color-mix(in srgb,var(--brand-600) 28%,var(--line));background:var(--brand-50)}
.selector-divider{height:1px;margin:6px 5px;background:var(--line)}

.app-shell .chat-scroll{min-height:0;display:flex;flex-direction:column;overflow:auto;padding-inline:max(18px,calc((100% - var(--chat-readable))/2));scrollbar-gutter:stable;overscroll-behavior:contain;background:var(--bg)}
.app-shell .message{display:grid;width:min(100%,var(--chat-readable));max-width:var(--chat-readable);grid-template-columns:32px minmax(0,1fr);align-items:start;gap:14px;margin-inline:auto;padding:24px 0}
.app-shell .message.user{grid-template-columns:minmax(0,1fr) 32px}
.app-shell .message.user .message-avatar{grid-column:2}
.app-shell .message.user .message-body{grid-column:1;grid-row:1;justify-self:end}
.message-body{min-width:0}
.app-shell .message-text{overflow-wrap:anywhere;font-family:var(--font-reading);font-size:15px;line-height:1.72}
.app-shell .message-avatar{width:32px;height:32px;flex:0 0 32px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2);color:var(--ink);box-shadow:none}
.app-shell .message.assistant .message-avatar{border-color:var(--brand-950);background:var(--brand-950);color:#fff}
.app-shell .message.assistant .message-body{max-width:100%}
.app-shell .message.user .message-body{max-width:min(78%,680px);padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);box-shadow:none}
.app-shell .message-actions-bar{display:flex;gap:6px;margin-top:6px;opacity:.75;box-shadow:none}
.app-shell .citation-link{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.app-shell .citation-badge{display:inline-flex;align-items:center;justify-content:center;margin:0 2px;padding:1px 6px;border-radius:4px;background:var(--gold);color:var(--accent-dark);font-size:.75rem;font-weight:600}
.app-shell .chat-artifact-error{margin-top:8px;padding:12px;border:1px dashed var(--line);border-radius:8px}
.app-shell .chat-artifact-error p{margin:4px 0 0;color:var(--muted);font-size:.85rem}

.app-shell .chat-empty{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;width:min(100%,840px);margin-inline:auto;padding:48px 0 72px;text-align:center}
.app-shell .chat-empty-label{display:inline-flex;min-height:24px;padding:4px 8px;border:1px solid var(--line);border-radius:4px;background:var(--surface-2);color:var(--muted);box-shadow:none}
.app-shell .chat-empty-label i{width:6px;height:6px;border-radius:50%;background:var(--accent)}
.app-shell .chat-empty h1{max-width:12ch;margin:0 0 12px;font:400 clamp(38px,4vw,50px)/.98 var(--public-serif);letter-spacing:-.055em;text-wrap:balance}
.app-shell .chat-empty>p{max-width:620px;margin:0;color:var(--muted);font-family:var(--font-sans);font-size:18px;line-height:1.55}
.app-shell .chat-empty .prompt-grid{display:grid;width:100%;max-width:840px;margin:38px auto 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.app-shell .chat-empty .prompt-card{display:flex;align-items:flex-start;gap:16px;min-height:122px;padding:20px;text-align:start;border:1px solid var(--line-strong);border-radius:4px;background:var(--surface-2);box-shadow:none;transform:none}
.app-shell .chat-empty .prompt-card:hover,.app-shell .chat-empty .prompt-card:focus-visible{border-color:var(--line-strong);background:var(--surface-2);box-shadow:none;transform:none}
.app-shell .chat-empty .prompt-card-icon{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;margin-top:1px;color:var(--ink)}
.app-shell .chat-empty .prompt-card-icon .icon{width:22px;height:22px}
.app-shell .chat-empty .prompt-card-copy{display:block;min-width:0}
.app-shell .chat-empty .prompt-card-copy b{display:block;font-size:16px;font-weight:600;letter-spacing:0}
.app-shell .chat-empty .prompt-card-copy>span{display:block;margin-top:5px;color:var(--muted);font-size:14px;line-height:1.45}
.app-shell .chat-empty .prompt-single{max-width:320px;margin:20px auto 0}

.app-shell .project-context-banner,.app-shell .chat-catalog-notice{border-radius:4px;box-shadow:none}
.app-shell .project-context-banner{margin-bottom:20px}
.chat-catalog-notice{width:min(calc(100% - 28px),var(--chat-readable));margin:0 auto 8px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));background:color-mix(in srgb,var(--accent) 5%,var(--surface));font-size:12px}
.chat-catalog-notice strong{display:block;margin-bottom:2px}
.chat-catalog-notice p{margin:0;color:var(--muted)}

.app-shell .chat-composer-zone{padding:32px clamp(16px,3vw,48px) 24px;background:var(--bg)}
.app-shell .chat-composer{position:relative;display:flex;flex-direction:column;width:min(100%,960px);min-height:120px;margin-inline:auto;padding:0;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);box-shadow:none}
.app-shell .chat-composer[data-model-mode="auto"]{border-color:var(--line-strong)}
.app-shell .chat-composer textarea{display:block;width:100%;min-height:72px;flex:1 1 auto;padding:16px;border:0;border-radius:8px;background:transparent;line-height:1.5;resize:none}
.app-shell .composer-attachments{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px;padding:0 4px}
.app-shell .attachment-bubble{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;background:var(--surface-2);color:var(--ink);font-size:.85rem}
.app-shell .attachment-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app-shell .attachment-progress{color:var(--muted);font-size:.75rem}
.app-shell .attachment-error{color:var(--red);font-size:.75rem}
.app-shell .attachment-remove{display:flex;align-items:center;justify-content:center;padding:2px;border:0;background:none;color:var(--muted)}
.workspace-composer-context{display:flex;align-items:center;gap:6px;min-height:30px;margin:-2px 0 8px;padding-bottom:7px;border-bottom:1px solid var(--line);overflow:auto;scrollbar-width:none}
.workspace-composer-context::-webkit-scrollbar{display:none}
.app-shell .workspace-composer-context span{flex:0 0 auto;padding:4px 7px;border:1px solid var(--line);border-radius:4px;background:var(--surface-2);font-size:12px;font-weight:650;color:var(--muted)}
.workspace-composer-context small{margin-inline-start:auto;flex:0 0 auto;color:var(--faint);font-size:12px}
.app-shell .send-btn{width:36px;height:36px;border-radius:4px;box-shadow:none}
.app-shell .composer-note{margin-top:8px;color:var(--muted);font-size:12px;text-align:center}
.workspace-shortcut-hint{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;margin-top:20px;color:var(--faint);font-size:12px}
.workspace-shortcut-hint kbd{padding:3px 6px;border:1px solid var(--line);border-bottom-color:var(--line-strong);border-radius:5px;background:var(--surface);font:600 11px/1 var(--font-mono)}

.settings-layout,.studio-workspace{gap:var(--workspace-gap)}
.settings-nav,.workspace-side{position:sticky;top:72px;align-self:start;max-height:calc(100dvh - 92px);overflow:auto;scrollbar-width:thin}
.settings-panel,.workspace-main{min-width:0}
.output-detail,.history-list,.recent-studio-runs{max-width:1080px;margin-inline:auto}
.output-detail{display:grid;gap:14px}
.output-detail pre{max-width:100%;overflow:auto}
.projects-grid,.output-grid,.genui-gallery{align-items:stretch}
.project-card,.output-card{height:100%}

.filterbar{position:sticky;top:52px;z-index:10;padding-block:10px;background:var(--bg);border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent)}
.notification-item,.setting-row{min-width:0}
.notification-item>div:nth-child(2),.setting-row>div:first-child{min-width:0}
.notification-item p,.setting-row p{overflow-wrap:anywhere}
[dir="rtl"] .workspace-route-bar,[dir="rtl"] .workspace-composer-context{direction:rtl}
[dir="rtl"] .model-selector-btn>.icon:last-child{margin-inline-start:auto}

/* History is a durable work index, not a card gallery. */
.history-page{padding-bottom:72px}
.history-page>.page-head{max-width:1080px;margin:20px auto 26px;padding-bottom:26px;border-bottom:1px solid var(--line)}
.history-page>.page-head h1{max-width:12ch;font-size:clamp(38px,4.3vw,56px);line-height:.98;letter-spacing:-.052em}
.history-page>.page-head p{max-width:62ch;margin-top:10px;color:var(--muted);line-height:1.65}

/* Shared page-head and state geometry is owned by the workspace surface. */
.app-shell .app-page > .page-head{margin:28px 0 24px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.app-shell .app-page > .page-head h1{max-width:15ch;margin:0;font:400 clamp(40px,4.6vw,60px)/.94 var(--public-serif);letter-spacing:-.065em;text-wrap:balance}
.app-shell .app-page > .page-head p{max-width:64ch;margin:10px 0 0;color:var(--muted);font-family:var(--font-reading);font-size:14px;line-height:1.65;letter-spacing:0}
.app-shell .app-page > .empty-state,.app-shell .app-page > .error-state{width:min(100%,720px);min-height:300px;margin:42px auto;padding:32px;border:1px solid var(--line);border-radius:0;background:var(--surface);box-shadow:none}
.app-shell .empty-state{min-width:0;padding:28px;border:1px solid var(--line);border-radius:0;background:var(--surface)}
.app-shell .empty-state b{display:block;font:400 clamp(26px,3vw,38px)/1 var(--public-serif);letter-spacing:-.05em}
.app-shell .empty-state p{max-width:55ch;margin:12px 0 0;color:var(--muted);font:400 14px/1.65 var(--font-reading)}
.app-shell .empty-state .empty-icon,.app-shell .error-state > div:first-child{display:grid;width:42px;height:42px;place-items:center;margin-bottom:20px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--muted)}
.app-shell .empty-state b,.app-shell .error-state b{font:700 22px/1.12 var(--display);letter-spacing:-.03em}
.app-shell .empty-state p,.app-shell .error-state p{max-width:58ch;color:var(--muted);font-family:var(--font-reading);line-height:1.65}
.app-shell .error-state small{display:block;margin:12px 0;color:var(--faint);font:600 10px/1.5 var(--font-mono);overflow-wrap:anywhere}
.app-shell .loading-state{min-height:320px;display:grid;align-content:center;justify-items:center;gap:12px;color:var(--muted)}
.app-shell .loading-state p{margin:0;font-size:12px}
.app-shell .loading-state .loading-hint{max-width:32ch;color:var(--faint);font:400 12px/1.55 var(--font-reading);text-align:center}
.app-shell .loading-skeleton{width:min(100%,560px);display:grid;gap:10px;opacity:.72}
.app-shell .loading-skeleton span{display:block;height:12px;border-radius:4px;background:var(--surface-2);animation:vira-skeleton 1.4s ease-in-out infinite}
.app-shell .loading-skeleton span:nth-child(1){width:38%;height:18px}.app-shell .loading-skeleton span:nth-child(2){width:82%}.app-shell .loading-skeleton span:nth-child(3){width:68%}.app-shell .loading-skeleton span:nth-child(4){width:52%}
@keyframes vira-skeleton{0%,100%{opacity:.45}50%{opacity:.9}}
@media (prefers-reduced-motion:reduce){.app-shell .loading-skeleton span{animation:none}}
.app-shell .spinner{width:24px;height:24px;border-width:2px}

@media(max-width:760px){
  .app-shell .app-page > .page-head{margin-top:18px;padding-bottom:18px}
  .app-shell .app-page > .page-head h1{font-size:clamp(38px,11vw,50px)}
  .app-shell .app-page > .empty-state,.app-shell .app-page > .error-state{min-height:300px;margin:24px auto;padding:22px}
}

@media(prefers-contrast:more){
  .app-shell .empty-state,.app-shell .error-state{border-color:currentColor}
}

.history-filterbar{max-width:1080px;margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0 14px}
.history-filterbar .searchbox{width:min(420px,100%);border-radius:8px;background:var(--surface)}
.history-filterbar .filter-tabs{flex:0 0 auto}
.history-filterbar .filter-tabs button{min-height:36px;border-radius:7px}
.history-list{display:grid;gap:38px}
.history-group{display:grid;gap:0}
.history-group-title{margin:0;padding:0 0 10px;border-bottom:1px solid var(--line);color:var(--faint);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.history-item{display:grid;grid-template-columns:36px minmax(0,1fr) minmax(210px,auto);gap:16px;align-items:start;padding:18px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
.history-item:hover{background:transparent!important;border-color:var(--line-strong)!important}
.history-icon{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2);color:var(--muted)}
.history-icon .icon{width:16px;height:16px}
.history-details{min-width:0}
.history-title{display:block;width:max-content;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--display);font-size:16px;font-weight:720;letter-spacing:-.02em}
.history-title:hover{text-decoration:underline;text-underline-offset:3px}
.history-details>p{max-width:70ch;margin:6px 0 0;overflow:hidden;color:var(--muted);font-size:13px;line-height:1.55;text-overflow:ellipsis;white-space:nowrap}
.history-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.history-chips .chip{min-height:24px;padding-inline:7px;border-radius:999px;background:transparent;color:var(--faint);font-size:10px}
.history-meta{display:grid;grid-template-columns:auto auto;gap:4px 12px;align-items:center;justify-items:end;color:var(--faint);font-size:11px}
.history-meta time,.history-meta>small{white-space:nowrap}
.history-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:4px;margin-top:7px}
.history-actions .btn{min-width:32px;min-height:32px;padding-inline:8px;border-radius:7px}
.history-actions .danger{color:var(--red)}
.history-item[data-archived="true"] .history-icon{border-color:color-mix(in srgb,var(--brand-600) 24%,var(--line));background:var(--brand-50)}

@media(max-width:980px){
  :root{--workspace-readable:820px}
  .workspace-route-bar{top:0}
  .settings-nav,.workspace-side{position:static;max-height:none}
  .studio-workspace,.settings-layout{grid-template-columns:1fr}
  .workspace-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .workspace-side>h3,.workspace-side>.badge{grid-column:1/-1}
  .filterbar{top:52px}
  .history-item{grid-template-columns:36px minmax(0,1fr)}
  .history-meta{grid-column:2;grid-template-columns:auto auto;justify-items:start}
  .history-actions{justify-content:flex-start}
}

@media(max-width:840px){
  .app-shell .chat-page{height:calc(100dvh - var(--topbar) - 62px)}
  .app-shell .chat-scroll{padding-inline:18px}
  .app-shell .chat-composer-zone{padding-inline:14px}
}

@media(max-width:720px){
  .app-page:not(.chat-page){padding-inline:14px}
  .workspace-route-bar{margin-inline:-14px;padding-inline:14px}
  .workspace-route-bar>div:first-child span{display:none}
  .workspace-route-status{font-size:0}
  .workspace-route-status i{width:8px;height:8px}
  .app-shell .chat-page{min-height:500px;height:calc(100dvh - var(--topbar) - 62px)}
  .app-shell .chat-head{min-height:56px;align-items:center;padding-inline:10px}
  .app-shell .chat-meta{display:none}
  .app-shell .chat-selectors{width:100%}
  .app-shell .chat-selectors>.selector-wrap:first-child{flex:1 1 auto;min-width:0}
  .app-shell .chat-head .model-selector-btn{width:100%}
  .model-selector-btn>small{display:none}
  .app-shell .chat-scroll{padding-inline:12px}
  .app-shell .chat-empty{padding:42px 2px 32px}
  .app-shell .chat-empty h1{font-size:clamp(38px,10vw,46px)}
  .app-shell .chat-empty>p{font-size:16px}
  .app-shell .chat-empty .prompt-grid{grid-template-columns:1fr;margin-top:28px}
  .app-shell .chat-empty .prompt-card{min-height:92px;padding:16px}
  .app-shell .chat-empty .prompt-card:nth-child(n+4){display:none}
  .app-shell .message{grid-template-columns:28px minmax(0,1fr);gap:10px;padding:18px 0}
  .app-shell .message.user{grid-template-columns:minmax(0,1fr) 28px}
  .app-shell .message-avatar{width:28px;height:28px;flex-basis:28px}
  .app-shell .message.user .message-body{max-width:calc(100% - 38px)}
  .app-shell .chat-composer-zone{padding:24px 14px 16px}
  .app-shell .chat-composer{width:100%;min-height:120px;border-radius:8px}
  .app-shell .chat-composer textarea{min-height:72px;padding:14px}
  .workspace-composer-context small{display:none}
  .workspace-side{grid-template-columns:1fr}
  .public-proof-grid{min-width:0}
  .grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-head{align-items:flex-start}
  .page-actions{width:100%;overflow:auto;padding-bottom:2px}
  .filterbar{position:relative;top:auto;border-bottom:0}
  .history-page>.page-head{margin-top:10px;padding-bottom:22px}
  .history-page>.page-head h1{font-size:clamp(36px,11vw,48px)}
  .history-filterbar{align-items:stretch;flex-direction:column;padding:8px 0 18px}
  .history-filterbar .searchbox{width:100%}
  .history-filterbar .filter-tabs{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .history-item{grid-template-columns:30px minmax(0,1fr);gap:12px;padding:16px 0}
  .history-icon{width:28px;height:28px}
  .history-meta{grid-column:2;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:6px 12px}
  .history-actions{width:100%;overflow-x:auto;justify-content:flex-start;padding-top:2px;scrollbar-width:none}
  .history-actions::-webkit-scrollbar{display:none}
  .history-actions .btn{flex:0 0 auto}
}

@media(max-width:580px){
  .app-shell .selector-menu{position:fixed;top:118px;right:10px!important;left:10px!important;width:auto}
  .app-shell .chat-empty>p{display:none}
  .app-shell .composer-tools .chip{display:none}
  .filterbar{display:grid}
}

@media(max-width:480px){
  .grid-4,.grid-3,.grid-2{grid-template-columns:1fr}
  .workspace-shortcut-hint{display:none}
  .app-shell .chat-head{padding-inline:10px}
  .app-shell .chat-selectors{width:100%}
  .app-shell .chat-selectors>.selector-wrap:first-child{flex:1;min-width:0}
  .app-shell .chat-head .model-selector-btn{width:100%;min-width:0}
  .model-selector-btn>span{max-width:120px}
  .app-shell .message{gap:8px}
  .app-shell .workspace-composer-context span:nth-of-type(n+3){display:none}
  .workspace-route-bar{min-height:48px;margin-bottom:14px}
  .workspace-route-bar b{font-size:15px}
  .history-details>p{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .history-actions a.btn{min-width:max-content}
}

@media(prefers-reduced-motion:reduce){
  .workspace-surface,.model-selector-menu .selector-option,.app-shell .chat-empty .prompt-card,.app-shell .chat-head .selector-btn,.app-shell .message-actions-bar{transition:none!important}
  .chat-scroll{scroll-behavior:auto!important}
}

/* ==========================================================================
   Source: project-workspace.css
   ========================================================================== */
.project-detail-page{max-width:1160px}
.projects-page>.page-head{margin-bottom:28px}
.projects-grid{gap:16px}
.app-shell .projects-grid>.empty-state{grid-column:1/-1;display:grid;align-content:center;justify-items:start;gap:0;min-height:310px;margin:0;padding:clamp(28px,4vw,52px);border:1px solid var(--line);border-radius:0;background:var(--surface)}
.app-shell .projects-grid>.empty-state b{max-width:10ch;font:400 clamp(32px,4vw,48px)/.98 var(--public-serif);letter-spacing:-.055em}
.app-shell .projects-grid>.empty-state p{max-width:48ch;margin:14px 0 24px;color:var(--muted);font:400 15px/1.65 var(--font-reading)}
.app-shell .projects-grid>.empty-state .btn{border-radius:0}

/* Project list: durable work index, not a rounded SaaS gallery. */
.app-shell .projects-page .project-card{
  display:flex;
  min-height:244px;
  flex-direction:column;
  padding:24px;
  border-radius:6px;
  background:transparent;
  box-shadow:none;
  transform:none
}
.app-shell .projects-page .project-card:hover{transform:none;border-color:var(--line-strong);background:var(--surface)}
.project-card-top,.project-card footer{display:flex;align-items:center;justify-content:space-between;gap:12px}
.app-shell .projects-page .project-icon{display:grid;place-items:center;width:38px;height:38px;margin:0;border:1px solid var(--line);border-radius:6px;background:var(--surface-2);color:var(--muted)}
.app-shell .projects-page .project-icon .icon{width:17px;height:17px}
.project-card h2{margin:28px 0 8px;font:700 20px/1.15 var(--display);letter-spacing:-.025em}
.project-card p{margin:0;color:var(--muted);font-family:var(--font-reading);font-size:13px;line-height:1.65}
.project-card footer{margin-top:auto;padding-top:24px;border-top:1px solid var(--line)}
.project-card footer time{color:var(--faint);font-size:11px}
.project-card-actions{display:flex;align-items:center;gap:6px}

/* Project detail: Stitch-inspired hierarchy backed only by real relations. */
.project-detail-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:end;padding:14px 0 26px;border-bottom:1px solid var(--line)}
.project-detail-hero h1{max-width:760px;margin:8px 0 8px;font:400 clamp(40px,4vw,46px)/.96 var(--public-serif);letter-spacing:-.06em;text-wrap:balance}
.project-detail-hero p{max-width:720px;margin:0;color:var(--muted);font-family:var(--font-reading);font-size:15px;line-height:1.65;text-wrap:pretty}
.project-backlink{display:inline-flex;margin-bottom:18px;color:var(--muted);font-size:12px;font-weight:680}
.project-eyebrow{display:block;color:var(--faint);font-size:10px;font-weight:780;letter-spacing:.12em;text-transform:uppercase}

/* Tabs behave like workspace navigation, never like a pill switcher. */
.app-shell .project-detail-page .project-tabs{
  display:flex;
  gap:24px;
  margin:18px 0 24px;
  padding:0;
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  background:transparent;
  overflow:auto;
  scrollbar-width:none
}
.project-tabs::-webkit-scrollbar{display:none}
.app-shell .project-detail-page .project-tabs a{
  position:relative;
  display:flex;
  align-items:center;
  gap:6px;
  min-height:42px;
  padding:0 0 11px;
  border-radius:0;
  border-bottom:2px solid transparent;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
  white-space:nowrap
}
.app-shell .project-detail-page .project-tabs a:hover{color:var(--ink)}
.app-shell .project-detail-page .project-tabs a.active{background:transparent;color:var(--ink);border-bottom-color:var(--accent);box-shadow:none}
.app-shell .project-detail-page .project-tabs small{min-width:auto;padding:0;background:transparent;color:var(--faint);font-size:10px;text-align:center}
.project-tab-panel{min-width:0}

/* Counts lead the workspace; editable context and source truth follow beneath. */
.project-detail-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,.75fr);gap:18px;align-items:start}
.app-shell .project-detail-page .project-context-rail{display:contents}
.app-shell .project-detail-page .project-counts{
  grid-column:1/-1;
  grid-row:1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent
}
.app-shell .project-detail-page .project-counts div{
  min-width:0;
  padding:17px 18px;
  border:1px solid var(--line);
  border-radius:6px;
  background:transparent
}
.app-shell .project-detail-page .project-counts strong,.app-shell .project-detail-page .project-counts span{display:block}
.app-shell .project-detail-page .project-counts strong{font:720 25px/1 var(--display);letter-spacing:-.04em}
.app-shell .project-detail-page .project-counts span{margin-top:7px;color:var(--faint);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}

.app-shell .project-detail-page .project-edit-card{grid-column:1;grid-row:2;border-radius:8px;padding:24px;box-shadow:none}
.project-edit-card form{display:grid;gap:16px}
.project-edit-card label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:700}
.project-edit-card .form-actions{margin-top:18px}
.app-shell .project-detail-page .project-truth-panel{
  grid-column:2;
  grid-row:2;
  padding:22px;
  border:1px solid var(--line);
  border-radius:8px;
  background:transparent;
  box-shadow:none
}
.project-truth-panel>span{display:block;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.project-truth-panel strong{display:block;margin:10px 0 8px;font:700 18px/1.2 var(--display);letter-spacing:-.025em}
.project-truth-panel p{margin:0;color:var(--muted);font-family:var(--font-reading);font-size:12px;line-height:1.65}

.app-shell .project-detail-page .project-relation-card{padding:0;border-radius:8px;box-shadow:none;overflow:hidden}
.project-relation-card>.card-head{margin:0;padding:22px;border-bottom:1px solid var(--line)}
.project-relation-card>.card-head p{max-width:660px;margin:4px 0 0}
.project-relation-tools{display:flex;align-items:center;gap:9px;padding:12px 22px;border-bottom:1px solid var(--line);background:var(--surface-2)}
.project-relation-tools label{position:relative;overflow:hidden}
.project-relation-tools input[type=file]{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}
[data-project-upload-status]{min-width:0;color:var(--muted);font-size:11px;line-height:1.4}
.project-file-row,.project-conversation-row{display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:0;padding:16px 22px;border-bottom:1px solid var(--line);transition:background-color .14s var(--ease)}
.project-file-row:hover,.project-conversation-row:hover{background:var(--surface-2)}
.project-file-row>div:first-child,.project-conversation-row>div{display:flex;align-items:center;gap:11px;min-width:0}
.project-file-row span,.project-conversation-row span{min-width:0}
.project-file-row b,.project-conversation-row b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.project-file-row small,.project-conversation-row small{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px}
.project-file-actions,.project-row-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.project-conversation-row time{flex:0 0 auto;color:var(--faint);font-size:11px}
.project-relation-action{padding:18px 22px}

@media(max-width:920px){
  .project-detail-hero{grid-template-columns:1fr;align-items:start}
  .project-detail-hero .page-actions{width:100%;justify-content:flex-start}
  .project-detail-grid{grid-template-columns:1fr}
  .app-shell .project-detail-page .project-context-rail{display:contents}
  .app-shell .project-detail-page .project-counts{grid-column:1;grid-row:1}
  .app-shell .project-detail-page .project-edit-card{grid-column:1;grid-row:2}
  .app-shell .project-detail-page .project-truth-panel{grid-column:1;grid-row:3}
}
@media(max-width:640px){
  .app-shell .projects-page .project-card{min-height:210px;padding:20px}
  .project-detail-hero h1{font-size:42px}
  .app-shell .project-detail-page .project-tabs{gap:18px;margin-top:14px}
  .app-shell .project-detail-page .project-counts{grid-template-columns:1fr}
  .app-shell .project-detail-page .project-counts div{display:flex;align-items:center;justify-content:space-between;padding:14px 16px}
  .app-shell .project-detail-page .project-counts span{margin-top:0}
  .project-file-row,.project-conversation-row{align-items:flex-start;padding-inline:14px}
  .project-file-row{flex-direction:column}
  .project-file-actions,.project-row-actions{width:100%;justify-content:flex-end}
  .project-conversation-row time{display:none}
  .project-relation-tools{align-items:flex-start;flex-direction:column;padding-inline:14px}
}
@media(prefers-reduced-motion:reduce){
  .project-file-row,.project-conversation-row,.app-shell .projects-page .project-card{transition:none!important}
}

/* ==========================================================================
   Source: output-vira-ui.css
   ========================================================================== */
.outputs-page,.output-detail-page,.vira-ui-page{max-width:1180px}

/* Outputs library: preview-led durable work index, not a stacked settings list. */
.output-library-shell{overflow:visible;border:0;border-radius:0;background:transparent}
.output-filterbar{position:relative;top:auto;display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:14px;align-items:center;margin:0;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}
.output-filterbar .searchbox{min-width:0;border-radius:4px;background:var(--bg)}
.output-filterbar .filter-tabs{justify-content:flex-end;overflow:auto}
.output-filterbar .filter-tabs button{border-radius:4px}
.output-library-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}
.output-library-row{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:var(--surface);box-shadow:none}
.output-library-row:last-child{border-bottom:1px solid var(--line)}
.output-library-link{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;grid-template-rows:150px auto;gap:0 10px;align-items:center;min-height:280px;padding:0;color:inherit;transition:background-color .14s var(--ease),border-color .14s var(--ease)}
.output-library-link:hover{background:var(--surface-2)}
.output-library-icon{grid-column:1/-1;display:grid;width:100%;height:150px;place-items:center;border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--surface-2);color:var(--brand-800)}
.output-library-icon .icon{width:28px;height:28px}
.output-library-copy{align-self:stretch;min-width:0;padding:18px 0 18px 18px}
.output-library-copy b,.output-library-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.output-library-copy b{font:700 18px/1.2 var(--display);letter-spacing:-.025em}
.output-library-copy small{margin-top:8px;color:var(--muted);font-size:11px}
.output-library-link time{align-self:end;padding:0 0 19px;color:var(--faint);font-size:10px;white-space:nowrap}
.output-library-link>.icon:last-child{align-self:end;width:16px;height:16px;margin:0 16px 19px 0;color:var(--muted)}

/* Output detail: identity and source context support the work product instead of dominating it. */
.output-detail-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;padding:14px 0 24px;border-bottom:1px solid var(--line)}
.output-detail-hero h1{max-width:790px;margin:8px 0 8px;font:400 clamp(42px,4.8vw,62px)/.94 var(--public-serif);letter-spacing:-.065em;text-wrap:balance}
.output-detail-hero p{margin:0;color:var(--muted);font-size:11px}
.output-backlink{display:inline-flex;margin-bottom:18px;color:var(--muted);font-size:12px;font-weight:680}
.output-eyebrow{display:block;color:var(--faint);font-size:10px;font-weight:780;letter-spacing:.12em;text-transform:uppercase}
.output-detail-actions{justify-content:flex-end}
.output-identity-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 24px;padding:0;border:0;border-radius:0;background:transparent}
.output-identity-panel>div{min-width:0;padding:14px 16px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}
.output-identity-panel>div:last-of-type{border-inline-end:1px solid var(--line)}
.output-identity-panel span,.output-identity-panel strong{display:block}
.output-identity-panel span{color:var(--faint);font-size:10px;font-weight:760;letter-spacing:.08em;text-transform:uppercase}
.output-identity-panel strong{margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:650 11px/1.4 var(--font-mono)}
.output-identity-panel>p{grid-column:1/-1;margin:0;padding:13px 0;border:0;border-top:1px solid var(--line);color:var(--muted);font-size:11px}
.output-context-links{grid-column:1/-1;display:flex;gap:8px;padding:0;border:0;background:transparent}
.output-context-link{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 9px;border:1px solid var(--line);border-radius:4px;background:var(--surface);font-size:11px;font-weight:700}
.output-detail{display:grid;gap:14px;max-width:980px;margin-inline:auto}
.output-artifact-block{min-width:0}

/* Vira UI catalog: backend release tier remains the source of truth. */
.vira-ui-truth-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 26px;border:0;border-radius:0;background:transparent}
.vira-ui-truth-strip>div{padding:16px 18px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}
.vira-ui-truth-strip>div:last-child{border-inline-end:1px solid var(--line)}
.vira-ui-truth-strip strong,.vira-ui-truth-strip span{display:block}
.vira-ui-truth-strip strong{font:720 28px/1 var(--display);letter-spacing:-.04em}
.vira-ui-truth-strip span{margin-top:6px;color:var(--muted);font-size:11px}
.vira-ui-filterbar{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;align-items:center;margin:0 0 22px;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}
.vira-ui-filterbar .searchbox{min-width:0;background:var(--bg)}
.vira-ui-filterbar .filter-tabs{justify-content:flex-end;overflow:auto}
.vira-ui-filter-empty{margin-top:18px}
.vira-ui-release-group{margin-top:28px}
.vira-ui-release-group>header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.vira-ui-release-group>header span{font:700 18px/1.2 var(--display);letter-spacing:-.025em}
.vira-ui-release-group>header p{max-width:700px;margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.vira-ui-release-group>header strong{color:var(--faint);font:650 12px/1 var(--font-mono)}
.vira-ui-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.vira-ui-card{display:flex;min-width:0;min-height:210px;flex-direction:column;padding:0;border:1px solid var(--line);border-radius:6px;background:var(--surface);box-shadow:none;overflow:hidden;transition:border-color .14s var(--ease),background-color .14s var(--ease)}
.vira-ui-card:hover{border-color:var(--line-strong);background:var(--surface-2)}
.vira-ui-card-copy{padding:20px 16px 14px}
.vira-ui-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.vira-ui-card-head>span:last-child{overflow:hidden;color:var(--faint);font:600 10px/1 var(--font-mono);text-overflow:ellipsis;white-space:nowrap;text-transform:lowercase}
.vira-ui-card h3{margin:13px 0 6px;font:700 18px/1.2 var(--display);letter-spacing:-.025em}
.vira-ui-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}
.vira-ui-card>.btn{margin:auto 16px 16px;align-self:flex-start}
.vira-ui-card[data-release-tier="experimental"]{border-style:dashed}

/* Project Outputs relation owns only its row; Project metrics stay in project-workspace.css. */
.project-output-row{display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:0;padding:15px 20px;border-bottom:1px solid var(--line);transition:background-color .14s var(--ease)}
.project-output-row:hover{background:var(--surface-2)}
.project-output-row>div{display:flex;align-items:center;gap:11px;min-width:0}
.project-output-row span{min-width:0}
.project-output-row b,.project-output-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.project-output-row b{font-size:13px}
.project-output-row small{margin-top:3px;color:var(--muted);font-size:11px}
.project-output-row time{flex:0 0 auto;color:var(--faint);font-size:11px}

@media(max-width:960px){
  .output-library-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vira-ui-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .output-detail-hero{grid-template-columns:1fr}
  .output-detail-actions{justify-content:flex-start}
  .output-identity-panel{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .output-filterbar{grid-template-columns:1fr}
  .output-filterbar .filter-tabs{justify-content:flex-start}
}
@media(max-width:620px){
  .output-library-list{grid-template-columns:1fr;gap:12px}
  .output-library-link{grid-template-rows:118px auto;min-height:238px}
  .output-library-icon{height:118px}
  .output-detail-hero h1{font-size:42px}
  .output-detail-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .output-detail-actions .btn{width:100%}
  .output-identity-panel{grid-template-columns:1fr;gap:8px}
  .output-context-links{flex-direction:column}
  .vira-ui-truth-strip{grid-template-columns:1fr;gap:8px}
  .vira-ui-filterbar{grid-template-columns:1fr}
  .vira-ui-filterbar .filter-tabs{justify-content:flex-start}
  .vira-ui-truth-strip>div{display:flex;align-items:center;justify-content:space-between}
  .vira-ui-grid{grid-template-columns:1fr}
  .vira-ui-card{min-height:210px}
  .project-output-row time{display:none}
}
@media(prefers-reduced-motion:reduce){.output-library-link,.vira-ui-card,.project-output-row{transition:none!important}}

/* ==========================================================================
   Source: studio-experience.css
   ========================================================================== */
.studio-index-page,.studio-live-page{max-width:1180px}
.studio-truth-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;margin:0 0 28px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.studio-truth-strip>div{padding:16px 18px;border-inline-end:1px solid var(--line)}
.studio-truth-strip>div:last-child{border-inline-end:0}
.studio-truth-strip strong,.studio-truth-strip span{display:block}
.studio-truth-strip strong{font:720 28px/1 var(--display);letter-spacing:-.04em}
.studio-truth-strip span{margin-top:6px;color:var(--muted);font-size:11px}
.studio-index-intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:40px;align-items:end;margin:0 0 18px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.studio-index-intro h2{max-width:720px;margin:6px 0 0;font:400 clamp(34px,4.2vw,54px)/.96 var(--public-serif);letter-spacing:-.06em;text-wrap:balance}
.studio-index-intro>p{margin:0;color:var(--muted);font-size:12px;line-height:1.65}
.studio-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.studio-catalog-card{display:flex;min-width:0;min-height:360px;flex-direction:column;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.studio-catalog-card>header{display:flex;align-items:center;justify-content:space-between;gap:16px}
.studio-catalog-card>header>div:last-child{display:grid;justify-items:end;gap:5px}
.studio-catalog-card>header small{color:var(--faint);font:600 10px/1.2 var(--font-mono)}
.studio-catalog-mark{display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--brand-800);color:var(--surface);font:760 11px/1 var(--font-mono);letter-spacing:.08em}
.studio-catalog-copy{margin-top:34px}
.studio-catalog-copy h2{margin:7px 0 10px;font:720 28px/1.04 var(--display);letter-spacing:-.035em}
.studio-catalog-copy p{max-width:560px;margin:0;color:var(--muted);font-size:13px;line-height:1.65}
.studio-expected-flow{display:flex;flex-wrap:wrap;gap:6px;margin:24px 0 0;padding:0;list-style:none}
.studio-expected-flow li{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:0 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);font-size:10px}
.studio-expected-flow li span{width:5px;height:5px;border-radius:50%;background:var(--sage-500,var(--muted))}
.studio-expected-flow li b{font-weight:680}
.studio-catalog-card>footer{display:flex;gap:8px;margin-top:auto;padding-top:26px}
.studio-unavailable-reason{margin:14px 0 0;color:var(--muted);font-size:11px;line-height:1.5}
.studio-recent{margin-top:34px}
.studio-recent>header{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.studio-recent>header h2{margin:4px 0 0;font:700 22px/1.1 var(--display);letter-spacing:-.03em}
.studio-recent>header strong{color:var(--faint);font:650 12px/1 var(--font-mono)}
.studio-run-list{display:grid}
.studio-run-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto 18px;gap:12px;align-items:center;min-height:66px;padding:10px 2px;border-bottom:1px solid var(--line)}
.studio-run-mark{display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);font:700 9px/1 var(--font-mono)}
.studio-run-copy{min-width:0}
.studio-run-copy b,.studio-run-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.studio-run-copy b{font-size:12px}.studio-run-copy small{margin-top:3px;color:var(--muted);font-size:10px}
.studio-run-row time{color:var(--faint);font-size:10px;white-space:nowrap}
.studio-live-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;padding:6px 0 22px;border-bottom:1px solid var(--line)}
.studio-live-hero h1{max-width:820px;margin:7px 0 8px;font:400 clamp(42px,5.2vw,66px)/.94 var(--public-serif);letter-spacing:-.065em;text-wrap:balance}
.studio-live-hero p{max-width:760px;margin:0;color:var(--muted);font-size:12px;line-height:1.55}
.studio-backlink{display:inline-flex;margin-bottom:20px;color:var(--muted);font-size:11px;font-weight:680}
.studio-live-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:18px;margin-top:18px}
.studio-run-summary{align-self:start;position:sticky;top:82px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.studio-run-status{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:9px 0 15px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.studio-run-status strong,.studio-run-status small{display:block}.studio-run-status strong{font:700 18px/1.15 var(--display);text-transform:capitalize}.studio-run-status small{margin-top:4px;color:var(--muted);font-size:10px}
.studio-run-summary dl{display:grid;margin:0}
.studio-run-summary dl>div{padding:10px 0;border-bottom:1px solid var(--line)}
.studio-run-summary dt{color:var(--faint);font-size:9px;font-weight:760;letter-spacing:.08em;text-transform:uppercase}
.studio-run-summary dd{margin:5px 0 0;overflow-wrap:anywhere;font:600 10px/1.45 var(--font-mono)}
.studio-run-summary>.btn{width:100%;margin-top:14px}
.studio-live-main{min-width:0}
.studio-run-form{padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.studio-run-form>header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}
.studio-run-form>header h2{max-width:680px;margin:5px 0 0;font:700 22px/1.15 var(--display);letter-spacing:-.03em}
.studio-run-form>label{display:grid;gap:7px;font-size:11px;font-weight:700}
.studio-run-form textarea{min-height:132px}
.studio-run-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.studio-run-options label{display:grid;gap:7px;font-size:11px;font-weight:700}
.studio-run-options small{color:var(--muted);font-size:9px;font-weight:500;line-height:1.45}
.studio-live-progress,.studio-live-result{margin-top:16px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.studio-live-progress>header,.studio-live-result>header{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:16px}
.studio-live-progress>header h2,.studio-live-result>header h2{margin:5px 0 0;font:700 21px/1.1 var(--display);letter-spacing:-.03em}
.studio-live-progress>header>span{color:var(--faint);font:650 11px/1 var(--font-mono)}
.studio-progress-track{height:4px;overflow:hidden;margin-bottom:18px;border-radius:999px;background:var(--surface-3,var(--line))}
.studio-progress-track i{display:block;width:var(--progress,0%);height:100%;border-radius:inherit;background:var(--brand-800);transition:width .3s var(--ease)}
.studio-progress-track.indeterminate i{width:34%;animation:studio-indeterminate 1.25s ease-in-out infinite}
@keyframes studio-indeterminate{0%{transform:translateX(-110%)}100%{transform:translateX(310%)}}
.studio-stage-timeline,.studio-expected-flow{list-style:none}
.studio-stage-timeline{display:grid;gap:0;margin:0;padding:0}
.studio-stage-timeline li{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;padding:0 0 20px}
.studio-stage-timeline li:not(:last-child)::before{content:"";position:absolute;inset-inline-start:13px;top:27px;bottom:0;width:1px;background:var(--line)}
.studio-stage-marker{z-index:1;display:grid;width:27px;height:27px;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface-2);color:var(--muted)}
.studio-stage-timeline li.complete .studio-stage-marker{background:var(--brand-800);color:var(--surface)}
.studio-stage-timeline li.active .studio-stage-marker{box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-800) 10%,transparent)}
.studio-stage-timeline li.failed .studio-stage-marker{border-color:var(--danger);background:var(--surface)}
.studio-stage-timeline small,.studio-stage-timeline b{display:block}
.studio-stage-timeline small{color:var(--faint);font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.studio-stage-timeline b{margin-top:3px;font-size:12px}
.studio-stage-timeline p{margin:6px 0 0;color:var(--muted);font-size:11px;line-height:1.55;white-space:pre-wrap}
.stage-placeholder{margin-top:15px;padding:18px;border:1px dashed var(--line);border-radius:8px;color:var(--muted);font-size:13px;text-align:center}
.studio-final-delivery{padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}
.studio-final-delivery>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.studio-final-delivery h3{margin:4px 0 0;font:700 18px/1.1 var(--display)}
.studio-final-copy{margin-top:16px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.72}
.studio-final-delivery>footer{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.studio-approval{margin:16px 0;padding:18px;border:1px solid var(--warning-500,var(--line));border-radius:8px;background:var(--surface)}
.studio-approval>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.studio-approval h3{margin:4px 0 0}.studio-approval>p{color:var(--muted);font-size:11px;line-height:1.55}
.studio-approval-tool{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11px}
.studio-approval pre{max-height:280px;overflow:auto;padding:12px;border-radius:6px;background:var(--surface-2);white-space:pre-wrap;overflow-wrap:anywhere}
.studio-approval footer{display:flex;flex-wrap:wrap;gap:8px}.studio-approval-error{min-height:18px;color:var(--danger);font-size:10px}
.studio-run-error{margin:0;padding:18px}
@media(max-width:900px){.studio-live-grid{grid-template-columns:1fr}.studio-run-summary{position:static;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px}.studio-run-summary>.eyebrow,.studio-run-summary dl{grid-column:1/-1}.studio-run-summary>.btn{align-self:end;margin:0;width:auto}.studio-catalog-grid{grid-template-columns:1fr}}
@media(max-width:620px){.studio-index-page,.studio-live-page{width:100%;max-width:100%;overflow-x:hidden}.studio-truth-strip{grid-template-columns:1fr}.studio-truth-strip>div{border-inline-end:0;border-bottom:1px solid var(--line)}.studio-truth-strip>div:last-child{border-bottom:0}.studio-index-intro{grid-template-columns:1fr;gap:14px}.studio-index-intro h2{font-size:38px}.studio-catalog-card{min-height:0}.studio-catalog-card>footer{flex-direction:column}.studio-catalog-card>footer .btn{width:100%}.studio-run-row{grid-template-columns:32px minmax(0,1fr) auto 16px}.studio-run-row time{display:none}.studio-live-hero{grid-template-columns:1fr}.studio-live-hero h1{max-width:100%;font-size:clamp(36px,11vw,42px);overflow-wrap:anywhere}.studio-run-summary{display:block}.studio-run-summary>.btn{width:100%;margin-top:14px}.studio-run-form>header{display:grid}.studio-run-form>header .btn{width:100%}.studio-run-options{grid-template-columns:1fr}.studio-live-progress,.studio-live-result,.studio-run-form{padding:14px}}
@media(prefers-reduced-motion:reduce){.studio-progress-track i,.studio-catalog-card,.studio-run-row{transition:none!important;animation:none!important}.studio-progress-track.indeterminate i{width:100%;transform:none;opacity:.45}}

/* ==========================================================================
   Source: tools-experience.css
   ========================================================================== */
/* Tools owns the operational-control surface. It is an index, not a marketplace. */
.tools-page { max-width: 1180px; }

.tools-continuity {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-block: 28px 22px;
  border-block: 1px solid var(--line);
}

.tools-continuity > div {
  min-width: 0;
  padding: 18px 20px;
  border-inline-end: 1px solid var(--line);
}

.tools-continuity > div:last-child { border-inline-end: 0; }
.tools-continuity span,
.tools-continuity small { display: block; color: var(--muted); }
.tools-continuity span { font-size: 12px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.tools-continuity strong { display: block; margin-block: 6px 2px; font: 600 30px/1 var(--font-display); color: var(--ink); }
.tools-continuity small { font-size: 12px; line-height: 1.45; }

.tools-filterbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.tools-filterbar .searchbox { flex: 0 1 380px; min-width: 220px; }
.tools-filterbar .filter-tabs { max-width: 100%; overflow-x: auto; scrollbar-width: thin; }
.tools-filterbar .filter-tabs button { min-height: 40px; white-space: nowrap; }

.tools-grid { border-top: 1px solid var(--line-strong); }

.tool-card {
  display: grid;
  grid-template-columns: minmax(300px, 1.35fr) minmax(300px, 1fr);
  gap: 18px 32px;
  min-width: 0;
  padding-block: 24px;
  border-bottom: 1px solid var(--line);
}

.tool-card[hidden] { display: none; }
.tool-card-main { display: flex; align-items: flex-start; gap: 14px; min-width: 0; }
.tool-logo {
  display: grid;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--surface-2);
  color: var(--brand-700);
  font: 800 11px/1 var(--font-mono);
  letter-spacing: .06em;
}

.tool-card-copy { min-width: 0; }
.tool-card-copy h2 { margin: 8px 0 4px; font: 650 19px/1.2 var(--font-display); overflow-wrap: anywhere; }
.tool-card-copy p { margin: 0; color: var(--ink-2); font-size: 14px; line-height: 1.55; }
.tool-card-copy small { display: block; margin-top: 8px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.tool-card-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.tool-state { display: inline-flex; align-items: center; gap: 7px; color: var(--ink-2); font-size: 12px; font-weight: 700; }
.tool-state::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--muted); }
.tool-state.runnable::before,
.tool-state.connected::before { background: var(--success, #39795e); }
.tool-state.setup::before { background: var(--terracotta, #b45c3e); }
.tool-state.permission::before,
.tool-state.failed::before { background: var(--danger, #a94442); }

.tool-operational-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 24px;
  min-width: 0;
  margin: 0;
}
.tool-operational-facts div { min-width: 0; }
.tool-operational-facts dt { color: var(--muted); font: 700 10px/1.3 var(--font-mono); letter-spacing: .07em; text-transform: uppercase; }
.tool-operational-facts dd { margin: 4px 0 0; color: var(--ink); font-size: 13px; overflow-wrap: anywhere; }

.tool-card footer {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-width: 0;
  padding-inline-start: 58px;
}
.tool-next-action { min-width: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.tool-card-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.tools-filter-empty { padding: 52px 20px; text-align: center; border-bottom: 1px solid var(--line); }
.tools-filter-empty strong { display: block; font: 600 18px/1.3 var(--font-display); }
.tools-filter-empty p { margin: 7px 0 0; color: var(--muted); }

html[data-density="compact"] .tools-page .tool-card { padding-block: 15px; }

@media (max-width: 760px) {
  .tools-continuity { grid-template-columns: 1fr; }
  .tools-continuity > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 16px; padding: 14px 4px; border-inline-end: 0; border-bottom: 1px solid var(--line); }
  .tools-continuity > div:last-child { border-bottom: 0; }
  .tools-continuity strong { grid-column: 2; grid-row: 1 / span 2; align-self: center; margin: 0; }
  .tools-filterbar { align-items: stretch; flex-direction: column; }
  .tools-filterbar .searchbox { flex-basis: auto; width: 100%; min-width: 0; }
  .tools-filterbar .filter-tabs { width: 100%; }
  .tool-card { grid-template-columns: 1fr; gap: 18px; padding-block: 22px; }
  html[data-density="compact"] .tools-page .tool-card { padding-block: 15px; }
  .tool-card footer { grid-column: auto; align-items: stretch; flex-direction: column; padding-inline-start: 58px; }
  .tool-card-actions { justify-content: flex-start; }
  .tool-card-actions .btn { min-height: 44px; }
}

@media (max-width: 480px) {
  .tool-operational-facts { grid-template-columns: 1fr; gap: 10px; padding-inline-start: 58px; }
  .tool-card footer { padding-inline-start: 0; }
  .tool-card-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tool-card-actions .btn:only-child { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  .tools-page *, .tools-page *::before, .tools-page *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* ==========================================================================
   Source: notifications-experience.css
   ========================================================================== */
/* Notifications owns the work-event index. */
.notifications-page { max-width: 1080px; }

.notification-continuity {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-block:28px 24px;
  border-block:1px solid var(--line);
}
.notification-continuity>div { display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;border-inline-end:1px solid var(--line); }
.notification-continuity>div:last-child { border-inline-end:0; }
.notification-continuity span { color:var(--muted);font:750 11px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase; }
.notification-continuity strong { color:var(--ink);font:650 28px/1 var(--font-display); }

.notification-list { border-top:1px solid var(--line-strong); }
.notification-group>h2 { margin:0;padding:17px 0 10px;color:var(--muted);font:750 11px/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase; }
.notification-group+.notification-group { margin-top:10px;border-top:1px solid var(--line-strong); }
.notification-item {
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:start;
  gap:16px;
  min-width:0;
  padding:20px 0;
  border-bottom:1px solid var(--line);
}
.notification-item.unread { box-shadow:inset 3px 0 0 var(--terracotta,#b45c3e);padding-inline-start:16px; }
[dir="rtl"] .notification-item.unread { box-shadow:inset -3px 0 0 var(--terracotta,#b45c3e); }
.notification-icon { display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--surface-2);color:var(--muted); }
.notification-item[data-severity="warning"] .notification-icon { color:var(--danger,#a94442);border-color:color-mix(in srgb,var(--danger,#a94442) 32%,var(--line)); }
.notification-copy { min-width:0; }
.notification-meta { display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--muted);font:700 10px/1.3 var(--font-mono);letter-spacing:.06em;text-transform:uppercase; }
.notification-copy h2 { margin:8px 0 4px;font:650 18px/1.25 var(--font-display);letter-spacing:-.02em;overflow-wrap:anywhere; }
.notification-copy p { margin:0;color:var(--ink-2);font-size:14px;line-height:1.55;overflow-wrap:anywhere; }
.notification-copy time { display:block;margin-top:9px;color:var(--muted);font-size:12px; }
.notification-actions { display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:max-content; }
.notification-actions .btn { min-height:40px; }

html[data-density="compact"] .notifications-page .notification-item { padding-block:11px; }

@media(max-width:760px) {
  .notification-continuity { grid-template-columns:1fr; }
  .notification-continuity>div { padding:13px 4px;border-inline-end:0;border-bottom:1px solid var(--line); }
  .notification-continuity>div:last-child { border-bottom:0; }
  .notification-item { grid-template-columns:42px minmax(0,1fr);gap:12px; }
  .notification-actions { grid-column:2;justify-content:flex-start;flex-wrap:wrap;min-width:0; }
  .notification-actions .btn { min-height:44px; }
}

@media(max-width:480px) {
  .notification-item.unread { padding-inline-start:10px; }
  .notification-actions { grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr)); }
  .notification-actions .btn:only-child { grid-column:1/-1; }
}

@media(prefers-reduced-motion:reduce) {
  .notifications-page *,.notifications-page *::before,.notifications-page *::after { transition-duration:.01ms!important;animation-duration:.01ms!important; }
}

/* ==========================================================================
   Source: memory-experience.css
   ========================================================================== */
/* Memory owns user-controlled durable context; no AI-brain theatre. */
.memory-page { max-width:1080px; }
.memory-overview { display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.4fr);gap:32px;margin-block:28px 24px;padding-block:24px;border-block:1px solid var(--line); }
.memory-identity { display:flex;align-items:flex-start;gap:14px;min-width:0; }
.memory-avatar { display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;border:1px solid var(--line-strong);border-radius:6px;background:var(--brand-950);color:#fff;font-size:13px;font-weight:800; }
.memory-identity h2 { margin:2px 0 4px;font:650 20px/1.2 var(--font-display);overflow-wrap:anywhere; }
.memory-identity p { margin:0;color:var(--muted);font-size:13px; }
.memory-preferences { display:grid;gap:16px;min-width:0; }
.memory-preferences>.setting-row { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;margin:0;padding:0 0 14px;border-bottom:1px solid var(--line); }
.memory-preferences>.setting-row>span { min-width:0; }
.memory-preferences>.setting-row>input { margin-top:3px; }
.memory-preferences>label:not(.setting-row) { display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:700; }
.memory-preferences>.btn { justify-self:start;min-height:44px; }
.memory-page>.filterbar { margin:0;padding-block:12px; }
.memory-page>.filterbar .searchbox { max-width:430px; }
.memory-list { border-top:1px solid var(--line-strong); }
.memory-fact { display:grid;grid-template-columns:minmax(260px,1fr) minmax(300px,1fr) auto;gap:18px 30px;min-width:0;padding-block:22px;border-bottom:1px solid var(--line); }
.memory-fact[hidden] { display:none; }
.memory-fact-head { display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0; }
.memory-fact-head>div:first-child { min-width:0; }
.memory-fact-head h3 { margin:9px 0 0;font:650 18px/1.25 var(--font-display);overflow-wrap:anywhere; }
.memory-fact-actions { display:flex;align-items:center;gap:4px;flex:0 0 auto; }
.memory-fact-actions .btn,.memory-fact-actions .switch { min-width:40px;min-height:40px; }
.memory-fact-value { align-self:center;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:13px 14px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2);font:600 13px/1.45 var(--font-mono);overflow-wrap:anywhere; }
.memory-fact-meta { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-column:1/3;gap:18px 24px;margin:0; }
.memory-fact-meta dt { color:var(--muted);font:700 10px/1.3 var(--font-mono);letter-spacing:.07em;text-transform:uppercase; }
.memory-fact-meta dd { margin:4px 0 0;color:var(--ink-2);font-size:13px;line-height:1.45;overflow-wrap:anywhere; }
.memory-fact>time { grid-column:3;align-self:end;color:var(--muted);font-size:12px;white-space:nowrap; }
.memory-modal-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
.memory-modal-checks { display:flex;flex-wrap:wrap;gap:16px; }
.memory-modal-checks label { display:flex;align-items:center;gap:8px;min-height:44px;color:var(--ink);font-size:13px;font-weight:650; }

@media(max-width:760px) {
  .memory-overview { grid-template-columns:1fr;gap:22px;padding-block:20px; }
  .memory-page>.filterbar .searchbox { max-width:none; }
  .memory-fact { grid-template-columns:1fr;gap:15px;padding-block:20px; }
  .memory-fact-meta,.memory-fact>time { grid-column:auto; }
  .memory-fact-actions .btn,.memory-fact-actions .switch,.memory-fact-value .btn { min-height:44px; }
}
@media(max-width:480px) {
  .memory-fact-head { flex-direction:column; }
  .memory-fact-actions { width:100%;justify-content:flex-end; }
  .memory-fact-meta,.memory-modal-grid { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) {
  .memory-page *,.memory-page *::before,.memory-page *::after { transition-duration:.01ms!important;animation-duration:.01ms!important; }
}

/* ==========================================================================
   Source: profile-experience.css
   ========================================================================== */
/* Profile route — canonical visual owner. */
.account-profile-page .profile-identity-strip {
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  align-items:center;
  gap:18px;
  padding:20px 0 24px;
  border-bottom:1px solid var(--line);
}

.account-profile-page .profile-avatar {
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:var(--ink);
  color:var(--lime);
  font:800 17px/1 var(--display);
  letter-spacing:-.04em;
}

.account-profile-page .profile-info { min-width:0; }
.account-profile-page .profile-info>span {
  color:var(--terracotta,var(--accent));
  font:750 11px/1.2 var(--mono);
  letter-spacing:.09em;
  text-transform:uppercase;
}
.account-profile-page .profile-info h2 {
  margin:5px 0 2px;
  font:760 clamp(24px,3vw,34px)/1.05 var(--display);
  letter-spacing:-.045em;
  overflow-wrap:anywhere;
}
.account-profile-page .profile-info p {
  margin:0;
  color:var(--muted);
  font-size:13px;
  overflow-wrap:anywhere;
}

.account-profile-page .profile-grid {
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);
  gap:0;
  margin-top:28px;
  border-block:1px solid var(--line);
}
.account-profile-page .profile-section {
  min-width:0;
  padding:24px 0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.account-profile-page .profile-grid>.profile-section:first-child {
  padding-inline-end:30px;
  border-inline-end:1px solid var(--line);
}
.account-profile-page .profile-grid>.profile-section:last-child { padding-inline-start:30px; }
.account-profile-page .profile-section-head {
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  gap:10px;
  margin-bottom:20px;
}
.account-profile-page .profile-section-head>span {
  color:var(--faint);
  font:650 11px/1.5 var(--mono);
}
.account-profile-page .profile-section-head h3 {
  margin:0;
  font:740 19px/1.15 var(--display);
  letter-spacing:-.025em;
}
.account-profile-page .profile-section-head p {
  max-width:56ch;
  margin:6px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}
.account-profile-page .profile-editor label {
  display:grid;
  gap:7px;
  margin:0 0 16px;
  color:var(--ink);
  font-size:12px;
  font-weight:740;
}
.account-profile-page .profile-editor .input,
.account-profile-page .profile-editor .textarea {
  width:100%;
  min-height:46px;
  border-radius:6px;
  background:var(--surface);
}
.account-profile-page .profile-editor .textarea { min-height:132px; resize:vertical; }
.account-profile-page .profile-editor input[readonly] { color:var(--muted); background:var(--surface-2); }
.account-profile-page .profile-field-note {
  display:block;
  margin:-10px 0 16px;
  color:var(--faint);
  font-size:12px;
  line-height:1.45;
}
.account-profile-page .profile-editor .form-error:not(:empty) { margin-bottom:12px; }
.account-profile-page .profile-editor .btn { min-height:44px; }
.account-profile-page .profile-details dl,
.account-profile-page .profile-lifecycle-grid { margin:0; }
.account-profile-page .profile-fact {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  gap:16px;
  padding:13px 0;
  border-bottom:1px solid var(--line);
}
.account-profile-page .profile-fact:last-child { border-bottom:0; }
.account-profile-page .profile-fact dt {
  color:var(--muted);
  font-size:12px;
}
.account-profile-page .profile-fact dd {
  margin:0;
  color:var(--ink);
  font:650 13px/1.4 var(--mono);
  text-align:end;
  overflow-wrap:anywhere;
}
.account-profile-page .account-lifecycle-card {
  margin-top:0;
  border-bottom:1px solid var(--line);
}
.account-profile-page .profile-lifecycle-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  border-top:1px solid var(--line);
}
.account-profile-page .profile-lifecycle-grid .profile-fact {
  display:block;
  padding:18px;
  border:0;
  border-inline-end:1px solid var(--line);
}
.account-profile-page .profile-lifecycle-grid .profile-fact:last-child { border-inline-end:0; }
.account-profile-page .profile-lifecycle-grid dd { margin-top:8px; text-align:start; }

@media (max-width:760px) {
  .account-profile-page .profile-grid { grid-template-columns:1fr; }
  .account-profile-page .profile-grid>.profile-section:first-child {
    padding-inline-end:0;
    border-inline-end:0;
    border-bottom:1px solid var(--line);
  }
  .account-profile-page .profile-grid>.profile-section:last-child { padding-inline-start:0; }
  .account-profile-page .profile-lifecycle-grid { grid-template-columns:1fr; }
  .account-profile-page .profile-lifecycle-grid .profile-fact {
    display:grid;
    border-inline-end:0;
    border-bottom:1px solid var(--line);
    padding-inline:0;
  }
  .account-profile-page .profile-lifecycle-grid .profile-fact:last-child { border-bottom:0; }
}

@media (max-width:420px) {
  .account-profile-page .profile-identity-strip { grid-template-columns:52px minmax(0,1fr); gap:13px; }
  .account-profile-page .profile-avatar { width:52px; height:52px; }
  .account-profile-page .profile-fact { grid-template-columns:minmax(0,1fr); gap:5px; }
  .account-profile-page .profile-fact dd { text-align:start; }
}

@media (prefers-reduced-motion:reduce) {
  .account-profile-page * { scroll-behavior:auto!important; }
}

/* ==========================================================================
   Source: privacy-experience.css
   ========================================================================== */
/* Privacy route — canonical tenant policy visual owner. */
.account-policy-page .privacy-policy-summary {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin:22px 0 28px;
  border-block:1px solid var(--line);
}
.account-policy-page .privacy-policy-summary>div { min-width:0; padding:18px; border-inline-end:1px solid var(--line); }
.account-policy-page .privacy-policy-summary>div:first-child { padding-inline-start:0; }
.account-policy-page .privacy-policy-summary>div:last-child { border-inline-end:0; }
.account-policy-page .privacy-policy-summary span { color:var(--faint); font:650 10px/1 var(--mono); }
.account-policy-page .privacy-policy-summary small { display:block; margin:10px 0 6px; color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.account-policy-page .privacy-policy-summary strong { display:block; font:680 14px/1.35 var(--mono); overflow-wrap:anywhere; }
.account-policy-page .privacy-policy-form {
  max-width:760px;
  padding:26px 0;
  border-block:1px solid var(--line);
}
.account-policy-page .privacy-form-head { display:grid; grid-template-columns:62px minmax(0,1fr); gap:14px; margin-bottom:24px; }
.account-policy-page .privacy-form-head>span { color:var(--terracotta,var(--accent)); font:700 11px/1.4 var(--mono); letter-spacing:.08em; }
.account-policy-page .privacy-form-head h3 { margin:0; font:740 20px/1.15 var(--display); letter-spacing:-.025em; }
.account-policy-page .privacy-form-head p { margin:7px 0 0; color:var(--muted); font-size:13px; line-height:1.5; }
.account-policy-page .privacy-policy-form>label:not(.privacy-training-row) { display:grid; gap:7px; margin-bottom:18px; font-size:12px; font-weight:740; }
.account-policy-page .privacy-policy-form .select,
.account-policy-page .privacy-policy-form .input { width:100%; min-height:46px; border-radius:6px; background:var(--surface); }
.account-policy-page .privacy-policy-form :disabled { cursor:not-allowed; opacity:.66; }
.account-policy-page .privacy-training-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:20px;
  min-height:76px;
  padding:16px 0;
  border-block:1px solid var(--line);
}
.account-policy-page .privacy-training-row b { font-size:13px; }
.account-policy-page .privacy-training-row p { margin:5px 0 0; color:var(--muted); font-size:12px; line-height:1.45; }
.account-policy-page .privacy-training-row input { width:44px; height:44px; accent-color:var(--brand-600); }
.account-policy-page .privacy-policy-form .form-error:not(:empty) { margin-top:16px; }
.account-policy-page .privacy-policy-form>.btn { min-height:44px; margin-top:18px; }

.privacy-center-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:24px; }
.privacy-center-grid .card { display:flex; flex-direction:column; gap:10px; min-height:190px; }
.privacy-center-grid h3 { margin:0; font-size:18px; }
.privacy-center-grid p { margin:0; color:var(--muted); line-height:1.55; flex:1; }
.privacy-center-grid .btn { align-self:flex-start; }
.privacy-consent-list { display:grid; gap:8px; margin-top:2px; }
.privacy-consent-list>div { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 0; border-top:1px solid var(--border); font-size:12px; }
.privacy-danger { border-color:color-mix(in srgb,var(--red) 35%,var(--border)); }
@media (max-width:700px) { .privacy-center-grid { grid-template-columns:1fr; } }

@media(max-width:760px) {
  .account-policy-page .privacy-policy-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .account-policy-page .privacy-policy-summary>div:nth-child(2) { border-inline-end:0; }
  .account-policy-page .privacy-policy-summary>div:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .account-policy-page .privacy-policy-summary>div:nth-child(3) { padding-inline-start:0; }
}
@media(max-width:420px) {
  .account-policy-page .privacy-policy-summary { grid-template-columns:1fr; }
  .account-policy-page .privacy-policy-summary>div { padding-inline:0; border-inline-end:0; border-bottom:1px solid var(--line); }
  .account-policy-page .privacy-policy-summary>div:last-child { border-bottom:0; }
  .account-policy-page .privacy-form-head { grid-template-columns:1fr; gap:7px; }
}
@media(prefers-reduced-motion:reduce) { .account-policy-page * { scroll-behavior:auto!important; } }

/* ==========================================================================
   Source: plan-experience.css
   ========================================================================== */
/* Plan route — canonical billing and publication-state visual owner. */
.account-plan-truth .plan-current { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:28px; align-items:end; padding:26px 0; border-block:1px solid var(--line); background:transparent; color:var(--ink); }
.account-plan-truth .plan-current h2 { margin:7px 0; font:760 clamp(28px,4vw,44px)/1 var(--display); letter-spacing:-.05em; }
.account-plan-truth .plan-current p { max-width:62ch; margin:0; color:var(--muted); font-size:13px; line-height:1.55; }
.account-plan-truth .plan-current-price { min-width:150px; text-align:end; }
.account-plan-truth .plan-current-price strong { display:block; font:740 28px/1.1 var(--mono); }
.account-plan-truth .plan-current-price small { display:block; margin-top:7px; color:var(--muted); font-size:11px; }
.account-plan-truth .account-plan-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-bottom:1px solid var(--line); }
.account-plan-truth .account-plan-facts>div { padding:18px 0; }
.account-plan-truth .account-plan-facts>div+div { padding-inline-start:24px; border-inline-start:1px solid var(--line); }
.account-plan-truth .account-plan-facts small { display:block; color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.account-plan-truth .account-plan-facts strong { display:block; margin-top:7px; font:720 20px/1 var(--mono); }
.account-plan-truth .account-published-features,
.account-plan-truth .account-plan-options { padding:28px 0; border-bottom:1px solid var(--line); }
.account-plan-truth .plan-section-head { display:grid; grid-template-columns:34px minmax(0,1fr); gap:10px; margin-bottom:18px; }
.account-plan-truth .plan-section-head>span { color:var(--faint); font:650 11px/1.4 var(--mono); }
.account-plan-truth .plan-section-head h3 { margin:0; font:740 20px/1.15 var(--display); letter-spacing:-.025em; }
.account-plan-truth .plan-section-head p { margin:6px 0 0; color:var(--muted); font-size:13px; }
.account-plan-truth .account-published-features ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; margin:0; padding:0; list-style:none; }
.account-plan-truth .account-published-features li { padding:12px 0; border-bottom:1px solid var(--line); font-size:13px; }
.account-plan-truth .account-published-features li:before { content:'—'; margin-inline-end:10px; color:var(--terracotta,var(--accent)); }
.account-plan-truth .plan-option-list { border-top:1px solid var(--line); }
.account-plan-truth .plan-option { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; align-items:center; padding:18px 0; border-bottom:1px solid var(--line); }
.account-plan-truth .plan-option>div:last-child { display:grid; justify-items:end; gap:10px; }
.account-plan-truth .plan-option span { color:var(--faint); font:650 10px/1 var(--mono); text-transform:uppercase; }
.account-plan-truth .plan-option h4 { margin:6px 0 3px; font:720 18px/1.2 var(--display); }
.account-plan-truth .plan-option p { margin:0; color:var(--muted); font-size:12px; }
.account-plan-truth .plan-option strong { font:700 16px/1 var(--mono); }
.account-plan-truth .plan-route-links { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; align-items:center; padding:26px 0; border-bottom:1px solid var(--line); }
.account-plan-truth .plan-route-links h3 { margin:7px 0 0; font:720 19px/1.25 var(--display); }
.account-plan-truth .plan-route-links nav { display:flex; flex-wrap:wrap; gap:10px; }

@media(max-width:760px) {
  .account-plan-truth .plan-current,.account-plan-truth .plan-route-links { grid-template-columns:1fr; align-items:start; }
  .account-plan-truth .plan-current-price { text-align:start; }
  .account-plan-truth .plan-route-links nav,.account-plan-truth .plan-route-links .btn { width:100%; }
  .account-plan-truth .account-published-features ul { grid-template-columns:1fr; }
}
@media(max-width:480px) {
  .account-plan-truth .account-plan-facts,.account-plan-truth .plan-option { grid-template-columns:1fr; }
  .account-plan-truth .account-plan-facts>div+div { padding-inline-start:0; border-inline-start:0; border-top:1px solid var(--line); }
  .account-plan-truth .plan-option>div:last-child { justify-items:start; }
  .account-plan-truth .plan-option .btn { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .account-plan-truth * { scroll-behavior:auto!important; } }

/* ==========================================================================
   Source: usage-experience.css
   ========================================================================== */
/* Usage route — canonical measured-work ledger owner. */
.usage-ledger-page .usage-period-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) auto; align-items:center; margin:22px 0 0; border-block:1px solid var(--line); }
.usage-ledger-page .usage-period-strip>div { min-width:0; padding:17px; border-inline-end:1px solid var(--line); }
.usage-ledger-page .usage-period-strip>div:first-child { padding-inline-start:0; }
.usage-ledger-page .usage-period-strip span,.usage-ledger-page .usage-period-strip small { display:block; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.usage-ledger-page .usage-period-strip strong { display:block; margin-top:7px; font:680 13px/1.3 var(--mono); overflow-wrap:anywhere; }
.usage-ledger-page .usage-period-strip .btn { margin-inline-start:18px; }
.usage-ledger-page .usage-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-bottom:1px solid var(--line); }
.usage-ledger-page .usage-metrics>div { position:relative; min-width:0; min-height:116px; padding:19px; border-inline-end:1px solid var(--line); border-bottom:1px solid var(--line); }
.usage-ledger-page .usage-metrics>div:nth-child(4n) { border-inline-end:0; }
.usage-ledger-page .usage-metrics>div:nth-last-child(-n+4) { border-bottom:0; }
.usage-ledger-page .usage-metrics span { position:absolute; inset-block-start:13px; inset-inline-end:14px; color:var(--faint); font:650 10px/1 var(--mono); }
.usage-ledger-page .usage-metrics small { display:block; max-width:80%; color:var(--muted); font-size:11px; }
.usage-ledger-page .usage-metrics strong { display:block; margin-top:28px; font:720 clamp(20px,3vw,30px)/1 var(--mono); letter-spacing:-.04em; overflow-wrap:anywhere; }
.usage-ledger-page .usage-models,.usage-ledger-page .usage-ledger { padding:28px 0; border-bottom:1px solid var(--line); }
.usage-ledger-page .usage-section-head { display:grid; grid-template-columns:64px minmax(0,1fr); gap:12px; margin-bottom:18px; }
.usage-ledger-page .usage-section-head>span { color:var(--terracotta,var(--accent)); font:700 10px/1.4 var(--mono); letter-spacing:.08em; }
.usage-ledger-page .usage-section-head h3 { margin:0; font:740 20px/1.15 var(--display); }
.usage-ledger-page .usage-section-head p { margin:6px 0 0; color:var(--muted); font-size:13px; }
.usage-ledger-page .usage-model-row { display:grid; grid-template-columns:minmax(160px,1fr) repeat(3,minmax(90px,.45fr)); gap:18px; padding:13px 0; border-top:1px solid var(--line); font-size:12px; }
.usage-ledger-page .usage-model-row b { overflow-wrap:anywhere; }
.usage-ledger-page .usage-model-row span { color:var(--muted); text-align:end; font-family:var(--mono); }
.usage-ledger-page .usage-ledger-scroll { max-width:100%; overflow:auto; border-block:1px solid var(--line); }
.usage-ledger-page table { width:100%; min-width:760px; border-collapse:collapse; font-size:12px; }
.usage-ledger-page th { padding:12px 10px; color:var(--faint); font-size:10px; text-align:start; text-transform:uppercase; letter-spacing:.07em; }
.usage-ledger-page td { padding:13px 10px; border-top:1px solid var(--line); font-family:var(--mono); }
.usage-ledger-page .usage-status { white-space:nowrap; }
.usage-ledger-page .usage-status.success { color:var(--green); }
.usage-ledger-page .usage-status.failed { color:var(--red); }
@media(max-width:760px){.usage-ledger-page .usage-period-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.usage-ledger-page .usage-period-strip .btn{width:100%;margin:12px 0;grid-column:1/-1}.usage-ledger-page .usage-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.usage-ledger-page .usage-metrics>div:nth-child(2n){border-inline-end:0}.usage-ledger-page .usage-metrics>div:nth-last-child(-n+4){border-bottom:1px solid var(--line)}.usage-ledger-page .usage-metrics>div:nth-last-child(-n+2){border-bottom:0}.usage-ledger-page .usage-model-row{grid-template-columns:minmax(0,1fr) auto}.usage-ledger-page .usage-model-row span{text-align:start}.usage-ledger-page .usage-model-row span:nth-of-type(n+2){display:none}}
@media(max-width:420px){.usage-ledger-page .usage-period-strip{grid-template-columns:1fr}.usage-ledger-page .usage-period-strip>div{padding-inline:0;border-inline-end:0;border-bottom:1px solid var(--line)}.usage-ledger-page .usage-metrics{grid-template-columns:1fr}.usage-ledger-page .usage-metrics>div{border-inline-end:0!important;border-bottom:1px solid var(--line)!important}.usage-ledger-page .usage-metrics>div:last-child{border-bottom:0!important}.usage-ledger-page .usage-section-head{grid-template-columns:1fr;gap:7px}}
@media(prefers-reduced-motion:reduce){.usage-ledger-page *{scroll-behavior:auto!important}}

/* ==========================================================================
   Source: team-experience.css
   ========================================================================== */
/* Team is a durable workspace roster, not a marketplace card grid. */
.team-page {
  max-width:1180px;
}

.team-page .team-layout {
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);
  gap:24px;
  align-items:start;
}

.team-page .team-list,
.team-page .team-invites {
  overflow:hidden;
  padding:0;
  border-radius:8px;
  box-shadow:none;
}

.team-page .card-head {
  min-height:72px;
  padding:16px 20px;
  border-bottom:1px solid var(--line);
}

.team-page .card-head > div {
  display:flex;
  align-items:center;
  gap:12px;
}

.team-page .card-head h2 {
  margin:0;
  font-size:17px;
}

.team-section-index {
  color:var(--muted);
  font:600 11px/1 var(--font-mono);
  letter-spacing:.08em;
}

.team-page .team-member {
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  gap:14px;
  min-height:82px;
  padding:16px 20px;
  align-items:center;
  border-bottom:1px solid var(--line);
  transition:background-color .15s ease;
}

.team-page .team-member:last-child,
.team-page .setting-row:last-child {
  border-bottom:0;
}

.team-page .team-member:hover {
  background:var(--surface-2);
}

.team-page .avatar {
  display:grid;
  width:44px;
  height:44px;
  place-items:center;
  border-radius:6px;
  background:var(--ink);
  color:var(--lime);
  font-weight:700;
}

.team-member-copy {
  display:grid;
  min-width:0;
  gap:2px;
}

.team-member-copy b,
.team-member-copy span,
.team-member-copy small {
  overflow-wrap:anywhere;
}

.team-member-copy span,
.team-member-copy small {
  color:var(--muted);
}

.team-member-copy small {
  display:flex;
  align-items:center;
  gap:6px;
  font-size:12px;
}

.team-page .status-dot {
  width:7px;
  height:7px;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--muted);
}

.team-page .status-dot[data-status="active"] {
  background:var(--green);
}

.team-member-controls {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}

.team-page .role-select {
  min-width:124px;
  min-height:40px;
  border:1px solid var(--line-strong);
  border-radius:6px;
  background:var(--surface);
  color:var(--text);
}

.team-page .role-select:focus-visible {
  outline:3px solid var(--focus-ring);
  outline-offset:2px;
}

.team-page .role-select:disabled {
  cursor:not-allowed;
  opacity:.64;
}

.team-page .setting-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px 12px;
  padding:16px 20px;
  border-bottom:1px solid var(--line);
}

.team-page .setting-row time {
  color:var(--muted);
  font-size:12px;
}

.team-page .setting-row .team-member-controls {
  grid-column:1/-1;
  justify-content:flex-start;
}

@media(max-width:900px) {
  .team-page .team-layout {
    grid-template-columns:1fr;
  }
}

@media(max-width:620px) {
  .team-page .team-member {
    grid-template-columns:40px minmax(0,1fr);
    padding:14px 16px;
  }

  .team-page .avatar {
    width:40px;
    height:40px;
  }

  .team-page .team-member-controls {
    grid-column:1/-1;
    justify-content:stretch;
  }

  .team-page .team-member-controls > * {
    min-height:44px;
    flex:1 1 auto;
  }

  .team-page .card-head,
  .team-page .setting-row {
    padding-inline:16px;
  }
}

@media(prefers-reduced-motion:reduce) {
  .team-page .team-member {
    transition:none;
  }
}

/* ==========================================================================
   Source: api-keys-experience.css
   ========================================================================== */
.account-api-keys-page{max-width:1100px}.api-key-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 20px;padding:18px 20px;margin-bottom:20px;border-block:1px solid var(--line)}.api-key-summary span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.api-key-summary strong{grid-row:1/3;grid-column:2;font:700 28px/1 var(--font-mono)}.api-key-summary small{color:var(--muted)}.account-api-keys-page .api-key-card{padding:0;overflow:hidden;border-radius:8px;box-shadow:none}.account-api-keys-page .key-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}.account-api-keys-page .key-row:last-child{border-bottom:0}.account-api-keys-page .key-row>div{display:grid;gap:5px;min-width:0}.api-key-status{width:max-content;color:var(--green);font:600 11px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.07em}.key-row[data-key-status="revoked"]{opacity:.68}.key-row[data-key-status="revoked"] .api-key-status{color:var(--muted)}.account-api-keys-page .key-value{width:max-content;max-width:100%;padding:6px 8px;border-radius:4px;background:var(--surface-2);font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis}.account-api-keys-page .key-row small{color:var(--muted);overflow-wrap:anywhere}.account-api-keys-page .api-pricing-reference{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px;padding:18px 20px;border-radius:8px;box-shadow:none}.account-api-keys-page .api-pricing-reference p{margin:0}@media(max-width:620px){.account-api-keys-page .key-row{grid-template-columns:1fr;padding:16px}.account-api-keys-page .key-row>.btn{width:100%;min-height:44px}.account-api-keys-page .api-pricing-reference{align-items:stretch;flex-direction:column}.account-api-keys-page .api-pricing-reference .btn{width:100%}}@media(prefers-reduced-motion:reduce){.account-api-keys-page *{scroll-behavior:auto!important}}

/* ==========================================================================
   Source: feedback-experience.css
   ========================================================================== */
/* Feedback is a real product record surface inside the shared account frame. */
.account-feedback-page .feedback-workspace {
  display:grid;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
  gap:24px;
  align-items:start;
}

.feedback-score-panel {
  min-width:0;
  margin:0;
  padding:22px 0;
  border:0;
  border-block:1px solid var(--line);
}

.feedback-score-panel legend {
  width:100%;
  padding:0;
}

.feedback-score-panel legend span,
.feedback-form-copy>span {
  display:block;
  color:var(--muted);
  font:700 10px/1.3 var(--font-mono);
  letter-spacing:.09em;
  text-transform:uppercase;
}

.feedback-score-panel legend strong {
  display:block;
  max-width:18ch;
  margin-top:9px;
  font:700 25px/1.08 var(--font-display);
  letter-spacing:-.035em;
}

.feedback-score-panel>p {
  max-width:46ch;
  margin:14px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
}

.feedback-score-options {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:20px;
}

.feedback-score-option {
  position:relative;
  flex:0 0 44px;
}

.feedback-score-option input {
  position:absolute;
  inset:0;
  z-index:1;
  inline-size:100%;
  block-size:100%;
  margin:0;
  padding:0;
  border:0;
  opacity:0;
  cursor:pointer;
}

.feedback-score-option span {
  display:grid;
  min-height:44px;
  place-items:center;
  border:1px solid var(--line-strong);
  border-radius:6px;
  background:var(--surface);
  color:var(--ink);
  font:650 12px/1 var(--font-mono);
  cursor:pointer;
  transition:background-color .14s ease,border-color .14s ease,color .14s ease;
}

.feedback-score-option:hover span {
  border-color:var(--ink);
}

.feedback-score-option input:checked+span {
  border-color:var(--ink);
  background:var(--ink);
  color:var(--lime);
}

.feedback-score-option input:focus-visible+span {
  outline:3px solid var(--focus-ring);
  outline-offset:2px;
}

.feedback-score-scale {
  display:flex;
  justify-content:space-between;
  gap:16px;
  margin-top:10px;
  color:var(--muted);
  font-size:11px;
  line-height:1.4;
}

.feedback-form {
  display:grid;
  gap:18px;
}

.feedback-form-copy {
  padding-bottom:18px;
  border-bottom:1px solid var(--line);
}

.feedback-form-copy h3 {
  max-width:24ch;
  margin:8px 0 7px;
  font:700 23px/1.12 var(--font-display);
  letter-spacing:-.035em;
}

.feedback-form-copy p {
  max-width:70ch;
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.58;
}

.feedback-field {
  display:grid;
  gap:7px;
  margin:0;
}

.feedback-field>span {
  color:var(--ink);
  font-size:12px;
  font-weight:750;
}

.feedback-field>small {
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
}

.feedback-field textarea {
  min-height:190px;
  resize:vertical;
}

.feedback-form-error:empty {
  display:none;
}

.feedback-form-error {
  margin:0;
  color:var(--red);
  font-size:12px;
  line-height:1.45;
}

.feedback-form-actions {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-top:16px;
  border-top:1px solid var(--line);
}

.feedback-form-actions>span {
  max-width:54ch;
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
}

.feedback-form-actions .btn {
  flex:0 0 auto;
  min-height:44px;
}

@media(max-width:760px) {
  .account-feedback-page .feedback-workspace {
    grid-template-columns:1fr;
  }

  .feedback-score-panel {
    padding-block:18px;
  }
}

@media(max-width:520px) {
  .feedback-score-panel legend strong,
  .feedback-form-copy h3 {
    font-size:21px;
  }

  .feedback-score-scale,
  .feedback-form-actions {
    align-items:stretch;
    flex-direction:column;
  }

  .feedback-form-actions .btn {
    width:100%;
  }
}

[dir="rtl"] .feedback-score-panel,
[dir="rtl"] .feedback-form-copy,
[dir="rtl"] .feedback-field {
  text-align:start;
}

@media(prefers-reduced-motion:reduce) {
  .feedback-score-option span {
    transition:none;
  }
}

/* ==========================================================================
   Source: genui-miniapp.css
   ========================================================================== */
.genui-miniapp {
    container-type: inline-size;
    display: grid;
    gap: 1rem;
    overflow: clip;
    min-width: 0;
}

.genui-miniapp > .card-head {
    align-items: flex-start;
    gap: .75rem;
    min-width: 0;
}

.genui-miniapp > .card-head > div {
    min-width: 0;
}

.genui-miniapp > .card-head h3 {
    overflow-wrap: anywhere;
    text-wrap: balance;
}

.genui-miniapp :where(button, input, select, textarea, a):focus-visible {
    outline: 2px solid var(--brand, currentColor);
    outline-offset: 2px;
}

.genui-miniapp :where(.grid-2, .artifact-sections, .artifact-list, .recipe-live) {
    min-width: 0;
}

.genui-miniapp .grid-2 {
    align-items: start;
}

.genui-miniapp .artifact-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
}

.genui-miniapp .artifact-table {
    width: 100%;
}

.genui-miniapp .artifact-table :where(th, td) {
    text-align: start;
    vertical-align: top;
}

.genui-miniapp .artifact-check {
    min-width: 0;
}

.genui-miniapp .artifact-check span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.genui-miniapp-status {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem;
    padding-top: .875rem;
    border-top: 1px solid var(--line, currentColor);
    color: var(--muted);
    font-size: .8125rem;
}

.genui-miniapp-badge {
    display: inline-flex;
    align-items: center;
    min-height: 1.75rem;
    padding: .2rem .55rem;
    border: 1px solid var(--line, currentColor);
    border-radius: 999px;
    white-space: nowrap;
}

.genui-miniapp[data-miniapp-quality="fallback"] .genui-miniapp-badge[data-status="quality"] {
    font-weight: 600;
}

.genui-miniapp-metrics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(10rem, 100%), 1fr));
    gap: .75rem;
}

.genui-miniapp-metric {
    display: grid;
    gap: .2rem;
    min-width: 0;
    padding: .75rem;
    border: 1px solid var(--line, currentColor);
    border-radius: var(--radius-md, .75rem);
}

.genui-miniapp-metric :where(span, small) {
    color: var(--muted);
}

.genui-miniapp-progress {
    display: grid;
    gap: .45rem;
}

.genui-miniapp-progress-label {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
}

.genui-miniapp-progress progress {
    width: 100%;
    height: .625rem;
    accent-color: var(--brand, currentColor);
}

.genui-miniapp-tabs {
    display: flex;
    gap: .4rem;
    max-width: 100%;
    overflow-x: auto;
    padding-bottom: .25rem;
    scrollbar-width: thin;
}

.genui-miniapp-tab {
    flex: 0 0 auto;
    min-height: 2.25rem;
    padding: .45rem .7rem;
    border: 1px solid var(--line, currentColor);
    border-radius: 999px;
    background: transparent;
    color: inherit;
}

.genui-miniapp-tab[aria-selected="true"] {
    border-color: var(--brand, currentColor);
    font-weight: 600;
}

.genui-miniapp-empty {
    display: grid;
    gap: .35rem;
    padding: 1rem;
    border: 1px dashed var(--line, currentColor);
    border-radius: var(--radius-md, .75rem);
    text-align: start;
}

.genui-miniapp-empty p {
    margin: 0;
    color: var(--muted);
}

[dir="rtl"] .genui-miniapp-status,[dir="rtl"] .genui-miniapp-progress-label {
    direction: rtl;
}

@container (max-width: 560px) {
    .genui-miniapp .grid-2 {
        grid-template-columns: minmax(0, 1fr);
  }

  .genui-miniapp > .card-head {
        align-items: center;
  }

  .genui-miniapp-status {
        align-items: flex-start;
  }
}

@media (prefers-reduced-motion: reduce) {
    .genui-miniapp *,  .genui-miniapp *::before,  .genui-miniapp *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
  }
}

/* ==========================================================================
   Source: genui-miniapp-knowledge.css
   ========================================================================== */
.genui-miniapp-head-actions {
   display:flex;
   align-items:center;
   gap:.4rem;
}

.genui-miniapp-body {
   display:grid;
   gap:1rem;
   min-width:0;
}

.genui-reading-view {
   white-space:pre-wrap;
   overflow-wrap:anywhere;
   line-height:1.65;
}

.genui-knowledge-summary {
   margin:0;
   font-size:1.05rem;
   line-height:1.55;
}

.genui-section-nav {
   display:flex;
   gap:.4rem;
   overflow-x:auto;
   padding-bottom:.25rem;
}

.genui-section-nav a {
   flex:0 0 auto;
   padding:.4rem .65rem;
   border:1px solid var(--line,currentColor);
   border-radius:999px;
   color:inherit;
   text-decoration:none;
}

.genui-knowledge-section {
   display:grid;
   gap:.65rem;
   scroll-margin-top:1rem;
}

.genui-knowledge-section > :where(h4,p) {
   margin:0;
}

.genui-knowledge-checklist {
   display:grid;
   gap:.45rem;
}

.genui-knowledge-callout {
   display:grid;
   gap:.35rem;
   padding:.9rem;
   border-inline-start:3px solid var(--brand,currentColor);
   background:var(--surface-soft,transparent);
   border-radius:var(--radius-md,.75rem);
}

.genui-knowledge-callout p {
   margin:0;
}

.genui-table-search {
   display:grid;
   gap:.35rem;
   max-width:24rem;
}

.genui-table-sort {
   width:100%;
   border:0;
   padding:0;
   background:transparent;
   color:inherit;
   font:inherit;
   font-weight:600;
   text-align:start;
}

.genui-source-panel summary {
   cursor:pointer;
   font-weight:600;
}

.genui-source-panel ol {
   display:grid;
   gap:.6rem;
   padding-inline-start:1.25rem;
}

.genui-source-panel li small {
   display:block;
   color:var(--muted);
}

@container (max-width:560px) {
   .genui-section-nav {
     margin-inline:-.25rem;
     padding-inline:.25rem;
  }

 .genui-miniapp-head-actions {
     align-self:flex-start;
  }
}

/* ==========================================================================
   Source: genui-miniapp-lifestyle.css
   ========================================================================== */
.genui-lifestyle-summary {
  margin:0;
  font-size:1.05rem;
  line-height:1.55;
}

.genui-lifestyle-meta {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(8rem,100%),1fr));
  gap:.6rem;
}

.genui-lifestyle-meta > div,.genui-serving-display {
  display:grid;
  gap:.2rem;
  padding:.7rem;
  border:1px solid var(--line,currentColor);
  border-radius:var(--radius-surface,8px);
}

.genui-lifestyle-meta span,.genui-serving-display span {
  color:var(--muted);
  font-size:.85rem;
}

.genui-serving-control {
  display:grid;
  gap:.35rem;
  max-width:12rem;
}

.genui-recipe-layout {
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:1rem;
  align-items:start;
}

.genui-recipe-layout > section {
  display:grid;
  gap:.75rem;
  min-width:0;
}

.genui-ingredient-group {
  display:grid;
  gap:.45rem;
}

.genui-ingredient-group h5 { margin:0 }

.genui-ingredient-group > div {
  display:grid;
  gap:.35rem;
}

.genui-ingredient-row {
  display:flex;
  gap:.65rem;
  align-items:flex-start;
  padding:.55rem 0;
  border-bottom:1px solid var(--line,currentColor);
}

.genui-ingredient-row > span {
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
  min-width:0;
  overflow-wrap:anywhere;
}

.genui-recipe-steps {
  display:grid;
  gap:.55rem;
}

.genui-recipe-step {
  border:1px solid var(--line,currentColor);
  border-radius:var(--radius-surface,8px);
  padding:.65rem;
}

.genui-recipe-step summary {
  display:flex;
  gap:.6rem;
  align-items:flex-start;
  cursor:pointer;
}

.genui-recipe-step summary > span {
  display:grid;
  place-items:center;
  flex:0 0 1.65rem;
  min-height:1.65rem;
  border:1px solid var(--line,currentColor);
  border-radius:var(--radius-pill,999px);
}

.genui-step-actions,.genui-recipe-step-tools {
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  margin-top:.65rem;
}

.genui-lifestyle-list {
  display:grid;
  gap:.45rem;
}

.genui-lifestyle-list :where(h4,ul) { margin:0 }

.genui-nutrition-note,.genui-shopping-compare {
  display:grid;
  gap:.3rem;
  padding:.8rem;
  border:1px dashed var(--line,currentColor);
  border-radius:var(--radius-surface,8px);
}

.genui-shopping-criteria {
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
}

.genui-shopping-criteria span {
  padding:.3rem .55rem;
  border:1px solid var(--line,currentColor);
  border-radius:var(--radius-pill,999px);
}

.genui-shopping-controls {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(12rem,100%),1fr));
  gap:.7rem;
}

.genui-shopping-controls label {
  display:grid;
  gap:.35rem;
}

.genui-shopping-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(14rem,100%),1fr));
  gap:.7rem;
}

.genui-shopping-card {
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:.8rem;
  padding:.85rem;
  border:1px solid var(--line,currentColor);
  border-radius:var(--radius-surface,8px);
}

.genui-shopping-card[data-selected="true"] {
  border-color:var(--brand,currentColor);
}

.genui-shopping-card :where(h4,p) { margin:0 }

.genui-shopping-card small {
  display:block;
  color:var(--muted);
  margin-top:.35rem;
}

.genui-shopping-compare :where(p,ul) { margin:0 }

/* Legacy shopping markup remains supported here, inside the lifestyle owner.
   Current GenUI cards are intentionally excluded so compatibility geometry can
   never override `.genui-shopping-card`. */
.artifact-shopping:not(.genui-shopping-app) {
  display:grid;
  gap:14px;
}

.artifact-shopping:not(.genui-shopping-app) .artifact-list {
  display:grid;
  gap:10px;
}

.artifact-shopping:not(.genui-shopping-app) .artifact-shopping-item {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:14px;
  border:1px solid var(--border,var(--line));
  border-radius:var(--radius-surface,8px);
  background:var(--surface);
}

.artifact-shopping:not(.genui-shopping-app) .artifact-shopping-item>div {
  display:grid;
  gap:4px;
  min-width:0;
}

.artifact-shopping:not(.genui-shopping-app) .artifact-shopping-item b,
.artifact-shopping:not(.genui-shopping-app) .artifact-shopping-item small {
  overflow-wrap:anywhere;
}

.artifact-shopping:not(.genui-shopping-app) .artifact-shopping-item small {
  color:var(--muted);
}

.artifact-shopping:not(.genui-shopping-app) .artifact-shopping-item strong {
  white-space:nowrap;
}

.artifact-shopping:not(.genui-shopping-app) .artifact-recommendation {
  padding:14px;
  border:1px solid var(--line);
  border-radius:var(--radius-surface,8px);
  background:var(--surface-2,rgba(0,0,0,.035));
}

.artifact-shopping:not(.genui-shopping-app) .artifact-recommendation h4,
.artifact-shopping:not(.genui-shopping-app) .artifact-recommendation p {
  margin:0;
}

.artifact-shopping:not(.genui-shopping-app) .artifact-recommendation p {
  margin-top:6px;
}

@container (max-width:620px) {
  .genui-recipe-layout {
    grid-template-columns:minmax(0,1fr);
  }
}

@media(max-width:720px) {
  .artifact-shopping:not(.genui-shopping-app) .artifact-shopping-item {
    flex-direction:column;
  }

  .artifact-shopping:not(.genui-shopping-app) .artifact-shopping-item strong {
    white-space:normal;
  }
}

/* ==========================================================================
   Source: genui-miniapp-guided.css
   ========================================================================== */
.genui-guided-meta {
   display:grid;
   grid-template-columns:repeat(auto-fit,minmax(min(9rem,100%),1fr));
   gap:.6rem;
}

.genui-guided-meta > div {
   display:grid;
   gap:.2rem;
   padding:.7rem;
   border:1px solid var(--line,currentColor);
   border-radius:var(--radius-md,.75rem);
}

.genui-guided-meta span {
   color:var(--muted);
   font-size:.85rem;
}

.genui-guided-summary {
   margin:0;
   font-size:1.05rem;
   line-height:1.55;
}

.genui-guided-tabs {
   display:flex;
   gap:.4rem;
   max-width:100%;
   overflow-x:auto;
   padding-bottom:.25rem;
}

.genui-guided-tabs button {
   flex:0 0 auto;
   min-height:2.25rem;
   padding:.45rem .7rem;
   border:1px solid var(--line,currentColor);
   border-radius:999px;
   background:transparent;
   color:inherit;
}

.genui-guided-tabs button[aria-selected="true"] {
   border-color:var(--brand,currentColor);
   font-weight:600;
}

.genui-guided-panels > section {
   display:grid;
   gap:.75rem;
}

.genui-guided-items {
   display:grid;
   gap:.4rem;
}

.genui-guided-notes {
   display:grid;
   gap:.4rem;
   padding:.85rem;
   border-inline-start:3px solid var(--brand,currentColor);
   background:var(--surface-soft,transparent);
   border-radius:var(--radius-md,.75rem);
}

.genui-guided-notes ul {
   margin:0;
}

.genui-guided-notes[data-tone="warning"] {
   border-inline-start-width:4px;
}

@container (max-width:560px) {
   .genui-guided-tabs {
     margin-inline:-.25rem;
     padding-inline:.25rem;
  }
}

/* ==========================================================================
   Source: genui-miniapp-code.css
   ========================================================================== */
.genui-code-meta {
   display:flex;
   flex-wrap:wrap;
   gap:.4rem;
}

.genui-code-meta span {
   padding:.3rem .55rem;
   border:1px solid var(--line,currentColor);
   border-radius:999px;
   color:var(--muted);
}

.genui-code-tabs {
   display:flex;
   gap:.4rem;
   max-width:100%;
   overflow-x:auto;
   padding-bottom:.25rem;
}

.genui-code-tabs button {
   flex:0 0 auto;
   min-height:2.25rem;
   padding:.45rem .7rem;
   border:1px solid var(--line,currentColor);
   border-radius:999px;
   background:transparent;
   color:inherit;
}

.genui-code-tabs button[aria-selected="true"] {
   border-color:var(--brand,currentColor);
   font-weight:600;
}

.genui-code-panels {
   min-width:0;
}

.genui-code-source {
   display:grid;
   gap:.55rem;
   min-width:0;
}

.genui-code-toolbar {
   display:flex;
   align-items:center;
   justify-content:space-between;
   gap:.7rem;
   flex-wrap:wrap;
}

.genui-code-source pre {
   max-width:100%;
   max-height:38rem;
   overflow:auto;
   margin:0;
   padding:1rem;
   border:1px solid var(--line,currentColor);
   border-radius:var(--radius-md,.75rem);
}

.genui-code-source code {
   white-space:pre;
   tab-size:2;
}

.genui-code-text-panel {
   display:grid;
   gap:.65rem;
}

.genui-code-text-panel > div {
   white-space:pre-wrap;
   overflow-wrap:anywhere;
   line-height:1.6;
}

.genui-code-trust-note {
   padding:.75rem;
   border-inline-start:3px solid var(--brand,currentColor);
   background:var(--surface-soft,transparent);
   border-radius:var(--radius-md,.75rem);
}

.genui-code-copy-status {
   min-height:1.25rem;
   margin:0;
   color:var(--muted);
}

@container (max-width:560px) {
   .genui-code-tabs {
     margin-inline:-.25rem;
     padding-inline:.25rem;
  }

 .genui-code-source pre {
     max-height:28rem;
  }
}

/* ==========================================================================
   Source: account-experience.css
   ========================================================================== */
/* Account family chrome only.
   Route-specific cards, forms, buttons and data surfaces remain owned by their
   canonical feature stylesheets. The account layer must never become a late
   visual override for child routes. */

.account-control-page {
  width:min(100%,var(--account-max));
  padding-bottom:64px;
}

.account-control-page .workspace-route-bar {
  margin-bottom:0;
}

.account-original-head {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
}

.account-control-header {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:32px;
  padding:28px 0 22px;
  border-bottom:1px solid var(--account-line);
}

.account-identity {
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  align-items:center;
  gap:14px;
  min-width:0;
}

.account-avatar {
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border:1px solid var(--account-line);
  border-radius:var(--radius-surface);
  background:var(--ink);
  color:var(--lime);
  font-size:14px;
  font-weight:800;
  letter-spacing:-.035em;
}

.account-identity>div:last-child { min-width:0; }

.account-identity span {
  display:block;
  margin-bottom:4px;
  color:var(--muted);
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.account-identity h1 {
  margin:0;
  font:400 clamp(34px,3.2vw,46px)/.96 var(--public-serif);
  letter-spacing:-.06em;
}

.account-identity p {
  margin:5px 0 0;
  color:var(--faint);
  font-size:12px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.account-header-facts {
  display:flex;
  align-items:stretch;
  border-block:1px solid var(--account-line);
}

.account-header-facts span {
  min-width:88px;
  padding:10px 14px;
  border-inline-end:1px solid var(--account-line);
}

.account-header-facts span:last-child { border-inline-end:0; }

.account-header-facts small {
  display:block;
  color:var(--faint);
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.09em;
}

.account-header-facts b {
  display:block;
  margin-top:4px;
  font-size:12px;
  line-height:1.2;
  text-transform:capitalize;
  white-space:nowrap;
}

.account-control-layout {
  display:grid;
  grid-template-columns:minmax(190px,var(--account-rail)) minmax(0,1fr);
  gap:32px;
  align-items:start;
  padding-top:24px;
}

.account-suite-rail {
  position:sticky;
  top:74px;
  display:grid;
  gap:14px;
  min-width:0;
}

.account-rail-heading {
  padding:0 4px 12px;
  border-bottom:1px solid var(--account-line);
}

.account-rail-heading span,
.account-nav-label {
  display:block;
  color:var(--faint);
  font-size:10px;
  font-weight:760;
  text-transform:uppercase;
  letter-spacing:.11em;
}

.account-rail-heading b {
  display:block;
  margin-top:5px;
  font-size:13px;
  line-height:1.3;
}

.account-suite-nav {
  display:grid;
  gap:14px;
}

.account-nav-group {
  display:grid;
  gap:3px;
}

.account-nav-label { padding:0 8px 4px; }

.account-suite-nav a {
  display:grid;
  grid-template-columns:26px minmax(0,1fr);
  align-items:center;
  gap:9px;
  min-height:44px;
  padding:6px 8px;
  border:1px solid transparent;
  border-radius:6px;
  color:var(--muted);
  transition:background-color var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard);
}

.account-suite-nav a:hover {
  background:var(--account-soft);
  color:var(--ink);
}

.account-suite-nav a.active {
  background:var(--surface-2);
  border-color:var(--account-line);
  color:var(--ink);
}

.account-suite-nav a:focus-visible {
  outline:var(--focus-ring-width) solid var(--focus-ring);
  outline-offset:2px;
}

.account-nav-index {
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  border-radius:var(--radius-tight);
  background:var(--surface-2);
  color:var(--faint);
  font:700 10px/1 var(--font-mono);
  font-variant-numeric:tabular-nums;
}

.account-suite-nav a.active .account-nav-index {
  background:var(--ink);
  color:var(--lime);
}

.account-nav-copy { min-width:0; }

.account-nav-copy b {
  display:block;
  font-size:12px;
  line-height:1.2;
}

.account-nav-copy small {
  display:block;
  margin-top:2px;
  color:var(--faint);
  font-size:11px;
  line-height:1.2;
}

.account-rail-foot {
  display:grid;
  grid-template-columns:8px 1fr;
  gap:9px;
  align-items:start;
  padding:11px;
  border:1px solid var(--account-line);
  border-radius:var(--radius-surface);
  background:var(--surface-2);
}

.account-rail-foot>span {
  width:7px;
  height:7px;
  margin-top:4px;
  border-radius:50%;
  background:var(--brand-500);
}

.account-rail-foot p {
  margin:0;
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
}

.account-content-column {
  min-width:0;
  display:grid;
  gap:18px;
}

.account-route-brief {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:24px;
  padding:4px 0 18px;
  border-bottom:1px solid var(--account-line);
}

.account-route-kicker {
  display:block;
  color:var(--accent);
  font:700 10px/1.3 var(--font-mono);
  text-transform:uppercase;
  letter-spacing:.1em;
}

.account-route-brief h2 {
  margin:6px 0 4px;
  font-size:22px;
  line-height:1.1;
  letter-spacing:-.03em;
}

.account-route-brief p {
  max-width:68ch;
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
}

.account-route-state {
  display:grid;
  justify-items:end;
  gap:5px;
  min-width:150px;
}

.account-route-state>span {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:30px;
  padding:0 9px;
  border:1px solid var(--account-line);
  border-radius:var(--radius-pill);
  background:var(--surface-2);
  color:var(--ink);
  font-size:11px;
  font-weight:700;
}

.account-route-state>span i {
  width:7px;
  height:7px;
  border-radius:50%;
  background:#d8b56b;
}

.account-route-state>span.online i { background:var(--green); }
.account-route-state>span.offline i { background:var(--red); }

.account-route-state small {
  color:var(--faint);
  font-size:11px;
  text-align:end;
}

.account-route-actions {
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:8px;
  min-height:40px;
}

/* Child route surfaces intentionally retain their own visual owners. */
.account-surface { min-width:0; }

/* Settings sub-navigation is the only route-specific composition retained here:
   it belongs to the shared Account + Settings chrome, not generic card geometry. */
.account-settings-layout {
  grid-template-columns:minmax(170px,205px) minmax(0,1fr);
  gap:24px;
  align-items:start;
}

.account-settings-layout .settings-nav {
  position:sticky;
  top:74px;
  padding:4px;
  border:1px solid var(--account-line);
  border-radius:var(--radius-surface);
  background:var(--surface-2);
}

.account-settings-layout .settings-nav button {
  position:relative;
  width:100%;
  display:grid;
  grid-template-columns:26px 1fr;
  align-items:center;
  min-height:44px;
  padding:0 9px;
  border-radius:6px;
  text-align:start;
  color:var(--muted);
}

.account-settings-layout .settings-nav button:before {
  content:attr(data-step);
  color:var(--faint);
  font:700 10px/1 var(--font-mono);
  font-variant-numeric:tabular-nums;
}

.account-settings-layout .settings-nav button.active {
  background:var(--surface);
  color:var(--ink);
  box-shadow:none;
}

.account-settings-layout .settings-panel {
  padding:0;
  border:0;
  background:transparent;
}

.account-settings-layout .settings-panel form {
  display:grid;
  gap:12px;
}

.account-panel-intro {
  display:grid;
  grid-template-columns:minmax(140px,.45fr) 1fr;
  gap:20px;
  margin-bottom:2px;
  padding:14px 0 16px;
  border-bottom:1px solid var(--account-line);
}

.account-panel-intro span {
  color:var(--ink);
  font-size:11px;
  font-weight:760;
  text-transform:uppercase;
  letter-spacing:.09em;
}

.account-panel-intro p {
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}

.account-setting-row {
  position:relative;
  min-height:72px;
  padding:15px 16px;
  border:1px solid var(--account-line);
  border-radius:var(--radius-surface);
  background:var(--surface);
}

.account-setting-row:before {
  content:attr(data-row);
  position:absolute;
  top:9px;
  inset-inline-end:11px;
  color:var(--faint);
  font:700 10px/1 var(--font-mono);
}

.account-setting-row b { font-size:13px; }

.account-setting-row p {
  max-width:62ch;
  margin-top:5px;
  line-height:1.5;
}

.account-setting-row .select { min-width:170px; }
.account-setting-row .switch { flex:0 0 auto; }

html[data-workspace-density="compact"] .account-control-header { padding-block:20px 16px; }
html[data-workspace-density="compact"] .account-route-brief { padding-bottom:14px; }
html[data-workspace-density="compact"] .account-setting-row { min-height:60px;padding-block:11px; }

[dir="rtl"] .account-route-state { justify-items:start; }

@media(max-width:1120px) {
  .account-control-layout { grid-template-columns:200px minmax(0,1fr);gap:24px; }
  .account-header-facts span { min-width:76px; }
}

@media(max-width:980px) {
  .account-control-header { align-items:start; }
  .account-control-layout { grid-template-columns:1fr; }
  .account-suite-rail { position:static;gap:8px; }
  .account-rail-heading,.account-rail-foot { display:none; }
  .account-suite-nav {
    display:flex;
    gap:6px;
    overflow:auto;
    padding:4px;
    border:1px solid var(--account-line);
    border-radius:var(--radius-surface);
    background:var(--surface-2);
    scrollbar-width:none;
  }
  .account-suite-nav::-webkit-scrollbar { display:none; }
  .account-nav-group { display:flex;gap:3px;min-width:max-content; }
  .account-nav-label { display:none; }
  .account-suite-nav a { min-width:max-content;grid-template-columns:26px auto;min-height:42px;padding:5px 8px; }
  .account-nav-copy small { display:none; }
  .account-settings-layout { grid-template-columns:1fr; }
  .account-settings-layout .settings-nav { position:static;display:flex;overflow:auto;scrollbar-width:none; }
  .account-settings-layout .settings-nav button { width:auto;min-width:max-content;grid-template-columns:24px auto;padding-inline:9px; }
}

@media(max-width:720px) {
  .account-control-header { grid-template-columns:1fr;gap:16px;padding-top:22px; }
  .account-header-facts { width:100%; }
  .account-header-facts span { flex:1 1 0; }
  .account-route-brief { grid-template-columns:1fr;align-items:start;gap:12px;padding-top:0; }
  .account-route-state { justify-items:start;min-width:0; }
  .account-route-state small { text-align:start; }
  .account-route-actions { justify-content:flex-start;overflow:auto;padding-bottom:2px; }
  .account-panel-intro { grid-template-columns:1fr;gap:8px; }
  .account-setting-row { align-items:flex-start;gap:14px; }
  .account-setting-row .select { min-width:130px; }
}

@media(max-width:480px) {
  .account-avatar { width:44px;height:44px; }
  .account-identity { grid-template-columns:44px minmax(0,1fr); }
  .account-identity h1 { font-size:36px; }
  .account-header-facts { display:grid;grid-template-columns:1fr; }
  .account-header-facts span {
    min-width:0;
    padding:9px 0;
    border-inline-end:0;
    border-bottom:1px solid var(--account-line);
    display:flex;
    justify-content:space-between;
    align-items:center;
  }
  .account-header-facts span:last-child { border-bottom:0; }
  .account-header-facts b { margin:0; }
  .account-setting-row { display:grid; }
  .account-setting-row:before { display:none; }
  .account-setting-row>*:last-child { justify-self:start; }
}

@media(prefers-reduced-motion:reduce) {
  .account-suite-nav a { transition:none!important; }
}

/* ==========================================================================
   Source: settings-appearance.css
   ========================================================================== */
html[data-theme="dark"] {
  --bg:#151a18;
  --surface:#1d2421;
  --surface-2:#252e2a;
  --surface-3:#303a35;
  --ink:#edf2ee;
  --muted:#b1bbb5;
  --faint:#89958e;
  --line:#35413b;
  --line-strong:#46544d;
  --brand-950:#edf2ee;
  --brand-100:#2c3a34;
  --brand-50:#202a26;
  --lime:#b8cf9d;
  --lav:#493c37;
  --gold:#625638;
  --sky:#29443f;
  --shadow:0 22px 60px rgba(0,0,0,.34);
  --shadow-sm:0 9px 26px rgba(0,0,0,.26);
  --shadow-xs:0 2px 8px rgba(0,0,0,.2);
}

html[data-theme="dark"] body {
  background:var(--bg);
  color:var(--ink);
}

html[data-theme="dark"] .btn-primary {
  background:#e6eee9;
  color:#18201c;
}

html[data-theme="dark"] .btn-primary:hover { background:#fff; }

html[data-theme="dark"] .lang-trigger,
html[data-theme="dark"] .input,
html[data-theme="dark"] .textarea,
html[data-theme="dark"] .select {
  background:var(--surface);
  color:var(--ink);
  border-color:var(--line);
}

html[data-theme="dark"] .public-nav { background:rgba(21,26,24,.9); }

html[data-theme="dark"] .card,
html[data-theme="dark"] .settings-panel,
html[data-theme="dark"] .settings-nav {
  background:var(--surface);
  border-color:var(--line);
}

@media (prefers-color-scheme:dark) {
  html[data-theme="system"] {
    --bg:#151a18;
    --surface:#1d2421;
    --surface-2:#252e2a;
    --surface-3:#303a35;
    --ink:#edf2ee;
    --muted:#b1bbb5;
    --faint:#89958e;
    --line:#35413b;
    --line-strong:#46544d;
    --brand-950:#edf2ee;
    --brand-100:#2c3a34;
    --brand-50:#202a26;
    --lime:#b8cf9d;
    --lav:#493c37;
    --gold:#625638;
    --sky:#29443f;
    --shadow:0 22px 60px rgba(0,0,0,.34);
    --shadow-sm:0 9px 26px rgba(0,0,0,.26);
    --shadow-xs:0 2px 8px rgba(0,0,0,.2);
  }

  html[data-theme="system"] .btn-primary {
    background:#e6eee9;
    color:#18201c;
  }

  html[data-theme="system"] .public-nav { background:rgba(21,26,24,.9); }
}

/* Density changes spacing, never Stitch geometry. Feature-specific compact
   behavior stays in each feature owner. */
html[data-density="compact"] .app-page {
  padding-top:20px;
  padding-bottom:28px;
}

html[data-density="compact"] .setting-row {
  min-height:54px;
  padding-block:10px;
}

html[data-density="compact"] .grid-3,
html[data-density="compact"] .grid-4 {
  gap:12px;
}

.settings-select {
  min-width:150px;
  max-width:220px;
}

.settings-save-row {
  display:flex;
  justify-content:flex-end;
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid var(--line);
}

.settings-page .settings-panel form {
  display:grid;
  gap:4px;
}

.settings-page .danger-zone {
  margin-top:28px;
  border-top:1px solid var(--line);
  padding-top:20px;
}

.settings-page[data-model-mode="auto"] select[data-value="model"] {
  border-color:color-mix(in srgb,var(--brand-600) 28%,var(--line));
  background:color-mix(in srgb,var(--brand-50) 52%,var(--surface));
}

.settings-session-row {
  position:relative;
  min-height:74px;
  gap:18px;
}

.settings-session-row.current {
  border-inline-start:3px solid var(--brand-600);
  padding-inline-start:15px;
  background:color-mix(in srgb,var(--brand-50) 45%,var(--surface));
}

.settings-session-row.current:after {
  content:"current";
  position:absolute;
  inset-inline-end:12px;
  bottom:6px;
  color:var(--faint);
  font:650 9px/1 var(--font-mono);
  letter-spacing:.08em;
  text-transform:uppercase;
}

.settings-session-row p {
  max-width:58ch;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.account-settings-policy-link {
  padding:18px;
  border:1px solid var(--line);
  border-radius:var(--radius-surface);
  background:var(--surface);
}

.account-settings-policy-link>span {
  color:var(--faint);
  font-size:10px;
  font-weight:760;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.account-settings-policy-link h3 {
  max-width:760px;
  margin:8px 0;
  font:700 22px/1.15 var(--display);
  letter-spacing:-.03em;
}

.account-settings-policy-link p {
  max-width:70ch;
  margin:0 0 16px;
  color:var(--muted);
  font-size:12px;
  line-height:1.6;
}

@media(max-width:840px) {
  .settings-layout { grid-template-columns:1fr; }
  .settings-nav { display:flex;overflow:auto; }
  .settings-nav button { white-space:nowrap; }
}

@media(max-width:680px) {
  .settings-select { min-width:126px;max-width:160px; }
}

@media(max-width:620px) {
  .settings-session-row { align-items:flex-start;flex-direction:column; }
  .settings-session-row .btn { width:100%; }
}

@media(max-width:580px) {
  .settings-panel { padding:14px; }
}

@media(prefers-reduced-motion:reduce) {
  .settings-page .btn,.settings-page .select,.settings-page .switch { transition:none!important; }
}

/* ==========================================================================
   Source: shell-runtime.css
   ========================================================================== */
.notification-button{position:relative}

.nav-count{
  display:inline-grid;
  place-items:center;
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:var(--radius-pill);
  background:var(--accent);
  color:#fff;
  font-size:12px;
  font-weight:800;
  line-height:1;
  box-shadow:0 0 0 2px var(--surface)
}

.notification-button .nav-count {
  position:absolute;
  top:-3px;
  inset-inline-end:-3px;
  pointer-events:none
}

.nav-link .nav-count { margin-inline-start:auto }
.sidebar-notification-count { flex:0 0 auto }

@media(max-width:720px) {
  .notification-button .nav-count {
    top:-1px;
    inset-inline-end:-1px
  }
}

/* ==========================================================================
   Source: public-stability.css
   ========================================================================== */
/* Public-route mechanics only.
   Visual composition belongs to public-surface.css or the route-specific owner. */

html.public-stable,
html.public-stable body,
html.public-stable #app {
  width:100%;
  min-width:0;
  min-height:100%
}

html.public-stable body {
  overflow-x:hidden;
  background:var(--bg)
}

html.public-stable .landing,
html.public-stable .pricing-page,
html.public-stable .auth-shell,
html.public-stable .docs-public-page,
html.public-stable .docs-page {
  width:100%;
  max-width:none;
  min-width:0
}

html.public-stable .landing,
html.public-stable .pricing-page,
html.public-stable .auth-shell,
html.public-stable .docs-public-page {
  overflow:clip
}

html.public-stable .public-reveal {
  opacity:1!important;
  visibility:visible!important;
  transform:none!important
}

html.public-stable .public-content-visibility {
  content-visibility:visible!important;
  contain:none!important;
  contain-intrinsic-size:auto!important
}

html.public-stable {
  --public-shell:min(1280px,calc(100vw - 64px));
  --public-section:clamp(72px,8vw,120px);
  --public-gap:clamp(32px,5vw,80px)
}

html.public-stable :where(#product,#catalog,#vira-ui,#studios,#cost,.docs-first-five,.docs-guide,.docs-code) {
  scroll-margin-top:96px
}

html.public-stable .public-password-toggle {
  position:absolute;
  right:12px;
  margin-top:10px;
  border:0;
  background:transparent;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
  cursor:pointer
}

html.public-stable .auth-card label {
  position:relative
}

html.public-stable :where(a,button,input,select,textarea):focus-visible {
  outline:3px solid color-mix(in srgb,var(--accent) 52%,transparent);
  outline-offset:3px
}

html.protected-startup-stable,html.protected-startup-stable body,html.protected-startup-stable #app{min-height:100%;background:var(--bg)}
.protected-startup{display:grid;min-height:100svh;place-items:center;padding:32px;color:var(--ink)}
.protected-startup-brand{position:absolute;inset-block-start:28px;inset-inline-start:32px;color:var(--ink);font-size:28px;font-weight:850;letter-spacing:-.055em;text-decoration:none}
.protected-startup-status{text-align:center}.protected-startup-status .spinner{display:inline-block;margin-block-end:18px}.protected-startup-status strong{display:block;font-size:16px}.protected-startup-status p{margin:8px 0 0;color:var(--muted);font-size:13px}

@media(max-width:1100px) {
  html.public-stable {
    --public-shell:min(920px,calc(100vw - 40px))
  }
}

@media(max-width:760px) {
  html.public-stable {
    --public-shell:calc(100vw - 32px);
    --public-section:clamp(58px,10vw,78px);
    --public-gap:32px
  }

  html.public-stable :where(#product,#catalog,#vira-ui,#studios,#cost,.docs-first-five,.docs-guide,.docs-code) {
    scroll-margin-top:76px
  }
}

@media(max-width:480px) {
  html.public-stable {
    --public-shell:calc(100vw - 28px)
  }
}

/* ==========================================================================
   Source: public-docs.css
   ========================================================================== */
.docs-public-page{min-height:100svh;display:flex;flex-direction:column;background:var(--bg);color:var(--ink)}
.docs-public-page .docs-page{flex:1;width:min(1400px,calc(100vw - 64px));margin-inline:auto;padding:0 0 112px}
.docs-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.7fr);gap:clamp(36px,7vw,112px);align-items:end;margin-top:32px;padding:clamp(56px,7vw,96px);border:1px solid var(--line);border-radius:18px;background:var(--surface-2)}
.docs-hero::after{content:"01  ───  02  ───  03";position:absolute;inset-inline-end:clamp(24px,5vw,72px);inset-block-start:22px;color:var(--accent-dark);font:650 10px/1 var(--font-mono);letter-spacing:.08em;opacity:.7;animation:docs-path-in 450ms var(--ease-out) both}
@keyframes docs-path-in{from{opacity:0;transform:translateY(-5px)}to{opacity:.7;transform:translateY(0)}}
.docs-hero h1{max-width:11ch;margin:0;font:800 clamp(56px,6.3vw,88px)/.92 var(--display);letter-spacing:-.04em;text-wrap:balance}
.docs-hero p{max-width:58ch;margin:22px 0 0;color:var(--muted);font:400 16px/1.72 var(--font-reading)}
.docs-search{display:flex;align-items:center;width:100%;height:58px;padding:0 18px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--muted);box-shadow:0 8px 24px rgba(19,33,25,.05)}
.docs-search:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-300) 28%,transparent)}
.docs-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--ink);font:400 14px/1 var(--font-reading);caret-color:var(--accent-dark)}
.docs-search input::placeholder{color:var(--faint)}

.docs-task-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:40px 0 76px;border-bottom:1px solid var(--line)}
.docs-task-row{display:block;padding:26px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);text-decoration:none;color:var(--ink);transition:transform .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease)}
.docs-task-row:first-child{border-top:1px solid var(--line)}
.docs-task-row:hover,.docs-task-row:focus-visible{border-color:var(--line-strong);box-shadow:0 12px 28px rgba(19,33,25,.06);transform:translateY(-2px)}
.docs-task-row>div{display:grid;grid-template-columns:1fr;gap:14px;align-items:start}
.docs-task-label{padding-top:4px;color:var(--accent-dark);font:650 11px/1.4 var(--font-reading);letter-spacing:.01em}
.docs-task-row h2{max-width:22ch;margin:0;font:720 clamp(22px,2.4vw,32px)/1.04 var(--display);letter-spacing:-.04em}
.docs-task-row p{max-width:60ch;margin:1px 0 0;color:var(--muted);font:400 13px/1.58 var(--font-reading)}
.docs-task-row:hover h2,.docs-task-row:focus-visible h2{text-decoration:underline;text-decoration-color:var(--brand-300);text-decoration-thickness:2px;text-underline-offset:5px}
.docs-search-status{margin:28px 0 0;padding:14px 0;border-bottom:1px solid var(--line);color:var(--muted);font:500 13px/1.5 var(--font-reading)}

.docs-first-five{display:grid;grid-template-columns:minmax(230px,.42fr) minmax(0,1fr);gap:clamp(32px,6vw,76px);align-items:center;margin-top:14px;padding:58px 30px 64px;border:1px solid var(--line);border-radius:14px;background:#edf3ed}
.docs-first-five h2{max-width:16ch;margin:0;font:680 30px/1.08 var(--display);letter-spacing:-.035em}
.docs-first-five p{max-width:38ch;margin:12px 0 0;color:var(--muted);font:400 13px/1.62 var(--font-reading)}
.docs-first-five ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none}
.docs-first-five li{position:relative;display:grid;gap:12px;justify-items:start;min-width:0;color:var(--muted)}
.docs-first-five li:not(:last-child)::after{content:"";position:absolute;inset-block-start:14px;inset-inline-start:28px;width:calc(100% - 28px);height:1px;background:var(--line-strong)}
.docs-first-five li span{position:relative;z-index:1;display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line-strong);border-radius:6px;background:var(--bg);color:var(--ink);font:650 10px/1 var(--font-mono);font-variant-numeric:tabular-nums}
.docs-first-five li.active span{border-color:var(--brand-950);background:var(--brand-950);color:var(--bg)}
.docs-first-five li b{max-width:14ch;color:var(--ink);font:600 11px/1.45 var(--font-reading)}

.docs-content-shell{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(46px,7vw,110px);align-items:start;padding:96px 0 36px}
.docs-rail{position:sticky;top:88px;display:grid;gap:24px;min-width:0;padding-top:4px}
.docs-rail>div{display:grid;gap:0}
.docs-rail-label{display:block;margin-bottom:12px;color:var(--faint);font:650 11px/1.3 var(--font-reading);letter-spacing:.01em}
.docs-rail a{display:block;padding:8px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 68%,transparent);color:var(--muted);font:500 12px/1.35 var(--font-reading);text-decoration:none;text-underline-offset:4px}
.docs-rail a:hover,.docs-rail a:focus-visible,.docs-rail a.active{color:var(--ink)}
.docs-rail a.active{font-weight:700;text-decoration:underline;text-decoration-color:var(--brand-300)}
.docs-rail-developer{color:var(--accent-dark)!important}
.docs-reading{min-width:0;width:min(860px,100%)}
.docs-reading-intro{max-width:700px;margin-bottom:42px}
.docs-reading-intro h2{max-width:16ch;margin:0;font:720 clamp(38px,4.2vw,54px)/1.01 var(--display);letter-spacing:-.04em;text-wrap:balance}
.docs-reading-intro p{max-width:70ch;margin:15px 0 0;color:var(--muted);font:400 15px/1.68 var(--font-reading)}
.docs-guide-group{margin:0 0 54px}
.docs-guide-group>header{display:grid;grid-template-columns:minmax(120px,.3fr) minmax(0,1fr);gap:28px;align-items:start;padding:0 0 16px;border-bottom:1px solid var(--line)}
.docs-guide-group>header h3{margin:0;font:700 13px/1.25 var(--display);letter-spacing:-.015em}
.docs-guide-group>header p{max-width:54ch;margin:0;color:var(--muted);font:400 13px/1.55 var(--font-reading)}
.docs-guide{border-bottom:1px solid var(--line)}
.docs-guide>summary{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:16px;align-items:start;padding:24px 0;cursor:pointer;list-style:none}
.docs-guide>summary::-webkit-details-marker{display:none}
.docs-guide>summary h3{max-width:26ch;margin:0;font:660 clamp(22px,2.4vw,30px)/1.1 var(--display);letter-spacing:-.03em;text-wrap:balance}
.docs-guide>summary p{max-width:70ch;margin:8px 0 0;color:var(--muted);font:400 13px/1.62 var(--font-reading)}
.docs-guide-toggle{position:relative;width:28px;height:28px;border:1px solid var(--line-strong);border-radius:50%;transition:transform .18s var(--ease),background .18s var(--ease),border-color .18s var(--ease)}
.docs-guide-toggle::before,.docs-guide-toggle::after{content:"";position:absolute;inset:50% auto auto 50%;width:10px;height:1px;background:currentColor;transform:translate(-50%,-50%)}
.docs-guide-toggle::after{transform:translate(-50%,-50%) rotate(90deg)}
.docs-guide[open] .docs-guide-toggle{transform:rotate(45deg);background:var(--brand-950);color:var(--bg);border-color:var(--brand-950)}
.docs-guide-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:clamp(34px,5vw,58px);padding:2px 0 30px}
.docs-guide-label{display:block;margin:0 0 8px;color:var(--faint);font:650 11px/1.35 var(--font-reading);letter-spacing:.01em}
.docs-guide-steps ol{display:grid;gap:0;margin:0;padding:0;counter-reset:doc-step;list-style:none}
.docs-guide-steps li{position:relative;padding:0 0 18px 32px;color:var(--ink);font:400 14px/1.67 var(--font-reading);counter-increment:doc-step}
[dir="rtl"] .docs-guide-steps li{padding:0 32px 18px 0}
.docs-guide-steps li::before{content:counter(doc-step);position:absolute;inset-inline-start:0;inset-block-start:2px;display:grid;place-items:center;width:20px;height:20px;border:1px solid var(--line-strong);border-radius:50%;color:var(--muted);font:700 8px/1 var(--font-mono);font-variant-numeric:tabular-nums}
.docs-guide-panel aside{align-self:start;padding-inline-start:20px;border-inline-start:1px solid var(--brand-300)}
.docs-guide-panel aside [data-doc-guide-facts]{display:grid;gap:16px;margin-bottom:24px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.docs-guide-panel aside [data-doc-fact] p{margin-bottom:0;color:var(--ink)}
.docs-guide-panel aside p{margin:0 0 20px;color:var(--muted);font:400 13px/1.62 var(--font-reading)}
.docs-guide:target{scroll-margin-top:92px}
.docs-guide:target>summary h3{text-decoration:underline;text-decoration-color:var(--brand-300);text-decoration-thickness:3px;text-underline-offset:6px}
.docs-guide[hidden],.docs-task-row[hidden],.docs-rail a[hidden],.docs-developer-nav a[hidden]{display:none!important}
.docs-guide-group[hidden],.docs-developer-zone[hidden]{display:none!important}

.docs-developer-zone{margin:66px -40px -112px;padding:72px 40px 94px;background:var(--brand-950);color:#f7f4ec}
.docs-developer-inner{width:min(1040px,100%);margin-inline:auto}
.docs-developer-intro{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:40px;align-items:end;padding-bottom:34px;border-bottom:1px solid #34463b}
.docs-developer-intro h2{max-width:13ch;margin:0;font:720 clamp(38px,4vw,52px)/1.02 var(--display);letter-spacing:-.04em;color:#f7f4ec}
.docs-developer-intro p{max-width:65ch;margin:0;color:#b9c6bd;font:400 14px/1.68 var(--font-reading)}
.docs-developer-nav{display:flex;flex-wrap:wrap;gap:8px 20px;padding:24px 0 18px;border-bottom:1px solid #34463b}
.docs-developer-nav a{color:#b9c6bd;font:600 11px/1.4 var(--font-mono);text-decoration:none;text-underline-offset:4px}
.docs-developer-nav a:hover,.docs-developer-nav a:focus-visible,.docs-developer-nav a.active{color:#f7f4ec;text-decoration:underline}
.docs-developer-guides .docs-guide{border-bottom-color:#34463b}
.docs-developer-guides .docs-guide>summary h3{color:#f7f4ec}
.docs-developer-guides .docs-guide>summary p,.docs-developer-guides .docs-guide-panel aside p{color:#b9c6bd}
.docs-developer-guides .docs-guide-toggle{border-color:#526158;color:#b9c6bd}
.docs-developer-guides .docs-guide[open] .docs-guide-toggle{background:var(--brand-300);border-color:var(--brand-300);color:var(--brand-950)}
.docs-developer-guides .docs-guide-label{color:#9caf9f}
.docs-developer-guides .docs-guide-steps li{color:#ecf1ed}
.docs-developer-guides .docs-guide-steps li::before{border-color:#526158;color:#b9c6bd}
.docs-developer-guides .docs-guide-panel aside{border-inline-start-color:var(--brand-300)}
.docs-developer-guides .docs-guide-panel aside .docs-guide-label:first-child,.docs-developer-guides .docs-guide-panel aside .docs-guide-label:first-child+p{display:none}
.docs-code{margin:62px 0 0;padding-top:34px;border-top:1px solid #34463b}
.docs-code>header{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1fr);gap:30px;align-items:end;margin-bottom:20px}
.docs-code>header h2{max-width:15ch;margin:0;font:680 30px/1.08 var(--display);letter-spacing:-.035em;color:#f7f4ec}
.docs-code>header p{max-width:65ch;margin:0;color:#b9c6bd;font:400 13px/1.65 var(--font-reading)}
.docs-code-grid{display:grid;grid-template-columns:1fr;gap:10px}
.docs-code-grid>div{min-width:0;border:1px solid #34463b;background:#0f1c16}
.docs-code-grid>div>span{display:block;padding:10px 14px;border-bottom:1px solid #34463b;color:#9caf9f;font:700 9px/1.2 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
.docs-code pre{max-width:100%;margin:0;padding:17px;overflow:auto;background:transparent}
.docs-code code{color:#e8efe9;font:500 12px/1.7 var(--font-mono);white-space:pre}

@media(max-width:980px){
  .docs-public-page .docs-page{width:min(880px,calc(100vw - 48px))}
  .docs-hero{grid-template-columns:1fr;gap:30px;padding:48px 40px 44px}
  .docs-search{width:min(620px,100%)}
  .docs-task-row>div{grid-template-columns:1fr;gap:12px}
  .docs-task-row p{grid-column:auto}
  .docs-content-shell{grid-template-columns:1fr;gap:38px;padding-top:64px}
  .docs-rail{position:static;display:flex;align-items:center;gap:12px;overflow:auto;padding:0 0 12px;border-bottom:1px solid var(--line);scrollbar-width:thin}
  .docs-rail>div{display:flex;align-items:center;gap:18px;white-space:nowrap}
  .docs-rail-label{margin:0}
  .docs-rail a{flex:0 0 auto;padding:8px 0;border-bottom:0}
  .docs-rail-developer{margin-inline-start:auto}
  .docs-reading{width:100%}
  .docs-first-five{grid-template-columns:1fr;gap:30px}
  .docs-developer-intro,.docs-code>header{grid-template-columns:1fr}
}

@media(max-width:760px){
  .docs-public-page .docs-page{width:calc(100vw - 32px);padding-bottom:72px}
  .docs-hero{padding:48px 24px 36px}
  .docs-hero::after{inset-inline-end:auto;inset-block-start:20px;inset-block-end:auto}
  .docs-hero h1{font-size:clamp(42px,12vw,56px)}
  .docs-hero p{font-size:15px}
  .docs-task-map{padding:24px 0 46px}
  .docs-task-row{padding:20px}
  .docs-task-row>div{grid-template-columns:1fr;gap:6px}
  .docs-task-row p{grid-column:auto;margin-top:2px}
  .docs-task-row h2{font-size:22px}
  .docs-task-label{display:none}
  .docs-first-five{padding:40px 20px 46px}
  .docs-first-five ol{grid-template-columns:1fr;gap:17px}
  .docs-first-five li{grid-template-columns:28px minmax(0,1fr);align-items:center;gap:12px}
  .docs-first-five li:not(:last-child)::after{inset-block-start:28px;inset-inline-start:14px;width:1px;height:calc(100% + 17px)}
  .docs-first-five li b{max-width:none}
  .docs-content-shell{padding-top:52px}
  .docs-reading-intro h2{font-size:38px}
  .docs-guide-group{margin-bottom:44px}
  .docs-guide-group>header{grid-template-columns:1fr;gap:6px}
  .docs-guide>summary{gap:10px;padding:21px 0}
  .docs-guide>summary h3{font-size:23px}
  .docs-guide>summary p{font-size:12.5px}
  .docs-guide-panel{grid-template-columns:1fr;gap:22px;padding:0 0 26px}
  .docs-guide-panel aside{max-width:620px;padding-inline-start:0;padding-top:18px;border-inline-start:0;border-top:1px solid var(--brand-300)}
  .docs-guide-panel aside [data-doc-guide-facts]{gap:14px;margin-bottom:20px;padding-bottom:20px}
  .docs-developer-zone{margin:52px -16px -72px;padding:56px 16px 72px}
  .docs-developer-intro h2{font-size:38px}
  .docs-developer-nav{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
  .docs-code{margin-top:48px}
}

@media(max-width:480px){
  .docs-public-page .docs-page{width:calc(100vw - 28px)}
  .docs-search{height:48px;padding-inline:13px}
  .docs-rail-developer{margin-inline-start:0}
  .docs-guide>summary{grid-template-columns:minmax(0,1fr) 28px}
  .docs-guide-panel{padding-inline:0}
  .docs-developer-nav{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  .docs-guide-toggle{transition:none}
  .docs-hero::after{animation:none}
}

/* Editorial reference composition: the docs are a readable product surface,
   not a dashboard of rounded feature cards. */
html.public-stable .docs-public-page{background:#f7f6f2;color:#1f1e1b}
html.public-stable .docs-public-page .docs-page{width:min(1400px,calc(100vw - 80px));padding-bottom:132px}
html.public-stable .docs-hero{display:block;margin-top:0;padding:clamp(126px,14vw,196px) 0 76px;border:0;border-bottom:1px solid #d8d3ca;border-radius:0;background:transparent}
html.public-stable .docs-hero::after{display:none}
html.public-stable .docs-hero h1{max-width:none;margin:0;color:#1f1e1b;font:400 clamp(72px,8.6vw,132px)/.88 var(--public-serif);letter-spacing:-.04em;text-wrap:balance}
html.public-stable .docs-hero p{max-width:760px;margin:31px 0 0;color:#6c6861;font:400 20px/1.55 var(--font-reading)}
html.public-stable .docs-search{width:min(520px,100%);height:66px;margin-top:63px;padding-inline:20px;border:1px solid #bcb6ac;border-radius:0;background:transparent;color:#6c6861;box-shadow:none}
html.public-stable .docs-search:focus-within{border-color:#1f1e1b;box-shadow:none}
html.public-stable .docs-search input{font:400 17px/1 var(--font-reading)}
html.public-stable .docs-task-map{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0;border-bottom:1px solid #d8d3ca}
html.public-stable .docs-task-row{min-height:205px;padding:32px 34px;border:0;border-inline-start:1px solid #d8d3ca;border-bottom:1px solid #d8d3ca;border-radius:0;background:transparent;box-shadow:none}
html.public-stable .docs-task-row:nth-child(odd){border-inline-start:0}
html.public-stable .docs-task-row:nth-last-child(-n+2){border-bottom:0}
html.public-stable .docs-task-row:hover,html.public-stable .docs-task-row:focus-visible{border-color:#d8d3ca;background:#efede7;box-shadow:none;transform:none}
html.public-stable .docs-task-row h2{font:500 clamp(28px,3vw,42px)/1 var(--public-serif);letter-spacing:-.04em}
html.public-stable .docs-task-row p{font:400 15px/1.6 var(--font-reading)}
html.public-stable .docs-task-label{color:#bd5f46;font:600 11px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase}
html.public-stable .docs-search-status{margin:0;padding:18px 0;border-bottom:1px solid #d8d3ca;color:#6c6861}
html.public-stable .docs-first-five{grid-template-columns:minmax(260px,.42fr) minmax(0,1fr);margin-top:0;padding:67px 0 70px;border:0;border-bottom:1px solid #d8d3ca;border-radius:0;background:transparent}
html.public-stable .docs-first-five h2{font:500 clamp(34px,3.4vw,52px)/.98 var(--public-serif);letter-spacing:-.04em}
html.public-stable .docs-first-five p{font:400 16px/1.65 var(--font-reading)}
html.public-stable .docs-first-five li b{font:600 13px/1.45 var(--font-reading)}
html.public-stable .docs-content-shell{grid-template-columns:250px minmax(0,860px);gap:clamp(52px,8vw,118px);padding:112px 0 66px}
html.public-stable .docs-rail{top:96px;padding-top:0}
html.public-stable .docs-rail>div{padding-inline-start:20px;border-inline-start:1px solid #d8d3ca}
html.public-stable .docs-rail-label{margin-bottom:16px;color:#8d877d;font:600 11px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase}
html.public-stable .docs-rail a{padding:10px 0;border:0;color:#6c6861;font:400 15px/1.3 var(--font-reading)}
html.public-stable .docs-rail a:hover,html.public-stable .docs-rail a:focus-visible,html.public-stable .docs-rail a.active{color:#bd5f46}
html.public-stable .docs-rail a.active{font-weight:500;text-decoration:none}
html.public-stable .docs-rail-developer{margin-top:18px!important;padding:18px 20px!important;border:1px solid #d8d3ca!important;color:#bd5f46!important}
html.public-stable .docs-reading-intro{max-width:760px;margin-bottom:57px}
html.public-stable .docs-reading-intro h2{font:500 clamp(48px,5.4vw,76px)/.92 var(--public-serif);letter-spacing:-.04em}
html.public-stable .docs-reading-intro p{margin-top:22px;font:400 18px/1.65 var(--font-reading)}
html.public-stable .docs-guide-group{margin-bottom:75px}
html.public-stable .docs-guide-group>header{grid-template-columns:minmax(120px,.34fr) minmax(0,1fr);padding-bottom:20px;border-bottom:1px solid #d8d3ca}
html.public-stable .docs-guide-group>header h3{color:#bd5f46;font:600 11px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase}
html.public-stable .docs-guide-group>header p{font:400 15px/1.6 var(--font-reading)}
html.public-stable .docs-guide{border-bottom:1px solid #d8d3ca}
html.public-stable .docs-guide>summary{padding:28px 0}
html.public-stable .docs-guide>summary h3{font:500 clamp(28px,3vw,42px)/1 var(--public-serif);letter-spacing:-.04em}
html.public-stable .docs-guide>summary p{margin-top:11px;font:400 15px/1.6 var(--font-reading)}
html.public-stable .docs-guide-toggle{border-radius:0}
html.public-stable .docs-guide[open] .docs-guide-toggle{border-radius:50%;background:#1f1e1b;border-color:#1f1e1b}
html.public-stable .docs-guide-panel{padding-bottom:36px}
html.public-stable .docs-guide-steps li{font:400 16px/1.7 var(--font-reading)}
html.public-stable .docs-guide-label{color:#8d877d;font:600 10px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase}
html.public-stable .docs-guide-panel aside{border-inline-start-color:#bd5f46}
html.public-stable .docs-developer-zone{margin:72px -40px -132px;padding:88px 40px 112px;background:#202d26;color:#f7f6f2}
html.public-stable .docs-developer-inner{width:min(1120px,100%)}
html.public-stable .docs-developer-intro h2{font:500 clamp(48px,5vw,76px)/.92 var(--public-serif);letter-spacing:-.04em}
html.public-stable .docs-developer-intro p{font:400 16px/1.7 var(--font-reading)}
html.public-stable .docs-developer-nav a{font:600 11px/1.4 var(--font-mono);letter-spacing:.04em}
html.public-stable .docs-developer-guides .docs-guide>summary h3{font:500 clamp(28px,3vw,42px)/1 var(--public-serif);letter-spacing:-.04em}
html.public-stable .docs-developer-guides .docs-guide>summary p,html.public-stable .docs-developer-guides .docs-guide-panel aside p{font-size:15px}
html.public-stable .docs-code>header h2{font:500 42px/1 var(--public-serif);letter-spacing:-.04em}

@media(max-width:980px){
  html.public-stable .docs-public-page .docs-page{width:min(880px,calc(100vw - 48px))}
  html.public-stable .docs-content-shell{grid-template-columns:1fr;gap:38px}
  html.public-stable .docs-rail{position:static}
  html.public-stable .docs-developer-zone{margin-inline:-24px}
}

@media(max-width:760px){
  html.public-stable .docs-public-page .docs-page{width:calc(100vw - 32px);padding-bottom:72px}
  html.public-stable .docs-hero{padding-block:110px 54px}
  html.public-stable .docs-hero h1{font-size:clamp(54px,14vw,82px)}
  html.public-stable .docs-hero p{font-size:17px}
  html.public-stable .docs-task-map{grid-template-columns:1fr}
  html.public-stable .docs-task-row{min-height:0;padding:26px 22px;border-inline-start:0!important;border-bottom:1px solid #d8d3ca!important}
  html.public-stable .docs-task-row:last-child{border-bottom:0!important}
  html.public-stable .docs-first-five{grid-template-columns:1fr;gap:30px;padding-block:51px 58px}
  html.public-stable .docs-reading-intro h2{font-size:48px}
  html.public-stable .docs-guide-group>header{grid-template-columns:1fr;gap:10px}
  html.public-stable .docs-guide>summary h3{font-size:30px}
  html.public-stable .docs-developer-zone{margin-inline:-16px;padding:62px 16px 80px}
  html.public-stable .docs-developer-intro h2{font-size:50px}
}

/* ==========================================================================
   Source: public-auth.css
   ========================================================================== */
/* Canonical auth family owner: approved Stitch composition + production states. */
html.public-stable .auth-shell{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,1fr);width:100%;min-height:100svh;background:var(--bg);color:var(--ink);overflow:hidden}
html.public-stable .auth-topbar{position:absolute;inset-block-start:0;inset-inline:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:34px clamp(28px,5vw,80px);pointer-events:none}
html.public-stable .auth-topbar :where(a,button){pointer-events:auto}
html.public-stable .auth-home-link{color:var(--ink);font-size:clamp(28px,2.4vw,38px);font-weight:850;letter-spacing:-.04em;text-decoration:none}
html.public-stable .auth-topbar-actions{display:flex;align-items:center;gap:18px;margin-inline-start:auto;color:var(--muted)}
html.public-stable .auth-language{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.02em}
html.public-stable .auth-topbar .lang-select{position:relative}
html.public-stable .auth-topbar .lang-trigger{min-height:44px;border:0;background:transparent;color:var(--ink)}
html.public-stable .auth-topbar .lang-menu{position:absolute;inset-block-start:calc(100% + 8px);inset-inline-end:0;min-width:150px;padding:6px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 16px 36px rgb(5 26 15 / 12%)}
html.public-stable .auth-form-zone{display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:0;height:100svh;min-height:0;padding:124px clamp(36px,6vw,80px) 64px;background:var(--bg);overflow:auto}
html.public-stable .auth-card{width:min(100%,480px);margin:auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
html.public-stable .auth-card-kicker{display:block;margin-block-end:24px;color:var(--faint);font-size:12px;font-weight:760;letter-spacing:.015em}
html.public-stable .auth-card h1{max-width:14ch;margin:0 0 12px;font-size:clamp(38px,4vw,54px);line-height:1;letter-spacing:-.04em}
html.public-stable .auth-card>p,html.public-stable .auth-card form>p{max-width:46ch;margin:0 0 34px;color:var(--muted);font-size:16px;line-height:1.6}
html.public-stable .auth-field{margin-block-start:22px}
html.public-stable .auth-field label>span{display:block;margin-block-end:8px;color:var(--ink);font-size:12px;font-weight:720;letter-spacing:.01em}
html.public-stable .auth-field input{width:100%;min-height:48px;padding:0 2px 8px;border:0;border-block-end:1px solid var(--line-strong);border-radius:0;background:transparent;color:var(--ink);font-size:16px;outline:0}
html.public-stable .auth-field input:hover{border-color:var(--ink)}
html.public-stable .auth-field input:focus{border-color:var(--brand-600);box-shadow:0 2px 0 var(--brand-600)}
html.public-stable .auth-inline-action{display:flex;min-height:44px;align-items:center;justify-content:flex-end;margin-block-start:4px;font-size:12px}
html.public-stable .auth-inline-action a,html.public-stable .auth-recovery-links a,html.public-stable .auth-secondary-action a{display:inline-flex;min-height:44px;align-items:center;color:var(--muted);text-decoration:none}
html.public-stable .auth-inline-action a:hover,html.public-stable .auth-inline-action a:focus-visible,html.public-stable .auth-recovery-links a:hover,html.public-stable .auth-recovery-links a:focus-visible,html.public-stable .auth-secondary-action a:hover,html.public-stable .auth-secondary-action a:focus-visible{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
html.public-stable .auth-submit{width:100%;min-height:52px;margin-block-start:24px;border-radius:4px}
html.public-stable .auth-recovery-links{display:flex;min-height:44px;align-items:center;justify-content:center;margin-block-start:6px;font-size:12px}
html.public-stable .auth-switch{margin-block-start:20px;text-align:center;color:var(--muted);font-size:13px}
html.public-stable .auth-switch a{display:inline-flex;min-height:44px;align-items:center;color:var(--ink);font-weight:800;text-underline-offset:3px}
html.public-stable .auth-terms{max-width:48ch;margin:8px auto 0!important;text-align:center;color:var(--faint);font-size:12px!important;line-height:1.5!important}
html.public-stable .auth-brand{display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;box-sizing:border-box;min-width:0;height:100svh;min-height:0;gap:48px;padding:clamp(120px,11vw,176px) clamp(48px,8vw,128px) 74px;border-inline-start:1px solid var(--line);background:color-mix(in srgb,var(--surface-2) 76%,var(--bg));color:var(--brand-950);overflow:hidden}
html.public-stable .auth-brand.auth-brand-static{justify-content:center;padding-block:clamp(120px,11vw,176px)}
html.public-stable .auth-brand-copy{width:100%;max-width:560px}
html.public-stable .auth-brand-copy h2{margin:0 0 34px;font-size:clamp(54px,5.7vw,84px);font-weight:820;line-height:.94;letter-spacing:-.04em}
html.public-stable .auth-brand-copy p{max-width:42ch;margin:0;color:var(--muted);font-size:16px;line-height:1.55}
html.public-stable .auth-genui-demo{width:min(100%,560px);padding:18px;border:1px solid color-mix(in srgb,var(--brand-950) 18%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--surface) 76%,transparent);box-shadow:0 18px 44px rgb(5 26 15 / 8%);color:var(--ink)}
html.public-stable .auth-genui-demo-head{display:flex;align-items:center;justify-content:space-between;padding-block-end:14px;border-block-end:1px solid var(--line);color:var(--muted);font:700 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
html.public-stable .auth-genui-demo-head i{display:flex;gap:4px}
html.public-stable .auth-genui-demo-head i b{width:6px;height:6px;border-radius:50%;background:var(--brand-600);animation:authDemoPulse 1.6s ease-in-out infinite}
html.public-stable .auth-genui-demo-head i b:nth-child(2){animation-delay:.18s}.auth-genui-demo-head i b:nth-child(3){animation-delay:.36s}
html.public-stable .auth-genui-prompt{padding:18px 0 14px}
html.public-stable .auth-genui-prompt small{color:var(--faint);font:700 9px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}
html.public-stable .auth-genui-prompt p{max-width:42ch;margin:8px 0 0;color:var(--ink);font-size:15px;font-weight:720;line-height:1.35}
html.public-stable .auth-genui-output{padding:14px;border:1px solid var(--line);border-radius:6px;background:var(--bg)}
html.public-stable .auth-genui-output>header{display:flex;align-items:center;justify-content:space-between;gap:12px}
html.public-stable .auth-genui-output>header strong{font-size:14px}.auth-genui-output>header span{color:var(--green);font:700 10px/1 var(--font-mono)}
html.public-stable .auth-genui-progress{height:4px;margin:14px 0 12px;overflow:hidden;border-radius:99px;background:var(--line)}
html.public-stable .auth-genui-progress i{display:block;width:72%;height:100%;border-radius:inherit;background:var(--brand-600);animation:authDemoProgress 2.8s ease-in-out infinite alternate}
html.public-stable .auth-genui-output ol{display:grid;gap:8px;margin:0;padding:0;list-style:none}
html.public-stable .auth-genui-output li{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:11px}
html.public-stable .auth-genui-output li b{display:grid;flex:0 0 18px;place-items:center;width:18px;height:18px;border:1px solid var(--line-strong);border-radius:50%;color:var(--ink);font:700 9px/1 var(--font-mono)}
html.public-stable .auth-genui-output li i{margin-inline-start:auto;color:var(--green);font-style:normal;font-weight:800}
html.public-stable .auth-genui-demo>footer{margin-block-start:14px;color:var(--faint);font-size:10px;line-height:1.4}
@keyframes authDemoPulse{0%,100%{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}
@keyframes authDemoProgress{from{width:58%}to{width:88%}}
html.public-stable .auth-status{display:flex;align-items:flex-start;gap:10px;margin:0 0 22px;padding:13px 14px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2);color:var(--muted);font-size:12px;line-height:1.5}
html.public-stable .auth-status.success{border-color:color-mix(in srgb,var(--green) 28%,var(--line));background:color-mix(in srgb,var(--green) 6%,var(--surface))}
html.public-stable .auth-status.pending .spinner{flex:0 0 auto;width:16px;height:16px;margin-block-start:1px}
html.public-stable .form-error,html.public-stable .form-success{margin-block-start:14px;font-size:12px;line-height:1.5}
html.public-stable .form-error{color:var(--red)}
html.public-stable .form-success{color:var(--green)}
html.public-stable .auth-card :where(.form-error,[data-form-success]):empty{display:none}
html.public-stable .auth-secondary-action{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin-block-start:12px;font-size:12px}
.auth-shell .social-auth[hidden],.auth-shell .divider[hidden],.auth-shell .auth-field[hidden],.auth-shell [data-signup-fields][hidden],.auth-shell .auth-submit[hidden]{display:none!important}
.auth-shell .social-auth{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.auth-shell a.social-btn{display:flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:10px 14px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);font-size:12px;font-weight:750;text-decoration:none}
.auth-shell .social-provider-mark{display:grid;place-items:center;width:22px;height:22px;border-radius:5px;background:var(--brand-950);color:#fff;font-size:12px;font-weight:850}
html.public-stable .divider{display:flex;align-items:center;gap:10px;margin:18px 0;color:var(--faint);font-size:11px;letter-spacing:.02em}
html.public-stable .divider::before,html.public-stable .divider::after{content:"";height:1px;flex:1;background:var(--line)}
.auth-invite-note{margin:24px 0 0;padding:18px 0;border-block:1px solid var(--line);background:transparent}
.auth-invite-note strong{display:block;margin-block-end:8px;color:var(--ink);font-size:16px;line-height:1.3}
.auth-invite-note p{max-width:44ch;margin:0;color:var(--muted);font-size:13px;line-height:1.65}
.auth-card button[aria-disabled="true"]{cursor:not-allowed;opacity:.48;box-shadow:none}
html.public-stable [data-mfa-challenge]{margin-block-start:18px;padding-block-start:2px;border-block-start:1px solid var(--line)}
html.public-stable [data-mfa-challenge] .divider{margin:14px 0 4px}
html.public-stable form[data-recovery-state="invalid"] .auth-field{opacity:.55}
html.public-stable .auth-callback-card{text-align:start}

@media(max-width:1000px){
  html.public-stable .auth-shell{grid-template-columns:1fr;overflow:visible}
  html.public-stable .auth-form-zone{min-height:100svh;padding:118px 28px 68px}
  html.public-stable .auth-brand{display:none}
  html.public-stable .auth-topbar{padding:26px 28px}
  html.public-stable .auth-card{max-width:600px}
}
@media(max-width:640px){
  html.public-stable .auth-topbar{padding:20px}
  html.public-stable .auth-home-link{font-size:28px}
  html.public-stable .auth-form-zone{padding:104px 20px 48px}
  html.public-stable .auth-card h1{font-size:clamp(36px,11vw,46px)}
  html.public-stable .auth-card>p,html.public-stable .auth-card form>p{font-size:14px}
  .auth-shell .social-auth{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.auth-shell *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.auth-genui-demo-head i b,.auth-genui-progress i{animation:none!important}}

/* ==========================================================================
   Source: public-pricing-layout.css
   ========================================================================== */
/* Public Pricing + API Pricing — canonical Stitch owner.
   Shared public navigation belongs to public-surface.css. This owner handles only
   pricing decision surfaces, published plan cards, API metering, and rate tables.
   compatibility verifier token: .plan-card-v10.featured */

html.public-stable[data-public-route="pricing"] .pricing-page,
html.public-stable[data-public-route="api-pricing"] .pricing-page{background:var(--bg)}

html.public-stable[data-public-route="pricing"] .pricing-hero,
html.public-stable[data-public-route="api-pricing"] .pricing-hero{position:relative;overflow:hidden;width:min(1320px,calc(100vw - 64px));margin:32px auto 0;padding:clamp(62px,8vw,112px) clamp(28px,6vw,86px) 76px;border:1px solid var(--line);border-radius:18px;background:var(--brand-950);text-align:start}
html.public-stable[data-public-route="pricing"] .pricing-hero::after,html.public-stable[data-public-route="api-pricing"] .pricing-hero::after{content:"01   →   02   →   03";position:absolute;inset-inline-end:clamp(28px,7vw,90px);inset-block-end:42px;padding:14px 18px;border:1px solid #496052;color:#a8bea9;font:600 10px/1 var(--font-mono);letter-spacing:.1em;opacity:.82;animation:pricing-path-in 500ms var(--ease-out) both}
@keyframes pricing-path-in{from{opacity:0;transform:translateY(8px)}to{opacity:.82;transform:translateY(0)}}
html.public-stable .pricing-hero .section-kicker{display:block;margin-bottom:18px;text-align:start}
html.public-stable .pricing-hero h1{max-width:13ch;margin:0;color:#f4f7f1;font:800 clamp(54px,6vw,82px)/.94 var(--display);letter-spacing:-.065em;text-align:start;text-wrap:balance}
html.public-stable .pricing-hero p{max-width:680px;margin:24px 0 0;color:#b8c9bb;font:400 16px/1.7 var(--font-reading);text-align:start}

html.public-stable .public-pricing-status{display:grid;grid-template-columns:32px minmax(0,1fr);gap:16px;align-items:start;width:min(1320px,calc(100vw - 64px));margin:24px auto 0;padding:20px 24px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
html.public-stable .public-pricing-status>span{display:grid;width:28px;height:28px;place-items:center;border:1px solid var(--line-strong);border-radius:50%;background:var(--surface);font:700 10px/1 var(--font-mono)}
html.public-stable .public-pricing-status h2{margin:0 0 5px;font:650 17px/1.25 var(--display);letter-spacing:-.02em}
html.public-stable .public-pricing-status p{max-width:720px;margin:0;color:var(--muted);font:400 13px/1.6 var(--font-reading)}
html.public-stable .public-pricing-status.error{color:var(--red)}

html.public-stable .example-pricing-notice{display:flex;align-items:flex-start;gap:14px;width:min(1240px,calc(100vw - 80px));margin:34px auto 0;padding:18px 20px;border:1px solid #cbbda0;background:#f6f0df;color:var(--inner-ink,var(--ink));}
html.public-stable .example-pricing-notice>span{display:grid;place-items:center;flex:none;width:26px;height:26px;border:1px solid #b8a67e;border-radius:50%;font:700 14px/1 var(--font-mono);}
html.public-stable .example-pricing-notice strong{display:block;font:700 12px/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;}
html.public-stable .example-pricing-notice p{max-width:78ch;margin:5px 0 0;color:#665b43;font:400 13px/1.55 var(--font-reading);}

html.public-stable .pricing-section-intro{max-width:760px}
html.public-stable .pricing-section-intro h2{max-width:18ch;margin:10px 0 0;font:700 clamp(32px,3.5vw,46px)/1.06 var(--display);letter-spacing:-.045em;text-wrap:balance}
html.public-stable .pricing-section-intro p{max-width:64ch;margin:16px 0 0;color:var(--muted);font:400 14px/1.7 var(--font-reading)}

/* Honest pre-publication decision surface. */
html.public-stable .pricing-family{width:min(1320px,calc(100vw - 64px));margin:72px auto 0;padding:0 0 86px;border-bottom:1px solid var(--line)}
html.public-stable .pricing-family-list{margin-top:36px;border-top:1px solid var(--line-strong)}
html.public-stable .pricing-family-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:20px;align-items:center;min-height:94px;padding:18px 0;border-bottom:1px solid var(--line)}
html.public-stable .pricing-family-index{color:var(--accent-dark);font:650 10px/1 var(--font-mono)}
html.public-stable .pricing-family-row h3{margin:0;font:650 22px/1.12 var(--display);letter-spacing:-.03em}
html.public-stable .pricing-family-row p{max-width:60ch;margin:6px 0 0;color:var(--muted);font:400 13px/1.55 var(--font-reading)}
html.public-stable .pricing-family-cycles{padding:7px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font:600 10px/1 var(--font-mono);white-space:nowrap}
html.public-stable .pricing-family-pending{display:flex;align-items:flex-start;gap:18px;margin-top:34px;padding:28px;border:1px dashed var(--line-strong);border-radius:12px;background:var(--surface-2)}
html.public-stable .pricing-family-pending::before{content:"";display:block;flex:none;width:10px;height:10px;margin-top:6px;border-radius:50%;background:var(--accent)}
html.public-stable .pricing-family-pending strong{display:block;font:700 21px/1.2 var(--display);letter-spacing:-.03em}
html.public-stable .pricing-family-pending p{max-width:64ch;margin:8px 0 0;color:var(--muted);font:400 13px/1.6 var(--font-reading)}

html.public-stable .pricing-capabilities{width:min(1320px,calc(100vw - 64px));margin:0 auto;padding:86px 0;border-bottom:1px solid var(--line)}
html.public-stable .pricing-capability-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:34px;border-top:1px solid var(--line-strong)}
html.public-stable .pricing-capability-list article{display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;min-width:0;padding:28px 24px 30px 0;border-bottom:1px solid var(--line);transition:background .2s var(--ease)}
html.public-stable .pricing-capability-list article:hover{background:var(--surface-2)}
html.public-stable .pricing-capability-list article:nth-child(odd){border-inline-end:1px solid var(--line)}
html.public-stable .pricing-capability-list article:nth-child(even){padding-inline-start:24px}
html.public-stable .pricing-capability-list article>span{padding-top:3px;color:var(--faint);font:650 10px/1 var(--font-mono)}
html.public-stable .pricing-capability-list h3{margin:0;font:650 19px/1.18 var(--display);letter-spacing:-.025em}
html.public-stable .pricing-capability-list p{max-width:48ch;margin:7px 0 0;color:var(--muted);font:400 13px/1.6 var(--font-reading)}

html.public-stable .pricing-account-truth{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:72px;width:min(1240px,calc(100vw - 80px));margin:0 auto;padding:86px 0 104px}
html.public-stable .pricing-account-truth h2{max-width:13ch;margin:10px 0 0;font:700 clamp(32px,3.5vw,46px)/1.06 var(--display);letter-spacing:-.045em}
html.public-stable .pricing-account-truth>div:first-child>p{max-width:54ch;margin:16px 0 0;color:var(--muted);font:400 14px/1.7 var(--font-reading)}
html.public-stable .pricing-account-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
html.public-stable .pricing-account-facts{border-top:1px solid var(--line-strong)}
html.public-stable .pricing-account-facts article{display:grid;grid-template-columns:minmax(130px,.42fr) minmax(0,1fr);gap:24px;padding:18px 0;border-bottom:1px solid var(--line)}
html.public-stable .pricing-account-facts h3{margin:0;font:650 12px/1.35 var(--font-mono)}
html.public-stable .pricing-account-facts p{margin:0;color:var(--muted);font:400 13px/1.58 var(--font-reading)}

/* Published plan cards. */
html.public-stable[data-public-route="pricing"] .plan-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch;width:min(1240px,calc(100vw - 80px));margin:64px auto 0}
html.public-stable[data-public-route="pricing"] .plan-card{position:relative;display:flex;min-height:430px;flex-direction:column;padding:28px;border:1px solid var(--line);border-radius:4px;background:var(--surface-2);box-shadow:none}
html.public-stable[data-public-route="pricing"] .plan-card.featured{border-color:var(--brand-950);background:var(--surface)}
html.public-stable[data-public-route="pricing"] .plan-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
html.public-stable[data-public-route="pricing"] .plan-card .badge{position:absolute;inset-block-start:-11px;inset-inline-start:20px;padding:6px 9px;border-radius:0;background:var(--brand-950);color:var(--bg);font:600 10px/1 var(--font-mono);letter-spacing:.07em;text-transform:uppercase}
html.public-stable[data-public-route="pricing"] .plan-card-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;min-height:22px;}
html.public-stable[data-public-route="pricing"] .plan-example-badge{display:inline-flex;align-items:center;min-height:22px;padding:5px 7px;border:1px solid #cbbda0;background:#f6f0df;color:#665b43;font:700 9px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;}
html.public-stable[data-public-route="pricing"] .plan-card-head h2{margin:7px 0 0;font:650 27px/1 var(--display);letter-spacing:-.04em}
html.public-stable[data-public-route="pricing"] .plan-eyebrow{min-height:14px;color:var(--faint);font:700 10px/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
html.public-stable[data-public-route="pricing"] .plan-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;margin:36px 0 16px}
html.public-stable[data-public-route="pricing"] .plan-price strong{font:700 36px/1 var(--display);letter-spacing:-.05em}
html.public-stable[data-public-route="pricing"] .plan-price span{color:var(--muted);font-size:12px}
html.public-stable[data-public-route="pricing"] .plan-card>p{min-height:42px;margin:0 0 16px;color:var(--muted);font:400 13px/1.58 var(--font-reading)}
html.public-stable[data-public-route="pricing"] .plan-usage{margin:16px 0;padding:10px 0;border-block:1px solid var(--line);color:var(--muted);font-size:12px;font-weight:650;line-height:1.45}
html.public-stable[data-public-route="pricing"] .plan-card ul{display:grid;gap:9px;margin:20px 0 0;padding:16px 0 0;border-top:1px solid var(--line);list-style:none;font-size:13px;line-height:1.45}
html.public-stable[data-public-route="pricing"] .plan-card li{display:flex;gap:7px;align-items:flex-start}
html.public-stable[data-public-route="pricing"] .plan-card li .icon{width:15px;height:15px;flex:none;margin-top:2px;color:var(--accent)}
html.public-stable[data-public-route="pricing"] .plan-card>.btn{width:100%;margin-top:auto;margin-bottom:10px}
html.public-stable[data-public-route="pricing"] .plan-card.featured>.btn-primary{background:var(--brand-950);color:var(--bg);box-shadow:none}
html.public-stable[data-public-route="pricing"] .plan-comparison{width:min(1240px,calc(100vw - 80px));margin-inline:auto;padding:58px 0}

html.public-stable[data-public-route="pricing"] .pricing-developer-strip{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:72px;padding:36px max(40px,calc((100vw - 1240px)/2));border-block:1px solid var(--line);background:var(--surface-2)}
html.public-stable[data-public-route="pricing"] .pricing-developer-strip p{max-width:70ch;margin:8px 0 0;color:var(--muted);font:400 14px/1.58 var(--font-reading)}
html.public-stable[data-public-route="pricing"] .pricing-developer-strip>a{color:var(--brand-950);font:600 12px/1 var(--font-mono);text-decoration:underline;text-underline-offset:5px;white-space:nowrap}

/* Shared published rate-table mechanics. */
html.public-stable .plan-table-wrap,
html.public-stable .api-table-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid var(--line);border-radius:4px;background:var(--surface)}
html.public-stable .plan-table-wrap table,
html.public-stable .api-table-wrap table{width:100%;border-collapse:collapse}
html.public-stable .plan-table-wrap th,
html.public-stable .plan-table-wrap td,
html.public-stable .api-table-wrap th,
html.public-stable .api-table-wrap td{padding:18px 16px;border-bottom:1px solid var(--line);text-align:start;vertical-align:middle}
html.public-stable .plan-table-wrap tbody tr:last-child>*,
html.public-stable .api-table-wrap tbody tr:last-child>*{border-bottom:0}
html.public-stable .plan-table-wrap thead th,
html.public-stable .api-table-wrap thead th{position:sticky;top:0;z-index:2;background:var(--surface-2);color:var(--muted);font:600 10px/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
html.public-stable .plan-table-wrap tr>*:first-child,
html.public-stable .api-table-wrap tr>*:first-child{position:sticky;inset-inline-start:0;z-index:1;background:var(--surface)}
html.public-stable .plan-table-wrap thead tr>*:first-child,
html.public-stable .api-table-wrap thead tr>*:first-child{z-index:3;background:var(--surface-2)}
html.public-stable .api-table-wrap tr>*:first-child strong,
html.public-stable .api-table-wrap tr>*:first-child b{display:block}
html.public-stable .api-table-wrap th small{display:block;margin-top:4px;color:var(--muted);font-size:11px;font-weight:500}
html.public-stable .api-pricing-table tbody tr[hidden]{display:none!important}

/* API pricing and metering. */
html.public-stable[data-public-route="api-pricing"] .api-price-section{display:flex;flex-direction:column;width:min(1240px,calc(100vw - 80px));margin:48px auto 0;padding-bottom:96px}
html.public-stable[data-public-route="api-pricing"] .api-note{order:1;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px;padding:18px 0;border-bottom:1px solid var(--line);background:transparent}
html.public-stable[data-public-route="api-pricing"] .api-note p{max-width:70ch;margin:0;color:var(--muted);font:400 14px/1.6 var(--font-reading)}
html.public-stable[data-public-route="api-pricing"] .api-note>a{color:var(--brand-950);font:600 11px/1 var(--font-mono);text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
html.public-stable[data-public-route="api-pricing"] .api-price-section>.api-bottom-actions{order:2;display:flex;flex-wrap:wrap;gap:10px;width:auto;margin:0 0 38px}
html.public-stable[data-public-route="api-pricing"] .api-bottom-actions .btn{min-height:44px}
html.public-stable[data-public-route="api-pricing"] .api-price-toolbar{order:3;display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 18px}
html.public-stable[data-public-route="api-pricing"] .api-search{display:flex;align-items:center;width:400px;max-width:100%}
html.public-stable[data-public-route="api-pricing"] .api-search input{width:100%;min-height:44px;padding:0 14px;border:1px solid var(--line-strong);border-radius:4px;background:var(--surface);color:var(--ink);font:400 14px/1 var(--font-reading)}
html.public-stable[data-public-route="api-pricing"] .api-provider-filters{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}
html.public-stable[data-public-route="api-pricing"] .api-provider-filters button{min-height:36px;padding:0 13px;border:1px solid var(--line-strong);border-radius:999px;background:transparent;color:var(--ink);font:500 11px/1 var(--font-mono)}
html.public-stable[data-public-route="api-pricing"] .api-provider-filters button.active{border-color:var(--brand-950);background:var(--brand-950);color:var(--bg)}
html.public-stable[data-public-route="api-pricing"] .api-table-wrap{order:4}

html.public-stable[data-public-route="api-pricing"] .api-metering-overview{order:3;display:grid;grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);gap:58px;align-items:start;padding:34px 0 0;border-top:1px solid var(--line-strong)}
html.public-stable .api-metering-overview header h2{max-width:15ch;margin:10px 0 0;font:700 clamp(30px,3.4vw,44px)/1.08 var(--display);letter-spacing:-.045em;text-wrap:balance}
html.public-stable .api-metering-overview header p{max-width:54ch;margin:16px 0 0;color:var(--muted);font:400 14px/1.7 var(--font-reading)}
html.public-stable .api-metering-overview dl{margin:0;border-top:1px solid var(--line)}
html.public-stable .api-metering-overview dl>div{display:grid;grid-template-columns:minmax(150px,.55fr) minmax(0,1fr);gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}
html.public-stable .api-metering-overview dt{color:var(--muted);font:600 10px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}
html.public-stable .api-metering-overview dd{margin:0;text-align:end;font:550 12px/1.45 var(--font-mono);overflow-wrap:anywhere}

html.public-stable .pricing-page[data-pricing-state="unconfigured"]>.plan-card-grid,
html.public-stable .pricing-page[data-pricing-state="unconfigured"]>.plan-comparison,
html.public-stable .pricing-page[data-pricing-state="loading"]>.plan-card-grid,
html.public-stable .pricing-page[data-pricing-state="loading"]>.plan-comparison,
html.public-stable .plan-card-grid:empty,
html.public-stable .plan-comparison:empty,
html.public-stable .api-price-section:empty{display:none!important}

@media(max-width:1100px){
  html.public-stable[data-public-route="pricing"] .plan-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  html.public-stable .pricing-account-truth{grid-template-columns:1fr;gap:42px}
  html.public-stable[data-public-route="api-pricing"] .api-metering-overview{grid-template-columns:1fr;gap:36px}
}

@media(max-width:720px){
  html.public-stable[data-public-route="pricing"] .pricing-hero,
  html.public-stable[data-public-route="api-pricing"] .pricing-hero,
  html.public-stable .public-pricing-status,
  html.public-stable .pricing-family,
  html.public-stable .pricing-capabilities,
  html.public-stable .pricing-account-truth,
  html.public-stable[data-public-route="pricing"] .plan-card-grid,
  html.public-stable[data-public-route="pricing"] .plan-comparison,
  html.public-stable[data-public-route="api-pricing"] .api-price-section{width:calc(100vw - 40px)}
  html.public-stable[data-public-route="pricing"] .pricing-hero,
  html.public-stable[data-public-route="api-pricing"] .pricing-hero{padding:54px 24px 48px;margin-top:16px}
  html.public-stable[data-public-route="pricing"] .pricing-hero::after,
  html.public-stable[data-public-route="api-pricing"] .pricing-hero::after{inset-inline-end:24px;inset-block-end:18px;padding:11px 13px}
  html.public-stable .pricing-hero h1{font-size:clamp(42px,12vw,56px)}
  html.public-stable .pricing-hero p{font-size:15px}
  html.public-stable .public-pricing-status{grid-template-columns:1fr;margin-top:18px;padding:18px}
  html.public-stable .example-pricing-notice{width:calc(100vw - 40px);margin-top:22px;padding:16px}
  html.public-stable .pricing-family{margin-top:52px;padding-bottom:58px}
  html.public-stable .pricing-family-pending{padding:22px 18px}
  html.public-stable .pricing-family-row{grid-template-columns:32px minmax(0,1fr);gap:12px;align-items:start;padding:18px 0}
  html.public-stable .pricing-family-cycles{grid-column:2;width:max-content;margin-top:2px}
  html.public-stable .pricing-capabilities{padding:58px 0}
  html.public-stable .pricing-capability-list{grid-template-columns:1fr}
  html.public-stable .pricing-capability-list article,
  html.public-stable .pricing-capability-list article:nth-child(even){padding:20px 0;border-inline-end:0}
  html.public-stable .pricing-account-truth{padding:64px 0 78px}
  html.public-stable .pricing-account-facts article{grid-template-columns:1fr;gap:5px}
  html.public-stable[data-public-route="pricing"] .plan-card-grid{grid-template-columns:1fr;margin-top:48px}
  html.public-stable[data-public-route="pricing"] .plan-card{min-height:0;padding:24px}
  html.public-stable[data-public-route="pricing"] .pricing-developer-strip{align-items:flex-start;flex-direction:column;margin-top:52px;padding:30px 20px}
  html.public-stable[data-public-route="api-pricing"] .api-price-section{margin-top:36px;padding-bottom:72px}
  html.public-stable[data-public-route="api-pricing"] .api-note{align-items:flex-start;flex-direction:column;gap:10px}
  html.public-stable[data-public-route="api-pricing"] .api-price-section>.api-bottom-actions{margin-bottom:30px}
  html.public-stable[data-public-route="api-pricing"] .api-price-toolbar{align-items:stretch;flex-direction:column;gap:14px}
  html.public-stable[data-public-route="api-pricing"] .api-search{width:100%}
  html.public-stable[data-public-route="api-pricing"] .api-provider-filters{justify-content:flex-start}
  html.public-stable .plan-table-wrap table,
  html.public-stable .api-table-wrap table{min-width:720px}
  html.public-stable .api-metering-overview dl>div{grid-template-columns:1fr;gap:5px}
  html.public-stable .api-metering-overview dd{text-align:start}
}

@media(prefers-reduced-motion:reduce){
  html.public-stable[data-public-route="pricing"] *,
  html.public-stable[data-public-route="api-pricing"] *{scroll-behavior:auto!important;transition:none!important}
  html.public-stable[data-public-route="pricing"] .pricing-hero::after,html.public-stable[data-public-route="api-pricing"] .pricing-hero::after{animation:none}
}

/* ==========================================================================
   Source: legal-pages.css
   ========================================================================== */
.legal-page{background:var(--public-paper);color:var(--public-ink)}
.legal-catalog-hero,.legal-catalog-intro,.legal-catalog-grid{width:min(1304px,calc(100vw - 96px));margin-inline:auto}
.legal-catalog-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:clamp(48px,9vw,150px);align-items:end;padding:clamp(92px,11vw,156px) 0 80px;border-bottom:1px solid var(--public-rule)}
.legal-catalog-hero h1{margin:18px 0 0;font:400 clamp(62px,8vw,112px)/.86 var(--public-serif);letter-spacing:-.085em}
.legal-catalog-hero h1 em{color:var(--public-rust);font-style:normal}
.legal-catalog-hero>p{max-width:38ch;margin:0 0 8px;color:var(--public-muted);font:400 18px/1.65 var(--font-reading)}
.legal-catalog-intro{padding:82px 0 38px}.legal-catalog-intro .section-kicker,.legal-catalog-group .section-kicker{display:flex;align-items:center;gap:12px;color:#5f7567}.legal-catalog-intro .section-kicker::before,.legal-catalog-group .section-kicker::before{width:38px;height:2px;background:#5f7567;content:""}
.legal-catalog-intro h2{margin:20px 0 12px;font:500 clamp(34px,4vw,54px)/1 var(--public-serif);letter-spacing:-.06em}.legal-catalog-intro p{max-width:62ch;margin:0;color:var(--public-muted);font:400 16px/1.7 var(--font-reading)}
.legal-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--public-rule);border-left:1px solid var(--public-rule);margin-bottom:112px}.legal-catalog-group{min-width:0;padding:28px 28px 0;border-right:1px solid var(--public-rule);border-bottom:1px solid var(--public-rule)}.legal-catalog-group header{display:flex;justify-content:space-between;gap:20px;min-height:32px}.legal-catalog-count{color:var(--public-rust);font:600 11px/1 var(--font-mono)}.legal-catalog-links{display:grid;margin-top:30px}.legal-catalog-links a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 0;border-top:1px solid var(--public-rule);color:var(--public-ink);text-decoration:none;transition:color .2s ease,transform .2s ease}.legal-catalog-links a:hover,.legal-catalog-links a:focus-visible{color:var(--public-rust);transform:translateX(4px)}.legal-catalog-links strong{display:block;font:500 22px/1.1 var(--public-serif);letter-spacing:-.035em}.legal-catalog-links small{display:block;margin-top:6px;color:var(--public-muted);font:400 13px/1.45 var(--font-reading)}.legal-catalog-arrow{color:var(--public-rust);font:500 22px/1 var(--font-reading)}
.legal-hero{width:min(1120px,calc(100vw - 64px));margin:auto;padding:clamp(76px,9vw,132px) 0 54px;border-bottom:1px solid var(--public-rule)}.legal-hero h1{max-width:12ch;margin:16px 0 20px;font:400 clamp(52px,6vw,88px)/.92 var(--public-serif);letter-spacing:-.075em}.legal-hero>p{max-width:65ch;color:var(--public-muted);font:400 18px/1.65 var(--font-reading)}.legal-meta{margin-top:28px;color:var(--public-muted);font:600 10px/1.3 var(--font-mono);letter-spacing:.04em;text-transform:uppercase}.legal-article{width:min(760px,calc(100vw - 64px));margin:auto;padding:66px 0 110px}.legal-article section{padding:0 0 28px;border-bottom:1px solid var(--public-rule);margin-bottom:28px}.legal-article h2{margin:0 0 12px;font:500 30px/1.05 var(--public-serif);letter-spacing:-.04em}.legal-article p,.legal-article li{color:#514c45;font:400 15px/1.75 var(--font-reading)}.legal-article ul{padding-left:22px}.legal-article li+li{margin-top:7px}.legal-missing{color:#b42318;text-decoration:underline;text-decoration-style:dashed}.legal-warning{padding:18px 20px;border:1px solid #e0a09a;background:#fff1ef}.legal-warning strong{color:#b42318;font:700 11px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.legal-warning p{margin:8px 0 0;color:#7d2a22;font-size:13px;line-height:1.55}
@media(max-width:820px){.legal-catalog-hero,.legal-catalog-intro,.legal-catalog-grid{width:calc(100vw - 48px)}.legal-catalog-hero{grid-template-columns:1fr;gap:28px;padding-block:80px 58px}.legal-catalog-hero h1{font-size:clamp(58px,13vw,86px)}.legal-catalog-hero>p{margin:0}.legal-catalog-grid{grid-template-columns:1fr;margin-bottom:80px}.legal-catalog-group{padding:24px 20px 0}}
@media(max-width:520px){.legal-catalog-hero,.legal-catalog-intro,.legal-catalog-grid{width:calc(100vw - 32px)}.legal-catalog-hero{padding-block:60px 48px}.legal-catalog-hero h1{font-size:clamp(48px,14vw,70px)}.legal-catalog-intro{padding-top:58px}.legal-catalog-links strong{font-size:20px}.legal-hero,.legal-article{width:calc(100vw - 32px)}.legal-hero{padding-top:58px}.legal-hero h1{font-size:clamp(48px,14vw,64px)}}

/* ==========================================================================
   Source: cookie-consent.css
   ========================================================================== */
.cookie-consent {
  position:fixed;
  z-index:1200;
  inset-inline:20px;
  bottom:20px;
  max-width:960px;
  margin-inline:auto;
  padding:22px 24px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:20px 28px;
  border:1px solid var(--line);
  border-radius:12px;
  background:color-mix(in srgb,var(--surface) 94%,var(--ink));
  box-shadow:0 18px 55px rgb(21 24 28 / 18%);
}
.cookie-consent-copy h2 { margin:5px 0 7px; font:740 22px/1.1 var(--display); letter-spacing:-.025em; }
.cookie-consent-copy p { max-width:650px; margin:0 0 8px; color:var(--muted); font-size:13px; line-height:1.5; }
.cookie-consent-copy a { color:var(--ink); font-size:12px; text-decoration:underline; text-underline-offset:3px; }
.cookie-consent-actions { display:flex; align-items:center; justify-content:flex-end; gap:9px; flex-wrap:wrap; align-self:end; }
.cookie-consent-actions .btn, .cookie-consent-preferences .btn { min-height:42px; }
.cookie-consent-actions .btn { flex:1 1 150px; }
.cookie-consent-preferences { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding-top:16px; border-top:1px solid var(--line); }
.cookie-consent-preference { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px; border:1px solid var(--line); border-radius:8px; }
.cookie-consent-preference b, .cookie-consent-preference small { display:block; }
.cookie-consent-preference small { margin-top:3px; color:var(--muted); font-size:11px; line-height:1.35; }
.cookie-consent-preference input { width:20px; height:20px; accent-color:var(--brand-600); }
.cookie-consent-state { color:var(--muted); font:600 10px/1.2 var(--font-mono); text-transform:uppercase; letter-spacing:.04em; white-space:nowrap; }
.cookie-consent-preferences>.btn { grid-column:1/-1; justify-self:end; }
.cookie-settings-link { display:block; padding:0; border:0; background:none; color:inherit; font:inherit; text-align:start; cursor:pointer; }
.cookie-settings-link:hover { color:var(--accent); }
@media (max-width:700px) {
  .cookie-consent { inset-inline:12px; bottom:12px; padding:18px; grid-template-columns:1fr; gap:14px; }
  .cookie-consent-actions { justify-content:stretch; }
  .cookie-consent-actions .btn { flex:1 1 100%; }
  .cookie-consent-preferences { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) { .cookie-consent { scroll-behavior:auto; } }

/* ==========================================================================
   Source: foundation-responsive.css
   ========================================================================== */
/* Responsive rules owned by foundation. Root/document behavior only. */

@media(max-width:1100px) {
  :root {
    --sidebar: 244px;
  }
}

@media(max-width:840px) {
  :root {
    --sidebar: 260px;
  }
}

@media(max-width:580px) {
  body {
    font-size: 14px;
  }
}

@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    animation-duration: .01ms!important;
    animation-iteration-count: 1!important;
    scroll-behavior: auto!important;
    transition: none!important;
    transition-duration: .01ms!important;
  }
}

/* ==========================================================================
   Source: core-ui-responsive.css
   ========================================================================== */
/* Transitional core responsive primitives. Route-specific mechanical remnants are
   retired only after their feature owner is verified; generic card geometry is
   forbidden here because it overrides canonical Stitch/Vira surface owners. */

@media(max-width:1100px) {
.grid-4 {
    grid-template-columns: repeat(2,1fr);
  }
.genui-flow {
    grid-template-columns: 280px minmax(0,1fr);
  }
.compare-verdict {
    grid-column: 1/-1;
    grid-row: 2;
  }
.agent-team-grid {
    grid-template-columns: 1fr;
  }
.api-runtime-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media(max-width:580px) {
.scene {
    inset: 15px;
  }
.recipe-photo {
    min-height: 150px;
  }
.recipe-steps {
    display: none;
  }
.section-title {
    font-size: 38px;
  }
.compare-cards,.margin-box {
    grid-template-columns: 1fr;
  }
.route-path {
    display: none;
  }
.page-head {
    display: block;
  }
.page-head h1 {
    font-size: 34px;
  }
.page-actions {
    margin-top: 15px;
    overflow: auto;
  }
.grid-2,.grid-3,.grid-4 {
    grid-template-columns: 1fr;
  }
.selector-btn span.optional {
    display: none;
  }
.meal-ui {
    grid-template-columns: 1fr;
  }
.meal-ui .recipe-photo {
    min-height: 150px;
  }
.filter-tabs {
    overflow: auto;
  }
.setting-row {
    align-items: start;
  }
.btn {
    min-height: 42px;
  }
.section-sub {
    font-size: 14px;
    line-height: 1.6;
  }
.selector-btn {
    height: 39px;
    padding-inline: 10px;
  }
.card-head h3 {
    font-size: 16px;
  }
.nav-link:hover {
    transform: none;
  }
}

@media(max-width:680px) {
.comparison-heading h2 {
    font-size: 34px;
  }
}

@media(max-width:760px) {
.runtime-board {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 22px;
    min-height: 0;
  }
.runtime-lines {
    display: none;
  }
.runtime-router {
    width: 112px;
    height: 112px;
    margin: auto;
    order: 2;
  }
.runtime-requests {
    order: 1;
    grid-template-columns: 1fr;
  }
.runtime-models {
    order: 3;
    grid-template-columns: 1fr 1fr;
  }
.runtime-models article {
    padding: 10px;
  }
.load-bar {
    display: none;
  }
.runtime-foot {
    align-items: flex-start;
    gap: 10px;
  }
.runtime-foot>span:first-child {
    max-width: 62%;
  }
.genui-flow {
    grid-template-columns: 1fr;
    min-height: 0;
  }
.compare-verdict {
    padding: 12px;
    grid-column: 1/-1;
  }
.process-chip {
    padding: 7px;
    font-size: 12px;
  }
.api-runtime-grid {
    grid-template-columns: 1fr;
  }
.agent-team-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   Source: public-reference-clone.css
   ========================================================================== */
html.public-stable .vira-reference-page{background:#f7f6f2;color:#1f1e1b;min-height:100vh;overflow:visible}
html.public-stable .vira-reference-page .workspace-route-bar{display:none}
html.public-stable .vira-reference-page .public-nav{position:relative;z-index:80;display:flex;min-height:72px;width:100%;padding:16px max(48px,calc((100vw - 1400px)/2));border-bottom:0;background:#f7f6f2;backdrop-filter:none}
html.public-stable .vira-reference-page .public-nav .logo{display:flex;align-items:center;gap:0;color:#1f1e1b}
html.public-stable .vira-reference-page .public-nav .logo-mark{display:none!important}
html.public-stable .vira-reference-page .public-nav .logo-word{font:500 25px/1 var(--public-serif);letter-spacing:-.06em}
html.public-stable .vira-reference-page .public-nav .logo-word::after{display:inline;color:#bd5f46;content:"."}
html.public-stable .vira-reference-page .public-nav-center{display:flex;align-items:center;gap:38px;margin-inline:auto}
html.public-stable .vira-reference-page .public-nav-center a{display:inline-flex;align-items:center;min-height:40px;color:#1f1e1b;font:400 14px/1 var(--font-reading);letter-spacing:.01em}
html.public-stable .vira-reference-page .public-nav-center a:hover,html.public-stable .vira-reference-page .public-nav-center a.active{color:#bd5f46}
html.public-stable .vira-reference-page .public-nav-actions{display:flex;align-items:center;gap:10px}
html.public-stable .vira-reference-page .public-nav-actions .btn-primary{display:inline-flex;align-items:center;gap:10px;min-height:54px;padding:0 24px;border:1px solid #bd5f46;background:#bd5f46;color:#f7f6f2;font:500 16px/1 var(--font-reading)}
html.public-stable .vira-reference-page .public-nav-actions .public-auth-link{display:inline-flex;align-items:center;min-height:48px;color:#1f1e1b;font:500 13px/1 var(--font-reading)}
html.public-stable .vira-reference-page .public-nav-actions .lang-select{display:block}
html.public-stable .vira-reference-page .public-nav-actions .public-auth-link:hover,html.public-stable .vira-reference-page .public-nav-actions .public-auth-link:focus-visible{color:#bd5f46}
html.public-stable .vira-reference-page .public-nav-mobile-auth{display:none}
html.public-stable .vira-reference-page .public-nav-actions .lang-select .lang-trigger{display:flex;align-items:center;gap:7px;min-height:48px;padding:0 13px;border:1px solid #d8d3ca;background:rgba(247,246,242,.82);color:#1f1e1b;font:600 12px/1 var(--font-mono);letter-spacing:.04em}
html.public-stable .vira-reference-page .public-nav-actions .lang-select .lang-trigger:hover,html.public-stable .vira-reference-page .public-nav-actions .lang-select .lang-trigger:focus-visible{border-color:#1f1e1b;background:#f7f6f2}
html.public-stable .vira-reference-page .public-nav-actions .lang-select .lang-trigger .icon{width:13px}
html.public-stable .vira-reference-page .public-nav-actions .lang-menu{top:48px;right:0;border-color:#d8d3ca;border-radius:0;background:#f7f6f2;box-shadow:0 16px 34px rgba(31,30,27,.12)}
html.public-stable .vira-reference-page .public-nav-actions .lang-menu button{min-height:38px;border-radius:0;color:#1f1e1b;font:500 12px/1 var(--font-reading)}
html.public-stable .vira-reference-page .public-nav-actions .lang-menu button:hover,html.public-stable .vira-reference-page .public-nav-actions .lang-menu button.active{background:#efede7;color:#bd5f46}
html.public-stable .vira-reference-page .public-menu{display:none}
html.public-stable .vira-reference-page main{padding-top:0}
html.public-stable .section-kicker{font:600 11px/1.25 var(--font-mono);letter-spacing:.23em;color:#716c64;text-transform:uppercase}
html.public-stable .vira-ref-hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(360px,5fr);gap:40px;align-items:start;max-width:1400px;min-height:720px;margin:auto;padding:69px 48px 72px}
html.public-stable .vira-ref-hero-copy{padding-top:17px}
html.public-stable .vira-ref-hero h1,.vira-ref-route-hero h1{max-width:none;margin:0 0 27px;color:#1f1e1b;font:400 clamp(62px,6.2vw,86px)/.93 var(--public-serif);letter-spacing:-.075em}
html.public-stable .vira-ref-hero h1 span,html.public-stable .vira-ref-hero h1 em{display:block;width:max-content;max-width:100%;white-space:nowrap}
html.public-stable .vira-ref-route-hero h1{margin-top:34px}
html.public-stable .vira-ref-hero h1 em,.vira-ref-route-hero h1 em{color:#bd5f46;font-style:italic}
html.public-stable .vira-reference-page .footer-col{display:grid;gap:9px;align-content:start}
html.public-stable .vira-ref-hero-copy>p{max-width:500px;margin:0;color:#6c6861;font:400 18px/1.6 var(--font-reading)}
html.public-stable .vira-ref-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:37px}
html.public-stable .vira-ref-actions .btn{display:inline-flex;align-items:center;gap:8px;min-height:50px;padding:0 27px;border-radius:0;font:500 14px/1 var(--font-reading)}
html.public-stable .vira-ref-actions .btn-primary{background:#bd5f46;color:#f7f6f2;border-color:#bd5f46}
html.public-stable .vira-ref-actions .btn-outline{background:transparent;border-color:#1f1e1b;color:#1f1e1b}
html.public-stable .vira-ref-chat{position:relative;min-height:548px;overflow:hidden;border:1px solid #d7d1c8;background:#24231f;color:#f7f6f2}
html.public-stable .vira-ref-chat-top{display:flex;align-items:center;justify-content:space-between;min-height:62px;padding:0 20px;border-bottom:1px solid rgba(247,246,242,.15);font:500 11px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}
html.public-stable .vira-ref-chat-top>div{display:flex;align-items:center;gap:9px}
html.public-stable .vira-ref-chat-top>span{color:#aca59b;font-size:9px}
html.public-stable .vira-ref-chat-pulse{width:8px;height:8px;border-radius:50%;background:#d78368;box-shadow:0 0 0 5px rgba(215,131,104,.12);animation:ref-chat-pulse 2.2s ease-in-out infinite}
html.public-stable .vira-ref-chat-scenes{position:relative;min-height:416px;padding:22px 20px 0}
html.public-stable .vira-ref-chat-scene{position:absolute;inset:22px 20px 0;opacity:0;transform:translateY(10px);animation:ref-chat-scene 15s ease-in-out infinite;animation-delay:var(--scene-delay)}
html.public-stable .vira-ref-chat-message{display:flex;gap:9px;align-items:flex-start;margin-bottom:16px}
html.public-stable .vira-ref-chat-avatar{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border-radius:50%;background:#f7f6f2;color:#24231f;font:700 10px/1 var(--font-mono)}
html.public-stable .vira-ref-chat-avatar-ai{background:#bd5f46;color:#f7f6f2}
html.public-stable .vira-ref-chat-message p{max-width:285px;margin:2px 0 0;color:#e1dcd4;font:400 13px/1.5 var(--font-reading)}
html.public-stable .vira-ref-chat-assistant{margin-top:21px}
html.public-stable .vira-ref-chat-response{min-width:0;flex:1}
html.public-stable .vira-ref-chat-label{display:block;margin:3px 0 9px;color:#d78368;font:600 9px/1 var(--font-mono);letter-spacing:.17em}
html.public-stable .vira-ref-chat-card{padding:17px;background:#f7f6f2;color:#1f1e1b}
html.public-stable .vira-ref-chat-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:13px;border-bottom:1px solid #d8d3ca}
html.public-stable .vira-ref-chat-card header div{display:grid;gap:6px}
html.public-stable .vira-ref-chat-card header strong{font:500 24px/1 var(--public-serif);letter-spacing:-.04em}
html.public-stable .vira-ref-chat-card header span{color:#777168;font:500 10px/1.3 var(--font-mono);letter-spacing:.04em}
html.public-stable .vira-ref-chat-card header b{display:grid;place-items:center;width:22px;height:22px;border:1px solid #a7b49a;color:#596b4b;font:600 11px/1 var(--font-reading)}
html.public-stable .vira-ref-chat-card ul{display:grid;gap:0;margin:0;padding:7px 0 0;list-style:none}
html.public-stable .vira-ref-chat-card li{display:grid;grid-template-columns:27px 1fr;gap:8px;padding:8px 0;border-bottom:1px solid #e3ded6;color:#5d5851;font:400 11px/1.35 var(--font-reading)}
html.public-stable .vira-ref-chat-card li:last-child{border-bottom:0}
html.public-stable .vira-ref-chat-card li span{color:#bd5f46;font:600 9px/1.35 var(--font-mono)}
html.public-stable .vira-ref-chat-card footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:11px;padding-top:11px;border-top:1px solid #d8d3ca;color:#8c867d;font:500 9px/1 var(--font-mono);letter-spacing:.04em}
html.public-stable .vira-ref-chat-card button{padding:0;border:0;background:transparent;color:#bd5f46;font:600 10px/1 var(--font-reading)}
html.public-stable .vira-ref-chat-prompts{display:flex;gap:7px;position:absolute;right:20px;bottom:17px;left:20px;overflow:hidden}
html.public-stable .vira-ref-chat-prompts span{padding:7px 9px;border:1px solid rgba(247,246,242,.22);color:#c9c2b8;font:500 9px/1 var(--font-mono);letter-spacing:.05em}
html.public-stable .vira-ref-ticker{overflow:hidden;border-block:1px solid #d8d3ca;padding:18px 0;white-space:nowrap}
html.public-stable .vira-ref-ticker-track{display:flex;width:max-content;animation:ref-ticker 32s linear infinite}
html.public-stable .vira-ref-ticker span{display:inline-flex;align-items:center;padding:0 34px;color:#1f1e1b;font:italic 500 25px/1 var(--public-serif)}
html.public-stable .vira-ref-ticker i{margin-left:58px;color:#bd5f46;font-style:normal}
@keyframes ref-chat-scene{0%,4%{opacity:0;transform:translateY(10px)}10%,28%{opacity:1;transform:translateY(0)}34%,100%{opacity:0;transform:translateY(-10px)}}
@keyframes ref-chat-pulse{0%,100%{opacity:.55;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}
@keyframes ref-ticker{to{transform:translateX(-50%)}}
html.public-stable .vira-ref-ecosystem{display:grid;grid-template-columns:4fr 8fr;gap:70px;max-width:1400px;margin:auto;padding:138px 48px}
html.public-stable .vira-ref-section-intro h2{margin:25px 0 22px;font:400 clamp(45px,4.2vw,65px)/.98 var(--public-serif);letter-spacing:-.065em}
html.public-stable .vira-ref-section-intro p{max-width:360px;color:#6c6861;font:400 clamp(19px,1.25vw,22px)/1.55 var(--font-reading)}
html.public-stable .vira-ref-ecosystem-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border:1px solid #d8d3ca;background:#d8d3ca}
html.public-stable .vira-ref-eco-card{display:flex;min-height:300px;flex-direction:column;justify-content:space-between;padding:36px;background:#f7f6f2;color:#1f1e1b;transition:background .2s ease,box-shadow .2s ease}
html.public-stable .vira-ref-eco-card:hover,html.public-stable .vira-ref-eco-card:focus-visible{background:#fff;box-shadow:inset 0 0 0 2px #bd5f46}
html.public-stable .vira-ref-eco-card .section-kicker{display:flex;align-items:center;gap:12px;color:#bd5f46}
html.public-stable .vira-ref-eco-card .section-kicker::before{width:42px;height:2px;background:#5f7567;content:"";transition:width .2s ease,background .2s ease}
html.public-stable .vira-ref-eco-card:hover .section-kicker::before,html.public-stable .vira-ref-eco-card:focus-visible .section-kicker::before{width:58px;background:#bd5f46}
html.public-stable .vira-ref-eco-card h3{display:flex;align-items:center;justify-content:space-between;margin:28px 0 14px;font:500 clamp(38px,3vw,48px)/.95 var(--public-serif);letter-spacing:-.05em}
html.public-stable .vira-ref-eco-card h3 .icon{width:16px;color:#716c64}
html.public-stable .vira-ref-eco-card p{margin:0;color:#6c6861;font:400 clamp(17px,1.08vw,19px)/1.6 var(--font-reading)}
html.public-stable .vira-ref-eco-card small{margin-top:28px;color:#6c6861;font:500 14px/1 var(--font-mono);letter-spacing:.03em}
html.public-stable .vira-ref-manifesto{border-block:1px solid #d8d3ca;background:#efede7;padding:0 max(48px,calc((100vw - 1304px)/2))}
html.public-stable .vira-ref-manifesto-row{display:grid;grid-template-columns:2fr 6fr 3fr;gap:40px;align-items:start;padding:79px 0;border-bottom:1px solid #d8d3ca}
html.public-stable .vira-ref-manifesto-row:last-child{border-bottom:0}
html.public-stable .vira-ref-manifesto-row>span{color:rgba(189,95,70,.38);font:400 clamp(67px,7.6vw,116px)/.7 var(--public-serif);letter-spacing:-.08em}
html.public-stable .vira-ref-manifesto-row h3{margin:0;color:#1f1e1b;font:500 38px/1.05 var(--public-serif);letter-spacing:-.05em}
html.public-stable .vira-ref-manifesto-row p{margin:0;color:#6c6861;font:400 clamp(20px,1.3vw,23px)/1.6 var(--font-reading)}
html.public-stable .vira-ref-stats{display:grid;grid-template-columns:repeat(4,1fr);max-width:1400px;margin:auto;padding:108px 48px}
html.public-stable .vira-ref-footnote{max-width:1400px;margin:-82px auto 80px;padding:0 48px;color:#8a8177;font:400 12px/1.5 var(--font-reading);}
html.public-stable .vira-ref-example-notice{width:min(1304px,calc(100vw - 96px));margin:42px auto 0;}
html.public-stable .vira-ref-stat{padding:29px 30px;border:1px solid #d8d3ca;border-right:0;background:#f7f6f2}
html.public-stable .vira-ref-stat:last-child{border-right:1px solid #d8d3ca}
html.public-stable .vira-ref-stat strong{font:400 clamp(48px,5vw,82px)/1 var(--public-serif);letter-spacing:-.06em}
html.public-stable .vira-ref-stat p{margin:22px 0 0;color:#6c6861;font:400 clamp(19px,1.2vw,22px)/1.5 var(--font-reading)}
html.public-stable .vira-ref-cta{max-width:1304px;margin:0 auto 120px;padding:100px 28px;background:#382b26;color:#f7f6f2;text-align:center}
html.public-stable .vira-ref-cta h2{margin:0;font:400 clamp(45px,5vw,74px)/.96 var(--public-serif);letter-spacing:-.065em}
html.public-stable .vira-ref-cta h2 em{color:#bd5f46;font-style:italic}
html.public-stable .vira-ref-cta .vira-ref-actions{justify-content:center;margin-top:42px}
html.public-stable .vira-ref-cta .vira-ref-actions .btn{min-width:210px}
html.public-stable .vira-ref-cta .vira-ref-actions .btn-primary{border-color:#bd5f46;background:#bd5f46;color:#f7f6f2}
html.public-stable .vira-ref-cta .btn-outline{border-color:rgba(247,246,242,.55);color:#f7f6f2}
html.public-stable .vira-reference-page .public-footer{padding:184px max(48px,5.2vw) 34px;background:#efede7;border-top:1px solid #d8d3ca}
html.public-stable .vira-reference-page .footer-top{grid-template-columns:minmax(0,2fr) repeat(4,minmax(0,1fr));gap:clamp(34px,4.2vw,86px);max-width:none;margin:0;padding-bottom:78px;border-bottom:1px solid #d8d3ca}
html.public-stable .vira-reference-page .footer-brand p{max-width:360px;color:#6c6861;font:400 20px/1.5 var(--public-serif)}
html.public-stable .vira-reference-page .footer-brand p+p{margin-top:27px;font:400 17px/1.5 var(--font-reading)}
html.public-stable .vira-reference-page .footer-brand .logo-word{font-size:32px}
html.public-stable .vira-reference-page .footer-col b{color:#6c6861;font:600 10px/1 var(--font-mono);letter-spacing:.18em}
html.public-stable .vira-reference-page .footer-col a{color:#1f1e1b;font:400 17px/1.25 var(--font-reading)}
html.public-stable .vira-reference-page .footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:24px;font:500 11px/1.4 var(--font-mono);letter-spacing:.08em}

html.public-stable .vira-ref-route-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:90px;width:calc(100% - 96px);max-width:1304px;box-sizing:border-box;margin-inline:auto;padding:72px 0 58px;border-bottom:0}
html.public-stable .vira-reference-page [id]{scroll-margin-top:96px}
html.public-stable .vira-ref-route-hero h1{max-width:none;margin-top:26px;font-size:clamp(56px,5.8vw,80px)}
html.public-stable .vira-ref-route-hero>div>p{max-width:560px;color:#6c6861;font:400 16px/1.7 var(--font-reading)}
html.public-stable .vira-ref-doc-hero{width:calc(100% - 96px);max-width:1304px;box-sizing:border-box;margin-inline:auto;padding:78px 0 50px;border-bottom:1px solid #d8d3ca}
html.public-stable .vira-ref-doc-hero h1{max-width:none;margin:32px 0 20px;font:400 clamp(58px,6.3vw,86px)/.94 var(--public-serif);letter-spacing:-.075em;text-wrap:balance}
html.public-stable .vira-ref-doc-hero p{max-width:680px;margin:0;color:#6c6861;font:400 17px/1.6 var(--font-reading)}
html.public-stable .vira-ref-doc-layout{display:grid;grid-template-columns:215px minmax(0,1fr);gap:72px;width:calc(100% - 96px);max-width:1304px;box-sizing:border-box;margin-inline:auto;padding:58px 0 112px}
html.public-stable .vira-ref-doc-sidebar{display:grid;align-content:start;gap:13px}
html.public-stable .vira-ref-doc-sidebar label{display:flex;align-items:center;gap:9px;min-height:42px;margin-bottom:14px;padding:0 12px;border:1px solid #d8d3ca;color:#8c867d}
html.public-stable .vira-ref-doc-sidebar label .icon{width:14px}
html.public-stable .vira-ref-doc-sidebar input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:#1f1e1b;font:400 13px var(--font-reading)}
html.public-stable .vira-ref-doc-sidebar .section-kicker{margin-top:15px}
html.public-stable .vira-ref-doc-sidebar a{padding-left:17px;border-left:1px solid #d8d3ca;color:#6c6861;font:400 14px/1.2 var(--font-reading)}
html.public-stable .vira-ref-doc-sidebar a.active{border-left:2px solid #bd5f46;color:#bd5f46}
html.public-stable .vira-ref-doc-article{max-width:850px}
html.public-stable .vira-ref-doc-article h2{display:flex;align-items:baseline;gap:12px;margin:25px 0 27px;font:400 clamp(44px,4.4vw,62px)/1 var(--public-serif);letter-spacing:-.06em}
html.public-stable .vira-ref-doc-article h2 small{color:#8c867d;font:500 11px var(--font-mono);letter-spacing:0}
html.public-stable .vira-ref-doc-article hr{margin:0 0 28px;border:0;border-top:1px solid #d8d3ca}
html.public-stable .vira-ref-doc-article>p{max-width:760px;color:#6c6861;font:400 17px/1.75 var(--font-reading)}
html.public-stable .vira-ref-doc-callout{display:grid;gap:7px;margin-top:35px;padding:19px 22px;border-left:2px solid #bd5f46;background:#efede7;color:#6c6861;font:400 14px/1.5 var(--font-reading)}
html.public-stable .vira-ref-doc-callout b{color:#1f1e1b;font:600 10px var(--font-mono);letter-spacing:.16em;text-transform:uppercase}
html.public-stable .catalog-page .vira-ref-search{grid-column:1/-1;align-self:stretch;display:flex;align-items:center;gap:12px;min-height:58px;padding:0;border:0;border-bottom:2px solid #1f1e1b}
html.public-stable .vira-ref-search{align-self:end;display:flex;align-items:center;gap:12px;min-height:58px;padding:0 15px;border:1px solid #1f1e1b}
html.public-stable .vira-ref-search .icon{width:17px;color:#bd5f46}
html.public-stable .vira-ref-search input{flex:1;border:0;background:transparent;outline:0;color:#1f1e1b;font:400 15px/1 var(--font-reading)}
html.public-stable .vira-ref-search kbd{color:#8c867d;font:500 10px var(--font-mono)}
html.public-stable .vira-ref-catalog-workspace{display:block;width:calc(100% - 96px);max-width:1304px;box-sizing:border-box;margin-inline:auto;padding:0 0 120px}
html.public-stable .vira-ref-filters{display:flex;flex-direction:row;gap:8px;margin-bottom:40px}
html.public-stable .vira-ref-filters button,.vira-ref-library-filters button,.vira-ref-billing button{padding:12px 16px;border:1px solid #d8d3ca;background:transparent;color:#6c6861;text-align:left;font:400 14px/1 var(--font-reading)}
html.public-stable .vira-ref-filters button.active,.vira-ref-library-filters button.active,.vira-ref-billing button.active{background:#1f1e1b;color:#f7f6f2}
html.public-stable .vira-ref-results>header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px}
html.public-stable .vira-ref-results h2,.vira-ref-studio-library h2,.vira-ref-comparison h2{margin:13px 0 0;font:400 clamp(34px,4vw,58px)/.97 var(--public-serif);letter-spacing:-.06em}
html.public-stable .vira-ref-results>header>span{color:#8c867d;font:500 11px var(--font-mono)}
html.public-stable .vira-ref-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border:1px solid #d8d3ca;background:#d8d3ca}
html.public-stable .vira-ref-result-grid article{display:grid;grid-template-columns:36px 1fr;gap:12px;min-height:360px;padding:30px;background:#f7f6f2}
html.public-stable .vira-ref-result-index{color:#bd5f46;font:500 11px var(--font-mono)}
html.public-stable .vira-ref-result-grid article .section-kicker{color:#bd5f46}
html.public-stable .vira-ref-result-grid h3{margin:16px 0 9px;font:500 34px/1 var(--public-serif);letter-spacing:-.045em}
html.public-stable .vira-ref-result-grid strong{display:block;color:#6c6861;font:400 15px/1.35 var(--font-reading)}
html.public-stable .vira-ref-result-grid p{margin:18px 0 27px;color:#6c6861;font:400 16px/1.55 var(--font-reading)}
html.public-stable .vira-ref-result-grid small{color:#8c867d;font:500 10px var(--font-mono)}
html.public-stable .vira-ref-result-state{display:block;width:max-content;margin-top:17px;padding:7px 9px;border:1px solid #bd5f46;color:#bd5f46;font:600 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
html.public-stable .vira-ref-result-state[data-catalog-status="coming-soon"]{border-color:#c9c2b7;color:#8c867d}
html.public-stable .vira-ref-result-link{display:inline-flex;align-items:center;gap:8px;margin-top:18px;color:#bd5f46;font:600 11px var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
html.public-stable .vira-ref-result-link .icon{width:15px}
html.public-stable .vira-ref-filters button small{margin-inline-start:5px;color:inherit;font:500 10px var(--font-mono)}
html.public-stable .vira-ref-ui-hero,.vira-ref-studios-hero,.vira-ref-plans-hero,.vira-ref-docs-hero{align-items:center}
html.public-stable .vira-ref-prompt-list{display:grid;gap:7px;margin-top:32px;max-width:510px}
html.public-stable .vira-ref-prompt-list button{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border:1px solid #d8d3ca;background:transparent;color:#6c6861;text-align:left;font:400 14px var(--font-reading)}
html.public-stable .vira-ref-recipe{padding:30px;border:1px solid #d8d3ca;background:#efede7}
html.public-stable .vira-ref-recipe h2{margin:21px 0 15px;font:500 37px/1 var(--public-serif);letter-spacing:-.05em}
html.public-stable .vira-ref-recipe-meta{display:flex;gap:15px;color:#8c867d;font:500 11px var(--font-mono)}
html.public-stable .vira-ref-recipe-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:30px;padding-top:18px;border-top:1px solid #d8d3ca}
html.public-stable .vira-ref-recipe-grid b{color:#bd5f46;font:600 10px var(--font-mono);letter-spacing:.14em}
html.public-stable .vira-ref-recipe-grid p{color:#6c6861;font:400 13px/1.8 var(--font-reading)}
html.public-stable .vira-ref-recipe-grid strong{display:inline-block;width:20px;color:#1f1e1b}
html.public-stable .vira-ref-prompt-stage{max-width:1304px;margin:0 auto;padding:62px 0}
html.public-stable .vira-ref-prompt-stage>div{display:flex;justify-content:space-between;padding:18px 20px;border:1px solid #1f1e1b;color:#8c867d;font:400 14px var(--font-reading)}
html.public-stable .vira-ref-prompt-stage button{border:0;background:transparent;color:#bd5f46;font:500 13px var(--font-reading)}
html.public-stable .vira-ref-ui-manifesto{margin-top:0}
html.public-stable .vira-ref-ui-hero{grid-template-columns:minmax(0,7fr) minmax(300px,5fr);gap:84px;align-items:end;padding-bottom:82px;border-bottom:0}
html.public-stable .vira-ref-ui-hero h1{max-width:none;margin-bottom:0}
html.public-stable .vira-ref-ui-hero-copy>.section-kicker{display:flex;align-items:center;gap:12px}
html.public-stable .vira-ref-ui-hero-copy>.section-kicker::before{width:31px;height:1px;background:#5f7567;content:""}
html.public-stable .vira-ref-ui-hero-note{align-self:end;padding-bottom:9px}
html.public-stable .vira-ref-ui-hero-note p{max-width:480px;margin:0;color:#6c6861;font:400 19px/1.6 var(--font-reading)}
html.public-stable .vira-ref-ui-showcase{display:grid;grid-template-columns:minmax(300px,5fr) minmax(0,7fr);width:calc(100% - 96px);max-width:1304px;box-sizing:border-box;margin-inline:auto;border:1px solid #d8d3ca;background:#efede7}
html.public-stable .vira-ref-ui-prompt-column{padding:61px 48px 38px;border-right:1px solid #d8d3ca}
html.public-stable .vira-ref-ui-prompt-column>.section-kicker{display:block;margin-bottom:24px;color:#8c867d}
html.public-stable .vira-ref-prompt-list{max-width:none;margin:0}
html.public-stable .vira-ref-prompt-list button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;width:100%;min-height:96px;padding:20px 22px;border:1px solid #d8d3ca;background:#f7f6f2;color:#3e3a35;font:400 17px/1.35 var(--font-reading);text-align:left;transition:border-color .2s ease,background .2s ease,transform .2s ease}
html.public-stable .vira-ref-prompt-list button:hover,html.public-stable .vira-ref-prompt-list button:focus-visible{border-color:#bd5f46;background:#fff;transform:translateX(3px)}
html.public-stable .vira-ref-prompt-list button .icon{width:17px;color:#bd5f46}
html.public-stable .vira-ref-prompt-list button small{color:#8c867d;font:500 10px/1 var(--font-mono);letter-spacing:.08em;text-align:right}
html.public-stable .vira-ref-ui-prompt-column .vira-ref-prompt-stage{max-width:none;margin:28px 0 0;padding:0}
html.public-stable .vira-ref-ui-prompt-column .vira-ref-prompt-stage{display:flex;align-items:center;gap:14px;border:1px solid #1f1e1b;background:#f7f6f2}
html.public-stable .vira-ref-ui-prompt-column .vira-ref-prompt-stage>div{display:flex;align-items:center;gap:14px;padding:0;border:1px solid #1f1e1b;background:#f7f6f2}
html.public-stable .vira-ref-prompt-stage input{min-width:0;flex:1;height:58px;padding:0 18px;border:0;outline:0;background:transparent;color:#1f1e1b;font:400 15px/1 var(--font-reading)}
html.public-stable .vira-ref-prompt-stage input::placeholder{color:#aaa39a}
html.public-stable .vira-ref-prompt-stage a{display:inline-flex;align-items:center;gap:8px;min-height:46px;margin-right:6px;padding:0 14px;background:#1f1e1b;color:#f7f6f2;font:500 13px/1 var(--font-reading)}
html.public-stable .vira-ref-prompt-stage a .icon{width:15px}
html.public-stable .vira-ref-recipe-window{min-width:0;background:#f7f6f2}
html.public-stable .vira-ref-recipe-window-bar{display:flex;align-items:center;gap:9px;min-height:63px;padding:0 34px;border-bottom:1px solid #d8d3ca;color:#bd5f46;font:600 11px/1 var(--font-mono);letter-spacing:.2em}
html.public-stable .vira-ref-recipe-window-bar i{width:15px;height:15px;margin-left:auto;border-radius:50%;background:#d8d3ca}
html.public-stable .vira-ref-recipe-window-bar i+i{margin-left:0}
html.public-stable .vira-ref-recipe-window-bar i:last-child{background:#bd5f46}
html.public-stable .vira-ref-ui-showcase .vira-ref-recipe{min-height:494px;padding:47px 55px 55px;border:0;background:#f7f6f2}
html.public-stable .vira-ref-ui-showcase .vira-ref-recipe h2{max-width:680px;margin:0 0 21px;font-size:48px;line-height:.98}
html.public-stable .vira-ref-ui-showcase .vira-ref-recipe-meta{gap:23px;color:#6c6861;font-size:13px}
html.public-stable .vira-ref-ui-showcase .vira-ref-recipe-grid{gap:53px;margin-top:37px;padding-top:29px;border-top:1px solid #d8d3ca}
html.public-stable .vira-ref-ui-showcase .vira-ref-recipe-grid>div{min-width:0}
html.public-stable .vira-ref-ui-showcase .vira-ref-recipe-grid b{display:block;margin-bottom:21px;color:#bd5f46;font-size:11px}
html.public-stable .vira-ref-ui-showcase .vira-ref-recipe-grid p{margin:0;color:#6c6861;font-size:16px;line-height:1.75}
html.public-stable .vira-ref-ui-showcase .vira-ref-recipe-grid p strong{display:inline-block;width:27px;color:#bd5f46;font:500 16px/1 var(--font-mono)}
html.public-stable .vira-ref-ui-output.is-generated .vira-ref-recipe{animation:ref-ui-generated .42s ease both}
html.public-stable .vira-ref-help button.active{border-color:#bd5f46;background:#bd5f46;color:#f7f6f2}
html.public-stable .vira-ref-genui-toolbar{display:flex;align-items:center;gap:9px;margin-bottom:25px;color:#6c6861;font:500 11px var(--font-mono)}
html.public-stable .vira-ref-genui-toolbar button{width:25px;height:25px;border:1px solid #d8d3ca;background:#f7f6f2;color:#1f1e1b;font-size:16px}
html.public-stable .vira-ref-genui-status{margin-left:auto;color:#5f7567}
html.public-stable .vira-ref-genui-columns{display:grid;grid-template-columns:1fr 1fr;gap:42px}
html.public-stable .vira-ref-genui-columns>b,html.public-stable .vira-ref-genui-columns>div>b{display:block;margin-bottom:16px;color:#bd5f46;font:600 10px var(--font-mono);letter-spacing:.16em}
html.public-stable .vira-ref-genui-columns label,html.public-stable .vira-ref-genui-checklist label{display:flex;gap:9px;align-items:center;margin:12px 0;color:#6c6861;font:400 14px/1.35 var(--font-reading)}
html.public-stable .vira-ref-genui-columns ol{display:grid;gap:12px;margin:0;padding-left:20px;color:#6c6861;font:400 14px/1.4 var(--font-reading)}
html.public-stable .vira-ref-genui-columns li.is-done{text-decoration:line-through;color:#8c867d}
html.public-stable .vira-ref-genui-primary,html.public-stable .vira-ref-genui-link{margin-top:20px;border:0;background:transparent;color:#bd5f46;font:600 11px var(--font-mono);letter-spacing:.08em}
html.public-stable .vira-ref-genui-primary{padding:12px 15px;background:#bd5f46;color:#f7f6f2}
html.public-stable .vira-ref-genui-day-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
html.public-stable .vira-ref-genui-day-grid button{display:grid;gap:13px;min-height:150px;padding:14px;border:1px solid #d8d3ca;background:#f7f6f2;text-align:left;color:#1f1e1b}
html.public-stable .vira-ref-genui-day-grid button.active,html.public-stable .vira-ref-genui-compare button.active{border-color:#bd5f46;box-shadow:inset 0 0 0 1px #bd5f46}
html.public-stable .vira-ref-genui-day-grid strong{color:#bd5f46;font:600 11px var(--font-mono)}
html.public-stable .vira-ref-genui-day-grid span{font:500 15px/1.15 var(--public-serif)}
html.public-stable .vira-ref-genui-day-grid small{color:#8c867d;font:400 11px var(--font-reading)}
html.public-stable .vira-ref-genui-workout-list{display:grid;gap:1px;background:#d8d3ca}
html.public-stable .vira-ref-genui-workout-list label{display:flex;align-items:center;gap:12px;padding:14px;background:#f7f6f2;color:#6c6861;font:400 14px var(--font-reading)}
html.public-stable .vira-ref-genui-workout-list label span{display:flex;flex:1;gap:12px}.vira-ref-genui-workout-list label b{color:#bd5f46;font:600 11px var(--font-mono)}.vira-ref-genui-workout-list em{color:#8c867d;font:400 11px var(--font-mono);font-style:normal}
html.public-stable .vira-ref-genui-compare{display:grid;gap:1px;background:#d8d3ca}.vira-ref-genui-compare>div,.vira-ref-genui-compare button{display:grid;grid-template-columns:1.6fr .7fr .7fr 22px;gap:8px;padding:12px;border:0;background:#f7f6f2;text-align:left;color:#6c6861;font:400 12px var(--font-reading)}.vira-ref-genui-compare>div{color:#8c867d;font:600 9px var(--font-mono);letter-spacing:.1em}.vira-ref-genui-compare strong{color:#5f7567}
html.public-stable .vira-ref-genui-progress{height:6px;margin:0 0 19px;background:#d8d3ca}.vira-ref-genui-progress i{display:block;width:50%;height:100%;background:#bd5f46}.vira-ref-genui-checklist{display:grid;gap:12px}
@keyframes ref-ui-generated{from{opacity:.45;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
html.public-stable .vira-ref-ui-cta{display:flex;align-items:center;justify-content:space-between;gap:40px;max-width:1304px;margin:0 auto;padding:104px 0 120px}
html.public-stable .vira-ref-ui-cta p{margin:0 0 19px;color:#8c867d;font:600 10px/1 var(--font-mono);letter-spacing:.2em}
html.public-stable .vira-ref-ui-cta h2{max-width:680px;margin:0;font:400 clamp(44px,5vw,72px)/.95 var(--public-serif);letter-spacing:-.065em}
html.public-stable .vira-ref-ui-cta a{display:inline-flex;align-items:center;gap:13px;min-width:300px;justify-content:center;padding:19px 24px;border:1px solid #1f1e1b;color:#1f1e1b;font:400 15px/1 var(--font-reading)}
html.public-stable .vira-ref-ui-cta a:hover,html.public-stable .vira-ref-ui-cta a:focus-visible{background:#1f1e1b;color:#f7f6f2}
html.public-stable .vira-ref-ui-cta a .icon{width:17px}
html.public-stable .vira-ref-studios-hero{padding-bottom:75px;border-bottom:0}
html.public-stable .vira-ref-studios-hero-note{align-self:end;padding-bottom:10px}
html.public-stable .vira-ref-studios-hero-note p{max-width:500px;margin:0;color:#6c6861;font:400 19px/1.6 var(--font-reading)}
html.public-stable .vira-ref-studio-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:calc(100% - 96px);max-width:1304px;box-sizing:border-box;margin-inline:auto;border:1px solid #d8d3ca;background:#f7f6f2}
html.public-stable .vira-ref-studio-flow article{min-height:310px;padding:56px 46px;border-right:1px solid #d8d3ca}
html.public-stable .vira-ref-studio-flow article:last-child{border-right:0}
html.public-stable .vira-ref-studio-flow article>span{display:block;color:#bd5f46;font:500 12px/1 var(--font-mono)}
html.public-stable .vira-ref-studio-flow h3{margin:52px 0 24px;font:500 32px/1.05 var(--public-serif);letter-spacing:-.045em}
html.public-stable .vira-ref-studio-flow p{margin:0;color:#6c6861;font:400 17px/1.62 var(--font-reading)}
html.public-stable .vira-ref-studio-library{width:calc(100% - 96px);max-width:1304px;box-sizing:border-box;margin-inline:auto;padding:118px 0 120px}
html.public-stable .vira-ref-studio-library>header{display:grid;grid-template-columns:1fr auto;align-items:end;gap:30px;margin-bottom:42px}
html.public-stable .vira-ref-studio-library>header .section-kicker{align-self:center}
html.public-stable .vira-ref-library-filters{display:flex;gap:10px;padding:0;margin-bottom:51px}
html.public-stable .vira-ref-library-filters button{min-height:52px;padding:0 25px;border:1px solid #d8d3ca;background:#f7f6f2;color:#3e3a35;text-align:center;font:400 16px/1 var(--font-reading);transition:background .2s ease,color .2s ease,border-color .2s ease}
html.public-stable .vira-ref-library-filters button:hover,html.public-stable .vira-ref-library-filters button:focus-visible{border-color:#bd5f46;color:#bd5f46}
html.public-stable .vira-ref-library-filters button.active{border-color:#1f1e1b;background:#1f1e1b;color:#f7f6f2}
html.public-stable .vira-ref-studio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border:1px solid #d8d3ca;background:#d8d3ca}
html.public-stable .vira-ref-studio-grid article{min-height:610px;padding:0 40px 38px;background:#f7f6f2}
html.public-stable .vira-ref-studio-art{position:relative;height:300px;margin:0 -40px 38px;overflow:hidden;background:#5d5b57}
html.public-stable .vira-ref-studio-art::after{position:absolute;inset:0;background:linear-gradient(135deg,rgba(247,246,242,.34),rgba(31,30,27,.72));content:""}
html.public-stable .vira-ref-studio-art.localgpt{background-color:#8f8a81;background-image:linear-gradient(180deg,transparent 0 48%,rgba(31,30,27,.26) 49% 51%,transparent 52%),repeating-linear-gradient(90deg,rgba(247,246,242,.13) 0 2px,transparent 2px 82px),linear-gradient(135deg,#d9d0c5,#69655e 56%,#272622)}
html.public-stable .vira-ref-studio-art.comfy{background-color:#56544f;background-image:radial-gradient(ellipse at 32% 58%,#b7c0a3 0 8%,transparent 9%),radial-gradient(ellipse at 55% 43%,#6f8464 0 11%,transparent 12%),radial-gradient(ellipse at 74% 63%,#cad0ba 0 7%,transparent 8%),linear-gradient(135deg,#ded7ca,#42423d)}
html.public-stable .vira-ref-studio-art.whisper{background-color:#30302d;background-image:repeating-linear-gradient(170deg,transparent 0 19px,rgba(215,131,104,.54) 20px 22px,transparent 23px 38px),linear-gradient(135deg,#8d8c84,#232321)}
html.public-stable .vira-ref-studio-art.search{background-color:#c3c0b7;background-image:linear-gradient(90deg,transparent 0 28%,rgba(31,30,27,.55) 29% 30%,transparent 31% 70%,rgba(189,95,70,.7) 71% 72%,transparent 73%),linear-gradient(135deg,#ede9df,#6e6a62)}
html.public-stable .vira-ref-studio-art.n8n{background-color:#4b4a45;background-image:radial-gradient(circle at 22% 28%,#bd5f46 0 7px,transparent 8px),radial-gradient(circle at 68% 32%,#e1dcd4 0 8px,transparent 9px),radial-gradient(circle at 47% 73%,#7c9472 0 9px,transparent 10px),linear-gradient(145deg,transparent 48%,rgba(247,246,242,.5) 49% 51%,transparent 52%)}
html.public-stable .vira-ref-studio-art.openwebui{background-color:#24231f;background-image:linear-gradient(90deg,rgba(247,246,242,.72) 0 3%,transparent 3% 18%,rgba(189,95,70,.72) 18% 21%,transparent 21% 100%),repeating-linear-gradient(0deg,rgba(247,246,242,.18) 0 1px,transparent 1px 34px),linear-gradient(135deg,#77736a,#1f1e1b)}
html.public-stable .vira-ref-studio-art.council{background-color:#5f7567;background-image:radial-gradient(circle at 26% 42%,#f1e9dd 0 18px,transparent 19px),radial-gradient(circle at 50% 66%,#bd5f46 0 25px,transparent 26px),radial-gradient(circle at 76% 35%,#d8d3ca 0 15px,transparent 16px),linear-gradient(135deg,#263b34,#9ba693)}
html.public-stable .vira-ref-studio-art.crewai{background-color:#6b655b;background-image:linear-gradient(90deg,transparent 0 19%,rgba(247,246,242,.7) 20% 21%,transparent 22% 48%,rgba(189,95,70,.8) 49% 51%,transparent 52% 78%,rgba(247,246,242,.6) 79% 80%,transparent 81%),linear-gradient(135deg,#d8d3ca,#383832)}
html.public-stable .vira-ref-studio-art-badge{position:absolute;z-index:1;top:22px;left:22px;display:inline-flex;align-items:center;gap:8px;padding:11px 14px;border:1px solid rgba(247,246,242,.38);background:rgba(31,30,27,.64);color:#f7f6f2;font:500 11px/1 var(--font-mono);letter-spacing:.14em}
html.public-stable .vira-ref-studio-art-badge i{color:#d78368;font-style:normal}
html.public-stable .vira-ref-studio-art-index{position:absolute;z-index:1;right:20px;bottom:17px;color:#f7f6f2;font:500 13px var(--font-mono)}
html.public-stable .vira-ref-studio-card-head{display:flex;justify-content:space-between;margin-bottom:13px}
html.public-stable .vira-ref-studio-card-head .section-kicker{color:#bd5f46}
html.public-stable .vira-ref-studio-grid h3{margin:0 0 10px;font:500 38px/1 var(--public-serif);letter-spacing:-.045em}
html.public-stable .vira-ref-studio-grid strong{display:block;color:#6c6861;font:400 18px/1.35 var(--font-reading)}
html.public-stable .vira-ref-studio-grid p{min-height:98px;margin:27px 0 30px;color:#6c6861;font:400 16px/1.65 var(--font-reading)}
html.public-stable .vira-ref-studio-grid a{display:inline-flex;align-items:center;gap:10px;color:#bd5f46;font:600 11px var(--font-mono);letter-spacing:.12em;text-transform:uppercase}
html.public-stable .vira-ref-studio-grid a .icon{width:16px}
html.public-stable .vira-ref-studio-empty{margin:35px 0 0;color:#6c6861;font:400 16px/1.5 var(--font-reading)}
html.public-stable .vira-ref-studio-library>header .vira-ref-studio-live-count{color:#8c867d;font:500 11px var(--font-mono)}
html.public-stable .vira-ref-studio-coming{display:grid;grid-template-columns:auto 1fr 1fr;gap:28px;align-items:center;margin-top:1px;padding:28px 30px;border:1px solid #d8d3ca;background:#efede7}
html.public-stable .vira-ref-studio-coming strong{font:500 25px/1.05 var(--public-serif);letter-spacing:-.035em}
html.public-stable .vira-ref-studio-coming p{max-width:420px;margin:0;color:#6c6861;font:400 14px/1.55 var(--font-reading)}
html.public-stable .vira-ref-billing{align-self:end;display:flex;justify-content:flex-end;gap:5px}
html.public-stable .vira-ref-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;width:calc(100% - 96px);max-width:1304px;box-sizing:border-box;margin-inline:auto;padding:75px 0 110px;background:#d8d3ca}
html.public-stable .vira-ref-plan-card{display:flex;min-height:720px;flex-direction:column;padding:29px;background:#f7f6f2}
html.public-stable .vira-ref-plan-card.featured{background:#efede7}
html.public-stable .vira-ref-plan-card>h2{margin:20px 0 10px;font:500 36px/1 var(--public-serif)}
html.public-stable .vira-ref-plan-card>p{min-height:47px;color:#6c6861;font:400 14px/1.45 var(--font-reading)}
html.public-stable .vira-ref-price{display:flex;align-items:baseline;gap:8px;margin:27px 0 24px}
html.public-stable .vira-ref-price strong{font:400 58px/1 var(--public-serif);letter-spacing:-.06em}
html.public-stable .vira-ref-price span{color:#8c867d;font:500 11px var(--font-mono)}
html.public-stable .vira-ref-plan-card .btn{display:inline-flex;align-items:center;justify-content:center;min-height:45px;border-radius:0}
html.public-stable .vira-ref-plan-card ul{display:grid;gap:11px;margin:28px 0;padding:23px 0;border-block:1px solid #d8d3ca;list-style:none;color:#6c6861;font:400 13px/1.3 var(--font-reading)}
html.public-stable .vira-ref-plan-card li{display:flex;gap:8px;align-items:start}
html.public-stable .vira-ref-plan-card li .icon{width:14px;color:#bd5f46;flex:none}
html.public-stable .vira-ref-plan-card dl{display:grid;gap:12px;margin-top:auto}
html.public-stable .vira-ref-plan-card dl div{display:flex;justify-content:space-between;border-top:1px solid #d8d3ca;padding-top:10px}
html.public-stable .vira-ref-plan-card dt{color:#8c867d;font:600 9px var(--font-mono);letter-spacing:.12em}.vira-ref-plan-card dd{margin:0;color:#1f1e1b;font:400 13px var(--font-reading)}
html.public-stable .vira-ref-comparison{max-width:1304px;margin:auto;padding:0 0 120px}.vira-ref-comparison>div{display:grid;grid-template-columns:2fr repeat(3,1fr);margin-top:30px;border-top:1px solid #d8d3ca}.vira-ref-comparison>div>*{margin:0;padding:14px;border-bottom:1px solid #d8d3ca;color:#6c6861;font:400 13px var(--font-reading)}.vira-ref-comparison b{color:#1f1e1b;font-weight:600}
html.public-stable .vira-ref-plan-trust{max-width:1304px;margin:0 auto 120px;padding:72px 0;border-top:1px solid #d8d3ca;border-bottom:1px solid #d8d3ca}
html.public-stable .vira-ref-plan-trust h2{max-width:780px;margin:0;font:400 clamp(43px,5vw,70px)/.96 var(--public-serif);letter-spacing:-.06em}
html.public-stable .vira-ref-plan-trust p{max-width:540px;margin:24px 0 0;color:#6c6861;font:400 17px/1.6 var(--font-reading)}
html.public-stable .vira-ref-billing button{cursor:pointer;min-height:45px;padding-inline:18px;border:1px solid #d8d3ca}
html.public-stable .vira-ref-billing button:focus-visible{outline:2px solid #bd5f46;outline-offset:2px}
html.public-stable .vira-ref-doc-nav{display:grid;gap:10px;padding:24px;border:1px solid #d8d3ca;background:#efede7}.vira-ref-doc-nav .section-kicker{margin-top:13px}.vira-ref-doc-nav a{color:#6c6861;font:400 14px var(--font-reading)}.vira-ref-doc-nav a.active{color:#bd5f46}.vira-ref-doc-content{width:calc(100% - 96px);max-width:720px;box-sizing:border-box;margin-inline:auto;padding:90px 0 140px}.vira-ref-doc-content h2{margin:18px 0 28px;font:500 48px/1 var(--public-serif)}.vira-ref-doc-content p{color:#6c6861;font:400 17px/1.75 var(--font-reading)}.vira-ref-help{display:flex;align-items:center;gap:12px;margin-top:40px;padding-top:22px;border-top:1px solid #d8d3ca;color:#6c6861;font:400 14px var(--font-reading)}.vira-ref-help button{padding:8px 12px;border:1px solid #d8d3ca;background:transparent}
html.public-stable .vira-ref-doc-topic{width:calc(100% - 96px);max-width:1304px;box-sizing:border-box;margin:0 auto;padding:0 0 120px;border-top:1px solid #d8d3ca}
html.public-stable .vira-ref-doc-topic>h2{margin:20px 0 34px;font:400 clamp(42px,5vw,70px)/.96 var(--public-serif);letter-spacing:-.06em}
html.public-stable .vira-ref-doc-topic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:1px;border:1px solid #d8d3ca;background:#d8d3ca}
html.public-stable .vira-ref-doc-topic-grid article{min-height:230px;padding:28px;background:#f7f6f2}
html.public-stable .vira-ref-doc-topic-grid h3{margin:0 0 17px;font:500 25px/1.05 var(--public-serif);letter-spacing:-.035em}
html.public-stable .vira-ref-doc-topic-grid p{margin:0;color:#6c6861;font:400 15px/1.65 var(--font-reading)}
html.public-stable .vira-ref-doc-reference-list{display:grid;gap:0;border-top:1px solid #d8d3ca}
html.public-stable .vira-ref-doc-reference-list>div{display:grid;grid-template-columns:minmax(170px,1fr) 130px minmax(0,2fr);gap:24px;align-items:baseline;padding:20px 0;border-bottom:1px solid #d8d3ca}
html.public-stable .vira-ref-doc-reference-list b{font:500 23px/1.1 var(--public-serif);letter-spacing:-.03em}
html.public-stable .vira-ref-doc-reference-list span{color:var(--public-rust);font:600 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
html.public-stable .vira-ref-doc-reference-list p{margin:0;color:#6c6861;font:400 15px/1.5 var(--font-reading)}
html.public-stable .vira-ref-doc-faq{padding-top:72px}
html.public-stable .vira-ref-doc-faq-list{max-width:850px;border-top:1px solid #d8d3ca}
html.public-stable .vira-ref-doc-faq details{padding:20px 0;border-bottom:1px solid #d8d3ca}
html.public-stable .vira-ref-doc-faq summary{cursor:pointer;color:#1f1e1b;font:500 19px var(--font-reading)}
html.public-stable .vira-ref-doc-faq details p{max-width:720px;margin:15px 0 0;color:#6c6861;font:400 16px/1.65 var(--font-reading)}

html.public-stable[lang="tr"] .vira-ref-hero h1{font-size:clamp(60px,6vw,84px)}
html.public-stable[lang="de"] .vira-ref-hero h1{font-size:clamp(55px,5.35vw,75px);letter-spacing:-.06em}
html.public-stable[lang="ar"] .vira-ref-hero h1{font-size:clamp(53px,5.2vw,73px);line-height:1.05;letter-spacing:0}
html.public-stable[lang="de"] .vira-ref-route-hero h1,html.public-stable[lang="de"] .vira-ref-doc-hero h1{font-size:clamp(50px,5.1vw,70px);letter-spacing:-.055em}
html.public-stable[lang="ar"] .vira-ref-route-hero h1,html.public-stable[lang="ar"] .vira-ref-doc-hero h1{font-size:clamp(48px,5vw,68px);line-height:1.08;letter-spacing:0}
html.public-stable[lang="ar"] .section-kicker{letter-spacing:0;line-height:1.45;text-transform:none}
html.public-stable .vira-ref-route-hero h1,html.public-stable .vira-ref-doc-hero h1{overflow-wrap:break-word;text-wrap:balance}

@media(min-width:821px) and (max-width:1180px){
  html.public-stable .vira-reference-page .public-nav{padding-inline:24px}
  html.public-stable .vira-reference-page .public-nav-center{gap:18px}
  html.public-stable .vira-reference-page .public-nav-center a{font-size:13px}
  html.public-stable .vira-reference-page .public-nav-actions{gap:7px}
  html.public-stable .vira-reference-page .public-nav-actions .btn-primary{padding-inline:16px;font-size:14px}
  html.public-stable .vira-reference-page .public-nav-actions .lang-select .lang-trigger{padding-inline:9px}
}
@media(max-width:820px){html.public-stable .vira-reference-page .public-nav{min-height:68px;padding-inline:18px;background:#f7f6f2;border-bottom-color:#d8d3ca}.vira-reference-page .public-nav-center{position:absolute;top:68px;right:0;left:0;display:none!important;flex-direction:column;align-items:stretch;gap:0;padding:12px 18px;background:#f7f6f2;border-bottom:1px solid #d8d3ca}.vira-reference-page .public-nav-center.open{display:flex!important}.vira-reference-page .public-nav-center a{min-height:43px}.vira-reference-page .public-menu{display:grid!important}.vira-reference-page .public-nav-actions .btn-primary{display:none}.vira-ref-hero,.vira-ref-route-hero{grid-template-columns:1fr;gap:44px;padding:48px 24px 62px;min-height:auto}.vira-ref-hero h1,.vira-ref-route-hero h1{font-size:clamp(58px,14vw,82px)}.vira-ref-chat{min-height:520px}.vira-ref-chat-scenes{min-height:388px;padding-inline:14px}.vira-ref-chat-scene{inset-inline:14px}.vira-ref-chat-prompts{right:14px;left:14px;overflow-x:auto}.vira-ref-ecosystem{grid-template-columns:1fr;gap:42px;padding:84px 24px}.vira-ref-ecosystem-grid{grid-template-columns:1fr}.vira-ref-manifesto{padding-inline:24px}.vira-ref-manifesto-row{grid-template-columns:70px 1fr;gap:18px;padding:56px 0}.vira-ref-manifesto-row p{grid-column:2}.vira-ref-stats{grid-template-columns:repeat(2,1fr);padding:72px 24px}.vira-ref-stat{border-right:0}.vira-ref-stat:nth-child(2n){border-right:1px solid #d8d3ca}.vira-ref-cta{margin:0 24px 80px}.vira-ref-route-hero,.vira-ref-catalog-workspace,.vira-ref-studio-library,.vira-ref-plan-grid,.vira-ref-comparison{width:auto;margin-inline:24px}.vira-ref-catalog-workspace{grid-template-columns:1fr;gap:34px;padding-top:48px}.vira-ref-filters{flex-direction:row;overflow:auto}.vira-ref-filters .section-kicker{display:none}.vira-ref-filters button{white-space:nowrap;border:1px solid #d8d3ca}.vira-ref-result-grid{grid-template-columns:1fr}.vira-ref-studio-library>header{grid-template-columns:1fr}.vira-ref-library-filters{overflow:auto}.vira-ref-library-filters button{white-space:nowrap}.vira-ref-studio-grid,.vira-ref-plan-grid{grid-template-columns:1fr}.vira-ref-plan-card{min-height:auto}.vira-ref-billing{justify-content:flex-start}.vira-ref-doc-content{padding-inline:24px}.vira-ref-doc-nav{margin-top:0}.vira-ref-recipe-grid{grid-template-columns:1fr}}

@media(max-width:820px){
  html.public-stable[lang="tr"] .vira-ref-hero h1{font-size:clamp(52px,13.5vw,66px)}
  html.public-stable[lang="en"] .vira-ref-hero h1{font-size:clamp(50px,13vw,64px)}
  html.public-stable[lang="de"] .vira-ref-hero h1{font-size:clamp(47px,12.2vw,60px)}
  html.public-stable[lang="ar"] .vira-ref-hero h1{font-size:clamp(46px,11.8vw,58px)}
  html.public-stable .vira-reference-page .public-nav{min-height:68px;padding:12px 18px;background:#f7f6f2;border-bottom-color:#d8d3ca}
  html.public-stable .vira-reference-page .public-nav .logo-word{font-size:29px}
  html.public-stable .vira-reference-page .public-nav-center a{font-size:16px}
  html.public-stable .vira-ref-studios-hero{grid-template-columns:minmax(0,1fr);gap:30px;padding-bottom:54px}
  html.public-stable .vira-ref-studios-hero-note{padding-bottom:0}
  html.public-stable .vira-ref-studios-hero-note p{font-size:17px}
  html.public-stable .vira-ref-studio-flow{grid-template-columns:minmax(0,1fr);margin-inline:24px}
  html.public-stable .vira-ref-studio-flow article{min-height:0;padding:31px 24px;border-right:0;border-bottom:1px solid #d8d3ca}
  html.public-stable .vira-ref-studio-flow article:last-child{border-bottom:0}
  html.public-stable .vira-ref-studio-flow h3{margin:27px 0 13px;font-size:28px}
  html.public-stable .vira-ref-studio-flow p{font-size:15px}
  html.public-stable .vira-ref-studio-library{width:auto;margin-inline:24px;padding:76px 0 88px}
  html.public-stable .vira-ref-studio-library>header{grid-template-columns:minmax(0,1fr);gap:17px}

/* ==========================================================================
   Source: public-reference-interactions.css
   ========================================================================== */
html.public-stable .vira-ref-library-filters{overflow-x:auto;overflow-y:hidden;margin-bottom:28px;padding-bottom:4px}
  html.public-stable .vira-ref-library-filters button{flex:none;min-height:48px;padding-inline:18px;font-size:14px;white-space:nowrap}
  html.public-stable .vira-ref-studio-grid{grid-template-columns:minmax(0,1fr)}
  html.public-stable .vira-ref-studio-grid article{min-height:0;padding:0 22px 30px}
  html.public-stable .vira-ref-studio-art{height:220px;margin:0 -22px 28px}
  html.public-stable .vira-ref-studio-grid h3{font-size:34px}
  html.public-stable .vira-ref-studio-grid p{min-height:0;margin:20px 0 25px;font-size:15px}
  html.public-stable .vira-ref-studio-coming{grid-template-columns:1fr;gap:13px;margin-top:1px;padding:24px 22px}
  html.public-stable .vira-ref-doc-hero{width:auto;margin-inline:24px;padding:54px 0 38px}
  html.public-stable .vira-ref-doc-hero h1{font-size:clamp(48px,12vw,70px);white-space:normal}
  html.public-stable .vira-ref-doc-layout{grid-template-columns:minmax(0,1fr);width:auto;margin-inline:24px;gap:42px;padding-top:38px}
  html.public-stable .vira-ref-doc-sidebar{gap:12px}
  html.public-stable .vira-ref-doc-article h2{font-size:44px}
}

@media(max-width:820px){
  html.public-stable .vira-reference-page .public-nav-center{position:absolute;top:68px;right:0;left:0;display:none!important;flex-direction:column;align-items:stretch;gap:0;padding:12px 18px;background:#f7f6f2;border-bottom:1px solid #d8d3ca}
  html.public-stable .vira-reference-page .public-nav-center.open{display:flex!important}
  html.public-stable .vira-reference-page .public-nav-center a{min-height:43px}
  html.public-stable .vira-reference-page .public-menu{display:grid!important}
  html.public-stable .vira-reference-page .public-nav-actions .btn-primary{display:none}
  html.public-stable .vira-reference-page .public-nav-actions .public-auth-link{display:none}
  html.public-stable .vira-reference-page .public-nav-mobile-auth{display:grid;gap:0;margin-top:8px;padding-top:8px;border-top:1px solid #d8d3ca}
  html.public-stable .vira-reference-page .public-nav-mobile-auth a{color:#1f1e1b;font:500 16px/1 var(--font-reading)}
  html.public-stable .vira-reference-page .public-nav-mobile-auth a:last-child{color:#bd5f46}
  html.public-stable .vira-ref-hero,html.public-stable .vira-ref-route-hero{grid-template-columns:minmax(0,1fr);gap:44px;padding:116px 24px 62px;min-height:auto;width:auto;margin-inline:0}
  html.public-stable .vira-ref-hero h1,html.public-stable .vira-ref-route-hero h1{font-size:clamp(58px,14vw,82px)}
  html.public-stable .vira-ref-chat{min-height:520px}
  html.public-stable .vira-ref-ecosystem{grid-template-columns:minmax(0,1fr);gap:42px;padding:84px 24px}
  html.public-stable .vira-ref-ecosystem-grid{grid-template-columns:minmax(0,1fr)}
  html.public-stable .vira-ref-manifesto{padding-inline:24px}
  html.public-stable .vira-ref-manifesto-row{grid-template-columns:70px minmax(0,1fr);gap:18px;padding:56px 0}
  html.public-stable .vira-ref-manifesto-row p{grid-column:2}
  html.public-stable .vira-ref-stats{grid-template-columns:repeat(2,minmax(0,1fr));padding:72px 24px}
  html.public-stable .vira-ref-stat{border-right:0}
  html.public-stable .vira-ref-stat:nth-child(2n){border-right:1px solid #d8d3ca}
  html.public-stable .vira-ref-footnote{margin:-52px 0 58px;padding:0 24px}
  html.public-stable .vira-ref-cta{margin:0 24px 80px}
  html.public-stable .vira-ref-catalog-workspace,html.public-stable .vira-ref-studio-library,html.public-stable .vira-ref-plan-grid,html.public-stable .vira-ref-comparison{width:auto;margin-inline:24px}
  html.public-stable .vira-ref-catalog-workspace{grid-template-columns:minmax(0,1fr);gap:34px;padding-top:48px;overflow:hidden}
  html.public-stable .vira-ref-catalog-workspace,html.public-stable .vira-ref-filters,html.public-stable .vira-ref-results{min-width:0}
  html.public-stable .vira-ref-filters{flex-direction:row;overflow-x:auto;overflow-y:hidden}
  html.public-stable .vira-ref-filters .section-kicker{display:none}
  html.public-stable .vira-ref-filters button{white-space:nowrap;border:1px solid #d8d3ca}
  html.public-stable .vira-ref-result-grid{grid-template-columns:minmax(0,1fr)}
  html.public-stable .vira-ref-studio-library>header{grid-template-columns:minmax(0,1fr)}
  html.public-stable .vira-ref-library-filters{overflow:auto}
  html.public-stable .vira-ref-library-filters button{white-space:nowrap}
  html.public-stable .vira-ref-studio-grid,html.public-stable .vira-ref-plan-grid{grid-template-columns:minmax(0,1fr)}
  html.public-stable .vira-ref-plan-card{min-height:auto}
  html.public-stable .vira-ref-billing{justify-content:flex-start}
  html.public-stable .vira-ref-plan-trust{margin:0 24px 80px;padding:52px 0}
  html.public-stable .vira-ref-doc-content{padding-inline:24px}
  html.public-stable .vira-ref-doc-nav{margin-top:0}
  html.public-stable .vira-ref-doc-topic{width:auto;margin-inline:24px;padding-bottom:80px}
  html.public-stable .vira-ref-doc-topic-grid{grid-template-columns:minmax(0,1fr)}
  html.public-stable .vira-ref-doc-reference-list>div{grid-template-columns:1fr;gap:8px}
  html.public-stable .vira-ref-recipe-grid{grid-template-columns:minmax(0,1fr)}
  html.public-stable .vira-reference-page .footer-top{grid-template-columns:minmax(0,1fr);gap:28px;padding-inline:24px}
  html.public-stable .vira-reference-page .public-footer{padding:72px 24px 24px}
  html.public-stable .vira-reference-page .footer-col{display:grid;gap:9px;align-content:start}
html.public-stable .vira-reference-page .footer-bottom{align-items:flex-start;flex-direction:column;gap:10px;padding-inline:24px}
}

html.public-stable .about-public-page .about-identity-section,
html.public-stable .about-public-page .principle-section{width:min(1304px,calc(100% - 96px));margin-inline:auto}
html.public-stable .about-public-page .home-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr));border-left:1px solid #d8d3ca}
html.public-stable .about-public-page .home-proof-card{grid-column:auto;min-width:0}
html.public-stable .about-public-page .home-proof-card h3{max-width:none}

/* About and other reference pages keep the same compact mobile shell as the
   rest of the public product pages. The actions stay on one row; secondary
   links move into the menu instead of wrapping into the document flow. */
@media(max-width:820px){
  html.public-stable .vira-reference-page .public-nav{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:68px;padding:12px 18px;flex-wrap:nowrap}
  html.public-stable .vira-reference-page .public-nav .logo{min-width:0}
  html.public-stable .vira-reference-page .public-nav-actions{justify-self:end;min-width:0;display:flex;align-items:center;gap:8px}
  html.public-stable .vira-reference-page .public-nav-actions .public-auth-link{display:none!important}
  html.public-stable .vira-reference-page .public-nav-actions .lang-select{flex:0 0 auto}
  html.public-stable .vira-reference-page .public-nav-actions .lang-trigger{min-height:44px;padding-inline:9px;white-space:nowrap}
  html.public-stable .vira-reference-page .public-nav-actions .public-menu{display:grid!important;place-items:center;width:44px;height:44px;min-width:44px;padding:0}
  html.public-stable .vira-reference-page .about-public-page .vira-ref-route-hero h1{font-size:clamp(46px,13vw,70px);line-height:.96;text-wrap:balance}
  html.public-stable .about-public-page .about-identity-section,html.public-stable .about-public-page .principle-section{width:calc(100% - 48px);margin-inline:auto}
  html.public-stable .about-public-page .home-proof-grid{grid-template-columns:minmax(0,1fr);border-left:1px solid #d8d3ca}
  html.public-stable .about-public-page .home-proof-card{grid-column:auto;min-width:0;padding:24px}
  html.public-stable .about-public-page .home-proof-card h3{max-width:none;font-size:32px;line-height:1}
  html.public-stable .about-public-page .public-footer{width:100%;box-sizing:border-box;overflow:hidden}
  html.public-stable .about-public-page .footer-top{grid-template-columns:minmax(0,1fr);min-width:0}
  html.public-stable .about-public-page .footer-col{min-width:0}
  html.public-stable .about-public-page .footer-col a{min-width:0;overflow-wrap:anywhere}
  html.public-stable .about-public-page .footer-col a[href^="mailto:"] small{overflow-wrap:anywhere}
}

/* Keep contact and compliance groups readable instead of letting addresses
   collapse into narrow character stacks on desktop. */
@media(min-width:821px){
  html.public-stable .vira-reference-page .footer-top{grid-template-columns:minmax(240px,1.45fr) minmax(110px,.72fr) minmax(120px,.8fr) minmax(300px,1.85fr) minmax(250px,1.5fr);gap:clamp(28px,3.2vw,62px)}
  html.public-stable .vira-reference-page .footer-col a[href^="mailto:"] small{white-space:nowrap;overflow-wrap:normal}
}

html.public-stable .contextual-contact-line{max-width:1304px;margin:0 auto 72px;padding:22px 24px;border-top:1px solid #d8d3ca;border-bottom:1px solid #d8d3ca;color:#6c6861;font:400 15px/1.6 var(--font-reading)}
html.public-stable .contextual-contact-line a{color:#1f1e1b;font-family:var(--font-mono)}

@media(max-width:820px){
  html.public-stable .vira-ref-ui-hero{grid-template-columns:minmax(0,1fr);gap:30px;padding-bottom:58px}
  html.public-stable .vira-ref-ui-hero-note{padding-bottom:0}
  html.public-stable .vira-ref-ui-hero-note p{font-size:17px}
  html.public-stable .vira-ref-ui-showcase{grid-template-columns:minmax(0,1fr);margin-inline:24px}
  html.public-stable .vira-ref-ui-prompt-column{padding:34px 20px 22px;border-right:0;border-bottom:1px solid #d8d3ca}
  html.public-stable .vira-ref-prompt-list button{min-height:78px;padding:16px;font-size:15px}
  html.public-stable .vira-ref-recipe-window-bar{padding-inline:20px}
  html.public-stable .vira-ref-ui-showcase .vira-ref-recipe{min-height:0;padding:34px 22px 40px}
  html.public-stable .vira-ref-ui-showcase .vira-ref-recipe h2{font-size:38px}
  html.public-stable .vira-ref-ui-showcase .vira-ref-recipe-grid{grid-template-columns:minmax(0,1fr);gap:28px}
  html.public-stable .vira-ref-genui-columns,.vira-ref-genui-day-grid{grid-template-columns:minmax(0,1fr)}
  html.public-stable .vira-ref-ui-cta{display:grid;gap:30px;margin-inline:24px;padding:72px 0 86px}
  html.public-stable .vira-ref-ui-cta a{min-width:0;width:100%}
}

/* The hero demo is a real conversation first: one prompt, one assistant
   response, and a useful GenUI artifact. It intentionally avoids carousel
   timing, decorative product labels, and tiny metadata. */
html.public-stable .vira-ref-chat{display:flex;min-height:548px;flex-direction:column;justify-content:flex-start;padding:24px;background:#efede7;color:#1f1e1b;box-shadow:0 18px 40px rgba(31,30,27,.08)}
html.public-stable .vira-ref-chat-messages{display:grid;gap:28px}
html.public-stable .vira-ref-chat-message{display:flex;align-items:flex-start}
html.public-stable .vira-ref-chat-user{justify-content:flex-end}
html.public-stable .vira-ref-chat-bubble{max-width:88%;padding:14px 18px;border-radius:18px 18px 4px 18px;background:#1f1e1b;color:#f7f6f2}
html.public-stable .vira-ref-chat-bubble p,html.public-stable .vira-ref-chat-reply{margin:0;color:inherit;font:400 clamp(17px,1.15vw,19px)/1.5 var(--font-reading)}
html.public-stable .vira-ref-chat-message .vira-ref-chat-bubble p,html.public-stable .vira-ref-chat-message .vira-ref-chat-reply{max-width:none;margin:0;color:#4f4b45;font:400 clamp(17px,1.15vw,19px)/1.5 var(--font-reading)}
html.public-stable .vira-ref-chat-message .vira-ref-chat-bubble p{color:#f7f6f2}
html.public-stable .vira-ref-chat-assistant{gap:12px}
html.public-stable .vira-ref-chat-avatar{flex-basis:34px;width:34px;height:34px;border:1px solid #d8d3ca;border-radius:50%;background:#bd5f46;color:#f7f6f2;font-size:12px}
html.public-stable .vira-ref-chat-response{display:grid;gap:14px;min-width:0;flex:1}
html.public-stable .vira-ref-chat-card{padding:20px;border:1px solid #d8d3ca;background:#fff;color:#1f1e1b;box-shadow:0 8px 18px rgba(31,30,27,.05)}
html.public-stable .vira-ref-chat-card header{padding-bottom:16px}
html.public-stable .vira-ref-chat-card header strong{font-size:27px}
html.public-stable .vira-ref-chat-card header span{font-size:13px}
html.public-stable .vira-ref-chat-card ul{padding-top:10px}
html.public-stable .vira-ref-chat-card li{grid-template-columns:1fr;gap:0;padding:11px 0;font-size:15px;line-height:1.45}
html.public-stable .vira-ref-chat-card li::before{display:block;margin-bottom:4px;color:#bd5f46;content:"✳";font:600 11px/1 var(--font-mono)}
html.public-stable .vira-ref-chat-card footer{margin-top:14px;padding-top:14px;font-size:11px}
html.public-stable .vira-ref-chat-card footer button{font-size:13px}
html.public-stable .vira-ref-chat-composer{display:flex;align-items:center;justify-content:space-between;min-height:50px;margin-top:24px;padding:0 10px 0 18px;border:1px solid #c9c3b9;border-radius:26px;background:#fff;color:#8b857c;font:400 15px/1 var(--font-reading)}
html.public-stable .vira-ref-chat-composer b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#1f1e1b;color:#f7f6f2;font:600 18px/1 var(--font-reading)}

@media(max-width:820px){
  html.public-stable .vira-ref-chat{min-height:560px;padding:18px 16px 16px}
  html.public-stable .vira-ref-chat-bubble{max-width:92%}
  html.public-stable .vira-ref-chat-bubble p,html.public-stable .vira-ref-chat-reply{font-size:16px}
  html.public-stable .vira-ref-chat-card header strong{font-size:24px}
}

/* Comparison demo: two purposeful timelines communicate the product story.
   Others resolve to text; Vira resolves to an interactive GenUI artifact. */
html.public-stable .vira-ref-chat-demo{min-height:548px;padding:18px;background:#f0eee9;color:#1f1e1b}
html.public-stable .vira-ref-chat-stage{position:relative;min-height:454px}
html.public-stable .vira-ref-chat-scene{position:absolute;inset:0;opacity:0;transform:translateY(10px);animation-duration:14s;animation-timing-function:cubic-bezier(.4,0,.2,1);animation-iteration-count:infinite;animation-fill-mode:both}
html.public-stable .vira-ref-chat-scene-other{animation-name:ref-compare-other}
html.public-stable .vira-ref-chat-scene-vira{animation-name:ref-compare-vira}
html.public-stable .vira-ref-chat-demo header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:26px;padding-bottom:13px;border-bottom:1px solid #d8d3ca}
html.public-stable .vira-ref-chat-demo header strong{font:600 15px/1 var(--font-reading);letter-spacing:.02em}
html.public-stable .vira-ref-chat-demo header span{color:#8c867d;font:600 10px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}
html.public-stable .vira-ref-chat-status{display:inline-flex;align-items:center;min-height:22px;color:#8c867d;font:600 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
html.public-stable .vira-ref-chat-steps{display:flex;gap:6px;margin:-8px 0 2px;padding-bottom:10px;border-bottom:1px solid #d8d3ca}
html.public-stable .vira-ref-chat-step{display:inline-flex;align-items:center;gap:4px;color:#8c867d;font:600 9px/1 var(--font-mono);letter-spacing:.04em}
html.public-stable .vira-ref-chat-step b{display:grid;place-items:center;width:17px;height:17px;border:1px solid #c9c3b9;font-size:8px;font-weight:600}
html.public-stable .vira-ref-chat-step.is-active{color:#bd5f46}
html.public-stable .vira-ref-chat-step.is-active b{border-color:#bd5f46;background:#bd5f46;color:#fff}
html.public-stable .vira-ref-chat-thread{display:grid;gap:26px}
html.public-stable .vira-ref-chat-demo-user{display:flex;justify-content:flex-end}
html.public-stable .vira-ref-chat-demo-user p{max-width:88%;margin:0;padding:13px 15px;border-radius:17px 17px 4px 17px;background:#1f1e1b;color:#f7f6f2;font:400 16px/1.45 var(--font-reading)}
html.public-stable .vira-ref-chat-demo-assistant{display:flex;gap:10px;align-items:flex-start}
html.public-stable .vira-ref-chat-demo-assistant>div{min-width:0;flex:1}
html.public-stable .vira-ref-chat-demo-avatar{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#d8d3ca;color:#5d5851;font:700 13px/1 var(--font-mono)}
html.public-stable .vira-ref-chat-demo-avatar-vira{background:#bd5f46;color:#f7f6f2}
html.public-stable .vira-ref-chat-typing{display:flex;align-items:center;gap:4px;color:#8c867d;font:500 12px/1.4 var(--font-mono)}
html.public-stable .vira-ref-chat-typing i{width:4px;height:4px;border-radius:50%;background:#bd5f46;animation:ref-typing-dot 900ms ease-in-out infinite}
html.public-stable .vira-ref-chat-typing i:nth-child(2){animation-delay:120ms}
html.public-stable .vira-ref-chat-typing i:nth-child(3){animation-delay:240ms}
html.public-stable .vira-ref-chat-plain-reply{max-width:95%;margin:13px 0 0;color:#4f4b45;font:400 16px/1.55 var(--font-reading);opacity:0;animation:ref-compare-plain 14s ease-in-out infinite}
html.public-stable .vira-ref-chat-genui{display:grid;gap:8px;margin-top:13px;padding:17px;border:1px solid #d8d3ca;background:#fff;box-shadow:0 8px 18px rgba(31,30,27,.06);opacity:0;transform:translateY(8px);animation:ref-compare-genui 14s ease-in-out infinite}
html.public-stable .vira-ref-chat-genui>span{color:#bd5f46;font:700 10px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase}
html.public-stable .vira-ref-chat-genui strong{font:500 25px/1 var(--public-serif);letter-spacing:-.04em}
html.public-stable .vira-ref-chat-genui small{color:#777168;font:500 11px/1.3 var(--font-mono)}
html.public-stable .vira-ref-chat-genui ul{display:grid;gap:0;margin:5px 0 0;padding:0;list-style:none;border-top:1px solid #e3ded6}
html.public-stable .vira-ref-chat-genui li{padding:8px 0;border-bottom:1px solid #e3ded6;color:#5d5851;font:400 13px/1.35 var(--font-reading)}
html.public-stable .vira-ref-chat-genui li label{display:flex;align-items:flex-start;gap:8px;cursor:pointer}
html.public-stable .vira-ref-chat-genui li input{accent-color:#bd5f46;margin:2px 0 0}
html.public-stable .vira-ref-chat-genui li input:checked+span{text-decoration:line-through;text-decoration-color:#bd5f46;color:#8c867d}
html.public-stable .vira-ref-chat-genui button{justify-self:start;margin-top:6px;padding:8px 12px;border:0;background:#bd5f46;color:#fff;font:600 12px/1 var(--font-reading);transition:background .2s ease,transform .2s ease}
html.public-stable .vira-ref-chat-genui button:hover,html.public-stable .vira-ref-chat-genui button:focus-visible{background:#913f2c;transform:translateY(-1px)}
html.public-stable .vira-ref-chat-genui button.is-open{background:#596b4b}
html.public-stable .vira-ref-chat-genui em{color:#8c867d;font:500 10px/1.3 var(--font-mono);font-style:normal;opacity:0;animation:ref-compare-interact 14s ease-in-out infinite}
html.public-stable .vira-ref-chat-genui.is-open{border-color:#a7b49a;box-shadow:0 8px 18px rgba(89,107,75,.12)}
html.public-stable .vira-ref-chat-demo-composer{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 10px 0 16px;border:1px solid #c9c3b9;border-radius:25px;background:#fff;color:#8b857c;font:400 14px/1 var(--font-reading)}
html.public-stable .vira-ref-chat-demo-composer b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#1f1e1b;color:#f7f6f2;font:600 17px/1 var(--font-reading)}
html.public-stable .vira-ref-chat-demo:hover .vira-ref-chat-scene,html.public-stable .vira-ref-chat-demo:focus-within .vira-ref-chat-scene{animation-play-state:paused}
@keyframes ref-compare-other{0%,5%{opacity:0;transform:translateY(10px)}10%,43%{opacity:1;transform:translateY(0)}49%,100%{opacity:0;transform:translateY(-8px)}}
@keyframes ref-compare-vira{0%,49%{opacity:0;transform:translateY(10px)}55%,94%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-8px)}}
@keyframes ref-compare-plain{0%,17%{opacity:0;transform:translateY(5px)}21%,43%{opacity:1;transform:translateY(0)}49%,100%{opacity:0}}
@keyframes ref-compare-genui{0%,63%{opacity:0;transform:translateY(8px)}69%,94%{opacity:1;transform:translateY(0)}100%{opacity:0}}
@keyframes ref-compare-interact{0%,82%{opacity:0}86%,94%{opacity:1}}
@keyframes ref-compare-click{0%,82%{transform:scale(1)}86%{transform:scale(.96)}90%,94%{transform:scale(1)}}
@keyframes ref-typing-dot{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}

@media(max-width:820px){
  html.public-stable .vira-ref-chat-demo{min-height:560px;padding:16px}
  html.public-stable .vira-ref-chat-stage{min-height:468px}
  html.public-stable .vira-ref-chat-demo-user p,html.public-stable .vira-ref-chat-plain-reply{font-size:15px}
}

@media(prefers-reduced-motion:reduce){
  html.public-stable .vira-ref-chat-pulse,html.public-stable .vira-ref-ticker-track{animation:none}
  html.public-stable .vira-ref-chat-scene{animation:none;opacity:0;transform:none}
  html.public-stable .vira-ref-chat-scene:first-child{opacity:1}
  html.public-stable .vira-ref-chat-demo .vira-ref-chat-scene{display:none;animation:none;opacity:1;transform:none}
  html.public-stable .vira-ref-chat-demo .vira-ref-chat-scene-vira{display:block}
  html.public-stable .vira-ref-chat-demo .vira-ref-chat-typing,html.public-stable .vira-ref-chat-demo .vira-ref-chat-plain-reply,html.public-stable .vira-ref-chat-demo .vira-ref-chat-genui,html.public-stable .vira-ref-chat-demo .vira-ref-chat-genui em{animation:none;opacity:1;transform:none}
  html.public-stable .vira-ref-chat-demo .vira-ref-chat-typing{display:none}
}

/* ==========================================================================
   Source: blog.css
   ========================================================================== */
html.public-stable .blog-page{min-height:100vh;background:var(--public-paper);color:var(--public-ink);font-family:var(--font-reading)}
.blog-nav{display:flex;align-items:center;justify-content:space-between;width:min(1120px,calc(100vw - 64px));min-height:80px;margin:auto;border-bottom:1px solid var(--public-rule)}
.blog-brand{color:var(--public-ink);font:700 25px/1 var(--display);letter-spacing:-.08em}.blog-nav nav{display:flex;gap:25px}.blog-nav a,.blog-footer a{color:var(--public-ink);font-size:13px}.blog-nav a:hover,.blog-footer a:hover,.blog-read,.blog-back{color:var(--public-rust)}
.blog-index,.blog-article{width:min(1120px,calc(100vw - 64px));margin:auto}.blog-index-hero{max-width:790px;padding:clamp(76px,10vw,140px) 0 80px}.blog-kicker{display:block;color:var(--public-rust);font:700 10px/1.3 var(--font-mono);letter-spacing:.14em}.blog-index h1,.blog-article h1{margin:18px 0 20px;font:400 clamp(47px,6vw,82px)/.95 var(--public-serif);letter-spacing:-.065em}.blog-index-hero p{max-width:620px;color:var(--public-muted);font-size:19px;line-height:1.65}.blog-card-grid{border-top:1px solid var(--public-rule);padding:42px 0 120px}.blog-card{max-width:700px;padding:10px 0 0}.blog-card h2{margin:17px 0 12px;font:400 clamp(30px,4vw,48px)/1.03 var(--public-serif);letter-spacing:-.05em}.blog-card h2 a{color:var(--public-ink)}.blog-card p{max-width:620px;color:var(--public-muted);font-size:16px;line-height:1.7}.blog-read{display:inline-block;margin-top:15px;font-weight:600}.blog-footer{display:flex;justify-content:space-between;width:min(1120px,calc(100vw - 64px));padding:25px 0 45px;margin:auto;border-top:1px solid var(--public-rule);color:var(--public-muted);font-size:12px}
.blog-back{display:inline-block;margin:55px 0 35px;font-size:13px}.blog-article article>header{max-width:850px;border-bottom:1px solid var(--public-rule);padding-bottom:55px}.blog-lead{max-width:760px;margin:0;color:var(--public-muted);font-size:21px;line-height:1.65}.blog-content{display:grid;grid-template-columns:220px minmax(0,680px);gap:70px;padding:55px 0 120px}.blog-content aside{display:grid;align-content:start;gap:12px;color:var(--public-muted);font:11px/1.45 var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.blog-content aside a{color:var(--public-ink);font:14px/1.45 var(--font-reading);letter-spacing:0;text-transform:none}.blog-content h2{margin:0 0 13px;font:500 30px/1.1 var(--public-serif);letter-spacing:-.04em}.blog-content p,.blog-content li{color:var(--public-muted);font-size:17px;line-height:1.8}.blog-content section{margin-top:48px}.blog-content section:first-of-type{margin-top:40px}.blog-takeaways{padding:28px 30px;background:var(--public-tint);border-left:3px solid var(--public-rust)}.blog-takeaways ul{margin:0;padding-left:22px}
.blog-content h3{margin:27px 0 8px;color:var(--public-ink);font:600 17px/1.3 var(--font-reading)}.blog-faq{border-top:1px solid var(--public-rule);padding-top:10px}.blog-faq details{border-bottom:1px solid var(--public-rule);padding:17px 0}.blog-faq summary{cursor:pointer;color:var(--public-ink);font:600 16px/1.4 var(--font-reading)}.blog-faq details p{margin:13px 0 0;font-size:15px}
.blog-playbook-item{margin:0 0 24px;padding-left:26px}.blog-playbook-item li{margin:9px 0;font-size:15px;line-height:1.7}
@media(max-width:700px){.blog-nav,.blog-index,.blog-article,.blog-footer{width:calc(100vw - 32px)}.blog-nav nav{gap:11px}.blog-nav nav a{font-size:11px}.blog-content{grid-template-columns:1fr;gap:30px}.blog-content aside{display:none}.blog-index-hero{padding-top:65px}.blog-index h1,.blog-article h1{font-size:49px}.blog-lead{font-size:18px}}

/* ==========================================================================
   Source: app-inner-reference.css
   ========================================================================== */
/*
   Vira inner app surface
   Direction: editorial workspace — quiet parchment, ink typography, terracotta
   wayfinding, and framed data surfaces. This layer changes presentation only;
   feature modules continue to own their data states and controls.
*/

.app-shell {
  --inner-bg:#f7f6f2;
  --inner-surface:#fffdf9;
  --inner-soft:#efede7;
  --inner-line:#d8d3ca;
  --inner-ink:#1f1e1b;
  --inner-muted:#6c6861;
  --inner-accent:#bd5f46;
  background:var(--inner-bg);
  color:var(--inner-ink);
}

.app-shell .sidebar {
  background:#efede7;
  border-inline-end:1px solid var(--inner-line);
}

.app-shell .sidebar-top { padding-bottom:22px; }
.app-shell .sidebar .logo-word {
  color:var(--inner-ink);
  font:500 25px/1 var(--public-serif);
  letter-spacing:-.06em;
}
.app-shell .sidebar .logo-word::after {
  display:inline-block;
  width:6px;
  height:6px;
  margin-inline-start:2px;
  border-radius:50%;
  background:var(--inner-accent);
  content:"";
}
.app-shell .sidebar .logo-mark { display:none; }

.app-shell .new-chat {
  min-height:46px;
  margin-bottom:24px;
  border-color:var(--inner-ink);
  border-radius:0;
  background:var(--inner-ink);
  box-shadow:none;
  font-weight:600;
}
.app-shell .new-chat:hover { background:#383630; border-color:#383630; }
.app-shell .nav-group { margin-top:22px; }
.app-shell .nav-label {
  padding-inline:11px;
  color:#928b82;
  font:600 10px/1 var(--font-mono);
  letter-spacing:.16em;
}
.app-shell .nav-link {
  min-height:42px;
  border-radius:0;
  color:#68645d;
  font-weight:600;
}
.app-shell .nav-link:hover { background:#e5e1d9; color:var(--inner-ink); }
.app-shell .nav-link.active {
  background:var(--inner-surface);
  color:var(--inner-ink);
  box-shadow:none;
}
.app-shell .nav-link.active::before { background:var(--inner-accent); }
.app-shell .sidebar-profile { border-radius:0; }
.app-shell .sidebar-profile:hover { background:#e5e1d9; border-color:transparent; }
.app-shell .avatar { border-radius:50%; background:#397568; }

.app-shell .topbar {
  height:78px;
  background:rgba(247,246,242,.94);
  border-bottom:1px solid var(--inner-line);
  padding-inline:clamp(24px,4vw,64px);
}
.app-shell .topbar-title {
  color:var(--inner-ink);
  font:500 14px/1 var(--font-reading);
  letter-spacing:.01em;
}
.app-shell .topbar-title a { color:var(--inner-muted); }
.app-shell .topbar-title a:hover { color:var(--inner-accent); }
.app-shell .topbar-right { gap:12px; }
.app-shell .connection-state { color:var(--inner-muted); font-size:12px; }
.app-shell .lang-trigger { height:40px; border-radius:0; background:transparent; border-color:var(--inner-line); }
.app-shell .lang-trigger:hover { background:var(--inner-surface); border-color:var(--inner-ink); }
.app-shell .topbar-right>.btn-icon { border-radius:0; }

.app-shell .app-page:not(.chat-page) {
  width:min(100%,1320px);
  max-width:1320px;
  padding:clamp(30px,4.5vw,70px) clamp(24px,4vw,64px) 100px;
}
.app-shell .app-page:has(.notification-list),
.app-shell .app-page:has(.settings-layout),
.app-shell .app-page:has(.feedback-grid),
.app-shell .app-page:has(.privacy-controls) { max-width:1320px; }

.app-shell .app-page > .page-head {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:28px;
  margin:0 0 42px;
  padding:0 0 28px;
  border-bottom:1px solid var(--inner-line);
}
.app-shell .page-head-copy { min-width:0; }
.app-shell .page-head-kicker {
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:20px;
  color:#928b82;
  font:600 10px/1 var(--font-mono);
  letter-spacing:.2em;
  text-transform:uppercase;
}
.app-shell .page-head-kicker::before {
  width:28px;
  height:1px;
  background:var(--inner-accent);
  content:"";
}
.app-shell .app-page > .page-head h1 {
  max-width:11ch;
  margin:0;
  color:var(--inner-ink);
  font:400 clamp(48px,5vw,76px)/.9 var(--public-serif);
  letter-spacing:-.075em;
}
.app-shell .app-page > .page-head p {
  max-width:62ch;
  margin:18px 0 0;
  color:var(--inner-muted);
  font:400 15px/1.7 var(--font-reading);
  letter-spacing:0;
}
.app-shell .page-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:9px; }
.app-shell .page-actions .btn { border-radius:0; }
.app-shell .btn-primary { background:var(--inner-ink); border-color:var(--inner-ink); box-shadow:none; }
.app-shell .btn-primary:hover { background:#383630; border-color:#383630; }
.app-shell .btn-outline,.app-shell .btn-soft,.app-shell .btn-danger { border-radius:0; box-shadow:none; }
.app-shell .btn-soft { background:transparent; border-color:var(--inner-line); }
.app-shell .btn-soft:hover { background:var(--inner-soft); border-color:var(--inner-ink); }

.app-shell .app-page > .empty-state,
.app-shell .app-page > .error-state {
  width:100%;
  max-width:none;
  min-height:330px;
  margin:0;
  padding:clamp(28px,5vw,64px);
  border:1px solid var(--inner-line);
  border-radius:0;
  background:var(--inner-surface);
  box-shadow:none;
}
.app-shell .error-state > div:first-child,
.app-shell .empty-state .empty-icon {
  width:38px;
  height:38px;
  margin-bottom:24px;
  border:0;
  border-radius:0;
  background:var(--inner-soft);
  color:var(--inner-accent);
}
.app-shell .app-page > .empty-state b,
.app-shell .app-page > .error-state b {
  display:block;
  max-width:16ch;
  color:var(--inner-ink);
  font:400 clamp(32px,4vw,54px)/.96 var(--public-serif);
  letter-spacing:-.06em;
}
.app-shell .app-page > .empty-state p,
.app-shell .app-page > .error-state p { max-width:52ch; margin:15px 0 25px; color:var(--inner-muted); font:400 15px/1.7 var(--font-reading); }
.app-shell .app-page > .error-state small { color:#928b82; }
.app-shell .app-page > .error-state { display:grid; grid-template-columns:46px minmax(0,1fr); gap:22px; align-items:start; }
.app-shell .error-state-icon { display:grid; place-items:center; width:46px; height:46px; margin:0!important; border:1px solid var(--inner-line)!important; background:var(--inner-soft)!important; color:var(--inner-accent); }
.app-shell .error-state-icon .icon { width:21px; height:21px; }
.app-shell .error-state-copy { min-width:0; }
.app-shell .error-state-kicker { display:block; margin-bottom:18px; color:#928b82; font:600 10px/1 var(--font-mono); letter-spacing:.16em; text-transform:uppercase; }
.app-shell .error-state-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:26px; }
.app-shell .error-state-actions .btn { border-radius:0; }

.app-shell .card,
.app-shell .stat,
.app-shell .settings-panel,
.app-shell .settings-nav,
.app-shell .project-truth-panel,
.app-shell .account-truth-notice {
  border-color:var(--inner-line);
  border-radius:0;
  background:var(--inner-surface);
  box-shadow:none;
}
.app-shell .card-head { margin-bottom:24px; }
.app-shell .card-head h2,
.app-shell .card-head h3 { color:var(--inner-ink); font-family:var(--public-serif); font-weight:500; letter-spacing:-.035em; }
.app-shell .card-head p { color:var(--inner-muted); font-family:var(--font-reading); }

/* Projects: a framed catalogue grid. */
.app-shell .projects-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  border:1px solid var(--inner-line);
  background:var(--inner-line);
}
.app-shell .projects-grid .project-card { min-height:260px; padding:30px; border:0; border-radius:0; background:var(--inner-bg); }
.app-shell .projects-grid .project-card:hover { background:var(--inner-surface); }
.app-shell .project-card-top { display:flex; justify-content:space-between; gap:16px; }
.app-shell .project-card .project-icon { width:34px; height:34px; border:1px solid var(--inner-line); border-radius:0; background:transparent; color:var(--inner-accent); }
.app-shell .project-card h2 { margin:34px 0 10px; color:var(--inner-ink); font:500 30px/1 var(--public-serif); letter-spacing:-.055em; }
.app-shell .project-card p { max-width:35ch; min-height:46px; color:var(--inner-muted); font:400 14px/1.6 var(--font-reading); }
.app-shell .project-card footer { border-top:1px solid var(--inner-line); }

/* Outputs and tools: visual libraries with the same one-pixel editorial frame. */
.app-shell .output-library-list,
.app-shell .tools-grid,
.app-shell .memory-list { gap:1px; border:1px solid var(--inner-line); background:var(--inner-line); }
.app-shell .output-library-row,
.app-shell .tool-card,
.app-shell .memory-fact { border:0; border-radius:0; background:var(--inner-bg); box-shadow:none; }
.app-shell .output-library-row:hover,
.app-shell .tool-card:hover,
.app-shell .memory-fact:hover { background:var(--inner-surface); }
.app-shell .output-library-icon { background:var(--inner-soft); color:var(--inner-accent); }
.app-shell .output-library-copy b,
.app-shell .tool-card-copy h2,
.app-shell .memory-fact-value { font-family:var(--public-serif); font-weight:500; letter-spacing:-.04em; }
.app-shell .output-filterbar,
.app-shell .tools-filterbar,
.app-shell .filterbar { border-color:var(--inner-line); border-radius:0; background:transparent; }
.app-shell .searchbox { border-radius:0; background:var(--inner-surface); border-color:var(--inner-line); }
.app-shell .filter-tabs { border-radius:0; }
.app-shell .filter-tabs button { border-radius:0; }
.app-shell .filter-tabs button.active { background:var(--inner-ink); color:var(--inner-surface); }
.app-shell .output-empty-guidance { display:grid; grid-column:1/-1; width:100%; box-sizing:border-box; gap:20px; justify-items:start; padding:34px; background:var(--inner-bg); }
.app-shell .output-empty-guidance .empty-state { padding:0; text-align:left; }
.app-shell .output-empty-guidance .empty-icon { display:none; }
.app-shell .output-empty-guidance b { font:500 30px/1 var(--public-serif); letter-spacing:-.04em; }
.app-shell .output-empty-guidance p { margin:10px 0 0; }
.app-shell .output-empty-actions { display:flex; flex-wrap:wrap; gap:9px; }
.app-shell .output-empty-actions .btn { border-radius:0; }

/* History, notifications and account controls use quiet ledger rows. */
.app-shell .history-group,
.app-shell .notification-group,
.app-shell .settings-panel,
.app-shell .account-control-page .card { border:1px solid var(--inner-line); border-radius:0; background:var(--inner-surface); }
.app-shell .history-group-title,
.app-shell .notification-group h2 { padding:18px 22px; margin:0; border-bottom:1px solid var(--inner-line); color:#928b82; font:600 10px/1 var(--font-mono); letter-spacing:.18em; text-transform:uppercase; }
.app-shell .history-item,
.app-shell .notification-item { border-radius:0; border-color:var(--inner-line); background:transparent; }
.app-shell .history-item:hover,
.app-shell .notification-item:hover { background:var(--inner-bg); }

/* Settings/account: a two-column reading layout rather than a dashboard wall. */
.app-shell .settings-layout { gap:36px; align-items:start; }
.app-shell .settings-nav { padding:10px; }
.app-shell .settings-nav button { border-radius:0; color:var(--inner-muted); }
.app-shell .settings-nav button.active { background:var(--inner-ink); color:var(--inner-surface); }
.app-shell .settings-panel { padding:clamp(24px,4vw,44px); }
.app-shell .setting-row { border-color:var(--inner-line); }
.app-shell .setting-row b { font-family:var(--font-reading); font-weight:650; }
.app-shell .setting-row p,
.app-shell .setting-row small { color:var(--inner-muted); font-family:var(--font-reading); }
.app-shell .settings-save-row { border-top-color:var(--inner-line); }
.app-shell .account-control-header { border-color:var(--inner-line); }
.app-shell .account-control-layout { gap:42px; }
.app-shell .account-suite-nav a.active { border-radius:0; background:var(--inner-surface); border-color:var(--inner-line); }
.app-shell .account-nav-index { border-radius:0; }

/* Chat keeps its focused composer, but inherits the same paper/ink grammar. */
.app-shell .chat-page { background:var(--inner-bg); }
.app-shell .chat-head { background:var(--inner-bg); border-bottom-color:var(--inner-line); }
.app-shell .chat-empty h1 { color:var(--inner-ink); font-family:var(--public-serif); }
.app-shell .chat-empty-label { border-radius:0; background:var(--inner-soft); }
.app-shell .chat-empty .prompt-card { border-radius:0; background:var(--inner-surface); border-color:var(--inner-line); }
.app-shell .chat-empty .prompt-card:hover { background:var(--inner-soft); }
.app-shell .composer { border-radius:0; background:var(--inner-surface); border-color:var(--inner-line); box-shadow:none; }

@media(max-width:840px) {
  .app-shell .app-page:not(.chat-page) { padding:30px 20px 92px; }
  .app-shell .topbar { height:68px; padding-inline:18px; }
  .app-shell .projects-grid { grid-template-columns:1fr; }
}

@media(max-width:580px) {
  .app-shell .app-page:not(.chat-page) { padding:24px 14px 82px; }
  .app-shell .app-page > .page-head { grid-template-columns:1fr; gap:22px; margin-bottom:28px; padding-bottom:22px; }
  .app-shell .app-page > .page-head h1 { font-size:clamp(44px,14vw,60px); }
  .app-shell .page-actions { justify-content:flex-start; }
  .app-shell .app-page > .error-state { grid-template-columns:1fr; gap:16px; }
  .app-shell .error-state-actions { align-items:stretch; flex-direction:column; }
  .app-shell .error-state-actions .btn { width:100%; justify-content:center; }
  .app-shell .projects-grid .project-card { min-height:220px; padding:22px; }
  .app-shell .settings-layout { grid-template-columns:1fr; }
}

@media(prefers-reduced-motion:reduce) {
  .app-shell .project-card,
  .app-shell .output-library-row,
  .app-shell .tool-card,
  .app-shell .memory-fact { transition:none!important; }
}

/* ==========================================================================
   Source: brand.css
   ========================================================================== */
.logo { display:inline-flex; align-items:center; gap:9px; min-width:max-content; }

/* Canonical Vira mark owner. The mark is a three-part open path: a stable
   dark frame, a human-facing light entry, and a warm forward route. */
.logo-mark,
html.public-stable .public-nav .logo-mark,
html.public-stable .public-footer .logo-mark,
html.public-stable .auth-header .logo-mark {
  display:block!important;
  flex:0 0 32px;
  width:32px;
  height:32px;
  object-fit:contain;
}

.logo-word { font-size:20px; font-weight:850; line-height:1; letter-spacing:-.055em; }
.public-nav .logo,.public-footer .logo,.auth-header .logo { gap:10px; }

html.public-stable .public-nav .logo-mark { flex-basis:36px; width:36px; height:36px; }
.sidebar .logo-mark { flex-basis:30px; width:30px; height:30px; }

.logo:focus-visible .logo-mark { outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent); outline-offset:3px; }

@media(max-width:760px) {
  .logo-mark,
  html.public-stable .public-nav .logo-mark,
  html.public-stable .public-footer .logo-mark,
  html.public-stable .auth-header .logo-mark { flex-basis:29px; width:29px; height:29px; }
  .logo-word { font-size:18px; }
}
