:root{--bg: rgba(244, 246, 251, .35);--footer-text: rgba(28, 35, 51, .82);--footer-text-shadow: 0 1px 3px rgba(255, 255, 255, .5);--surface: rgba(255, 255, 255, .62);--surface-2: rgba(238, 241, 248, .55);--surface-glass: rgba(255, 255, 255, .1);--text: #1c2333;--text-muted: #5c6478;--border: rgba(255, 255, 255, .55);--primary: #6c5ce7;--primary-soft: #ece8fd;--accent: #00b894;--danger: #e74c3c;--shadow: 0 8px 24px rgba(20, 30, 60, .12);--scrim-alpha: .08;--bottom-fade-alpha: .3;--pill-bg: rgba(255, 255, 255, .6);--pill-hover: rgba(20, 30, 60, .08);color-scheme:light}[data-theme=dark]{--bg: rgba(23, 23, 23, .4);--footer-text: rgba(232, 233, 238, .88);--footer-text-shadow: 0 1px 3px rgba(0, 0, 0, .6);--surface: rgba(30, 30, 30, .55);--surface-2: rgba(42, 42, 42, .55);--surface-glass: rgba(22, 22, 22, .15);--text: #e6e6e6;--text-muted: #b3b3b3;--border: rgba(255, 255, 255, .14);--primary: #8f7dff;--primary-soft: #2e2c3f;--accent: #2dd4a8;--danger: #ff6b5e;--shadow: 0 8px 24px rgba(0, 0, 0, .55);--scrim-alpha: .16;--bottom-fade-alpha: .4;--pill-bg: rgba(40, 40, 46, .65);--pill-hover: rgba(255, 255, 255, .09);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}html{background-color:#101010;background-image:linear-gradient(to top,rgba(8,10,16,var(--bottom-fade-alpha)),#080a1000 55%),linear-gradient(rgba(8,10,16,var(--scrim-alpha)),rgba(8,10,16,var(--scrim-alpha))),url(/bg.png);background-position:center;background-size:cover;background-repeat:no-repeat}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:#101010;animation:bg-fadein .8s ease-out forwards}@keyframes bg-fadein{to{opacity:0}}@media (prefers-reduced-motion: reduce){body:before{animation:none;opacity:0}}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;color:var(--text);transition:color .25s ease;-webkit-text-size-adjust:100%;text-size-adjust:100%;touch-action:manipulation}button{font-family:inherit;cursor:pointer}.app{display:grid;grid-template-rows:1fr auto auto;height:100%;background:var(--surface-glass);backdrop-filter:blur(6px) saturate(1.2);-webkit-backdrop-filter:blur(6px) saturate(1.2)}.hamburger-float{position:fixed;top:14px;right:14px;z-index:30;background:var(--surface);border:1px solid var(--border);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);box-shadow:var(--shadow)}.app.empty{grid-template-rows:1fr auto}.app.empty .app-main{display:none}.app.empty .app-footer{grid-row:2}.app.empty .composer{grid-row:1;justify-content:center;padding:0;background:transparent}.app.empty .composer-pill{width:calc(100% - 32px);max-width:680px}.app-footer{display:flex;align-items:center;gap:5px;justify-content:flex-end;padding:5px 16px;font-size:.7rem;color:var(--footer-text);text-shadow:var(--footer-text-shadow);transition:color .25s ease}.app-footer a{color:inherit;font-weight:600;text-decoration:none}.app-footer a:hover{text-decoration:underline}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--text);transition:background .15s ease}.icon-btn:hover{background:var(--surface-2)}.menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:40;touch-action:none}.menu-overlay.visible{opacity:1;pointer-events:auto}.side-menu{position:fixed;top:0;bottom:0;right:0;width:280px;max-width:85vw;background:var(--surface);backdrop-filter:blur(20px) saturate(1.35);-webkit-backdrop-filter:blur(20px) saturate(1.35);border-left:1px solid var(--border);transform:translate(100%);transition:transform .28s cubic-bezier(.22,1,.36,1);z-index:50;display:flex;flex-direction:column;touch-action:pan-y;overscroll-behavior:contain;user-select:none;-webkit-user-select:none}.side-menu.dragging{transition:none}.side-menu-header,.side-menu-footer{touch-action:none}.side-menu.open{transform:translate(0)}.side-menu-header{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px;border-bottom:1px solid var(--border)}.side-menu-nav{flex:1;padding:10px;overflow-y:auto;overscroll-behavior:contain}.menu-section-title{font-size:.7rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin:14px 10px 6px}.menu-section-toggle{display:flex;align-items:center;gap:8px;margin:14px 10px 6px;padding:0;border:none;color:var(--text-muted);font-family:inherit;font-size:.7rem;text-transform:uppercase;letter-spacing:1px;text-align:left;cursor:pointer;background:transparent!important}.menu-section-toggle-icon,.menu-section-toggle-chevron{display:inline-flex;flex-shrink:0}.menu-section-toggle-label{flex:1}.menu-section-toggle-chevron{transition:transform .2s ease}.menu-section-toggle[aria-expanded=true] .menu-section-toggle-chevron{transform:rotate(180deg)}.menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;border:none;border-radius:12px;background:transparent;color:var(--text);font-size:.92rem;text-decoration:none;transition:background .15s ease}.menu-item:hover,.menu-item.active{background:var(--surface-2)}.menu-item-check{display:inline-flex;flex-shrink:0;color:var(--primary)}.menu-item-label{flex:1;text-align:left}.toggle{position:relative;width:42px;height:24px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);transition:background .2s ease}.toggle.on{background:var(--primary);border-color:var(--primary)}.toggle-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .2s ease}.toggle.on .toggle-knob{left:20px}.side-menu-footer{padding:12px 16px;font-size:.75rem;color:var(--text-muted);border-top:1px solid var(--border)}.app-main{position:relative;min-height:0;overflow:hidden}.app-main:before{content:"";position:absolute;top:0;left:0;right:0;height:64px;z-index:2;pointer-events:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);-webkit-mask-image:linear-gradient(to bottom,#000 0%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,transparent 100%)}.chat{overflow-y:auto;background:transparent;height:100%;overscroll-behavior:contain;padding:64px 16px 20px;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 64px);mask-image:linear-gradient(to bottom,transparent 0%,#000 64px)}.chat-inner{max-width:680px;margin:0 auto;display:flex;flex-direction:column;gap:14px}.msg{display:flex;align-items:flex-end;gap:8px}.msg-user{justify-content:flex-end}.avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#a29bfe);flex-shrink:0}.user-avatar{background:var(--surface-2);color:var(--text-muted);font-size:.6rem;font-weight:700}.msg-bubble{max-width:72%;padding:10px 14px;border-radius:16px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);font-size:.94rem;line-height:1.45}.msg-user .msg-bubble{background:var(--primary);border-color:var(--primary);color:#fff;border-bottom-right-radius:4px}.msg-assistant .msg-bubble{border-bottom-left-radius:4px}.msg-bubble p{margin:0 0 4px;white-space:pre-wrap;word-break:break-word}.msg-time{display:block;text-align:right;font-size:.68rem;color:var(--text-muted);opacity:.85}.msg-user .msg-time{color:#ffffffbf}.voice audio{width:240px;max-width:60vw;height:40px}.typing{display:flex;gap:5px;padding:14px 16px}.typing span{width:8px;height:8px;border-radius:50%;background:var(--text-muted);animation:bounce 1.2s infinite}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-6px);opacity:1}}.composer{background:transparent;border-top:none;padding:10px 16px 16px;display:flex;flex-direction:column;align-items:center;gap:8px}.composer-pill{width:min(100%,680px);display:flex;align-items:center;gap:3px;padding:6px 8px;border-radius:999px;background:var(--pill-bg);border:1px solid var(--border);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);box-shadow:var(--shadow)}.composer-pill.multiline{border-radius:18px;align-items:flex-end}.composer-pill.multiline .composer-input{padding:12px 10px}.composer-input{flex:1;min-width:0;padding:8px 6px;border:none;background:transparent;color:var(--text);font-size:.95rem;font-family:inherit;line-height:1.45;outline:none;resize:none;overflow-y:hidden;max-height:160px}.composer-input::placeholder{color:var(--text-muted);font-size:.9rem;letter-spacing:.1px}.pill-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:none;border-radius:50%;background:transparent;color:var(--text);flex-shrink:0;transition:background .15s ease,transform .12s ease}.pill-btn:hover:not(:disabled){background:var(--pill-hover)}.pill-btn:disabled{opacity:.45;cursor:not-allowed}.mic-btn.recording{color:var(--danger);animation:pulse 1.4s infinite}.mode-btn{background:var(--pill-hover)}.mode-btn.active{color:var(--accent);background:var(--pill-hover);box-shadow:inset 0 0 0 1px var(--accent)}.wave{display:inline-flex;align-items:flex-end;gap:2.5px;height:18px;width:20px}.wave span{width:3px;border-radius:2px;background:currentColor;height:35%;transition:height .2s ease}.wave span:nth-child(1){height:45%}.wave span:nth-child(2){height:70%}.wave span:nth-child(3){height:100%}.wave span:nth-child(4){height:70%}.wave span:nth-child(5){height:45%}.mic-btn.recording .wave span{animation:wavebar .9s ease-in-out infinite}.mic-btn.recording .wave span:nth-child(1){animation-delay:0s}.mic-btn.recording .wave span:nth-child(2){animation-delay:.12s}.mic-btn.recording .wave span:nth-child(3){animation-delay:.24s}.mic-btn.recording .wave span:nth-child(4){animation-delay:.36s}.mic-btn.recording .wave span:nth-child(5){animation-delay:.48s}@keyframes wavebar{0%,to{height:25%}50%{height:100%}}.send-btn{color:var(--text-muted);margin-right:4px}.send-btn.ready{color:var(--text)}.send-btn.ready:hover{transform:scale(1.08)}@keyframes pulse{0%{box-shadow:0 0 #e74c3c80}70%{box-shadow:0 0 0 10px #e74c3c00}to{box-shadow:0 0 #e74c3c00}}.composer-error{max-width:680px;min-height:1.2em;margin:0;color:var(--danger);font-size:.8rem;text-align:center;opacity:0;visibility:hidden;transition:opacity .15s ease}.composer-error.visible{opacity:1;visibility:visible}@media (max-width: 720px){html{background-position:25% center}.app-footer{justify-content:center}.chat{padding:64px 10px 14px}.msg-bubble{max-width:85%}.composer{padding:8px 10px 12px}.side-menu{width:82vw}}
