.workbench-page{margin:0;background:var(--bg,#f2f7f3);color:var(--text,#203a2b);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif}
.wb-header{height:72px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line,#dce8df);background:var(--card,#fff);gap:16px}
.wb-brand{display:flex;align-items:center;gap:9px;font-size:20px;font-weight:700;color:var(--brand);text-decoration:none;white-space:nowrap}.wb-brand img{width:32px;height:32px}
.wb-header nav{display:flex;align-items:center;gap:22px;font-size:14px}.wb-header a{color:inherit;text-decoration:none}.wb-header select{border:1px solid var(--line);border-radius:8px;padding:6px;background:var(--card)}
.wb-main{max-width:900px;margin:auto;padding:50px 24px 190px}.wb-welcome{padding:22px 0 38px}.wb-eyebrow{font-size:13px;letter-spacing:2px;color:var(--brand)}.wb-welcome h1{font-size:34px;letter-spacing:-1px;margin:14px 0 12px}.wb-welcome p{color:var(--sub);line-height:1.7;margin:0 0 24px}
.wb-shortcuts,.wb-candidates{display:flex;gap:10px;flex-wrap:wrap}.wb-shortcuts button,.wb-candidates button{background:var(--card,#fff);border:1px solid var(--line);border-radius:12px;padding:10px 16px;color:var(--text);cursor:pointer;font:inherit}
.wb-message{margin:20px 0;min-width:0}.wb-message.user{display:flex;justify-content:flex-end}.wb-user-text{max-width:82%;background:var(--brand);color:white;border-radius:18px 18px 4px 18px;padding:12px 18px;white-space:pre-wrap;overflow-wrap:anywhere}.wb-assistant-text{line-height:1.8;color:var(--sub);margin-bottom:10px}
.wb-card{background:var(--card,#fff);border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 30px #173b2510;min-width:0;overflow:hidden}.wb-card:focus{outline:2px solid var(--brand);outline-offset:3px}
.wb-card-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line);gap:12px}.wb-card-title{flex:1 1 8em;font-size:17px;margin:0;overflow-wrap:anywhere}.wb-card-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;max-width:100%;margin-left:auto;gap:6px;flex-shrink:0}.wb-card-actions button{background:none;border:0;color:var(--sub);padding:8px;cursor:pointer;font:inherit;font-size:12px}.wb-card-body{padding:20px;line-height:1.7;overflow-wrap:anywhere}.wb-card-body[hidden]{display:none}.wb-card-body a{color:var(--brand)}
.wb-bottom{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(900px,100%);box-sizing:border-box;padding:16px 24px max(18px,env(safe-area-inset-bottom));background:linear-gradient(transparent,var(--bg,#f2f7f3) 24%);z-index:20}
.wb-composer{padding:14px 16px 10px;border:1px solid var(--line);border-radius:20px;background:var(--card,#fff);box-shadow:0 8px 35px #173b2515}.wb-composer textarea{font:inherit;font-size:16px;line-height:1.6;width:100%;min-height:40px;max-height:100px;resize:vertical;border:none;outline:none;background:transparent;color:var(--text);box-sizing:border-box}.wb-composer:focus-within{border-color:var(--brand)}
.wb-compose-actions{display:flex;align-items:center;gap:10px}.wb-compose-actions button{border:0;border-radius:10px;padding:10px 14px;font:inherit;font-size:14px;cursor:pointer;background:var(--bg,#f2f7f3);color:var(--brand)}.wb-compose-actions .wb-send{background:var(--brand);color:white;margin-left:auto}.wb-compose-hint{font-size:11px;color:var(--sub)}
.wb-tool-list{max-height:38vh;overflow:auto;background:var(--card,#fff);border:1px solid var(--line);border-radius:18px;padding:12px;margin-bottom:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.wb-tool-list[hidden]{display:none}.wb-tool-list button{text-align:left;font:inherit;font-size:14px;background:none;color:var(--text);padding:12px;border:0;border-radius:10px;cursor:pointer}.wb-tool-list button:hover{background:var(--bg)}
.wb-new-message{position:fixed;bottom:164px;left:50%;transform:translateX(-50%);border:1px solid var(--line);background:var(--card);color:var(--brand);padding:10px 18px;border-radius:24px;cursor:pointer;z-index:21}
.wb-composer button:focus-visible,.wb-card button:focus-visible,.wb-tool-list button:focus-visible,.wb-shortcuts button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.wb-card.is-fullscreen{position:fixed;inset:10px;z-index:40;overflow:auto;background:var(--card)}
@media(max-width:600px){.wb-header{height:60px;padding:0 16px}.wb-header nav{gap:10px;font-size:12px}.wb-header nav a:nth-child(2){display:none}.wb-header select{max-width:80px}.wb-brand{font-size:17px}.wb-main{padding:28px 12px 180px}.wb-welcome{padding:12px 8px 22px}.wb-welcome h1{font-size:27px}.wb-welcome p{font-size:14px}.wb-bottom{padding:12px 10px max(12px,env(safe-area-inset-bottom))}.wb-compose-hint{display:none}.wb-card-header{padding:13px 12px;align-items:flex-start}.wb-card-body{padding:14px 12px}.wb-card-actions{gap:0}.wb-card-actions button{padding:6px}.wb-tool-list{grid-template-columns:repeat(2,minmax(0,1fr))}.wb-card.is-fullscreen{inset:0;padding-bottom:env(safe-area-inset-bottom)}}

.wb-tool-row,.wb-shortcut{display:flex;align-items:center}.wb-tool-row>button:first-child{flex:1;text-align:left}.wb-shortcut>button{padding:9px 10px}.wb-header{height:auto;min-height:72px;flex-wrap:wrap;padding-block:12px}.wb-header nav{flex-wrap:wrap;gap:12px}.wb-header [data-portal-topbar]{margin:0}.wb-main .home-notice{margin-bottom:20px}.wb-main .portal-footer{margin-top:32px}.wb-tool-list{overflow-y:auto;max-height:45vh}@media(max-width:600px){.wb-header{padding:10px 12px;gap:8px}.wb-header nav{font-size:12px;gap:9px}.wb-header .p-account{min-width:0}.wb-main{padding-top:20px}}

/* 双模式首页：工具卡片在面板内滚动，输入区与备案信息各自占位。 */
.home-dual .wb-main{max-width:1200px;padding:32px 24px}
.home-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}
.home-intro h1{font-size:var(--font-title);margin:10px 0}.home-intro p{color:var(--sub);line-height:1.7}
.home-mode-tabs{display:flex;gap:6px;flex-shrink:0;padding:6px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--card)}
.home-mode-tabs button,.catalog-search button{font:inherit;padding:10px 16px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text);cursor:pointer}
.home-mode-tabs [aria-selected=true]{background:var(--brand);color:var(--card)}
.home-mode-tabs button:focus-visible,.catalog-search input:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}
.catalog-nav{display:flex;flex-wrap:wrap;gap:16px}.catalog-nav a{color:var(--brand);text-decoration:none}
.catalog-search{display:flex;max-width:100%;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card)}
.catalog-search input{min-width:0;width:240px;padding:10px;border:0;background:transparent;color:var(--text);font:inherit}
#tool-search-status{color:var(--sub);font-size:var(--font-sm)}
.home-dual .wb-chat-panel{display:flex;flex-direction:column;height:clamp(480px,75dvh,850px);border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);overflow:hidden}
.home-dual [hidden]{display:none!important}
.home-dual .wb-conversation{flex:1;min-height:0;overflow:auto;padding:0 24px;overscroll-behavior:contain}
.home-dual .wb-welcome{padding:24px 0}.home-dual .wb-welcome h2{font-size:var(--font-xl)}
.home-dual .wb-bottom{position:relative;left:auto;bottom:auto;transform:none;width:100%;flex-shrink:0;padding:12px 20px;background:var(--bg);border-top:1px solid var(--line);z-index:1}
.home-dual .wb-tool-list{position:absolute;bottom:100%;left:20px;right:20px;max-height:36dvh;margin-bottom:8px}
.home-dual .wb-new-message{position:absolute;bottom:100%;margin-bottom:8px}
.home-dual .portal-footer{margin:0 auto;padding:24px}
@media(max-width:600px){.home-dual .wb-main{padding:20px 12px}.home-intro{align-items:flex-start;flex-direction:column;gap:12px}.home-mode-tabs{align-self:stretch}.home-mode-tabs button{flex:1}.catalog-search{width:100%}.catalog-search input{flex:1}.home-dual .wb-conversation{padding:0 10px}.home-dual .wb-bottom{padding:10px}.home-dual .wb-tool-list{left:10px;right:10px}}

.home-dual .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* 顶部输入与分类工具选择 */
.home-dual .wb-chat-panel{height:auto;min-height:480px;overflow:visible;border:0;background:transparent}
.home-dual .wb-bottom{order:0;padding:0 0 20px;background:transparent;border:0;z-index:25}
.home-dual .wb-conversation{order:1;overflow:visible;padding:0;min-height:220px}
.home-dual .wb-composer{position:relative;padding:18px 20px 14px 52px;border-radius:var(--r-xl);box-shadow:var(--shadow-search);transition:border-color .15s,box-shadow .15s}
.home-dual .wb-composer:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint-panel),var(--shadow-search)}
.wb-search-mark{position:absolute;left:18px;top:14px;color:var(--brand);font-size:var(--font-title)}
.home-dual .wb-composer textarea{min-height:36px;max-height:120px;resize:none}
.home-dual .wb-composer textarea::placeholder{color:var(--sub)}
.home-dual .wb-compose-actions button{border-radius:var(--r-pill)}
.home-dual .wb-tool-list{top:100%;bottom:auto;left:0;right:0;max-height:60dvh;padding:18px;margin:0;display:block;box-shadow:var(--shadow-lift)}
.wb-tool-group h3{font-size:var(--font-sm);color:var(--sub);margin:10px 0}
.wb-tool-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.wb-tool-grid>button{display:flex;align-items:center;gap:10px;min-width:0;border:1px solid var(--line);border-radius:var(--r-md);padding:10px!important}
.wb-tool-grid>button:hover,.wb-tool-grid>button:focus-visible{background:var(--brand-tint-panel);outline:2px solid var(--brand);outline-offset:-2px}
.wb-picker-icon{display:flex;flex-shrink:0}.wb-picker-icon .tool-icon{width:32px;height:32px}.wb-picker-icon svg{width:22px;height:22px}
.home-dual .wb-welcome{padding:18px;text-align:center}.home-dual .wb-welcome .wb-eyebrow{display:none}.home-dual .wb-welcome h2{font-size:var(--font-lg);margin:0 0 8px}.home-dual .wb-welcome p{margin:0}
.home-dual .wb-conversation:has(.wb-card) .wb-welcome{display:none}
.home-dual .wb-card{max-width:780px;border-radius:var(--r-card);box-shadow:var(--shadow-card)}
.home-dual .wb-card-header{padding:12px 16px}.home-dual .wb-card-body{padding:8px 12px}
.home-dual .wb-card.is-fullscreen{max-width:none}
.home-dual .wb-new-message{position:static;transform:none;margin:8px auto;display:block}
@media(max-width:700px){.wb-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-dual .wb-composer{padding:16px 12px 12px 40px}.wb-search-mark{left:12px}.home-dual .wb-tool-list{padding:12px}.home-dual .wb-card-body{padding:6px}.home-dual .home-nav{overflow-x:auto}}

.home-dual .wb-card.is-fullscreen{z-index:60}
.home-dual[data-home-mode=chat] .wb-main:has(.wb-card){max-width:1120px;padding-top:12px}
.home-dual[data-home-mode=chat] .wb-main:has(.wb-card) .home-mode-tabs{margin-bottom:8px}
.home-dual[data-home-mode=chat] .wb-main:has(.wb-card) .wb-bottom{padding-bottom:8px}
.home-dual[data-home-mode=chat] .wb-main:has(.wb-card) .wb-card{max-width:none}
.home-dual[data-home-mode=chat] .wb-main:has(.wb-card) .wb-message{margin:8px 0}
.home-dual[data-home-mode=chat] .wb-main:has(.wb-card) .wb-composer{padding-block:8px}
.home-dual[data-home-mode=chat] .wb-main:has(.wb-card) .wb-card-header{padding-block:8px}
@media(min-width:601px){.home-dual[data-home-mode=chat] .wb-main:has(.wb-card) .wb-search-mark{top:50%;transform:translateY(-50%)}}
.home-dual #wb-language{float:right;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);color:var(--sub);font-size:var(--font-xs);margin-bottom:8px}
.home-dual .wb-composer{clear:both}

/* 对话助手空态仅保留输入面板，模式切换使用轻量文字入口。 */
.home-dual{min-height:100dvh;display:flex;flex-direction:column}
.home-dual .wb-main{width:100%;flex:1}
.home-dual .home-mode-tabs{justify-content:flex-end;gap:14px;padding:0;margin:0 0 18px;border:0;background:transparent;border-radius:0}
.home-dual .home-mode-tabs button{flex:0 0 auto;padding:5px 0;font-size:var(--font-sm);color:var(--sub);background:transparent;border-radius:0}
.home-dual .home-mode-tabs [aria-selected=true]{color:var(--brand);box-shadow:inset 0 -1px var(--brand)}
.home-dual[data-home-mode=chat] .wb-main{max-width:860px;padding-top:clamp(28px,12vh,108px)}
.home-dual[data-home-mode=chat] .wb-main:has(.wb-card) .home-hero,
.home-dual[data-home-mode=chat] .home-notice,
.home-dual[data-home-mode=chat] .wb-welcome,
.home-dual[data-home-mode=chat] #wb-language,
.home-dual[data-home-mode=chat] .wb-compose-hint,
.home-dual[data-home-mode=chat] .wb-new-message{display:none!important}
.home-dual[data-home-mode=chat] .wb-chat-panel{min-height:0}
.home-dual[data-home-mode=chat] .wb-conversation{min-height:0}
.home-dual[data-home-mode=chat] .wb-composer{display:flex;align-items:center;gap:12px;padding:16px 16px 16px 48px}
.home-dual[data-home-mode=chat] .wb-composer textarea{flex:1;min-width:0;min-height:32px;margin:0}
.home-dual[data-home-mode=chat] .wb-compose-actions{flex-shrink:0;gap:8px}
.home-dual[data-home-mode=chat] .wb-compose-actions button{padding:8px 12px;font-size:var(--font-sm)}
.home-dual[data-home-mode=chat] #wb-tools{background:transparent;color:var(--sub)}
.home-dual[data-home-mode=chat] #wb-input-hint:empty{display:none}
.home-dual[data-home-mode=chat] .wb-search-mark{top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:22px;height:22px;line-height:1}
.home-dual{isolation:isolate}
.home-background{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 20%,#2ba46a16,transparent 75%)}
.home-background .home-hero-field{mask-image:none;-webkit-mask-image:none}
.home-dual .home-hero::before{display:none}
/* 消息与工具轻柔入场，不延迟可操作时间。 */
@keyframes wb-reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.wb-message:not([hidden]){animation:wb-reveal .28s ease-out}
.wb-tool-list:not([hidden]){animation:wb-reveal .2s ease-out}
.wb-tool-group,.wb-tools-empty{animation:wb-reveal .22s ease-out}
.wb-tool-grid>button,.wb-candidates>button,.wb-compose-actions button{transition:background-color .18s ease,box-shadow .18s ease}
.home-dual .wb-main{transition:max-width .28s ease,padding-top .28s ease}
@media(prefers-reduced-motion:reduce){
  .wb-message:not([hidden]),.wb-tool-list:not([hidden]),.wb-tool-group,.wb-tools-empty{animation:none}
  .home-dual .wb-main,.wb-tool-grid>button,.wb-candidates>button,.wb-compose-actions button{transition:none}
}
.home-dual .home-hero{padding:36px 20px;margin-bottom:20px;border-radius:var(--r-xl)}
.home-dual[data-home-mode=chat] .wb-main:not(:has(.wb-card)){padding-top:28px}
@media(max-width:600px){
  .home-dual[data-home-mode=chat] .wb-composer{flex-wrap:wrap;gap:6px;padding:14px 12px 10px 40px}
  .home-dual[data-home-mode=chat] .wb-composer textarea{flex-basis:100%}
  .home-dual[data-home-mode=chat] .wb-compose-actions{width:100%}
  .home-dual[data-home-mode=chat] .wb-main{padding-top:64px}
}
