:root{--bg:#050b18;--bg2:#0a1428;--panel:rgba(16,30,58,.72);--line:rgba(80,140,255,.22);--txt:#eaf1ff;--mut:#8fa3c4;--blue:#2f7bff;--cyan:#35c8ff;--glow:0 0 24px rgba(47,123,255,.35);--r:18px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Inter,Roboto,sans-serif}
body.light{--bg:#eef3fb;--bg2:#fff;--panel:rgba(255,255,255,.85);--line:rgba(30,80,180,.15);--txt:#0d1a33;--mut:#5a6b88;--glow:0 4px 20px rgba(30,80,180,.12)}
*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:radial-gradient(1200px 600px at 50% -10%,#10275a 0,transparent 60%),var(--bg);color:var(--txt);font-size:15px}
body.light{background:var(--bg)}a{color:var(--cyan)}button{font:inherit;color:inherit;cursor:pointer}input,textarea,select{font:inherit;color:var(--txt);background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:12px;padding:10px 12px;width:100%}body.light input,body.light textarea,body.light select{background:#fff}
.app{display:grid;grid-template-columns:240px 1fr 320px;gap:16px;height:100vh;padding:16px}.app.noright{grid-template-columns:240px 1fr}
.side,.main,.right{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.side{display:flex;flex-direction:column;padding:16px;overflow:auto}.brand{display:flex;align-items:center;gap:10px;padding:6px 8px 16px;font-weight:800;font-size:19px}.brand img{width:38px;height:38px;border-radius:12px}.dot{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 8px #22c55e}
.nav button{display:flex;align-items:center;gap:12px;width:100%;background:none;border:0;padding:11px 12px;border-radius:12px;text-align:left;color:var(--mut);font-weight:600}.nav button:hover{background:rgba(47,123,255,.1);color:var(--txt)}.nav button.on{background:linear-gradient(90deg,rgba(47,123,255,.35),rgba(47,123,255,.12));color:var(--txt);box-shadow:var(--glow)}
.nav .ic{width:22px;text-align:center;font-size:16px}.sp{flex:1}.me{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:12px;margin-top:8px}.me .av{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--cyan));display:grid;place-items:center;font-weight:800;color:#fff}
.tgl{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;color:var(--mut)}.sw{width:42px;height:24px;border-radius:12px;background:var(--blue);position:relative;border:0}.sw:after{content:'';position:absolute;top:3px;left:21px;width:18px;height:18px;border-radius:50%;background:#fff;transition:.2s}.sw.off{background:#475569}.sw.off:after{left:3px}
.main{display:flex;flex-direction:column;overflow:hidden;position:relative}.view{flex:1;overflow:auto;padding:22px 26px}
.right{padding:16px;overflow:auto;display:flex;flex-direction:column;gap:14px}.card{background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:16px;padding:16px}body.light .card{background:#fff}.card h3{margin:0 0 12px;font-size:16px;display:flex;justify-content:space-between}.card h3 a{font-size:13px;font-weight:600;text-decoration:none}
.ints{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.int{text-align:center;font-size:11px;color:var(--mut)}.int b{display:grid;place-items:center;width:46px;height:46px;margin:0 auto 5px;border-radius:13px;font-size:16px;color:#fff}
.task{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.task:last-child{border:0}.chk{width:20px;height:20px;border-radius:50%;border:2px solid var(--mut);background:none;flex:none}.chk.on{background:var(--blue);border-color:var(--blue)}.task .t{flex:1}.task.done .t{text-decoration:line-through;color:var(--mut)}.task small{color:var(--mut)}
.ring{width:100px;height:100px}.prod{display:flex;gap:16px;align-items:center}.prod dl{margin:0;font-size:13px;color:var(--mut)}.prod dd{margin:0 0 6px;font-weight:800;color:var(--txt);font-size:17px}
.hero{text-align:left;max-width:860px;margin:0 auto}.hello{font-size:38px;font-weight:800;line-height:1.15;margin:4px 0 0}.hello span{background:linear-gradient(90deg,var(--blue),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}.hello2{font-size:30px;font-weight:700;margin:4px 0 6px}
.gctl{display:flex;gap:8px;margin:8px 0}.pill{border:1px solid var(--line);background:rgba(255,255,255,.04);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600}.pill.hot{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:var(--glow);animation:pulse 1.6s infinite}
.stage{position:relative;display:grid;grid-template-columns:1fr 280px 1fr;align-items:center;gap:14px;margin:10px 0}.bub{background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:16px;padding:14px 16px;text-align:left;font-size:15px;margin:10px 0}.bub:hover{border-color:var(--blue);box-shadow:var(--glow)}
.bot{position:relative;width:260px;height:260px;margin:auto}.bot img{width:100%;height:100%;object-fit:cover;border-radius:50%;-webkit-mask-image:radial-gradient(circle,#000 58%,transparent 71%);mask-image:radial-gradient(circle,#000 58%,transparent 71%);animation:float 5s ease-in-out infinite}
.bot:before{content:'';position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(53,200,255,.45);box-shadow:0 0 40px rgba(47,123,255,.55),inset 0 0 30px rgba(47,123,255,.3)}
.bot.listening:before{animation:pulse 1.1s infinite;border-color:#22c55e}.bot.thinking:before{border-style:dashed;animation:spin 3s linear infinite}.bot.speaking img{animation:talk .35s ease-in-out infinite alternate}.bot.uploading:before{border-color:#f59e0b;animation:spin 1.4s linear infinite;border-style:dotted}.bot.done:before{border-color:#22c55e;box-shadow:0 0 50px #22c55e}.bot.error:before{border-color:#ef4444;box-shadow:0 0 40px #ef4444}
.bot.sm{width:56px;height:56px}
@keyframes float{50%{transform:translateY(-8px)}}@keyframes pulse{50%{transform:scale(1.04);opacity:.7}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes talk{to{transform:scale(1.03) translateY(-2px)}}
@media (prefers-reduced-motion:reduce){*{animation:none\!important;transition:none\!important}}
.composer{padding:12px 22px 16px;border-top:1px solid var(--line)}.cbox{display:flex;align-items:flex-end;gap:8px;max-width:900px;margin:0 auto}.cbox textarea{resize:none;max-height:180px;min-height:48px;border-radius:24px;padding:13px 18px}.ib{width:46px;height:46px;flex:none;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.05);font-size:18px;display:grid;place-items:center}.ib.go{background:linear-gradient(135deg,var(--blue),var(--cyan));border:0;color:#fff;box-shadow:var(--glow)}.ib.rec{background:#ef4444;color:#fff;animation:pulse 1s infinite}
.tools{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:10px}.tools .pill{background:none}.eng{border-radius:999px;padding:6px 10px;font-size:12px;width:auto}
.atts{display:flex;gap:8px;flex-wrap:wrap;max-width:900px;margin:0 auto 8px}.att{display:flex;gap:8px;align-items:center;background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:12px;padding:6px 10px;font-size:12px;max-width:260px}.att img{width:36px;height:36px;object-fit:cover;border-radius:8px}.att .n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.att .pr{height:3px;background:var(--blue);border-radius:2px;margin-top:3px}.att button{background:none;border:0;color:var(--mut)}
.msgs{max-width:900px;margin:0 auto}.m{margin:16px 0;display:flex;gap:10px}.m.u{justify-content:flex-end}.m .b{max-width:85%;padding:12px 16px;border-radius:18px;line-height:1.55;overflow-wrap:anywhere}.m.u .b{background:linear-gradient(135deg,var(--blue),#1e5fe0);color:#fff;border-bottom-right-radius:6px}.m.a .b{background:rgba(255,255,255,.05);border:1px solid var(--line);border-bottom-left-radius:6px}body.light .m.a .b{background:#fff}
.m .b p:first-child{margin-top:0}.m .b p:last-child{margin-bottom:0}.m .b table{border-collapse:collapse;margin:8px 0;font-size:14px;display:block;overflow:auto}.m .b th,.m .b td{border:1px solid var(--line);padding:6px 9px}.m .b pre{background:#020712;border-radius:10px;padding:12px;overflow:auto;position:relative;color:#e6edf3}.m .b code{font-family:ui-monospace,Menlo,monospace;font-size:13px}.m .b img{max-width:100%;border-radius:12px}
.acts{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}.acts button{background:none;border:0;color:var(--mut);font-size:12px;padding:3px 7px;border-radius:8px}.acts button:hover{background:rgba(255,255,255,.07);color:var(--txt)}.meta{font-size:11px;color:var(--mut);margin-top:4px}
.chip{display:inline-flex;gap:6px;align-items:center;background:rgba(47,123,255,.15);border:1px solid var(--blue);border-radius:999px;padding:5px 12px;font-size:13px;margin:6px 6px 0 0}.chip button{background:var(--blue);color:#fff;border:0;border-radius:999px;padding:2px 10px}
.h1{font-size:26px;font-weight:800;margin:0 0 4px}.sub{color:var(--mut);margin:0 0 18px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row>input,.row>select{flex:1;min-width:140px}
.btn{background:linear-gradient(135deg,var(--blue),#1e5fe0);color:#fff;border:0;border-radius:12px;padding:10px 16px;font-weight:700}.btn.g{background:rgba(255,255,255,.07);color:var(--txt);border:1px solid var(--line)}.btn.d{background:#b91c1c}
.tag{font-size:11px;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.08);color:var(--mut)}.tag.ok{background:rgba(34,197,94,.18);color:#4ade80}.tag.w{background:rgba(245,158,11,.18);color:#fbbf24}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal div{min-height:84px;background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:10px;padding:6px;font-size:12px}.cal .hd{min-height:auto;text-align:center;font-weight:700;color:var(--mut);border:0;background:none}.cal .td{border-color:var(--blue);box-shadow:var(--glow)}.cal .ev{background:rgba(47,123,255,.25);border-radius:6px;padding:2px 5px;margin-top:3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cal .tk{background:rgba(245,158,11,.2)}
.list .it{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;margin-bottom:8px;background:rgba(255,255,255,.03)}.list .it .t{flex:1;min-width:0}.list .it .t small{display:block;color:var(--mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:grid;place-items:center;z-index:50;padding:16px}.modal>div{background:var(--bg2);border:1px solid var(--line);border-radius:18px;padding:22px;width:min(560px,100%);max-height:90vh;overflow:auto}
.menu{position:absolute;bottom:70px;left:22px;background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:6px;z-index:20;box-shadow:0 10px 40px rgba(0,0,0,.5);min-width:240px}.menu button{display:block;width:100%;text-align:left;background:none;border:0;padding:9px 12px;border-radius:9px}.menu button:hover{background:rgba(47,123,255,.15)}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#0f1f3d;border:1px solid var(--blue);padding:10px 18px;border-radius:999px;z-index:99;color:#fff}
.voice{position:absolute;inset:0;background:rgba(3,8,20,.94);z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding:20px}.voice .cap{max-width:600px;color:var(--mut);min-height:48px}
.auth{max-width:420px;margin:8vh auto;padding:28px}.drop{outline:3px dashed var(--blue);outline-offset:-10px}
.bnav{display:none}.mtop{display:none}
@media (max-width:1180px){.app{grid-template-columns:220px 1fr}.right{display:none}}
@media (max-width:760px){.app,.app.noright{grid-template-columns:1fr;padding:0;gap:0;height:100dvh}.side{position:fixed;inset:0 30% 0 0;z-index:40;transform:translateX(-105%);transition:.25s;border-radius:0}.side.open{transform:none}.main{border-radius:0;border:0}.view{padding:14px}.composer{padding:8px 10px calc(70px + env(safe-area-inset-bottom))}
.mtop{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line)}.mtop button{background:none;border:0;font-size:22px}.bnav{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--bg2);border-top:1px solid var(--line);z-index:35;padding-bottom:env(safe-area-inset-bottom)}.bnav button{flex:1;background:none;border:0;padding:9px 0 10px;font-size:11px;color:var(--mut)}.bnav button b{display:block;font-size:19px}.bnav button.on{color:var(--cyan)}
.hello{font-size:28px}.hello2{font-size:22px}.stage{grid-template-columns:1fr}.stage .col{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bub{margin:0;font-size:13px}.bot{width:170px;height:170px}.menu{left:10px;bottom:130px}}
