:root{color-scheme:dark;--bg:#050b16;--panel:rgba(11,24,41,.78);--panel2:rgba(15,34,57,.9);--text:#edf7ff;--muted:#849cb4;--cyan:#5ce9d9;--violet:#a78bfa;--gold:#ffd27a;--line:rgba(150,195,223,.13)}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;font-family:"Microsoft YaHei UI","Segoe UI",sans-serif;background:radial-gradient(circle at 45% 15%,#102b43 0,#081321 34%,var(--bg) 75%);color:var(--text)}button,textarea{font:inherit}.aurora{position:fixed;border-radius:50%;filter:blur(80px);opacity:.14;pointer-events:none}.aurora-a{width:420px;height:420px;left:25%;top:-240px;background:#48e4d0}.aurora-b{width:500px;height:500px;right:-260px;bottom:-220px;background:#826df0}.app-shell{position:relative;height:100%;display:grid;grid-template:64px minmax(0,1fr)/250px minmax(580px,1fr) 300px;gap:12px;padding:0 14px 14px}.glass{background:linear-gradient(155deg,rgba(16,34,56,.9),rgba(7,17,31,.86));border:1px solid rgba(151,210,231,.11);box-shadow:0 24px 60px rgba(0,0,0,.22);backdrop-filter:blur(18px)}.topbar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:0 9px}.brand-mark{display:inline-grid;place-items:center;width:29px;height:29px;margin-right:11px;border-radius:9px;background:linear-gradient(135deg,var(--cyan),#6fb8ff);color:#06201f;font-weight:900}.eyebrow{font-size:11px;letter-spacing:.16em;color:#c5e9ed;font-weight:700}.device-pill{display:flex;gap:8px;align-items:center;padding:8px 12px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px}.device-pill span{width:7px;height:7px;border-radius:50%;background:#53687b}.device-pill.online{color:#c9fff7}.device-pill.online span{background:var(--cyan);box-shadow:0 0 12px var(--cyan)}.sidebar,.companion,.stage{border-radius:18px;min-height:0}.sidebar{padding:19px 15px;display:flex;flex-direction:column}.sidebar-head{display:flex;align-items:center;justify-content:space-between}.sidebar h2{font-size:19px;margin:0}.sidebar p{font-size:11px;margin:4px 0;color:var(--muted)}.icon-button{border:0;width:34px;height:34px;border-radius:11px;background:var(--cyan);color:#06201f;font-size:21px;cursor:pointer}.project-list{height:152px;overflow:auto;margin:15px 0 20px;padding-right:3px}.project-item{width:100%;text-align:left;border:1px solid transparent;background:transparent;color:#bed0e0;padding:10px;border-radius:11px;cursor:pointer}.project-item:hover,.project-item.active{background:rgba(85,230,213,.09);border-color:rgba(85,230,213,.2);color:#fff}.project-item b,.project-item span,.project-item small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-item b{font-size:12px}.project-item span{font-size:10px;color:var(--muted);margin-top:4px}.project-item small{font-size:9px;color:#71879b;margin-top:4px}.project-item .project-status{color:#7d97a9}.project-item .project-status.blocked{color:#c77a7a}.project-item .project-status.working{color:#a18bda}.project-item .project-status.done{color:#73b8a4}.flow-label{font-size:10px;color:#6f879d;letter-spacing:.14em;margin:0 8px 6px}nav{display:flex;flex-direction:column;gap:4px}nav button{display:flex;align-items:center;gap:12px;padding:10px;border:0;border-radius:11px;background:transparent;color:#90a7bc;text-align:left;cursor:pointer}nav button b{font-size:10px;color:#587085}nav button span{font-size:12px}nav button:hover,nav button.active{background:linear-gradient(90deg,rgba(94,235,217,.12),transparent);color:#f2ffff}nav button.active b{color:var(--cyan)}.stage{position:relative;overflow:hidden;padding:27px}.stage-meta{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:.09em;color:#526a80}.stage-meta span:first-child{color:var(--violet)}.stage-line{width:20px;height:1px;background:#284159}.stage h1{font-size:30px;margin:21px 0 5px;letter-spacing:-.04em}.stage>div>p{color:var(--muted);font-size:13px;margin:0 0 20px}.scene-card{height:calc(100vh - 205px);min-height:390px;overflow:auto;padding:22px;border-radius:16px;background:linear-gradient(145deg,rgba(7,19,34,.82),rgba(11,27,47,.65));border:1px solid var(--line)}.empty-state{height:100%;display:grid;place-content:center;text-align:center}.empty-state .symbol{font-size:56px;color:var(--cyan);filter:drop-shadow(0 0 20px rgba(85,230,213,.35))}.empty-state h2{margin:16px 0 7px}.empty-state p{color:var(--muted);max-width:450px;line-height:1.7}.primary-button,.ghost-button{border:0;border-radius:10px;padding:10px 15px;cursor:pointer}.primary-button{background:linear-gradient(135deg,var(--cyan),#74b9ff);color:#041a1b;font-weight:800}.ghost-button{background:rgba(123,163,192,.1);color:#c9d9e8;border:1px solid var(--line)}.brief{white-space:pre-wrap;line-height:1.8;color:#dceaf6;font-size:13px}.brief-head,.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.brief-head h2,.section-head h2{margin:0;font-size:18px}.tag{font-size:10px;padding:5px 9px;border-radius:99px;background:rgba(85,230,213,.1);color:var(--cyan)}.task-list{display:flex;flex-direction:column;gap:8px}.task{display:grid;grid-template-columns:30px 1fr auto;align-items:start;gap:10px;padding:13px;border:1px solid var(--line);border-radius:12px;background:rgba(4,13,25,.36)}.task .index{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#132a42;color:#86a5bd;font-size:10px}.task h3{font-size:13px;margin:1px 0 5px}.task p{font-size:11px;color:var(--muted);margin:0;line-height:1.55}.task-status{font-size:10px;color:var(--cyan)}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.info-card{padding:16px;border:1px solid var(--line);border-radius:13px;background:rgba(7,20,35,.45)}.info-card span{font-size:10px;color:var(--muted)}.info-card strong{display:block;margin-top:7px;font-size:13px;word-break:break-all}.boardroom-stage{position:absolute;inset:0;display:flex;flex-direction:column;background:#060c16}.boardroom-bar{height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--line);background:rgba(5,13,24,.95)}.boardroom-bar span,.boardroom-bar strong{display:block}.boardroom-bar span{color:var(--cyan);font-size:10px;letter-spacing:.1em}.boardroom-bar strong{font-size:13px;margin-top:3px;max-width:700px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#boardroom-frame{width:100%;height:calc(100% - 62px);border:0;background:#07111f}.hidden{display:none!important}.companion{padding:16px;display:flex;flex-direction:column}.companion-visual{position:relative;height:280px;margin:-8px -5px 0;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.companion-visual img{position:relative;z-index:2;height:278px;max-width:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 16px 22px rgba(0,0,0,.33));animation:breathe 4.4s ease-in-out infinite;transform-origin:50% 85%}.halo{position:absolute;z-index:0;width:190px;height:190px;bottom:20px;border-radius:50%;background:radial-gradient(circle,rgba(93,237,219,.2),rgba(117,91,226,.08) 42%,transparent 70%);animation:pulse 3s ease-in-out infinite}.scan-ring{position:absolute;z-index:1;width:190px;height:58px;bottom:31px;border:1px solid rgba(92,233,217,.3);border-radius:50%;box-shadow:0 0 20px rgba(92,233,217,.1);animation:scan 5s linear infinite}.voice-wave{display:none;position:absolute;z-index:3;bottom:20px;left:18px;gap:3px;align-items:center;height:22px}.voice-wave i{display:block;width:3px;height:8px;border-radius:3px;background:var(--cyan);animation:wave .8s ease-in-out infinite}.voice-wave i:nth-child(2){animation-delay:.12s}.voice-wave i:nth-child(3){animation-delay:.24s}.voice-wave i:nth-child(4){animation-delay:.36s}.voice-wave i:nth-child(5){animation-delay:.48s}.companion-visual.speaking .voice-wave,.companion-visual.working .voice-wave{display:flex}.companion-visual.working .halo{background:radial-gradient(circle,rgba(167,139,250,.28),rgba(82,188,235,.08) 45%,transparent 72%)}.companion-visual.error .halo{background:radial-gradient(circle,rgba(255,111,130,.22),transparent 68%)}.companion-name{display:flex;align-items:center;justify-content:space-between;padding:0 5px}.companion-name b,.companion-name span{display:block}.companion-name b{font-size:18px}.companion-name span{font-size:10px;color:var(--muted);margin-top:2px}.voice-toggle{border:1px solid var(--line);background:#0a192b;color:#fff;width:33px;height:33px;border-radius:10px;cursor:pointer}.speech-card{position:relative;margin:12px 0;padding:13px 14px;min-height:64px;border:1px solid rgba(103,216,215,.17);border-radius:13px;background:linear-gradient(135deg,rgba(39,87,105,.22),rgba(79,57,128,.12));font-size:11px;line-height:1.65;color:#d9e8f4}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:auto}.quick-actions button{display:flex;align-items:center;gap:8px;border:1px solid transparent;background:rgba(7,19,34,.48);color:#aec2d3;padding:8px;border-radius:9px;cursor:pointer;text-align:left}.quick-actions button:hover{border-color:rgba(85,230,213,.18);background:rgba(85,230,213,.08);color:#fff}.quick-actions kbd{font-size:9px;color:var(--cyan);background:#10283c;padding:3px 5px;border-radius:5px}.quick-actions span{font-size:10px}dialog{width:min(540px,90vw);border:1px solid rgba(110,220,211,.2);border-radius:18px;background:#0a1829;color:var(--text);padding:26px;box-shadow:0 35px 90px #000}dialog::backdrop{background:rgba(1,5,12,.72);backdrop-filter:blur(7px)}dialog h2{margin:7px 0;font-size:24px}dialog p{margin:0 0 18px;color:var(--muted);font-size:12px;line-height:1.6}.modal-kicker{color:var(--cyan);font-size:9px;letter-spacing:.16em}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:13px}textarea{width:100%;resize:none;border:1px solid #213b54;background:#071321;color:#fff;border-radius:12px;padding:13px;outline:none;line-height:1.6}textarea:focus{border-color:var(--cyan)}.toast{position:fixed;left:50%;bottom:25px;z-index:20;transform:translate(-50%,20px);opacity:0;padding:10px 14px;border:1px solid rgba(255,153,165,.25);border-radius:10px;background:#301822;color:#ffdce1;font-size:11px;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}@keyframes breathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.012)}}@keyframes pulse{0%,100%{transform:scale(.95);opacity:.7}50%{transform:scale(1.08);opacity:1}}@keyframes scan{to{transform:rotate(360deg)}}@keyframes wave{0%,100%{height:7px}50%{height:21px}}@media(max-width:1180px){.app-shell{grid-template-columns:220px minmax(520px,1fr) 260px}.companion-visual{height:240px}.companion-visual img{height:240px}.quick-actions span{font-size:9px}}
