@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/47f136985ef5b5cb-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/4ead58c4dcc3f285-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/28a2004cf8372660-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/eaead17c7dbfcd5d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Playfair Display Fallback;src:local("Times New Roman");ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:111.26%}.__className_0a80b4{font-family:Playfair Display,Playfair Display Fallback;font-style:normal}.__variable_0a80b4{--font-playfair:"Playfair Display","Playfair Display Fallback"}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/_next/static/media/13971731025ec697-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:DM Sans Fallback;src:local("Arial");ascent-override:94.90%;descent-override:29.66%;line-gap-override:0.00%;size-adjust:104.53%}.__className_0d7163{font-family:DM Sans,DM Sans Fallback;font-style:normal}.__variable_0d7163{--font-dm-sans:"DM Sans","DM Sans Fallback"}:root,[data-theme=dark]{--font-display:var(--font-playfair),"Playfair Display",Georgia,serif;--font-body:var(--font-dm-sans),"DM Sans",system-ui,sans-serif;--accent:hsl(40,85%,58%);--accent-strong:hsl(40,85%,52%);--accent-soft:hsl(40,85%,68%);--accent-contrast:hsl(0,0%,4%);--crimson:hsl(350,75%,55%);--cream:hsl(38,35%,95%);--success:hsl(142,70%,49%);--danger:hsl(0,70%,60%);--warning:hsl(38,92%,55%);--scrim:hsl(0,0%,0%,0.5);--scrim-strong:hsl(0,0%,0%,0.7);--text-on-media:hsl(0,0%,100%,0.92);--text-on-media-muted:hsl(0,0%,100%,0.65);--bg:hsl(0,0%,4%);--bg-raised:hsl(0,0%,8%);--bg-overlay:hsl(0,0%,2%,0.8);--border:hsl(0,0%,100%,0.1);--border-strong:hsl(0,0%,100%,0.18);--text:hsl(0,0%,98%);--text-muted:hsl(0,0%,100%,0.65);--text-faint:hsl(0,0%,100%,0.4);--text-ghost:hsl(0,0%,100%,0.2);--fill-subtle:hsl(0,0%,100%,0.04);--fill:hsl(0,0%,100%,0.06);--fill-strong:hsl(0,0%,100%,0.1)}[data-theme=light]{--bg:hsl(38,30%,97%);--bg-raised:hsl(0,0%,100%);--bg-overlay:hsl(30,15%,10%,0.45);--border:hsl(30,15%,10%,0.12);--border-strong:hsl(30,15%,10%,0.2);--text:hsl(30,10%,12%);--text-muted:hsl(30,10%,12%,0.7);--text-faint:hsl(30,10%,12%,0.45);--text-ghost:hsl(30,10%,12%,0.25);--fill-subtle:hsl(30,15%,10%,0.04);--fill:hsl(30,15%,10%,0.06);--fill-strong:hsl(30,15%,10%,0.09);--accent-strong:hsl(40,90%,44%);--accent-soft:hsl(40,80%,45%);--warning:hsl(35,95%,38%)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:500;font-size:.9375rem;border-radius:.75rem;height:3rem;padding:0 1.5rem;transition:all .3s ease;cursor:pointer;white-space:nowrap;text-decoration:none}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);color:var(--accent-contrast);border:none}.btn-primary:hover:not(:disabled){background:var(--accent-soft);transform:translateY(-1px);box-shadow:0 4px 20px color-mix(in srgb,var(--accent) 30%,transparent)}.btn-ghost{background:transparent;border:1px solid var(--border-strong);color:var(--text-muted)}.btn-ghost:hover:not(:disabled){color:var(--text);border-color:color-mix(in srgb,var(--text) 30%,transparent);background:color-mix(in srgb,var(--text) 6%,transparent)}.btn-danger{background:transparent;border:1px solid color-mix(in srgb,var(--danger) 40%,transparent);color:var(--danger)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 10%,transparent)}.btn-inverse{background:var(--text);color:var(--bg);border:none}.btn-inverse:hover:not(:disabled){background:color-mix(in srgb,var(--text) 90%,transparent);transform:translateY(-1px);box-shadow:0 4px 20px color-mix(in srgb,var(--text) 15%,transparent)}.btn-inverse:active:not(:disabled){transform:translateY(0)}.btn-pill{border-radius:9999px}.btn-sm{height:2.25rem;padding:0 1rem;font-size:.8125rem}.btn-block{width:100%}.dialog-backdrop{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--bg-overlay);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.dialog-panel{width:100%;max-width:24rem;background:var(--bg-raised);border:1px solid var(--border);border-radius:1rem;padding:1.5rem;font-family:var(--font-body)}.dialog-title{margin:0 0 .5rem;font-family:var(--font-display);font-weight:500;font-size:1.25rem;color:var(--text)}.dialog-body{margin:0 0 1.25rem;font-size:.875rem;line-height:1.5;color:var(--text-muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:.625rem}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary:focus-visible{outline-color:var(--text)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.skip-link{position:absolute;top:.5rem;left:.5rem;z-index:100;padding:.5rem 1rem;border-radius:9999px;background:var(--bg-raised);border:1px solid var(--border-strong);color:var(--text);font-size:.875rem;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}.nav-header{background-color:var(--nav-glass,transparent);border-bottom:1px solid var(--nav-line,transparent)}.nav-header .nav-logo{color:var(--nav-fg)}.nav-header .nav-link{color:var(--nav-fg-muted)}.nav-header .nav-cta{background-color:color-mix(in srgb,var(--nav-fg) 8.5%,transparent);background-color:rgb(from var(--nav-fg) r g b/calc(alpha * .2 - .1));color:color-mix(in srgb,var(--nav-fg) 88%,transparent);color:rgb(from var(--nav-fg) r g b/calc(alpha - .1));border:1px solid color-mix(in srgb,var(--nav-fg-muted) 16%,transparent)}html:has(.chat-layout){overflow:hidden}body:has(.chat-layout){overflow:hidden;min-height:0;touch-action:none}.chat-layout{display:flex;flex-direction:column;position:fixed;inset:0;background:var(--bg);overflow:hidden;z-index:1}.chat-layout:before{top:-30%;left:-20%;width:60%;height:60%;background:radial-gradient(ellipse at center,hsla(40,85%,58%,.07) 0,transparent 70%)}.chat-layout:after,.chat-layout:before{content:"";position:absolute;pointer-events:none;z-index:0}.chat-layout:after{bottom:-20%;right:-20%;width:50%;height:50%;background:radial-gradient(ellipse at center,hsla(350,70%,50%,.05) 0,transparent 70%)}.chat-layout .chat-grain:after{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.035;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.6}}.chat-header{position:relative;z-index:10;display:flex;align-items:center;flex-shrink:0;padding:.875rem 1rem;background:var(--scrim);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);touch-action:manipulation}.chat-header-inner{display:flex;align-items:center;gap:.75rem;max-width:48rem;margin:0 auto;width:100%;padding:0 .5rem;min-width:0;overflow:hidden}.chat-header-avatar-wrap{position:relative;flex-shrink:0}.chat-header-avatar{width:3rem;height:3rem;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:1.5px solid color-mix(in srgb,var(--accent) 30%,transparent);box-shadow:0 0 16px color-mix(in srgb,var(--accent) 15%,transparent);flex-shrink:0}.chat-header-status{position:absolute;bottom:1px;right:1px;width:.625rem;height:.625rem;border-radius:50%;background:var(--success);border:2px solid var(--bg);animation:status-pulse 3s ease-in-out infinite}.chat-header-name{font-size:1.0625rem;font-weight:600;color:var(--text);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-header-btn,.nav-icon-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;border:1px solid var(--border);background:var(--fill-subtle);color:var(--text-faint);cursor:pointer;transition:all .2s ease}.chat-header-btn:hover,.nav-icon-btn:hover{background:var(--fill);color:var(--text);border-color:var(--border-strong)}.chat-header-btn:disabled,.nav-icon-btn:disabled{opacity:.3;cursor:not-allowed}.chat-token-badge{display:flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:9999px;background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent);font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);flex-shrink:0;white-space:nowrap}.nav-menu{position:absolute;top:100%;right:.5rem;background:var(--bg-raised);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:.75rem;padding:.375rem;min-width:10rem;z-index:20;box-shadow:0 8px 32px rgba(0,0,0,.4)}.nav-menu-item{display:flex;align-items:center;gap:.625rem;width:100%;padding:.625rem .75rem;border-radius:.5rem;font-size:.8125rem;color:var(--text-muted);background:none;border:none;cursor:pointer;transition:all .15s ease;white-space:nowrap}.nav-menu-item:hover{background:var(--fill);color:var(--text)}.nav-menu-item:disabled{opacity:.3;cursor:not-allowed}@media (max-width:640px){.chat-header-inner{gap:.5rem;padding:0}.chat-header-avatar{width:2.25rem;height:2.25rem}}.chat-messages{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:none;touch-action:pan-y;position:relative;z-index:1}.chat-messages-inner{max-width:48rem;margin:0 auto;padding:1.25rem 1rem;display:flex;flex-direction:column;gap:.125rem}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:var(--fill);border-radius:4px}.chat-messages::-webkit-scrollbar-thumb:hover{background:var(--fill-strong)}.chat-bubble-row{display:flex;align-items:flex-end;gap:.5rem;max-width:75%;animation:bubble-enter .3s cubic-bezier(.16,1,.3,1) forwards;transition:filter .2s ease}.chat-bubble-row:hover{filter:brightness(1.05)}.chat-bubble-row.user{align-self:flex-end;flex-direction:row-reverse}.chat-bubble-row.assistant{align-self:flex-start}.chat-bubble-row.group-solo{margin-top:.75rem}.chat-bubble-row.group-first{margin-top:.75rem;margin-bottom:0}.chat-bubble-row.group-last,.chat-bubble-row.group-middle{margin-top:.125rem;margin-bottom:0}.chat-bubble-avatar,.chat-bubble-avatar-spacer{width:1.75rem;flex-shrink:0}.chat-bubble-avatar{height:1.75rem;border-radius:50%;-o-object-fit:cover;object-fit:cover;opacity:.9;border:1px solid var(--border);box-shadow:0 0 8px hsla(40,85%,58%,.08)}.chat-bubble{padding:.75rem 1rem;border-radius:1.25rem;font-size:.9375rem;line-height:1.5;word-break:break-word;white-space:pre-wrap}.chat-bubble.user{background:linear-gradient(135deg,hsla(40,85%,58%,.15),hsla(40,85%,58%,.1));border:1px solid hsla(40,85%,58%,.25);color:var(--text);box-shadow:0 1px 4px hsla(40,85%,58%,.08)}.chat-bubble.user.radius-first,.chat-bubble.user.radius-middle,.chat-bubble.user.radius-solo{border-radius:1.25rem;border-bottom-right-radius:.375rem}.chat-bubble.user.radius-middle{border-top-right-radius:.375rem}.chat-bubble.user.radius-last{border-radius:1.25rem;border-top-right-radius:.375rem}.chat-bubble.assistant{background:var(--fill);border:1px solid var(--border);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.3),inset 0 1px 0 var(--border)}.chat-bubble.assistant.radius-first,.chat-bubble.assistant.radius-middle,.chat-bubble.assistant.radius-solo{border-radius:1.25rem;border-bottom-left-radius:.375rem}.chat-bubble.assistant.radius-middle{border-top-left-radius:.375rem}.chat-bubble.assistant.radius-last{border-radius:1.25rem;border-top-left-radius:.375rem}.chat-bubble em,.chat-bubble i{color:var(--text-muted);font-style:italic}@keyframes bubble-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-timestamp{text-align:center;font-size:.6875rem;color:var(--text-faint);letter-spacing:.04em;margin:.75rem 0 .5rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.typing-indicator{display:flex;align-items:center;gap:.3rem;padding:.75rem 1rem;opacity:0;animation:typing-fade-in .4s ease .8s forwards}@keyframes typing-fade-in{to{opacity:1}}.typing-dot{width:6px;height:6px;border-radius:50%;background:var(--fill-strong);animation:typing-bounce 1.4s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.3}30%{transform:translateY(-6px);opacity:.8}}.chat-welcome{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;gap:1rem;position:relative;z-index:1}.chat-welcome-avatar{width:5rem;height:5rem;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:2px solid hsla(40,85%,58%,.2);box-shadow:0 0 40px hsla(40,85%,58%,.1)}.chat-welcome-name{font-size:1.5rem;font-weight:500;color:var(--text)}.chat-welcome-hint{font-size:.8125rem;color:var(--text-faint);max-width:16rem;line-height:1.5}.chat-welcome-starters{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;max-width:22rem;margin-top:1rem}.chat-welcome-starter{padding:.5rem .875rem;border-radius:1rem;background:var(--fill-subtle);border:1px solid var(--border);color:var(--text-muted);font-size:.8125rem;cursor:pointer;transition:all .2s ease;line-height:1.3}.chat-welcome-starter:hover{background:var(--fill);border-color:var(--border-strong);color:var(--text);transform:translateY(-1px)}.chat-error{margin:0 1rem;padding:.625rem 1rem;border-radius:.75rem;background:hsla(0,70%,50%,.1);border:1px solid hsla(0,70%,50%,.2);color:hsl(0,70%,70%);font-size:.8125rem;text-align:center;display:flex;align-items:center;justify-content:center;gap:.75rem}.chat-error-retry{padding:.25rem .75rem;border-radius:.5rem;background:hsla(0,70%,50%,.15);border:1px solid hsla(0,70%,50%,.3);color:hsl(0,70%,75%);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap;flex-shrink:0}.chat-error-retry:hover{background:hsla(0,70%,50%,.25);color:hsl(0,70%,85%)}@media (max-width:640px){.chat-messages-inner{padding:1rem}.chat-bubble-row{max-width:88%}}@media (min-width:1024px){.chat-messages-inner{padding:1.5rem 2rem}}.chat-input-bar{position:relative;z-index:10;flex-shrink:0;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom, 0px));background:var(--scrim);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border);touch-action:manipulation}.chat-input-inner{max-width:48rem;margin:0 auto;width:100%}.chat-input-wrapper{display:flex;align-items:flex-end;gap:.5rem;background:var(--fill-subtle);border:1px solid var(--border);border-radius:1.5rem;padding:.5rem .5rem .5rem 1rem;transition:border-color .2s ease,box-shadow .2s ease}.chat-input-wrapper:focus-within{border-color:hsla(40,85%,58%,.3);box-shadow:0 0 0 1px hsla(40,85%,58%,.1),0 0 20px hsla(40,85%,58%,.06)}.chat-input-textarea{flex:1;background:transparent;border:none;color:var(--text);font-size:.9375rem;line-height:1.4;resize:none;max-height:5.6rem;overflow-y:auto;font-family:inherit;padding:.25rem 0}.chat-input-textarea::-moz-placeholder{color:var(--text-faint)}.chat-input-textarea::placeholder{color:var(--text-faint)}.chat-input-textarea::-webkit-scrollbar{display:none}.chat-input-wrapper-blocked{cursor:pointer}.chat-input-wrapper-blocked .chat-input-textarea,.chat-input-wrapper-blocked .chat-send-btn{pointer-events:none}.chat-error-retry,.chat-header-btn,.chat-send-btn,.chat-stop-btn,.chat-welcome-starter{touch-action:manipulation}.chat-send-btn{width:2.25rem;height:2.25rem;border-radius:50%;border:none;background:var(--accent);color:var(--accent-contrast);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .2s ease}.chat-send-btn:hover:not(:disabled){background:var(--accent-soft);transform:scale(1.05);box-shadow:0 2px 12px hsla(40,85%,58%,.3)}.chat-send-btn:not(:disabled){box-shadow:0 0 12px hsla(40,85%,58%,.15)}.chat-send-btn:disabled{opacity:.25;cursor:not-allowed;transform:none;box-shadow:none}.chat-send-btn svg{width:1rem;height:1rem}.chat-stop-btn{width:2.25rem;height:2.25rem;border-radius:50%;border:1px solid var(--border-strong);background:var(--fill);color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .2s ease}.chat-stop-btn:hover{background:var(--fill-strong);border-color:var(--border-strong)}.chat-stop-btn svg{width:.75rem;height:.75rem}@media (max-width:640px){.chat-input-textarea{font-size:1rem}}@media (pointer:coarse){.chat-input-textarea{font-size:1rem}.chat-send-btn,.chat-stop-btn{width:2.75rem;height:2.75rem}}.convo-list-backdrop{position:fixed;inset:0;background:var(--bg-overlay);z-index:9990;opacity:0;pointer-events:none;transition:opacity .3s ease}.convo-list-backdrop.visible{opacity:1;pointer-events:auto}.convo-list-drawer{position:fixed;top:0;left:0;bottom:0;width:min(calc(100vw - 3rem),340px);background:var(--bg-raised);border-right:1px solid var(--border);z-index:9991;transform:translateX(-100%);transition:transform .35s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;overflow:hidden}.convo-list-drawer.open{transform:translateX(0)}.convo-list-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1rem .75rem;border-bottom:1px solid var(--border)}.convo-list-title{font-size:1.125rem;font-weight:600;color:var(--text);margin:0}.convo-list-close{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;border:none;background:var(--fill-subtle);color:var(--text-faint);cursor:pointer;transition:all .15s ease}.convo-list-close:hover{background:var(--fill);color:var(--text)}.convo-list-new-btn{display:flex;align-items:center;gap:.5rem;margin:.75rem .75rem .25rem;padding:.625rem .875rem;border-radius:.625rem;background:hsla(40,85%,58%,.08);border:1px solid hsla(40,85%,58%,.15);color:var(--accent-soft);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s ease}.convo-list-new-btn:hover{background:hsla(40,85%,58%,.14);border-color:hsla(40,85%,58%,.25)}.convo-list-items{flex:1;overflow-y:auto;padding:.5rem .75rem}.convo-list-empty{text-align:center;color:var(--text-ghost);font-size:.8125rem;padding:2rem 0}.convo-list-skeleton-item{display:flex;flex-direction:column;gap:.375rem;padding:.75rem .875rem}.convo-list-skeleton-line{height:.8125rem;border-radius:.25rem;background:var(--fill);animation:convo-skeleton-pulse 2s cubic-bezier(.4,0,.6,1) infinite}.convo-list-skeleton-line-sm{height:.6875rem;width:4rem;background:var(--fill-subtle)}@keyframes convo-skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.convo-list-skeleton-line{animation:none}}.convo-list-item{display:flex;flex-direction:column;gap:.25rem;width:100%;padding:.75rem .875rem;border-radius:.625rem;border:none;background:transparent;cursor:pointer;text-align:left;transition:all .15s ease}.convo-list-item:hover{background:var(--fill-subtle)}.convo-list-item.active{background:var(--fill);border-left:2px solid var(--accent)}.convo-list-item-preview{font-size:.8125rem;color:var(--text-muted);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.convo-list-item.active .convo-list-item-preview{color:var(--text)}.convo-list-item-date{font-size:.6875rem;color:var(--text-ghost)}.chat-token-warning{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:0;padding:.5rem 1rem;background:hsla(40,85%,58%,.08);border-bottom:1px solid hsla(40,85%,58%,.15);color:var(--accent-soft);font-size:.75rem;font-weight:500;letter-spacing:.01em;z-index:5;position:relative;flex-shrink:0}.chat-token-upgrade-link{color:var(--accent);text-decoration:underline;text-underline-offset:2px;margin-left:.25rem;transition:opacity .2s}.chat-token-upgrade-link:hover{opacity:.7}.chat-token-warning-dismiss{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin:-.375rem -.25rem -.375rem .25rem;border:none;border-radius:50%;background:transparent;color:var(--accent-soft);cursor:pointer;opacity:.7;transition:opacity .15s ease;touch-action:manipulation}.chat-token-warning-dismiss:hover{opacity:1}.chat-token-exhausted{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1rem 1.5rem;background:hsla(40,85%,58%,.06);border-top:1px solid hsla(40,85%,58%,.12);flex-shrink:0}.chat-token-exhausted p{color:var(--text-muted);font-size:.8125rem;margin:0}.chat-token-exhausted-btn{display:inline-block;padding:.5rem 1.5rem;background:var(--accent);color:var(--accent-contrast);font-size:.8125rem;font-weight:600;border-radius:9999px;text-decoration:none;transition:opacity .2s}.chat-token-exhausted-btn:hover{opacity:.85}.token-modal-backdrop{position:fixed;inset:0;background:var(--bg-overlay);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:9995;animation:fade-in .3s ease}.token-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(90vw,380px);background:var(--bg-raised);border:1px solid var(--border);border-radius:1.25rem;padding:2rem 1.75rem;z-index:9996;text-align:center;animation:modal-enter .4s cubic-bezier(.16,1,.3,1)}@keyframes modal-enter{0%{opacity:0;transform:translate(-50%,-48%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.token-modal-icon{display:flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;margin:0 auto 1.25rem;border-radius:50%;background:hsla(40,85%,58%,.1);color:var(--accent)}.token-modal-title{font-size:1.25rem;font-weight:600;color:var(--text);margin:0 0 .75rem;line-height:1.3}.token-modal-body{font-size:.875rem;color:var(--text-muted);line-height:1.6;margin:0 0 1.5rem}.token-modal-actions{display:flex;flex-direction:column;gap:.625rem}.token-modal-footnote{margin:1rem 0 0;font-size:.6875rem;color:var(--text-ghost)}.video-call-overlay{position:fixed;inset:0;z-index:30;background:hsl(0,0%,2%);display:flex;flex-direction:column;overflow:hidden}.video-call-ambient{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 80% 60% at 50% 40%,hsla(40,85%,58%,.06) 0,transparent 70%)}.video-call-header{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:calc(1rem + env(safe-area-inset-top, 0px)) 1.25rem 1rem;background:var(--scrim);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.06)}.video-call-status-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--success);animation:status-pulse 3s ease-in-out infinite}.video-call-label{font-size:.875rem;color:var(--text-on-media);font-weight:500}.video-call-timer{font-size:.875rem;color:var(--text-on-media-muted);font-variant-numeric:tabular-nums;font-weight:500}.video-call-cost-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .625rem;border-radius:9999px;background:var(--scrim);border:1px solid rgba(255,255,255,.1);font-size:.75rem;font-weight:500;color:var(--text-on-media);font-variant-numeric:tabular-nums;white-space:nowrap}.video-call-cost-chip-rate{color:var(--text-on-media-muted)}.video-call-portrait-container{flex:1;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.video-call-portrait{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:0}.video-call-portrait-next{position:absolute;inset:0;animation:portrait-crossfade .8s ease-in-out forwards}@keyframes portrait-crossfade{0%{opacity:0}to{opacity:1}}.video-call-connection-pill{position:absolute;top:1rem;left:50%;transform:translateX(-50%);z-index:5;padding:.375rem .875rem;border-radius:9999px;background:var(--scrim);color:var(--text-on-media);font-size:.75rem;font-weight:500;letter-spacing:.01em;white-space:nowrap;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:none;animation:connection-pill-in .3s ease}@keyframes connection-pill-in{0%{opacity:0}to{opacity:1}}.video-call-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 70% 70% at 50% 50%,transparent 30%,var(--scrim-strong) 100%)}.video-call-out-of-tokens{position:relative;z-index:10;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem .75rem;width:100%;max-width:32rem;margin:0 auto;padding:.75rem 1.5rem;text-align:center;font-size:.8125rem;color:var(--text-on-media)}.video-call-out-of-tokens-link{padding:.375rem .875rem;border-radius:9999px;background:var(--accent);color:var(--accent-contrast);font-size:.8125rem;font-weight:600;text-decoration:none}.video-call-direct{position:relative;z-index:10;width:100%;max-width:32rem;margin:0 auto;padding:0 1.5rem}.video-call-direct-row{display:flex;gap:.5rem;align-items:center}.video-call-direct-input{flex:1;min-width:0;padding:.625rem 1rem;border-radius:9999px;background:var(--scrim);border:1px solid rgba(255,255,255,.14);color:var(--text-on-media);font-size:.875rem;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.video-call-direct-input::-moz-placeholder{color:var(--text-on-media-muted)}.video-call-direct-input::placeholder{color:var(--text-on-media-muted)}.video-call-direct-btn{flex-shrink:0;padding:.625rem 1.125rem;border-radius:9999px;border:none;background:var(--accent);color:var(--accent-contrast);font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .2s ease}.video-call-direct-btn:disabled{opacity:.5;cursor:default}.video-call-direct-error{margin:.5rem 0 0;text-align:center;font-size:.8125rem;color:var(--text-on-media)}.video-call-controls{position:relative;z-index:10;padding:1.5rem 1.5rem calc(1.5rem + env(safe-area-inset-bottom, 0px));background:var(--scrim);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid rgba(255,255,255,.06)}.video-call-controls,.video-call-end-btn{display:flex;align-items:center;justify-content:center}.video-call-end-btn{width:3.5rem;height:3.5rem;border-radius:50%;border:none;background:hsl(0,70%,50%);color:var(--text-on-media);cursor:pointer;transition:all .2s ease;box-shadow:0 0 20px hsla(0,70%,50%,.3)}.video-call-end-btn:hover{background:hsl(0,70%,55%);transform:scale(1.05);box-shadow:0 0 30px hsla(0,70%,50%,.4)}@media (min-width:640px){.video-call-portrait-container{padding:2rem}.video-call-portrait{max-width:32rem;border-radius:1.5rem;box-shadow:0 8px 40px var(--scrim)}.video-call-portrait-next{max-width:32rem;border-radius:1.5rem;left:50%;transform:translateX(-50%);width:auto;height:auto}.video-call-vignette{border-radius:1.5rem}}.feedback-panel{position:fixed;top:0;right:0;bottom:0;width:min(100vw,420px);background:var(--bg);border-left:1px solid var(--border);z-index:9991;transform:translateX(100%);transition:transform .4s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;overflow-y:auto}.feedback-panel.open{transform:translateX(0)}.feedback-backdrop{position:fixed;inset:0;background:var(--bg-overlay);z-index:9990;opacity:0;transition:opacity .3s ease;pointer-events:none}.feedback-backdrop.visible{opacity:1;pointer-events:auto}.feedback-textarea{width:100%;background:var(--fill-subtle);border:1px solid var(--border);color:var(--text);border-radius:.75rem;padding:.75rem 1rem;font-size:.9375rem;font-family:inherit;transition:all .3s ease;resize:vertical;min-height:120px}.feedback-textarea::-moz-placeholder{color:var(--text-faint)}.feedback-textarea::placeholder{color:var(--text-faint)}.feedback-textarea:focus{border-color:var(--border-strong);background:var(--fill);box-shadow:0 0 0 3px var(--border)}.feedback-star{cursor:pointer;transition:all .2s ease}.feedback-star:hover{transform:scale(1.15)}.feedback-star svg{transition:fill .15s ease,stroke .15s ease}.account-page,.pricing-page{min-height:100vh;background:var(--bg);color:var(--text);padding:4rem 1.5rem 3rem}.pricing-header{text-align:center;max-width:36rem;margin:0 auto 3rem}.pricing-eyebrow{font-size:.6875rem;text-transform:uppercase;letter-spacing:.3em;color:var(--text-faint);margin-bottom:1rem}.pricing-headline{font-size:clamp(2rem,5vw,3rem);font-weight:400;line-height:1.1;margin:0 0 1rem}.pricing-headline em{color:var(--accent);font-style:italic}.pricing-subtext{font-size:.9375rem;color:var(--text-muted);font-weight:300}.pricing-load-error{display:inline-block;max-width:32rem;margin:1rem auto 0;padding:.625rem 1rem;border-radius:.75rem;background:color-mix(in srgb,var(--danger) 8%,transparent);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);font-size:.8125rem;line-height:1.5;color:var(--text-muted)}.pricing-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;max-width:64rem;margin:0 auto}@media (min-width:768px){.pricing-grid{grid-template-columns:repeat(3,1fr)}}.pricing-card{position:relative;padding:2rem 1.5rem;border-radius:1.25rem;background:var(--fill-subtle);border:1px solid var(--border);display:flex;flex-direction:column;transition:border-color .3s ease}.pricing-card.popular{border-color:hsla(40,85%,58%,.3);background:hsla(40,85%,58%,.04)}.pricing-badge{position:absolute;top:-.75rem;left:50%;transform:translateX(-50%);padding:.25rem .875rem;border-radius:9999px;background:var(--accent);color:var(--accent-contrast);font-size:.6875rem;font-weight:600;letter-spacing:.02em;white-space:nowrap}.pricing-badge.current{background:var(--fill-strong);color:var(--text-muted)}.pricing-card-name{font-size:1.25rem;font-weight:600;margin:0 0 .25rem;color:var(--text)}.pricing-tagline{font-size:.8125rem;color:var(--text-faint);margin:0 0 1rem}.pricing-card-price{margin-bottom:1.5rem}.pricing-amount{font-size:2.5rem;font-weight:600;color:var(--text)}.pricing-period{font-size:.875rem;color:var(--text-faint);margin-left:.25rem}.pricing-features{list-style:none;padding:0;margin:0 0 2rem;flex:1;display:flex;flex-direction:column;gap:.75rem}.pricing-features li{display:flex;align-items:center;gap:.625rem;font-size:.8125rem;color:var(--text-muted)}.pricing-features li svg{color:var(--accent);flex-shrink:0}.pricing-features li.soon{color:var(--text-faint)}.pricing-features li.soon svg{color:var(--text-ghost)}.pricing-soon-pill{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.1rem .4rem;border-radius:9999px;background:var(--fill);color:var(--text-muted);white-space:nowrap}.pricing-card-subnote{font-size:.6875rem;color:var(--text-faint);text-align:center;margin:.625rem 0 0}.pricing-trust{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem 1.5rem;max-width:64rem;margin:2.5rem auto 0;padding-top:1.75rem;border-top:1px solid var(--border)}.pricing-trust-item{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--text-faint)}.pricing-trust-item svg{color:var(--accent)}.pricing-footnote{max-width:40rem;margin:1.25rem auto 0;text-align:center;font-size:.75rem;line-height:1.6;color:var(--text-faint)}.pricing-inline-link{background:none;border:none;padding:0;font:inherit;color:var(--accent);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.pricing-inline-link:hover{color:var(--accent-soft)}.subscribe-modal-backdrop{position:fixed;inset:0;background:var(--bg-overlay);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem}.subscribe-modal{width:min(90vw,420px);background:var(--bg-raised);border:1px solid var(--border);border-radius:1.25rem;padding:2rem 1.75rem}.subscribe-modal-title{font-size:1.25rem;font-weight:600;color:var(--text);margin:0 0 .25rem}.subscribe-modal-price{font-size:.875rem;color:var(--text-faint);margin:0 0 1.5rem}.subscribe-form{display:flex;flex-direction:column;gap:1rem}.subscribe-error{font-size:.8125rem;color:var(--danger);margin:0}.subscribe-actions{display:flex;flex-direction:column;gap:.5rem}.subscribe-spinner{width:.875rem;height:.875rem;border-radius:50%;border:2px solid hsla(0,0%,4%,.3);border-top:2px solid var(--accent-contrast);animation:subscribe-spin .7s linear infinite}@keyframes subscribe-spin{to{transform:rotate(1turn)}}.subscribe-trust{display:flex;align-items:center;justify-content:center;gap:.4rem;font-size:.6875rem;line-height:1.4;color:var(--text-faint);text-align:center;margin:.25rem 0 0}.subscribe-trust svg{flex-shrink:0;color:var(--text-faint)}.account-container{max-width:32rem;margin:0 auto}.account-title{font-size:2rem;font-weight:400;margin:0 0 2rem}.account-loading{align-items:center;justify-content:center;gap:.875rem;text-align:center;color:var(--text-faint);font-size:.875rem;padding:5rem 0}.account-error,.account-loading{display:flex;flex-direction:column}.account-error{align-items:flex-start;gap:1rem;background:color-mix(in srgb,var(--danger) 8%,transparent);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);border-radius:1rem;padding:1.5rem;margin-bottom:1.25rem}.account-error-text{margin:0;font-size:.875rem;line-height:1.5;color:var(--text-muted)}.account-card{background:var(--fill-subtle);border:1px solid var(--border);border-radius:1rem;padding:1.5rem;margin-bottom:1.25rem}.account-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.account-card-title{font-size:.875rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0}.account-status{padding:.2rem .625rem;border-radius:9999px;font-size:.6875rem;font-weight:600;text-transform:capitalize}.account-status.active{background:hsla(142,70%,49%,.15);color:hsl(142,70%,55%)}.account-status.paused{background:hsla(40,85%,58%,.15);color:var(--accent-soft)}.account-status.canceled,.account-status.delinquent{background:hsla(0,70%,50%,.15);color:hsl(0,70%,65%)}.account-status.free{background:var(--fill);color:var(--text-faint)}.account-plan-info{margin-bottom:.75rem}.account-plan-name{font-size:1.5rem;font-weight:600;color:var(--text)}.account-plan-price{font-size:.875rem;color:var(--text-faint)}.account-billing-date{font-size:.8125rem;color:var(--text-faint);margin:0 0 1.25rem}.account-actions{display:flex;gap:.625rem}.account-token-balance{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.5rem}.account-token-number{font-size:2rem;font-weight:600;color:var(--accent)}.account-token-label{font-size:.875rem;color:var(--text-faint)}.account-token-hint{font-size:.75rem;color:var(--text-ghost);margin:0}.account-back-btn{display:block;width:100%;text-align:center;padding:.75rem;margin-top:1rem;border-radius:.75rem;background:transparent;border:1px solid var(--border);color:var(--text-faint);font-size:.8125rem;cursor:pointer;transition:all .2s ease}.account-back-btn:hover{background:var(--fill-subtle);color:var(--text-muted)}@property --orb-hue{syntax:"<number>";initial-value:40;inherits:true}@property --orb-saturation{syntax:"<percentage>";initial-value:90%;inherits:true}@property --orb-opacity{syntax:"<number>";initial-value:.35;inherits:true}.grain-overlay:after{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;mix-blend-mode:soft-light}@keyframes orb-drift{0%,to{transform:translate(0) scale(1)}25%{transform:translate(30px,-50px) scale(1.05)}50%{transform:translate(-20px,20px) scale(.95)}75%{transform:translate(40px,30px) scale(1.02)}}@keyframes orb-drift-reverse{0%,to{transform:translate(0) scale(1)}25%{transform:translate(-40px,30px) scale(.98)}50%{transform:translate(25px,-40px) scale(1.04)}75%{transform:translate(-15px,-20px) scale(1.01)}}@keyframes pulse-glow{0%,to{opacity:.3}50%{opacity:.5}}@keyframes halo-breathe{0%,to{scale:1;opacity:1}50%{scale:1.03;opacity:.7}}@keyframes fade-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes line-expand{0%{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}.animate-fade-up{animation:fade-up 1s cubic-bezier(.16,1,.3,1) forwards;opacity:0}.animate-fade-in{animation:fade-in 1s cubic-bezier(.16,1,.3,1) forwards;opacity:0}.animate-scale-in{animation:scale-in 1.2s cubic-bezier(.16,1,.3,1) forwards;opacity:0}.reveal{opacity:0;transform:translateY(60px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;transform:translateY(0)}.divider-line{transform:scaleX(0);transition:transform 1.2s cubic-bezier(.16,1,.3,1)}.divider-line.visible{transform:scaleX(1)}.headline-editorial{font-family:var(--font-playfair),"Playfair Display",Georgia,serif;font-weight:400;letter-spacing:-.02em;line-height:1.05}.headline-editorial em{font-style:italic;font-weight:500}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(128,128,128,.3);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:rgba(128,128,128,.45)}::-moz-selection{background:hsla(38,90%,55%,.3)}::selection{background:hsla(38,90%,55%,.3)}.waitlist-input{background:var(--fill);border:1px solid var(--border);color:var(--text);height:3.25rem;border-radius:9999px;padding-left:1.5rem;padding-right:1.5rem;font-size:.9375rem;transition:all .3s ease}.waitlist-input::-moz-placeholder{color:var(--text-faint)}.waitlist-input::placeholder{color:var(--text-faint)}.waitlist-input:focus{border-color:color-mix(in srgb,var(--text) 30%,transparent);background:var(--fill-strong);box-shadow:0 0 0 3px var(--fill-subtle)}.waitlist-submit{height:3.25rem;padding:0 2rem}@keyframes check-pop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.animate-check{animation:check-pop .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes toast-slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.toast-slide-up{animation:toast-slide-up .3s cubic-bezier(.16,1,.3,1) forwards}.phone-mockup{position:relative;width:min(280px,70vw);aspect-ratio:9/19.5;border-radius:2.5rem;background:var(--bg-raised);padding:12px;box-shadow:0 0 0 1px var(--border),0 25px 60px rgba(0,0,0,.5),0 8px 20px rgba(0,0,0,.3),inset 0 1px 0 var(--fill);margin:0 auto}.phone-mockup:before{content:"";position:absolute;top:14px;left:50%;transform:translateX(-50%);width:5.5rem;height:1.5rem;border-radius:1.25rem;background:var(--bg);z-index:2}.phone-mockup-screen{width:100%;height:100%;border-radius:1.75rem;overflow:hidden;display:flex;flex-direction:column;background:var(--bg)}.phone-mockup-glow{position:absolute;inset:-20%;border-radius:50%;filter:blur(80px);opacity:.12;pointer-events:none;z-index:-1}@media (min-width:1024px){.phone-mockup{width:300px;margin:0 0 0 auto}}.demo-chat-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.demo-chat-header{display:flex;align-items:center;gap:.5rem;padding:2rem .75rem .625rem;background:var(--scrim);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);flex-shrink:0}.demo-avatar-wrap{position:relative;flex-shrink:0}.demo-header-avatar{width:1.75rem;height:1.75rem;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:1px solid hsla(40,85%,58%,.3);box-shadow:0 0 12px hsla(40,85%,58%,.1)}.demo-status-dot{position:absolute;bottom:0;right:0;width:.4rem;height:.4rem;border-radius:50%;background:var(--success);border:1.5px solid var(--bg)}.demo-chat-name{font-size:.75rem;font-weight:600;color:color-mix(in srgb,var(--text) 85%,transparent);font-family:var(--font-playfair)}.demo-chat-messages{flex:1;overflow:hidden;padding:.75rem;display:flex;flex-direction:column;gap:.5rem;justify-content:flex-end}.demo-bubble-row{display:flex;align-items:flex-end;gap:.375rem;max-width:90%;animation:demo-msg-enter .4s cubic-bezier(.16,1,.3,1) forwards;opacity:0}.demo-bubble-row.user{align-self:flex-end;flex-direction:row-reverse}.demo-bubble-row.assistant{align-self:flex-start}.demo-bubble-avatar{height:1.125rem;border-radius:50%;-o-object-fit:cover;object-fit:cover;opacity:.9}.demo-bubble-avatar,.demo-bubble-spacer{width:1.125rem;flex-shrink:0}.demo-bubble{padding:.5rem .75rem;border-radius:1rem;font-size:.6875rem;line-height:1.45;word-break:break-word;white-space:pre-wrap}.demo-bubble.assistant{background:var(--fill);border:1px solid var(--border);color:color-mix(in srgb,var(--text) 82%,transparent);border-bottom-left-radius:.25rem;box-shadow:0 1px 3px rgba(0,0,0,.3)}.demo-bubble.user{background:linear-gradient(135deg,hsla(40,85%,58%,.15),hsla(40,85%,58%,.1));border:1px solid hsla(40,85%,58%,.25);color:color-mix(in srgb,var(--text) 90%,transparent);border-bottom-right-radius:.25rem;box-shadow:0 1px 4px hsla(40,85%,58%,.08)}.demo-bubble em{color:color-mix(in srgb,var(--text) 50%,transparent);font-style:italic}@keyframes demo-msg-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.demo-typing{display:flex;align-items:center;gap:.2rem;padding:.5rem .75rem;align-self:flex-start;animation:demo-msg-enter .3s ease forwards;opacity:0}.demo-typing-dot{width:4px;height:4px;border-radius:50%;background:var(--text-ghost);animation:typing-bounce 1.4s ease-in-out infinite}.demo-typing-dot:nth-child(2){animation-delay:.15s}.demo-typing-dot:nth-child(3){animation-delay:.3s}.demo-chat-input{flex-shrink:0;padding:.5rem .75rem;background:var(--scrim);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border)}.demo-chat-input-pill{display:flex;align-items:center;justify-content:space-between;padding:.4rem .5rem .4rem .75rem;border-radius:1.25rem;background:var(--fill-subtle);border:1px solid var(--border);font-size:.6875rem;color:var(--text-ghost)}.demo-chat-fade-out{animation:demo-fade-out .6s ease forwards}@keyframes demo-fade-out{to{opacity:0;transform:translateY(-8px)}}.auth-input{width:100%;background:var(--fill-subtle);border:1px solid var(--border);color:var(--text);height:3rem;border-radius:.75rem;padding:0 1rem;font-size:.9375rem;transition:all .3s ease}.auth-input::-moz-placeholder{color:var(--text-faint)}.auth-input::placeholder{color:var(--text-faint)}.auth-input:focus{border-color:var(--border-strong);background:var(--fill);box-shadow:0 0 0 3px var(--fill-subtle)}.xp-bar{height:4px;background:var(--fill);overflow:hidden}.xp-bar,.xp-bar-fill{position:relative;border-radius:999px}.xp-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),hsl(45,90%,65%));transition:width .6s cubic-bezier(.16,1,.3,1)}.xp-bar-fill:after{content:"";position:absolute;right:0;top:-2px;bottom:-2px;width:20px;background:var(--accent-soft);border-radius:999px;filter:blur(6px);opacity:.8}.selection-card{position:relative;background:var(--fill-subtle);border:1px solid var(--border);border-radius:1rem;padding:1.25rem;cursor:pointer;transition:all .3s ease}.selection-card:hover{background:var(--fill-subtle);border-color:var(--border-strong)}.selection-card.selected{border-color:hsla(40,85%,58%,.5);background:hsla(40,85%,58%,.06);box-shadow:0 0 20px hsla(40,85%,58%,.15)}.tag-pill{display:inline-flex;align-items:center;padding:.5rem 1rem;border-radius:999px;font-size:.8125rem;border:1px solid var(--border);background:var(--fill-subtle);color:var(--text-muted);cursor:pointer;transition:all .25s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tag-pill:hover{border-color:var(--border-strong);background:var(--fill);color:var(--text)}.tag-pill.selected{border-color:hsla(40,85%,58%,.6);background:hsla(40,85%,58%,.12);color:var(--accent-soft)}@keyframes pill-shake{0%,to{transform:translateX(0)}25%{transform:translateX(-4px)}50%{transform:translateX(4px)}75%{transform:translateX(-3px)}}.pill-shake{animation:pill-shake .3s ease}.pill-radio{display:inline-flex;align-items:center;justify-content:center;padding:.4rem .85rem;border-radius:999px;font-size:.75rem;border:1px solid var(--border);background:var(--fill-subtle);color:var(--text-muted);cursor:pointer;transition:all .25s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.pill-radio:hover{border-color:var(--border-strong);color:var(--text)}.pill-radio.selected{border-color:hsla(40,85%,58%,.5);background:hsla(40,85%,58%,.1);color:var(--accent-soft)}@keyframes step-slide-in-right{0%{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}@keyframes step-slide-in-left{0%{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:translateX(0)}}.step-enter-right{animation:step-slide-in-right .5s cubic-bezier(.16,1,.3,1) forwards}.step-enter-left{animation:step-slide-in-left .5s cubic-bezier(.16,1,.3,1) forwards}.character-silhouette-v2{filter:blur(25px) brightness(.15);opacity:.5;transition:filter 1s ease,opacity 1s ease}.character-emerging{filter:blur(4px) brightness(.65)}.character-full{filter:none;opacity:1;transition:filter .8s ease,opacity .8s ease}@keyframes name-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.character-name-enter{animation:name-fade-in .6s cubic-bezier(.16,1,.3,1) forwards}@keyframes glow-pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.glow-pulse{animation:glow-pulse 3s ease-in-out infinite}.cluster-label{font-size:.6875rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-faint);padding-bottom:.5rem;border-bottom:1px solid var(--border);margin-bottom:.75rem}.back-btn{height:3rem;border-radius:.75rem;font-weight:400;font-size:.875rem;background:transparent;color:var(--text-faint);border:1px solid var(--border);transition:all .3s ease;cursor:pointer;padding:0 1.5rem}.back-btn:hover{color:var(--text);border-color:var(--border-strong)}.preview-card{background:var(--fill-subtle);border:1px solid var(--border);border-radius:1rem;padding:1.5rem}.preview-stat-label{font-size:.6875rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-faint)}.preview-stat-value{font-size:.9375rem;color:var(--text);margin-top:.25rem}.preview-badge{display:inline-flex;align-items:center;padding:.3rem .75rem;border-radius:999px;font-size:.75rem;background:hsla(40,85%,58%,.1);color:var(--accent-soft);border:1px solid hsla(40,85%,58%,.2)}.character-dormant{filter:blur(30px) brightness(.12);opacity:.5;transition:filter 1.2s ease,opacity 1.2s ease}.character-emerging{filter:blur(6px) brightness(.6);opacity:.85}.character-emerging,.character-forming{transition:filter .8s ease,opacity .8s ease}.character-forming{filter:blur(2px) brightness(.85);opacity:.95}.character-complete,.character-reveal,.character-vivid{filter:none;opacity:1;transition:filter .8s ease,opacity .8s ease}.color-grade-overlay{mix-blend-mode:color;opacity:.2}.atmosphere-overlay,.color-grade-overlay{position:absolute;inset:0;transition:all .8s ease;pointer-events:none}.atmosphere-overlay{mix-blend-mode:soft-light}.panel-edge-fade{position:absolute;top:0;right:0;bottom:0;width:30%;background:linear-gradient(to right,transparent,var(--bg));pointer-events:none}.mobile-form-gradient{position:relative}.mobile-form-gradient:before{content:"";position:absolute;top:-4rem;left:0;right:0;height:4rem;background:linear-gradient(to bottom,transparent,var(--bg));pointer-events:none;z-index:1}.progress-bar-frosted{background:var(--scrim);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.character-panel-name{text-shadow:0 2px 20px rgba(0,0,0,.8),0 0 40px rgba(0,0,0,.5)}.selection-card-accented{position:relative;background:var(--fill-subtle);border:1px solid var(--border);border-radius:1rem;padding:1.25rem 1.25rem 1.25rem calc(1.25rem + 3px);cursor:pointer;transition:all .3s ease;overflow:hidden}.selection-card-accented:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:3px 0 0 3px;transition:all .3s ease}.selection-card-accented:hover{background:var(--fill-subtle)}.selection-card-accented.selected,.selection-card-accented:hover{border-color:var(--border-strong)}.selection-card-scene{position:relative;border-radius:1rem;padding:1.25rem;cursor:pointer;transition:all .3s ease;overflow:hidden;background-size:cover;background-position:50%;min-height:5rem}.selection-card-scene:before{content:"";position:absolute;inset:0;background:var(--scrim-strong);border-radius:inherit;transition:all .3s ease}.selection-card-scene:hover:before{background:var(--scrim)}.selection-card-scene.selected:before{background:color-mix(in srgb,var(--scrim) 80%,transparent)}.selection-card-scene>*{position:relative;z-index:1}@keyframes ambient-breathe{0%,to{opacity:.15;transform:scale(1)}50%{opacity:.25;transform:scale(1.03)}}.ambient-breathe{animation:ambient-breathe 4s ease-in-out infinite}@keyframes glow-burst{0%{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.08)}to{opacity:.5;transform:scale(1)}}.glow-burst{animation:glow-burst 3s ease-in-out infinite}@keyframes crossfade-in{0%{opacity:0}to{opacity:1}}@keyframes crossfade-out{0%{opacity:1}to{opacity:0}}.character-crossfade-enter{animation:crossfade-in .6s ease forwards}.character-crossfade-exit{animation:crossfade-out .6s ease forwards}