/* Quiet conversation UI. Campus navigation and a separate history submenu. */
body.agent-shell .main { max-width:none;padding:0;height:100dvh;overflow:hidden;display:flex;flex-direction:column; }
body.agent-shell .banners:not(:empty) { padding:10px 20px 0;margin-bottom:0;flex-shrink:0;max-height:135px;overflow:auto; }
.agent-page { display:flex;flex:1;min-height:0;background:var(--panel);position:relative;overflow:hidden; }
.conversation-rail { display:flex;flex-direction:column;position:absolute;left:22px;top:62px;width:292px;height:min(510px,calc(100% - 82px));min-height:0;padding:12px;background:var(--panel);border:1px solid var(--border);border-radius:16px;box-shadow:0 12px 38px rgb(20 25 35 / .12);z-index:32; }
.rail-head { display:flex;align-items:center;justify-content:space-between;padding:0 5px 10px 9px;font-size:13px;font-weight:500; }.rail-close { display:grid;width:28px;height:28px; }.rail-close .icon { width:16px;height:16px; }
.history-trigger { display:flex;align-items:center;gap:7px;border:0;border-radius:9px;padding:7px 9px;background:transparent;color:var(--muted);font-size:12px;cursor:pointer;transition:background .16s,color .16s; }.history-trigger:hover,.history-trigger[aria-expanded="true"] { background:var(--panel-2);color:var(--text); }.history-trigger .icon { width:16px;height:16px; }.history-trigger>span:last-child .icon { width:12px;height:12px; }
.new-conversation { display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;color:var(--text);padding:10px 12px;border-radius:10px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s; }
.new-conversation:hover { background:var(--panel-3); }.new-conversation .icon { width:18px;height:18px; }
.conversation-search { display:flex;align-items:center;gap:10px;margin:4px 0 18px;padding:3px 12px;color:var(--muted); }
.conversation-search .icon { width:17px;height:17px; }.conversation-search input { padding:7px 0;background:transparent;box-shadow:none;border:0;font-size:12px; }
.conversation-search:focus-within { color:var(--text); }
.conversation-list { flex:1;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--panel-3) transparent; }
.conversation-group { padding:18px 12px 7px;font-size:11px;color:var(--faint);font-weight:400; }
.conversation-row { position:relative;display:flex;align-items:center;border-radius:9px;margin:2px 0;transition:background .15s; }
.conversation-row:hover,.conversation-row.active { background:var(--panel-3); }
.conversation-open { width:100%;padding:10px 48px 10px 12px;border:0;background:transparent;color:var(--text);font-size:12px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer; }
.conversation-actions { position:absolute;right:4px;display:flex;opacity:0;transition:opacity .14s;background:inherit;border-radius:7px; }
.conversation-row:hover .conversation-actions,.conversation-row:focus-within .conversation-actions { opacity:1; }
.conversation-actions .icon-btn { width:24px;height:28px; }.conversation-actions .icon { width:13px;height:13px; }
.chat-workspace { display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;position:relative; }
.chat-head { flex-shrink:0;display:flex;align-items:center;gap:12px;padding:16px 22px;min-height:66px;z-index:3; }
.chat-head .icon-btn { width:32px;height:32px; }
.chat-heading { flex:1;min-width:0; }.chat-heading h1 { margin:0;font-size:13px;font-weight:500;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:var(--muted); }
.chat-scroll { flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:24px max(28px,calc((100% - 760px)/2)); }
.chat-workspace.is-empty { justify-content:center;padding-bottom:9vh; }
.is-empty .chat-head { position:absolute;inset:0 0 auto; }.is-empty .chat-heading h1 { visibility:hidden; }
.is-empty .chat-scroll { flex:0 0 auto;padding:0 24px;overflow:visible; }
.welcome { text-align:center;padding:0 0 30px;animation:welcome-in .38s var(--ease); }
.welcome h1 { font-size:27px;font-weight:450;line-height:1.4;letter-spacing:-.035em;margin:0;color:var(--text);text-wrap:balance; }
.composer-wrap { flex-shrink:0;align-self:center;width:min(100%,816px);padding:16px 28px 24px;position:relative;z-index:5; }
.is-empty .composer-wrap { padding-top:0;padding-bottom:0; }
.composer { position:relative;background:var(--panel);border:1px solid var(--border);border-radius:27px;padding:8px 10px;box-shadow:0 3px 18px rgb(25 30 40 / .035);transition:border-color .2s,box-shadow .2s; }
.composer:focus-within { border-color:color-mix(in srgb,var(--faint) 55%,var(--border));box-shadow:0 4px 24px rgb(25 30 40 / .06); }
.composer-line { display:flex;align-items:flex-end;gap:5px;min-width:0; }
.composer-line>.icon-btn { height:40px;width:36px;flex-shrink:0;border-radius:50%;color:var(--text); }
.composer-line>.icon-btn .icon { width:21px;height:21px; }
.composer textarea { flex:1;min-width:0;width:auto;min-height:40px;max-height:180px;resize:none;padding:8px 4px;border:0;box-shadow:none;background:transparent;font-size:15px;line-height:1.6;outline:none; }
.composer textarea:focus { box-shadow:none; }
.send-button { display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:var(--text);color:var(--panel);cursor:pointer;flex-shrink:0;margin-bottom:2px;transition:background .18s,opacity .18s,transform .18s; }
.send-button .icon { width:20px;height:20px; }.send-button:hover { opacity:.84; }.send-button:active { transform:scale(.92); }.send-button:disabled { background:var(--panel-3);color:var(--faint);cursor:default; }
.send-button#chat-stop .icon { fill:currentColor;width:15px;height:15px; }
.quick-prompts { display:none;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:24px; }
.is-empty .quick-prompts { display:flex;animation:welcome-in .45s var(--ease); }
.quick-prompts button { display:flex;align-items:center;gap:7px;padding:7px 10px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:12px;cursor:pointer;transition:background .16s,color .16s,transform .16s; }
.quick-prompts button .icon { width:15px;height:15px; }.quick-prompts button:hover { background:var(--panel-2);color:var(--text);transform:translateY(-1px); }
.model-control { position:relative;flex-shrink:0;margin-bottom:1px; }
.model-trigger { display:flex;align-items:center;justify-content:center;gap:6px;max-width:225px;height:38px;padding:6px 8px;border:0;border-radius:20px;background:transparent;color:var(--muted);font-size:12px;cursor:pointer;transition:background .16s,color .16s; }
.model-trigger:hover,.model-trigger[aria-expanded="true"] { background:var(--panel-2);color:var(--text); }.model-trigger:disabled { opacity:.55;cursor:default; }
#model-trigger-label { min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }.model-trigger .icon { width:13px;height:13px; }
.model-trigger .effort-mark { color:var(--muted); }.model-trigger.is-max .effort-mark { color:#a23cf0; }
.model-popover { position:absolute;bottom:calc(100% + 17px);right:-35px;width:326px;max-width:calc(100vw - 32px);padding:14px;background:var(--panel);border:1px solid var(--border);border-radius:20px;box-shadow:0 12px 42px rgb(20 25 35 / .13);z-index:25;transform-origin:bottom right;animation:menu-in .22s var(--ease); }
.model-menu-heading { display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:0;background:transparent;color:var(--text);border-radius:10px;cursor:pointer;text-align:center;font-size:15px;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:4px 10px 12px; }.model-menu-heading .icon { width:13px;height:13px;color:var(--muted); }
.model-options { max-height:178px;overflow:auto;scrollbar-width:thin;margin:0 -4px 8px; }
.model-option { display:flex;align-items:center;gap:9px;width:100%;padding:10px 12px;border:0;border-radius:10px;background:transparent;color:var(--text);font-size:13px;text-align:left;cursor:pointer;transition:background .14s; }
.model-option:hover,.model-option:focus-visible { background:var(--panel-2); }.model-option[aria-selected="true"] { background:var(--panel-2); }
.model-option .option-name { flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }.model-option .option-meta { font-size:10px;color:var(--muted); }.model-option .icon { width:15px;height:15px; }
.model-settings { display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 4px 0;margin-top:10px;border-top:1px solid var(--border);font-size:11px;color:var(--muted); }.model-settings .icon { width:14px;height:14px; }
@property --effort-start { syntax:'<color>';inherits:true;initial-value:#73afff; }
@property --effort-end { syntax:'<color>';inherits:true;initial-value:#3e80f5; }
.effort-control { --effort-fraction:.25;--effort-start:#73afff;--effort-end:#3e80f5;border-top:1px solid var(--border);padding:13px 3px 4px;transition:--effort-start .48s ease,--effort-end .48s ease; }
.effort-heading { display:flex;align-items:center;justify-content:space-between;padding:0 3px 7px;font-size:11px;color:var(--muted); }.effort-heading output { color:var(--text);font-weight:500; }
.effort-control[data-effort="max"] output { color:#a23cf0; }
.effort-heading-actions { display:flex;align-items:center;gap:6px; }.effort-reset { display:grid;place-items:center;width:19px;height:19px;padding:2px;border:0;border-radius:5px;background:transparent;color:var(--muted);cursor:pointer; }.effort-reset .icon { width:12px;height:12px; }.effort-reset:hover { color:var(--text);background:var(--panel-2); }
.effort-slider { position:relative;height:42px;cursor:pointer;touch-action:pan-y;user-select:none;-webkit-user-select:none; }
.effort-track { position:absolute;left:0;right:0;top:7px;height:28px;border-radius:999px;background:var(--panel-3);overflow:hidden; }
.effort-track>span { display:block;width:calc(17px + (100% - 34px)*var(--effort-fraction));height:100%;border-radius:999px;background:linear-gradient(90deg,var(--effort-start),var(--effort-end));transition:width .42s cubic-bezier(.4,0,.2,1); }
.effort-ticks { position:absolute;inset:0 15px;display:flex;align-items:center;justify-content:space-between;pointer-events:none; }.effort-ticks i { width:4px;height:4px;border-radius:50%;background:rgb(255 255 255 / .55); }
.effort-thumb-travel { position:absolute;top:4px;left:0;width:calc(100% - 34px);height:34px;pointer-events:none;z-index:2;transform:translateX(calc(100% * var(--effort-fraction)));transition:transform .42s cubic-bezier(.4,0,.2,1); }
.effort-thumb { position:absolute;left:0;top:0;width:34px;height:34px;border-radius:50%;background:#fff;border:1px solid rgb(0 0 0 / .08);box-shadow:0 1px 4px rgb(0 0 0 / .12);transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s ease; }
/* 按下：圆球微微放大、阴影加深；拖动：圆球和填充直接跟手（不做过渡），松手后恢复过渡、吸附到最近一档 */
.effort-control.pressing .effort-thumb { transform:scale(1.12);box-shadow:0 3px 10px rgb(0 0 0 / .18); }
.effort-control.dragging .effort-thumb-travel,.effort-control.dragging .effort-track>span { transition:none; }
.effort-control.dragging .effort-slider { cursor:grabbing; }
.effort-slider input { position:absolute;inset:0;width:100%;height:42px;opacity:0;margin:0;padding:0;cursor:pointer;z-index:3;appearance:none;-webkit-appearance:none;pointer-events:none; }
.effort-slider input::-webkit-slider-thumb { appearance:none;-webkit-appearance:none;width:34px;height:34px; }
.effort-slider:has(input:focus-visible) { outline:2px solid var(--accent);outline-offset:4px;border-radius:20px; }
.effort-labels { display:flex;justify-content:space-between;font-size:9px;color:var(--muted);padding:3px 2px 0; }
.email-context { display:flex;align-items:center;gap:10px;margin:0 24px 8px;padding:10px 12px;background:var(--panel-2);border-radius:11px;flex-shrink:0;animation:welcome-in .24s var(--ease); }.email-context>.icon { width:16px;height:16px;color:var(--muted); }.email-context-main { flex:1;min-width:0; }.email-context-title { font-size:12px;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis; }.email-context .small { font-size:10px;color:var(--muted); }.email-context>a { font-size:11px;white-space:nowrap;color:var(--muted); }
.msg { max-width:760px;margin:0 auto 32px;overflow-wrap:anywhere;animation:message-in .26s var(--ease); }
.msg-user { display:flex;flex-direction:column;align-items:flex-end; }.msg-user .bubble { max-width:86%;padding:10px 16px;border-radius:18px 18px 5px 18px;white-space:pre-wrap;background:var(--panel-2);font-size:14px;line-height:1.7; }
.agent-byline { margin-bottom:10px;color:var(--muted); }.agent-byline .icon { width:19px;height:19px; }
.msg-agent .bubble { font-size:14px;line-height:1.9; }.msg-agent .bubble p { margin:0 0 11px; }.msg-agent .bubble h2 { font-size:21px;font-weight:550; }.msg-agent .bubble h3 { font-size:17px;font-weight:550; }
.bubble.streaming { white-space:pre-wrap; }.bubble.streaming:not(:empty)::after { content:'';display:inline-block;width:4px;height:13px;background:var(--muted);margin-left:4px;vertical-align:middle;animation:cursor-blink 1s steps(2) infinite; }.bubble.err { color:var(--red); }
.msg-agent .bubble pre,#artifact-source { background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:16px;overflow:auto;font-size:12px;line-height:1.7; }.msg-agent .bubble pre code { background:none;padding:0;font-size:inherit; }
.message-actions { display:flex;gap:2px;opacity:0;margin-top:8px;transition:opacity .16s; }.msg:hover .message-actions,.msg:focus-within .message-actions { opacity:1; }.message-actions .icon-btn { width:28px;height:28px; }.message-actions .icon { width:14px;height:14px; }
.msg-tools { font-size:11px;color:var(--muted);margin-top:10px; }.tool-activity { display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted);margin:8px 0; }.activity-spinner { width:12px;height:12px;border:1.5px solid var(--border);border-top-color:var(--muted);border-radius:50%;animation:spin .9s linear infinite; }
.msg-writes { font-size:12px;padding:12px 14px;margin-top:12px;border:1px solid var(--border);border-radius:11px; }.msg-writes strong { display:flex;align-items:center;gap:6px;font-size:12px;font-weight:550;margin-bottom:4px; }.msg-writes .icon { width:15px;height:15px; }.msg-writes .tiny { margin-top:7px; }
.artifact-card { display:flex;align-items:center;gap:11px;width:100%;padding:14px;border:1px solid var(--border);border-radius:13px;background:var(--bg);color:var(--text);text-align:left;cursor:pointer;margin-top:14px;transition:border-color .16s,background .16s; }.artifact-card:hover { border-color:var(--faint);background:var(--panel-2); }.artifact-card strong { display:block;font-size:13px;font-weight:500; }.artifact-card small { font-size:11px;color:var(--muted); }
.attachment-tray { display:flex;gap:8px;padding:4px 4px 10px;overflow:auto;scrollbar-width:thin; }.attachment { display:flex;align-items:center;gap:8px;max-width:230px;min-width:165px;flex-shrink:0;padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--panel);color:var(--text);font-size:12px; }.attachment img { width:38px;height:38px;object-fit:cover;border-radius:7px; }.file-icon { display:grid;place-items:center;width:32px;height:36px;color:var(--muted); }.attachment-info { flex:1;min-width:0; }.attachment-info strong { display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;font-weight:500; }.attachment-info small { font-size:10px;color:var(--muted); }.attachment .icon-btn { width:22px;height:24px; }.attachment .icon-btn .icon { width:13px;height:13px; }.attachment.uploading { opacity:.6; }.attachment.failed { border-color:var(--red); }.attachment.incompatible { border-color:var(--yellow); }
.sent-attachments { display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-bottom:8px;max-width:100%; }.sent-attachments .attachment { text-decoration:none;min-width:140px; }.sent-attachments .image-attachment { min-width:0;padding:4px; }.sent-attachments .image-attachment img { width:220px;height:150px;max-width:100%;object-fit:contain;background:var(--panel-2); }
.scroll-latest { position:absolute;bottom:112px;left:50%;transform:translateX(-50%);background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:50%;z-index:4; }.scroll-latest:active { transform:translateX(-50%) scale(.93); }
.drop-overlay { position:absolute;inset:12px;z-index:20;background:color-mix(in srgb,var(--panel) 96%,transparent);backdrop-filter:blur(5px);border:1px dashed var(--faint);border-radius:20px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;pointer-events:none;animation:fade .2s; }.drop-overlay>.icon,.drop-overlay [data-icon] .icon { width:32px;height:32px; }.drop-overlay>span:last-child { font-size:12px;color:var(--muted); }
.artifact-panel { display:flex;flex-direction:column;flex:0 0 43%;min-width:300px;border-left:1px solid var(--border);background:var(--bg);animation:panel-in .32s var(--ease); }.artifact-head { display:flex;align-items:center;gap:8px;padding:19px 18px 13px; }.artifact-head .eyebrow { display:none; }.artifact-head h2 { margin:0;font-size:13px;font-weight:550; }.artifact-live { font-size:10px;color:var(--muted); }.artifact-toolbar { display:flex;align-items:center;gap:3px;padding:0 14px 12px; }.artifact-toolbar .tabs button { font-size:11px; }.artifact-toolbar .icon-btn { width:29px;height:29px; }.artifact-toolbar .icon { width:16px;height:16px; }
.artifact-content { flex:1;min-height:0;overflow:auto;margin:0 14px 12px;background:var(--panel);border:1px solid var(--border);border-radius:13px; }.artifact-content iframe { width:100%;height:100%;border:0;background:#fff;display:block; }.artifact-content pre { border:0!important;border-radius:0!important;min-height:100%;margin:0;white-space:pre-wrap;overflow-wrap:anywhere; }.artifact-foot { padding:0 16px 12px;font-size:10px;color:var(--faint); }
.rail-backdrop { position:absolute;inset:0;background:transparent;border:0;z-index:30;cursor:default; }
.email-welcome-error { padding:24px;font-size:13px; }
@keyframes welcome-in { from { opacity:0;transform:translateY(9px); } to { opacity:1;transform:translateY(0); } }
@keyframes message-in { from { opacity:0;transform:translateY(7px); } to { opacity:1;transform:translateY(0); } }
@keyframes menu-in { from { opacity:0;transform:translateY(7px) scale(.97); } to { opacity:1;transform:translateY(0) scale(1); } }
@keyframes panel-in { from { opacity:0;transform:translateX(25px); } to { opacity:1;transform:translateX(0); } }
@keyframes cursor-blink { 50% { opacity:0; } }
@media(max-width:1100px) { .composer-wrap { padding-left:22px;padding-right:22px; }.chat-scroll { padding-left:25px;padding-right:25px; }.model-trigger { max-width:180px; }.artifact-panel { flex-basis:45%; } }
@media(max-width:900px) {
  body.agent-shell { height:100dvh;overflow:hidden;display:flex;flex-direction:column; }body.agent-shell .mobile-top { position:relative;flex-shrink:0; }body.agent-shell .main { flex:1;height:auto;min-height:0;margin-bottom:calc(59px + env(safe-area-inset-bottom)); }
  .conversation-rail { left:14px;top:53px;width:min(310px,calc(100% - 28px));height:min(510px,calc(100% - 68px)); }
  .chat-head { padding:12px 14px;min-height:54px; }.chat-workspace.is-empty { padding-bottom:6vh; }.welcome { padding-bottom:25px; }.welcome h1 { font-size:25px; }
  .chat-scroll { padding:17px 20px; }.is-empty .chat-scroll { padding:0 18px; }.composer-wrap { padding:12px 14px 14px; }.is-empty .composer-wrap { padding-left:14px;padding-right:14px; }.composer { padding:6px 8px;border-radius:25px; }
  .composer textarea { font-size:14px; }.model-trigger { max-width:145px;font-size:10px;padding-left:5px;padding-right:5px;gap:3px; }.model-trigger .icon { width:11px;height:11px; }.model-popover { right:-40px;width:308px; }.send-button { width:33px;height:33px;margin-bottom:4px; }.composer-line { gap:2px; }.composer-line>.icon-btn { width:29px; }
  .quick-prompts { gap:3px;margin-top:18px; }.quick-prompts button { font-size:11px;padding:7px 8px;gap:5px; }.quick-prompts button .icon { width:14px;height:14px; }
  .email-context { margin:0 14px 8px;padding:9px 10px; }.email-context>a { font-size:10px; }.message-actions,.conversation-actions { opacity:1; }
  .artifact-panel { position:absolute;inset:0;z-index:12;min-width:0;border-left:0; }.artifact-head { padding:15px 16px; }.artifact-content { margin-left:12px;margin-right:12px; }
}
@media(max-width:420px) { .model-trigger { max-width:125px;font-size:10px; }.composer textarea { font-size:13px; }.welcome h1 { font-size:24px; }.quick-prompts button { font-size:10px; }.model-popover { right:-37px;max-width:calc(100vw - 28px); } }
html[data-motion="off"] .effort-control { transition:none; }
/* 统一设计规范（system.css）：弹层阴影、思考中文字扫光 */
.conversation-rail,.model-popover { box-shadow:var(--shadow-md); }
.tool-activity span { background:linear-gradient(90deg,var(--muted) 0%,var(--muted) 40%,var(--text) 50%,var(--muted) 60%,var(--muted) 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:think-shimmer 1.8s linear infinite; }
@keyframes think-shimmer { from { background-position:100% 0; } to { background-position:-150% 0; } }
html[data-motion="off"] .tool-activity span { color:var(--muted);background:none; }
