/* 文言：导航归一，源码、对话、终端各得其所。汉语：工作台以视口为边界，各面板独立滚动，输入始终可见。 */
:root{color-scheme:light;--bg:#f4f5f2;--paper:#fff;--ink:#26312c;--muted:#65746b;--line:#dfe5df;--red:#a94332;--soft:#edf1ec;--green:#35674d;font-family:system-ui,-apple-system,"PingFang SC",sans-serif;font-size:14px}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);height:100dvh;display:flex;flex-direction:column;overflow:hidden}body>[data-yuyan-site]{flex:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--line);background:var(--paper);border-radius:6px;padding:8px 12px}button:hover{background:var(--soft);border-color:#a4b4a7}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:2px solid var(--green);outline-offset:2px}a{color:inherit}.primary{background:var(--red);border-color:var(--red);color:#fff}.primary:hover{background:#913828;color:#fff}[hidden]{display:none!important}.spacer{flex:1;min-width:0}.quiet{border:0;background:transparent}.tag{font-size:11px;color:var(--muted);background:var(--soft);padding:3px 7px;border-radius:4px}.eyebrow{font-size:11px;letter-spacing:.08em;color:var(--muted);margin:0 0 5px}.subtle{color:var(--muted);line-height:1.8;font-size:13px}
#正文{flex:1;min-height:0;display:flex;flex-direction:column}.工作台状态栏{display:flex;align-items:center;gap:12px;padding:3px 20px;min-height:32px;border-bottom:1px solid var(--line);background:#fafbf8;font-size:12px}.工作台状态栏 button{font-size:12px;padding:3px 8px}#连接状态{color:var(--green)}#通知{flex:none;padding:10px 20px;background:#fff0df;color:#824530;white-space:pre-wrap;max-height:100px;overflow:auto}
#工作区{display:flex;flex:1;min-height:0;overflow:hidden}.projects{width:204px;flex:none;border-right:1px solid var(--line);padding:14px 10px 0;display:flex;flex-direction:column;min-height:0;background:#f6f8f4}.section-label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--muted);padding:10px}.section-label button{margin-left:auto;padding:3px 9px}.projects>.section-label{padding-top:0}#项目列表{max-height:22vh;overflow:auto;padding-bottom:12px;border-bottom:1px solid var(--line)}.project,.file,.history{display:block;width:100%;text-align:left;border:0;background:transparent;font-size:13px;padding:9px 10px;overflow-wrap:anywhere}.project.active,.file.active{background:#e5eee5;color:#28583d;font-weight:600}.files{flex:1;overflow:auto;min-height:0;padding-top:8px}.history-label{border-top:1px solid var(--line);margin-top:18px}.history{font-size:12px;color:var(--muted)}.sidebar-bottom{padding:16px 8px;font-size:11px;border-top:1px solid var(--line);overflow-wrap:anywhere;color:var(--muted)}.sidebar-bottom small{display:block;margin-top:5px}
#项目区{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.project-header{flex:none;display:flex;align-items:center;gap:16px;min-height:68px;padding:12px 20px;border-bottom:1px solid var(--line);background:var(--paper)}.project-header h2{font-size:20px;font-weight:650;margin:0;overflow-wrap:anywhere}.save{font-size:12px;color:var(--green);white-space:nowrap}.编译选择{margin:0;font-size:11px;color:var(--muted)}.编译选择 select{padding:5px 8px;margin-top:3px;width:auto}.workspace-grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(280px,34%);grid-template-rows:minmax(240px,1fr) minmax(210px,34%);flex:1;min-height:0}.reader{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--paper)}.tabs{display:flex;align-items:center;gap:12px;padding:0 16px;min-height:44px;border-bottom:1px solid var(--line)}.tabs button{background:transparent;border:0;border-radius:0;padding:13px 2px;font-size:13px}.tabs button.active{box-shadow:inset 0 -2px var(--red);color:var(--red)}#文件路径{font:12px ui-monospace,monospace;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.readonly{font-size:10px;color:var(--muted);white-space:nowrap}
pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.85 ui-monospace,"SFMono-Regular","PingFang SC",monospace}#源码,#差异{flex:1;min-height:0;overflow:auto;padding:20px 24px;tab-size:2}#源码{font-size:14px;line-height:2}.diff-file{margin-bottom:20px}.diff-file h3{font-size:13px}.diff-added{background:#edf6ec;color:#315d3a;padding:10px}.diff-removed{background:#fbefec;color:#9b4435;padding:10px}.build{flex:none;border-top:1px solid var(--line);background:#fafbf8;max-height:110px;overflow:auto}.build .section-label{padding:8px 16px}.build pre{padding:0 16px 12px;font-size:12px;color:var(--muted)}#构建状态{margin-left:auto;font-weight:400}
.conversation{display:flex;flex-direction:column;min-height:0;min-width:0;border-left:1px solid var(--line);background:#fbfcf9}.conversation>.section-label{min-height:44px;border-bottom:1px solid var(--line);padding:8px 16px;flex-wrap:wrap}#模型{font-size:10px;font-weight:400;max-width:135px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#任务状态{font-size:11px;color:var(--green)}#消息列表{flex:1;overflow:auto;min-height:0;padding:16px}.message{margin-bottom:20px;min-width:0}.message .role{font-size:11px;color:var(--muted);margin-bottom:7px}.message p{margin:0;font-size:13px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.message.user{padding:12px 14px;background:#eaf0e7;border-radius:8px}.message.streaming .role{color:var(--green)}#需求表单{flex:none;border-top:1px solid var(--line);padding:12px 14px;background:var(--paper)}#需求表单 label{margin:0 0 8px;font-size:12px}#需求{margin:0;height:76px;min-height:60px;max-height:160px;resize:vertical;font-size:13px;line-height:1.6}.composer-footer{display:flex;align-items:center;gap:8px;justify-content:space-between;margin-top:10px}.composer-footer small{font-size:10px;color:var(--muted)}
/* 文言：令行在下而不随日志没。汉语：终端输出独立滚动，输入与补全固定，详细来源按需展开。 */
.终端{grid-column:1/-1;display:flex;flex-direction:column;min-width:0;min-height:0;background:#17221e;color:#e1ece4;font:13px/1.75 ui-monospace,"SFMono-Regular","PingFang SC",monospace;border-top:1px solid #35463b}.终端栏{flex:none;min-height:42px;display:flex;align-items:center;gap:14px;padding:7px 16px;background:#202d25;border-bottom:1px solid #35463b;flex-wrap:wrap;font-size:12px}.终端栏 strong{font-weight:600}#终端目录,#日志连接{color:#a0b4a6;font-size:11px}.终端 button{background:transparent;border:0;color:#b9d1bf;padding:4px 8px;font:inherit}.终端 button:hover{background:#35473b;color:#fff}.来源筛选{display:flex;align-items:center;gap:6px;margin:0;font-size:11px}.来源筛选 select{margin:0;background:#17221e;color:#d7e6dc;border:1px solid #526358;width:auto;padding:3px 6px;font-size:12px}
#终端屏幕{position:relative;display:flex;flex-direction:column;min-height:0;flex:1;padding:0;cursor:text}.终端欢迎{flex:none;color:#98b09e;font-size:11px;padding:7px 16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#执行日志{flex:1;min-height:0;overflow:auto;padding:0 16px 10px;scrollbar-color:#52685a #17221e}.event{margin:0;padding:0}.event pre{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;color:inherit}.event-command{position:relative;display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 10px;margin:9px 0}.event-command>strong{font-size:11px;font-weight:500;color:#9cc4a8;cursor:pointer}.event-command>pre{flex:1;min-width:120px}.command-details{width:100%;font-size:11px;color:#9fb4a7;overflow-wrap:anywhere;padding:6px 10px;border-left:2px solid #4f6958}.event-stage{color:#98ac9f;font-size:11px;margin:7px 0 2px}.event-assistant{color:#bad8eb}.event-tool_delta{color:#93aa9c;font-size:11px}.event-stderr{color:#ffb4a5}.event-result{color:#aedab7}.event-stdout{color:#dce4dd}.event-command[hidden]{display:none}
#命令表单{flex:none;display:flex;align-items:baseline;gap:10px;margin:0;padding:12px 16px;border-top:1px solid #35463b;background:#1e2c24}.终端提示符{margin:0;flex-shrink:0;font:inherit;color:#a6d5b3;max-width:30%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#命令{flex:1;width:auto;min-width:30px;margin:0;padding:0;border:0;background:transparent;color:#f1f6f2;box-shadow:none;outline:none;font:inherit;caret-color:#c7f2cf}#命令::placeholder{color:#94aa9b}.智能候选{position:absolute;bottom:48px;left:12px;right:12px;z-index:5;max-height:230px;overflow:auto;background:#26392d;border:1px solid #597363;border-radius:6px;padding:10px;box-shadow:0 8px 24px #0005}.候选说明{font-size:11px;color:#b2c5b7;margin-bottom:6px}.智能候选 button{margin:2px;padding:5px 9px}.智能候选 button[aria-selected=true]{background:#c7dfce;color:#17221e;border-radius:4px}
label{display:block;font-size:13px;margin:18px 0 10px}input,select,textarea{display:block;width:100%;border:1px solid var(--line);border-radius:5px;padding:10px;background:var(--paper);margin-top:7px}input:focus,textarea:focus,select:focus{outline:2px solid #719982;outline-offset:1px}dialog{border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:28px;width:min(460px,92vw);box-shadow:0 20px 80px #0003}dialog::backdrop{background:#14261b77}dialog h2{margin:5px 0 20px;font-size:24px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px;text-align:center}.empty h1{font-size:26px}.empty p{color:var(--muted);line-height:1.8}.seal{font:46px "Songti SC",serif;color:var(--red)}#登录区{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;gap:8vw;padding:40px}.welcome h1{font:500 46px/1.4 "Songti SC",serif}.welcome em{color:var(--red);font-style:normal}.welcome p{line-height:1.8;color:var(--muted)}.principles{display:flex;gap:15px;color:var(--green)}.login{max-width:370px;border:1px solid var(--line);background:var(--paper);padding:30px;border-radius:12px}.login-link{display:block;text-align:center;text-decoration:none;padding:12px;border-radius:5px;margin:20px 0}.login p{line-height:1.8;font-size:13px}footer.豫页脚{display:none}
@media(max-width:850px){.projects{width:165px}.workspace-grid{grid-template-columns:minmax(220px,1fr) minmax(240px,40%)}.project-header{padding:10px 12px;gap:8px}.project-header .eyebrow{display:none}.save{font-size:11px}#源码{padding:16px;font-size:13px}}
@media(max-width:700px){body{height:auto;min-height:100dvh;overflow:auto}#工作区{flex-direction:column;overflow:visible}.projects{width:100%;max-height:240px;padding:10px;display:grid;grid-template-columns:140px 1fr;gap:0 10px;border-bottom:1px solid var(--line)}.projects>.section-label{grid-column:1}#项目列表{grid-column:1;max-height:130px}.files{grid-column:2;grid-row:1/4;padding:0;border-left:1px solid var(--line);padding-left:8px}.sidebar-bottom{display:none}.history-label,#历史列表{display:none}.project-header{flex-wrap:wrap}.project-header h2{font-size:18px}.project-header .save{margin-left:auto}.workspace-grid{display:flex;flex-direction:column}.reader{height:400px;flex:none}.conversation{height:440px;border-top:1px solid var(--line);border-left:0;flex:none}.终端{height:340px;flex:none}.终端栏{gap:8px}#终端目录{display:none}.终端欢迎{font-size:10px}#登录区{flex-direction:column;padding:24px;gap:24px}.welcome h1{font-size:36px}.login{width:100%}}
/* 文言：三室独立，一时惟观其一。汉语：代码、助手、终端在桌面和手机均使用完整工作区。 */
.工作区视图{display:flex;flex:none;border-bottom:1px solid var(--line);background:var(--paper);padding:0 20px;gap:24px}.工作区视图 button{border:0;border-radius:0;background:transparent;padding:13px 4px;font-size:14px}.工作区视图 button[aria-pressed=true]{color:var(--red);box-shadow:inset 0 -2px var(--red);font-weight:600}
.workspace-grid{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.workspace-grid>.reader,.workspace-grid>.conversation,.workspace-grid>.终端{height:auto;flex:1;min-height:0;min-width:0;display:flex}.workspace-grid>[hidden]{display:none!important}.conversation{border:0}#消息列表{padding:24px max(24px,calc((100% - 820px)/2))}#需求表单{padding:16px max(24px,calc((100% - 820px)/2))}.conversation #需求{height:96px}.message p{font-size:14px}.event-result>strong{cursor:pointer;font-size:11px}.command-details{white-space:pre-wrap;max-height:240px;overflow:auto}
@media(max-width:700px){body{height:100dvh;min-height:0;overflow:hidden}#工作区{min-height:0;overflow:hidden}.projects{height:150px;min-height:0;max-height:150px;flex:none}#项目列表{max-height:95px}.files{min-height:0;overflow:auto}.project-header{min-height:70px;padding:8px 12px}.project-header>div:first-child{flex:1;min-width:130px}.project-header .spacer{display:none}.project-header .save{font-size:10px}.编译选择{font-size:10px}#编译{padding:6px 10px;font-size:12px}.工作区视图{padding:0 12px;gap:20px}.工作区视图 button{padding:10px 3px;font-size:13px}.终端欢迎{display:none}.终端栏{font-size:11px;padding:7px 10px;gap:6px}.终端栏 .spacer{display:none}#日志连接{display:none}#终端屏幕{min-height:0}#命令表单{padding:10px}.终端提示符{max-width:20%}.build{max-height:80px}#源码,#差异{min-height:0}#消息列表{padding:16px}#需求表单{padding:12px 14px}.conversation #需求{height:65px}.composer-footer small{max-width:160px}}
/* 文言：去繁就要，诸具退居其侧。汉语：压缩辅助栏，当前视图占据主要空间，目录按需展开。 */
html[data-yuyan=cloud] .豫导航{min-height:52px;padding:8px 20px;gap:16px;font-size:13px}html[data-yuyan=cloud] .豫标志{font-size:24px}html[data-yuyan=cloud] .豫试写{padding:6px 10px}html[data-yuyan=cloud] .豫站名{padding-left:14px}html[data-yuyan=cloud] .豫导航内{gap:18px}
#工作区{position:relative}.projects{display:none;width:172px;padding:12px 8px 0;background:#f7f8f5}#工作区[data-view="源码"]:not([data-sidebar="closed"])>.projects,#工作区[data-sidebar="open"]>.projects{display:flex}#工作区:has(#空项目:not([hidden]))>.projects{display:flex}.section-label{font-size:11px}.projects>.section-label button{margin-left:4px}#收起目录{margin-left:auto;font-size:10px;padding:3px}.sidebar-bottom{font-size:10px;padding:10px 6px}.账户状态{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:4px}.账户状态 button{font-size:11px;padding:3px}#连接状态{font-size:10px}.project-header{min-height:46px;height:46px;padding:6px 16px;gap:12px;flex-wrap:nowrap}.project-header h2{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:32vw}.project-header>div:first-of-type{min-width:0}.project-header .save{font-size:10px;color:var(--muted)}.编译选择{margin:0}.编译选择 select{margin:0;padding:4px 6px;font-size:11px}.project-header button{padding:5px 10px;font-size:12px}#切换目录{border-color:transparent;background:transparent;color:var(--muted)}.工作区视图{min-height:38px;padding:0 16px;gap:22px}.工作区视图 button{padding:9px 3px;font-size:13px}.tabs{min-height:36px;padding:0 18px}.tabs button{padding:8px 2px;font-size:12px}.build{max-height:76px}.build .section-label{padding:5px 16px}.build pre{padding-bottom:7px;font-size:11px}.conversation>.section-label{min-height:32px;font-size:11px;padding:5px 20px}.conversation>.section-label #模型{margin-right:auto}#消息列表{padding-top:28px}#需求表单>label,.composer-footer small,.终端欢迎{display:none}#需求表单{padding-top:12px;padding-bottom:12px}.composer-footer{margin-top:8px;justify-content:flex-end}.conversation #需求{height:76px}.终端栏{min-height:36px;padding:4px 16px;font-size:11px}.终端栏 strong{font-size:11px;color:#a0b4a6}.终端栏 select{font-size:11px}.终端{border-top:0}#源码{padding:24px 30px;font-size:15px;line-height:2}
@media(max-width:700px){html[data-yuyan=cloud] .豫导航{min-height:48px;padding:7px 14px}#工作区>.projects{display:none!important;position:absolute;top:0;left:0;bottom:0;width:220px;height:auto;max-height:none;z-index:15;border-right:1px solid var(--line);box-shadow:8px 0 24px #0002;padding:14px 10px}#工作区[data-sidebar="open"]>.projects,#工作区:has(#空项目:not([hidden]))>.projects{display:flex!important}#工作区>.projects .files{padding:10px 0;border-left:0;flex:1}#工作区>.projects .sidebar-bottom{display:block}#工作区>.projects #项目列表{max-height:25vh}.project-header{min-height:46px;height:46px;padding:6px 10px;gap:6px}.project-header>div:first-of-type{min-width:0;flex:1}.project-header .save{display:none}.project-header .spacer{display:none}.project-header h2{max-width:32vw;font-size:14px}.编译选择 select{max-width:92px;font-size:10px}#编译{font-size:11px;padding:5px 8px}.工作区视图{padding:0 12px;gap:24px}.工作区视图 button{font-size:12px}.sidebar-bottom .quiet{display:block}#源码{padding:18px;font-size:14px}#消息列表{padding:18px}#需求表单{padding:10px 14px}.conversation #需求{height:66px}.终端栏{padding:4px 10px}#文件路径{font-size:11px}}
@media(max-width:700px){#工作区:has(#空项目:not([hidden]))>.projects{position:static;width:100%;height:auto;max-height:140px;flex:none;box-shadow:none;border-right:0;border-bottom:1px solid var(--line)}#工作区:has(#空项目:not([hidden]))>.projects .sidebar-bottom{display:none}}
/* 文言：预览附于代码之室，不另张主栏。汉语：网站项目才显示工具，静态预览隔离在内容域名。 */
#网站工具{display:inline-flex;gap:7px}#网站工具 button{font-size:11px;color:var(--green)}.tabs{flex-wrap:wrap}#网站视图{display:flex;flex-direction:column;flex:1;min-height:0}#网站链接{font-size:11px;padding:7px 14px;border:0;border-bottom:1px solid var(--line);border-radius:0;margin:0;background:#f7f9f6}#网站画面{width:100%;flex:1;min-height:0;border:0;background:white}

/* 文言：先择其业，入室乃观其文；三门居上。汉语：入口独立选择项目，顶栏切换面板，文件目录仅属于源码视图。 */
#工作区{flex-direction:column}
#项目选择{width:min(1060px,100%);margin:0 auto;padding:48px 36px;overflow:auto;min-height:0;box-sizing:border-box}
.项目选择标题{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}
.项目选择标题 h1{font-size:28px;margin:8px 0}
#项目选择 #项目列表{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;max-height:none;overflow:visible}
#项目选择 .project{margin:0;min-height:92px;padding:22px;text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--panel,#fff);font-size:16px;white-space:normal;overflow-wrap:anywhere}
#项目选择 .project:hover{border-color:var(--green);background:var(--soft,#f3f6f3)}
.项目账户{display:flex;align-items:center;gap:16px;margin-top:32px;color:var(--muted);font-size:12px;flex-wrap:wrap}
#项目选择 .empty{padding:48px 16px}
#项目区{width:100%;min-height:0}
#项目区 .workspace-grid{position:relative;display:flex;flex-direction:row;flex:1;min-height:0;overflow:hidden}
#项目区 .workspace-grid>.reader,#项目区 .workspace-grid>.conversation,#项目区 .workspace-grid>.终端{flex:1;min-width:0;width:auto}
#工作区 #项目目录{display:none;position:static;width:204px;flex:0 0 204px;height:auto;max-height:none;padding:12px 8px;box-sizing:border-box;border-right:1px solid var(--line)}
#工作区[data-view="源码"]:not([data-sidebar="closed"]) #项目目录{display:flex}
#项目目录 .files{width:100%;min-height:0;margin:0;padding:0;border:0;overflow:auto}
#返回项目{white-space:nowrap;color:var(--muted)}
@media(max-width:760px){
 #项目选择{padding:28px 18px}
 .项目选择标题{gap:12px;margin-bottom:24px}
 .项目选择标题 h1{font-size:24px}
 #项目选择 #项目列表{grid-template-columns:1fr}
 #工作区 #项目目录{display:none!important}
 #工作区[data-view="源码"][data-sidebar="open"] #项目目录{display:flex!important;position:absolute;inset:0 auto 0 0;width:220px;z-index:15;background:var(--bg);box-shadow:8px 0 24px #0002}
 .project-header{flex-wrap:wrap;height:auto;min-height:46px}
 #项目名称{max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

/* 文言：窄室另行置入口。汉语：手机上的 VS Code 入口单独换行，保留项目标题和编译操作。 */
#打开代码{white-space:nowrap;font-size:12px}@media(max-width:600px){#打开代码{order:5;margin-left:auto}.project-header{flex-wrap:wrap}}
