:root{--bg:#000000;--rail:#0a0a0a;--fg:#ececec;--muted:#9a9a9a;--pill:#2f2f2f;--pill-inner:#454548;--user-bubble:#303030;--line:#2a2a2a;--hover:#1a1a1a}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{margin:0;padding:0;height:100%;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior:none}:root[data-theme=light]{--bg:#fff;--rail:#f9f9f9;--fg:#0d0d0d;--muted:#676767;--pill:#f4f4f4;--pill-inner:#e8e8e8;--user-bubble:#e8e8e8;--line:#e5e5e5;--hover:#ececec}.app[data-apptheme=claude]{--bg:#26231f;--rail:#1d1a16;--fg:#f2ede4;--muted:#9a9186;--pill:#34302a;--pill-inner:#413c33;--user-bubble:#3c362d;--line:#39342c;--hover:#2d2a24}.app[data-apptheme=gemini]{--bg:#0b0b0d;--rail:#141417;--fg:#e8eaed;--muted:#9aa0a6;--pill:#1f2023;--pill-inner:#2a2b2f;--user-bubble:#282a2d;--line:#2a2b30;--hover:#1a1b1e}.greeting-logo{display:flex;justify-content:center;margin-bottom:14px}.app[data-apptheme=claude] .greeting{font-family:Georgia,Times New Roman,serif;font-weight:500}.app[data-apptheme=gemini] .send-btn,.app[data-apptheme=gemini] .voice-btn{background:#1a73e8;color:#fff}.app[data-apptheme=gemini]{background:radial-gradient(120% 60% at 50% 120%,rgba(26,115,232,.22),transparent 60%)}.mobile-only{display:inline-flex}.desktop-only{display:none}.app{overflow:hidden}.app,.main{display:flex;height:100dvh}.main{flex:1 1;min-width:0}.main,.rail{flex-direction:column}.rail{display:none;width:260px;flex:none;background:var(--rail);padding:8px 8px 10px;gap:2px;transition:width .18s ease;overflow:hidden}.app.rail-collapsed .rail{width:68px}.rail-head{display:flex;align-items:center;gap:8px;padding:6px 6px 8px}.rail-logo{color:var(--fg);display:inline-flex;flex:none}.rail-title{font-size:17px;font-weight:600;white-space:nowrap}.rail-spacer{flex:1 1}.rail-ico{background:none;border:none;color:var(--muted);padding:6px;border-radius:8px;cursor:pointer;display:inline-flex}.rail-ico:hover{background:var(--hover);color:var(--fg)}.rail-item{display:flex;align-items:center;gap:12px;padding:9px 8px;background:none;border:none;color:var(--fg);font-size:14px;text-align:left;border-radius:9px;cursor:pointer;white-space:nowrap;width:100%}.rail-item:hover{background:var(--hover)}.rail-item .ri{display:inline-flex;flex:none;color:var(--fg)}.rail-item.newchat{font-weight:500}.rail-section{color:var(--muted);font-size:12px;font-weight:600;padding:14px 10px 6px}.rail-recents{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:1px;scrollbar-width:thin;scrollbar-color:var(--hover) transparent}.rail-recents::-webkit-scrollbar{width:6px}.rail-recents::-webkit-scrollbar-thumb{background:var(--hover);border-radius:3px}.rail-recent{display:block;flex:0 0 auto;width:100%;text-align:left;background:none;border:none;color:var(--fg);font-size:14px;line-height:1.3;padding:8px 10px;border-radius:9px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-recent:hover{background:var(--hover)}.rail-spacer-v{flex:0 1}.rail-user{display:flex;align-items:center;gap:10px;padding:8px;background:none;border:none;color:var(--fg);border-radius:9px;cursor:pointer;width:100%}.rail-user:hover{background:var(--hover)}.avatar{width:28px;height:28px;border-radius:50%;background:#19c37d;color:#04160d;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex:none}.app.rail-collapsed .only-expanded,.app.rail-collapsed .rail-title,.app.rail-collapsed .rl,.only-collapsed{display:none}.app.rail-collapsed .only-collapsed{display:flex}.app.rail-collapsed .rail-head,.app.rail-collapsed .rail-item{justify-content:center}.topbar{display:flex;align-items:center;gap:12px;padding:max(10px,env(safe-area-inset-top)) 14px 10px;flex:none}.topbar .icon-btn{background:none;border:none;color:var(--fg);padding:6px;cursor:pointer;display:inline-flex}.topbar .title{font-size:17px;font-weight:500;display:inline-flex;align-items:center;gap:4px}.topbar .title .chev{color:var(--muted)}.tb-left,.topbar .spacer{flex:1 1}.seg{background:var(--pill);border-radius:20px;padding:3px;display:inline-flex;gap:2px;margin:0 auto}.seg button{background:none;border:none;color:var(--muted);font-size:14px;padding:6px 18px;border-radius:18px;cursor:pointer}.seg button.on{background:#454548;color:var(--fg)}.empty-center{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 16px;gap:22px;min-height:0}.greeting{font-size:28px;font-weight:500;margin:0;text-align:center}.empty-center .composer,.suggestions{width:100%;max-width:768px}.suggestions{display:flex;flex-direction:column}.suggestion{display:flex;align-items:center;gap:16px;padding:13px 12px;color:var(--fg);font-size:15px}.suggestion .lead{color:var(--muted);display:inline-flex}.suggestion .label{flex:1 1}.suggestion .close{color:var(--muted);background:none;border:none;font-size:20px;cursor:pointer}.conversation{flex:1 1;overflow-y:auto;padding:12px 16px 6px;display:flex;flex-direction:column;gap:18px;width:100%;max-width:768px;margin:0 auto}.msg{max-width:100%;line-height:1.6;font-size:16px;white-space:pre-wrap;word-wrap:break-word}.msg.user{align-self:flex-end;background:var(--user-bubble);padding:10px 16px;border-radius:20px;max-width:85%}.msg.assistant{align-self:flex-start}.msg.assistant img{max-width:100%;border-radius:12px}.typing{display:inline-flex;gap:4px;padding:4px 0}.typing span{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:blink 1.3s ease-in-out infinite}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.3}40%{opacity:1}}.composer{padding:8px 12px calc(10px + env(safe-area-inset-bottom))}.composer.bottom{width:100%;max-width:768px;margin:0 auto}.pill{background:var(--pill);border-radius:26px;padding:5px 8px;display:flex;align-items:center;gap:6px}.pill textarea{flex:1 1;background:none;border:none;outline:none;resize:none;color:var(--fg);font-size:16px;line-height:1.4;padding:9px 6px;max-height:160px;font-family:inherit;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.pill textarea::-webkit-scrollbar{display:none;width:0;height:0}.pill textarea::placeholder{color:var(--muted)}.round-btn{width:36px;height:36px;border-radius:50%;justify-content:center;background:var(--pill-inner);color:var(--fg);flex:none}.model-select,.round-btn{display:inline-flex;align-items:center;border:none;cursor:pointer}.model-select{background:none;color:var(--muted);font-size:15px;gap:3px}.controls .spacer{flex:1 1}.mic-btn{background:none}.send-btn,.voice-btn{background:#fff;color:#000}:root[data-theme=light] .send-btn,:root[data-theme=light] .voice-btn{background:#0d0d0d;color:#fff}.round-btn:disabled{opacity:.4}.privacy-note{text-align:center;padding:8px 20px 0}.privacy-link,.privacy-note{color:var(--muted);font-size:11px}.privacy-link{background:none;border:none;text-decoration:underline;cursor:pointer;padding:0}.privacy-detail{text-align:center;color:var(--muted);font-size:11px;padding:4px 24px 0;line-height:1.5;max-width:640px;margin:0 auto}@media (min-width:768px){.mobile-only{display:none!important}.desktop-only,.rail{display:flex}.greeting{font-size:32px}}@media (max-width:767px){.desktop-only{display:none!important}.empty-center{justify-content:flex-end;gap:6px;padding:0 8px calc(8px + env(safe-area-inset-bottom))}.empty-center .greeting{display:none}.empty-center .composer.center{order:3}.empty-center .suggestions{order:2;padding:0 6px 4px}.empty-center .privacy-note{order:4}.conversation{padding:8px 14px 4px}}.ctrl-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:60;display:flex;align-items:center;justify-content:center;padding:20px}.ctrl-box{background:#1b1b1d;border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:8px;width:min(88vw,300px)}.ctrl-box input{background:#0d0d0d;border:1px solid var(--line);border-radius:9px;padding:11px 12px;color:var(--fg);font-size:16px}.ctrl-box button{background:var(--pill-inner);border:none;color:var(--fg);border-radius:9px;padding:10px;font-size:14px;cursor:pointer}.ctrl-box .ctrl-ghost{background:none;border:1px solid var(--line);color:var(--muted)}.ctrl-on{color:#19c37d;font-size:14px;text-align:center}.ctrl-msg{color:var(--muted);font-size:12px;text-align:center}.rail-item.flash{background:var(--hover)!important;transition:background .1s}.qf-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:70;display:flex;align-items:center;justify-content:center;padding:20px}.qf-box{background:#1b1b1d;border:1px solid var(--line);border-radius:16px;padding:16px;width:min(90vw,320px);display:flex;flex-direction:column;gap:10px}.qf-box input,.qf-box select{background:#0d0d0d;border:1px solid var(--line);border-radius:10px;padding:13px;color:var(--fg);font-size:18px}.qf-box button{background:var(--pill-inner);border:none;color:var(--fg);border-radius:10px;padding:13px;font-size:16px;cursor:pointer}.qf-msg{text-align:center;font-size:14px;color:var(--muted)}.qf-msg.ok{color:#19c37d}.sidebar-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:40}.sidebar-overlay.open{opacity:1;pointer-events:auto}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:50;width:min(82vw,340px);background:var(--bg);border-right:1px solid var(--line);transform:translateX(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;padding:max(12px,env(safe-area-inset-top)) 10px calc(10px + env(safe-area-inset-bottom))}.sidebar.open{transform:translateX(0)}.sb-head{display:flex;align-items:center;padding:6px 8px 14px}.sb-title{font-size:22px;font-weight:700;flex:1 1}.sb-round{width:40px;height:40px;border-radius:50%;background:var(--pill);border:none;color:var(--fg);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.sb-nav{display:flex;flex-direction:column;gap:2px}.sb-item{display:flex;align-items:center;gap:16px;padding:12px 10px;background:none;border:none;color:var(--fg);font-size:16px;text-align:left;border-radius:10px;cursor:pointer}.sb-item:hover{background:var(--pill)}.sb-ico{display:inline-flex;color:var(--fg)}.sb-section{color:var(--muted);font-size:13px;font-weight:700;padding:18px 12px 6px}.sb-presets{display:flex;flex-direction:column;gap:2px;flex:1 1;overflow-y:auto}.sb-empty{color:var(--muted);font-size:13px;padding:6px 12px;margin:0}.sb-preset{display:block;flex:0 0 auto;width:100%;padding:11px 12px;background:none;border:none;color:var(--fg);font-size:15px;line-height:1.3;text-align:left;border-radius:10px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-preset:hover{background:var(--pill)}.sb-foot{display:flex;padding-top:10px;border-top:1px solid var(--line)}.sb-foot,.sb-newchat{align-items:center;gap:8px}.sb-newchat{flex:1 1;display:inline-flex;justify-content:center;background:var(--pill);border:none;color:var(--fg);border-radius:22px;padding:11px;font-size:15px;cursor:pointer}.voice-overlay{position:fixed;inset:0;background:#000;z-index:80;justify-content:center}.voice-inner,.voice-overlay{display:flex;align-items:center}.voice-inner{flex-direction:column;gap:34px;padding:24px}.voice-orb{width:180px;height:180px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f2f2f2,#9aa0aa 60%,#565d6b);box-shadow:0 0 70px rgba(255,255,255,.22);animation:orbPulse 3s ease-in-out infinite}.voice-orb.listening{animation:orbPulse 1.4s ease-in-out infinite;box-shadow:0 0 90px rgba(120,180,255,.5)}.voice-orb.thinking{animation:orbSpin 1.1s linear infinite}.voice-orb.speaking{animation:orbPulse .7s ease-in-out infinite;box-shadow:0 0 110px rgba(120,255,180,.42)}@keyframes orbPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes orbSpin{to{transform:rotate(1turn)}}.voice-status{color:var(--fg);font-size:18px;text-align:center}.voice-actions{display:flex;align-items:center;gap:16px}.voice-mic{width:62px;height:62px;border-radius:50%;background:var(--pill);border:none;color:var(--fg);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.voice-close{background:none;border:1px solid var(--line);color:var(--muted);padding:12px 22px;border-radius:24px;cursor:pointer;font-size:15px}