:root{font-family:'Segoe UI','PingFang SC','Microsoft YaHei UI','Microsoft YaHei',system-ui,sans-serif;color:#1f2328;background:#ededed;--bg:#f7f7f8;--panel:#fff;--ink:#1f2328;--muted:#69717c;--line:#e1e4e8;--bubble:#eef0f3;--selected:#e4e6e8;color-scheme:light}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit;color:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid #626b7c;outline-offset:3px}[hidden]{display:none!important}button svg,span svg{width:19px;height:19px;flex:none;vertical-align:middle}button{border:0}a{color:inherit;text-decoration:none}.spacer{flex:1}.muted,.fine{color:var(--muted);line-height:1.8}.fine{font-size:12px}.error{color:#ac3c37;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:9px 15px;border-radius:9px;font-size:13px;border:1px solid var(--line)}.primary{background:var(--ink);color:var(--panel);border-color:var(--ink)}.secondary{background:var(--panel)}.icon{display:inline-grid;place-items:center;flex:none;width:36px;height:36px;border-radius:10px;background:transparent}.icon:hover,.tool:hover{background:var(--bubble)}.mobile-only{display:none}.dot{display:inline-block;width:7px;height:7px;flex:none;border-radius:50%;background:#7d8592}.dot.online{background:#698577}.dot.offline{background:#b5836b}
.auth{min-height:100dvh;display:grid;place-items:center;padding:30px 20px;background:linear-gradient(150deg,#f2eef7,#f7f7f8 60%)}.auth-form{width:min(100%,380px)}.auth h1{font-size:30px;font-weight:600;margin:4px 0 10px}.auth h1 span{font-size:15px;font-weight:400;color:var(--muted)}.auth p{font-size:13px;line-height:1.8}.auth label{display:block;font-size:13px;margin:18px 0 8px}.auth input{display:block;width:100%;margin-top:8px;padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--panel);font-size:16px}.auth .primary{width:100%;min-height:44px}
.app{display:grid;grid-template-columns:64px 272px minmax(0,1fr);height:100dvh;padding:10px 10px 10px 0;overflow:hidden}.rail{display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px 8px}.rail>button{width:36px;height:36px;display:grid;place-items:center;background:transparent;border-radius:10px;color:#4b5260}.rail>button[aria-current=page],.rail>button:hover{background:var(--selected)}.rail .brand-icon{font-weight:650;font-size:19px;margin-bottom:16px;color:var(--ink)}.sidebar{display:flex;flex-direction:column;min-width:0;min-height:0;gap:14px;padding:25px 18px 14px;background:var(--bg);border-radius:16px 0 0 16px;border-right:1px solid var(--line)}.side-heading{display:flex;justify-content:space-between;align-items:center}.side-heading strong{font-size:23px;font-weight:600;letter-spacing:1px}.side-heading small{font-size:12px;font-weight:400;letter-spacing:0;color:var(--muted)}.new-chat{display:flex;gap:9px;align-items:center;min-height:40px;padding:4px;background:none;font-size:13px;text-align:left}.partner-label{font-size:11px;color:var(--muted)}.partner-label select{width:100%;margin-top:8px;padding:9px;border:1px solid var(--line);border-radius:8px;background:var(--panel);font-size:13px;color:var(--ink)}.section-label{font-size:11px;color:var(--muted);margin:5px 0 0;padding-bottom:11px;border-bottom:1px solid var(--line)}.history{flex:1;min-height:0;overflow-y:auto}.history button{display:block;width:100%;min-height:40px;text-align:left;background:none;padding:10px 9px;border-radius:8px;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history button:hover,.history button.active{background:var(--selected)}.side-foot{font-size:11px;display:flex;gap:7px;align-items:center;color:var(--muted);line-height:1.8;margin:5px 0 0}.workspace{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--panel);border-radius:0 16px 16px 0;overflow:hidden}.topbar{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 24px;font-size:13px;color:var(--muted);flex:none}.topbar>#page-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-actions{display:flex;align-items:center;gap:8px}.connection{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:30px;padding:6px 9px;background:none;font-size:11px;white-space:nowrap}.notice{padding:10px 24px;font-size:12px;background:#f8f4ec;border-bottom:1px solid #eee5d5;line-height:1.7;color:#745e40;flex:none;overflow-wrap:anywhere}.chat-view{display:flex;flex-direction:column;flex:1;min-height:0}.welcome{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px 24px 32px;gap:14px}.welcome h1{font-size:28px;font-weight:500;text-align:center;line-height:1.4;margin:0}.welcome-sub{font-size:13px;color:var(--muted);margin:0}.mascot{display:block;width:160px;height:160px;flex:none;background:url('/xiaoman.webp') 0 0 /400% 200% no-repeat;border:0;border-radius:16px;transform-origin:50% 88%;animation:look-around 14s steps(1,end) infinite}.mascot:hover,.mascot.greeting{background-position:33.333333% 100%;animation:greet .85s ease-in-out infinite}.mascot.small{width:104px;height:104px;margin-bottom:8px}.mobile-home{display:none}@keyframes look-around{0%,34%,83%,100%{background-position:0 0;transform:translateY(0)}38%,48%{background-position:66.666667% 0;transform:translateY(-2px)}53%,65%{background-position:100% 0;transform:translateY(0)}70%,78%{background-position:33.333333% 0;transform:translateY(-2px)}}@keyframes greet{0%,100%{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(4deg) translateY(-5px)}}
.composer-wrap{flex:none;width:min(100%,760px);padding:0 28px 23px;margin:0 auto}.composer{border:1px solid var(--line);border-radius:18px;background:var(--panel);padding:5px 12px 10px;box-shadow:0 5px 18px #0f141509}.composer textarea{display:block;resize:none;min-height:68px;max-height:160px;width:100%;border:0;padding:13px 6px 8px;background:none;font-size:14px;line-height:22px;outline-offset:0}.composer textarea::placeholder{color:#858b94}.composer-tools{display:flex;align-items:center;gap:8px;min-width:0}.tool{background:none;display:grid;place-items:center;min-width:34px;height:34px;border-radius:8px;color:var(--muted)}.scope-label,.approval-label{font-size:11px;color:var(--muted)}.approval-label{display:flex;align-items:center;gap:4px;margin-left:6px}.approval-label svg{width:14px;height:14px}.model-button{display:flex;align-items:center;gap:5px;margin-left:auto;background:none;padding:5px 2px;font-size:11px;min-width:0;max-width:48%;color:var(--muted)}.model-button>#model-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-button svg{width:12px;height:12px}.send{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--panel)}.composer-note{text-align:center;margin:9px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.attachments{display:flex;gap:6px;flex-wrap:wrap}.attachments:empty{display:none}.attachment{font-size:11px;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:6px;max-width:100%;display:flex;align-items:center;gap:5px}.attachment span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment button{background:none;font-size:16px}.mobile-chips{display:none}
.transcript{flex:1;min-height:0;overflow-y:auto;padding:15px max(26px,calc((100% - 704px)/2)) 26px;scroll-behavior:smooth;overflow-wrap:anywhere}.message-user{margin:0 0 24px auto;max-width:90%;width:fit-content;background:var(--bubble);border-radius:16px;padding:12px 16px;font-size:14px;line-height:1.8;white-space:pre-wrap}.message-files{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.message-files a{font-size:11px;border:1px solid var(--line);background:var(--panel);padding:4px 8px;border-radius:6px}.message-assistant{margin:0 0 30px;font-size:14px;line-height:1.9}.elapsed{font-size:12px;color:var(--muted);padding-bottom:10px;margin:0 0 14px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;width:100%}.elapsed strong{font-weight:400;color:var(--ink);margin-left:8px}.output{white-space:pre-wrap;overflow-wrap:anywhere;min-height:22px;line-height:1.9}.run-detail{color:var(--muted);font-size:11px;line-height:1.8;margin:9px 0}.approval{border:1px solid var(--line);border-radius:12px;background:var(--bg);padding:14px;margin:15px 0}.approval-heading{display:flex;justify-content:space-between;gap:12px;font-size:12px;flex-wrap:wrap}.badge{font-size:11px;color:var(--muted);background:var(--bubble);padding:3px 7px;border-radius:6px}.approval pre{font:12px/1.8 inherit;white-space:pre-wrap;overflow-wrap:anywhere;max-height:340px;overflow-y:auto;background:var(--panel);padding:13px;border-radius:8px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.file-result{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:12px;border:1px solid var(--line);padding:12px;border-radius:10px;margin:9px 0}.file-result a{margin-left:auto;font-size:12px;text-decoration:underline}.run-cancel{font-size:12px;border:1px solid var(--line);padding:7px 10px;border-radius:8px;background:var(--panel);color:var(--muted)}
.page{flex:1;min-height:0;overflow-y:auto;padding:28px clamp(22px,4vw,60px) 40px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.page h1{font-size:26px;font-weight:550;margin:0}.page h2{font-size:16px;font-weight:550;margin:28px 0 10px}.page p{font-size:13px}.eyebrow{font-size:11px!important;color:var(--muted);margin:0 0 8px}.list-row{padding:18px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:14px;overflow-wrap:anywhere}.row-main{min-width:0;flex:1}.row-title{font-size:14px;font-weight:500;margin:0 0 7px;overflow-wrap:anywhere}.row-meta{font-size:11px;color:var(--muted);line-height:1.8;overflow-wrap:anywhere}.row-actions{display:flex;gap:7px;flex-wrap:wrap}.empty{padding:30px 0;font-size:13px;color:var(--muted);line-height:1.9}.key-value{display:grid;grid-template-columns:110px minmax(0,1fr);font-size:13px;line-height:1.8;padding:12px 0;border-bottom:1px solid var(--line);gap:16px;overflow-wrap:anywhere}.key-value>span:first-child{color:var(--muted)}.key-value a{text-decoration:underline}.sidebar-shade{display:none}dialog{width:min(700px,calc(100% - 30px));max-height:85dvh;border:1px solid var(--line);border-radius:16px;padding:20px;color:var(--ink);background:var(--panel)}dialog::backdrop{background:#1f232850}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.dialog-heading h2{margin:0;font-size:17px;overflow-wrap:anywhere}dialog pre{font:13px/1.8 'Segoe UI','Microsoft YaHei',sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;max-height:56dvh;overflow-y:auto;padding:16px 0}
/* The control surface uses the mobile shell at every viewport; DGX needs no desktop UI. */
@media(min-width:0px){:root{background:var(--bg)}.app{display:block;padding:0;height:100dvh;background:linear-gradient(180deg,#f1ecf8 0,#f8f1f2 120px,#fbf8f6 260px,var(--bg) 440px)}.rail{display:none}.workspace{height:100%;border-radius:0;background:transparent}.topbar{padding:12px 13px 6px;min-height:65px;color:var(--ink);gap:7px}.topbar>#page-title{font-size:15px;font-weight:600;flex:1;text-align:center}.topbar .icon{width:42px;height:42px;border-radius:50%;background:#ffffffd9;box-shadow:0 3px 15px #15151505;border:1px solid #fff}.mobile-only{display:inline-grid}.top-actions{gap:7px}.connection{display:none}.sidebar{display:none;position:fixed;z-index:20;top:0;bottom:0;left:0;width:min(84vw,320px);border-radius:0 16px 16px 0;padding:calc(20px + env(safe-area-inset-top)) 20px 20px;box-shadow:12px 0 40px #0002}.sidebar.open{display:flex}.sidebar.open~.sidebar-shade{display:block;position:fixed;inset:0;z-index:19;background:#20202850}.notice{padding:8px 15px;font-size:12px}.welcome{display:block;padding:32px 22px 20px}.welcome>.mascot,.welcome>h1,.welcome>.welcome-sub{display:none}.mobile-home{display:block}.date{font:56px/1 'Songti SC','STSong','SimSun',serif;margin:0;letter-spacing:-1px}.date span{font-size:23px;letter-spacing:0}.daily-copy{font:20px/1.5 'Songti SC','STSong','SimSun',serif;margin:12px 0 24px}.home-card{display:flex;align-items:center;gap:13px;min-height:88px;padding:14px 15px;width:100%;border-radius:46px;background:#ffffffd4;border:1px solid #fff;text-align:left;box-shadow:0 4px 20px #15151505;margin-bottom:12px}.home-card.files-card{background:linear-gradient(100deg,#e4ebfb,#eef0fb 55%,#f6ebf2)}.card-symbol{width:52px;height:52px;flex:none;display:grid;place-items:center;border-radius:18px;background:#fdeee2;color:#b87238}.files-card .card-symbol{background:#fff;color:#4f7bd9}.card-symbol svg{width:26px;height:26px}.home-card>span:nth-child(2){flex:1;min-width:0}.home-card strong{font-size:15px;font-weight:600;display:block}.home-card small{font-size:12px;color:var(--muted);display:block;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-card>span:last-child{border:1px solid var(--line);border-radius:50%;width:34px;height:34px;display:grid;place-items:center;flex:none}.composer-wrap{padding:0 12px calc(9px + env(safe-area-inset-bottom));max-width:none}.mobile-chips{display:flex;gap:9px;padding:7px 2px 11px}.mobile-chips button{display:flex;align-items:center;gap:6px;min-height:42px;padding:0 14px;border-radius:23px;background:#efeff2;font-size:13px}.mobile-chips svg{width:17px;height:17px}.composer{border:0;border-radius:26px;padding:4px 10px 8px;box-shadow:0 6px 28px #15151508}.composer textarea{min-height:48px;padding:10px 6px 5px;font-size:16px;line-height:24px}.composer-tools{gap:6px}.scope-label,.approval-label{display:none}.model-button{margin-left:auto;font-size:10px;max-width:65%}.composer-note{font-size:10px;margin-top:7px}.send{height:36px;width:36px}.transcript{padding:16px 17px 24px}.message-user{font-size:14px}.message-assistant{font-size:14px}.page{padding:24px 20px 30px;background:#ffffff82}.page-heading h1{font-size:23px}.page-heading .primary,.page-heading .secondary{padding:8px 11px;font-size:12px}.list-row{flex-wrap:wrap;gap:10px}.row-actions{margin-left:auto}.row-title{font-size:13px}.key-value{grid-template-columns:84px minmax(0,1fr);gap:12px;font-size:12px}.auth-form{padding-bottom:25px}.auth .mascot{margin-left:auto;margin-right:auto}.auth h1,.auth-description{text-align:center}.approval pre{max-height:260px}.actions button{min-height:42px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}
.approval pre{font-family:inherit;font-size:12px;line-height:1.8}
@media(max-width:760px){.list-row .row-main{flex-basis:100%}.row-actions{margin-left:0}}
:root { --capability-gap: 12px; }
.capability-tabs { flex-wrap: wrap; margin-bottom: 24px; gap: 8px; }
.capability-form { display: grid; gap: 14px; margin: 20px 0; max-width: 760px; }
.capability-form label { display: grid; gap: 6px; }
.capability-form input, .capability-form textarea, .approval textarea { width: 100%; padding: 12px; border: 1px solid #ddd9e2; border-radius: 12px; font: inherit; box-sizing: border-box; }
.capability-form textarea { min-height: 120px; }
.capability-form fieldset { display: flex; flex-wrap: wrap; gap: 16px; border: 1px solid #ddd9e2; border-radius: 12px; padding: 14px; }
.capability-form fieldset label { display: inline-flex; align-items: center; }
.capability-form fieldset input { width: auto; }
#capability-content pre, .approval pre { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 440px; overflow: auto; }
#capability-content details { padding: 14px 0; border-bottom: 1px solid #e6e1ea; }
.model-select { max-width: 160px; border: 0; background: transparent; color: inherit; font: inherit; }
.model-button #model-name { display: none; }
#voice-dialog { width: min(640px, 92vw); max-height: 90dvh; }
#voice-captions { min-height: 120px; max-height: 40dvh; overflow: auto; padding: 12px 0; }
#voice-video { max-width: 100%; width: 240px; border-radius: 16px; }
.voice-user { color: #706589; }
@media(max-width:760px) { .scope-label, .approval-label { display: none; } .model-select { max-width: 110px; font-size: 12px; } .capability-tabs .secondary, .capability-tabs .primary { padding: 9px 12px; } }

.app>.workspace{max-width:960px;margin-inline:auto}.mobile-chips{flex-wrap:wrap}
