.notification-banner{z-index:150;inset:max(.75rem, env(safe-area-inset-top)) .75rem auto;width:min(100% - 1.5rem,620px);color:var(--text);background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-prominent);box-shadow:var(--shadow-card);grid-template-columns:1fr auto;align-items:center;gap:.5rem;margin:0 auto;padding:.65rem;display:grid;position:fixed}.notification-banner-content{text-align:left;min-width:0;color:inherit;background:0 0;border:0;gap:.2rem;padding:.2rem;display:grid}.notification-banner-content strong,.notification-banner-content span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.notification-banner-content span{color:var(--text-muted);font-size:.82rem}.notification-banner-dismiss{color:var(--accent-strong);background:0 0;border:0;padding:.5rem;text-decoration:underline}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-sans:-apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic UI", system-ui, sans-serif;--font-rounded:ui-rounded, -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic UI", system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, monospace;--font-size-page-title:2rem;--font-size-view-title:1.35rem;--font-size-card-title:1.25rem;font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;--accent:#eb612e;--accent-strong:#c8501c;--accent-pink:#eb526b;--accent-pink-strong:#c84057;--accent-contrast:#fff;--gradient-primary:linear-gradient(90deg, #c8501c 0%, #c84057 100%);--on-dark:#fff;--bg:#f5f5f7;--surface:#fff;--surface-raised:#f2f2f4;--text:#1a1a24;--text-muted:#666670;--success:#26ad47;--success-strong:#14753a;--danger:#d12e2e;--danger-strong:#a81f1f;--warning:#d9a600;--warning-strong:#8a5300;--accent-tint:#fdece6;--accent-tint-text:#b04517;--success-tint:#e5f5e9;--danger-tint:#f9e6e6;--warning-tint:#faf4e0;--hairline:#1a1a241f;--scrim:#0006;--scrim-blocking:#0000008c;--shadow-card:0 8px 18px #00000014;--shadow-feature:0 6px 14px #00000014;--shadow-result:0 8px 16px #0000001f;--radius-box:8px;--radius-prominent:10px;--radius-input:12px;--radius-button:14px;--radius-bubble:16px;--radius-media:16px;--radius-tile:18px;--radius-hero:20px;--radius-pill:999px;--radius-composer:20px;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:20px;--space-2xl:24px;--space-screen:20px;--space-card:16px;--app-topbar-height:56px;--app-bottom-nav-height:53px;--transition:.25s ease-in-out;--press-scale:.97;--press-scale-card:.98;--press-opacity:.8;--gradient-bubble:var(--gradient-primary);--bubble-on-mine:var(--on-dark);--muted:var(--text-muted);--border:var(--hairline);--brand:var(--accent-strong);--brand-strong:var(--accent-tint-text);--brand-contrast:var(--accent-contrast);--focus:var(--accent-strong);--color-background:var(--bg);--color-surface:var(--surface);--color-border:var(--hairline);--color-text:var(--text);--color-muted:var(--text-muted);--color-accent:var(--accent-strong)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--accent:#ff7340;--accent-strong:#ff7340;--accent-pink:#ff6680;--accent-pink-strong:#ff6680;--accent-contrast:#1a1a24;--bg:#1a1a24;--surface:#292933;--surface-raised:#21212a;--text:#fff;--text-muted:#9999a3;--success:#33c759;--success-strong:#33c759;--danger:#e63d3d;--danger-strong:#ff8080;--warning:#fc0;--warning-strong:#fc0;--accent-tint:#3a2e32;--accent-tint-text:var(--accent);--success-tint:#2a3937;--danger-tint:#3c2b34;--warning-tint:#3e392e;--hairline:#ffffff1f;--gradient-bubble:linear-gradient(90deg, #ff7340 0%, #ff6680 100%);--bubble-on-mine:var(--accent-contrast)}}*{box-sizing:border-box}html{background:var(--bg);min-width:320px}body{min-width:320px;min-height:100vh;color:var(--text);background:var(--bg);margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid var(--focus);outline-offset:2px}button{border-radius:var(--radius-button);min-height:44px;color:var(--brand-contrast);background:var(--brand);font-family:var(--font-rounded);cursor:pointer;border:0;justify-content:center;align-items:center;gap:.45rem;padding:.72rem 1.1rem;font-weight:700;display:inline-flex}button:hover:not(:disabled){filter:brightness(.94)}button:disabled{cursor:not-allowed;opacity:.55}button,.quick-links a{transition:transform var(--transition), opacity var(--transition)}button:active:not(:disabled),.quick-links a:active{transform:scale(var(--press-scale));opacity:var(--press-opacity)}a{color:var(--brand-strong)}img{max-width:100%}h1,h2{font-family:var(--font-rounded)}h1{font-size:var(--font-size-page-title)}h2{font-size:var(--font-size-card-title)}.center-state,.fatal-error{text-align:center;place-content:center;justify-items:center;min-height:100vh;padding:2rem;display:grid}.center-state img{width:min(220px,60vw)}.center-state-actions{justify-items:center;gap:.35rem;margin:.5rem 0 0;display:grid}.app-update-banner{color:var(--brand-strong);background:var(--surface-raised);border-bottom:1px solid var(--border);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem 1rem;padding:.6rem 1rem;display:flex}.app-update-banner button{min-height:38px;padding:.4rem .9rem}.pwa-install-button{color:var(--accent-strong)}.pwa-install-dialog{text-align:center}.pwa-install-dialog>svg{color:var(--accent-strong)}.pwa-install-dialog ol{text-align:left;gap:.65rem;padding-left:1.5rem;display:grid}.pwa-install-dialog p{color:var(--muted);text-align:left}.auth-page{background:radial-gradient(circle at 50% -10%, var(--surface-raised), var(--bg) 55%);min-height:100vh;padding:2rem 1rem 4rem}.auth-brand{justify-content:center;margin:1rem 0 1.5rem;display:flex}.auth-brand img{object-fit:contain;width:min(230px,60vw);max-height:110px}.auth-card{border:1px solid var(--border);border-radius:var(--radius-prominent);background:var(--surface);width:min(100%,480px);box-shadow:var(--shadow-card);margin:0 auto;padding:clamp(1.25rem,4vw,2rem)}.auth-card h1{margin:1rem 0 .4rem}.auth-card>p{color:var(--muted)}.auth-mode-tabs{border-radius:var(--radius-input);background:var(--surface-raised);grid-template-columns:1fr 1fr;gap:.3rem;padding:.3rem;display:grid}.auth-mode-tabs button{color:var(--muted);font-family:var(--font-sans);background:0 0}.auth-mode-tabs button[aria-selected=true]{color:var(--brand-contrast);background:var(--brand)}.provider-buttons{gap:.75rem;margin:1.5rem 0;display:grid}.provider-buttons button{border:1px solid var(--border);width:100%;color:var(--text);background:var(--surface);font-family:var(--font-sans);justify-content:flex-start}.provider-buttons button:hover{background:var(--surface-raised)}.provider-mark{place-items:center;width:24px;height:24px;font-weight:700;display:inline-grid}.security-note{align-items:center;gap:.5rem;font-size:.82rem;display:flex}.text-button{min-height:40px;color:var(--brand-strong);font-family:var(--font-sans);background:0 0;padding:.35rem .2rem}.text-button:hover{background:var(--surface-raised)}.back-button{margin-left:-.2rem}.sent-state{text-align:center;padding:1rem 0}.field{gap:.4rem;margin:1rem 0;font-weight:600;display:grid}.field input,.field select,.field textarea{border:1px solid var(--border);border-radius:var(--radius-input);width:100%;min-height:46px;color:var(--text);background:var(--surface);padding:.7rem .8rem;font-weight:400}.field textarea{resize:vertical}.field input[aria-invalid=true],.field select[aria-invalid=true]{border-color:var(--danger)}.field-help,.counter{color:var(--muted);font-size:.84rem;font-weight:400}.counter{justify-self:end}.field-error{color:var(--danger);align-items:flex-start;gap:.35rem;margin:.2rem 0;font-size:.84rem;font-weight:600;display:flex}.form-notice{border:1px solid color-mix(in srgb, var(--danger) 28%, var(--border));border-radius:var(--radius-box);color:var(--text);background:color-mix(in srgb, var(--danger) 8%, var(--surface));padding:.8rem 1rem}.registration-error-summary{overflow-wrap:anywhere;min-width:0}.registration-error-summary h2{margin:0 0 .4rem}.registration-error-summary ul{gap:.2rem;min-width:0;margin:0;padding-left:1.25rem;display:grid}.registration-error-summary .text-button{text-align:left;overflow-wrap:anywhere;justify-content:flex-start;width:100%;min-width:0;min-height:44px}.registration-page{width:min(100%,780px);min-width:0;min-height:100vh;padding:0 1rem calc(7rem + env(safe-area-inset-bottom));overflow-wrap:anywhere;margin:auto}.registration-header{z-index:5;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);margin:0 -1rem 1rem;padding:.7rem 1rem .5rem;position:sticky;top:0}.registration-header>.text-button{margin-left:auto;display:flex}.step-summary{color:var(--muted);justify-content:space-between;font-size:.85rem;display:flex}.progress-track{border-radius:var(--radius-pill);background:var(--border);height:5px;margin-top:.4rem;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--brand);height:100%;transition:width .2s;display:block}.registration-page form,.registration-page form>*{min-width:0;max-width:100%}.registration-page :is(input,select,textarea,button,[tabindex]){scroll-margin-block-start:6.5rem;scroll-margin-block-end:calc(6rem + env(safe-area-inset-bottom))}.registration-page form>h1{font-size:var(--font-size-page-title)}.form-section{border:1px solid var(--border);border-radius:var(--radius-box);background:var(--surface);min-width:0;max-width:100%;margin-top:1.2rem;padding:clamp(1rem,4vw,1.6rem)}.form-section h2{margin-top:0}.choice-field,.training-fields{border:1px solid var(--border);border-radius:var(--radius-box);min-width:0;margin:1.2rem 0;padding:1rem}.choice-field legend,.training-fields legend{white-space:normal;max-width:100%;padding:0 .3rem;font-weight:700}.segmented-control{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;min-width:0;display:grid}.segmented-control button:not([aria-pressed=true]){border:1px solid var(--border);color:var(--text);background:0 0}.check-row{align-items:flex-start;gap:.6rem;margin:.8rem 0;line-height:1.5;display:flex}.check-row input{width:20px;height:20px;accent-color:var(--brand);flex:none;margin-top:.1rem}.chip-grid{flex-wrap:wrap;gap:.55rem;min-width:0;display:flex}.choice-chip input,.preferred-card input{opacity:0;pointer-events:none;position:absolute}.choice-chip{min-width:0;max-width:100%}.choice-chip span{border:1px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;overflow-wrap:anywhere;justify-content:center;align-items:center;min-width:0;min-height:44px;padding:.55rem .8rem;display:flex}.choice-chip input:checked+span{border-color:var(--brand);color:var(--brand-strong);background:var(--surface-raised);font-weight:700}.choice-chip input:focus-visible+span,.preferred-card input:focus-visible+img{outline:3px solid var(--focus);outline-offset:2px}.preferred-carousel{overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;grid-auto-columns:minmax(145px,42%);grid-auto-flow:column;gap:.7rem;width:100%;min-width:0;max-width:100%;padding:.4rem .2rem .8rem;display:grid;overflow-x:auto}.preferred-card{scroll-snap-align:start;cursor:pointer;text-align:center;gap:.45rem;min-width:0;display:grid;position:relative}.preferred-card img{aspect-ratio:3/4;border-radius:var(--radius-media);object-fit:cover;border:3px solid #0000;width:100%}.preferred-card input:checked+img{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 20%, transparent)}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;min-width:0;max-width:100%;display:grid}.photo-input{cursor:pointer;min-width:0;color:var(--muted);text-align:center;gap:.4rem;font-size:.8rem;display:grid}.photo-input>svg,.photo-input>img{aspect-ratio:3/4;border:1px dashed var(--border);border-radius:var(--radius-media);object-fit:cover;background:var(--surface-raised);width:100%;padding:1rem}.photo-input>img{padding:0}.photo-input input{text-overflow:ellipsis;white-space:nowrap;width:100%;min-width:0;max-width:100%;font-size:.75rem;display:block;overflow:hidden}.template-buttons{flex-wrap:wrap;gap:.5rem;display:flex}.template-buttons button{border:1px solid var(--border);min-height:44px;color:var(--text);background:var(--surface-raised);padding:.4rem .7rem;font-size:.82rem}.identity-summary{border-radius:var(--radius-box);background:var(--surface-raised);padding:.8rem}.legal-read-panel{min-width:0;max-width:100%;margin-top:1.4rem}.legal-document{border:1px solid var(--border);border-radius:var(--radius-box);background:var(--bg);overflow-wrap:anywhere;word-break:normal;width:100%;min-width:0;max-width:100%;height:300px;padding:1rem;font-size:.86rem;line-height:1.7;overflow:hidden auto}.legal-document>*{min-width:0;max-width:100%}.legal-document :is(p,li,a,code,pre,blockquote,th,td){overflow-wrap:anywhere;word-break:break-word}.legal-document :is(ul,ol){max-width:100%;padding-left:1.4rem}.legal-document pre{white-space:pre-wrap;max-width:100%}.legal-document table{table-layout:fixed;border-collapse:collapse;width:100%;max-width:100%}.legal-document :is(img,svg,video){max-width:100%;height:auto}.legal-document h1{font-size:1.25rem}.legal-document h2{margin-top:1.4rem;font-size:1.05rem}.read-status{color:var(--muted);text-align:right;font-size:.8rem}.legal-check:has(input:disabled){color:var(--muted)}.form-actions{z-index:4;min-width:0;padding:.8rem max(1rem, calc((100vw - 780px) / 2 + 1rem), env(safe-area-inset-right)) calc(.8rem + env(safe-area-inset-bottom)) max(1rem, calc((100vw - 780px) / 2 + 1rem), env(safe-area-inset-left));border-top:1px solid var(--border);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;gap:.8rem;display:flex;position:fixed;bottom:0;left:0;right:0}.form-actions button{min-width:0;max-width:100%}.secondary-button{border:1px solid var(--border);color:var(--text);background:var(--surface)}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{min-height:100vh;padding-bottom:calc(var(--app-bottom-nav-height) + env(safe-area-inset-bottom))}.app-topbar{z-index:5;height:var(--app-topbar-height);padding:6px var(--space-lg);border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.app-logo img{object-fit:contain;width:100px;max-height:44px}.app-topbar nav{align-items:center;gap:.35rem;display:flex}.app-topbar a,.icon-button{min-width:44px;height:44px;color:var(--text);background:0 0;border-radius:50%;place-items:center;padding:0;display:inline-grid}.account-banner{color:var(--warning-strong);background:var(--warning-tint);text-align:center;margin:0;padding:.65rem 1rem}.account-banner.critical{color:var(--danger-strong)}.photo-upload-warning{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem 1rem;display:flex}.photo-upload-warning-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;display:inline-flex}.photo-upload-warning button{min-height:38px;padding:.45rem .75rem}.photo-upload-warning .text-button{color:var(--warning-strong)}.app-content{width:min(100%,900px);margin:auto;padding:0}.bottom-nav{z-index:6;padding:2px env(safe-area-inset-right) calc(2px + env(safe-area-inset-bottom)) env(safe-area-inset-left);border-top:1px solid var(--border);background:color-mix(in srgb, var(--surface) 96%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{min-height:49px;color:var(--muted);place-items:center;gap:2px;font-size:.625rem;line-height:1.1;text-decoration:none;display:grid}.bottom-nav a[aria-current=page]{color:var(--brand-strong);font-weight:700}.bottom-nav svg{width:22px}.nav-icon-wrap{place-items:center;display:inline-grid;position:relative}.nav-badge{border-radius:var(--radius-pill);min-width:18px;color:var(--accent-contrast);background:var(--accent-pink-strong);text-align:center;padding:.1rem .3rem;font-size:.62rem;line-height:1.3;position:absolute;top:-.45rem;left:.9rem}.route-state{min-height:42vh;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:.8rem;display:grid}.chat-hub-shell{width:min(100%,720px);padding-top:var(--space-sm);margin:0 auto}.chat-hub-switcher{gap:var(--space-xs);margin:0 var(--space-screen) var(--space-xs);padding:var(--space-xs);border:1px solid var(--hairline);border-radius:var(--radius-box);background:var(--surface);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.chat-hub-switcher button{min-height:44px;padding:var(--space-sm);border-radius:var(--radius-input);color:var(--text-muted);font-family:var(--font-sans);background:0 0;font-size:.875rem;position:relative}.chat-hub-switcher button[aria-pressed=true]{color:var(--text);background:color-mix(in srgb, var(--accent) 14%, transparent)}.chat-hub-switcher button[aria-pressed=true]:after{right:50%;bottom:var(--space-xs);border-radius:var(--radius-pill);background:var(--gradient-primary);content:"";width:28px;height:3px;position:absolute;transform:translate(50%)}.chat-hub-title{margin:var(--space-lg) var(--space-screen) 0;font-size:var(--font-size-page-title)}.runtime-notice{z-index:20;border:1px solid var(--danger);border-radius:var(--radius-prominent);max-width:min(420px,100vw - 2rem);color:var(--text);background:var(--surface);box-shadow:var(--shadow-card);padding:.8rem 1rem;position:fixed;bottom:82px;right:1rem}.welcome-card,.warning-card,.quick-links,.feature-placeholder{border:1px solid var(--border);border-radius:var(--radius-box);background:var(--surface);box-shadow:var(--shadow-feature);padding:1.2rem}.reauth-dialog{border:1px solid var(--border);border-radius:var(--radius-prominent);width:min(100% - 2rem,30rem);max-height:min(90dvh,42rem);color:var(--text);background:var(--surface);box-shadow:var(--shadow-card);padding:1.5rem;overflow:auto}.reauth-dialog::backdrop{background:var(--scrim)}.reauth-dialog h2{margin-top:0}.reauth-dialog form,.reauth-dialog .field{gap:.75rem;display:grid}.reauth-dialog>button,.reauth-dialog form button{width:100%;margin-top:.75rem}.gift-dialog{text-align:center}.gift-dialog>svg{color:var(--accent-strong)}.gift-dialog>button:not(.text-button){border:1px solid var(--hairline);background:var(--gradient-primary);color:var(--on-dark);font-family:var(--font-rounded)}.campaign-copy{color:var(--muted);line-height:1.65}.welcome-card h1{margin:.2rem 0}.welcome-card>p{color:var(--muted)}.warning-card{border-color:color-mix(in srgb, var(--warning) 45%, var(--hairline));margin-top:1rem}.quick-links{gap:.7rem;margin-top:1rem;display:grid}.quick-links a{border-radius:var(--radius-input);background:var(--surface-raised);padding:.8rem;font-weight:700;text-decoration:none}@media (width>=760px){.app-shell{padding-bottom:0;padding-left:190px}.app-topbar{margin-left:-190px}.bottom-nav{top:var(--app-topbar-height);border-top:0;border-right:1px solid var(--border);grid-template-columns:1fr;align-content:start;width:190px;padding:1rem .6rem;right:auto}.bottom-nav a{grid-template-columns:32px 1fr;justify-items:start;padding:0 .8rem;font-size:.85rem}.photo-grid{grid-template-columns:repeat(6,1fr)}.registration-page .photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}button:active:not(:disabled),.quick-links a:active{transform:none}}
