@import"https://fonts.googleapis.com/css2?family=Ubuntu:wght@300;400;500;700&family=JetBrains+Mono:wght@400;500;700&display=swap";@layer app-reset,fwfa.tokens,fwfa.base,fwfa.components,fwfa.patterns;@font-face{font-family:Wonder Unit Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/WonderUnitSans-Regular.woff2) format("woff2")}@font-face{font-family:Wonder Unit Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/WonderUnitSans-Bold.woff2) format("woff2")}:root{--oe-gold-dark: color-mix(in srgb, var(--fwfa-fwf-yellow) 80%, black);--colour-action-primary: var(--fwfa-text);--colour-action-primary-strong: var(--fwfa-primary-hover);--colour-action-ink: var(--fwfa-app-navy-950);--colour-text-primary: var(--fwfa-text);--colour-surface-base: var(--fwfa-surface);--colour-surface-base-rgb: 2, 26, 38;--colour-text-strong: var(--fwfa-text-soft);--colour-text-muted: var(--fwfa-text-muted);--colour-text-subtle: var(--fwfa-text-faint);--colour-border-muted: var(--fwfa-border);--colour-surface-muted: var(--fwfa-shell-bg-muted);--colour-surface-soft: color-mix(in srgb, var(--fwfa-accent-calm) 16%, transparent);--colour-surface-wash: var(--fwfa-page-bg-soft);--colour-surface-ink: var(--fwfa-shell-bg);--colour-surface-hover-soft: var(--fwfa-surface-hover);--colour-action-tint-strong: color-mix(in srgb, var(--fwfa-accent) 14%, transparent);--colour-action-tint: color-mix(in srgb, var(--fwfa-accent) 8%, transparent);--colour-accent-plum: var(--fwfa-accent-calm);--colour-status-danger: var(--fwfa-danger);--colour-accent-blue: var(--fwfa-info);--colour-accent-orange: var(--fwfa-danger);--colour-accent-cyan: var(--fwfa-info);--colour-accent-gold: var(--fwfa-accent);--colour-accent-teal: var(--fwfa-info);--colour-accent-green: var(--fwfa-success);--bg: var(--fwfa-page-bg);--surface: var(--fwfa-surface);--surface-hover: var(--fwfa-surface-hover);--border: var(--fwfa-border);--border-strong: var(--fwfa-border-strong);--accent: var(--fwfa-fwf-yellow);--text-primary: var(--colour-text-primary);--text-secondary: var(--colour-text-muted);--text-tertiary: var(--colour-text-subtle);--shadow-gold: 0 0 0 3px color-mix(in srgb, var(--fwfa-accent) 20%, transparent);--shadow-gold-lg: 0 0 0 4px color-mix(in srgb, var(--fwfa-accent) 15%, transparent), 0 10px 25px -5px color-mix(in srgb, var(--fwfa-accent) 25%, transparent);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .18);--shadow-md: var(--fwfa-shadow-soft);--shadow-lg: var(--fwfa-shadow-float);--shadow-soft-rise: var(--fwfa-shadow-soft);--focus-input: var(--fwfa-accent-calm);--focus-outline: var(--fwfa-accent-calm);--space-page-x: var(--fwfa-page-pad);--space-page-y: clamp(1rem, 3vw, 2rem);--content-max: 1180px;--radius-sm: var(--fwfa-radius-sm);--radius-md: var(--fwfa-radius-md);--radius-lg: var(--fwfa-radius-lg);--radius-xl: var(--fwfa-radius-xl, var(--fwfa-radius-lg));--radius-pill: var(--fwfa-radius-pill);--font-display: var(--fwfa-font-display);--font-body: var(--fwfa-font-body);--font-mono: var(--fwfa-font-mono);font-family:var(--font-body);font-weight:400;color:var(--colour-text-primary);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@layer app-reset{*{box-sizing:border-box}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;letter-spacing:0;line-height:1.15;margin:0}p{margin:0;line-height:1.55}}.fwfa-container--narrow{--fwfa-content-max: 70rem}html,body,#root{height:100%}body{margin:0;min-width:320px;overflow:hidden;background:linear-gradient(180deg,#ffe38024,#fff0 32%),linear-gradient(135deg,#e4f2f885,#fafaf900 48%),var(--bg)}.fwfa-button,.fwfa-button:visited{color:var(--btn-ink, var(--fwfa-text))}.app-shell{display:grid;grid-template-rows:auto auto minmax(0,1fr);height:100dvh;overflow:hidden}.topbar{display:flex;align-items:center;gap:var(--fwfa-space-4);padding:var(--fwfa-space-3) var(--space-page-x);min-height:72px;border-bottom:0;background:rgba(var(--colour-surface-base-rgb),.84);box-shadow:0 10px 30px #081b330d;-webkit-backdrop-filter:blur(14px) saturate(1.12);backdrop-filter:blur(14px) saturate(1.12)}.brand-lockup{display:flex;align-items:center;gap:var(--fwfa-space-3)}.brand-lockup .brand-divider{width:1px;height:20px;background:var(--border-strong)}.route-nav{display:flex;align-items:stretch;gap:var(--fwfa-space-2);margin-left:var(--fwfa-space-4);padding:0;border:0;border-radius:0;background:transparent}.route-stop{display:inline-flex;align-items:center;gap:var(--fwfa-space-2);min-height:var(--fwfa-tap);margin-bottom:0;padding:0 var(--fwfa-space-3);border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--colour-text-muted);font-size:var(--fwfa-type-sm);font-weight:600;white-space:nowrap;transition:color var(--fwfa-dur-fast) var(--fwfa-ease),border-color var(--fwfa-dur-fast) var(--fwfa-ease)}.route-stop:hover,.route-stop:focus-visible{color:var(--colour-text-primary);background:transparent;transform:none}.route-stop[aria-current=page]{color:var(--colour-text-primary);border-bottom-color:var(--fwfa-accent-calm)}.route-stop-icon{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem}.topbar-actions{display:flex;gap:var(--fwfa-space-2);margin-left:auto;align-items:center}.main-content{display:flex;height:100%;min-height:0;overflow:hidden}.main-content>*{flex:1;min-width:0;min-height:0}.screen{display:flex;flex-direction:column;height:100%;min-height:0}.welcome-screen{display:flex;flex-direction:column;align-items:center;padding:clamp(var(--fwfa-space-6),5vw,4.5rem) var(--space-page-x) var(--fwfa-space-7);overflow-y:auto}.welcome-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:clamp(var(--fwfa-space-5),4vw,var(--fwfa-space-8));align-items:center;width:100%;max-width:var(--content-max);margin-inline:auto;min-height:clamp(480px,52vh,560px);padding:clamp(var(--fwfa-space-5),4vw,var(--fwfa-space-7));border-radius:var(--radius-xl);background:linear-gradient(135deg,#081b33fa,#081b33eb 58%,#335561f0),var(--fwfa-fwf-navy);color:#fff;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.welcome-hero-copy{position:relative;z-index:1}.welcome-hero h1{font-size:clamp(2.35rem,5.5vw,4.8rem);margin-top:var(--fwfa-space-2);color:#fff;letter-spacing:0;max-width:10ch}.welcome-hero .subtitle{font-size:clamp(1.1rem,2vw,1.45rem);font-weight:500;color:var(--fwfa-fwf-yellow-50);margin-top:var(--fwfa-space-3)}.welcome-hero .subtitle strong{font-weight:700;color:#fff}.welcome-hero .lead{margin-top:var(--fwfa-space-4);color:#ffffffc7;font-size:var(--fwfa-type-body);max-width:34rem}.hero-actions{display:flex;gap:var(--fwfa-space-2);justify-content:flex-start;margin-top:var(--fwfa-space-6)}.welcome-session-card{position:relative;z-index:1;display:grid;gap:var(--fwfa-space-5);padding:var(--fwfa-space-5);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-lg);background:#ffffff1a;box-shadow:inset 0 1px #ffffff1f,0 18px 44px #00000024;-webkit-backdrop-filter:blur(14px) saturate(1.12);backdrop-filter:blur(14px) saturate(1.12)}.session-card-header{display:flex;align-items:center;gap:var(--fwfa-space-4)}.session-card-header .fwfa-kicker,.welcome-session-card .status-label{color:var(--fwfa-text-muted)}.session-card-header strong{display:block;margin-top:.15rem;color:#fff}.session-card-mark{flex:0 0 auto;width:16px;height:16px;color:var(--fwfa-fwf-sky)}.session-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--fwfa-space-3)}.session-stat-grid>div{padding:.85rem;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);background:#ffffff14}.session-stat-grid strong{display:block;margin-top:var(--fwfa-space-1);font-family:var(--font-mono);font-size:1.45rem;color:#fff}.welcome-session-card p{color:#ffffffb8;font-size:var(--fwfa-type-sm);line-height:1.6;margin:0}.session-empty-list{display:grid;gap:var(--fwfa-space-2);margin:0;padding:0;list-style:none}.session-empty-item{display:flex;align-items:baseline;gap:var(--fwfa-space-4);min-height:0;color:#fff;font-weight:700}.session-empty-dot{display:inline-block;flex:0 0 auto;min-width:1ch;color:var(--fwfa-fwf-yellow-50);font-family:var(--font-mono);font-weight:700;font-size:inherit;line-height:inherit;text-align:right}.demo-role-panel{display:inline-flex;align-items:center;gap:var(--fwfa-space-3);margin-top:var(--fwfa-space-4);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.demo-role-label{padding-left:0;color:var(--fwfa-text-muted);font-size:var(--fwfa-type-xs);font-weight:700;text-transform:uppercase}.demo-role-toggle{display:flex;gap:var(--fwfa-space-1)}.demo-role-option{min-height:36px;padding:.35rem .85rem;border:1px solid transparent;border-radius:var(--radius-pill);background:transparent;color:#fff;font-size:var(--fwfa-type-sm);font-weight:700;transition:background .16s,border-color .16s,box-shadow .18s,transform .1s}.demo-role-option:hover,.demo-role-option:focus-visible{background:var(--fwfa-surface-hover);border-color:var(--fwfa-border)}.demo-role-option:active{transform:scale(.98)}.track-picker{text-align:center;max-width:520px;margin-top:2.5rem}.track-picker .fwfa-kicker{color:var(--fwfa-fwf-navy)}.track-picker h3{font-size:var(--fwfa-type-h2);margin-top:var(--fwfa-space-2)}.track-picker .lead{margin-top:var(--fwfa-space-2);color:var(--colour-text-muted);font-size:var(--fwfa-type-body);line-height:1.5}.track-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:var(--fwfa-space-4);margin-top:var(--fwfa-space-5)}.track-card{display:flex;flex-direction:column;align-items:center;gap:var(--fwfa-space-3);padding:var(--fwfa-space-5);border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color .18s,box-shadow .22s,transform .12s,background .18s}.track-card:hover,.track-card:focus-visible{border-color:#fec6019e;box-shadow:var(--shadow-md);transform:translateY(-2px)}.track-card:active{transform:translateY(0)}.track-icon{padding:.45rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--fwfa-surface-hover);color:var(--fwfa-text-soft);box-sizing:content-box;stroke-width:1.8}.track-card strong{font-size:var(--fwfa-type-h3)}.track-card span:last-child{color:var(--colour-text-muted);font-size:var(--fwfa-type-sm)}.track-picker-screen{padding:var(--fwfa-space-6) var(--fwfa-space-5)}.track-picker-screen .track-options{margin-top:1.25rem}.track-current{font-size:var(--fwfa-type-sm);color:var(--colour-text-muted);margin-top:var(--fwfa-space-2)}.track-card:nth-child(1) .track-icon{background:var(--colour-action-tint);border-color:#fec60175;color:var(--fwfa-fwf-navy)}.welcome-todo{max-width:var(--content-max);width:100%;margin-top:var(--fwfa-space-7);align-self:center;display:grid;grid-template-columns:1fr 2fr;gap:clamp(var(--fwfa-space-5),5vw,var(--fwfa-space-8));align-items:start}.welcome-todo>h2{text-align:left;font-size:var(--fwfa-type-h2);line-height:var(--fwfa-leading-tight);margin-bottom:0;color:var(--fwfa-text)}.welcome-stops{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:var(--fwfa-space-4);max-width:var(--content-max);width:100%}.welcome-stop{text-align:left;padding:1.25rem;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .24s,border-color .22s}.welcome-stop-head{display:flex;align-items:center;gap:var(--fwfa-space-2);margin-bottom:var(--fwfa-space-2)}.welcome-stop-icon{color:var(--fwfa-accent-calm);flex-shrink:0}.welcome-stop-index{display:inline-block;color:var(--fwfa-accent-calm);font-family:var(--font-mono);font-weight:700;font-size:var(--fwfa-type-sm);line-height:var(--fwfa-leading-tight)}.welcome-stop h3{font-size:var(--fwfa-type-body);margin-bottom:var(--fwfa-space-1)}.welcome-stop p{font-size:var(--fwfa-type-sm);color:var(--colour-text-muted)}.status-label{display:block;font-size:var(--fwfa-type-micro);font-weight:500;color:var(--colour-text-subtle);text-transform:uppercase;letter-spacing:0}.welcome-footer{display:flex;align-items:center;gap:var(--fwfa-space-2);margin-top:2.5rem;padding-top:var(--fwfa-space-5);opacity:.45;transition:opacity .2s}.welcome-footer:hover{opacity:.7}.welcome-footer span{font-size:var(--fwfa-type-micro);font-weight:500;color:var(--colour-text-muted);text-transform:uppercase;letter-spacing:0}.welcome-footer a{display:inline-flex;align-items:center;color:var(--colour-text-muted);font-size:var(--fwfa-type-sm);font-weight:700}.explore-screen{--explore-panel-header-height: 78px;display:grid;grid-template-columns:minmax(0,1fr) clamp(320px,28vw,400px);height:100%;min-height:0;overflow:hidden}.chat-panel{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border);background:linear-gradient(180deg,#e4f2f875,#fff0 38%),#ffffff94}.chat-header{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;min-height:var(--explore-panel-header-height);padding:var(--fwfa-space-4) clamp(var(--fwfa-space-4),2.5vw,var(--fwfa-space-6));border-bottom:1px solid var(--border);gap:var(--fwfa-space-3);background:#ffffff9e;-webkit-backdrop-filter:blur(12px) saturate(1.08);backdrop-filter:blur(12px) saturate(1.08)}.chat-header-left h1{font-size:var(--fwfa-type-h3)}.chat-header-actions{display:flex;gap:.4rem}.explore-header-action{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;padding:0 var(--fwfa-space-1);border:0;border-radius:var(--fwfa-radius-xs);background:transparent;color:var(--fwfa-text-soft);font-family:var(--font-body);font-size:var(--fwfa-type-sm);font-weight:700;line-height:1;white-space:nowrap;cursor:pointer;transition:color var(--fwfa-dur-fast) var(--fwfa-ease),transform var(--fwfa-dur-fast) var(--fwfa-ease)}.explore-header-action:hover,.explore-header-action:focus-visible{color:var(--fwfa-text);transform:translateY(-1px)}.explore-header-action:focus-visible{outline:2px solid color-mix(in srgb,var(--fwfa-text) 54%,transparent);outline-offset:4px}.explore-header-action:active{transform:translateY(0) scale(.98)}.message-list{flex:1;min-height:0;overflow-y:auto;padding:clamp(var(--fwfa-space-4),2.5vw,var(--fwfa-space-6));display:flex;flex-direction:column;gap:.85rem}.message-bubble{max-width:min(36rem,80%);padding:var(--fwfa-space-4) 1.15rem;border-radius:var(--radius-lg);font-size:var(--fwfa-type-sm);line-height:1.55;box-shadow:var(--shadow-sm)}.message-role{display:block;margin-bottom:.2rem;font-size:var(--fwfa-type-micro);font-weight:600;letter-spacing:0;text-transform:uppercase;opacity:.5}.message-content{overflow-wrap:anywhere}.message-content p{margin:0}.message-content p+p{margin-top:.5em}.message-content ul,.message-content ol{margin:.4em 0;padding-left:1.4em}.message-content li{margin:.15em 0}.message-content strong{font-weight:700}.message-content em{font-style:italic}.message-content code{font-size:.85em;background:var(--colour-surface-soft);padding:.1em .35em;border-radius:4px}.message-bubble.user .message-content code{background:#ffffff26}.message-content pre{margin:.5em 0;padding:.6em .8em;background:var(--colour-surface-soft);border-radius:var(--radius-sm);overflow-x:auto;font-size:.85em}.message-bubble.user .message-content pre{background:#ffffff1a}.message-content pre code{background:none;padding:0}.message-content h1,.message-content h2,.message-content h3{font-size:.95em;margin:.6em 0 .3em}.message-content blockquote{margin:.4em 0;padding-left:.8em;border-left:2px solid var(--colour-border-muted);color:var(--colour-text-muted)}.message-bubble.user .message-content blockquote{border-left-color:#ffffff4d;color:#fffc}.message-content hr{border:none;border-top:1px solid var(--border);margin:.6em 0}.chat-composer{padding:var(--fwfa-space-4) clamp(var(--fwfa-space-4),2.5vw,var(--fwfa-space-6));background:#ffffffe0;-webkit-backdrop-filter:blur(12px) saturate(1.08);backdrop-filter:blur(12px) saturate(1.08)}.demo-prompts{display:flex;align-items:center;gap:var(--fwfa-space-3);margin-bottom:var(--fwfa-space-3);color:var(--colour-text-subtle);font-size:var(--fwfa-type-xs);font-weight:600;text-transform:uppercase}.demo-prompt-list{display:flex;gap:var(--fwfa-space-2);flex-wrap:wrap}.prompt-chip{min-height:32px;padding:.3rem .7rem;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--fwfa-surface-hover);color:var(--fwfa-fwf-navy);font-size:var(--fwfa-type-xs);font-weight:600;transition:background .18s,border-color .18s,box-shadow .22s,transform .12s}.prompt-chip:hover,.prompt-chip:focus-visible{background:var(--colour-action-tint);border-color:#fec6018c;box-shadow:var(--shadow-gold);transform:translateY(-1px)}.composer-row{display:flex;gap:var(--fwfa-space-2);align-items:flex-end}.composer-row textarea{flex:1;min-height:2.75rem;max-height:8rem;padding:var(--fwfa-space-3) var(--fwfa-space-4);border:1.5px solid var(--fwfa-border-strong);border-radius:var(--radius-md);background:var(--colour-surface-base);color:var(--colour-text-primary);font-size:var(--fwfa-type-sm);line-height:1.5;resize:none;outline:none;transition:border-color .15s,box-shadow .15s}.composer-send{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:50%;border:none;background:var(--colour-action-primary);color:var(--colour-action-ink);flex-shrink:0;transition:background .18s,box-shadow .22s,transform .12s}.composer-send:hover,.composer-send:focus-visible{background:var(--colour-action-primary-strong);box-shadow:var(--shadow-gold-lg);transform:translateY(-1px)}.composer-send:disabled{opacity:.3;cursor:default}.draft-sidecar{display:flex;flex-direction:column;min-height:0;overflow-y:auto;background:linear-gradient(180deg,#081b330a,#081b3300 34%),var(--fwfa-surface)}.draft-sidecar-header{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;min-height:var(--explore-panel-header-height);padding:var(--fwfa-space-4) 1.25rem;border-bottom:1px solid var(--border);background:#ffffffa3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.draft-sidecar-header h3{font-size:var(--fwfa-type-body)}.draft-sidecar-header-actions{display:flex;align-items:center;gap:var(--fwfa-space-2)}.draft-sidecar-body{flex:1;padding:var(--fwfa-space-4) 1.25rem;overflow-y:auto}.sidecar-list{display:grid;gap:.85rem}.sidecar-list dt{font-size:var(--fwfa-type-micro);font-weight:600;letter-spacing:0;text-transform:uppercase;color:var(--colour-text-subtle)}.sidecar-list dd{margin:0;font-size:var(--fwfa-type-sm);line-height:1.5;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;position:relative}.sidecar-list dd.expanded{display:block;-webkit-line-clamp:unset;overflow:visible}.sidecar-list dd.truncated-clickable{cursor:pointer}.sidecar-list dd.truncated-clickable:hover{color:var(--colour-text-primary, #333)}.truncation-fade{position:absolute;bottom:0;right:0;width:4rem;height:1.5em;background:linear-gradient(to right,transparent,var(--colour-surface-hover-soft, #f5f5f5));pointer-events:none}.muted-copy{color:var(--colour-text-subtle);font-size:var(--fwfa-type-sm)}.draft-sidecar-footer{padding:var(--fwfa-space-4) 1.25rem;border-top:1px solid var(--border);display:flex;gap:var(--fwfa-space-2);background:#ffffffc2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.teamup-screen{overflow-y:auto;padding:clamp(1.25rem,3vw,var(--fwfa-space-6)) var(--space-page-x) 2.5rem}.teamup-header{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--fwfa-space-6);margin-block-end:var(--fwfa-space-6)}.teamup-header h1{max-width:22ch;font-size:var(--fwfa-type-h2);line-height:var(--fwfa-leading-tight)}.search-field{display:grid;gap:var(--fwfa-space-2);width:min(28rem,36vw);min-width:18rem}.search-field span{font-size:var(--fwfa-type-micro);font-weight:600;text-transform:uppercase;color:var(--colour-text-subtle)}.search-input{min-height:3rem;padding:.7rem var(--fwfa-space-4);border:1.5px solid var(--border-strong);border-radius:var(--radius-md);background:var(--colour-surface-base);font-size:var(--fwfa-type-sm);color:var(--colour-text-primary);outline:none;width:100%;transition:border-color .15s,box-shadow .15s}.teamup-radar{display:grid;gap:var(--fwfa-space-4);margin-block-end:var(--fwfa-space-6);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.teamup-radar-team{grid-template-columns:repeat(4,minmax(0,1fr))}.teamup-radar-prioritisation{grid-template-columns:repeat(3,minmax(0,1fr))}.radar-stat{min-height:3.5rem;display:grid;align-content:center;gap:.35rem;text-align:left}.radar-stat-clickable{appearance:none;width:100%;font:inherit;text-align:left;color:inherit;cursor:pointer;border-radius:var(--radius-sm);padding:var(--fwfa-space-2) .65rem;transition:background .18s,box-shadow .22s,transform .16s}.radar-stat-clickable:hover,.radar-stat-clickable:focus-visible{background:var(--colour-surface-hover-soft);box-shadow:var(--shadow-md);transform:translateY(-1px)}.radar-stat-active .radar-stat-value,.radar-stat-active .radar-stat-label{color:var(--fwfa-fwf-navy)}.radar-stat-value{display:block;font-family:var(--font-mono);font-weight:700;font-size:clamp(1.25rem,2vw,1.55rem);color:var(--colour-text-primary)}.radar-stat-label{display:block;font-size:var(--fwfa-type-micro);font-weight:500;color:var(--colour-text-subtle);text-transform:uppercase;letter-spacing:0}.submission-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:var(--fwfa-space-4);margin-block-start:var(--fwfa-space-6)}.board-controls{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--fwfa-space-4)}.board-control-section{display:flex;align-items:center;gap:var(--fwfa-space-3);min-width:0}.board-controls-label{color:var(--colour-text-subtle);font-size:var(--fwfa-type-micro);font-weight:700;letter-spacing:0;text-transform:uppercase}.status-filter-group{display:flex;flex-wrap:wrap;gap:.45rem}.board-sort-field{display:inline-flex;align-items:center;gap:.55rem;flex-shrink:0}.board-sort-trigger{width:10rem}.status-filter-chip{appearance:none;display:inline-flex;align-items:center;gap:.45rem;min-height:40px;padding:.35rem .65rem;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--colour-surface-soft);color:var(--colour-text-muted);font:inherit;font-size:var(--fwfa-type-xs);font-weight:600;cursor:pointer;transition:background .18s,border-color .18s,color .18s,transform .14s,box-shadow .22s}.status-filter-chip strong{color:var(--colour-text-primary);font-family:var(--font-mono);font-size:var(--fwfa-type-xs);font-weight:700}.status-filter-chip:hover,.status-filter-chip:focus-visible,.status-filter-chip-active{border-color:var(--colour-action-primary);background:var(--colour-action-tint);color:var(--colour-text-primary);box-shadow:var(--shadow-gold)}.status-filter-chip:hover,.status-filter-chip:focus-visible,.status-filter-chip-active{transform:translateY(-1px)}.board-sort-caption{margin-block-start:var(--fwfa-space-3);color:var(--colour-text-subtle);font-size:var(--fwfa-type-sm)}.submission-card{display:flex;flex-direction:column;gap:var(--fwfa-space-3);padding:1.25rem;border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 90%,transparent);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:border-color .18s,transform .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s ease,background .18s}.submission-card:hover,.submission-card:focus-visible{border-color:var(--fwfa-border-strong);background:#fff}.submission-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft-rise)}.submission-card:active{transform:translateY(0)}.submission-card-starred{border-color:color-mix(in srgb,var(--fwfa-accent) 48%,transparent);background:color-mix(in srgb,var(--surface) 90%,transparent);position:relative}.submission-card-starred:before{content:none}.submission-card-starred:hover{border-color:color-mix(in srgb,var(--fwfa-accent) 40%,transparent)}.submission-card-starred .submission-card-header,.submission-card-starred>p,.submission-card-starred .chip-row,.submission-card-starred .team-meta{position:relative;z-index:1}.badge-starred{background:var(--colour-action-tint);color:var(--fwfa-fwf-navy);font-weight:600;gap:.2rem;border:1px solid color-mix(in srgb,var(--fwfa-accent) 15%,transparent)}.submission-card-mine{border-color:color-mix(in srgb,var(--fwfa-accent) 78%,transparent);background:color-mix(in srgb,var(--surface) 90%,transparent)}.submission-card-mine.submission-card-starred{border-color:var(--colour-action-primary);background:color-mix(in srgb,var(--surface) 90%,transparent)}.submission-card-mine:hover{border-color:var(--colour-action-primary-strong)}.submission-card-badges{display:flex;gap:.3rem;flex-shrink:0}.submission-signal-row{display:flex;align-items:center;justify-content:space-between;gap:var(--fwfa-space-3);min-height:1.5rem}.rank-glyph{display:inline-flex;align-items:center;min-height:1.5rem;padding:.15rem var(--fwfa-space-2);border-radius:var(--radius-pill);border:1px solid var(--border);color:var(--colour-text-subtle);font-family:var(--font-mono);font-size:var(--fwfa-type-micro);font-weight:700}.rank-glyph-top{border-color:color-mix(in srgb,var(--fwfa-accent) 44%,transparent);background:transparent;color:var(--colour-accent-gold)}.signal-meta,.submission-author-tag{color:var(--colour-text-subtle);font-size:var(--fwfa-type-xs)}.submission-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--fwfa-space-2)}.submission-card-header h3{font-size:var(--fwfa-type-body)}.submission-title-button{appearance:none;display:inline;margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.submission-title-button:hover,.submission-title-button:focus-visible{color:var(--colour-action-primary-strong);outline:none;text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.18em}.submission-summary{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:var(--fwfa-type-sm);color:var(--colour-text-strong)}.badge{display:inline-flex;padding:.2rem .55rem;border-radius:var(--radius-pill);font-size:var(--fwfa-type-micro);font-weight:600;letter-spacing:0;flex-shrink:0}.chip-row{display:flex;gap:.4rem;flex-wrap:wrap}.submission-target-meta{color:var(--colour-text-subtle);font-size:var(--fwfa-type-xs);font-weight:500}.info-chip{display:inline-flex;padding:.2rem .55rem;border-radius:var(--radius-pill);background:var(--fwfa-surface-hover);border:1px solid var(--border);font-size:var(--fwfa-type-xs);color:var(--colour-text-muted)}@keyframes needs-you-pulse{0%,to{box-shadow:0 0 0 0 var(--pulse-color)}50%{box-shadow:0 0 0 4px var(--pulse-color)}}.info-chip.needs-you{font-weight:600;animation:needs-you-pulse 2s ease-in-out infinite}.info-chip.needs-you.tech{--pulse-color: color-mix(in srgb, var(--fwfa-accent-calm) 35%, transparent);background:var(--colour-surface-soft);border-color:color-mix(in srgb,var(--fwfa-accent-calm) 70%,transparent);color:var(--fwfa-fwf-muted-blue)}.info-chip.needs-you.ops{--pulse-color: color-mix(in srgb, var(--fwfa-accent) 36%, transparent);background:var(--colour-action-tint);border-color:color-mix(in srgb,var(--fwfa-accent) 66%,transparent);color:var(--fwfa-fwf-navy)}.need-line{margin:-.15rem 0 0;color:var(--colour-text-subtle);font-size:var(--fwfa-type-xs)}.need-line-you{color:var(--colour-action-primary-strong);font-weight:600}.team-meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--fwfa-space-3);font-size:var(--fwfa-type-xs);color:var(--colour-text-subtle);margin-top:auto}.card-actions{display:flex;gap:.4rem;padding-top:.35rem}.vote-btn{flex:1}.card-actions .fwfa-button{min-height:40px;font-size:var(--fwfa-type-xs)}.detail-vote-btn{font-size:var(--fwfa-type-sm)}.status-filter-chip:disabled{opacity:.52;cursor:wait;transform:none}.board-empty-state{grid-column:1 / -1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;justify-items:start;gap:.875rem;min-height:8rem;padding:clamp(var(--fwfa-space-4),2vw,var(--fwfa-space-5));border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--colour-surface-muted);color:var(--colour-text-muted);text-align:left}.board-empty-state .board-empty-mark{grid-row:1 / span 2}.board-empty-state h2,.board-empty-state h3{grid-column:2;margin:0 0 .35rem;color:var(--colour-text-primary);font-size:clamp(1.25rem,2vw,1.55rem);line-height:1.1}.board-empty-state p{grid-column:2;max-width:28rem;margin:0}.board-empty-state .fwfa-button{grid-column:3;grid-row:1 / span 2;justify-self:end}.board-empty-mark{display:grid;place-items:center;width:2.75rem;height:2.75rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--colour-surface-hover-soft);color:var(--colour-action-primary)}.team-roster{display:grid;gap:.35rem}.roster-label{font-size:var(--fwfa-type-micro);font-weight:600;color:var(--colour-text-subtle);text-transform:uppercase;letter-spacing:0}.interested-list{display:flex;gap:.35rem;flex-wrap:wrap}.person-pill{display:inline-flex;align-items:center;gap:.3rem;padding:var(--fwfa-space-1) .55rem;border-radius:var(--radius-pill);background:var(--fwfa-surface-hover);border:1px solid var(--border);font-size:var(--fwfa-type-xs)}.person-pill strong{font-weight:600}.person-chip{padding:.1rem .4rem;border-radius:var(--radius-pill);background:var(--colour-surface-soft);font-size:var(--fwfa-type-micro);font-weight:500;text-transform:uppercase;letter-spacing:0}.card-actions{display:flex;gap:.4rem;margin-top:auto;padding-top:.3rem}.detail-panel{width:min(720px,calc(100vw - 2rem));max-height:calc(100dvh - 3rem);display:flex;flex-direction:column;padding:0;border-radius:var(--radius-xl);background:var(--colour-surface-base);border:1px solid var(--border);box-shadow:var(--shadow-lg);animation:slide-up .25s ease-out}@keyframes slide-up{0%{transform:translateY(1rem);opacity:0}to{transform:translateY(0);opacity:1}}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--fwfa-space-3);padding:1.25rem 1.25rem 0}.detail-header h2{font-size:var(--fwfa-type-h3);margin-top:.15rem}.detail-header-actions{display:flex;align-items:center;gap:var(--fwfa-space-2);flex-shrink:0}.detail-body{overflow-y:auto;padding:var(--fwfa-space-4) 1.25rem 1.25rem;display:flex;flex-direction:column;gap:.85rem}.detail-section h4{font-size:var(--fwfa-type-xs);font-weight:600;color:var(--colour-text-subtle);text-transform:uppercase;letter-spacing:0;margin-bottom:var(--fwfa-space-1)}.detail-section p{font-size:var(--fwfa-type-sm);line-height:1.5;color:var(--colour-text-strong)}.detail-actions{display:flex;gap:.4rem;padding-top:var(--fwfa-space-1)}.detail-discussion{display:flex;flex-direction:column;gap:var(--fwfa-space-2);padding-top:var(--fwfa-space-3);border-top:1px solid var(--border)}.comment-list{display:flex;flex-direction:column;gap:.4rem;max-height:200px;overflow-y:auto}.comment-bubble{padding:var(--fwfa-space-2) .65rem;border-radius:var(--radius-md);background:var(--colour-surface-hover-soft);border:1px solid var(--border)}.comment-meta{display:flex;align-items:center;gap:.4rem;margin-bottom:.2rem;font-size:var(--fwfa-type-xs);color:var(--colour-text-subtle)}.comment-meta strong{font-size:var(--fwfa-type-xs);color:var(--colour-text-primary)}.comment-delete{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--colour-border-muted);cursor:pointer;padding:0;margin-left:auto;transition:color .15s}.comment-bubble p{font-size:var(--fwfa-type-sm);line-height:1.45;color:var(--colour-text-strong)}.comment-input-row{display:flex;gap:.4rem}.comment-input{flex:1;font-size:var(--fwfa-type-sm)}.comment-input-row .fwfa-button{flex-shrink:0}.submit-screen{overflow-y:auto;padding:var(--space-page-y) var(--space-page-x) 2.5rem;max-width:760px;margin:0 auto;width:100%}.submit-header{margin-bottom:1.25rem}.submit-header h1{font-size:var(--fwfa-type-h2);margin-top:var(--fwfa-space-1)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--fwfa-space-4);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.field{display:flex;flex-direction:column;gap:.3rem}.field>span{font-size:var(--fwfa-type-sm);font-weight:500;color:var(--colour-text-strong)}.field-full{grid-column:1 / -1}.field input,.field textarea{padding:var(--fwfa-space-3) var(--fwfa-space-4);border:1.5px solid var(--fwfa-border-strong);border-radius:var(--radius-md);background:var(--colour-surface-base);color:var(--colour-text-primary);font-size:var(--fwfa-type-sm);outline:none;transition:border-color .15s,box-shadow .15s}.field textarea{min-height:5rem;resize:vertical;line-height:1.5}.submit-actions{display:flex;gap:var(--fwfa-space-2);margin-top:1.25rem;padding-top:0;border-top:0;justify-content:flex-end}.admin-drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100vw);z-index:10;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:var(--fwfa-space-3);padding:var(--fwfa-space-4);background:var(--colour-surface-base);border-left:1px solid var(--border);box-shadow:var(--shadow-lg)}.admin-drawer-header{display:flex;justify-content:space-between;align-items:flex-start}.prompt-editor{width:100%;min-height:0;height:100%;padding:var(--fwfa-space-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);font-size:var(--fwfa-type-sm);line-height:1.5;resize:none;outline:none;color:var(--colour-text-primary)}.admin-actions{display:flex;gap:var(--fwfa-space-2)}.locked-state,.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--fwfa-space-2);padding:var(--fwfa-space-7);color:var(--colour-text-subtle);text-align:center}.locked-state p{max-width:34rem;color:var(--colour-text-strong);font-weight:700}.locked-state span{max-width:30rem}.locked-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--fwfa-space-3);margin-top:var(--fwfa-space-3)}.toast,.refresh-pill{position:fixed;z-index:20;right:1rem;border-radius:var(--radius-md);background:var(--colour-text-primary);color:#fff;font-size:var(--fwfa-type-sm);font-weight:500;box-shadow:var(--shadow-lg);animation:toast-in .25s ease-out}@keyframes toast-in{0%{transform:translateY(.5rem);opacity:0}to{transform:translateY(0);opacity:1}}.toast{top:7.75rem;display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .85rem}.refresh-pill{top:4.5rem;padding:.45rem var(--fwfa-space-3);background:var(--colour-text-strong)}@media(max-width:48rem){.toast{top:15.25rem;right:1rem;max-width:min(22rem,calc(100vw - 2rem))}}.stage-banner{display:flex;align-items:center;justify-content:center;gap:var(--fwfa-space-3);min-height:2.5rem;padding:0 var(--space-page-x);background:transparent;color:var(--colour-text-primary);border-bottom:0;font-size:var(--fwfa-type-xs);font-weight:500;position:relative;overflow:hidden}.stage-banner:before{content:none}.stage-banner-label{display:flex;align-items:center;font-weight:500;color:var(--colour-text-muted)}.stage-banner-phase{display:inline-flex;align-items:center;gap:var(--fwfa-space-2);padding:var(--fwfa-space-1) var(--fwfa-space-3);border:1px solid var(--fwfa-border);border-radius:var(--fwfa-radius-md);background:var(--fwfa-surface);color:var(--colour-text-strong);font-size:var(--fwfa-type-micro);font-weight:700;letter-spacing:0;text-transform:uppercase}.stage-banner-phase.phase-closed{color:var(--colour-text-muted)}.stage-banner-phase .phase-dot,.stage-banner-phase .fwfa-status-dot{width:5px;height:5px;border-radius:50%;background:currentColor;animation:none}@keyframes phase-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}.countdown{display:inline-flex;align-items:center;gap:.2rem;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.countdown-segment{display:inline-flex;align-items:baseline;gap:.18rem;min-width:auto}.countdown-value{font-size:var(--fwfa-type-xs);font-weight:500;line-height:1;color:var(--colour-text-primary)}.countdown-unit{font-size:var(--fwfa-type-micro);font-weight:500;text-transform:uppercase;letter-spacing:0;color:var(--colour-text-subtle)}.countdown-sep{font-size:var(--fwfa-type-xs);font-weight:500;color:var(--fwfa-text-muted);margin:0 .1rem;align-self:center;line-height:1}.stage-banner-message{color:var(--colour-text-muted);font-size:var(--fwfa-type-xs)}.ideation-closed-notice{display:flex;align-items:center;gap:var(--fwfa-space-2);padding:var(--fwfa-space-3) var(--fwfa-space-4);background:#e4722514;border:1px solid rgba(228,114,37,.15);border-radius:var(--radius-md);color:#8a4d1e;font-size:var(--fwfa-type-sm);font-weight:500;margin-bottom:var(--fwfa-space-4)}.admin-screen{overflow-y:auto;padding:var(--space-page-y) var(--space-page-x) 2.5rem;max-width:760px;margin:0 auto;width:100%}.admin-screen h1{font-size:var(--fwfa-type-h2);margin-bottom:var(--fwfa-space-1)}.admin-screen .fwfa-kicker{margin-bottom:.15rem}.admin-section{margin-top:var(--fwfa-space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--fwfa-space-5);box-shadow:var(--shadow-sm)}.admin-section h3{font-size:var(--fwfa-type-body);margin-bottom:var(--fwfa-space-3)}.admin-field{display:flex;align-items:center;justify-content:space-between;padding:var(--fwfa-space-3) 0;border-bottom:1px solid var(--border)}.admin-field:last-child{border-bottom:none;padding-bottom:0}.admin-field:first-of-type{padding-top:0}.admin-field-label{display:flex;flex-direction:column;gap:.15rem}.admin-field-label span:first-child{font-weight:600;font-size:var(--fwfa-type-sm)}.admin-field-label span:last-child{font-size:var(--fwfa-type-xs);color:var(--colour-text-muted)}.toggle-switch{position:relative;width:44px;height:24px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-track{position:absolute;inset:0;border-radius:12px;background:var(--colour-border-muted);cursor:pointer;transition:background .2s}.toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000026;transition:transform .2s}.toggle-switch input:checked+.toggle-track:after{transform:translate(20px)}.admin-date-input{padding:.4rem .6rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--fwfa-type-sm);font-family:var(--font-mono);color:var(--colour-text-primary);background:var(--colour-surface-base);min-width:200px}.admin-date-input:focus{outline:2px solid var(--fwfa-fwf-yellow);outline-offset:-1px;border-color:transparent}.admin-nav{display:flex;gap:.4rem;margin-bottom:var(--fwfa-space-5);flex-wrap:wrap}.admin-actions-bar{display:flex;justify-content:flex-end;gap:var(--fwfa-space-2);margin-top:1.25rem}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--fwfa-space-3);margin-bottom:var(--fwfa-space-5)}.admin-stat-card{display:flex;flex-direction:column;align-items:center;gap:var(--fwfa-space-1);padding:1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.admin-stat-value{font-size:1.75rem;font-family:var(--font-mono);font-weight:500;line-height:1;color:var(--text-primary)}.admin-stat-label{font-size:var(--fwfa-type-xs);text-transform:uppercase;letter-spacing:0;color:var(--text-secondary)}.log-screen{overflow-y:auto;padding:var(--space-page-y) var(--space-page-x) 2.5rem;max-width:840px;margin:0 auto;width:100%}.log-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--fwfa-space-4);margin-bottom:1.25rem}.log-header-left h1{font-size:var(--fwfa-type-h2);margin-top:.1rem;letter-spacing:0}.log-header-left .fwfa-kicker{margin-bottom:.1rem}.log-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:.6rem}.log-stats{display:flex;gap:var(--fwfa-space-3)}.log-stat{display:flex;align-items:baseline;gap:var(--fwfa-space-1)}.log-stat-value{font-family:var(--font-mono);font-size:var(--fwfa-type-body);font-weight:700;color:var(--colour-text-primary);font-variant-numeric:tabular-nums}.log-stat-label{font-size:var(--fwfa-type-micro);font-weight:500;color:var(--colour-text-subtle);text-transform:uppercase;letter-spacing:0}.log-stat-error .log-stat-label{color:#fe5100ad}.log-live-controls{display:flex;align-items:center;gap:var(--fwfa-space-2)}.log-live-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .65rem;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:transparent;font-size:var(--fwfa-type-xs);font-weight:600;color:var(--colour-text-muted);cursor:pointer;transition:all .2s}.log-live-dot{width:6px;height:6px;border-radius:50%;background:var(--colour-border-muted);transition:background .2s}.log-live-on .log-live-dot{background:var(--fwfa-fwf-green);animation:live-pulse 2s ease-in-out infinite}@keyframes live-pulse{0%,to{opacity:1;box-shadow:0 0 #04c9a666}50%{opacity:.7;box-shadow:0 0 0 3px #04c9a600}}.log-filters{display:flex;gap:.3rem;margin-bottom:var(--fwfa-space-4);flex-wrap:wrap}.log-filter-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.28rem .6rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;font-size:var(--fwfa-type-xs);font-weight:500;color:var(--colour-text-muted);cursor:pointer;transition:all .15s}.log-filter-active:hover{background:var(--oe-gold-dark);border-color:var(--oe-gold-dark)}.log-filter-count{font-size:var(--fwfa-type-micro);font-weight:700;opacity:.5;font-variant-numeric:tabular-nums}.log-filter-active .log-filter-count{opacity:.7}.log-feed{display:flex;flex-direction:column;flex:0 0 auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}.log-row{display:flex;align-items:flex-start;gap:.65rem;padding:.6rem .85rem;border-bottom:1px solid var(--border);transition:background .12s}.log-row:last-child{border-bottom:none}.log-row:hover,.log-row-expanded{background:var(--colour-surface-hover-soft)}.log-row-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--fwfa-space-2)}.log-row-icon{flex-shrink:0;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:var(--fwfa-type-xs);font-weight:700;line-height:1;margin-top:.05rem}.log-icon-auth{background:#0b91db1a;color:var(--colour-accent-blue)}.log-icon-explore{background:var(--colour-surface-soft);color:var(--fwfa-fwf-muted-blue)}.log-icon-submit{background:var(--colour-action-tint);color:var(--fwfa-fwf-navy)}.log-icon-team{background:#6cbe451f;color:#356d20}.log-icon-social{background:#fec60121;color:var(--fwfa-fwf-navy)}.log-icon-admin{background:var(--colour-surface-soft);color:var(--colour-text-muted)}.log-icon-error{background:#e0043b14;color:var(--colour-status-danger)}.log-row-body{flex:1;min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:var(--fwfa-space-3)}.log-row-main{display:flex;align-items:baseline;gap:.4rem;min-width:0;flex-wrap:wrap}.log-row-user{font-weight:600;font-size:var(--fwfa-type-sm);color:var(--colour-text-primary);white-space:nowrap}.log-row-label{font-size:var(--fwfa-type-sm);color:var(--colour-text-muted);white-space:nowrap}.log-row-detail{font-size:var(--fwfa-type-xs);color:var(--colour-text-subtle);flex:1 1 100%;overflow:visible;text-overflow:clip;white-space:pre-wrap;word-break:break-word;max-width:none}.log-row-detail:before{content:"·";margin-right:.35rem;color:var(--colour-border-muted)}.log-row-time{font-size:var(--fwfa-type-xs);color:var(--colour-text-subtle);white-space:nowrap;flex-shrink:0;font-variant-numeric:tabular-nums}.log-row-expanded-details{padding:var(--fwfa-space-2) 0 .15rem;border-top:1px solid var(--border)}.log-details-grid{display:grid;grid-template-columns:5.5rem 1fr;gap:.2rem var(--fwfa-space-3);font-size:var(--fwfa-type-xs);margin:0}.log-details-grid dt{font-weight:600;font-size:var(--fwfa-type-micro);text-transform:uppercase;letter-spacing:0;color:var(--colour-text-subtle);padding:.15rem 0}.log-details-grid dd{margin:0;padding:.15rem 0;color:var(--colour-text-strong);word-break:break-word;white-space:pre-wrap}.log-detail-code{display:inline-block;padding:.05rem .35rem;border-radius:3px;background:var(--colour-surface-soft);font-family:var(--font-mono);font-size:var(--fwfa-type-micro);color:var(--colour-text-muted);margin-left:.3rem}.log-detail-mono{font-family:var(--font-mono);font-size:var(--fwfa-type-xs);color:var(--colour-text-muted)}.log-cat-error{background:#e0043b08}.log-cat-error:hover{background:#e0043b0f}.log-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--fwfa-space-2);padding:var(--fwfa-space-8) var(--fwfa-space-4);color:var(--colour-text-subtle);font-size:var(--fwfa-type-sm)}.log-load-more{display:block;margin:var(--fwfa-space-4) auto 0}@media(max-width:40rem){.log-header{flex-direction:column;gap:var(--fwfa-space-3)}.log-header-right{align-items:flex-start;flex-direction:row;justify-content:space-between;width:100%}.log-row-body{flex-direction:column;gap:.15rem}}.users-screen{overflow-y:auto;padding:var(--space-page-y) var(--space-page-x) 2.5rem}.users-header{margin-bottom:1.25rem}.users-stats{display:flex;gap:var(--fwfa-space-4);margin-top:var(--fwfa-space-2);font-size:var(--fwfa-type-sm);color:var(--text-secondary)}.users-stats strong{color:var(--text-primary)}.users-empty{display:flex;flex-direction:column;align-items:center;gap:var(--fwfa-space-2);padding:var(--fwfa-space-7) 0;color:var(--text-secondary)}.users-list{display:flex;flex-direction:column;gap:var(--fwfa-space-1)}.users-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden;transition:border-color .15s,box-shadow .15s}.users-card-summary{display:flex;justify-content:space-between;align-items:center;padding:.65rem .85rem;cursor:pointer;gap:var(--fwfa-space-3)}.users-card-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}.users-card-name{font-size:var(--fwfa-type-sm);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.users-card-email{font-size:var(--fwfa-type-xs);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.users-card-meta{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.users-tech{font-size:var(--fwfa-type-micro);padding:.15rem .4rem;border-radius:6px;text-transform:uppercase;font-weight:600;letter-spacing:0}.users-badge{font-size:var(--fwfa-type-micro);padding:.15rem .4rem;border-radius:6px;background:var(--surface-hover);color:var(--text-secondary)}.users-card-time{font-size:var(--fwfa-type-micro);color:var(--text-tertiary);white-space:nowrap}.users-card-detail{padding:0 .85rem .85rem;border-top:1px solid var(--border)}.users-detail-section{margin-top:var(--fwfa-space-3)}.users-detail-section h4{font-size:var(--fwfa-type-xs);text-transform:uppercase;letter-spacing:0;color:var(--text-secondary);margin-bottom:var(--fwfa-space-2)}.users-detail-loading,.users-detail-empty{font-size:var(--fwfa-type-xs);color:var(--text-tertiary);font-style:italic}.users-chat-log{display:flex;flex-direction:column;gap:.35rem;max-height:300px;overflow-y:auto}.users-chat-msg{display:flex;gap:var(--fwfa-space-2);font-size:var(--fwfa-type-xs);line-height:1.35}.users-chat-role{flex-shrink:0;font-weight:600;width:2.5rem;color:var(--text-secondary)}.users-chat-user .users-chat-role{color:var(--accent)}.users-chat-text{color:var(--text-primary);word-break:break-word;white-space:pre-wrap}.users-submission-link{padding:var(--fwfa-space-2) .65rem;background:var(--surface-hover);border-radius:var(--radius-md);margin-bottom:.35rem}.users-submission-link strong{display:block;font-size:var(--fwfa-type-sm);color:var(--text-primary);margin-bottom:.15rem}.users-submission-link span{font-size:var(--fwfa-type-xs);color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:40rem){.admin-stats{grid-template-columns:1fr}.users-card-summary{flex-direction:column;align-items:flex-start;gap:.35rem}.users-card-meta{flex-wrap:wrap}}.lt-screen{overflow-y:auto;padding:var(--fwfa-space-6) var(--fwfa-space-5)}.lt-header{max-width:880px;margin:0 auto 1.25rem}.lt-header h1{font-size:var(--fwfa-type-h2)}.lt-header .fwfa-kicker{margin-bottom:.15rem}.lt-stats{display:flex;gap:var(--fwfa-space-5);margin-top:var(--fwfa-space-3)}.lt-stat{display:flex;align-items:baseline;gap:.35rem;font-size:var(--fwfa-type-sm);color:var(--colour-text-muted)}.lt-stat strong{font-size:var(--fwfa-type-h3);color:var(--colour-text-primary);font-family:var(--font-mono)}.lt-list{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:var(--fwfa-space-2)}.lt-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--fwfa-space-4);padding:var(--fwfa-space-4) 1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color .2s,box-shadow .2s}.lt-card-clickable{cursor:pointer}.lt-card-clickable:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.lt-card-clickable:active{transform:translateY(0)}.lt-card.lt-card-starred{border-color:#ffad004d;background:#ffad0008}.lt-card.lt-card-hidden{opacity:.5;border-style:dashed}.lt-card-info h4{font-size:var(--fwfa-type-body);margin-bottom:.2rem}.lt-card-info p{font-size:var(--fwfa-type-sm);color:var(--colour-text-muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lt-card-meta{display:flex;gap:var(--fwfa-space-3);margin-top:.35rem;font-size:var(--fwfa-type-xs);color:var(--colour-text-subtle);font-weight:500}.lt-card-meta span{display:inline-flex;align-items:center;gap:var(--fwfa-space-1)}.lt-card-actions{display:flex;gap:.35rem;flex-shrink:0}.lt-action-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--colour-text-subtle);cursor:pointer;transition:all .15s}.lt-action-btn.lt-starred:hover{background:#ffad002e}.lt-action-btn.lt-hidden{background:#fe510014;color:var(--colour-status-danger);border-color:#fe51002e}.lt-action-btn.lt-hidden:hover{background:#fe510024}.lt-empty{text-align:center;padding:var(--fwfa-space-7) var(--fwfa-space-4);color:var(--colour-text-subtle)}.mobile-draft-section{display:none}.mobile-draft-bar{display:flex;align-items:center;gap:var(--fwfa-space-2);width:100%;padding:.6rem 1.25rem;border:none;border-top:1px solid var(--border);background:var(--colour-surface-hover-soft);color:var(--colour-text-primary);font-size:var(--fwfa-type-sm);font-weight:500;cursor:pointer;transition:background .15s}.mobile-draft-bar:hover{background:var(--colour-surface-soft)}.mobile-draft-bar-label{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.draft-badge-dot{width:8px;height:8px;border-radius:50%;background:var(--colour-action-primary);flex-shrink:0;animation:badge-pulse 1.5s ease infinite}@keyframes badge-pulse{0%,to{opacity:1}50%{opacity:.4}}.mobile-draft-chevron{flex-shrink:0;transition:transform .2s ease;color:var(--colour-text-subtle)}.mobile-draft-chevron.flipped{transform:rotate(180deg)}.mobile-draft-content{border-top:1px solid var(--border);background:var(--colour-surface-base)}.mobile-draft-body{max-height:40vh;overflow-y:auto;padding:var(--fwfa-space-3) 1.25rem}.mobile-draft-actions{display:flex;gap:var(--fwfa-space-2);padding:var(--fwfa-space-3) 1.25rem;border-top:1px solid var(--border)}body{background:linear-gradient(160deg,var(--fwfa-page-bg) 0%,var(--fwfa-page-bg-soft) 100%);color:var(--fwfa-text)}:where(a,button,input,textarea,select):focus-visible{outline:2px solid var(--fwfa-accent-calm);outline-offset:3px}.app-shell{grid-template-rows:auto auto minmax(0,1fr);background:var(--fwfa-shell-bg)}.topbar{min-height:5rem;padding:var(--fwfa-space-4) var(--fwfa-space-5);border-bottom:0;background:color-mix(in srgb,var(--fwfa-shell-bg) 86%,transparent);box-shadow:none;backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2)}.theme-toggle.fwfa-icon-button{color:var(--fwfa-text-soft)}.theme-toggle.fwfa-icon-button[aria-pressed=true]{border-color:color-mix(in srgb,var(--fwfa-accent-calm) 42%,var(--fwfa-border));background:color-mix(in srgb,var(--fwfa-accent-calm) 12%,var(--fwfa-surface));color:var(--fwfa-accent-calm)}.brand-logo{--fwfa-logo-width: 4.75rem}.brand-lockup .brand-divider{height:18px;background:var(--fwfa-border-strong)}.brand-lockup .brand-label,.status-label,.radar-stat-label,.admin-stat-label,.log-stat-label,.roster-label,.detail-section h4,.sidecar-list dt{color:var(--fwfa-text-muted);font-family:var(--font-mono);font-size:var(--fwfa-type-micro);font-weight:700;letter-spacing:.12em;text-transform:uppercase}.brand-lockup .brand-label{font-family:var(--font-body);font-size:var(--fwfa-type-sm);font-weight:600;letter-spacing:0;text-transform:none}.topbar-actions .fwfa-button{min-width:auto;min-height:var(--fwfa-control);padding-inline:var(--fwfa-space-2);color:var(--fwfa-text-muted);font-size:var(--fwfa-type-xs);font-weight:600;letter-spacing:0}.topbar-actions .fwfa-button:hover,.topbar-actions .fwfa-button:focus-visible{color:var(--fwfa-text)}.route-nav{gap:var(--fwfa-space-1);margin-left:var(--fwfa-space-3);padding:0;border:0;border-radius:0;background:transparent}.route-stop{position:relative;min-height:var(--fwfa-tap);padding:0 var(--fwfa-space-3);border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--fwfa-text-muted);transition:color var(--fwfa-dur-fast) var(--fwfa-ease),border-color var(--fwfa-dur-fast) var(--fwfa-ease)}.route-stop:hover,.route-stop:focus-visible{color:var(--fwfa-text);background:transparent;box-shadow:none}.route-stop[aria-current=page]{color:var(--fwfa-text);border-bottom-color:var(--fwfa-accent-calm)}.vote-btn,.join-btn,.log-live-btn,.log-filter-chip,.lt-action-btn{border-radius:var(--fwfa-radius-sm);font-weight:700;transition:background-color var(--fwfa-dur-fast) var(--fwfa-ease),border-color var(--fwfa-dur-fast) var(--fwfa-ease),color var(--fwfa-dur-fast) var(--fwfa-ease),box-shadow var(--fwfa-dur-fast) var(--fwfa-ease),transform var(--fwfa-dur-fast) var(--fwfa-ease)}.log-live-btn,.log-filter-chip,.lt-action-btn{border:1px solid var(--fwfa-border);background:var(--fwfa-surface);color:var(--fwfa-text-soft)}.log-live-btn:hover,.log-filter-chip:hover,.lt-action-btn:hover,.lt-action-btn:focus-visible{border-color:var(--fwfa-border-strong);background:var(--fwfa-surface-hover);color:var(--fwfa-text);box-shadow:none}.composer-send:active{transform:translateY(0) scale(.98)}.stage-banner{min-height:2.5rem;padding:0 var(--space-page-x);border-bottom:0;background:var(--fwfa-shell-bg);color:var(--fwfa-text-muted)}.badge,.users-tech,.users-badge,.person-chip{border:1px solid var(--fwfa-border);border-radius:var(--fwfa-radius-md);background:transparent;color:var(--fwfa-text-muted);font-family:var(--font-mono);font-size:var(--fwfa-type-micro);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.stage-banner-phase{border:1px solid color-mix(in srgb,var(--fwfa-app-status) 42%,var(--fwfa-border));border-radius:var(--fwfa-radius-md);background:color-mix(in srgb,var(--fwfa-success) 10%,var(--fwfa-shell-bg));color:var(--fwfa-text-soft);font-family:var(--font-mono);font-size:var(--fwfa-type-micro);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.stage-banner-phase .phase-dot,.stage-banner-phase .fwfa-status-dot{background:var(--fwfa-app-status);animation:none}.stage-banner-phase.phase-team{border-color:color-mix(in srgb,var(--fwfa-accent-calm) 42%,var(--fwfa-border));background:color-mix(in srgb,var(--fwfa-accent-calm) 10%,var(--fwfa-shell-bg));color:var(--fwfa-accent-calm)}.stage-banner-phase.phase-closed{border-color:var(--fwfa-border);background:var(--fwfa-surface);color:var(--fwfa-text-muted)}.countdown-value{color:var(--fwfa-text-soft)}.countdown-unit,.countdown-sep,.stage-banner-message{color:var(--fwfa-text-faint)}.admin-screen,.log-screen,.users-screen,.lt-screen,.track-picker-screen{background:linear-gradient(160deg,var(--fwfa-page-bg) 0%,var(--fwfa-page-bg-soft) 100%)}.welcome-screen{padding:clamp(var(--fwfa-space-4),3vw,2.5rem) var(--fwfa-page-pad, var(--space-page-x)) var(--fwfa-space-7);background:linear-gradient(160deg,var(--fwfa-page-bg) 0%,var(--fwfa-page-bg-soft) 100%)}.welcome-hero{min-height:auto;padding:clamp(var(--fwfa-space-5),4vw,3.5rem) 0 clamp(var(--fwfa-space-4),2vw,var(--fwfa-space-5));border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}.welcome-hero .fwfa-kicker{color:var(--fwfa-accent-calm)}.welcome-hero h1{max-width:11ch;color:var(--fwfa-text);font-size:clamp(2.35rem,5vw,4.4rem)}.welcome-hero .subtitle{color:var(--fwfa-text-soft)}.welcome-hero .lead,.welcome-session-card p,.track-picker .lead,.track-current,.welcome-stop p,.muted-copy,.submission-card>p,.submission-summary,.board-sort-caption,.detail-section p,.comment-bubble p,.lt-card-info p,.users-chat-text{color:var(--fwfa-text-soft)}.welcome-session-card,.admin-section,.admin-stat-card,.log-feed,.users-card,.lt-card,.detail-panel,.comment-bubble,.track-card,.welcome-stop{border:1px solid var(--fwfa-border);border-radius:var(--fwfa-radius-md);color:var(--fwfa-text);background:var(--fwfa-surface);box-shadow:none}.welcome-session-card{gap:var(--fwfa-space-4);padding:var(--fwfa-space-5);max-width:32rem;border-color:var(--fwfa-border);background:var(--fwfa-shell-bg);-webkit-backdrop-filter:none;backdrop-filter:none}.session-card-mark,.track-icon,.log-row-icon{border:1px solid var(--fwfa-border);border-radius:var(--fwfa-radius-md);background:var(--fwfa-surface-hover);color:var(--fwfa-accent-calm)}.welcome-session-card .session-card-mark{width:16px;height:16px;border:0;border-radius:0;background:transparent;color:var(--fwfa-accent-calm)}.session-card-header{gap:var(--fwfa-space-3)}.session-card-header .fwfa-kicker{margin:0 0 var(--fwfa-space-1);color:var(--fwfa-accent-calm)}.session-card-header strong{margin:0;font-size:var(--fwfa-type-h3);line-height:var(--fwfa-leading-tight)}.session-stat-grid>div,.radar-stat-clickable{border:1px solid var(--fwfa-border);border-radius:var(--fwfa-radius-md);background:var(--fwfa-shell-bg-muted)}.session-empty-list{gap:var(--fwfa-space-2)}.session-empty-item{color:var(--fwfa-text);gap:var(--fwfa-space-3);min-height:0;line-height:var(--fwfa-leading-normal)}.session-empty-dot{border:0;border-radius:0;background:transparent;color:var(--fwfa-accent-calm)}.welcome-session-card>p{max-width:34rem;color:var(--fwfa-text-soft);font-size:var(--fwfa-type-base);line-height:var(--fwfa-leading-relaxed, 1.6)}.session-stat-grid strong,.radar-stat-value,.admin-stat-value,.log-stat-value,.lt-stat strong{color:var(--fwfa-text);font-family:var(--font-mono)}.demo-role-panel{border:0;border-radius:0;background:transparent}.demo-role-option{border-radius:var(--fwfa-radius-sm);color:var(--fwfa-text-soft)}.demo-role-option.active,.track-card-active,.radar-stat-active,.log-filter-active,.users-card-expanded{border-color:var(--fwfa-accent-calm);background:color-mix(in srgb,var(--fwfa-accent-calm) 12%,transparent);color:var(--fwfa-text);box-shadow:inset 0 0 0 999px color-mix(in srgb,var(--fwfa-accent-calm) 5%,transparent)}.welcome-stop:hover,.track-card:hover,.track-card:focus-visible,.lt-card-clickable:hover,.users-card-summary:hover{border-color:var(--fwfa-border-strong);background:var(--fwfa-surface-hover);box-shadow:none}.welcome-stops{gap:clamp(var(--fwfa-space-4),2vw,var(--fwfa-space-5))}.welcome-todo{margin-top:clamp(2.5rem,5vw,4.5rem)}.welcome-stop,.welcome-stop:hover{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none}.welcome-stop-index{border-radius:0;background:transparent;color:var(--fwfa-accent-calm)}.welcome-todo>h2,.track-picker h3,.track-card strong,.submission-card-header h3,.detail-header h2,.submit-header h1,.admin-screen h1,.admin-section h3,.log-header-left h1,.users-header h1,.lt-header h1,.lt-card-info h4,.draft-sidecar-header h3{color:var(--fwfa-text)}.welcome-footer,.welcome-footer a,.welcome-footer span{color:var(--fwfa-text-muted)}.welcome-hero{grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:clamp(var(--fwfa-space-5),4vw,var(--fwfa-space-8));align-items:center}.welcome-hero-copy{display:flex;flex-direction:column;align-items:flex-start}.welcome-headline{display:flex;flex-direction:column;font-family:var(--font-display);font-weight:700;line-height:1.05;letter-spacing:-.025em}.welcome-headline-lead{color:var(--fwfa-text)}.welcome-headline-trail{color:var(--fwfa-text-soft)}.welcome-hero-divider{display:block;width:160px;height:1px;margin:var(--fwfa-space-5) 0;background:linear-gradient(to right,var(--fwfa-border-strong),transparent)}.welcome-hero .subtitle{margin:0 0 var(--fwfa-space-3);color:var(--fwfa-text);font-weight:600}.welcome-hero .lead{margin:0 0 var(--fwfa-space-6)}.welcome-session-card{gap:0;padding:0;max-width:420px;overflow:hidden;background:var(--fwfa-surface)}.welcome-session-card .session-card-header{align-items:flex-start;justify-content:space-between;gap:var(--fwfa-space-3);padding:var(--fwfa-space-4) var(--fwfa-space-5)}.welcome-session-card .session-card-header .fwfa-kicker{display:inline-flex;align-items:center;gap:var(--fwfa-space-2);color:var(--fwfa-accent)}.welcome-session-card .session-card-header .fwfa-kicker:before{content:"";flex-shrink:0;width:5px;height:5px;border-radius:50%;background:currentColor}.session-step-chip{flex-shrink:0;padding:var(--fwfa-space-1) var(--fwfa-space-2);border:1px solid var(--fwfa-border-faint);border-radius:var(--fwfa-radius-sm);background:var(--fwfa-surface-strong);color:var(--fwfa-text-muted);font-family:var(--font-mono);font-size:var(--fwfa-type-micro);white-space:nowrap}.build-path-steps{display:flex;flex-direction:column;margin:0;padding:var(--fwfa-space-2) 0;list-style:none}.build-path-step{display:flex;gap:var(--fwfa-space-3);padding:var(--fwfa-space-4) var(--fwfa-space-5)}.build-path-step.is-active{background:color-mix(in srgb,var(--fwfa-accent-calm) 6%,transparent)}.build-path-marker{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.build-path-dot{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:1.5px solid var(--fwfa-border-strong);border-radius:50%;font-family:var(--font-mono);font-size:var(--fwfa-type-micro);font-weight:700;color:var(--fwfa-text-muted)}.build-path-step.is-active .build-path-dot{border-color:var(--fwfa-accent-calm);background:color-mix(in srgb,var(--fwfa-accent-calm) 12%,transparent);color:var(--fwfa-accent-calm)}.build-path-connector{flex:1;width:1.5px;min-height:16px;margin:var(--fwfa-space-1) 0;background:var(--fwfa-border-faint)}.build-path-step.is-active .build-path-connector{background:color-mix(in srgb,var(--fwfa-accent-calm) 22%,transparent)}.build-path-body{display:flex;flex-direction:column;gap:var(--fwfa-space-1);min-width:0;padding-bottom:var(--fwfa-space-1)}.build-path-step-title{color:var(--fwfa-text-muted);font-size:var(--fwfa-type-sm);font-weight:600;line-height:1.3}.build-path-step.is-active .build-path-step-title{color:var(--fwfa-text);font-weight:700}.build-path-step-desc{color:var(--fwfa-text-muted);font-size:var(--fwfa-type-xs);line-height:1.6}.build-path-step:not(.is-active) .build-path-step-desc{opacity:.7}.welcome-session-card .session-stat-grid{padding:var(--fwfa-space-4) var(--fwfa-space-5)}.welcome-session-card>.welcome-session-note{margin:0;max-width:none;padding:var(--fwfa-space-4) var(--fwfa-space-5);background:var(--fwfa-shell-bg-muted);color:var(--fwfa-text-muted);font-size:var(--fwfa-type-xs);font-style:italic;line-height:1.6}.welcome-todo{grid-template-columns:minmax(0,280px) minmax(0,1fr);align-items:start}.welcome-todo-head .fwfa-kicker{margin-bottom:var(--fwfa-space-3);color:var(--fwfa-text-muted)}.welcome-todo-head h2{margin:0;color:var(--fwfa-text)}.welcome-stops{grid-template-columns:repeat(3,minmax(0,1fr))}.welcome-stop,.welcome-stop:hover{display:flex;flex-direction:column;gap:var(--fwfa-space-4);padding:var(--fwfa-space-5);border:1px solid var(--fwfa-border);border-radius:var(--fwfa-radius-lg);background:var(--fwfa-surface);transform:none;transition:background .15s,border-color .15s}.welcome-stop:hover{border-color:var(--fwfa-border-strong);background:var(--fwfa-surface-hover)}.welcome-stop-top{display:flex;align-items:center;justify-content:space-between}.welcome-stop-num{font-family:var(--font-mono);font-size:2.375rem;font-weight:700;line-height:1;letter-spacing:-.04em;color:var(--fwfa-text-muted)}.welcome-stop-arrow{flex-shrink:0;color:var(--fwfa-text-muted)}.welcome-stop h3{margin:0;color:var(--fwfa-text);font-size:var(--fwfa-type-body);line-height:1.35}.welcome-stop p{margin:0;color:var(--fwfa-text-muted);font-size:var(--fwfa-type-sm);line-height:1.6}.explore-screen{background:var(--fwfa-shell-bg)}.chat-panel{border-right:1px solid var(--fwfa-border);background:linear-gradient(160deg,var(--fwfa-page-bg) 0%,var(--fwfa-page-bg-soft) 100%)}.chat-header,.chat-composer,.draft-sidecar-header,.draft-sidecar-footer,.mobile-draft-content,.admin-drawer{border-color:var(--fwfa-border);background:color-mix(in srgb,var(--fwfa-shell-bg) 88%,transparent);backdrop-filter:blur(18px) saturate(1.15);-webkit-backdrop-filter:blur(18px) saturate(1.15)}.message-list{align-items:center;gap:var(--fwfa-space-4)}.message-bubble{display:grid;gap:var(--fwfa-space-2);width:min(100%,46rem);max-width:min(100%,46rem);padding:0;border-radius:0;box-shadow:none}.message-bubble.assistant{align-self:center;border:0;background:transparent;color:var(--fwfa-text-soft)}.message-bubble.user{width:auto;max-width:min(75%,34rem);justify-self:end;align-self:center;margin-left:auto;border:1px solid var(--fwfa-border);border-radius:var(--fwfa-radius-md);padding:var(--fwfa-space-3) var(--fwfa-space-4);background:var(--fwfa-surface-hover);color:var(--fwfa-text)}.message-role{color:var(--fwfa-text-faint);opacity:1}.message-content code,.message-content pre,.users-submission-link,.mobile-draft-bar{border-radius:var(--fwfa-radius-sm);background:var(--fwfa-shell-bg-muted);color:var(--fwfa-text-soft)}.message-content blockquote{border-left:0;padding-left:0;color:var(--fwfa-text-muted)}.chat-composer{display:grid;gap:var(--fwfa-space-3)}.composer-row{position:relative;width:min(100%,46rem);margin-inline:auto;border:1px solid var(--fwfa-border-strong);border-radius:var(--fwfa-radius-md);padding:var(--fwfa-space-3);padding-right:calc(var(--fwfa-space-3) + var(--fwfa-tap) + var(--fwfa-space-2));background:color-mix(in srgb,var(--fwfa-shell-bg) 86%,white)}.composer-row:focus-within{border-color:var(--fwfa-accent-calm)}.composer-row textarea{min-height:var(--fwfa-tap);border:0;border-radius:0;padding:0;background:transparent;color:var(--fwfa-text);box-shadow:none}.composer-row textarea:focus{border-color:transparent;box-shadow:none}.composer-row textarea::placeholder,.search-input::placeholder,.field input::placeholder,.field textarea::placeholder,.comment-input::placeholder{color:var(--fwfa-text-faint)}.composer-send{--oe-orb-spot: rgba(255, 255, 255, .22);--oe-orb-mid: rgba(20, 40, 55, .85);--oe-orb-edge: rgba(10, 25, 38, .95);position:absolute;right:var(--fwfa-space-3);bottom:var(--fwfa-space-3);width:var(--fwfa-tap);height:var(--fwfa-tap);border-radius:var(--fwfa-radius-pill);background:radial-gradient(ellipse at 30% 20%,var(--oe-orb-spot) 0%,var(--oe-orb-mid) 55%,var(--oe-orb-edge) 100%);color:var(--fwfa-text);box-shadow:inset 0 0 0 1px #ffffff29,0 0 24px #ffffff1a}.composer-send:not(:disabled){--oe-orb-spot: rgba(254, 198, 1, .34);--oe-orb-mid: rgba(24, 42, 56, .85);--oe-orb-edge: rgba(10, 22, 34, .95);box-shadow:inset 0 0 0 1px #fec60180,0 0 22px #fec60147}.composer-send:hover,.composer-send:focus-visible{background:radial-gradient(ellipse at 30% 20%,var(--oe-orb-spot) 0%,var(--oe-orb-mid) 55%,var(--oe-orb-edge) 100%);transform:scale(1.05);filter:brightness(1.18)}.composer-row .composer-textarea.fwfa-textarea{min-height:var(--fwfa-tap);border:0;border-radius:0;padding:0;background:transparent;color:var(--fwfa-text);box-shadow:none;resize:none}.composer-row .composer-textarea.fwfa-textarea:focus{border-color:transparent;box-shadow:none}.composer-send.fwfa-icon-button{border:1px solid var(--fwfa-border);border-radius:var(--fwfa-radius-pill);background:var(--fwfa-surface-hover);color:var(--fwfa-text-soft);box-shadow:none;filter:none}.composer-send.fwfa-icon-button:not(:disabled){border-color:color-mix(in srgb,var(--fwfa-accent-calm) 42%,var(--fwfa-border));background:color-mix(in srgb,var(--fwfa-accent-calm) 10%,var(--fwfa-surface));color:var(--fwfa-accent-calm);box-shadow:none}.composer-send.fwfa-icon-button:hover,.composer-send.fwfa-icon-button:focus-visible{border-color:var(--fwfa-accent-calm);background:color-mix(in srgb,var(--fwfa-accent-calm) 16%,var(--fwfa-surface-hover));transform:translateY(-1px);filter:none}.demo-prompts{width:min(100%,46rem);margin-inline:auto}.prompt-chip,.status-filter-chip,.info-chip,.person-pill{border:1px solid var(--fwfa-border);border-radius:var(--fwfa-radius-md);background:var(--fwfa-shell-bg-muted);color:var(--fwfa-text-muted)}.prompt-chip:hover,.prompt-chip:focus-visible,.status-filter-chip:hover,.status-filter-chip:focus-visible,.status-filter-chip-active,.info-chip.needs-you{border-color:var(--fwfa-accent-calm);background:color-mix(in srgb,var(--fwfa-accent-calm) 10%,transparent);color:var(--fwfa-text);box-shadow:none}.board-controls-label,.status-filter-chip strong{color:var(--fwfa-text-muted)}.status-filter-chip-active strong{color:var(--fwfa-text)}.info-chip.ops,.person-chip-ops,.users-tech-non-technical{border-color:color-mix(in srgb,var(--fwfa-accent) 28%,var(--fwfa-border));background:transparent;color:var(--fwfa-text-muted)}.info-chip.tech,.person-chip-tech,.users-tech-technical{border-color:color-mix(in srgb,var(--fwfa-accent-calm) 42%,var(--fwfa-border));background:transparent;color:var(--fwfa-accent-calm)}.info-chip.needs-you{animation:none}.draft-sidecar{border-left:1px solid var(--fwfa-border);background:var(--fwfa-app-navy-925)}.sidecar-list dd,.users-card-email,.users-card-time,.log-row-label,.log-row-detail,.log-row-time,.lt-card-meta,.lt-stat,.admin-field-label span:last-child,.users-stats{color:var(--fwfa-text-muted)}.truncation-fade{background:linear-gradient(to right,transparent,var(--fwfa-app-navy-925))}.search-input,.field .fwfa-input,.field .fwfa-textarea,.field input,.field textarea,.comment-input,.prompt-editor,.admin-date-input{border:1px solid var(--fwfa-border);border-radius:var(--fwfa-radius-sm);background:var(--fwfa-field-bg);color:var(--fwfa-text)}.search-input:focus,.field .fwfa-input:focus,.field .fwfa-textarea:focus,.field input:focus,.field textarea:focus,.comment-input:focus,.prompt-editor:focus{border-color:var(--fwfa-accent-calm);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--fwfa-accent-calm) 24%,transparent)}.search-input:focus-visible{outline:none;outline-offset:0}.teamup-header,.log-header,.submit-header,.users-header,.lt-header{max-width:var(--content-max)}.app-shell:has(.submit-screen) .main-content{background:var(--fwfa-page-bg)}.app-shell:has(.teamup-screen) .main-content{background:var(--fwfa-page-bg)}.teamup-screen,.submit-screen{background:transparent}.form-grid{gap:var(--fwfa-space-4);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.submit-actions{gap:var(--fwfa-space-2);border:0}.teamup-radar{gap:var(--fwfa-space-4);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.teamup-radar>.radar-stat{padding:var(--fwfa-space-3) 0;border-block:1px solid var(--fwfa-border-faint)}.submission-card{border:1px solid var(--fwfa-border);border-radius:var(--fwfa-radius-md);background:var(--fwfa-surface);box-shadow:none}.submission-card:hover,.submission-card:focus-visible{border-color:var(--fwfa-border-strong);background:var(--fwfa-surface-hover);box-shadow:none}.submission-title-button:hover,.submission-title-button:focus-visible{color:var(--fwfa-text)}.signal-meta,.submission-author-tag,.submission-target-meta,.team-meta,.need-line{color:var(--fwfa-text-muted)}.rank-glyph{border-color:var(--fwfa-border);background:transparent;color:var(--fwfa-text-faint)}.rank-glyph-top{border-color:color-mix(in srgb,var(--fwfa-accent) 42%,var(--fwfa-border));background:transparent;color:var(--fwfa-accent)}.need-line-you{color:var(--fwfa-accent-calm)}.submission-card-starred{border-color:color-mix(in srgb,var(--fwfa-accent) 42%,var(--fwfa-border));background:var(--fwfa-surface)}.submission-card-mine{border-color:color-mix(in srgb,var(--fwfa-accent-calm) 45%,var(--fwfa-border));background:var(--fwfa-surface)}.submission-card-mine.submission-card-starred{border-color:color-mix(in srgb,var(--fwfa-accent) 48%,var(--fwfa-accent-calm));background:var(--fwfa-surface)}.badge-balanced,.users-tech-hybrid,.log-live-on{border-color:color-mix(in srgb,var(--fwfa-success) 42%,var(--fwfa-border));color:var(--fwfa-success);background:transparent}.badge-unbalanced,.badge-solo,.toast-error,.log-stat-error .log-stat-value{color:var(--fwfa-danger)}.badge-unbalanced,.badge-solo{border-color:color-mix(in srgb,var(--fwfa-danger) 42%,var(--fwfa-border));background:transparent}.badge-full{color:var(--fwfa-text-muted);background:transparent}.badge-open{border-color:var(--fwfa-accent-calm);color:var(--fwfa-accent-calm);background:transparent}.badge-yours,.badge-starred,.lt-action-btn.lt-starred{border-color:color-mix(in srgb,var(--fwfa-accent) 38%,var(--fwfa-border));background:transparent;color:var(--fwfa-text-soft)}.badge-starred svg,.lt-action-btn.lt-starred{color:var(--fwfa-accent);fill:var(--fwfa-accent);stroke:var(--fwfa-accent)}.danger-text,.comment-delete:hover,.lt-action-btn.lt-hidden{color:var(--fwfa-danger)!important}.detail-panel{border-color:var(--fwfa-border);background:var(--fwfa-surface)}.detail-header,.detail-discussion,.users-card-detail,.log-row-expanded-details,.mobile-draft-content,.mobile-draft-actions,.admin-field,.submit-actions{border-color:var(--fwfa-border)}.ideation-closed-notice{border:1px solid color-mix(in srgb,var(--fwfa-warning) 34%,var(--fwfa-border));border-radius:var(--fwfa-radius-md);background:transparent;color:var(--fwfa-text-soft)}.toggle-track{background:var(--fwfa-surface-strong)}.toggle-switch{display:inline-flex;align-items:center;min-height:var(--fwfa-tap)}.toggle-switch input:focus-visible+.toggle-track{outline:2px solid var(--fwfa-accent-calm);outline-offset:3px}.toggle-switch input:checked+.toggle-track{background:var(--fwfa-accent-calm)}.toast,.refresh-pill{border:1px solid var(--fwfa-border);border-radius:var(--fwfa-radius-md);background:var(--fwfa-surface-strong);color:var(--fwfa-text);box-shadow:var(--fwfa-shadow-float)}.toast-error{background:color-mix(in srgb,var(--fwfa-danger) 18%,var(--fwfa-shell-bg))}.refresh-pill{background:color-mix(in srgb,var(--fwfa-accent-calm) 16%,var(--fwfa-shell-bg))}@supports not (backdrop-filter: blur(1px)){.topbar,.chat-header,.chat-composer,.draft-sidecar-header,.draft-sidecar-footer,.admin-drawer{background:var(--fwfa-shell-bg)}}@media(prefers-reduced-transparency:reduce){.topbar,.chat-header,.chat-composer,.draft-sidecar-header,.draft-sidecar-footer,.admin-drawer{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--fwfa-shell-bg)}}@media(max-width:64rem){body{overflow:auto}.app-shell{height:auto;min-height:100dvh}.brand-divider,.brand-label{display:none}body:has(.explore-screen){overflow:hidden}.app-shell:has(.explore-screen){height:100dvh}.explore-screen{display:flex;flex-direction:column}.welcome-hero{grid-template-columns:1fr}.chat-panel{flex:1;min-height:0;border-right:none}.draft-sidecar{display:none}.mobile-draft-section{display:block}.welcome-todo{grid-template-columns:1fr;gap:var(--fwfa-space-5)}.welcome-stops{grid-template-columns:repeat(2,1fr)}.teamup-radar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:40rem){.topbar{height:auto;min-height:4rem;padding:.7rem .85rem;gap:var(--fwfa-space-2)}.route-nav{margin-left:auto}.stage-banner{flex-wrap:wrap;justify-content:center;gap:.4rem .65rem;min-height:2.5rem;padding-block:.35rem}.stage-banner-label{display:inline-flex}.route-nav{margin-left:0}.route-stop>span:not(.route-stop-icon){display:none}.route-stop{padding:.4rem .55rem}.chat-header{padding:var(--fwfa-space-2) var(--fwfa-space-4)}.chat-header-left h1{font-size:var(--fwfa-type-sm)}.chat-header-actions .explore-header-action{font-size:0;gap:0;padding:0}.chat-header-actions .explore-header-action svg{width:14px;height:14px}.welcome-stops{grid-template-columns:1fr}.welcome-screen{padding:var(--fwfa-space-4)}.welcome-hero{padding:var(--fwfa-space-4) 0 1.25rem}.welcome-hero h1{font-size:3rem}.welcome-hero .subtitle{font-size:1.2rem}.welcome-hero .lead{max-width:20rem;font-size:var(--fwfa-type-h3)}.hero-actions{margin-top:1.25rem}.demo-role-panel{margin-top:var(--fwfa-space-3)}.welcome-session-card p{font-size:var(--fwfa-type-sm);line-height:1.45}.session-empty-item{min-height:36px}.session-empty-dot{min-width:1ch}.session-stat-grid,.teamup-radar{grid-template-columns:1fr}.teamup-radar-prioritisation{grid-template-columns:repeat(3,minmax(0,1fr))}.teamup-radar-prioritisation .radar-stat{min-height:3.25rem}.teamup-header,.board-controls,.board-control-section,.board-sort-field{align-items:stretch;flex-direction:column}.board-control-section,.board-sort-field{gap:var(--fwfa-space-2)}.board-sort-field select{width:100%}.board-empty-state{grid-template-columns:1fr;justify-items:center;min-height:12rem;text-align:center}.board-empty-state button{justify-self:center}.search-input{width:100%}.form-grid{grid-template-columns:1fr}.message-bubble{max-width:90%}.mobile-draft-body{max-height:35vh}}@media(max-width:40rem){.route-stop,.chat-header-actions .explore-header-action,.mobile-draft-bar,.vote-btn,.join-btn,.log-filter-chip,.log-live-btn,.lt-action-btn,.search-input,.field input,.comment-input,.admin-date-input{min-width:44px;min-height:44px}.chat-header-actions .explore-header-action{justify-content:center;padding:0}.vote-btn,.join-btn{padding-inline:.85rem}}.fwfa-root .fwfa-button,.fwfa-root .fwfa-icon-button{min-height:var(--fwfa-tap)}.fwfa-root .topbar-actions .fwfa-button{min-width:auto;min-height:var(--fwfa-control);padding-inline:var(--fwfa-space-2);color:var(--fwfa-text-muted);font-size:var(--fwfa-type-xs);font-weight:600}.fwfa-root .topbar-actions .fwfa-button:hover,.fwfa-root .topbar-actions .fwfa-button:focus-visible{color:var(--fwfa-text)}.fwfa-root .status-filter-chip.fwfa-button,.board-sort-field .fwfa-select{min-height:2.25rem;padding-block:0}.fwfa-root .status-filter-chip.fwfa-button{padding-inline:var(--fwfa-space-3)}.fwfa-root select.fwfa-select{background-image:var(--fwfa-icon-chevron);background-repeat:no-repeat;background-position:right var(--fwfa-space-3) center;background-size:1.1rem}.fwfa-root .fwfa-select:focus,.fwfa-root .fwfa-select:focus-visible{outline:none;border-color:var(--fwfa-accent-calm);box-shadow:inset 0 0 0 1px var(--fwfa-accent-calm)}@media(pointer:coarse){.fwfa-root .status-filter-chip.fwfa-button,.board-sort-field .fwfa-select{min-height:var(--fwfa-tap)}.board-sort-trigger{height:var(--fwfa-tap)}}@media(max-width:48rem){.fwfa-root .status-filter-chip.fwfa-button,.board-sort-field .fwfa-select{min-height:var(--fwfa-tap)}.board-sort-trigger{height:var(--fwfa-tap)}}.route-stop.fwfa-tab{min-height:var(--fwfa-tap)}.demo-role-option.fwfa-button,.prompt-chip.fwfa-button,.log-live-btn.fwfa-button,.log-filter-chip.fwfa-button,.submission-title-button.fwfa-button{border-radius:var(--fwfa-radius-sm)}.track-card.fwfa-button{display:flex;flex-direction:column;width:100%;min-height:10rem;padding:var(--fwfa-space-5);white-space:normal}.track-card.fwfa-button strong,.track-card.fwfa-button span{white-space:normal}.mobile-draft-action,.draft-sidecar-secondary-action{flex:1}.mobile-draft-bar.fwfa-button{width:100%;justify-content:flex-start;border-radius:0}.draft-sidecar-icon{color:var(--colour-text-subtle)}.composer-send.fwfa-icon-button{width:var(--fwfa-tap);height:var(--fwfa-tap);flex-shrink:0;border-radius:var(--fwfa-radius-pill)}.radar-stat.fwfa-button{display:grid;gap:var(--fwfa-space-1);justify-items:center;min-height:4rem;white-space:normal}.submission-title-button.fwfa-button{display:inline;min-height:0;padding:0;text-align:left;white-space:normal}.detail-chip-row{margin-bottom:var(--fwfa-space-2)}.detail-discussion-note{font-size:var(--fwfa-type-xs)}.comment-delete.fwfa-icon-button,.lt-action-btn.fwfa-icon-button{color:var(--colour-text-subtle)}.admin-stat-card.fwfa-card,.users-card.fwfa-card,.lt-card.fwfa-card{box-shadow:none}.users-tech.fwfa-badge,.users-badge.fwfa-badge,.info-chip.fwfa-badge,.person-chip.fwfa-badge{border-radius:var(--fwfa-radius-md)}.session-card-mark,.track-icon,.board-empty-mark,.log-row-icon{flex-shrink:0;width:1.5rem;height:1.5rem;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--fwfa-accent-calm)}.session-card-header{align-items:flex-start;gap:var(--fwfa-space-3)}.session-card-header .fwfa-kicker{color:var(--fwfa-accent-calm);font-size:var(--fwfa-type-xs);line-height:var(--fwfa-leading-tight);letter-spacing:.08em}.session-card-header strong{margin-top:var(--fwfa-space-1);color:var(--fwfa-text);font-size:var(--fwfa-type-h3);line-height:var(--fwfa-leading-tight)}.track-icon{margin:0;box-sizing:border-box;color:var(--fwfa-text-muted)}.track-card:first-child .track-icon{color:var(--fwfa-accent-calm)}.log-row-icon{justify-content:flex-start;color:var(--fwfa-text-muted);font-size:var(--fwfa-type-xs)}.log-icon-auth,.log-icon-explore,.log-icon-submit,.log-icon-team,.log-icon-social,.log-icon-admin,.log-icon-error{background:transparent}.explore-screen{grid-template-columns:minmax(0,1fr) minmax(19rem,24rem);gap:var(--fwfa-space-4);box-sizing:border-box;width:100%;max-width:100%;height:100%;min-height:0;min-width:0;padding:var(--fwfa-space-4) var(--space-page-x) var(--fwfa-space-5);background:radial-gradient(circle at 24% 0%,color-mix(in srgb,var(--fwfa-accent-calm) 7%,transparent),transparent 34rem),linear-gradient(160deg,var(--fwfa-page-bg) 0%,var(--fwfa-page-bg-soft) 100%)}.chat-panel.fwfa-panel,.draft-sidecar.fwfa-panel{min-height:0;min-width:0;max-width:100%;padding:0;overflow:hidden;border-color:var(--fwfa-border);border-radius:var(--fwfa-radius-md);background:var(--fwfa-shell-bg);box-shadow:none}.chat-panel.fwfa-panel{display:flex;flex-direction:column;border-right:1px solid var(--fwfa-border)}.chat-header,.draft-sidecar-header{min-height:5rem;padding:var(--fwfa-space-4) var(--fwfa-space-5);border-bottom:1px solid var(--fwfa-border-faint);background:var(--fwfa-shell-bg);backdrop-filter:none;-webkit-backdrop-filter:none}.chat-header-left{min-width:0}.chat-header-left .fwfa-kicker,.draft-sidecar-header .fwfa-kicker{margin-bottom:var(--fwfa-space-1);color:var(--fwfa-accent-calm)}.chat-header-left h1{max-width:16rem;font-size:var(--fwfa-type-h2)}.explore-header-action.fwfa-button{min-height:var(--fwfa-control);padding-inline:var(--fwfa-space-2);color:var(--fwfa-text-muted);font-size:var(--fwfa-type-xs)}.explore-header-action.fwfa-button:hover,.explore-header-action.fwfa-button:focus-visible{color:var(--fwfa-text);transform:translateY(-1px)}.message-list{flex:1;min-height:0;overflow-y:auto;padding:var(--fwfa-space-6) var(--fwfa-space-5)}.message-stack.fwfa-message-stack{width:min(100%,46rem)}.message-stack .message-bubble{width:auto;max-width:min(100%,42rem);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:var(--fwfa-type-sm);line-height:var(--fwfa-leading-body)}.message-stack .message-bubble.user{max-width:min(75%,34rem);padding:var(--fwfa-space-3) var(--fwfa-space-4);border:1px solid var(--fwfa-border);border-radius:var(--fwfa-radius-md);background:var(--fwfa-surface-hover);color:var(--fwfa-text)}.message-role{margin:0;color:var(--fwfa-text-faint);font-family:var(--font-mono);font-size:var(--fwfa-type-micro);font-weight:700;letter-spacing:.08em;line-height:var(--fwfa-leading-tight);opacity:1;text-transform:uppercase}.thinking-indicator.fwfa-thinking{width:min(100%,42rem)}.chat-composer{display:grid;gap:var(--fwfa-space-3);padding:var(--fwfa-space-4) var(--fwfa-space-5);background:var(--fwfa-shell-bg);backdrop-filter:none;-webkit-backdrop-filter:none}.demo-prompts{width:min(100%,46rem);margin:0 auto;color:var(--fwfa-text-muted);font-family:var(--font-mono);font-size:var(--fwfa-type-micro);letter-spacing:.08em}.demo-prompt-list{gap:var(--fwfa-space-2)}.prompt-chip.fwfa-button{min-height:2rem;border-radius:var(--fwfa-radius-sm);font-size:var(--fwfa-type-xs)}.composer-row.fwfa-composer{width:min(100%,46rem);margin-inline:auto;border-color:var(--fwfa-border);background:var(--fwfa-shell-bg-muted);box-shadow:inset 0 1px color-mix(in srgb,white 4%,transparent)}.composer-row.fwfa-composer:focus-within{border-color:var(--fwfa-accent-calm);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--fwfa-accent-calm) 24%,transparent)}.composer-row .composer-textarea{width:100%;min-height:0;max-height:8rem;border:0;padding:0;resize:none;background:transparent;color:var(--fwfa-text);font-size:var(--fwfa-type-sm);line-height:var(--fwfa-leading-body);outline:0}.composer-row .composer-textarea::placeholder{color:var(--fwfa-text-faint)}.composer-row .composer-send.fwfa-glass-orb{position:absolute;right:var(--fwfa-space-3);top:0;bottom:0;margin-block:auto;width:var(--fwfa-tap);height:var(--fwfa-tap);border-color:transparent;background:transparent;color:var(--fwfa-text-soft);box-shadow:none;filter:none}.composer-row .composer-send.fwfa-glass-orb--gold{border-color:transparent;background:transparent;color:var(--fwfa-accent)}.composer-row .composer-send.fwfa-glass-orb:hover,.composer-row .composer-send.fwfa-glass-orb:focus-visible{border-color:var(--fwfa-accent-calm);color:var(--fwfa-text);transform:translateY(-1px)}.composer-row .composer-send.fwfa-glass-orb:disabled{border-color:var(--fwfa-border);color:var(--fwfa-text-faint);opacity:.45;transform:none}.draft-sidecar.fwfa-panel{display:flex;flex-direction:column;overflow-y:hidden}.draft-sidecar-header h3{color:var(--fwfa-text);font-size:var(--fwfa-type-h3);line-height:var(--fwfa-leading-tight)}.draft-sidecar-icon{color:var(--fwfa-text-muted)}.draft-sidecar-body{flex:1;min-height:0;overflow-y:auto;padding:var(--fwfa-space-5)}.sidecar-list{gap:var(--fwfa-space-4)}.sidecar-list dd{color:var(--fwfa-text-soft);font-size:var(--fwfa-type-sm)}.truncation-fade{background:linear-gradient(to right,transparent,var(--fwfa-shell-bg))}.draft-sidecar-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--fwfa-space-2);padding:var(--fwfa-space-3) var(--fwfa-space-5);border-top:1px solid var(--fwfa-border-faint);background:var(--fwfa-shell-bg);backdrop-filter:none;-webkit-backdrop-filter:none}.draft-sidecar-footer .fwfa-button,.mobile-draft-actions .fwfa-button{min-width:auto;min-height:var(--fwfa-control);padding:0 var(--fwfa-space-3);font-size:var(--fwfa-type-xs);line-height:var(--fwfa-leading-tight)}.draft-sidecar-footer .fwfa-button{flex:0 0 auto}.draft-sidecar-footer .fwfa-button--primary{min-width:6.25rem}.draft-sidecar-secondary-action.fwfa-button{flex:0 0 auto;color:var(--fwfa-text-muted)}.mobile-draft-section{border-top:1px solid var(--fwfa-border-faint)}.mobile-draft-bar.fwfa-button{min-height:var(--fwfa-tap);padding-inline:var(--fwfa-space-4);background:var(--fwfa-shell-bg)}.mobile-draft-content{border-top:1px solid var(--fwfa-border-faint);background:var(--fwfa-shell-bg)}.mobile-draft-actions{align-items:center}.mobile-draft-action.fwfa-button{flex:1 1 0}@media(pointer:coarse){.draft-sidecar-footer .fwfa-button,.mobile-draft-actions .fwfa-button{min-height:var(--fwfa-tap)}}@media(max-width:64rem){.explore-screen{display:flex;flex-direction:column;inline-size:100vw;max-inline-size:100vw;padding:var(--fwfa-space-3)}.chat-panel.fwfa-panel{flex:1;min-height:0;border-right:1px solid var(--fwfa-border)}.draft-sidecar.fwfa-panel{display:none}}@media(max-width:40rem){.explore-screen{padding:var(--fwfa-space-2)}.chat-panel.fwfa-panel{border-radius:var(--fwfa-radius-sm)}.chat-header,.chat-composer{padding-inline:var(--fwfa-space-3)}.chat-header-left h1{font-size:var(--fwfa-type-h3)}.message-list{padding:var(--fwfa-space-4) var(--fwfa-space-3)}.message-stack .message-bubble.user{max-width:min(88%,32rem)}.demo-prompts{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}@layer fwfa.tokens,fwfa.base,fwfa.components,fwfa.patterns;@layer fwfa.tokens,fwfa.base,fwfa.components,fwfa.patterns;@layer fwfa.tokens{:root{--fwfa-fwf-navy: #081B33;--fwfa-fwf-yellow: #FEC601;--fwfa-fwf-yellow-50: #FFE380;--fwfa-fwf-orange: #FE5100;--fwfa-fwf-orange-60: #FE9766;--fwfa-fwf-sky: #77BDDB;--fwfa-fwf-sky-60: #ADD7E9;--fwfa-fwf-sky-20: #E4F2F8;--fwfa-fwf-green: #6CBE45;--fwfa-fwf-muted-blue: #335561;--fwfa-fwf-charcoal: #525252;--fwfa-fwf-near-black: #222222;--fwfa-fwf-navy-mid: #0a2138;--fwfa-fwf-navy-deep: #0c2a4a}}@layer fwfa.tokens{:root,[data-fwf-app-theme=dark]{--fwfa-app-navy-950: #020e15;--fwfa-app-navy-925: #051520;--fwfa-app-navy-900: #001a24;--fwfa-app-navy-850: #00202e;--fwfa-app-navy-800: #002a39;--fwfa-app-navy-700: #003d52;--fwfa-app-status: #6fab1b;color-scheme:dark;--fwfa-page-bg: var(--fwfa-app-navy-950);--fwfa-page-bg-soft: #071b25;--fwfa-shell-bg: #021a26;--fwfa-shell-bg-muted: rgba(255, 255, 255, .02);--fwfa-surface: rgba(255, 255, 255, .045);--fwfa-surface-hover: rgba(255, 255, 255, .07);--fwfa-surface-strong: rgba(255, 255, 255, .095);--fwfa-field-bg: color-mix(in srgb, var(--fwfa-shell-bg) 82%, black);--fwfa-border: rgba(255, 255, 255, .08);--fwfa-border-strong: rgba(255, 255, 255, .14);--fwfa-border-faint: rgba(255, 255, 255, .045);--fwfa-text: #ffffff;--fwfa-text-soft: #ccd4d7;--fwfa-text-muted: #99aab0;--fwfa-text-faint: #8a9ba1;--fwfa-accent: var(--fwfa-fwf-yellow);--fwfa-accent-strong: var(--fwfa-fwf-orange);--fwfa-accent-calm: var(--fwfa-fwf-sky);--fwfa-success: var(--fwfa-fwf-green);--fwfa-warning: var(--fwfa-fwf-yellow);--fwfa-danger: var(--fwfa-fwf-orange);--fwfa-info: var(--fwfa-fwf-sky);--fwfa-fwf-logo: url(/assets/fwf-logo-dark-KPCoG0kw.svg);--fwfa-primary-ink: var(--fwfa-app-navy-950);--fwfa-primary-hover: #ececec;--fwfa-primary-active: #d9d9d9;--fwfa-font-display: "Ubuntu", system-ui, -apple-system, "Segoe UI", sans-serif;--fwfa-font-body: "Wonder Unit Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--fwfa-font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--fwfa-type-hero: clamp(2rem, calc(1.55rem + 1.94vw) , 3rem);--fwfa-type-h1: clamp(1.75rem, calc(1.4rem + 1.2vw) , 2.5rem);--fwfa-type-h2: clamp(1.35rem, calc(1.18rem + .6vw) , 1.75rem);--fwfa-type-h3: 1.125rem;--fwfa-type-body: 1rem;--fwfa-type-sm: .875rem;--fwfa-type-xs: .75rem;--fwfa-type-micro: .6875rem;--fwfa-leading-tight: 1.12;--fwfa-leading-body: 1.55;--fwfa-weight-label: 500;--fwfa-space-1: .25rem;--fwfa-space-2: .5rem;--fwfa-space-3: .75rem;--fwfa-space-4: 1rem;--fwfa-space-5: 1.5rem;--fwfa-space-6: 2rem;--fwfa-space-7: 3rem;--fwfa-space-8: 4rem;--fwfa-page-pad: clamp(1.5rem, 5vw, 5rem);--fwfa-content-max: 73.75rem;--fwfa-shell-max: 82rem;--fwfa-sidebar-width: 21rem;--fwfa-topbar-height: 3rem;--fwfa-grid-min: 16rem;--fwfa-grid-gap: var(--fwfa-space-4);--fwfa-stack-gap: var(--fwfa-space-4);--fwfa-cluster-gap: var(--fwfa-space-3);--fwfa-statusbar-height: 2.75rem;--fwfa-radius-xs: .125rem;--fwfa-radius-sm: .25rem;--fwfa-radius-md: .375rem;--fwfa-radius-lg: .5rem;--fwfa-radius-pill: 9999px;--fwfa-shadow-soft: 0 12px 28px rgba(0, 0, 0, .22);--fwfa-shadow-float: 0 16px 48px rgba(0, 0, 0, .42);--fwfa-shadow-hairline: none;--fwfa-focus: 0 0 0 3px rgba(119, 189, 219, .34);--fwfa-tap: 2.75rem;--fwfa-control: 1.8rem;--fwfa-control-compact: 1.6rem;--fwfa-button-min: 4rem;--fwfa-dur-fast: .12s;--fwfa-dur-base: .2s;--fwfa-dur-slow: .32s;--fwfa-ease: cubic-bezier(.2, .8, .2, 1);--fwfa-icon-info: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><path d='M12 16v-4'/><path d='M12 8h.01'/></svg>");--fwfa-icon-tip: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .962 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.962 0Z'/><path d='M20 3v4'/><path d='M22 5h-4'/><path d='M4 17v2'/><path d='M5 18H3'/></svg>");--fwfa-icon-warn: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z'/><path d='M12 9v4'/><path d='M12 17h.01'/></svg>");--fwfa-icon-success: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><path d='m9 12 2 2 4-4'/></svg>");--fwfa-icon-danger: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><path d='m15 9-6 6'/><path d='m9 9 6 6'/></svg>");--fwfa-icon-check: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>");--fwfa-icon-chevron: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2399aab0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>")}[data-fwf-app-theme=light]{color-scheme:light;--fwfa-page-bg: #ffffff;--fwfa-page-bg-soft: #f6f8f9;--fwfa-shell-bg: #ffffff;--fwfa-shell-bg-muted: rgba(8, 27, 51, .025);--fwfa-surface: #ffffff;--fwfa-surface-hover: #f3f5f6;--fwfa-surface-strong: #e9edee;--fwfa-field-bg: #ffffff;--fwfa-border: #b3bfc4;--fwfa-border-strong: #99aab0;--fwfa-border-faint: rgba(8, 27, 51, .06);--fwfa-text: var(--fwfa-fwf-navy);--fwfa-text-soft: var(--fwfa-fwf-charcoal);--fwfa-text-muted: #65747b;--fwfa-text-faint: #69767c;--fwfa-fwf-logo: url(/assets/fwf-logo-light-DMgckB2D.svg);--fwfa-primary-ink: #ffffff;--fwfa-primary-hover: #11355c;--fwfa-primary-active: #050f1b;--fwfa-icon-chevron: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2365747b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");--fwfa-focus: 0 0 0 3px rgba(8, 27, 51, .18);--fwfa-shadow-soft: 0 12px 28px rgba(8, 27, 51, .08);--fwfa-shadow-float: 0 16px 48px rgba(8, 27, 51, .14);--fwfa-shadow-hairline: 0 1px 3px rgba(8, 27, 51, .09)}}@layer fwfa.base{.fwfa-root,.fwfa-root *{box-sizing:border-box}.fwfa-root{min-height:100%;background:var(--fwfa-page-bg);color:var(--fwfa-text);font-family:var(--fwfa-font-body);line-height:var(--fwfa-leading-body);text-rendering:optimizeLegibility}.fwfa-root button,.fwfa-root input,.fwfa-root select,.fwfa-root textarea{font:inherit}.fwfa-root button,.fwfa-root a,.fwfa-root input,.fwfa-root select,.fwfa-root textarea{outline-offset:3px}.fwfa-root :focus-visible{outline:2px solid var(--fwfa-accent-calm);outline-offset:3px}.fwfa-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){.fwfa-root *,.fwfa-root *:before,.fwfa-root *:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}}@layer fwfa.components{.fwfa-container{width:min(100%,var(--fwfa-content-max));margin-inline:auto}.fwfa-page-header{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--fwfa-space-4);margin-bottom:var(--fwfa-space-5)}.fwfa-page-header-actions,.fwfa-action-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--fwfa-space-2)}.fwfa-section{display:grid;gap:var(--fwfa-space-4)}.fwfa-section+.fwfa-section{margin-top:var(--fwfa-space-6)}.fwfa-section-header{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:var(--fwfa-space-3)}.fwfa-stack{display:flex;flex-direction:column;gap:var(--fwfa-stack-gap, var(--fwfa-space-4))}.fwfa-cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--fwfa-cluster-gap, var(--fwfa-space-3))}.fwfa-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--fwfa-grid-min, 16rem)),1fr));gap:var(--fwfa-grid-gap, var(--fwfa-space-4))}.fwfa-split{display:grid;grid-template-columns:minmax(0,var(--split-main, 1fr)) minmax(min(100%,var(--split-side-min, 16rem)),var(--split-side, 22rem));gap:var(--fwfa-grid-gap, var(--fwfa-space-4));align-items:start}.fwfa-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--fwfa-space-3);padding:var(--fwfa-space-3);border:1px solid var(--fwfa-border);border-radius:var(--fwfa-radius-md);background:var(--fwfa-surface)}.fwfa-toolbar-group{display:flex;flex-wrap:wrap;align-items:center;gap:var(--fwfa-space-2)}.fwfa-kicker{margin:0;margin-bottom:var(--fwfa-space-3);color:var(--fwfa-text-muted);font-family:var(--fwfa-font-mono);font-size:var(--fwfa-type-micro);font-weight:var(--fwfa-weight-label);letter-spacing:.16em;text-transform:uppercase}.fwfa-title{margin:0;color:var(--fwfa-text);font-family:var(--fwfa-font-display);font-size:var(--fwfa-type-h1);font-weight:700;line-height:var(--fwfa-leading-tight);letter-spacing:0}.fwfa-subtitle{max-width:68ch;margin:0;color:var(--fwfa-text-soft);font-size:var(--fwfa-type-body)}.fwfa-title--section{font-size:var(--fwfa-type-h2)}.fwfa-title--component{font-size:var(--fwfa-type-h3)}.fwfa-subtitle--sm{font-size:var(--fwfa-type-sm)}.fwfa-popover{border:1px solid var(--fwfa-border);border-radius:var(--fwfa-radius-md);background:var(--fwfa-surface);color:var(--fwfa-text)}.fwfa-menu{display:flex;flex-direction:column;gap:1px;min-width:12rem;padding:var(--fwfa-space-1);border:1px solid var(--fwfa-border-strong);border-radius:var(--fwfa-radius-md);background:var(--fwfa-shell-bg);box-shadow:var(--fwfa-shadow-float)}.fwfa-menu-item{display:flex;align-items:center;justify-content:space-between;gap:var(--fwfa-space-3);width:100%;min-height:var(--fwfa-control);border:0;border-radius:var(--fwfa-radius-sm);padding:var(--fwfa-space-2) var(--fwfa-space-3);background:transparent;color:var(--fwfa-text-soft);font:inherit;font-size:var(--fwfa-type-sm);text-align:left;cursor:pointer;transition:background-color var(--fwfa-dur-fast) var(--fwfa-ease),color var(--fwfa-dur-fast) var(--fwfa-ease)}.fwfa-menu-item:hover{background:var(--fwfa-surface-hover);color:var(--fwfa-text)}.fwfa-menu-item[aria-selected=true],.fwfa-menu-item[aria-checked=true]{color:var(--fwfa-text)}.fwfa-menu-item[aria-selected=true]:after,.fwfa-menu-item[aria-checked=true]:after{content:"";flex:none;width:1rem;height:1rem;background-color:var(--fwfa-accent-calm);-webkit-mask:var(--fwfa-icon-check) center / 1rem no-repeat;mask:var(--fwfa-icon-check) center / 1rem no-repeat}.fwfa-menu-item .fwfa-menu-item-meta{margin-left:auto;color:var(--fwfa-text-faint);font-family:var(--fwfa-font-mono);font-size:var(--fwfa-type-xs)}.fwfa-menu-item[aria-selected=true] .fwfa-menu-item-meta,.fwfa-menu-item[aria-checked=true] .fwfa-menu-item-meta{margin-left:auto}.fwfa-menu-separator{height:1px;margin:var(--fwfa-space-1) 0;background:var(--fwfa-border-faint)}.fwfa-panel{border:1px solid var(--fwfa-border);border-radius:var(--fwfa-radius-md);padding:var(--fwfa-space-5);color:var(--fwfa-text);background:var(--fwfa-surface);box-shadow:var(--fwfa-shadow-hairline)}.fwfa-card{border:1px solid var(--fwfa-border);border-radius:var(--fwfa-radius-md);padding:var(--fwfa-space-4);color:var(--fwfa-text);background:var(--fwfa-surface);box-shadow:var(--fwfa-shadow-hairline);transition:transform var(--fwfa-dur-base) var(--fwfa-ease),background var(--fwfa-dur-base) var(--fwfa-ease),border-color var(--fwfa-dur-base) var(--fwfa-ease)}.fwfa-card[href],.fwfa-card[role=button],.fwfa-card--interactive{cursor:pointer}.fwfa-card[href]:hover,.fwfa-card[role=button]:hover,.fwfa-card--interactive:hover{transform:translateY(-2px);border-color:var(--fwfa-border-strong);background:var(--fwfa-surface-hover)}.fwfa-fwf-logo{display:block;width:var(--logo-width, 7rem);max-width:100%;aspect-ratio:429 / 188;flex:none;background:var(--fwfa-fwf-logo) left center / contain no-repeat}.fwfa-fwf-logo--sm{--logo-width: 5rem}.fwfa-fwf-logo--lg{--logo-width: 11.5rem}.fwfa-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--icon-size, 1.25rem);height:var(--icon-size, 1.25rem);flex:none;padding:0;background:none;color:var(--icon-colour, currentColor);line-height:1;vertical-align:middle}.fwfa-icon>svg,.fwfa-icon>img{display:block;width:100%;height:100%}.fwfa-icon--framed{--icon-size: 1.25rem;box-sizing:content-box;padding:var(--fwfa-space-3);border:1px solid var(--fwfa-border);border-radius:var(--fwfa-radius-md);background:var(--fwfa-surface);color:var(--fwfa-text-soft);box-shadow:var(--fwfa-shadow-hairline)}.fwfa-button,.fwfa-icon-button{min-width:var(--fwfa-control);min-height:var(--fwfa-control);border:0;cursor:pointer;text-decoration:none}.fwfa-button{--btn-ink: var(--fwfa-text);min-width:var(--fwfa-button-min);display:inline-flex;align-items:center;justify-content:center;gap:var(--fwfa-space-2);border-radius:var(--fwfa-radius-sm);padding:0 var(--fwfa-space-3);font-size:var(--fwfa-type-sm);font-weight:600;line-height:1;letter-spacing:.02em;white-space:nowrap;transition:background-color var(--fwfa-dur-fast) var(--fwfa-ease),border-color var(--fwfa-dur-fast) var(--fwfa-ease),color var(--fwfa-dur-fast) var(--fwfa-ease),box-shadow var(--fwfa-dur-fast) var(--fwfa-ease),transform var(--fwfa-dur-fast) var(--fwfa-ease)}.fwfa-root .fwfa-button{font-size:var(--fwfa-type-sm)}.fwfa-button:hover{transform:translateY(-1px)}.fwfa-button:active{transform:translateY(0)}.fwfa-button--compact{min-width:var(--fwfa-control-compact);min-height:var(--fwfa-control-compact);padding:0 var(--fwfa-space-3)}.fwfa-root .fwfa-button--compact{font-size:var(--fwfa-type-xs)}.fwfa-button--primary{--btn-ink: var(--fwfa-primary-ink);border:1px solid var(--fwfa-text);background:var(--fwfa-text);color:var(--fwfa-primary-ink);box-shadow:0 10px 24px #0000002e}.fwfa-button--primary:hover{background:var(--fwfa-primary-hover);border-color:var(--fwfa-primary-hover);box-shadow:0 6px 16px #00000073,0 1px 3px #0000004d}.fwfa-button--primary:active{background:var(--fwfa-primary-active);border-color:var(--fwfa-primary-active);box-shadow:none}.fwfa-button--primary.fwfa-button--compact{box-shadow:0 2px 8px #0003}.fwfa-button--primary.fwfa-button--compact:hover{box-shadow:0 4px 12px #00000061,0 1px 3px #00000038}[data-fwf-app-theme=light] .fwfa-button--primary:hover{box-shadow:0 6px 16px #081b3338,0 1px 3px #081b332e}[data-fwf-app-theme=light] .fwfa-button--primary.fwfa-button--compact:hover{box-shadow:0 4px 12px #081b3333,0 1px 3px #081b3324}.fwfa-button--secondary{border:1px solid var(--fwfa-border-strong);background:var(--fwfa-surface);color:var(--fwfa-text)}.fwfa-button--secondary:hover{background:var(--fwfa-surface-hover)}.fwfa-button--secondary:active{background:var(--fwfa-surface-strong)}.fwfa-button--ghost{background:transparent;color:var(--fwfa-text-soft)}.fwfa-button--ghost:hover{background:var(--fwfa-surface-hover);color:var(--fwfa-text)}.fwfa-button--danger{--btn-ink: var(--fwfa-text);border:1px solid var(--fwfa-danger);background:transparent;color:var(--fwfa-text-soft)}.fwfa-button--danger:hover{border-color:var(--fwfa-danger);background:color-mix(in srgb,var(--fwfa-danger) 16%,transparent);color:var(--fwfa-text)}.fwfa-button--danger:active{background:color-mix(in srgb,var(--fwfa-danger) 24%,transparent)}[data-fwf-app-theme=light] .fwfa-button--danger{--btn-ink: var(--fwfa-text);color:var(--fwfa-text-soft)}.fwfa-button.is-loading{position:relative;color:transparent;pointer-events:none}.fwfa-button.is-loading:after{content:"";position:absolute;width:.9rem;height:.9rem;border:2px solid var(--btn-ink);border-right-color:transparent;border-radius:50%;animation:fwfa-spin .7s linear infinite}@keyframes fwfa-spin{to{transform:rotate(360deg)}}.fwfa-button:disabled,.fwfa-icon-button:disabled{cursor:not-allowed;opacity:.38;transform:none}.fwfa-icon-button{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--fwfa-radius-sm);background:transparent;color:var(--fwfa-text-muted);transition:background-color var(--fwfa-dur-base) var(--fwfa-ease),color var(--fwfa-dur-base) var(--fwfa-ease),transform var(--fwfa-dur-fast) var(--fwfa-ease)}.fwfa-icon-button:hover{background:var(--fwfa-surface-hover);color:var(--fwfa-text);transform:translateY(-1px)}.fwfa-status{display:inline-flex;align-items:center;gap:var(--fwfa-space-2);color:var(--fwfa-text-soft);font-size:var(--fwfa-type-sm);font-weight:500}.fwfa-status-dot{width:.5rem;height:.5rem;flex:0 0 auto;border-radius:var(--fwfa-radius-pill);background:var(--status-colour, var(--fwfa-text-muted))}.fwfa-status--live .fwfa-status-dot,.fwfa-status[data-live=true] .fwfa-status-dot,.fwfa-status-dot--live{animation:fwfa-status-glow 2.6s ease-in-out infinite}.fwfa-status[data-tone=success]{--status-colour: var(--fwfa-success)}.fwfa-status[data-tone=info]{--status-colour: var(--fwfa-info)}.fwfa-status[data-tone=warning]{--status-colour: var(--fwfa-warning)}.fwfa-status[data-tone=danger]{--status-colour: var(--fwfa-danger)}.fwfa-status--alert{font-weight:600}.fwfa-status--alert[data-tone=success]{color:color-mix(in srgb,var(--fwfa-success) 76%,white)}.fwfa-status--alert[data-tone=info]{color:color-mix(in srgb,var(--fwfa-info) 76%,white)}.fwfa-status--alert[data-tone=warning]{color:var(--fwfa-accent)}.fwfa-status--alert[data-tone=danger]{color:color-mix(in srgb,var(--fwfa-danger) 72%,white)}@keyframes fwfa-status-glow{0%,to{box-shadow:0 0 2px color-mix(in srgb,var(--status-colour, var(--fwfa-text-muted)) 35%,transparent)}50%{box-shadow:0 0 8px 1px color-mix(in srgb,var(--status-colour, var(--fwfa-text-muted)) 70%,transparent)}}.fwfa-type-label{margin:0;color:var(--fwfa-text-muted);font-size:var(--fwfa-type-xs);font-weight:500}.fwfa-type-label--soft{color:var(--fwfa-text-faint);font-weight:400}.fwfa-type-label--soft:before{content:"·";margin-right:var(--fwfa-space-2)}.fwfa-field{display:grid;gap:var(--fwfa-space-2)}.fwfa-label{color:var(--fwfa-text-muted);font-family:var(--fwfa-font-mono);font-size:var(--fwfa-type-micro);font-weight:var(--fwfa-weight-label);letter-spacing:.12em;text-transform:uppercase}.fwfa-input,.fwfa-select,.fwfa-textarea{width:100%;min-height:var(--fwfa-tap);font:inherit;font-size:var(--fwfa-type-sm);border:1px solid var(--fwfa-border);border-radius:var(--fwfa-radius-sm);background:var(--fwfa-field-bg);color:var(--fwfa-text);padding:0 var(--fwfa-space-3);transition:border-color var(--fwfa-dur-base) var(--fwfa-ease),box-shadow var(--fwfa-dur-base) var(--fwfa-ease),background-color var(--fwfa-dur-base) var(--fwfa-ease)}.fwfa-textarea{min-height:7rem;padding-block:var(--fwfa-space-3);resize:vertical}.fwfa-select{appearance:none;-webkit-appearance:none;padding-right:calc(var(--fwfa-space-3) + 1.1rem + var(--fwfa-space-2));background-image:var(--fwfa-icon-chevron);background-repeat:no-repeat;background-position:right var(--fwfa-space-3) center;background-size:1.1rem}.fwfa-input::placeholder,.fwfa-textarea::placeholder{color:var(--fwfa-text-faint)}.fwfa-input:hover,.fwfa-select:hover,.fwfa-textarea:hover{border-color:var(--fwfa-border-strong)}.fwfa-input:focus,.fwfa-select:focus,.fwfa-textarea:focus{border-color:var(--fwfa-accent-calm);background:var(--fwfa-shell-bg)}.fwfa-input:focus-visible,.fwfa-select:focus-visible,.fwfa-textarea:focus-visible{outline:none;border-color:var(--fwfa-accent-calm);box-shadow:inset 0 0 0 1px var(--fwfa-accent-calm)}.fwfa-input:disabled,.fwfa-select:disabled,.fwfa-textarea:disabled{cursor:not-allowed;opacity:.55}.fwfa-input.is-error,.fwfa-select.is-error,.fwfa-textarea.is-error{border-color:var(--fwfa-danger);box-shadow:inset 0 0 0 1px var(--fwfa-danger)}.fwfa-helper{color:var(--fwfa-text-muted);font-size:var(--fwfa-type-xs);line-height:1.4}.fwfa-helper--error{color:color-mix(in srgb,var(--fwfa-danger) 72%,white)}.fwfa-empty-state{display:grid;justify-items:center;gap:var(--fwfa-space-3);padding:var(--fwfa-space-7) var(--fwfa-space-4);text-align:center;color:var(--fwfa-text-muted)}.fwfa-empty-state h2,.fwfa-empty-state h3{margin:0;color:var(--fwfa-text);font-family:var(--fwfa-font-display)}.fwfa-skeleton{display:block;min-height:1rem;border-radius:var(--fwfa-radius-sm);background:linear-gradient(90deg,var(--fwfa-surface) 0%,var(--fwfa-surface-strong) 48%,var(--fwfa-surface) 100%);background-size:220% 100%;animation:fwfa-skeleton 1.4s var(--fwfa-ease) infinite}@keyframes fwfa-skeleton{to{background-position-x:-220%}}.fwfa-link{color:var(--fwfa-accent-calm);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--fwfa-accent-calm) 45%,transparent);transition:color var(--fwfa-dur-fast) var(--fwfa-ease),border-color var(--fwfa-dur-fast) var(--fwfa-ease)}.fwfa-link:hover{color:color-mix(in srgb,var(--fwfa-accent-calm) 80%,white);border-bottom-color:currentColor}.fwfa-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 var(--fwfa-space-2);border:1px solid var(--fwfa-border-strong);border-radius:var(--fwfa-radius-sm);background:var(--fwfa-surface);box-shadow:inset 0 -1px #00000040;color:var(--fwfa-text-soft);font-family:var(--fwfa-font-mono);font-size:var(--fwfa-type-xs);font-weight:600;line-height:1}.fwfa-note{position:relative;border:1px solid var(--fwfa-border);border-radius:var(--fwfa-radius-md);background:var(--fwfa-surface);color:var(--fwfa-text-soft);font-size:var(--fwfa-type-sm);line-height:var(--fwfa-leading-body);padding:var(--fwfa-space-3) var(--fwfa-space-4);padding-left:calc(var(--fwfa-space-4) + 1.25rem + var(--fwfa-space-3))}.fwfa-note:before{content:"";position:absolute;left:var(--fwfa-space-4);top:var(--fwfa-space-3);width:1.25rem;height:calc(var(--fwfa-type-sm) * var(--fwfa-leading-body));background-color:var(--fwfa-info);-webkit-mask:var(--fwfa-icon-info) center / 1.25rem no-repeat;mask:var(--fwfa-icon-info) center / 1.25rem no-repeat}.fwfa-note strong{color:var(--fwfa-text);font-weight:600}.fwfa-note--tip:before{background-color:var(--fwfa-accent-calm);-webkit-mask-image:var(--fwfa-icon-tip);mask-image:var(--fwfa-icon-tip)}.fwfa-note--warn:before{background-color:var(--fwfa-accent);-webkit-mask-image:var(--fwfa-icon-warn);mask-image:var(--fwfa-icon-warn)}.fwfa-badge{display:inline-flex;align-items:center;gap:var(--fwfa-space-2);border:1px solid color-mix(in srgb,var(--fwfa-text) 85%,transparent);border-radius:var(--fwfa-radius-md);padding:var(--fwfa-space-1) var(--fwfa-space-3);background:transparent;color:var(--fwfa-text);font-size:var(--fwfa-type-micro);font-weight:var(--fwfa-weight-label);letter-spacing:.1em;line-height:1.4;text-transform:uppercase}.fwfa-badge--solid{border-color:var(--fwfa-text);background:var(--fwfa-text);color:var(--fwfa-app-navy-950)}.fwfa-badge--soft{border-color:var(--fwfa-border-strong);color:var(--fwfa-text-soft)}.fwfa-badge--accent{border-color:var(--fwfa-accent);color:var(--fwfa-accent)}.fwfa-avatar{display:grid;place-items:center;width:3rem;height:3rem;flex:none;overflow:hidden;border:1px solid var(--fwfa-border);border-radius:var(--fwfa-radius-pill);background:var(--fwfa-surface-strong);color:var(--fwfa-text-soft);font-weight:600;letter-spacing:.02em}.fwfa-avatar img{display:block;width:100%;height:100%;border-radius:inherit;object-fit:cover}.fwfa-avatar--sm{width:2rem;height:2rem;font-size:var(--fwfa-type-xs)}.fwfa-avatar--lg{width:4rem;height:4rem;font-size:var(--fwfa-type-h3)}.fwfa-avatar-group{display:inline-flex}.fwfa-avatar-group .fwfa-avatar{border-color:transparent;box-shadow:0 0 0 2px var(--fwfa-shell-bg)}.fwfa-avatar-group .fwfa-avatar+.fwfa-avatar{margin-left:-.7rem}.fwfa-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.fwfa-table{width:100%;min-width:30rem;border-collapse:collapse;font-size:var(--fwfa-type-sm)}.fwfa-table th,.fwfa-table td{text-align:left;padding:var(--fwfa-space-3);border-bottom:1px solid var(--fwfa-border)}.fwfa-table th{color:var(--fwfa-text-muted);font-family:var(--fwfa-font-mono);font-size:var(--fwfa-type-xs);font-weight:var(--fwfa-weight-label);letter-spacing:.07em;text-transform:uppercase;border-bottom:1px solid var(--fwfa-border-strong)}.fwfa-table td{color:var(--fwfa-text-soft)}.fwfa-table td.fwfa-table-mono{font-family:var(--fwfa-font-mono);font-size:var(--fwfa-type-xs);color:var(--fwfa-text-muted)}.fwfa-table tbody tr:hover td{background:var(--fwfa-shell-bg-muted)}.fwfa-tabs{display:flex;gap:var(--fwfa-space-2);border-bottom:1px solid var(--fwfa-border);overflow-x:auto;-webkit-overflow-scrolling:touch}.fwfa-tab{min-height:var(--fwfa-tap);margin-bottom:-1px;border:0;border-bottom:2px solid transparent;padding:var(--fwfa-space-3) var(--fwfa-space-4);background:none;color:var(--fwfa-text-muted);font-size:var(--fwfa-type-sm);font-weight:600;white-space:nowrap;cursor:pointer;transition:color var(--fwfa-dur-fast) var(--fwfa-ease),border-color var(--fwfa-dur-fast) var(--fwfa-ease)}.fwfa-tab:hover{color:var(--fwfa-text)}.fwfa-tab[aria-selected=true],.fwfa-tab[aria-pressed=true]{color:var(--fwfa-text);border-bottom-color:var(--fwfa-accent-calm)}.fwfa-scrim{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:var(--fwfa-space-4);background:#02080d99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.fwfa-modal{width:min(100%,30rem);border:1px solid var(--fwfa-border-strong);border-radius:var(--fwfa-radius-md);background:var(--fwfa-shell-bg);box-shadow:var(--fwfa-shadow-float);padding:var(--fwfa-space-5);color:var(--fwfa-text-soft)}.fwfa-modal h2,.fwfa-modal h3{margin:0 0 var(--fwfa-space-2);color:var(--fwfa-text);font-family:var(--fwfa-font-display);font-size:var(--fwfa-type-h3)}.fwfa-modal p{margin:0}.fwfa-modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--fwfa-space-2);margin-top:var(--fwfa-space-4)}.fwfa-toast-stack{display:flex;flex-direction:column;gap:var(--fwfa-space-3);width:100%;max-width:22rem}.fwfa-toast{--toast-accent: var(--fwfa-info);--toast-glyph: var(--fwfa-icon-info);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--fwfa-space-3);align-items:start;border:1px solid var(--toast-accent);border-radius:var(--fwfa-radius-md);padding:var(--fwfa-space-3) var(--fwfa-space-4);background:var(--fwfa-surface);color:var(--fwfa-text-soft);font-size:var(--fwfa-type-sm);line-height:var(--fwfa-leading-body);box-shadow:var(--fwfa-shadow-soft)}.fwfa-toast:before{content:"";flex:none;width:1.25rem;height:calc(var(--fwfa-type-sm) * var(--fwfa-leading-body));background-color:var(--toast-accent);-webkit-mask:var(--toast-glyph) center / 1.25rem no-repeat;mask:var(--toast-glyph) center / 1.25rem no-repeat}.fwfa-toast-body{min-width:0}.fwfa-toast-body strong{display:block;color:var(--fwfa-text);font-weight:600}.fwfa-toast-action{display:flex;align-items:center;gap:var(--fwfa-space-2);align-self:center}.fwfa-toast--info{--toast-accent: var(--fwfa-info);--toast-glyph: var(--fwfa-icon-info)}.fwfa-toast--success{--toast-accent: var(--fwfa-success);--toast-glyph: var(--fwfa-icon-success)}.fwfa-toast--warning{--toast-accent: var(--fwfa-warning);--toast-glyph: var(--fwfa-icon-warn)}.fwfa-toast--danger{--toast-accent: var(--fwfa-danger);--toast-glyph: var(--fwfa-icon-danger)}.fwfa-accent-bar{height:2px;border-radius:var(--fwfa-radius-pill);background:linear-gradient(90deg,var(--fwfa-accent-strong),var(--fwfa-accent))}@media(max-width:47.99em){.fwfa-page-header,.fwfa-section-header,.fwfa-toolbar{align-items:stretch}.fwfa-split{grid-template-columns:1fr}.fwfa-button,.fwfa-icon-button{min-height:var(--fwfa-tap)}}}@layer fwfa.patterns{.fwfa-shell{container-type:inline-size;container-name:fwfa-shell;min-height:100vh;display:grid;grid-template-rows:var(--fwfa-topbar-height) 1fr;background:var(--fwfa-shell-bg)}.fwfa-shell--workspace,.fwfa-shell--workspace[data-sidebar=expanded]{grid-template-columns:minmax(16rem,var(--fwfa-sidebar-width)) minmax(0,1fr)}.fwfa-shell--workspace[data-sidebar=expanded]>.fwfa-sidebar{display:flex}.fwfa-shell--workspace[data-sidebar=expanded]>.fwfa-main{margin-left:calc(-1 * var(--fwfa-radius-lg));border-top-left-radius:var(--fwfa-radius-lg);border-bottom-left-radius:var(--fwfa-radius-lg)}.fwfa-shell--workspace>.fwfa-topbar{grid-column:1 / -1}.fwfa-topbar{min-height:var(--fwfa-topbar-height);display:flex;align-items:center;justify-content:space-between;gap:var(--fwfa-space-3);padding:0 var(--fwfa-space-4);border-bottom:1px solid var(--fwfa-border);background:color-mix(in srgb,var(--fwfa-shell-bg) 86%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2)}.fwfa-sidebar{min-height:0;display:flex;flex-direction:column;gap:var(--fwfa-space-3);padding:var(--fwfa-space-4);border-right:1px solid var(--fwfa-border);background:linear-gradient(180deg,color-mix(in srgb,var(--fwfa-app-navy-900) 70%,transparent),color-mix(in srgb,var(--fwfa-app-navy-850) 62%,transparent))}[data-fwf-app-theme=light] .fwfa-sidebar{background:var(--fwfa-surface)}.fwfa-main{min-width:0;padding:var(--fwfa-page-pad)}.fwfa-shell--workspace>.fwfa-main{display:flex;flex-direction:column;min-height:0;padding:0;position:relative;z-index:1;overflow:hidden;border-top-left-radius:var(--fwfa-radius-lg);border-bottom-left-radius:var(--fwfa-radius-lg);margin-left:calc(-1 * var(--fwfa-radius-lg));background:var(--fwfa-shell-bg)}.fwfa-shell--workspace[data-sidebar=collapsed]{grid-template-columns:minmax(0,1fr)}.fwfa-shell--workspace[data-sidebar=collapsed]>.fwfa-sidebar{display:none}.fwfa-shell--workspace[data-sidebar=collapsed]>.fwfa-main{margin-left:0}.fwfa-statusbar{display:flex;align-items:center;justify-content:space-between;gap:var(--fwfa-space-3);min-height:var(--fwfa-statusbar-height);padding:0 var(--fwfa-space-4);border-bottom:1px solid var(--fwfa-border-faint)}.fwfa-statusbar-side{min-width:0;display:flex;align-items:center;gap:var(--fwfa-space-2)}.fwfa-statusbar .fwfa-statusbar-toggle{display:none}.fwfa-shell--workspace[data-sidebar=collapsed] .fwfa-statusbar-toggle{display:inline-flex}.fwfa-main-body{flex:1;min-height:0;overflow:auto;padding:var(--fwfa-page-pad)}.fwfa-nav-item{position:relative;display:grid;gap:.1875rem;width:100%;border:0;border-radius:var(--fwfa-radius-md);padding:.65rem .75rem;background:transparent;color:var(--fwfa-text-muted);font:inherit;text-align:left;text-decoration:none;cursor:pointer;transition:background-color var(--fwfa-dur-fast) var(--fwfa-ease),color var(--fwfa-dur-fast) var(--fwfa-ease)}.fwfa-nav-item:hover{background:var(--fwfa-surface-hover);color:var(--fwfa-text-soft)}.fwfa-nav-item.is-active{background:var(--fwfa-surface-hover);color:var(--fwfa-text)}.fwfa-nav-title{color:inherit;font-size:var(--fwfa-type-sm);font-weight:500;line-height:1.25}.fwfa-nav-meta{color:var(--fwfa-text-muted);font-family:var(--fwfa-font-mono);font-size:var(--fwfa-type-xs)}.fwfa-nav-item.is-active:after{content:"";position:absolute;top:var(--fwfa-space-3);right:var(--fwfa-space-3);width:.5rem;height:.5rem;border-radius:var(--fwfa-radius-pill);background:var(--fwfa-accent-calm);box-shadow:0 0 .75rem color-mix(in srgb,var(--fwfa-accent-calm) 52%,transparent)}@media(max-width:47.99em){.fwfa-shell--workspace{grid-template-columns:1fr}.fwfa-sidebar{border-right:0;border-bottom:1px solid var(--fwfa-border)}.fwfa-main{padding:var(--fwfa-space-5) var(--fwfa-space-4)}.fwfa-shell--workspace>.fwfa-main{margin-left:0;border-radius:0}.fwfa-main-body{padding:var(--fwfa-space-5) var(--fwfa-space-4)}}@container fwfa-shell (max-width: 40rem){.fwfa-shell--workspace:not([data-sidebar=expanded]){grid-template-columns:minmax(0,1fr)}.fwfa-shell--workspace:not([data-sidebar=expanded])>.fwfa-sidebar{display:none}.fwfa-shell--workspace:not([data-sidebar=expanded])>.fwfa-main{margin-left:0;border-radius:0}.fwfa-shell--workspace:not([data-sidebar=expanded]) .fwfa-statusbar .fwfa-statusbar-toggle{display:inline-flex}}}@layer fwfa.patterns{.fwfa-glass-orb{min-width:var(--fwfa-tap);min-height:var(--fwfa-tap);border:1px solid var(--fwfa-border-strong);cursor:pointer;text-decoration:none}.fwfa-glass-orb{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--orb-size, 2.5rem);height:var(--orb-size, 2.5rem);overflow:hidden;border-radius:var(--fwfa-radius-pill);color:var(--fwfa-text);background:color-mix(in srgb,var(--fwfa-shell-bg) 72%,white 8%);transition:transform var(--fwfa-dur-base) var(--fwfa-ease),border-color var(--fwfa-dur-base) var(--fwfa-ease)}.fwfa-glass-orb:hover{transform:translateY(-1px);border-color:var(--fwfa-text-muted)}.fwfa-glass-orb--gold{color:var(--fwfa-accent);border-color:var(--fwfa-accent)}.fwfa-glass-orb:disabled{cursor:not-allowed;opacity:.38;transform:none}.fwfa-message-stack{display:grid;justify-items:start;gap:var(--fwfa-space-4);width:min(100%,46rem);margin-inline:auto}.fwfa-message{display:grid;gap:var(--fwfa-space-3);max-width:min(100%,42rem);color:var(--fwfa-text-soft);font-size:var(--fwfa-type-sm);line-height:var(--fwfa-leading-body)}.fwfa-message p{max-width:70ch;margin:0}.fwfa-message strong{color:var(--fwfa-text)}.fwfa-message--user{justify-self:end;max-width:min(75%,34rem);border:1px solid var(--fwfa-border);border-radius:var(--fwfa-radius-md);padding:var(--fwfa-space-3) var(--fwfa-space-4);background:var(--fwfa-surface-hover);color:var(--fwfa-text)}.fwfa-message--assistant{justify-self:start}.fwfa-message--tool{justify-self:start;border:1px solid var(--fwfa-border);border-radius:var(--fwfa-radius-md);padding:var(--fwfa-space-2) var(--fwfa-space-3);background:var(--fwfa-shell-bg-muted);color:var(--fwfa-text-muted);font-family:var(--fwfa-font-mono);font-size:var(--fwfa-type-micro);line-height:var(--fwfa-leading-body)}.fwfa-composer{position:relative;width:min(100%,46rem);margin-inline:auto;border:1px solid var(--fwfa-border-strong);border-radius:var(--fwfa-radius-md);padding:var(--fwfa-space-3);padding-right:calc(var(--fwfa-space-3) + var(--fwfa-tap) + var(--fwfa-space-2));background:color-mix(in srgb,var(--fwfa-shell-bg) 86%,white)}.fwfa-composer:focus-within{border-color:var(--fwfa-accent-calm)}.fwfa-composer textarea{width:100%;min-height:var(--fwfa-control);max-height:12rem;border:0;padding:0;resize:none;background:transparent;color:var(--fwfa-text);line-height:1.5;overflow-y:auto;scrollbar-width:none}.fwfa-composer textarea::-webkit-scrollbar{display:none}.fwfa-composer textarea:focus,.fwfa-composer textarea:focus-visible{outline:0;box-shadow:none}.fwfa-composer textarea::placeholder{color:var(--fwfa-text-faint)}.fwfa-composer .fwfa-glass-orb{position:absolute;right:var(--fwfa-space-3);bottom:var(--fwfa-space-3)}.fwfa-thinking{display:inline-flex;align-items:center;gap:var(--fwfa-space-2);justify-self:start;color:var(--fwfa-text-muted)}.fwfa-thinking-dots{display:inline-flex;gap:.3rem}.fwfa-thinking-dots span{width:.4rem;height:.4rem;border-radius:var(--fwfa-radius-pill);background:currentColor;animation:fwfa-thinking-bounce 1.2s var(--fwfa-ease) infinite}.fwfa-thinking-dots span:nth-child(2){animation-delay:.15s}.fwfa-thinking-dots span:nth-child(3){animation-delay:.3s}@keyframes fwfa-thinking-bounce{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-.2rem)}}@media(prefers-reduced-motion:reduce){.fwfa-thinking-dots span{animation:none;opacity:.65}}}
