@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-SemiBold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-SemiBold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/fonts/Roboto-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/fonts/Roboto-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/fonts/Roboto-Medium.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{--ailu-sticker-base-width:286px;--ailu-companion-offset-right:16px;--ailu-chat-sticker-reserve:calc(var(--ailu-companion-offset-right) + var(--ailu-sticker-base-width));--ailu-radius-sm:8px;--ailu-radius-md:12px;--ailu-radius-lg:16px;--ailu-radius-xl:20px;--ailu-font-display:var(--font-montserrat,"Montserrat"),system-ui,sans-serif;--ailu-font-body:var(--font-roboto,"Roboto"),var(--font-montserrat,"Montserrat"),system-ui,sans-serif;--ailu-font-mono:ui-monospace,"SF Mono","JetBrains Mono",monospace;--ailu-glass-blur:22px;--ailu-glass-blur-lg:36px;--ailu-glass-saturate:1.4}[data-theme=dark]{color-scheme:dark;--ailu-sand:#e8d4b8;--ailu-coral:#e8a87c;--ailu-sky:#7ec8e3;--ailu-leaf:#5cb88a;--ailu-olive:#7a8b5c;--ailu-moss:#2d4a3e;--ailu-bg:#0a100e;--ailu-bg-elevated:#121c18;--ailu-bg-hover:#1a2822;--ailu-panel:#152019;--ailu-border:#2a4035;--ailu-text:#eff6f1;--ailu-text-muted:#9bb5a8;--ailu-accent:#6ec4e8;--ailu-accent-strong:#4ba3d1;--ailu-accent-on:#062018;--ailu-danger:#e87a7a;--ailu-warning:#e8c87a;--ailu-gradient-hero:linear-gradient(145deg,rgba(126,196,232,0.18),rgba(92,184,138,0.12) 45%,rgba(232,168,124,0.1));--ailu-gradient-card:linear-gradient(180deg,rgba(42,64,53,0.45),rgba(18,28,24,0.95));--ailu-glow-sky:0 0 24px rgba(126,196,232,0.22);--ailu-shadow:0 16px 48px rgba(0,0,0,0.35);--ailu-glass-bg:rgba(16,26,22,0.58);--ailu-glass-bg-strong:rgba(10,16,14,0.82);--ailu-glass-border:rgba(126,196,232,0.18);--ailu-glass-border-soft:rgba(255,255,255,0.07);--ailu-glass-highlight:rgba(255,255,255,0.05);--ailu-shadow-soft:0 4px 20px rgba(0,0,0,0.22);--ailu-shadow-md:0 12px 40px rgba(0,0,0,0.32);--ailu-shadow-lg:0 24px 64px rgba(0,0,0,0.42);--ailu-shadow-glass:0 8px 32px rgba(0,0,0,0.28),inset 0 1px 0 var(--ailu-glass-highlight);--ailu-shadow-float:0 16px 48px rgba(0,0,0,0.38),0 0 0 1px rgba(126,196,232,0.06);--ailu-surface-sidebar:rgba(14,22,19,0.62);--ailu-surface-topbar:rgba(10,16,14,0.72);--ailu-surface-overlay:rgba(4,8,7,0.55);--ailu-surface-hover:rgba(26,40,34,0.55);--ailu-surface-active:rgba(26,40,34,0.5);--ailu-fade-color:rgba(10,16,14,0.82);--ailu-input-bg:rgba(10,16,14,0.55);--ailu-input-focus-ring:rgba(126,196,232,0.15);--ailu-focus-outline:rgba(126,196,232,0.65);--ailu-message-user-bg:linear-gradient(135deg,rgba(122,139,92,0.32),rgba(45,74,62,0.42));--ailu-message-user-border:rgba(122,139,92,0.38);--ailu-message-assistant-bg:rgba(21,32,25,0.72);--ailu-message-assistant-accent:rgba(126,196,232,0.52);--ailu-composer-bar-bg:rgba(14,22,19,0.42);--ailu-composer-bar-border:rgba(126,196,232,0.14);--ailu-composer-bar-shadow:0 8px 32px rgba(0,0,0,0.18),inset 0 1px 0 var(--ailu-glass-highlight);--ailu-composer-chip-bg:rgba(18,28,24,0.55);--ailu-composer-chip-active-bg:rgba(126,196,232,0.12);--ailu-ambient-sky:rgba(126,196,232,0.22);--ailu-ambient-leaf:rgba(92,184,138,0.14);--ailu-ambient-coral:rgba(232,168,124,0.1);--ailu-btn-secondary-bg:rgba(18,28,24,0.35);--ailu-btn-secondary-hover:rgba(26,40,34,0.55);--ailu-meter-track:rgba(42,64,53,0.65);--ailu-code-bg:rgba(0,0,0,0.22);--ailu-toggle-field-bg:rgba(10,16,14,0.35);--ailu-companion-bubble-bg:rgba(21,32,25,0.78);--ailu-auth-gradient-a:rgba(126,196,232,0.16);--ailu-auth-gradient-b:rgba(92,184,138,0.1);--ailu-empty-state-bg:rgba(21,32,25,0.58);--ailu-panel-soft-bg:rgba(18,28,24,0.55);--ailu-source-panel-bg:rgba(21,32,25,0.62);--ailu-thinking-border:rgba(126,196,232,0.42);--ailu-pill-bg:rgba(26,40,34,0.45);--ailu-pill-accent-bg:rgba(126,196,232,0.08);--ailu-pill-accent-border:rgba(126,196,232,0.38);--ailu-toast-bg:rgba(14,22,19,0.92);--ailu-notice-bg:var(--ailu-glass-bg-strong);--ailu-notice-border:var(--ailu-glass-border);--ailu-notice-ok-border:rgba(92,184,138,0.45);--ailu-notice-error-border:rgba(232,122,122,0.45);--ailu-notice-info-border:rgba(126,196,232,0.4);--ailu-notice-ok-bg:rgba(92,184,138,0.12);--ailu-notice-error-bg:rgba(232,122,122,0.12);--ailu-auth-tabs-bg:rgba(10,16,14,0.45);--ailu-auth-tab-active-bg:rgba(126,196,232,0.12);--ailu-auth-tab-active-border:rgba(126,196,232,0.35);--ailu-topbar-shadow:0 8px 32px rgba(0,0,0,0.18),inset 0 1px 0 var(--ailu-glass-highlight);--ailu-sidebar-shadow:12px 0 48px rgba(0,0,0,0.22),inset -1px 0 0 var(--ailu-glass-highlight);--ailu-memory-item-bg:rgba(10,16,14,0.35);--ailu-feedback-input-bg:rgba(0,0,0,0.2);--ailu-hover-border:rgba(126,196,232,0.22)}[data-theme=light]{color-scheme:light;--ailu-sand:#c4a574;--ailu-coral:#e8925c;--ailu-sky:#48a9c5;--ailu-leaf:#21a038;--ailu-olive:#5a8f62;--ailu-moss:#1a5c32;--ailu-bg:#f7faf8;--ailu-bg-elevated:#ffffff;--ailu-bg-hover:#eef5f1;--ailu-panel:#ffffff;--ailu-border:rgba(33,160,56,0.12);--ailu-text:#1a2e24;--ailu-text-muted:#5a7268;--ailu-accent:#21a038;--ailu-accent-strong:#178a30;--ailu-accent-on:#ffffff;--ailu-danger:#d64545;--ailu-warning:#c9922a;--ailu-gradient-hero:linear-gradient(145deg,rgba(33,160,56,0.1),rgba(255,255,255,0.95) 48%,rgba(168,230,207,0.22));--ailu-gradient-card:linear-gradient(180deg,rgba(255,255,255,0.98),rgba(247,250,248,0.96));--ailu-glow-sky:0 0 28px rgba(33,160,56,0.12);--ailu-shadow:0 16px 48px rgba(33,80,50,0.08);--ailu-glass-bg:rgba(255,255,255,0.78);--ailu-glass-bg-strong:rgba(255,255,255,0.92);--ailu-glass-border:rgba(33,160,56,0.14);--ailu-glass-border-soft:rgba(33,160,56,0.08);--ailu-glass-highlight:rgba(255,255,255,0.95);--ailu-shadow-soft:0 4px 24px rgba(33,160,56,0.06);--ailu-shadow-md:0 12px 36px rgba(33,160,56,0.08);--ailu-shadow-lg:0 24px 56px rgba(33,160,56,0.1);--ailu-shadow-glass:0 8px 32px rgba(33,160,56,0.06),inset 0 1px 0 var(--ailu-glass-highlight);--ailu-shadow-float:0 16px 48px rgba(33,160,56,0.08),0 0 0 1px rgba(33,160,56,0.06);--ailu-surface-sidebar:rgba(255,255,255,0.82);--ailu-surface-topbar:rgba(255,255,255,0.88);--ailu-surface-overlay:rgba(26,46,36,0.18);--ailu-surface-hover:rgba(33,160,56,0.06);--ailu-surface-active:rgba(33,160,56,0.08);--ailu-fade-color:rgba(247,250,248,0.92);--ailu-input-bg:rgba(255,255,255,0.92);--ailu-input-focus-ring:rgba(33,160,56,0.14);--ailu-focus-outline:rgba(33,160,56,0.45);--ailu-message-user-bg:linear-gradient(135deg,rgba(33,160,56,0.12),rgba(168,230,207,0.28));--ailu-message-user-border:rgba(33,160,56,0.22);--ailu-message-assistant-bg:rgba(255,255,255,0.92);--ailu-message-assistant-accent:rgba(33,160,56,0.45);--ailu-composer-bar-bg:rgba(255,255,255,0.72);--ailu-composer-bar-border:rgba(33,160,56,0.16);--ailu-composer-bar-shadow:0 8px 32px rgba(33,160,56,0.08),inset 0 1px 0 rgba(255,255,255,0.95);--ailu-composer-chip-bg:rgba(247,250,248,0.95);--ailu-composer-chip-active-bg:rgba(33,160,56,0.1);--ailu-ambient-sky:rgba(168,230,207,0.45);--ailu-ambient-leaf:rgba(33,160,56,0.12);--ailu-ambient-coral:rgba(232,168,124,0.08);--ailu-btn-secondary-bg:rgba(255,255,255,0.85);--ailu-btn-secondary-hover:rgba(33,160,56,0.06);--ailu-meter-track:rgba(33,160,56,0.12);--ailu-code-bg:rgba(33,160,56,0.06);--ailu-toggle-field-bg:rgba(255,255,255,0.85);--ailu-companion-bubble-bg:rgba(255,255,255,0.92);--ailu-auth-gradient-a:rgba(33,160,56,0.08);--ailu-auth-gradient-b:rgba(168,230,207,0.18);--ailu-empty-state-bg:rgba(255,255,255,0.96);--ailu-panel-soft-bg:rgba(255,255,255,0.94);--ailu-source-panel-bg:rgba(255,255,255,0.94);--ailu-thinking-border:rgba(33,160,56,0.28);--ailu-pill-bg:rgba(247,250,248,0.98);--ailu-pill-accent-bg:rgba(33,160,56,0.1);--ailu-pill-accent-border:rgba(33,160,56,0.28);--ailu-toast-bg:rgba(255,255,255,0.96);--ailu-notice-bg:var(--ailu-glass-bg-strong);--ailu-notice-border:var(--ailu-glass-border);--ailu-notice-ok-border:rgba(33,160,56,0.35);--ailu-notice-error-border:rgba(214,69,69,0.35);--ailu-notice-info-border:rgba(33,160,56,0.22);--ailu-notice-ok-bg:rgba(33,160,56,0.1);--ailu-notice-error-bg:rgba(214,69,69,0.08);--ailu-auth-tabs-bg:rgba(247,250,248,0.98);--ailu-auth-tab-active-bg:rgba(33,160,56,0.1);--ailu-auth-tab-active-border:rgba(33,160,56,0.24);--ailu-topbar-shadow:0 4px 24px rgba(33,160,56,0.05),inset 0 1px 0 var(--ailu-glass-highlight);--ailu-sidebar-shadow:8px 0 32px rgba(33,160,56,0.05),inset -1px 0 0 var(--ailu-glass-highlight);--ailu-memory-item-bg:rgba(255,255,255,0.92);--ailu-feedback-input-bg:var(--ailu-input-bg);--ailu-hover-border:rgba(33,160,56,0.18)}html:not([data-theme]){color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--ailu-bg);color:var(--ailu-text);font-family:var(--ailu-font-body)}a{color:var(--ailu-sky);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--ailu-focus-outline);outline-offset:2px}.glass{background:var(--ailu-glass-bg);backdrop-filter:blur(var(--ailu-glass-blur)) saturate(var(--ailu-glass-saturate));-webkit-backdrop-filter:blur(var(--ailu-glass-blur)) saturate(var(--ailu-glass-saturate));box-shadow:var(--ailu-shadow-glass)}.glass,.glass-strong{border:1px solid var(--ailu-glass-border)}.glass-strong{background:var(--ailu-glass-bg-strong);backdrop-filter:blur(var(--ailu-glass-blur-lg)) saturate(var(--ailu-glass-saturate));-webkit-backdrop-filter:blur(var(--ailu-glass-blur-lg)) saturate(var(--ailu-glass-saturate));box-shadow:var(--ailu-shadow-float)}.cabinet-shell{position:relative;isolation:isolate}.cabinet-ambient{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.cabinet-ambient-blob{position:absolute;border-radius:50%;filter:blur(88px);opacity:.55}.cabinet-ambient-blob.sky{width:min(520px,55vw);height:min(520px,55vw);top:-12%;right:-8%;background:var(--ailu-ambient-sky)}.cabinet-ambient-blob.leaf{width:min(440px,48vw);height:min(440px,48vw);bottom:8%;left:18%;background:var(--ailu-ambient-leaf)}.cabinet-ambient-blob.coral{width:min(320px,38vw);height:min(320px,38vw);top:42%;left:-6%;background:var(--ailu-ambient-coral)}.app-shell>:not(.cabinet-ambient){position:relative;z-index:1}.landing{min-height:100vh;background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(126,196,232,.15),transparent),var(--ailu-bg)}.landing-nav{justify-content:space-between;max-width:1120px;margin:0 auto;padding:20px 24px}.landing-brand,.landing-nav{display:flex;align-items:center}.landing-brand{font-family:var(--ailu-font-display);font-size:1.35rem;font-weight:800;letter-spacing:-.02em;gap:10px}.landing-brand-mark{width:36px;height:36px;border-radius:12px;background:var(--ailu-gradient-hero);border:1px solid var(--ailu-border);display:grid;place-items:center;font-size:1.1rem}.landing-nav-links{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.landing-hero{max-width:1120px;margin:0 auto;padding:48px 24px 64px;display:grid;grid-template-columns:1.1fr .9fr;grid-gap:40px;gap:40px;align-items:center}.landing-hero h1{font-family:var(--ailu-font-display);font-size:clamp(2rem,4vw,3rem);font-weight:800;line-height:1.15;margin:0 0 16px}.landing-hero p.lead{color:var(--ailu-text-muted);font-size:1.1rem;line-height:1.6;margin:0 0 28px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.landing-hero-visual{border-radius:var(--ailu-radius-xl);border:1px solid var(--ailu-border);background:var(--ailu-gradient-hero);padding:32px;box-shadow:var(--ailu-glow-sky);text-align:center}.landing-hero-visual .bird-large{font-size:4rem;filter:drop-shadow(0 8px 20px rgba(126,196,232,.35))}.landing-hero-visual p{color:var(--ailu-text-muted);margin:12px 0 0;font-size:.95rem}.landing-section{max-width:1120px;margin:0 auto;padding:48px 24px}.landing-section h2{font-family:var(--ailu-font-display);font-size:1.75rem;margin:0 0 12px}.landing-section .subtitle{color:var(--ailu-text-muted);margin:0 0 28px;max-width:640px}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:16px;gap:16px}.feature-card{background:var(--ailu-gradient-card);border:1px solid var(--ailu-border);border-radius:var(--ailu-radius-lg);padding:20px}.feature-card h3{font-family:var(--ailu-font-display);font-size:1.05rem;margin:8px 0}.feature-card p{color:var(--ailu-text-muted);font-size:.92rem;line-height:1.5;margin:0}.feature-icon{font-size:1.5rem}.trust-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.landing-footer{border-top:1px solid var(--ailu-border);padding:32px 24px;text-align:center;color:var(--ailu-text-muted);font-size:.85rem}.landing-vivid{position:relative;overflow:hidden}.landing-blobs{position:absolute;inset:0;pointer-events:none;z-index:0}.blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.55}.blob-sky{width:420px;height:420px;background:rgba(126,196,232,.35);top:-120px;left:-80px}.blob-leaf{width:360px;height:360px;background:rgba(92,184,138,.28);top:40%;right:-100px}.blob-coral{width:300px;height:300px;background:rgba(232,168,124,.22);bottom:10%;left:30%}.landing-vivid .landing-footer,.landing-vivid .landing-hero,.landing-vivid .landing-nav,.landing-vivid .landing-section{position:relative;z-index:1}.landing-hero-vivid{grid-template-columns:1fr 1fr;padding-top:32px}.landing-eyebrow{display:inline-block;margin:0 0 12px;padding:6px 12px;border-radius:999px;background:rgba(232,168,124,.15);border:1px solid rgba(232,168,124,.35);color:var(--ailu-coral);font-size:.82rem;font-weight:600}.landing-hero-art{display:grid;grid-gap:14px;gap:14px}.hero-mini-scenes{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.ailu-scene{margin:0;border-radius:var(--ailu-radius-xl);overflow:hidden;border:1px solid var(--ailu-border);box-shadow:var(--ailu-shadow);background:var(--ailu-panel);transition:transform .2s,box-shadow .2s}.ailu-scene:hover{transform:translateY(-4px);box-shadow:var(--ailu-glow-sky),var(--ailu-shadow)}.ailu-scene svg{display:block;width:100%;height:auto}.ailu-scene-featured{border-color:rgba(126,196,232,.45)}.ailu-scene-caption{padding:10px 14px;font-size:.8rem;color:var(--ailu-text-muted);text-align:center;border-top:1px solid var(--ailu-border);background:rgba(18,28,24,.85)}.ailu-art{margin:0}.ailu-art-frame{position:relative;width:100%;aspect-ratio:4/5;border-radius:var(--ailu-radius-xl);overflow:hidden;border:1px solid var(--ailu-border);box-shadow:var(--ailu-shadow);background:var(--ailu-panel)}.ailu-art-img{object-fit:cover;object-position:center top}.ailu-art-featured .ailu-art-frame{aspect-ratio:3/4;min-height:380px;border-color:rgba(126,196,232,.4);box-shadow:var(--ailu-glow-sky),var(--ailu-shadow)}.hero-mini-scenes .ailu-art-frame{aspect-ratio:1}.ailu-art-caption{padding:8px 12px;font-size:.78rem;color:var(--ailu-text-muted);text-align:center}.gallery-card .ailu-art-frame{aspect-ratio:1;box-shadow:none}.gallery-card .ailu-art:hover .ailu-art-frame{box-shadow:var(--ailu-glow-sky);transform:translateY(-2px);transition:transform .2s,box-shadow .2s}.step-art-image{max-width:140px}.step-art-image .ailu-art-frame{aspect-ratio:1}.cta-art-image{max-width:280px}.cta-art-image .ailu-art-frame{aspect-ratio:4/5}.brand-mark-img{border-radius:6px;object-fit:cover}.landing-brand-mark{overflow:hidden;padding:0}.empty-state .ailu-welcome-img{width:min(220px,70vw);height:auto;border-radius:var(--ailu-radius-xl);border:1px solid var(--ailu-border);box-shadow:var(--ailu-glow-sky);margin-bottom:8px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:18px;gap:18px}.gallery-card{background:var(--ailu-gradient-card);border:1px solid var(--ailu-border);border-radius:var(--ailu-radius-lg);padding:14px;display:flex;flex-direction:column;gap:10px}.gallery-card h3{font-family:var(--ailu-font-display);margin:0;font-size:1rem}.gallery-card p{margin:0;color:var(--ailu-text-muted);font-size:.88rem;line-height:1.45}.gallery-card .ailu-scene{box-shadow:none}.steps-list{list-style:none;padding:0;margin:0;display:grid;grid-gap:16px;gap:16px}.steps-list li{display:grid;grid-template-columns:auto 1fr 140px;grid-gap:16px;gap:16px;align-items:center;padding:18px;border-radius:var(--ailu-radius-lg);border:1px solid var(--ailu-border);background:var(--ailu-gradient-card)}.step-num{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-family:var(--ailu-font-display);font-weight:800;background:linear-gradient(180deg,var(--ailu-accent),var(--ailu-accent-strong));color:var(--ailu-accent-on)}.steps-list li p{margin:4px 0 0;color:var(--ailu-text-muted);font-size:.9rem}.step-art.ailu-scene{max-width:140px}.cta-panel{display:grid;grid-template-columns:280px 1fr;grid-gap:28px;gap:28px;align-items:center;padding:28px;border-radius:var(--ailu-radius-xl);border:1px solid rgba(126,196,232,.35);background:linear-gradient(135deg,rgba(126,196,232,.12),rgba(92,184,138,.08));box-shadow:var(--ailu-glow-sky)}.cta-panel h2{font-family:var(--ailu-font-display);margin:0 0 10px}.cta-panel p{color:var(--ailu-text-muted);margin:0 0 18px;line-height:1.5}.pill-coral{color:var(--ailu-coral);border-color:rgba(232,168,124,.4);background:rgba(232,168,124,.1)}.pill-leaf{color:var(--ailu-leaf);border-color:rgba(92,184,138,.4);background:rgba(92,184,138,.1)}.btn-lg{padding:13px 22px;font-size:1.02rem}@media (max-width:900px){.landing-hero-vivid{grid-template-columns:1fr}.steps-list li{grid-template-columns:auto 1fr}.step-art,.step-art-image{display:none}.cta-panel{grid-template-columns:1fr}.landing-nav-links .btn-ghost{display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:var(--ailu-radius-md);padding:11px 18px;font-family:var(--ailu-font-display);font-weight:700;cursor:pointer;background:linear-gradient(180deg,var(--ailu-accent),var(--ailu-accent-strong));color:var(--ailu-accent-on);box-shadow:0 4px 14px rgba(75,163,209,.35);transition:transform .15s,box-shadow .15s}.btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(75,163,209,.45)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-secondary{background:var(--ailu-btn-secondary-bg);color:var(--ailu-text);border:1px solid var(--ailu-glass-border);box-shadow:inset 0 1px 0 var(--ailu-glass-highlight);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.btn-secondary:hover{background:var(--ailu-btn-secondary-hover);border-color:var(--ailu-glass-border);box-shadow:var(--ailu-shadow-soft)}.btn-ghost{background:transparent;color:var(--ailu-sky);border:none;box-shadow:none;padding:8px 12px}.app-shell{display:grid;grid-template-columns:300px 1fr;height:100vh;height:100dvh;min-height:0;position:relative;overflow:hidden}.app-main{min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;background:radial-gradient(120% 120% at 100% -10%,var(--ailu-ambient-sky),transparent 54%),radial-gradient(90% 110% at -10% 100%,var(--ailu-ambient-leaf),transparent 56%),var(--ailu-bg)}.sidebar-toggle{top:14px;left:14px;z-index:40;background:var(--ailu-glass-bg-strong);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--ailu-glass-border);color:var(--ailu-text);border-radius:var(--ailu-radius-md);padding:8px 12px;font-size:1.1rem;box-shadow:var(--ailu-shadow-soft)}.sidebar-backdrop,.sidebar-toggle{display:none;position:fixed;cursor:pointer}.sidebar-backdrop{inset:0;z-index:29;background:var(--ailu-surface-overlay);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:none}.sidebar{position:relative;background:radial-gradient(100% 80% at 0 0,var(--ailu-ambient-sky),transparent 48%),radial-gradient(95% 75% at 100% 100%,var(--ailu-ambient-leaf),transparent 50%),var(--ailu-glass-bg);backdrop-filter:blur(var(--ailu-glass-blur-lg)) saturate(var(--ailu-glass-saturate));-webkit-backdrop-filter:blur(var(--ailu-glass-blur-lg)) saturate(var(--ailu-glass-saturate));border-right:1px solid var(--ailu-glass-border);box-shadow:var(--ailu-sidebar-shadow);display:flex;flex-direction:column;padding:16px;gap:10px;min-height:100vh;overflow:hidden}.sidebar:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,var(--ailu-glass-highlight),transparent 24%)}.sidebar-header{justify-content:space-between}.brand,.sidebar-header{display:flex;align-items:center;gap:8px}.brand{font-family:var(--ailu-font-display);font-size:1.15rem;font-weight:800}.brand-mark{width:28px;height:28px;border-radius:8px;background:var(--ailu-gradient-hero);border:1px solid var(--ailu-border);display:grid;place-items:center;font-size:.85rem}.sidebar-actions{display:grid;grid-gap:8px;gap:8px}.sidebar-nav{display:grid;grid-gap:4px;gap:4px;padding-bottom:8px;border-bottom:1px solid var(--ailu-border)}.sidebar-nav-link{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:var(--ailu-radius-md);color:var(--ailu-text);font-size:.92rem;border:1px solid transparent;text-decoration:none}.sidebar-nav-link.active,.sidebar-nav-link:hover{background:var(--ailu-glass-bg);border-color:var(--ailu-glass-border);text-decoration:none;box-shadow:inset 0 1px 0 var(--ailu-glass-highlight)}.sidebar-nav-link.active{border-color:var(--ailu-glass-border);box-shadow:inset 3px 0 0 var(--ailu-accent),inset 0 1px 0 var(--ailu-glass-highlight)}.sidebar-section-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ailu-text-muted);font-weight:600;margin-top:4px}.conversation-tree{flex:1 1;overflow:auto;padding-right:4px}.conversation-tree-empty{padding:12px;color:var(--ailu-text-muted);font-size:.88rem;line-height:1.45}.conversation-tree-empty .muted{font-size:.82rem;opacity:.85}.conversation-tree-group{margin-bottom:12px}.conversation-tree-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ailu-text-muted);margin:0 0 6px 4px;font-weight:600}.conversation-tree-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:4px;gap:4px}.conversation-tree-list li{display:grid;grid-template-columns:1fr auto;grid-gap:4px;gap:4px;align-items:start}.conversation-tree-item{text-align:left;background:transparent;border:1px solid transparent;color:var(--ailu-text);border-radius:var(--ailu-radius-md);padding:10px 12px;cursor:pointer;display:grid;grid-gap:3px;gap:3px;width:100%}.conversation-tree-item.active,.conversation-tree-item:hover{background:var(--ailu-surface-active);border-color:var(--ailu-glass-border);box-shadow:inset 0 1px 0 var(--ailu-glass-highlight)}.conversation-tree-item.active{border-color:var(--ailu-glass-border);box-shadow:inset 3px 0 0 var(--ailu-accent),var(--ailu-shadow-soft)}.conversation-tree-title{font-size:.9rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-tree-meta,.conversation-tree-time{font-size:.75rem;color:var(--ailu-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-tree-delete{background:transparent;border:1px solid transparent;color:var(--ailu-text-muted);border-radius:8px;width:28px;height:28px;cursor:pointer;font-size:1.1rem;line-height:1;margin-top:6px}.conversation-tree-delete:hover{color:var(--ailu-danger);border-color:rgba(232,122,122,.35);background:rgba(232,122,122,.08)}.sidebar-footer{border-top:1px solid var(--ailu-border);padding-top:12px;display:grid;grid-gap:8px;gap:8px}.sidebar-user-name{font-size:.88rem;font-weight:600;display:block}.sidebar-user-email{font-size:.75rem;color:var(--ailu-text-muted)}.sidebar-tariff{align-self:flex-start}.conversation-list{flex:1 1;overflow:auto;display:grid;grid-gap:6px;gap:6px}.conversation-item{text-align:left;background:transparent;border:1px solid transparent;color:var(--ailu-text);border-radius:var(--ailu-radius-md);padding:10px 12px;cursor:pointer;font-size:.92rem}.conversation-item.active,.conversation-item:hover{background:var(--ailu-bg-hover);border-color:var(--ailu-border)}.chat-main{display:grid;grid-template-rows:auto 1fr auto;flex:1 1;min-height:0;height:100%;background:transparent;position:relative}.chat-main .assistant-report-grid,.chat-main .brief-summary-card,.chat-main .message-report,.chat-main .next-steps-card,.chat-main .report-card,.chat-main .risk-card{display:none!important}.messages-wrap{position:relative;min-height:0;display:flex;flex-direction:column;overflow:hidden}.messages-fade{position:absolute;left:0;right:0;height:28px;pointer-events:none;z-index:2}.messages-fade-top{top:0;background:linear-gradient(to bottom,var(--ailu-fade-color),transparent)}.messages-fade-bottom{bottom:0;height:48px;background:linear-gradient(to top,var(--ailu-fade-color),transparent)}.composer-stack{position:relative;overflow:visible;z-index:8;border-top:none;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;padding:0 20px 18px}.composer-stack .composer{border-top:none}.ailu-companion{position:absolute;right:16px;bottom:calc(100% + 4px);width:273px;z-index:6;pointer-events:none;display:flex;flex-direction:column;align-items:flex-end}.ailu-companion-bubble{max-width:220px;margin-bottom:8px;padding:8px 12px;border-radius:14px 14px 4px 14px;background:var(--ailu-companion-bubble-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--ailu-glass-border);box-shadow:var(--ailu-glow-sky),var(--ailu-shadow-soft);font-size:.78rem;line-height:1.35;color:var(--ailu-text)}.ailu-sticker-wrap{position:relative;pointer-events:none;flex-shrink:0}.ailu-sticker-figure,.ailu-sticker-stage{position:relative;width:100%;height:100%}.ailu-sticker-figure{z-index:2}.ailu-sticker-img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;object-position:bottom center;filter:drop-shadow(0 8px 20px rgba(0,0,0,.32))}.ailu-sticker-img--in{z-index:2;animation:ailu-sticker-fade-in .24s ease-out both}.ailu-sticker-img--out{z-index:1;animation:ailu-sticker-fade-out .24s ease-in both}@keyframes ailu-sticker-fade-in{0%{opacity:.9;transform:translateY(1.5px)}to{opacity:1;transform:translateY(0)}}@keyframes ailu-sticker-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:.9;transform:translateY(-1px)}}@media (prefers-reduced-motion:reduce){.ailu-sticker-img--in,.ailu-sticker-img--out{animation:none}}.ailu-sticker-shadow{position:absolute;left:50%;bottom:2px;width:68%;height:10px;margin-left:-34%;border-radius:50%;background:rgba(0,0,0,.28);filter:blur(6px);z-index:1}.ailu-companion-meta{display:none}.ailu-pose-idle-breathe .ailu-companion-figure{animation:ailu-breathe 3.2s ease-in-out infinite}.ailu-pose-idle-sway .ailu-companion-figure{animation:ailu-sway 4s ease-in-out infinite}.ailu-pose-idle-blink .ailu-companion-figure{animation:ailu-blink 2.8s ease-in-out infinite}.ailu-pose-idle-stretch .ailu-companion-figure{animation:ailu-stretch 3.5s ease-in-out infinite}.ailu-pose-listen-nod .ailu-companion-figure{animation:ailu-nod 1.8s ease-in-out infinite}.ailu-pose-listen-curious .ailu-companion-figure{animation:ailu-tilt 2.4s ease-in-out infinite}.ailu-pose-type-watch .ailu-companion-figure{animation:ailu-lean 2s ease-in-out infinite}.ailu-pose-think-tilt .ailu-companion-figure{animation:ailu-think-tilt 2.6s ease-in-out infinite}.ailu-pose-think-map .ailu-companion-figure{animation:ailu-map 2.2s ease-in-out infinite}.ailu-pose-think-deep .ailu-companion-figure{animation:ailu-deep 3s ease-in-out infinite}.ailu-pose-search-send .ailu-companion-figure{animation:ailu-send 1.6s ease-in-out infinite}.ailu-pose-search-wait .ailu-companion-figure{animation:ailu-wait 2.5s ease-in-out infinite}.ailu-pose-research-focus .ailu-companion-figure{animation:ailu-focus 2.2s ease-in-out infinite}.ailu-pose-answer-nod .ailu-companion-figure{animation:ailu-nod 2s ease-in-out 2}.ailu-pose-answer-proud .ailu-companion-figure{animation:ailu-proud 2.4s ease-out 1}.ailu-pose-answer-soft .ailu-companion-figure{animation:ailu-soft 3s ease-in-out infinite}.ailu-pose-answer-warn .ailu-companion-figure{animation:ailu-warn 1.2s ease-in-out infinite}.ailu-pose-answer-excited .ailu-companion-figure{animation:ailu-excited .9s ease-in-out infinite}.ailu-pose-celebrate .ailu-companion-figure{animation:ailu-celebrate 1.5s ease-in-out infinite}.ailu-pose-memory-glow .ailu-companion-figure{animation:ailu-glow 2.8s ease-in-out infinite}.ailu-pose-error-sad .ailu-companion-figure{animation:ailu-sad 3s ease-in-out infinite}.ailu-pose-wave .ailu-companion-figure{animation:ailu-wave 1.8s ease-in-out infinite}.ailu-bird-hidden{opacity:0;transform:scale(.6)}.ailu-bird-hover{animation:ailu-bird-hover 2.5s ease-in-out infinite}.ailu-bird-orbit{animation:ailu-bird-orbit 4s linear infinite}.ailu-bird-fly-out{animation:ailu-bird-fly-out 1.8s ease-in-out infinite}.ailu-bird-scan{animation:ailu-bird-scan 2s ease-in-out infinite}.ailu-bird-return{animation:ailu-bird-return 1.6s ease-out 1}.ailu-bird-pulse{animation:ailu-bird-pulse 1.4s ease-in-out infinite}@keyframes ailu-breathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.02)}}@keyframes ailu-sway{0%,to{transform:rotate(-1.5deg)}50%{transform:rotate(1.5deg)}}@keyframes ailu-blink{0%,92%,to{transform:scaleY(1)}96%{transform:scaleY(.94)}}@keyframes ailu-stretch{0%,to{transform:scale(1)}50%{transform:scale(1.04) translateY(-6px)}}@keyframes ailu-nod{0%,to{transform:rotate(0deg)}40%{transform:rotate(4deg)}70%{transform:rotate(-2deg)}}@keyframes ailu-tilt{0%,to{transform:rotate(-3deg) translateX(-2px)}50%{transform:rotate(3deg) translateX(2px)}}@keyframes ailu-lean{0%,to{transform:translateX(0)}50%{transform:translateX(4px) rotate(2deg)}}@keyframes ailu-think-tilt{0%,to{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(-6deg) translateY(-3px)}}@keyframes ailu-map{0%,to{transform:translateY(0);filter:brightness(1)}50%{transform:translateY(-5px);filter:brightness(1.08)}}@keyframes ailu-deep{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.98);opacity:.92}}@keyframes ailu-send{0%,to{transform:translateX(0)}50%{transform:translateX(-6px) rotate(-2deg)}}@keyframes ailu-wait{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes ailu-focus{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes ailu-proud{0%{transform:translateY(0)}40%{transform:translateY(-8px) scale(1.03)}to{transform:translateY(0)}}@keyframes ailu-soft{0%,to{transform:translateY(0);opacity:1}50%{transform:translateY(-2px);opacity:.95}}@keyframes ailu-warn{0%,to{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}@keyframes ailu-excited{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(2deg)}}@keyframes ailu-celebrate{0%,to{transform:rotate(0deg) scale(1)}25%{transform:rotate(-5deg) scale(1.04)}75%{transform:rotate(5deg) scale(1.04)}}@keyframes ailu-glow{0%,to{filter:drop-shadow(0 8px 18px rgba(0,0,0,.35))}50%{filter:drop-shadow(0 8px 22px rgba(126,196,232,.45))}}@keyframes ailu-sad{0%,to{transform:translateY(0);opacity:.85}50%{transform:translateY(2px);opacity:.75}}@keyframes ailu-wave{0%,to{transform:rotate(0deg)}20%{transform:rotate(6deg)}40%{transform:rotate(-4deg)}60%{transform:rotate(5deg)}}@keyframes ailu-bird-hover{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes ailu-bird-orbit{0%{transform:rotate(0deg) translateX(14px) rotate(0deg)}to{transform:rotate(1turn) translateX(14px) rotate(-1turn)}}@keyframes ailu-bird-fly-out{0%,to{transform:translate(0) scale(1);opacity:1}50%{transform:translate(28px,-24px) scale(.85);opacity:.7}}@keyframes ailu-bird-scan{0%,to{transform:translateX(0)}50%{transform:translateX(12px)}}@keyframes ailu-bird-return{0%{transform:translate(24px,-20px) scale(.7);opacity:0}to{transform:translate(0) scale(1);opacity:1}}@keyframes ailu-bird-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.85}}.chat-inner-page{display:grid;grid-template-rows:auto 1fr;min-height:100vh;background:transparent}.topbar-subtitle{margin:4px 0 0;color:var(--ailu-text-muted);font-size:.88rem}.inner-page-content{padding:28px 24px 40px;overflow:auto}.chat-page-loading{display:grid;place-items:center;color:var(--ailu-text-muted)}.settings-grid{display:grid;grid-template-columns:1fr 320px;grid-gap:20px;gap:20px;max-width:960px}.settings-panel{background:var(--ailu-glass-bg);backdrop-filter:blur(var(--ailu-glass-blur)) saturate(var(--ailu-glass-saturate));-webkit-backdrop-filter:blur(var(--ailu-glass-blur)) saturate(var(--ailu-glass-saturate));border:1px solid var(--ailu-glass-border);border-radius:var(--ailu-radius-xl);padding:24px;box-shadow:var(--ailu-shadow-glass)}.settings-panel h2{font-family:var(--ailu-font-display);margin:0 0 14px;font-size:1.1rem}.settings-panel h3{font-family:var(--ailu-font-display);margin:16px 0 10px;font-size:.95rem}.field{display:grid;grid-gap:6px;gap:6px}.field span{font-size:.82rem}.field span,.field-hint{color:var(--ailu-text-muted)}.field-hint{font-size:.78rem;line-height:1.4}.settings-check{justify-self:start}.settings-stat{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--ailu-border);margin-bottom:8px}.settings-stat .label{color:var(--ailu-text-muted);font-size:.88rem}.form-error{color:var(--ailu-danger);border-radius:var(--ailu-radius-sm);background:var(--ailu-notice-error-bg);border:1px solid var(--ailu-notice-error-border)}.form-error,.form-ok{font-size:.88rem;margin:0;padding:10px 12px}.form-ok{color:var(--ailu-leaf);border-radius:var(--ailu-radius-sm);background:var(--ailu-notice-ok-bg);border:1px solid var(--ailu-notice-ok-border)}.logout-panel{max-width:480px;margin:32px auto;text-align:center;background:var(--ailu-empty-state-bg);backdrop-filter:blur(var(--ailu-glass-blur-lg)) saturate(var(--ailu-glass-saturate));-webkit-backdrop-filter:blur(var(--ailu-glass-blur-lg)) saturate(var(--ailu-glass-saturate));border:1px solid var(--ailu-glass-border-soft);border-radius:var(--ailu-radius-xl);padding:40px 32px;box-shadow:var(--ailu-shadow-soft)}.logout-panel h2{font-family:var(--ailu-font-display);margin:12px 0}.logout-panel p{color:var(--ailu-text-muted);line-height:1.55}.logout-panel .muted{font-size:.88rem}.source-list{margin:8px 0;padding-left:18px}.source-actions{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px;border-bottom:1px solid var(--ailu-glass-border-soft);background:var(--ailu-surface-topbar);backdrop-filter:blur(var(--ailu-glass-blur)) saturate(var(--ailu-glass-saturate));-webkit-backdrop-filter:blur(var(--ailu-glass-blur)) saturate(var(--ailu-glass-saturate));box-shadow:var(--ailu-topbar-shadow);position:-webkit-sticky;position:sticky;top:0;z-index:5}.topbar-title{font-family:var(--ailu-font-display);font-weight:700;font-size:1.05rem}.usage-bar{display:flex;flex-wrap:wrap;gap:8px;font-size:.8rem;color:var(--ailu-text-muted);margin-top:6px}.messages{overflow:auto;padding:26px calc(24px + var(--ailu-chat-sticker-reserve)) 28px 24px;display:flex;flex-direction:column;gap:12px;flex:1 1;min-height:0;scroll-behavior:smooth}.message{position:relative;max-width:min(780px,92%);width:-moz-fit-content;width:fit-content;padding:12px 16px 11px;border-radius:20px;line-height:1.58;white-space:pre-wrap;box-shadow:var(--ailu-shadow-soft);border:1px solid transparent;transition:border-color .15s ease,box-shadow .15s ease}.message:hover{box-shadow:var(--ailu-shadow-md)}.message-role{font-family:var(--ailu-font-display);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;opacity:.72}.message.user{align-self:flex-end;background:var(--ailu-message-user-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--ailu-message-user-border);border-radius:20px 20px 10px 20px;box-shadow:var(--ailu-shadow-soft),inset 0 1px 0 var(--ailu-glass-highlight)}.message.user .message-role{color:var(--ailu-sand);text-align:right}.message.user:after{content:"";position:absolute;right:-7px;bottom:10px;width:14px;height:14px;background:var(--ailu-message-user-bg);border-right:1px solid var(--ailu-message-user-border);border-bottom:1px solid var(--ailu-message-user-border);border-bottom-right-radius:4px;transform:rotate(-26deg)}.message.assistant{align-self:flex-start;background:var(--ailu-message-assistant-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--ailu-glass-border);border-radius:20px 20px 20px 10px;box-shadow:var(--ailu-shadow-glass)}.message.assistant .message-role{color:var(--ailu-sky)}.message.assistant:after{content:"";position:absolute;left:-7px;bottom:10px;width:14px;height:14px;background:var(--ailu-message-assistant-bg);border-left:1px solid var(--ailu-glass-border);border-bottom:1px solid var(--ailu-glass-border);border-bottom-left-radius:4px;transform:rotate(26deg)}.message-meta{margin-top:8px;font-size:.73rem;font-family:var(--ailu-font-body);color:var(--ailu-text-muted);opacity:.8}.message-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.btn-sm{padding:6px 10px;font-size:.78rem;font-weight:600}.thinking-panel{align-self:flex-start;position:relative;max-width:560px;padding:12px 16px;border-radius:20px 20px 20px 10px;background:var(--ailu-glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--ailu-glass-border);box-shadow:var(--ailu-shadow-soft);animation:thinking-pulse 2.4s ease-in-out infinite}.thinking-panel:after{content:"";position:absolute;left:-7px;bottom:10px;width:14px;height:14px;background:var(--ailu-glass-bg);border-left:1px solid var(--ailu-glass-border);border-bottom:1px solid var(--ailu-glass-border);border-bottom-left-radius:4px;transform:rotate(26deg)}@keyframes thinking-pulse{0%,to{box-shadow:var(--ailu-shadow-glass)}50%{box-shadow:var(--ailu-glow-sky),var(--ailu-shadow-soft)}}.thinking-step{color:var(--ailu-text);font-size:.88rem;padding:3px 0;display:flex;gap:8px;align-items:flex-start}.thinking-step:before{content:"•";color:var(--ailu-sky);font-weight:700}.composer{padding:0;background:transparent}.composer-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 12px;padding:8px 10px 8px 14px;border-radius:24px;background:linear-gradient(135deg,var(--ailu-glass-bg-strong),var(--ailu-glass-bg));backdrop-filter:blur(20px) saturate(var(--ailu-glass-saturate));-webkit-backdrop-filter:blur(20px) saturate(var(--ailu-glass-saturate));border:1px solid var(--ailu-glass-border);box-shadow:var(--ailu-shadow-glass)}.composer-input-wrap{flex:1 1 180px;min-width:0}.composer textarea.composer-input,.composer-input{width:100%;min-height:42px;max-height:140px;resize:none;background:transparent;color:var(--ailu-text);border:none;border-radius:0;padding:10px 4px;box-shadow:none;line-height:1.45}.composer textarea.composer-input:focus,.composer-input:focus{outline:none;border:none;box-shadow:none}.composer-toolbar{display:flex;align-items:center;gap:6px;flex-shrink:0}.composer-chip{position:relative;display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;background:var(--ailu-composer-chip-bg);border:1px solid var(--ailu-glass-border-soft);color:var(--ailu-text-muted);font-size:.74rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.composer-chip input{position:absolute;opacity:0;width:0;height:0}.composer-chip--active{background:var(--ailu-composer-chip-active-bg);border-color:var(--ailu-glass-border);color:var(--ailu-accent)}.composer-chip-meta{opacity:.72;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.btn-send{width:42px;height:42px;min-width:42px;padding:0;border-radius:999px;font-size:1.15rem;line-height:1}.composer-row{display:grid;grid-template-columns:190px 1fr auto;grid-gap:12px;gap:12px;align-items:end}.composer-side{display:flex;flex-direction:column;gap:8px}.voice-controls{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}.voice-reply-toggle{cursor:pointer;font-size:.82rem}.voice-hint{opacity:.65;font-size:.75rem}.btn-voice-mic{width:38px;height:38px;border-radius:999px;border:1px solid var(--ailu-glass-border-soft);background:var(--ailu-composer-chip-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--ailu-text);cursor:pointer;display:grid;place-items:center;box-shadow:var(--ailu-shadow-soft);transition:transform .15s,border-color .15s,box-shadow .15s}.btn-voice-mic:hover:not(:disabled){border-color:var(--ailu-hover-border);transform:translateY(-1px)}.btn-voice-mic:disabled{opacity:.55;cursor:not-allowed}.btn-voice-mic.recording{border-color:rgba(255,120,120,.75);box-shadow:0 0 0 3px rgba(255,120,120,.18),var(--ailu-shadow-soft);animation:ailu-mic-pulse 1.2s ease-in-out infinite}.btn-voice-mic.processing{border-color:var(--ailu-glass-border)}.btn-voice-mic-icon{font-size:1.1rem;line-height:1}@keyframes ailu-mic-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.composer-voice-error{margin:8px 14px 0;color:var(--ailu-danger);font-size:.85rem}.composer-research-hint{margin:8px 14px 0;font-size:.72rem;line-height:1.35;color:var(--ailu-text-muted)}.settings-note{margin:0;font-size:.88rem;line-height:1.45;color:var(--ailu-text-muted)}.settings-code{padding:10px 12px;border-radius:10px;background:var(--ailu-code-bg);font-size:.82rem;line-height:1.5}.memory-list{display:flex;flex-direction:column;gap:8px}.memory-list-item{gap:10px;padding:10px 12px;border-radius:10px;font-size:.84rem;line-height:1.4}.feedback-inline{display:flex;flex-wrap:wrap;gap:8px;width:100%;margin-top:6px}.feedback-inline input{flex:1 1;min-width:160px;padding:8px 10px;border-radius:8px;border:1px solid var(--ailu-border);background:var(--ailu-feedback-input-bg);color:var(--ailu-text)}.message-voice-badge{margin-left:4px;opacity:.85}.message-voice-actions{margin-top:8px}.auth-panel{background:var(--ailu-glass-bg-strong);border:1px solid var(--ailu-glass-border);border-radius:var(--ailu-radius-xl);box-shadow:var(--ailu-shadow-float)}.auth-panel,.empty-state{max-width:460px;margin:auto;padding:36px 32px;backdrop-filter:blur(var(--ailu-glass-blur-lg)) saturate(var(--ailu-glass-saturate));-webkit-backdrop-filter:blur(var(--ailu-glass-blur-lg)) saturate(var(--ailu-glass-saturate))}.empty-state{border:1px solid var(--ailu-glass-border-soft);border-radius:var(--ailu-radius-xl)}.empty-state,.messages .empty-state{background:var(--ailu-empty-state-bg);box-shadow:var(--ailu-shadow-soft)}.messages .empty-state{margin:auto;text-align:center;border-color:var(--ailu-glass-border-soft)}.empty-state p{margin:10px 0 0;color:var(--ailu-text-muted);line-height:1.55;font-size:.95rem}.auth-panel h1,.empty-state h2{font-family:var(--ailu-font-display);margin-top:0}.messages:has(.empty-state){justify-content:center}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative;background:var(--ailu-bg)}.auth-wrap:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 50% at 20% 10%,var(--ailu-auth-gradient-a),transparent),radial-gradient(ellipse 60% 45% at 85% 80%,var(--ailu-auth-gradient-b),transparent);pointer-events:none}.auth-panel{position:relative;z-index:1}.anime-hero{text-align:center}.bird-icon{font-size:2.75rem;margin-bottom:10px;filter:drop-shadow(0 4px 14px rgba(126,196,232,.4))}.auth-panel input,.auth-panel select,.settings-panel input,.sidebar select,.stack input{width:100%;background:var(--ailu-input-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--ailu-text);border:1px solid var(--ailu-glass-border);border-radius:var(--ailu-radius-md);padding:11px 13px;box-shadow:inset 0 1px 0 var(--ailu-glass-highlight);transition:border-color .15s,box-shadow .15s}.auth-panel input:focus,.settings-panel input:focus,.stack input:focus{outline:none;border-color:var(--ailu-glass-border);box-shadow:0 0 0 3px var(--ailu-input-focus-ring)}.stack{display:grid;grid-gap:10px;gap:10px}.source-panel{padding:0 20px 12px}.source-panel details{background:var(--ailu-source-panel-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--ailu-glass-border);border-radius:var(--ailu-radius-lg);padding:14px 16px;box-shadow:var(--ailu-shadow-glass)}.source-panel summary{font-family:var(--ailu-font-display);font-weight:600;cursor:pointer}.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;background:var(--ailu-pill-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--ailu-glass-border);color:var(--ailu-text-muted);font-size:.75rem;box-shadow:inset 0 1px 0 var(--ailu-glass-highlight)}.pill-accent{border-color:var(--ailu-pill-accent-border);color:var(--ailu-accent);background:var(--ailu-pill-accent-bg)}.badge-verified{color:var(--ailu-leaf);font-size:.8rem}.card{background:var(--ailu-gradient-card);border:1px solid var(--ailu-border);border-radius:var(--ailu-radius-lg);padding:20px}.page-narrow{max-width:960px;margin:0 auto;padding:32px 24px}.nav-icon{flex-shrink:0;opacity:.88}.sidebar-nav-link{gap:10px}.btn-new-dialog{display:inline-flex;align-items:center;justify-content:center;gap:8px}.sidebar-user-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--ailu-radius-md);border:1px solid transparent;color:inherit;text-decoration:none;transition:background .15s,border-color .15s}.sidebar-user-card:hover{background:var(--ailu-surface-hover);border-color:var(--ailu-hover-border);text-decoration:none}.sidebar-user-avatar{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-family:var(--ailu-font-display);font-weight:800;font-size:.95rem;background:var(--ailu-gradient-hero);border:1px solid var(--ailu-border);color:var(--ailu-text)}.sidebar-user-meta{min-width:0;display:grid;grid-gap:2px;gap:2px}.conversation-tree-empty-title{font-weight:600;color:var(--ailu-text);margin:0 0 6px}.conversation-tree-list li.confirm-delete{grid-template-columns:1fr}.conversation-tree-confirm{display:flex;gap:6px;padding:0 4px 4px}.btn-danger{background:rgba(232,122,122,.14);border:1px solid rgba(232,122,122,.45);color:#ffd4d4;box-shadow:none}.btn-danger:hover{background:rgba(232,122,122,.22);border-color:rgba(232,122,122,.6)}[data-theme=light] .btn-danger{color:var(--ailu-danger);background:rgba(214,69,69,.1);border-color:rgba(214,69,69,.35)}[data-theme=light] .btn-danger:hover{background:rgba(214,69,69,.16);border-color:rgba(214,69,69,.5)}.cabinet-topbar{align-items:flex-start}.cabinet-topbar-main{min-width:0}.cabinet-topbar-aside{flex-shrink:0}.topbar-chat{flex-wrap:wrap;align-items:flex-start;gap:8px}.topbar-chat-main{flex:1 1;min-width:200px}.topbar-context{margin:4px 0 0;font-size:.84rem;color:var(--ailu-accent)}.topbar-context--muted{color:var(--ailu-text-muted)}.usage-board-link{text-decoration:none;color:inherit;display:block;min-width:min(280px,100%);border-radius:var(--ailu-radius-lg);border:1px solid transparent;padding:10px 12px;transition:border-color .15s,background .15s}.usage-board-link:hover{background:var(--ailu-surface-hover);border-color:var(--ailu-hover-border);text-decoration:none}.usage-board{display:grid;grid-gap:8px;gap:8px}.usage-board--compact{gap:6px}.usage-board-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.78rem}.usage-board-tariff{font-weight:600;color:var(--ailu-accent)}.usage-board-cost{color:var(--ailu-text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.usage-meter-head{display:flex;justify-content:space-between;gap:8px;font-size:.72rem}.usage-meter-head,.usage-meter-label{color:var(--ailu-text-muted)}.usage-meter-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.usage-meter-track{height:5px;border-radius:999px;background:var(--ailu-meter-track);overflow:hidden}.usage-meter-fill{height:100%;border-radius:inherit;background:var(--ailu-accent);transition:width .35s ease}.usage-meter-fill--warn{background:var(--ailu-warning)}.usage-meter-fill--danger{background:var(--ailu-danger)}.usage-board--compact .usage-meter:nth-child(n+4){display:none}.usage-board--compact .usage-meter-track{height:4px}.usage-board--sidebar{gap:5px;padding:10px 11px;border-radius:var(--ailu-radius-md);background:var(--ailu-surface-hover);border:1px solid var(--ailu-glass-border-soft)}.usage-board-link.usage-board-link--sidebar{display:block;min-width:0;border-radius:var(--ailu-radius-md);border:1px solid transparent;padding:0;transition:border-color .15s,background .15s}.usage-board-link.usage-board-link--sidebar:hover{background:transparent;border-color:var(--ailu-glass-border);text-decoration:none}.tariff-plans{max-width:960px}.tariff-page-lead{margin:0 0 8px;color:var(--ailu-text-muted);line-height:1.55;max-width:560px}.tariff-section{margin-bottom:32px}.tariff-section-head{margin-bottom:16px}.tariff-section-head h2{font-family:var(--ailu-font-display);margin:0 0 6px;font-size:1.15rem}.tariff-section-lead{margin:0;color:var(--ailu-text-muted);font-size:.88rem;line-height:1.5}.tariff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:16px;gap:16px}.tariff-card h3{margin:0 0 8px;font-size:1.05rem}.tariff-card h3,.tariff-price{font-family:var(--ailu-font-display)}.tariff-price{font-size:1.5rem;font-weight:800;margin:0 0 12px}.tariff-limits{margin:0 0 8px;padding-left:18px;color:var(--ailu-text-muted);line-height:1.65;font-size:.9rem}.usage-board--sidebar .usage-board-head{margin-bottom:0;font-size:.72rem}.usage-board--sidebar .usage-board-tariff{font-weight:700}.usage-board--sidebar .usage-meter-head{font-size:.68rem;gap:6px}.usage-board--sidebar .usage-meter-value{font-size:.66rem}.usage-board--sidebar .usage-meter-track{height:3px}.sidebar-footer .usage-board-link{width:100%}.cabinet-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--ailu-radius-lg);border:1px solid var(--ailu-notice-border);background:var(--ailu-notice-bg);color:var(--ailu-text);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--ailu-shadow-float);font-size:.9rem;max-width:min(420px,calc(100vw - 32px))}.cabinet-toast--ok{border-color:var(--ailu-notice-ok-border)}.cabinet-toast--error{border-color:var(--ailu-notice-error-border)}.cabinet-toast--info{border-color:var(--ailu-notice-info-border)}.cabinet-toast-close{background:transparent;border:none;color:var(--ailu-text-muted);font-size:1.2rem;cursor:pointer;line-height:1;padding:0 2px}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:8px}.auth-brand .brand{margin:0;font-size:1.35rem}.auth-brand-tagline{margin:2px 0 0;font-size:.82rem;color:var(--ailu-text-muted)}.auth-lead{color:var(--ailu-text-muted);line-height:1.55;margin:0 0 18px;font-size:.95rem}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px;margin-bottom:16px;padding:4px;border-radius:var(--ailu-radius-md);background:var(--ailu-auth-tabs-bg);border:1px solid var(--ailu-border)}.auth-tab{border:1px solid transparent;background:transparent;color:var(--ailu-text-muted);border-radius:8px;padding:9px 12px;cursor:pointer;font-weight:600;font-size:.88rem}.auth-tab.active{background:var(--ailu-auth-tab-active-bg);border-color:var(--ailu-auth-tab-active-border);color:var(--ailu-text)}.auth-form{margin-top:4px}.auth-footer{margin-top:20px;font-size:.85rem}.settings-layout{display:grid;grid-template-columns:200px minmax(0,1fr);grid-gap:24px;gap:24px;max-width:820px}.settings-nav{position:-webkit-sticky;position:sticky;top:88px;align-self:start;display:grid;grid-gap:4px;gap:4px}.settings-nav-link{padding:8px 12px;border-radius:var(--ailu-radius-md);color:var(--ailu-text-muted);font-size:.88rem;text-decoration:none;border:1px solid transparent}.settings-nav-link:hover{color:var(--ailu-text);background:var(--ailu-surface-hover);border-color:var(--ailu-hover-border);text-decoration:none}.settings-main{min-width:0}.settings-card{background:var(--ailu-glass-bg);backdrop-filter:blur(var(--ailu-glass-blur)) saturate(var(--ailu-glass-saturate));-webkit-backdrop-filter:blur(var(--ailu-glass-blur)) saturate(var(--ailu-glass-saturate));border:1px solid var(--ailu-glass-border);border-radius:var(--ailu-radius-xl);padding:24px;box-shadow:var(--ailu-shadow-glass);scroll-margin-top:88px}.settings-card--muted{opacity:.95}.settings-card-head{margin-bottom:16px}.settings-card h2{font-family:var(--ailu-font-display);margin:0 0 6px;font-size:1.15rem}.settings-card-lead{margin:0;color:var(--ailu-text-muted);font-size:.88rem;line-height:1.5}.settings-card h3{font-family:var(--ailu-font-display);margin:18px 0 10px;font-size:.95rem}.settings-subsection{padding-top:4px;border-top:1px solid var(--ailu-border);margin-top:8px}.settings-form-actions{padding-top:4px}.settings-facts{margin:16px 0;display:grid;grid-gap:8px;gap:8px}.settings-fact{display:flex;justify-content:space-between;gap:12px;font-size:.88rem;padding:8px 0;border-bottom:1px solid var(--ailu-border)}.settings-fact dt{color:var(--ailu-text-muted);margin:0}.settings-fact dd{margin:0;font-weight:600;text-align:right}.settings-empty{color:var(--ailu-text-muted);font-size:.9rem;line-height:1.5;margin:0}.toggle-field{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:var(--ailu-radius-md);border:1px solid var(--ailu-border);background:var(--ailu-toggle-field-bg);cursor:pointer}.toggle-field input{margin-top:4px;width:auto}.toggle-field-copy{display:grid;grid-gap:4px;gap:4px}.toggle-field-copy strong{font-size:.9rem}.toggle-field-copy small{color:var(--ailu-text-muted);font-size:.8rem;line-height:1.4}.theme-picker{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.theme-picker-option{display:grid;grid-gap:4px;gap:4px;padding:14px 16px;border-radius:var(--ailu-radius-lg);border:1px solid var(--ailu-border);background:var(--ailu-toggle-field-bg);color:var(--ailu-text);cursor:pointer;text-align:left;transition:border-color .15s,background .15s,box-shadow .15s}.theme-picker-option:hover{border-color:var(--ailu-glass-border);background:var(--ailu-surface-hover)}.theme-picker-option.active{border-color:var(--ailu-accent);background:var(--ailu-composer-chip-active-bg);box-shadow:0 0 0 1px rgba(33,160,56,.08)}.theme-picker-label{font-family:var(--ailu-font-display);font-weight:700;font-size:.92rem}.theme-picker-hint{font-size:.78rem;color:var(--ailu-text-muted);line-height:1.35}[data-theme=light] .btn:hover{box-shadow:0 6px 20px rgba(33,160,56,.28)}[data-theme=light] .messages{padding-top:32px}.settings-card input,.settings-card textarea{width:100%;background:var(--ailu-input-bg);color:var(--ailu-text);border:1px solid var(--ailu-glass-border);border-radius:var(--ailu-radius-md);padding:11px 13px}.settings-card input:focus{outline:none;border-color:var(--ailu-glass-border);box-shadow:0 0 0 3px var(--ailu-input-focus-ring)}.memory-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:10px;gap:10px}.memory-list-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:var(--ailu-radius-md);border:1px solid var(--ailu-border);background:var(--ailu-memory-item-bg)}.memory-list-text{margin:0;font-size:.88rem;line-height:1.45;flex:1 1}.logout-panel-icon{font-size:2.75rem;margin-bottom:10px;filter:drop-shadow(0 4px 14px rgba(126,196,232,.4))}.logout-panel-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:20px}.logout-panel-foot{margin-top:20px;font-size:.85rem;color:var(--ailu-text-muted)}.chat-inner-page{min-height:0;height:100%;overflow:hidden}.chat-inner-page .inner-page-content{flex:1 1;min-height:0}@media (max-width:900px){.landing-hero{grid-template-columns:1fr}.sidebar-toggle{display:block}.app-shell{grid-template-columns:1fr;grid-template-rows:1fr}.app-main{height:100%}.app-main,.sidebar{grid-row:1;grid-column:1;min-height:0}.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(300px,88vw);z-index:30;height:auto;transform:translateX(-105%);transition:transform .2s ease;box-shadow:var(--ailu-shadow)}.app-shell.sidebar-open .sidebar{transform:translateX(0)}.app-shell.sidebar-open .sidebar-backdrop{display:block}.chat-inner-page .topbar,.chat-main .topbar{padding-left:52px}.settings-grid,.settings-layout{grid-template-columns:1fr}.settings-layout{max-width:none}.settings-nav{position:static;grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;padding-bottom:4px}.topbar-chat{flex-direction:column}.usage-board-link{width:100%;min-width:0}.landing-hero-vivid{grid-template-columns:1fr}.steps-list li{grid-template-columns:auto 1fr}.step-art,.step-art-image{display:none}.cta-panel{grid-template-columns:1fr}.landing-nav-links .btn-ghost{display:none}.composer-bar{border-radius:22px;padding:10px 12px}.composer-toolbar{width:100%;justify-content:flex-end;flex-wrap:wrap}:root{--ailu-companion-offset-right:8px;--ailu-sticker-base-width:229px}.ailu-companion{right:8px;width:260px}.ailu-sticker-wrap{transform:scale(.8);transform-origin:bottom right}.ailu-companion-bubble{max-width:180px;font-size:.72rem}}.legal-shell{min-height:100dvh;background:var(--bg,#0a100e);color:var(--text,#e8f0ec);display:flex;flex-direction:column}.legal-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.08)}.legal-brand{font-weight:800;font-size:1.2rem;color:inherit;text-decoration:none}.legal-age-inline{font-size:.7rem;padding:2px 6px;border-radius:6px;background:#7c5cbf;margin-left:6px}.legal-nav{display:flex;flex-wrap:wrap;gap:10px;font-size:.85rem}.legal-nav a{color:#9fd4b8;text-decoration:none}.legal-main{flex:1 1;max-width:820px;width:100%;margin:0 auto;padding:24px 20px 48px}.legal-article .legal-h1{font-size:1.75rem;margin:0 0 1rem}.legal-article .legal-h2{font-size:1.25rem;margin:1.5rem 0 .75rem}.legal-article .legal-h3{font-size:1.05rem;margin:1rem 0 .5rem}.legal-article .legal-p{line-height:1.6;margin:.5rem 0;opacity:.92}.legal-article ul{padding-left:1.25rem;line-height:1.6}.legal-article .legal-quote{border-left:3px solid #7c5cbf;padding-left:12px;opacity:.85;margin:1rem 0}.legal-footer{padding:20px;border-top:1px solid rgba(255,255,255,.08);text-align:center}.legal-footer-compact{padding:12px 16px 20px}.legal-age-badge{display:inline-block;font-weight:800;padding:4px 10px;border-radius:8px;background:#7c5cbf;margin-bottom:10px}.legal-footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 14px;font-size:.8rem;margin-bottom:8px}.legal-footer-nav a{color:#9fd4b8;text-decoration:none}.legal-footer-note{font-size:.75rem;opacity:.65;margin:0}.cookie-banner{position:fixed;left:12px;right:12px;bottom:12px;z-index:9999;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:var(--ailu-radius-lg);background:var(--ailu-notice-bg);border:1px solid var(--ailu-notice-border);color:var(--ailu-text);box-shadow:var(--ailu-shadow-float);-webkit-backdrop-filter:blur(var(--ailu-glass-blur)) saturate(var(--ailu-glass-saturate));backdrop-filter:blur(var(--ailu-glass-blur)) saturate(var(--ailu-glass-saturate));font-size:.85rem}.cookie-banner p{margin:0;line-height:1.45;color:var(--ailu-text)}.cookie-banner a{color:var(--ailu-accent);font-weight:600;text-decoration:none}.cookie-banner a:hover{color:var(--ailu-accent-strong);text-decoration:underline}.auth-consent{display:flex;flex-direction:column;gap:10px;margin:8px 0 4px;font-size:.88rem}.auth-consent-row{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.auth-consent-row input{margin-top:3px;accent-color:var(--ailu-accent)}.auth-consent-note{margin:0;opacity:.75;font-size:.82rem}.cookie-banner .btn{flex-shrink:0;padding:8px 14px;font-size:.85rem}.auth-flow-shell{min-height:100dvh;box-sizing:border-box;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:max(16px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom));display:flex;align-items:flex-start;justify-content:center}.auth-flow-main{width:100%;max-width:480px;text-align:center}.auth-flow-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}.auth-flow-actions .btn{width:100%;text-align:center;text-decoration:none;box-sizing:border-box}