*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;min-height:100%}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-body);background:var(--bg-page);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}#root{width:100%;max-width:none;text-align:initial;border:none;flex-direction:column;margin:0;display:flex}h1,h2,h3{font-family:var(--font-display);font-weight:var(--font-weight-semibold);color:var(--ink);margin:0}p{margin:0}a{color:inherit}code{font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-snug);color:var(--ink);background:var(--bg-secondary);border-radius:4px;padding:2px 6px}:focus-visible{box-shadow:var(--focus-ring);border-radius:inherit;outline:none}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--bg-primary:#f6f2ff;--bg-secondary:#efe7ff;--bg-card:#fff;--bg-elevated:#faf7ff;--ink:#1a1320;--ink-soft:#3a2f47;--text-2:#6b5e7a;--text-muted:#9a8fab;--lavender:#b69dff;--lavender-deep:#8b5cf6;--lavender-ink:#6d28d9;--lavender-bg:#b69dff24;--lavender-glow:#8b5cf64d;--pink:#ff9ecb;--pink-bg:#ff9ecb29;--border:#e4d9fb;--border-strong:#cbb8f5;--accent-border:#cbb8f5;--success:#34d399;--warning:#fbbf24;--danger:#fb7185;--bg-page:var(--bg-primary);--ink-muted:var(--text-muted);--lavender-mid:var(--lavender);--text-on-primary:#fff;--focus-ring:0 0 0 3px var(--lavender-bg);--danger-bg:#fb71851f;--danger-border:#fb718559;--success-bg:#34d3991f;--success-border:#34d39959;--warning-bg:#fbbf2424;--warning-border:#fbbf2466;--overlay-scrim:#1a132073;--shadow-lg:0 -8px 32px #1a13201f;--font-display:"Poppins", system-ui, -apple-system, sans-serif;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", ui-monospace, Menlo, Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--text-4xl:2.75rem;--leading-tight:1.2;--leading-snug:1.35;--leading-normal:1.55;--tracking-tight:-.02em;--tracking-wide:.04em;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--page-max:1080px;--page-max-narrow:560px;--page-gutter:20px;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-pill:999px;--shadow-card:0 8px 30px #6d28d91a;--shadow-glow:0 0 24px var(--lavender-glow);--shadow-lift:0 12px 40px #6d28d929;--shadow:0 8px 30px #6d28d91a;--topbar-height:56px;--sidenav-width:220px;--bottomnav-height:64px;--topbar-bg:color-mix(in srgb, var(--bg-card) 88%, transparent);--sidenav-bg:var(--bg-elevated);--bottomnav-bg:color-mix(in srgb, var(--bg-card) 92%, transparent);--z-shell:100;--z-overlay:1000;--z-toast:1100;--transition-fast:.15s ease;--transition-med:.22s ease;--ease-out:cubic-bezier(.22, 1, .36, 1)}[data-theme=dark]{--bg-primary:#100a18;--bg-secondary:#1a1126;--bg-card:#1d1430;--bg-elevated:#211634;--ink:#f3edff;--ink-soft:#d9cdf0;--text-2:#b3a4cc;--text-muted:#7d6f96;--lavender:#b69dff;--lavender-deep:#a78bfa;--lavender-ink:#c4b5fd;--lavender-bg:#b69dff29;--lavender-glow:#a78bfa66;--pink:#ff9ecb;--pink-bg:#ff9ecb2e;--border:#2e2244;--border-strong:#3d2f5c;--accent-border:#3d2f5c;--shadow-card:0 8px 30px #00000073;--shadow-glow:0 0 24px var(--lavender-glow);--shadow-lift:0 12px 40px #0000008c;--shadow:0 8px 30px #00000073;--bg-page:var(--bg-primary);--ink-muted:var(--text-muted);--lavender-mid:var(--lavender);--text-on-primary:#fff;--focus-ring:0 0 0 3px var(--lavender-bg);--danger-bg:#fb71852e;--danger-border:#fb718573;--success-bg:#34d3992e;--success-border:#34d39973;--warning-bg:#fbbf242e;--warning-border:#fbbf247a;--overlay-scrim:#08040ea6;--shadow-lg:0 -8px 32px #00000073;--topbar-bg:color-mix(in srgb, var(--bg-card) 88%, transparent);--sidenav-bg:var(--bg-elevated);--bottomnav-bg:color-mix(in srgb, var(--bg-card) 92%, transparent)}.ui-btn{justify-content:center;align-items:center;gap:var(--space-2);box-sizing:border-box;border-radius:var(--radius-pill);font-family:var(--font-body);font-weight:var(--font-weight-semibold);font-size:var(--text-md);line-height:var(--leading-tight);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast), opacity var(--transition-fast);border:1px solid #0000;margin:0;text-decoration:none;display:inline-flex}.ui-btn:focus{outline:none}.ui-btn:focus-visible{box-shadow:var(--focus-ring)}.ui-btn--sm{font-size:var(--text-sm);padding:6px 12px}.ui-btn--md{font-size:var(--text-md);padding:10px 20px}.ui-btn--lg{font-size:var(--text-md);padding:12px 24px}.ui-btn--primary{background:var(--lavender-deep);color:var(--text-on-primary);border-color:var(--lavender-deep)}.ui-btn--primary:hover:not(:disabled):not(.is-disabled):not(.is-loading){box-shadow:var(--shadow-glow);transform:translateY(-1px)}.ui-btn--primary:active:not(:disabled):not(.is-disabled){background:var(--lavender-ink);border-color:var(--lavender-ink);box-shadow:none;transform:translateY(0)}.ui-btn--secondary{color:var(--lavender-deep);border-color:var(--border-strong);background:0 0}.ui-btn--secondary:hover:not(:disabled):not(.is-disabled){border-color:var(--lavender-deep);background:var(--lavender-bg)}.ui-btn--secondary:active:not(:disabled):not(.is-disabled){transform:translateY(0)}.ui-btn--ghost{color:var(--ink-soft);background:0 0;border-color:#0000}.ui-btn--ghost:hover:not(:disabled):not(.is-disabled){background:var(--lavender-bg)}.ui-btn--danger{background:var(--danger);color:var(--text-on-primary);border-color:var(--danger)}.ui-btn--danger:hover:not(:disabled):not(.is-disabled){filter:brightness(.95)}.ui-btn--link{color:var(--lavender-deep);border-radius:var(--radius-sm);padding-inline:var(--space-1);background:0 0;border-color:#0000;text-decoration:none}.ui-btn--link:hover:not(:disabled):not(.is-disabled){text-decoration:underline}.ui-btn:disabled,.ui-btn.is-disabled,.ui-btn.is-loading{opacity:.5;cursor:not-allowed;pointer-events:none;transform:none}.ui-btn.is-loading{pointer-events:none;opacity:.75;cursor:wait}.ui-btn.is-loading>.ui-spinner{border-width:2px;flex-shrink:0;width:1em;height:1em}.ui-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-5);color:var(--ink)}.ui-card--interactive{cursor:pointer;transition:box-shadow var(--transition-fast), transform var(--transition-fast), border-color var(--transition-fast);text-decoration:none}.ui-card--interactive:hover{box-shadow:var(--shadow-lift);border-color:var(--border-strong);transform:translateY(-2px)}.ui-card--interactive:focus{outline:none}.ui-card--interactive:focus-visible{box-shadow:var(--shadow-lift), var(--focus-ring)}.ui-field{gap:var(--space-2);flex-direction:column;width:100%;display:flex}.ui-field__label{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--ink-soft)}.ui-input{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);width:100%;color:var(--ink);font-family:var(--font-body);font-size:var(--text-md);line-height:var(--leading-normal);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast);padding:10px 12px;display:block}.ui-input::placeholder{color:var(--text-muted)}.ui-input:hover:not(:disabled):not(:focus){border-color:var(--border-strong)}.ui-input:focus{border-color:var(--lavender-deep);box-shadow:var(--focus-ring);outline:none}.ui-input:disabled{opacity:.6;cursor:not-allowed}.ui-input--error,.ui-input.ui-input--error{border-color:var(--danger)}.ui-input--error:focus{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-bg)}.ui-field__hint{font-size:var(--text-xs);color:var(--text-muted);margin:0}.ui-field__error{font-size:var(--text-xs);color:var(--danger);margin:0}.ui-badge{align-items:center;gap:var(--space-1);border-radius:var(--radius-pill);background:var(--lavender-bg);color:var(--lavender-deep);font-size:var(--text-xs);font-weight:var(--font-weight-bold);line-height:var(--leading-tight);text-transform:uppercase;letter-spacing:var(--tracking-wide);white-space:nowrap;padding:.15rem .5rem;display:inline-flex}.ui-badge--pink{background:var(--pink-bg);color:var(--pink)}.ui-pill{justify-content:center;align-items:center;gap:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-card);color:var(--ink-soft);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-weight-medium);line-height:var(--leading-tight);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);padding:6px 14px;text-decoration:none;display:inline-flex}.ui-pill:hover:not(:disabled):not(.is-active){border-color:var(--border-strong);background:var(--lavender-bg)}.ui-pill:focus{outline:none}.ui-pill:focus-visible{box-shadow:var(--focus-ring)}.ui-pill.is-active,.ui-pill[aria-pressed=true],.ui-pill[aria-selected=true]{background:var(--lavender-bg);border-color:var(--lavender-deep);color:var(--lavender-ink);font-weight:var(--font-weight-semibold)}.ui-pill:disabled{opacity:.5;cursor:not-allowed}.ui-page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.ui-page-header__text{flex:auto;min-width:0}.ui-page-header__title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--ink);margin:0}.ui-page-header__subtitle{margin:var(--space-2) 0 0;font-size:var(--text-md);line-height:var(--leading-normal);color:var(--text-2)}.ui-page-header__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;flex:none;display:flex}.ui-empty{text-align:center;align-items:center;gap:var(--space-3);padding:var(--space-7) var(--space-5);color:var(--ink);flex-direction:column;display:flex}.ui-empty__icon{margin-bottom:var(--space-1);justify-content:center;align-items:center;display:flex}.ui-empty__title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-weight-semibold);line-height:var(--leading-snug);color:var(--ink);margin:0}.ui-empty__body{max-width:28rem;font-size:var(--text-md);line-height:var(--leading-normal);color:var(--text-2);margin:0}.ui-empty__cta{margin-top:var(--space-3);gap:var(--space-2);flex-wrap:wrap;justify-content:center;display:flex}.ui-banner{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:var(--leading-snug);color:var(--ink);display:flex}.ui-banner__body{flex:auto;min-width:0}.ui-banner__dismiss{color:inherit;opacity:.7;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex:none;margin:0;padding:0;font-size:1.1rem;line-height:1}.ui-banner__dismiss:hover{opacity:1}.ui-banner__dismiss:focus{outline:none}.ui-banner__dismiss:focus-visible{box-shadow:var(--focus-ring)}.ui-banner--error{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.ui-banner--success{background:var(--success-bg);border-color:var(--success-border);color:var(--success)}.ui-banner--warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning)}.ui-banner--info{background:var(--lavender-bg);border-color:var(--border-strong);color:var(--lavender-ink)}.ui-skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--bg-secondary) 0%, var(--bg-elevated) 50%, var(--bg-secondary) 100%);background-size:200% 100%;display:block}@media (prefers-reduced-motion:no-preference){.ui-skeleton{animation:1.2s linear infinite ui-shimmer}}@keyframes ui-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.ui-spinner{border:2.5px solid var(--lavender-bg);border-top-color:var(--lavender-deep);box-sizing:border-box;vertical-align:middle;border-radius:50%;width:1.25rem;height:1.25rem;display:inline-block}@media (prefers-reduced-motion:no-preference){.ui-spinner{animation:.7s linear infinite ui-spin}}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-spinner--sm{border-width:2px;width:1rem;height:1rem}.ui-spinner--lg{border-width:3px;width:2rem;height:2rem}.ui-avatar{border-radius:var(--radius-pill);background:var(--lavender-bg);width:56px;height:56px;color:var(--lavender-ink);font-family:var(--font-display);font-weight:var(--font-weight-semibold);font-size:var(--text-lg);border:1px solid var(--border-strong);box-sizing:border-box;-webkit-user-select:none;user-select:none;text-transform:uppercase;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:inline-flex;overflow:hidden}.ui-avatar--sm{width:40px;height:40px;font-size:var(--text-sm)}.ui-avatar--lg{width:72px;height:72px;font-size:var(--text-xl)}.ui-avatar img{object-fit:cover;width:100%;height:100%;display:block}.beta-modal-root{z-index:var(--z-overlay);place-items:end center;display:grid;position:fixed;inset:0}@media (width>=640px){.beta-modal-root{place-items:center}}.beta-modal-backdrop{background:var(--overlay-scrim);cursor:pointer;border:0;padding:0;position:absolute;inset:0}.beta-modal{z-index:1;background:var(--bg-card);width:min(28rem,100%);max-height:min(88dvh,640px);color:var(--ink);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-5);box-shadow:var(--shadow-lg);position:relative;overflow:auto}@media (width>=640px){.beta-modal{border-radius:var(--radius-lg)}}.beta-modal-face{object-fit:cover;border-radius:var(--radius-md);width:4.5rem;height:4.5rem;margin-bottom:var(--space-3)}.beta-modal h2{margin:0 0 var(--space-2);font-family:var(--font-display);font-size:var(--text-xl);color:var(--ink)}.beta-modal p{margin:0 0 var(--space-4);color:var(--text-2)}.beta-hp{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.beta-faces{margin:0 0 var(--space-4);border:0;padding:0}.beta-faces legend{font-size:var(--text-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2)}.beta-face-row{gap:var(--space-2);grid-template-columns:repeat(4,1fr);display:grid}.beta-face-row button{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);cursor:pointer;padding:0;overflow:hidden}.beta-face-row button.is-on{border-color:var(--lavender-deep)}.beta-face-row img{aspect-ratio:3/4;object-fit:cover;width:100%;display:block}.beta-face-row span{font-size:var(--text-xs);font-weight:var(--font-weight-semibold);padding:.25rem;display:block}.beta-err{color:var(--danger);font-size:var(--text-sm)}.beta-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.beta-switch{margin:var(--space-3) 0 0}.beta-switch-btn{color:var(--lavender-deep);font:inherit;font-size:var(--text-sm);font-weight:var(--font-weight-semibold);cursor:pointer;text-underline-offset:.15em;background:0 0;border:0;padding:0;text-decoration:underline}.beta-chip{z-index:20;right:var(--space-4);bottom:calc(var(--bottomnav-height,64px) + env(safe-area-inset-bottom,0px) + var(--space-3));border-radius:var(--radius-pill);background:var(--ink);color:#fff;font-weight:var(--font-weight-semibold);cursor:pointer;box-shadow:var(--shadow-lg);border:0;padding:.55rem .9rem;position:fixed}.beta-chip--joined{background:var(--bg-card);color:var(--ink);border:1px solid var(--border)}@media (width>=1024px){.beta-chip{bottom:var(--space-5)}}.beta-gate{align-items:flex-start;gap:var(--space-3);padding:var(--space-6) var(--space-4);flex-direction:column;max-width:36rem;display:flex}.beta-gate h2{font-family:var(--font-display);color:var(--ink);margin:0}.beta-gate p{color:var(--text-2);margin:0}.shell{background:var(--bg-page);min-height:100svh;color:var(--ink);flex-direction:column;display:flex}.shell-app{flex-direction:column;flex:1;min-height:0;display:flex}.shell-icon{flex-shrink:0;width:1.25rem;height:1.25rem;display:block}.shell-topbar{z-index:var(--z-shell);height:calc(var(--topbar-height) + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);padding-left:var(--page-gutter,20px);padding-right:var(--page-gutter,20px);background:var(--topbar-bg);border-bottom:1px solid var(--border);box-sizing:border-box;-webkit-backdrop-filter:blur(12px);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.shell-topbar-brand{align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-weight-bold);color:var(--lavender-deep);letter-spacing:var(--tracking-tight);text-decoration:none;display:inline-flex}.shell-topbar-brand:hover{color:var(--lavender-mid)}.shell-brand-mark{color:var(--lavender-deep);flex-shrink:0}.shell-topbar-wordmark{line-height:1}.shell-topbar-actions{align-items:center;gap:var(--space-3);display:flex}.shell-topbar-login{font:inherit;font-size:var(--text-sm);color:var(--ink-muted);border-radius:var(--radius-pill);border:1px solid var(--border);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast);background:0 0;padding:6px 14px;text-decoration:none}.shell-topbar-login--pending{opacity:.4;pointer-events:none}.shell-topbar-login:hover{border-color:var(--lavender-deep);color:var(--lavender-deep)}.shell-avatar{border-radius:var(--radius-pill);background:var(--lavender-bg);border:1px solid var(--border-strong);width:34px;height:34px;color:var(--lavender-deep);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);transition:border-color var(--transition-fast), background var(--transition-fast);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.shell-avatar:hover{border-color:var(--lavender-deep);background:color-mix(in srgb, var(--lavender-bg) 80%, var(--lavender-deep))}.shell-avatar-glyph{-webkit-user-select:none;user-select:none;line-height:1}.shell-body{flex:1;min-height:0;display:flex}.shell-sidenav{width:var(--sidenav-width);background:var(--sidenav-bg);border-right:1px solid var(--border);padding:var(--space-4) 0;transition:width var(--transition-med);flex-shrink:0;display:none;overflow:hidden auto}@media (width>=1024px){.shell-sidenav{display:block}}.shell-sidenav-group+.shell-sidenav-group{margin-top:var(--space-4)}.shell-sidenav-caption{margin:0 0 var(--space-2);font-size:11px;font-weight:var(--font-weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);padding:0 24px}.shell-sidenav-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.shell-nav-link{align-items:center;gap:var(--space-3);font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--ink-muted);transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);border-left:3px solid #0000;padding:10px 24px;text-decoration:none;display:flex}.shell-nav-link:hover{background:var(--lavender-bg);color:var(--ink)}.shell-nav-link.active{color:var(--lavender-deep);background:var(--lavender-bg);border-left-color:var(--lavender-deep)}.shell-nav-icon{flex-shrink:0;width:1.25rem;height:1.25rem}.shell-sidenav-toggle{align-items:center;gap:var(--space-3);width:calc(100% - 16px);margin:var(--space-5) 8px 0;color:var(--ink-muted);font:inherit;font-size:var(--text-sm);font-weight:var(--font-weight-medium);cursor:pointer;border-radius:var(--radius-md);background:0 0;border:0;padding:10px 16px;display:flex}.shell-sidenav-toggle:hover{background:var(--lavender-bg);color:var(--ink)}.shell-sidenav-toggle:focus-visible{box-shadow:var(--focus-ring);outline:none}.shell-sidenav-toggle-icon{width:1.25rem;height:1.25rem;transition:transform var(--transition-fast);flex-shrink:0}.shell-sidenav--collapsed{width:4.75rem}.shell-sidenav--collapsed .shell-sidenav-caption,.shell-sidenav--collapsed .shell-nav-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.shell-sidenav--collapsed .shell-nav-link{border-radius:var(--radius-md);border-left:none;justify-content:center;gap:0;margin:0 8px;padding:12px 0}.shell-sidenav--collapsed .shell-nav-link.active{border-left-color:#0000}.shell-sidenav--collapsed .shell-nav-icon,.shell-sidenav--collapsed .shell-sidenav-toggle-icon{width:1.7rem;height:1.7rem}.shell-sidenav--collapsed .shell-sidenav-toggle{justify-content:center;gap:0;padding:12px 0}.shell-sidenav--collapsed .shell-sidenav-toggle-icon{transform:rotate(180deg)}.shell-main{min-height:0;padding:var(--space-5) var(--page-gutter,20px);padding-bottom:calc(var(--bottomnav-height) + env(safe-area-inset-bottom,0px) + var(--space-4));flex:1;overflow-y:auto}@media (width>=1024px){.shell-main{padding-bottom:var(--space-5)}}.shell-main--flush{padding:0;padding-bottom:calc(var(--bottomnav-height) + env(safe-area-inset-bottom,0px));flex-direction:column;display:flex;overflow:hidden}@media (width>=1024px){.shell-main--flush{padding-bottom:0}}.shell-bottomnav{z-index:var(--z-shell);height:calc(var(--bottomnav-height) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);box-sizing:border-box;background:var(--bottomnav-bg);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(12px);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}@media (width>=1024px){.shell-bottomnav{display:none}}.shell-bottomnav-link{min-width:56px;font-size:11px;font-weight:var(--font-weight-medium);color:var(--ink-muted);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 8px;font-family:inherit;text-decoration:none;display:flex}.shell-bottomnav-link:hover{color:var(--ink)}.shell-bottomnav-link.active{color:var(--lavender-deep)}.shell-bottomnav-icon{width:22px;height:22px}.shell-more{z-index:var(--z-overlay);justify-content:center;align-items:flex-end;display:none;position:fixed;inset:0}.shell-more.is-open{display:flex}.shell-more[hidden]{display:none!important}@media (width>=1024px){.shell-more.is-open{display:none}}.shell-more-backdrop{background:var(--overlay-scrim);cursor:pointer;border:none;margin:0;padding:0;position:absolute;inset:0}.shell-more-panel{z-index:1;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:480px;max-height:min(70dvh,520px);box-shadow:var(--shadow-lg);padding-bottom:env(safe-area-inset-bottom,0px);border-bottom:none;outline:none;position:relative;overflow-y:auto}.shell-more-header{padding:var(--space-4) var(--space-5) var(--space-2);justify-content:space-between;align-items:center;display:flex}.shell-more-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-weight-semibold);color:var(--ink);margin:0}.shell-more-close{border-radius:var(--radius-pill);border:1px solid var(--border);width:32px;height:32px;color:var(--ink-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;font-size:14px;line-height:1;display:inline-flex}.shell-more-close:hover{border-color:var(--lavender-deep);color:var(--lavender-deep)}.shell-more-list{padding:var(--space-2) var(--space-3) var(--space-4);flex-direction:column;gap:2px;margin:0;list-style:none;display:flex}.shell-more-link{align-items:center;gap:var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--ink-muted);transition:background var(--transition-fast), color var(--transition-fast);padding:12px 14px;text-decoration:none;display:flex}.shell-more-link:hover{background:var(--lavender-bg);color:var(--ink)}.shell-more-link.active{color:var(--lavender-deep);background:var(--lavender-bg)}.shell-more-icon{width:1.25rem;height:1.25rem}.shell-theme-toggle{border:1px solid var(--border-strong);border-radius:var(--radius-pill);cursor:pointer;width:34px;height:34px;color:var(--ink);transition:border-color var(--transition-fast);background:0 0;justify-content:center;align-items:center;font-size:16px;line-height:1;display:inline-flex}.shell-theme-toggle:hover{border-color:var(--lavender-deep)}.home{max-width:min(var(--page-max), 100%);padding:var(--space-4) var(--space-4) var(--space-8);gap:var(--space-7);flex-direction:column;margin:0 auto;display:flex}.stage{gap:var(--space-5);flex-direction:column;display:flex}.stage-copy{max-width:36rem}.hero-kicker{margin:0 0 var(--space-2);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--lavender-ink)}.hero-title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-weight-bold);color:var(--ink);margin:0 0 var(--space-3);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);max-width:16ch}@media (width>=640px){.hero-title{font-size:var(--text-4xl)}}.hero-sub{font-size:var(--text-lg);color:var(--text-2);margin:0 0 var(--space-4);line-height:var(--leading-normal);max-width:34rem}.chip-row{gap:var(--space-2);padding-bottom:var(--space-1);margin:0 0 var(--space-4);scrollbar-width:thin;flex-wrap:nowrap;display:flex;overflow-x:auto}.chip-row .ui-pill{flex:none}.chip-row--tight{margin-bottom:0}@media (width>=1024px){.chip-row{flex-wrap:wrap;overflow:visible}}.stage-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.stage-faces{gap:var(--space-3);order:-1;grid-template-columns:1fr;display:grid}.stage-stack{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}@media (width>=1024px){.stage-faces{order:0}.stage{gap:var(--space-6);grid-template-columns:minmax(16rem,.85fr) minmax(0,1.7fr);align-items:stretch;display:grid}.stage-copy{padding-block:var(--space-4);flex-direction:column;justify-content:center;display:flex}.stage-faces{grid-template-columns:minmax(0,1.15fr) minmax(14rem,.95fr);min-height:36rem}.stage-stack{grid-template-columns:1fr;min-height:0}}.face{border-radius:var(--radius-lg);background:var(--bg-secondary);color:inherit;isolation:isolate;min-height:14rem;text-decoration:none;display:block;position:relative;overflow:hidden}.face--lead{min-height:20rem}.face--side{min-height:12rem}@media (width>=1024px){.face--lead,.face--side,.stage-stack .face{height:100%;min-height:0}}.face:focus{outline:none}.face:focus-visible{box-shadow:var(--focus-ring)}.face-media,.face-monogram{object-fit:cover;object-position:center top;width:100%;height:100%;display:block;position:absolute;inset:0}.face-monogram{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-weight-bold);color:var(--lavender-ink);background:var(--lavender-bg);justify-content:center;align-items:center;display:flex}.face-shade{background:linear-gradient(to top, color-mix(in srgb, var(--ink) 78%, transparent) 0%, color-mix(in srgb, var(--ink) 20%, transparent) 48%, transparent 72%);pointer-events:none;position:absolute;inset:0}.face-meta{z-index:1;padding:var(--space-4);align-items:flex-start;gap:var(--space-2);color:#fff;flex-direction:column;display:flex;position:absolute;bottom:0;left:0;right:0}.face-name{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-weight-bold);line-height:var(--leading-tight);margin:0}.face--side .face-name{font-size:var(--text-lg)}.face-place{font-size:var(--text-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:color-mix(in srgb, #fff 78%, var(--lavender));margin:0}.face-hook{font-size:var(--text-sm);line-height:var(--leading-snug);max-width:28ch;color:color-mix(in srgb, #fff 88%, var(--lavender));margin:0}.face-verb{margin-top:var(--space-1);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:#fff;border-bottom:1px solid #ffffff8c}.face:hover .face-verb,.face:focus-visible .face-verb{border-bottom-color:#fff}.mood{border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;background:#ffffff29;align-items:center;gap:.4rem;padding:.15rem .55rem;display:inline-flex}.mood--ink{background:var(--success-bg);color:var(--ink-soft);align-self:flex-start}.mood-dot{background:var(--success);width:7px;height:7px;box-shadow:0 0 0 4px color-mix(in srgb, var(--success) 28%, transparent);border-radius:50%}.stage-skel{border-radius:var(--radius-lg);min-height:12rem;position:relative}.stage-skel-lead{min-height:26rem}.shorts-rail{min-width:0}.shorts-empty{margin:var(--space-3) 0 0;color:var(--text-2);font-size:var(--text-sm)}.shorts-track{gap:var(--space-3);padding-bottom:var(--space-2);scroll-snap-type:x mandatory;display:flex;overflow-x:auto}.home-short{scroll-snap-align:start;color:inherit;flex:0 0 168px;min-width:0;text-decoration:none}.home-short-frame{aspect-ratio:9/16;border-radius:var(--radius-md);background:var(--ink);display:block;position:relative;overflow:hidden}.home-short-frame img,.roster-mix-frame img,.xp img,.xp .face-media{object-fit:cover;object-position:center 22%;width:100%;height:100%;display:block}.home-short-play{color:#fff;background:color-mix(in srgb, var(--ink) 18%, transparent);place-items:center;display:grid;position:absolute;inset:0}.home-short-play .shell-icon{width:1.75rem;height:1.75rem;filter:drop-shadow(0 2px 8px color-mix(in srgb, var(--ink) 50%, transparent))}.home-short-dur{right:var(--space-2);bottom:var(--space-2);font-size:var(--text-xs);color:#fff;font-weight:var(--font-weight-semibold);position:absolute}.home-short-name{margin-top:var(--space-2);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-2);display:block}.home-short-title{font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:var(--ink);margin-top:2px;display:block}.experiences{gap:var(--space-3);scroll-snap-type:x mandatory;padding-bottom:var(--space-2);display:flex;overflow-x:auto}.xp{border-radius:var(--radius-lg);background:var(--ink);color:#fff;isolation:isolate;scroll-snap-align:start;flex:0 0 min(16.5rem,78vw);min-height:14rem;text-decoration:none;position:relative;overflow:hidden}.xp img,.xp .face-media{position:absolute;inset:0}.xp-shade{background:linear-gradient(to top, color-mix(in srgb, var(--ink) 84%, transparent) 0%, color-mix(in srgb, var(--ink) 20%, transparent) 55%, transparent 78%);pointer-events:none;position:absolute;inset:0}.xp-copy{z-index:1;padding:var(--space-4);flex-direction:column;align-items:flex-start;gap:4px;display:flex;position:absolute;bottom:0;left:0;right:0}.xp-name{font-size:var(--text-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:color-mix(in srgb, #fff 78%, var(--lavender))}.xp-verb{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-weight-bold);line-height:var(--leading-tight);color:#fff}.xp:focus{outline:none}.xp:focus-visible{box-shadow:var(--focus-ring)}.xp--connect{background:var(--bg-card);color:var(--ink);border:1px solid var(--border-strong);flex-direction:column;justify-content:flex-end;display:flex}.xp--connect .xp-copy{padding:var(--space-5);position:relative}.xp--connect .xp-name{color:var(--text-2)}.xp--connect .xp-verb{color:var(--ink)}.xp-icon{top:var(--space-4);right:var(--space-4);border-radius:var(--radius-md);background:var(--lavender-bg);width:2.5rem;height:2.5rem;color:var(--lavender-ink);place-items:center;display:grid;position:absolute}.xp-icon .shell-icon{width:1.35rem;height:1.35rem}.plug h2{color:inherit}.roster{scroll-margin-top:5rem}.roster-head{justify-content:space-between;align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.featured-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-weight-bold);color:var(--ink);margin:0}.roster-filters{gap:var(--space-2);flex-wrap:wrap;display:flex}.roster-grid{gap:var(--space-4);display:grid}@media (width>=720px){.roster-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}.roster-card{align-items:flex-start;gap:var(--space-2);flex-direction:column;min-width:0;display:flex;overflow:hidden}.roster-photo{margin:calc(var(--space-5) * -1) calc(var(--space-5) * -1) var(--space-2);width:calc(100% + var(--space-5) * 2);aspect-ratio:3/4;background:var(--lavender-bg);display:block;position:relative;overflow:hidden}.roster-photo .face-media,.roster-photo .face-monogram{position:absolute}.card-name{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-weight-bold);color:var(--ink);line-height:var(--leading-snug);margin:0}.card-name a{color:inherit;text-decoration:none}.card-name a:hover{color:var(--lavender-ink)}.card-desc{color:var(--text-2);font-size:var(--text-sm);line-height:var(--leading-normal);flex:1;margin:0}.roster-place{font-size:var(--text-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-2);margin:0}.roster-mix-short{align-items:flex-start;gap:var(--space-2);color:inherit;flex-direction:column;min-width:0;text-decoration:none;display:flex}.roster-mix-frame{aspect-ratio:3/4;border-radius:var(--radius-lg);background:var(--ink);width:100%;display:block;position:relative;overflow:hidden}.roster-mix-kicker{font-size:var(--text-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-2)}.roster-mix-short .card-name{font-size:var(--text-md)}.home-empty{padding:var(--space-5) var(--space-3)}.home-banner{text-align:left;margin:0}.home-pack-badges{gap:var(--space-1);flex-wrap:wrap;display:flex}.home-skel-card{pointer-events:none}.home-skel-photo{aspect-ratio:3/4;border-radius:var(--radius-md);width:100%;display:block}.plug{background:var(--ink);color:#fff;border-radius:var(--radius-lg);padding:var(--space-7) var(--space-5);align-items:flex-start;gap:var(--space-3);flex-direction:column;display:flex}.plug h2{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);max-width:16ch;margin:0}.plug p{margin:0 0 var(--space-2);color:color-mix(in srgb, #fff 78%, var(--lavender));max-width:36rem}[data-theme=dark] .plug{background:var(--bg-card);color:var(--ink);border:1px solid var(--border-strong)}[data-theme=dark] .plug p{color:var(--text-2)}@media (prefers-reduced-motion:reduce){.face:hover .face-verb{transform:none}}.catalog{max-width:min(var(--page-max), 880px);padding:var(--space-6) var(--space-4) var(--space-8);font-family:var(--font-body);color:var(--ink);margin:0 auto}.catalog-banner{margin:0 0 var(--space-4)}.catalog-auth{max-width:360px;margin:0 0 var(--space-5);padding:var(--space-5)}.catalog-auth__title{margin:0 0 var(--space-4);font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-weight-semibold);line-height:var(--leading-tight);color:var(--ink)}.catalog-login{gap:var(--space-3);flex-direction:column;display:flex}.catalog-login .ui-btn{align-self:flex-start}.session-bar{align-items:center;gap:var(--space-3);margin:0 0 var(--space-5);color:var(--ink-soft);flex-wrap:wrap;display:flex}.session-chip{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--lavender-bg);color:var(--lavender-ink);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);border:1px solid var(--border-strong);align-items:center;display:inline-flex}.status{color:var(--text-2);margin-top:var(--space-5)}.vibe-filters{gap:var(--space-2);margin:0 0 var(--space-4);flex-wrap:wrap;display:flex}.pack-grid{gap:var(--space-4);margin-top:var(--space-1);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.pack-card{gap:var(--space-2);flex-direction:column;min-width:0;display:flex;position:relative;overflow:hidden}.pack-card.selected{border-color:var(--lavender-deep);box-shadow:0 0 0 2px var(--lavender-bg), var(--shadow-glow)}.pack-name-link{color:inherit;text-decoration:none}.pack-name-link:hover{color:var(--lavender-ink)}.pack-card h2{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-weight-semibold);line-height:var(--leading-tight);color:var(--ink);margin:0}.pack-card>p{color:var(--text-2);font-size:var(--text-sm);line-height:var(--leading-normal);flex:1;margin:0}.pack-card a.pack-photo{display:block}.pack-card .pack-photo{margin:calc(var(--space-5) * -1) calc(var(--space-5) * -1) var(--space-2);aspect-ratio:3/4;background:var(--lavender-bg);overflow:hidden}.pack-card .pack-photo img{object-fit:cover;object-position:center top;width:100%;height:100%;display:block}.pack-card .pack-monogram{width:100%;height:100%;font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-weight-bold);color:var(--lavender-ink);justify-content:center;align-items:center;display:flex}.pack-card .pack-badges{top:var(--space-4);right:var(--space-4);justify-content:flex-end;gap:var(--space-1);flex-wrap:wrap;display:flex;position:absolute}.pack-card .ui-btn{margin-top:var(--space-2);align-self:flex-start}.current-companion{margin-top:var(--space-7);border-top:1px solid var(--border);padding-top:var(--space-5)}.current-companion h2{margin:0 0 var(--space-3);font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-weight-semibold);color:var(--ink)}.state-list{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.state-list li{background:var(--lavender-bg);color:var(--lavender-ink);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:var(--font-weight-medium)}.collection-page{max-width:min(var(--page-max-narrow), 100%);padding:var(--space-6) var(--space-4) var(--space-8);font-family:var(--font-body);color:var(--ink);margin:0 auto}.collection-skel{gap:var(--space-3);pointer-events:none;flex-direction:column;display:flex}.collection-skel-header{align-items:center;gap:var(--space-4);margin-bottom:var(--space-2);display:flex}.collection-skel-avatar{flex-shrink:0}.collection-skel-meta{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.collection-card{gap:var(--space-2);flex-direction:column;display:flex}.collection-card-header{align-items:center;gap:var(--space-4);margin-bottom:var(--space-2);display:flex}.collection-avatar{flex-shrink:0}.collection-card-titles{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.collection-card-name{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-weight-bold);color:var(--ink);line-height:var(--leading-snug);margin:0}.collection-card-desc{color:var(--text-2);font-size:var(--text-md);line-height:var(--leading-normal);margin:0 0 var(--space-4)}.collection-card-actions{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.setup{max-width:var(--page-max-narrow,560px);width:100%;padding:var(--space-6) var(--page-gutter,20px);gap:var(--space-5);text-align:left;box-sizing:border-box;flex-direction:column;margin:0 auto;display:flex}.setup .ui-page-header{margin-bottom:0}.setup .setup-card{gap:var(--space-4);flex-direction:column;display:flex}.setup .setup-card__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-weight-bold);color:var(--ink);line-height:var(--leading-snug);margin:0}.setup .setup-repo-mgmt{gap:var(--space-2);margin-top:var(--space-1);flex-direction:column;display:flex}.setup .setup-repo-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.setup .setup-repo-list li{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--lavender-bg);font-size:var(--text-sm);color:var(--ink);display:flex}.setup .setup-repo-remove.ui-btn{color:var(--danger);flex-shrink:0}.setup .setup-add-repo{align-items:flex-end;gap:var(--space-2);margin-top:var(--space-2);display:flex}.setup .setup-add-repo .ui-field{flex:auto;min-width:0}.setup .setup-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.setup .setup-result{gap:var(--space-3);flex-direction:column;display:flex}.setup .setup-result--pass{background:var(--success-bg);border-color:var(--success-border)}.setup .setup-result--fail{background:var(--danger-bg);border-color:var(--danger-border)}.setup .setup-result__title{font-size:var(--text-md);font-weight:var(--font-weight-semibold);color:var(--ink);line-height:var(--leading-snug);margin:0}.setup .setup-checks{gap:var(--space-2);font-size:var(--text-sm);color:var(--ink-soft);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.setup .setup-checks li{align-items:center;gap:var(--space-2);display:flex}.setup .setup-check__dot{font-weight:var(--font-weight-bold);text-align:center;flex-shrink:0;width:1.2rem}.setup .setup-check--ok .setup-check__dot{color:var(--success)}.setup .setup-check--no .setup-check__dot{color:var(--danger)}.setup .setup-err-detail{font-size:var(--text-xs);color:var(--danger);margin:0}.setup .setup-muted{color:var(--text-2);font-size:var(--text-sm);margin:0}.video-panel{border-radius:var(--radius-lg);width:100%;max-width:480px;margin:0 auto;position:relative}@keyframes materialize-from-companion{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.chat-root{gap:var(--space-2,.5rem);box-sizing:border-box;flex-direction:column;min-height:0;display:flex}@media (prefers-reduced-motion:no-preference){.chat-root{animation:.3s materialize-from-companion}}.chat-root--page{width:100%;height:100%;min-height:0;padding:var(--space-3,.75rem) var(--page-gutter,20px);box-sizing:border-box;flex:auto}.chat-session{gap:var(--space-4);flex-direction:column;display:flex}@media (width>=1024px){.chat-session{align-items:stretch;gap:var(--space-5);padding:var(--space-5) var(--page-gutter,20px);flex-direction:row}}.chat-work{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}@media (width>=1024px){.chat-root--page{padding:var(--space-4,1rem) var(--page-gutter,20px)}}.chat-root--page .chat-log{flex:1;min-height:0;max-height:none;overflow-y:auto}.chat-root--page .chat-input{background:var(--bg-page);padding-top:var(--space-2,.5rem);flex-shrink:0;position:sticky;bottom:0}.chat-root--panel{height:auto;min-height:0}.chat-root--panel .chat-log{flex:1;min-height:8rem;max-height:320px;overflow-y:auto}.chat-root--panel .chat-input{flex-shrink:0;position:sticky;bottom:0}.chat-root .chat-guest{padding:var(--space-6,2rem) var(--space-4,1rem);flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.chat-root .chat-guest--compact{padding:var(--space-4,1rem);min-height:6rem}.chat-root .chat-empty{text-align:center;padding:var(--space-5,1.5rem) 0;margin:0}.chat-root .chat-empty-state{padding:var(--space-6,2rem) var(--space-3,.75rem);margin:auto}.chat-root .chat-log{gap:var(--space-2,.5rem);background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);flex-direction:column;flex:1;padding:.6rem;display:flex}.chat-root .bubble{border-radius:var(--radius-md);word-break:break-word;max-width:80%;padding:.5rem .75rem;font-size:.9rem;line-height:1.4;animation:none}@media (prefers-reduced-motion:no-preference){.chat-root .bubble{animation:.25s materialize-from-companion}}.chat-root .bubble.user{background:var(--lavender-deep);color:var(--text-on-primary);border-bottom-right-radius:3px;align-self:flex-end}.chat-root .bubble.assistant{background:var(--bg-card);color:var(--ink);border:1px solid var(--border);border-bottom-left-radius:3px;align-self:flex-start}.chat-root .chat-send-error{flex-shrink:0}.chat-root .chat-input{gap:var(--space-2,.5rem);align-items:center;margin-top:0;display:flex}.chat-root .chat-input input{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);min-width:0;color:var(--ink);transition:border-color var(--transition-fast,.15s ease), box-shadow var(--transition-fast,.15s ease);outline:none;flex:1;padding:.55rem .7rem;font-family:inherit;font-size:.95rem}.chat-root .chat-input input:focus-visible{border-color:var(--lavender-deep);box-shadow:var(--focus-ring)}.chat-root .chat-input input::placeholder{color:var(--text-2)}.chat-root .chat-input input:disabled{opacity:.6;cursor:not-allowed}.chat-root .chat-input .ui-btn{border-radius:var(--radius-pill);font-size:var(--text-md);font-weight:var(--font-weight-semibold);line-height:var(--leading-tight);background:var(--lavender-deep);color:var(--text-on-primary);border:1px solid #0000;border-color:var(--lavender-deep);cursor:pointer;box-sizing:border-box;flex-shrink:0;padding:10px 20px}.chat-root .chat-input .ui-btn--sm{font-size:var(--text-sm);padding:6px 12px}.chat-root .chat-input .ui-btn--lg{padding:12px 24px}.chat-root .chat-input .ui-btn:hover:not(:disabled):not(.is-disabled):not(.is-loading){box-shadow:var(--shadow-glow);background:var(--lavender-deep)}.chat-root .chat-input .ui-btn:disabled,.chat-root .chat-input .ui-btn.is-disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.chat-root .muted{color:var(--text-2);font-size:.9rem}.presence{flex-direction:column;flex:none;width:min(220px,42vw);max-width:280px;min-height:0;margin:0 auto;display:flex}@media (width>=1024px){.presence{width:min(300px,32%);margin:0}.presence .video-panel,.presence .companion-video{max-height:100%}}.presence-still{aspect-ratio:9/16;object-fit:cover;object-position:center 22%;width:100%}.presence-name{margin:var(--space-2) 0 0;text-align:center;font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--font-weight-semibold);color:var(--ink)}.presence-line{margin:var(--space-1) 0 0;text-align:center;font-size:var(--text-sm);line-height:var(--leading-snug);color:var(--text-2)}.presence-mood{margin:var(--space-2) auto 0;border-radius:var(--radius-pill);background:var(--lavender-bg);color:var(--lavender-ink);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;align-self:center;padding:.15rem .55rem;display:inline-flex}.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}.terminal-page{gap:var(--space-4);height:100%;min-height:0;padding:var(--space-4) var(--page-gutter,20px);box-sizing:border-box;flex-direction:column;flex:1;display:flex}.terminal-page--panel{gap:var(--space-2);padding:0}@media (width>=1024px){.terminal-page{align-items:stretch;gap:var(--space-5);padding:var(--space-5) var(--page-gutter,20px);flex-direction:row}}.terminal-work{gap:var(--space-3);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.terminal-page-header{flex-shrink:0;margin-bottom:0}.terminal-status{align-items:center;gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;display:inline-flex}.terminal-status-pill{align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;line-height:var(--leading-tight);border:1px solid #0000;padding:.2rem .65rem;display:inline-flex}.terminal-status-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:8px;height:8px}.terminal-status-pill--idle{color:var(--text-muted);background:var(--bg-secondary);border-color:var(--border)}.terminal-status-pill--success{color:var(--success);background:var(--success-bg);border-color:var(--success-border)}.terminal-status-pill--warning{color:var(--warning);background:var(--warning-bg);border-color:var(--warning-border)}.terminal-status-pill--danger{color:var(--danger);background:var(--danger-bg);border-color:var(--danger-border)}.terminal-status-msg{color:var(--text-2);font-size:var(--text-sm);font-weight:var(--font-weight-medium);text-transform:none;letter-spacing:normal}.terminal-frame{min-width:0;min-height:360px;padding:var(--space-3);border:1px solid var(--border-strong);flex-direction:column;flex:1;display:flex}.terminal-host{border-radius:var(--radius-sm);background:var(--terminal-bg,#140c1c);min-width:0;height:auto;min-height:360px;color:var(--terminal-fg,#f3edff);border:1px solid var(--border-strong);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--lavender) 6%, transparent);flex:1;position:relative;overflow:hidden}.terminal-host .xterm{height:100%;padding:var(--space-2)}.terminal-host-inner{height:100%;min-height:inherit;padding:var(--space-4);box-sizing:border-box}.terminal-stub{font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--terminal-fg,#f3edff);white-space:pre-wrap;word-break:break-word;margin:0}.terminal-stub-accent{color:var(--terminal-cursor,#b69dff);font-weight:var(--font-weight-semibold)}.terminal-stub-muted{color:color-mix(in srgb, var(--terminal-fg,#f3edff) 55%, transparent)}.terminal-overlay{z-index:5;justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-5);text-align:center;background:color-mix(in srgb, var(--terminal-bg,#140c1c) 88%, transparent);color:var(--terminal-fg,#f3edff);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);flex-direction:column;display:flex;position:absolute;inset:0}.terminal-overlay-msg{max-width:28rem;font-size:var(--text-md);line-height:var(--leading-normal);color:var(--terminal-fg,#f3edff);margin:0}.terminal-overlay--danger .terminal-overlay-msg{color:color-mix(in srgb, var(--terminal-fg,#f3edff) 90%, var(--danger))}.terminal-overlay--warning .terminal-overlay-msg{color:color-mix(in srgb, var(--terminal-fg,#f3edff) 90%, var(--warning))}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.01)}}@keyframes aura-pulse{0%,to{box-shadow:0 0 20px var(--lavender-glow)}50%{box-shadow:0 0 40px var(--lavender-glow), 0 0 60px var(--lavender-bg)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.dash{width:100%;max-width:min(1100px,100%);padding:var(--space-4) var(--page-gutter,20px) var(--space-7);font-family:var(--font-body);color:var(--ink);gap:var(--space-4);box-sizing:border-box;overscroll-behavior-y:contain;background:0 0;flex-direction:column;min-height:0;margin:0 auto;display:flex}.dash:before{content:"↓ Pull to refresh";font-size:var(--text-sm);color:var(--text-muted);height:0;transition:height var(--transition-fast);justify-content:center;align-items:center;display:flex;overflow:hidden}.dash.refreshing:before{content:"↻ Refreshing…";height:2rem}@media (prefers-reduced-motion:no-preference){.dash.refreshing:before{animation:.8s linear infinite spin}}.dash-top{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}@media (prefers-reduced-motion:no-preference){.dash-top{animation:.3s slide-up}}.dash-top h1{font-family:var(--font-display);font-size:var(--text-xl);color:var(--ink);font-weight:var(--font-weight-bold);line-height:var(--leading-tight);margin:0}.status-pill{font-size:var(--text-xs);font-weight:var(--font-weight-bold);border-radius:var(--radius-pill);white-space:nowrap;letter-spacing:var(--tracking-wide);padding:.25rem .65rem}.status-pill.ready{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.status-pill.setup-needed{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border)}.status-pill.locked{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.notice-banner{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--ink-soft);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:var(--leading-normal)}.notice-banner a{color:var(--lavender-deep);font-weight:var(--font-weight-semibold);text-decoration:none}.notice-banner a:hover{text-decoration:underline}.dash-layout{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.dash-top,.dash-video,.dash-actions,.dash-work,.dash-chat,.dash-terminal,.dash-panels{min-width:0}.dash-tabs{border:1px solid var(--border);border-radius:var(--radius-pill);width:fit-content;margin-bottom:var(--space-3);gap:0;display:flex;overflow:hidden}.dash-tabs button{color:var(--text-2);font:inherit;font-size:var(--text-sm);font-weight:var(--font-weight-semibold);cursor:pointer;background:0 0;border:0;padding:.45rem 1rem}.dash-tabs button.is-on{background:var(--lavender-deep);color:var(--text-on-primary)}.dash-tab-panels{min-width:0}.dash-terminal .terminal-page--panel{height:min(32rem,70dvh);padding:0}.dash-panels{gap:var(--space-3);flex-direction:column;display:flex}.video-panel{clip-path:polygon(16px 0%,100% 0%,100% 100%,0% 100%,0% 16px);border-radius:var(--radius-lg);width:100%;max-width:480px;margin:0 auto;position:relative}@media (prefers-reduced-motion:no-preference){.video-panel{animation:4s ease-in-out infinite aura-pulse}}.companion-video{aspect-ratio:9/16;object-fit:cover;background:var(--bg-secondary);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-card);display:block;overflow:hidden}.companion-video-base{z-index:1;position:relative}@media (prefers-reduced-motion:no-preference){.companion-video-base{animation:6s ease-in-out infinite breathe}}.companion-video-active{z-index:2;opacity:0;transition:opacity var(--transition-med);pointer-events:none;position:absolute;inset:0}.companion-video-active.active-visible{opacity:1}.video-placeholder{aspect-ratio:9/16;width:100%;color:var(--text-muted);font-size:var(--text-md);text-align:center;padding:var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-lg);justify-content:center;align-items:center;display:flex}.video-caption{text-align:center;font-size:var(--text-xs);color:var(--text-muted);margin:var(--space-2) 0 0;letter-spacing:var(--tracking-wide)}.actions{gap:var(--space-2);grid-template-columns:repeat(2,1fr);display:grid}@media (prefers-reduced-motion:no-preference){.actions{animation:.35s slide-up}}.dash .actions .action-btn.ui-btn{white-space:normal;text-align:center;width:100%;line-height:var(--leading-snug);justify-content:center;min-height:2.75rem}.dash .dash-chat .chat-root--panel{min-height:0}.panels{gap:var(--space-2);flex-direction:column;display:flex}@media (prefers-reduced-motion:no-preference){.panels{animation:.45s slide-up}}.panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow:hidden}.panel-head{background:var(--bg-card);width:100%;font-size:var(--text-sm);font-weight:var(--font-weight-semibold);cursor:pointer;text-transform:capitalize;color:var(--ink);transition:background var(--transition-fast);border:none;justify-content:space-between;align-items:center;padding:.7rem .9rem;font-family:inherit;display:flex}.panel-head:hover{background:var(--bg-elevated)}.chevron{color:var(--text-muted);transition:transform var(--transition-fast)}.panel.open .chevron{transform:rotate(180deg)}.panel-body{font-size:var(--text-sm);color:var(--text-2);background:var(--bg-elevated);padding:.7rem .9rem}@media (prefers-reduced-motion:no-preference){.panel-body{animation:.2s materialize-from-companion}}.run-list{flex-direction:column;gap:.3rem;margin:0;padding-left:0;list-style:none;display:flex}.run{border-radius:var(--radius-sm);background:var(--lavender-bg);word-break:break-word;border-left:3px solid #0000;padding:.4rem .6rem}.run-status{text-transform:capitalize;font-style:normal;font-weight:600}.run-completed{border-left-color:var(--success)}.run-completed .run-status{color:var(--success)}.run-failed{border-left-color:var(--danger)}.run-failed .run-status{color:var(--danger)}.run-running{border-left-color:var(--lavender-deep)}.run-running .run-status{color:var(--lavender-deep)}.run-needs_setup{border-left-color:var(--warning)}.run-needs_setup .run-status{color:var(--warning)}.run-queued{border-left-color:var(--lavender-deep)}.run-queued .run-status{color:var(--lavender-deep)}.error-banner{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm)}@media (prefers-reduced-motion:no-preference){.error-banner{animation:.2s slide-up}}.muted{color:var(--text-muted);font-size:var(--text-sm)}.gh-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.gh-list li{font-size:var(--text-sm);word-break:break-word;color:var(--text-2)}.gh-list a{color:var(--lavender-deep);font-weight:600;text-decoration:none}.gh-list a:hover{text-decoration:underline}.check{font-size:var(--text-sm);word-break:break-word;padding:.3rem 0}.check-success{color:var(--success)}.check-failure,.check-failed{color:var(--danger)}.check-in_progress,.check-queued{color:var(--warning)}.check-unknown,.check-null,.check-undefined{color:var(--text-muted)}.dash .refresh-btn.ui-btn{align-self:flex-start}.ledger-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.ledger-list li{font-size:var(--text-sm);border-left:3px solid var(--lavender-deep);color:var(--text-2);flex-direction:column;gap:.1rem;padding-left:.6rem;display:flex}.ledger-time{color:var(--text-muted);font-size:var(--text-xs)}.ledger-kind{font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:var(--text-xs);color:var(--lavender-deep)}.ledger-summary{color:var(--ink)}.ledger-actor{font-size:var(--text-xs);color:var(--lavender-deep);font-weight:var(--font-weight-semibold)}.pipeline-view{flex-direction:column;gap:.75rem;display:flex}.pipeline-view h4{font-size:var(--text-sm);color:var(--text-2);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin:0 0 .25rem}.pipeline-blocked{border-left:3px solid var(--danger);padding-left:.6rem}.pipeline-active{border-left:3px solid var(--lavender-deep);padding-left:.6rem}.pipeline-review{border-left:3px solid var(--warning);padding-left:.6rem}.decisions-list{flex-direction:column;gap:.75rem;display:flex}.decision-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);border-left:4px solid var(--lavender-deep);flex-direction:column;gap:.4rem;margin-bottom:.6rem;padding:.7rem .9rem;display:flex}@media (prefers-reduced-motion:no-preference){.decision-card{animation:.3s materialize-from-companion}}.decision-card.confidence-high{border-left-color:var(--success)}.decision-card.confidence-medium{border-left-color:var(--warning)}.decision-card.confidence-low{border-left-color:var(--danger)}.decision-head{flex-wrap:wrap;align-items:center;gap:.4rem .6rem;display:flex}.decision-title{font-weight:var(--font-weight-semibold);font-size:var(--text-sm);color:var(--ink);flex:1}.decision-type{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);border-radius:var(--radius-sm);background:var(--lavender-bg);color:var(--lavender-deep);padding:.15rem .4rem}.decision-confidence,.decision-impact{font-size:var(--text-xs);color:var(--text-2)}.decision-rec{font-size:var(--text-sm);color:var(--ink);line-height:var(--leading-normal);margin:0}.decision-context{font-size:var(--text-sm);margin:0}.decision-actions{gap:.5rem;margin-top:.3rem;display:flex}.decision-discuss{align-items:center;gap:.4rem;display:flex}.decision-discuss input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-page);color:var(--ink);font-size:var(--text-sm);flex:1;padding:.4rem .6rem}.decision-discuss input::placeholder{color:var(--text-muted)}.findings-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.finding{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);padding:.6rem .8rem}.finding.recommended{border-color:var(--lavender-deep);box-shadow:0 0 0 2px var(--lavender-bg)}.finding-head{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.finding-rank{font-weight:var(--font-weight-bold);color:var(--lavender-deep)}.finding-title{font-weight:var(--font-weight-semibold);color:var(--ink)}.finding-sev{font-size:var(--text-xs);text-transform:uppercase;font-weight:var(--font-weight-bold);border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--text-muted);padding:.1rem .4rem}.finding-sev.sev-high{background:var(--danger-bg);color:var(--danger)}.finding-sev.sev-medium{background:var(--warning-bg);color:var(--warning)}.finding-sev.sev-low{background:var(--success-bg);color:var(--success)}.finding-detail{font-size:var(--text-sm);color:var(--text-2);margin:.4rem 0 0}.dash .fix-btn.ui-btn{margin-top:var(--space-3)}.pr-review{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);margin-bottom:.7rem;padding:.7rem .9rem}@media (prefers-reduced-motion:no-preference){.pr-review{animation:.3s materialize-from-companion}}.pr-review.risk-high{border-left:4px solid var(--danger)}.pr-review.risk-medium{border-left:4px solid var(--warning)}.pr-review.risk-low{border-left:4px solid var(--success)}.pr-head{font-weight:var(--font-weight-semibold);color:var(--ink);flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.pr-title{color:var(--text-2);font-weight:var(--font-weight-medium)}.pr-label{font-size:var(--text-xs);text-transform:uppercase;font-weight:var(--font-weight-bold);border-radius:var(--radius-pill);margin-left:auto;padding:.1rem .45rem}.pr-label.label-ship{background:var(--success-bg);color:var(--success)}.pr-label.label-review{background:var(--warning-bg);color:var(--warning)}.pr-label.label-stop{background:var(--danger-bg);color:var(--danger)}.pr-summary{font-size:var(--text-sm);color:var(--text-2);margin:.4rem 0}.pr-meta{font-size:var(--text-xs);flex-wrap:wrap;gap:.8rem;display:flex}.pr-risk.risk-high{color:var(--danger);font-weight:var(--font-weight-bold)}.pr-risk.risk-medium{color:var(--warning);font-weight:var(--font-weight-bold)}.pr-risk.risk-low{color:var(--success);font-weight:var(--font-weight-bold)}.pr-risk-expl{font-size:var(--text-sm);color:var(--danger);background:var(--danger-bg);border-radius:var(--radius-sm);margin:.4rem 0;padding:.3rem .5rem}.pr-files{font-size:var(--text-xs);color:var(--text-muted);margin:.4rem 0;padding-left:1.2rem}.pr-actions{flex-wrap:wrap;gap:.4rem;margin-top:.5rem;display:flex}.pr-btn{border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer;transition:opacity var(--transition-fast);border:none;padding:.4rem .7rem;font-family:inherit}.pr-btn.ship{background:var(--success);color:var(--text-on-primary)}.pr-btn.review{background:var(--warning);color:var(--text-on-primary)}.pr-btn.stop{background:var(--danger);color:var(--text-on-primary)}.pr-btn:disabled{opacity:.45;cursor:default}.pr-decision{font-size:var(--text-xs);color:var(--text-muted);margin:.4rem 0 0}.pr-merged{font-size:var(--text-sm);color:var(--success);font-weight:var(--font-weight-bold);margin:.4rem 0 0}.dash .tutorial-overlay{background:var(--overlay-scrim);z-index:var(--z-overlay,1000);padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dash .tutorial-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-5);width:100%;max-width:420px;box-shadow:var(--shadow-lift);text-align:left;color:var(--ink)}.dash .tutorial-modal h2{font-family:var(--font-display);font-size:var(--text-xl);margin:0 0 var(--space-3);color:var(--ink)}.dash .tutorial-modal p{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--text-2);margin:0 0 var(--space-3)}.dash .tutorial-modal ul{margin:0 0 var(--space-3);padding-left:1.2rem}.dash .tutorial-modal li{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--text-2);margin-bottom:var(--space-1)}.dash .tutorial-modal .trust-boundary{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--ink-soft);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);margin:0 0 var(--space-4);line-height:var(--leading-normal)}.dash .tutorial-modal .tutorial-ack.ui-btn,.dash .tutorial-modal .tutorial-ack.ui-btn--primary{background:var(--lavender-deep);width:100%;color:var(--text-on-primary);border:1px solid var(--lavender-deep);border-radius:var(--radius-pill);font-size:var(--text-md);font-weight:var(--font-weight-semibold);line-height:var(--leading-tight);box-sizing:border-box;cursor:pointer;justify-content:center;padding:10px 20px}.dash .tutorial-modal .tutorial-ack.ui-btn:hover:not(:disabled):not(.is-disabled){box-shadow:var(--shadow-glow);background:var(--lavender-deep)}@media (width>=480px){.video-panel{max-width:400px}.actions{gap:var(--space-3)}}@media (width>=768px){.dash{padding:var(--space-5) var(--page-gutter,20px) var(--space-8);gap:var(--space-5)}.video-panel{max-width:360px}.actions{grid-template-columns:repeat(3,1fr)}}@media (width>=1024px){.dash{max-width:min(1100px,100%);padding:var(--space-5) var(--page-gutter,20px) var(--space-7);--dash-sticky-top:calc(var(--topbar-height,56px) + env(safe-area-inset-top,0px) + var(--space-3));--dash-chat-height:calc(100dvh - var(--topbar-height,56px) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - (2 * var(--space-5)) - var(--space-3))}.dash-layout{gap:var(--space-5);grid-template:"top work""video work""actions work""panels work"1fr/minmax(0,1fr) minmax(0,1.15fr);align-items:start;display:grid}.dash-top{top:var(--dash-sticky-top);z-index:2;background:color-mix(in srgb, var(--bg-page) 92%, transparent);-webkit-backdrop-filter:blur(8px);padding-bottom:var(--space-1);grid-area:top;position:sticky}.dash-video{top:calc(var(--dash-sticky-top) + 2.75rem);z-index:1;grid-area:video;position:sticky}.dash-actions{grid-area:actions}.dash-work{top:var(--dash-sticky-top);height:var(--dash-chat-height);max-height:var(--dash-chat-height);flex-direction:column;grid-area:work;align-self:start;min-height:20rem;display:flex;position:sticky}.dash-tab-panels,.dash-chat,.dash-terminal{flex-direction:column;flex:auto;min-height:0;display:flex}.dash-tab-panels [hidden]{display:none}.dash-panels{grid-area:panels}.video-panel{max-width:100%;margin:0}.actions{grid-template-columns:repeat(2,1fr)}.dash .dash-work .chat-root--panel,.dash .dash-work .terminal-page--panel{flex-direction:column;flex:auto;height:100%;min-height:0;display:flex}.dash .dash-chat .chat-root--panel .chat-log{flex:auto;min-height:0;max-height:none;overflow-y:auto}.dash .dash-chat .chat-root--panel .chat-input{flex-shrink:0}}@supports (padding:env(safe-area-inset-bottom)){.dash{padding-left:calc(var(--page-gutter,20px) + env(safe-area-inset-left,0px));padding-right:calc(var(--page-gutter,20px) + env(safe-area-inset-right,0px));padding-bottom:calc(var(--space-7) + env(safe-area-inset-bottom,0px))}}.settings{width:100%;max-width:var(--page-max-narrow,560px);padding:var(--space-5) var(--page-gutter,20px) var(--space-7);gap:var(--space-5);text-align:left;box-sizing:border-box;color:var(--ink);flex-direction:column;align-items:stretch;margin:0 auto;display:flex}.settings .ui-page-header{margin-bottom:0}.settings-card{gap:var(--space-3);flex-direction:column;display:flex}.settings-card h2{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-weight-semibold);color:var(--ink);line-height:var(--leading-snug);margin:0}.settings-muted{color:var(--text-2);font-size:var(--text-sm);line-height:var(--leading-normal);margin:0}.settings .level-list{gap:var(--space-3);margin-top:var(--space-2);flex-direction:column;display:flex}.settings .level-option{text-align:left;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border:2px solid var(--border);background:var(--bg-card);color:var(--ink);font-family:var(--font-body);font-size:var(--text-sm);line-height:var(--leading-snug);cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast), color var(--transition-fast);display:flex}.settings .level-option:hover:not(:disabled){border-color:var(--border-strong);background:var(--lavender-bg)}.settings .level-option:focus{outline:none}.settings .level-option:focus-visible{box-shadow:var(--focus-ring)}.settings .level-option.selected{border-color:var(--lavender-deep);background:var(--lavender-bg);color:var(--lavender-ink);box-shadow:0 0 0 1px var(--lavender-deep)}.settings .level-option.selected:focus-visible{box-shadow:var(--focus-ring), 0 0 0 1px var(--lavender-deep)}.settings .level-option.selected strong{color:var(--lavender-ink)}.settings .level-option:disabled{opacity:.7;cursor:default}.settings .level-option strong{font-weight:var(--font-weight-semibold);color:inherit}.settings .legal-note{font-size:var(--text-xs);color:var(--text-2);line-height:var(--leading-normal);max-width:var(--page-max-narrow,560px);margin:0}.settings-loading{align-items:center;gap:var(--space-2);color:var(--text-2);font-size:var(--text-sm);margin:0;display:flex}.account{width:100%;max-width:var(--page-max-narrow,560px);padding:var(--space-5) var(--page-gutter,20px) var(--space-7);gap:var(--space-5);text-align:left;box-sizing:border-box;color:var(--ink);flex-direction:column;align-items:stretch;margin:0 auto;display:flex}.account .ui-page-header{margin-bottom:0}.account-card{gap:var(--space-3);flex-direction:column;display:flex}.account-card h2{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-weight-semibold);color:var(--ink);line-height:var(--leading-snug);margin:0}.account-muted{color:var(--text-2);font-size:var(--text-sm);line-height:var(--leading-normal);margin:0}.account .cred-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.account .cred-list li{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);display:flex}.account .cred-list li.set{border-color:var(--success-border);box-shadow:inset 3px 0 0 var(--success)}.account .cred-list li.empty{opacity:.7;border-color:var(--border)}.account .cred-name{font-weight:var(--font-weight-semibold);font-size:var(--text-sm);color:var(--ink);flex:1}.account .cred-state{font-size:var(--text-sm);color:var(--text-2)}.account .account-remove.ui-btn--link{color:var(--danger);flex-shrink:0}.account .account-remove.ui-btn--link:hover:not(:disabled):not(.is-disabled){color:var(--danger);text-decoration:underline}.account .ledger{gap:var(--space-2);max-height:calc(var(--space-8) * 5);flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.account .ledger li{gap:var(--space-3);font-size:var(--text-sm);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border);grid-template-columns:minmax(100px,120px) 1fr auto;align-items:baseline;display:grid}.account .ledger-kind{font-weight:var(--font-weight-semibold);color:var(--lavender-deep)}.account .ledger-summary{color:var(--ink-soft);overflow-wrap:anywhere;min-width:0}.account .ledger-time{color:var(--text-2);white-space:nowrap;font-size:var(--text-xs)}@media (width<=520px){.account .ledger li{gap:var(--space-1);grid-template-columns:1fr}.account .ledger-time{white-space:normal}}.account .account-danger-card{border-color:var(--danger-border);background:color-mix(in srgb, var(--danger-bg) 60%, var(--bg-card))}.account .account-confirm{gap:var(--space-3);flex-direction:column;align-items:flex-start;display:flex}.account .account-warn{color:var(--danger);font-weight:var(--font-weight-semibold);font-size:var(--text-sm);margin:0}.account .ledger-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.account-loading{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-7) var(--space-4);color:var(--text-2);font-size:var(--text-sm);flex-direction:column;display:flex}.profile-page{max-width:min(var(--page-max), 100%);padding:0 0 var(--space-8);margin:0 auto}.profile-stage{isolation:isolate;border-radius:var(--radius-lg);background:var(--ink);min-height:min(62vh,38rem);margin-bottom:var(--space-7);flex-direction:column;justify-content:flex-end;display:flex;position:relative;overflow:hidden}.profile-stage-photo{background:var(--ink);cursor:zoom-in;border:0;width:100%;height:100%;padding:0;display:block;position:absolute;inset:0}.profile-stage-photo img{object-fit:cover;object-position:center 30%;width:100%;height:100%;animation:profile-stage-settle 1.4s var(--ease-out,cubic-bezier(.16, 1, .3, 1)) both;display:block;transform:scale(1.04)}@keyframes profile-stage-settle{0%{filter:saturate(.85);transform:scale(1.08)}to{filter:saturate(1.08);transform:scale(1.04)}}@media (prefers-reduced-motion:reduce){.profile-stage-photo img{filter:none;animation:none;transform:none}}.profile-stage-shade{pointer-events:none;background:linear-gradient(to top, color-mix(in srgb, var(--ink) 88%, transparent) 0%, color-mix(in srgb, var(--ink) 42%, transparent) 42%, transparent 72%), linear-gradient(to right, color-mix(in srgb, var(--ink) 28%, transparent), transparent 42%);position:absolute;inset:0}.profile-back{top:var(--space-4);left:var(--space-4);z-index:2;color:#fff;font-size:var(--text-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--ink) 38%, transparent);padding:.35rem .75rem;text-decoration:none;position:absolute}.profile-back:hover{color:#fff;background:color-mix(in srgb, var(--ink) 58%, transparent)}.profile-stage-meta{z-index:2;padding:var(--space-5);color:#fff;position:relative}.profile-place{margin:0 0 var(--space-2);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:color-mix(in srgb, #fff 78%, var(--lavender))}.profile-name{margin:0 0 var(--space-3);font-family:var(--font-display);font-size:clamp(2.4rem,6vw,4.2rem);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight);color:#fff;max-width:12ch;text-shadow:0 2px 18px color-mix(in srgb, var(--ink) 50%, transparent);line-height:.92}.profile-hook{margin:0 0 var(--space-4);font-size:var(--text-lg);line-height:var(--leading-snug);max-width:32ch;color:color-mix(in srgb, #fff 92%, var(--lavender))}.profile-tags{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.profile-stage .ui-badge{text-transform:capitalize;color:#fff;background:#ffffff29;border-color:#0000}.profile-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.profile-stage .profile-actions .ui-btn,.profile-stage .profile-actions .ui-btn:visited,.profile-stage .profile-actions .ui-btn:link{color:#fff}.profile-stage .ui-btn--secondary,.profile-stage .ui-btn--secondary:visited,.profile-stage .ui-btn--secondary:link{color:#fff;background:color-mix(in srgb, var(--ink) 42%, transparent);border-color:#ffffff8c}.profile-stage .ui-btn--secondary:hover:not(:disabled):not(.is-disabled){color:#fff;background:#ffffff29;border-color:#fff}.profile-error{color:#ffd6de;font-size:var(--text-sm);margin:0 0 var(--space-3)}.profile-section{padding-inline:var(--space-1);margin-bottom:var(--space-7);scroll-margin-top:5rem}.profile-section h2{margin:0 0 var(--space-2);font-family:var(--font-display);font-size:var(--text-xl);color:var(--ink)}.profile-lead{margin:0 0 var(--space-4);color:var(--text-2);font-size:var(--text-sm)}.profile-section--story p{margin:0 0 var(--space-3);color:var(--text-2);max-width:62ch;line-height:var(--leading-normal)}.profile-gallery{gap:var(--space-3);grid-template-columns:1fr;display:grid}.profile-gallery-item{background:var(--ink);border-radius:var(--radius-lg);cursor:zoom-in;aspect-ratio:4/5;text-align:left;border:0;padding:0;position:relative;overflow:hidden}@media (width>=720px){.profile-gallery{grid-template-columns:1.35fr 1fr;grid-auto-rows:1fr}.profile-gallery-item--1{aspect-ratio:auto;grid-row:1/span 2;height:100%;min-height:28rem}}.profile-gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .5s var(--ease-out,cubic-bezier(.16, 1, .3, 1));display:block}.profile-gallery-item:hover img{transform:scale(1.05)}.profile-gallery-cap{padding:var(--space-6) var(--space-4) var(--space-3);background:linear-gradient(to top, color-mix(in srgb, var(--ink) 86%, transparent), transparent);color:#fff;font-size:var(--text-sm);line-height:var(--leading-snug);position:absolute;bottom:0;left:0;right:0}.profile-shorts{gap:var(--space-4);padding-bottom:var(--space-2);scroll-snap-type:x mandatory;display:flex;overflow-x:auto}.profile-short{scroll-snap-align:start;flex:0 0 220px}.profile-short-frame{aspect-ratio:9/16;border-radius:var(--radius-md);background:var(--ink);position:relative;overflow:hidden}.profile-short-frame img{object-fit:cover;object-position:center 20%;opacity:.88;filter:saturate(1.08);width:100%;height:100%;display:block}.profile-short-play{color:#fff;background:color-mix(in srgb, var(--ink) 18%, transparent);place-items:center;display:grid;position:absolute;inset:0}.profile-short-play .shell-icon{width:2.25rem;height:2.25rem;filter:drop-shadow(0 2px 8px color-mix(in srgb, var(--ink) 50%, transparent))}.profile-short-dur{right:var(--space-2);bottom:var(--space-2);font-size:var(--text-xs);color:#fff;font-weight:var(--font-weight-semibold);position:absolute}.profile-short-title{margin:var(--space-2) 0 0;font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:var(--ink)}.profile-short-line{margin:var(--space-1) 0 0;font-size:var(--text-xs);color:var(--text-2);line-height:var(--leading-snug)}.profile-lightbox{z-index:var(--z-overlay);padding:var(--space-6);background:var(--overlay-scrim);cursor:zoom-out;border:0;place-items:center;display:grid;position:fixed;inset:0}.profile-lightbox-frame{max-width:min(720px,100%);margin:0}.profile-lightbox img{object-fit:contain;border-radius:var(--radius-md);width:100%;max-height:82vh;display:block}.profile-lightbox figcaption{margin-top:var(--space-3);color:#fff;font-size:var(--text-sm);text-align:left;max-width:52ch}.profile-stage .profile-place{color:color-mix(in srgb, #fff 78%, var(--lavender))}@media (width>=800px){.profile-stage-meta{padding:var(--space-7)}}@media (width<=340px){:root{--space-1:2px;--space-2:4px;--space-3:7px;--space-4:9px;--space-5:13px;--space-6:17px;--space-7:24px;--space-8:32px;--text-xs:.625rem;--text-sm:.72rem;--text-md:.82rem;--text-lg:.92rem;--text-xl:1.05rem;--text-2xl:1.25rem;--text-3xl:1.45rem;--text-4xl:1.65rem;--radius-sm:6px;--radius-md:9px;--radius-lg:13px;--page-gutter:10px;--page-max-narrow:320px;--topbar-height:38px;--bottomnav-height:42px}.shell-topbar{padding-left:calc(var(--page-gutter) - 2px);padding-right:calc(var(--page-gutter) - 2px)}.shell-topbar-wordmark{display:none}.shell-topbar-actions{gap:var(--space-2)}.shell-topbar-login{padding:3px 10px}.shell-theme-toggle,.shell-avatar{width:28px;height:28px}.shell-theme-toggle{font-size:13px}.shell-main{padding:var(--space-4) var(--page-gutter)}.shell-main--flush{padding:0}.shell-bottomnav{justify-content:space-between}.shell-bottomnav-link{flex:1 1 0;gap:1px;min-width:0;padding:2px;font-size:10px}.shell-bottomnav-icon{width:15px;height:15px}.shell-more-panel{max-width:100%}.face{min-height:12rem}.face--lead{min-height:14rem}.face--side{min-height:10rem}.chat-root .bubble{max-width:85%;padding:.35rem .5rem;font-size:.85rem}.chat-root .chat-log{padding:.4rem}.chat-root .chat-input input{padding:.4rem .5rem;font-size:.85rem}.chat-root .chat-input .ui-btn{padding:8px 14px}.terminal-page{padding:var(--space-3) var(--page-gutter)}.terminal-frame{min-height:0}.terminal-host{flex:none;height:min(50dvh,150px);min-height:0}.dash-terminal .terminal-page--panel{height:min(52dvh,160px)}.video-panel{max-width:100%}.companion-video,.video-placeholder{aspect-ratio:auto;height:28dvh;max-height:100px}.dash .actions .action-btn.ui-btn{min-height:2.4rem}}
