:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;color:#0d2244;background:#f5f8fc}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}.hidden{display:none!important}.shell{display:grid;grid-template-columns:225px minmax(410px,1fr) 350px;min-height:100dvh}.sidebar{background:linear-gradient(145deg,#071a36,#0c2b52);color:#d6e6fd;display:flex;flex-direction:column;padding:30px 14px}.brand{display:flex;align-items:center;gap:12px;color:#fff;font-size:23px;font-weight:750;letter-spacing:-.7px;padding:0 12px}.brand.large{color:#0a2448;padding:0}.nodes{position:relative;color:#21c0ec;font-size:22px;letter-spacing:-10px;margin-right:10px}.nodes i{font-style:normal;color:#2f83ff}.nodes b{color:#5ae7ff}.sidegroup{margin-top:55px;display:grid;gap:5px}.nav{background:transparent;color:#d6e6fd;text-align:left;border:0;border-radius:12px;padding:14px 12px;font-size:13px}.nav span{font-size:19px;display:inline-block;width:30px}.nav.active,.nav:hover{background:#1a4a84;color:white}.sidebottom{margin-top:auto;border-top:1px solid #34506f;padding:20px 8px 4px;font-size:11px;overflow-wrap:anywhere}.linkbutton{color:#9bcbff;background:none;border:0;margin-top:10px;padding:0}.topbar{height:82px;border-bottom:1px solid #e8edf5;display:flex;justify-content:space-between;align-items:center;padding:0 32px;background:#fff}.topbar strong{font-size:18px;display:block}.topbar small{font-size:12px;display:block;color:#8595aa;margin-top:4px}.status{display:flex;align-items:center;gap:10px;font-size:12px;color:#6d7c93}.dot{background:#95a6bb;width:8px;height:8px;border-radius:50%}.dot.on{background:#17c18e;box-shadow:0 0 0 5px #e3faf2}.main{min-width:0;background:radial-gradient(circle at 50% 38%,#e5f4ff 0%,#f4f9ff 48%,#f7f9fc 82%)}.page{padding:36px;max-width:1100px;margin:0 auto}.voice{text-align:center}.eyebrow{font-size:10px;font-weight:800;letter-spacing:3px;color:#448de1}.voiceIntro h1{font-size:40px;margin:10px 0 8px;letter-spacing:-1.7px}.voiceIntro p:last-child{font-size:14px;color:#6c7f9a;margin:0}.stage{height:340px;position:relative;display:flex;justify-content:center;align-items:center}.rings{position:absolute;border:1px solid #72c3f5;border-radius:50%;opacity:.38;animation:pulse 4s ease-in-out infinite}.r1{width:260px;height:260px}.r2{width:300px;height:300px;animation-delay:.4s}.r3{width:340px;height:340px;animation-delay:.8s}.avatar{width:230px;height:230px;z-index:2;filter:drop-shadow(0 18px 30px #78b7eb66);animation:float 5s ease-in-out infinite}.avatar img{width:100%;height:100%}.wave{position:absolute;top:48%;width:100px;height:58px;opacity:.3;background:repeating-linear-gradient(90deg,transparent 0 7px,#228ce2 7px 9px,transparent 9px 13px);mask-image:radial-gradient(ellipse at center,#000,transparent 75%);transition:opacity .2s}.leftwave{right:calc(50% + 122px)}.rightwave{left:calc(50% + 122px)}.stage.listening .rings{border-color:#17d0dc;animation-duration:1.5s;opacity:.6}.stage.thinking .rings{animation-duration:1s}.stage.speaking .wave,.stage.listening .wave{opacity:.9;animation:wave 1s infinite alternate}.stage.speaking .avatar{filter:drop-shadow(0 0 28px #18c7ff80)}.voiceState #stateLabel{font-size:15px;font-weight:700}.voiceState small{font-size:12px;color:#8294aa;display:block;margin-top:7px}.modebar{display:flex;gap:12px;margin:28px auto 20px;max-width:620px}.mode{flex:1;display:flex;flex-direction:column;gap:5px;padding:15px 8px;border:1px solid #e1ebfa;border-radius:14px;background:#ffffffba;color:#173454}.mode.selected{border-color:#3a91ec;background:#eff7ff;box-shadow:0 0 0 2px #3a91ec18}.mode strong{font-size:12px}.mode small{font-size:10px;color:#7b8ea8}.controls{display:flex;gap:16px;justify-content:center;align-items:center}.controls.left{justify-content:flex-start}.primary{border:0;border-radius:11px;background:#197bec;color:white;padding:13px 22px;font-weight:700;box-shadow:0 6px 18px #1876ee25}.primary:hover{background:#0868dc}.secondary{border:1px solid #dce7f5;background:white;color:#244367;padding:12px 19px;border-radius:11px}.roundstart{min-width:145px}.dur{font-size:11px;color:#8193aa;margin-top:24px}.dur strong{color:#233e63;margin-left:8px;font-variant-numeric:tabular-nums}.rightbar{background:#fff;border-left:1px solid #e6edf6;display:flex;flex-direction:column;min-width:0;height:100dvh;position:sticky;top:0}.tabs{display:flex;justify-content:space-between;padding:30px 22px 20px;border-bottom:1px solid #ebeff5;font-weight:700;font-size:13px}.tabs span:last-child{color:#98a6b8;font-weight:500}.transcripts{flex:1;overflow-y:auto;padding:18px}.emptytrans{text-align:center;color:#9aa9bb;line-height:1.7;margin-top:60px;font-size:12px}.message{border:1px solid #e9eef6;padding:13px 14px;border-radius:13px;margin-bottom:12px;background:#fff;overflow-wrap:anywhere}.message.qar{background:#f1f7ff;border-color:#d9e9ff}.message strong{font-size:11px;color:#176cc5}.message p{font-size:12px;line-height:1.65;color:#334762;margin:8px 0 0;white-space:pre-wrap}.textform{display:flex;margin:10px 17px;border:1px solid #dae4ef;border-radius:12px;overflow:hidden}.textform input{border:0;outline:0;min-width:0;flex:1;padding:13px}.textform button{background:#197bec;color:#fff;border:0;padding:0 17px}.rightfoot{padding:4px 22px 18px;font-size:10px;line-height:1.6;color:#97a5b6}.sectionheading h2{font-size:25px;margin:0 0 8px}.sectionheading p{font-size:13px;color:#7589a1;margin:0 0 28px}.entries{display:grid;gap:12px}.entry{border:1px solid #e1e8f0;border-radius:14px;padding:18px;background:#fff}.entry strong{font-size:14px}.entry p{font-size:12px;line-height:1.7;color:#60738f;white-space:pre-wrap;max-height:200px;overflow:auto}.entry small{font-size:10px;color:#9baabc}.entry button{float:right}.upload,.editform{display:grid;gap:14px;padding:20px;background:white;border:1px solid #e3e9f1;border-radius:14px;margin-bottom:20px}.upload{grid-template-columns:1fr auto;align-items:end}.editform{margin-top:25px}.upload label,.editform label,.loginbox label{font-size:12px;font-weight:700;display:grid;gap:8px}.upload input,.editform input,.editform textarea,.loginbox input{width:100%;border:1px solid #d7e2ef;border-radius:10px;padding:12px;background:white;color:#1c3454}.editform textarea{resize:vertical}.login{height:100dvh;display:grid;place-items:center;background:radial-gradient(circle at top,#d7edff,#f7f9fc)}.loginbox{background:white;width:min(400px,92vw);padding:35px;border-radius:20px;box-shadow:0 25px 60px #1b3c6422;display:grid;gap:19px}.loginbox h1{font-size:28px;margin:16px 0 0}.loginbox p{font-size:13px;margin:0;color:#7c8fa8}.loginbox .error{color:#d83f55}.mobilemenu{display:none}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#0c2447;color:white;padding:12px 18px;border-radius:10px;box-shadow:0 12px 35px #1235;z-index:10;font-size:13px}@keyframes float{50%{transform:translateY(-9px)}}@keyframes pulse{50%{transform:scale(1.035);opacity:.6}}@keyframes wave{to{opacity:.15;transform:scaleY(.55)}}@media(max-width:1150px){.shell{grid-template-columns:185px minmax(350px,1fr) 300px}.sidebar{padding:25px 9px}.page{padding:25px}.stage{height:300px}.r3{width:300px;height:300px}}@media(max-width:850px){.shell{grid-template-columns:175px minmax(0,1fr)}.rightbar{position:relative;height:380px;grid-column:2;grid-row:2}.topbar{padding:0 20px}.voiceIntro h1{font-size:32px}.stage{height:270px}.avatar{width:190px;height:190px}.r1{width:220px;height:220px}.r2{width:250px;height:250px}.r3{width:280px;height:280px}}@media(max-width:590px){.shell{display:block}.sidebar{position:fixed;inset:0 auto 0 0;z-index:9;width:240px;transform:translateX(-101%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.mobilemenu{display:block;background:none;border:0;font-size:22px;margin-right:14px}.topbar{justify-content:flex-start;height:66px}.status{margin-left:auto}.page{padding:24px 15px}.stage{height:255px}.rightbar{height:390px}.modebar{gap:6px}.mode{padding:12px 4px}.mode strong{font-size:11px}.mode small{font-size:9px}.controls{gap:8px}.controls button{padding:12px}.upload{grid-template-columns:1fr}.voiceIntro h1{font-size:30px}}@media(prefers-reduced-motion:reduce){.rings,.avatar,.wave{animation:none!important}}
