/* [v251 2026-10-05] AI 灌溉方案规划面板
   配色/字号全部沿用 runye-terrain.css（v245d/e 实测锚点）：
   面板 11px #4a6259；标题条 12px/600 #24443a + #f4f9f6 底；输入框 1px #d6e1da 方角白底；
   主按钮绿 #116447（= .pp-btn-generate 实测值）；提示/告警琥珀 #b45309。
   字号在 .pp-side / .gr-side 里会被宿主继承，故每处显式写死。
   [v253 2026-10-05] 悬浮面板化：.ai-open 左栏按钮删除；定位/尺寸/投影由 JS 内联
   （同 #tlWsLayerPanel 款），此处只留字体/配色基底；标题栏 = 图层控制同款（灰底、move 光标、
   sticky 吸顶、↔ 调宽手柄、▾/▸ 折叠箭头）。 */
/* [v253] 悬浮面板基底（定位/尺寸/投影见 JS 内联） */
/* [v258] display:flex + 列向**必须写在类上**，不能只写内联：
   syncSection() 用 panel.style.display='' 复位可见性，会把内联 display 抹掉，
   此处不回退成 flex 的话面板会退回 block → .ai-body 的 flex:1 失效 → 高度手柄被挤出面板不可点。 */
/* [v278 2026-10-06 用户要求] 顶端不越导航、底端不越状态栏。本行是**声明式**的兜底；
   面板被拖到更低处时，JS syncMaxH() 会写内联 max-height 覆盖它（顶越低、可用高越小，固定值兜不住）。内容再长也只在 .ai-body 内部滚动。
   [v279 2026-10-06 用户要求] 展开态「顶端紧贴导航栏、底端紧贴状态栏」（上下贴满、看起来更紧凑）：
   top/bottom 同时给死（各贴两条栏自己的 1px 边线）⇒ 面板自然拉伸成右侧整列，高度不再随内容；
   留白由 20px 收到 1px（= 可拉伸高度 100vh − 36 − 1 − 30 − 1）。 */
.ai-panel{box-sizing:border-box;color:#4a6259;background:#fff;font-size:11px;line-height:1.6;overflow:hidden;display:flex;flex-direction:column;top:calc(var(--fn-nav-h,36px) + 1px);bottom:calc(var(--ry-status-h,30px) + 1px);max-height:calc(100vh - var(--fn-nav-h,36px) - 1px - var(--ry-status-h,30px) - 1px)}
/* 标题栏：图层控制同款——灰底、move 光标、sticky 吸顶、触屏禁手势 */
.ai-panel header{display:flex;align-items:center;gap:6px;padding:6px 9px;background:#f1f5f9;border-bottom:1px solid #e2e8f0;cursor:move;user-select:none;touch-action:none;position:sticky;top:0}
.ai-panel header:hover{background:#e8eef4}
.ai-grip{cursor:ew-resize;color:#94a3b8;padding:0 3px;user-select:none;touch-action:none;font-size:12px}
.ai-caret{color:#64748b;font-size:11px}
/* [v258] 底部高度手柄：竖条状拖拽区，居中、hover 显绿，ew 语义换 ns */
.ai-grip-v{display:block;height:9px;margin:0;cursor:ns-resize;user-select:none;touch-action:none;
  background:linear-gradient(to bottom,#f1f5f9,#e6ecf2);border-top:1px solid #e2e8f0;
  position:relative;flex:0 0 auto}
.ai-grip-v::after{content:"";position:absolute;left:50%;top:50%;width:34px;height:2px;
  margin:-1px 0 0 -17px;border-radius:2px;background:#b6c2cd}
.ai-grip-v:hover::after{background:#116447}
.ai-panel h3{font-size:12px;font-weight:600;color:#24443a;margin:0;flex:1 1 auto}
.ai-tag{font-size:10px;font-weight:400;color:#7d8f86;border:1px solid #d6e1da;border-radius:8px;padding:0 5px;background:#fff}
.ai-panel .ai-body{padding:8px;overflow:auto;flex:1 1 auto;min-height:0}
/* [v258] 面板列向布局：header / body / 高度手柄 三段，body 吃掉剩余高度并内部滚动 */
.ai-label{display:block;font-size:11px;font-weight:400;color:#4a6259;padding:2px 0 3px}
.ai-panel textarea{box-sizing:border-box;width:100%;font:inherit;font-size:11px;font-weight:400;color:#243c35;background:#fff;border:1px solid #d6e1da;border-radius:0;padding:5px 6px;resize:vertical;line-height:1.55}
.ai-panel textarea:focus{outline:none;border-color:var(--g-500,#22c55e)}
.ai-panel textarea.ai-out,.ai-panel textarea.ai-json{font-family:ui-monospace,Consolas,"Courier New",monospace;font-size:10.5px;white-space:pre;overflow-wrap:normal;overflow-x:auto}
.ai-actions{display:flex;gap:6px;margin:7px 0 0}
.ai-actions button{flex:1 1 0;min-width:0;font:inherit;font-size:11px;min-height:30px;border-radius:4px;border:1px solid #d6e1da;padding:3px 6px;cursor:pointer;background:#fff;color:#4a6259}
.ai-actions button:first-child{background:#116447;border-color:#116447;color:#fff;font-weight:600}
.ai-actions button:hover{filter:brightness(0.97)}
.ai-status{font-size:11px;color:#5b7268;margin:7px 0 0;overflow-wrap:anywhere}
.ai-status.ai-err{color:#b45309;background:#fdf8ee;border:1px solid #f0e2c4;border-radius:4px;padding:6px}
.ai-block{margin:8px 0 0;background:#f8fafc;border:1px solid #e6ecf2;border-radius:4px;padding:7px}
.ai-block-head{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:11px;color:#334155;margin-bottom:5px}
.ai-block-head span{display:flex;align-items:center;gap:5px}
.ai-block button{font:inherit;font-size:11px;min-height:24px;border-radius:4px;border:1px solid #d6e1da;padding:2px 8px;cursor:pointer;background:#fff;color:#4a6259}
.ai-block button[data-ai="copy"],.ai-block button[data-ai="confirm"]{background:#116447;border-color:#116447;color:#fff;font-weight:600}
.ai-remark-text{font-size:11px;color:#334155;background:#f8fafc;border-radius:4px;padding:7px;margin:0}
.ai-risk{margin:6px 0 0;padding-left:16px}
.ai-risk li{font-size:11px;color:#b45309;margin:2px 0}
.ai-note{font-size:11px;color:#8aa094;margin:8px 0 0;line-height:1.6}
/* [v255] 在线生成：主按钮进行中的禁用态；接口地址行（默认只在需要改地址时才动它） */
.ai-actions button:disabled{background:#94a3b8;border-color:#94a3b8;color:#fff;cursor:progress}
.ai-api{display:flex;align-items:center;gap:5px;margin:7px 0 0}
.ai-api label{font-size:10.5px;color:#8aa094;flex:0 0 auto}
.ai-api input{flex:1 1 auto;min-width:0;font:inherit;font-size:10.5px;color:#243c35;background:#fff;border:1px solid #d6e1da;border-radius:0;padding:3px 5px}
.ai-api input:focus{outline:none;border-color:var(--g-500,#22c55e)}
@media(max-width:420px){.ai-panel .ai-body{padding:6px}.ai-actions{flex-direction:column}}
/* [v277 2026-10-06 用户要求] 折叠态 = 贴右缘的竖排标签条（对齐「工具栏」折叠标签 .pp-rail-tab-float）：
   用户原话「箭头指向的悬浮面板，收齐时候也是右侧折叠吧」。收起后不再是一条横在右上角的标题条，
   而是贴视口右缘、竖排写「AI灌溉方案规划」的窄条（点整条即展开，回到原悬浮位）。
   展开态的宽度/位置/拖动/调宽/调高一律不变；折叠类由 runye-ai-plan.js 的 setCollapsed() 挂摘。
   ★ 定位/尺寸/底色/圆角必须 !important：面板这些值全写在 JS 的 inline cssText 上（同 #tlWsLayerPanel 款，
     见 buildPanel），类选择器不抬 !important 一律压不住内联。
   ★ right 取 --ai-fold-right（JS 现算，默认 0px = 贴视口右缘）：二级右侧工具轨展开时轨内按钮顶到视口右缘只剩 7px，贴 0 会压住按钮文字（真渲染实测「垂直」被压 8px），故轨展开时让到轨外。
   ★ top 用 --fn-nav-h + 10px（而不是 8px）：面板是 fixed 挂 body 的根上下文元素，
     写 8px 会压在吸顶导航与右上「设置」上；也要刻意避开 50% 处那条「工具栏」折叠标签（z9995 恒置顶）。 */
.ai-panel.ai-folded{
  left:auto !important;right:var(--ai-fold-right,0px) !important;top:calc(var(--fn-nav-h,36px) + 10px) !important;
  /* [v279] 必须摘掉 bottom：展开态内联了 bottom:…（上下贴满），折叠态若不清掉，
     竖条会从 46px 一路拉到视口底部（height:auto + 上下都给死 ⇒ 拉伸成满高细条）。 */
  bottom:auto !important;
  width:auto !important;min-width:26px;height:auto !important;
  background:#fbfdfc !important;border:1px solid #b9d2c5 !important;
  border-right:0 !important;border-radius:8px 0 0 8px !important;
  box-shadow:0 2px 10px rgba(15,23,42,.12) !important;
}
.ai-panel.ai-folded:hover{background:#f2f8f4 !important}
/* 标题栏变成竖条本体：去横条底色/下边线，四周留白改竖排内距，内容居中（同「工具栏」标签 14px 5px） */
.ai-panel.ai-folded header,
.ai-panel.ai-folded header:hover{
  background:transparent;border-bottom:0;padding:14px 5px;
  justify-content:center;gap:0;cursor:pointer;
}
.ai-panel.ai-folded .ai-title{
  flex:0 0 auto;writing-mode:vertical-rl;text-orientation:upright;
  letter-spacing:5px;line-height:1.4;font-size:12px;font-weight:600;color:#2f6d43;
}
/* 折叠态里「云端版」标签、↔ 调宽手柄、▾ 折叠箭头全部让位（点整条即展开） */
.ai-panel.ai-folded .ai-tag,
.ai-panel.ai-folded .ai-grip,
.ai-panel.ai-folded .ai-caret{display:none}

/* [v330] 管理员登录行 */
.ai-admin{display:flex;align-items:center;gap:6px}
.ai-admin-btn{font:inherit;font-size:11px;min-height:24px;border:1px solid #d6e1da;background:#fff;color:#4a6259;border-radius:4px;padding:2px 10px;cursor:pointer}
.ai-admin-btn:hover{border-color:#116447;color:#116447}
.ai-admin-badge{font-size:11px;color:#116447;font-weight:600;white-space:nowrap}
/* Both entry points share the same planner and conversation. */
.ai-conversation{max-height:32vh;overflow:auto;overscroll-behavior:contain}.ai-chat-turn{padding:10px;margin:7px 0;border:1px solid #dbe7df;border-radius:8px;background:#f5faf7;font-size:12px;line-height:1.6}.ai-chat-turn.user{background:#e7f4ec}.ai-chat-turn p{white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0 0}.ai-smart-guide{padding:12px;border-bottom:1px solid #dbe7df;font-size:11px;line-height:1.7;color:#315f47}.ai-smart-guide b{font-size:14px}.ai-smart-guide a{color:#15803d}
body.ry-smart-entry .ai-panel{width: min(460px,45vw)!important;left:auto!important;right:0!important;top:0!important;bottom:30px!important;height:auto!important;max-height:none!important;border-radius:0!important}
body.ry-smart-entry .fn-nav{display:none} /* [v340] 左栏已有工具导航，顶部导航隐藏 */
body.ry-smart-entry #pipePlanSection{padding-right:min(460px,45vw)!important}
body.ry-smart-entry .ai-panel .ai-body{overflow:auto;min-height:0}.ai-panel [data-ai=online]:disabled{opacity:.6;cursor:wait}
@media(max-width:700px){body.ry-smart-entry .ai-panel{width:100%!important;top:45vh!important}body.ry-smart-entry #pipePlanSection{padding-right:0!important;padding-bottom:50vh!important}}

/* Independent entry only: existing section planner retains its panel layout. */
body.ry-smart-entry .ai-panel{left:0!important;right:0!important;width:100%!important;top:0!important;bottom:0!important;height:auto!important;max-height:none!important;border:0!important;box-shadow:none!important;z-index:9993}
body.ry-smart-entry .ai-panel .ai-body{display:block!important;height:100%;max-height:none!important;padding:0!important;overflow:hidden!important}
/* [v332 2026-10-09 用户要求] 字号对齐 WorkBuddy 主界面 */ /* [v333 2026-10-09 字号五档收敛] 展示20/标题16/正文14/说明12/辅助11 */
.smart-workbench{height:100%;min-height:0;position:relative;display:grid;grid-template-columns:220px minmax(300px,1fr) minmax(300px,360px);color:#203d31;background:#f8faf9;font:14px/1.65 -apple-system,'Microsoft YaHei',sans-serif}
.smart-history{background:#e3eae6;border-right:1px solid #c9d6cd;display:flex;flex-direction:column;padding:12px 12px 10px;min-height:0}.smart-brand{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:700;margin:0 0 12px;padding:2px 0 10px;border-bottom:1px solid #d3ded7}.smart-workbench button{font:inherit;cursor:pointer}.smart-new{background:#fff;border:1px solid #c9d9ce;border-radius:4px;padding:6px 9px;color:#15803d;text-align:left}.smart-label{font-size:11px;color:#84948a;margin:14px 8px 6px}.smart-thread-list{overflow:auto;flex:1;min-height:0}.smart-thread{display:block;width:100%;padding:7px 9px;border:0;background:transparent;text-align:left;border-radius:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4d6458;margin:3px 0}.smart-thread:hover,.smart-thread.selected{background:#fff;color:#145a35}.smart-back{padding:14px 6px 0;border-top:1px solid #dbe5de;color:#527561;font-size:12px;text-decoration:none}
.smart-center{display:flex;flex-direction:column;min-width:0;min-height:0;background:#fbfcfb}.smart-chat-head{padding:9px 16px;background:#eef3f0;border-bottom:1px solid #d3ded7;flex-wrap:wrap}.smart-chat-head h2,.smart-results h2{font-size:14px;font-weight:600;margin:0;color:#234b35}.smart-chat-head p,.smart-results header p{font-size:12px;color:#849187;margin:2px 0 0}.smart-welcome{padding:22px 30px 12px;max-width:680px;margin:0 auto}.smart-welcome[hidden]{display:none}.smart-welcome b{font-size:20px}.smart-welcome p{color:#7b8d80;line-height:1.9}.smart-example{border:1px solid #d7e4da;background:white;color:#36794d;padding:6px 11px;border-radius:5px}
/* [v335 2026-10-09 对外展示] 欢迎区三步上手指引：步骤徽12px/标题14px/说明12px/链接11px（守 v333 五档） */
.smart-steps{list-style:none;margin:16px 0 0;padding:14px 0 0;border-top:1px dashed #d7e4da;display:flex;flex-direction:column;gap:12px;text-align:left}
.smart-steps li{display:flex;gap:10px;align-items:flex-start}
.smart-steps i{flex:none;width:20px;height:20px;border-radius:50%;background:#15803d;color:#fff;font:700 12px/20px -apple-system,'Microsoft YaHei',sans-serif;font-style:normal;text-align:center}
.smart-steps b{display:block;font-size:14px;color:#234b35}
.smart-steps span{display:block;font-size:12px;color:#527561;line-height:1.6;margin-top:2px}
.smart-steps a{display:inline-block;font-size:11px;color:#15803d;text-decoration:none;margin-top:2px}
.smart-steps a:hover{text-decoration:underline}
/* [v338 2026-10-09] 左栏 WorkBuddy 式工具导航：4 主项(图标+14px)+「更多功能」折叠组(子项12px) */
.smart-nav{display:flex;flex-direction:column;gap:2px;margin:10px 0 0;padding-top:10px;border-top:1px dashed #d7e4da}
.smart-nav a,.smart-nav-more summary{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:4px;font-size:14px;color:#2c4a3c;text-decoration:none;cursor:pointer;user-select:none;list-style:none}
.smart-nav a:hover{background:#fff;color:#145a35}
.smart-nav svg{flex:none;width:16px;height:16px;fill:none;stroke:#4d6458;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.smart-nav a:hover svg{stroke:#145a35}
.smart-nav-more summary::-webkit-details-marker{display:none}
.smart-nav-more summary::after{content:'▸';margin-left:auto;font-size:10px;color:#84948a;transition:transform .15s}
.smart-nav-more[open] summary::after{transform:rotate(90deg)}
.smart-nav-more{margin-top:2px}
.smart-nav-sub{display:flex;flex-direction:column;gap:1px;margin:3px 0 0;padding:0 0 0 8px}
.smart-nav-sub a{font-size:12px;padding:6px 9px;color:#4d6458}
/* [v341 2026-10-09] 左右栏宽拖动手柄（>1050px 生效；≤1050 清 inline 模板回落媒介布局） */
.smart-grip{position:absolute;top:0;bottom:0;width:9px;cursor:col-resize;z-index:30;touch-action:none}
.smart-grip::after{content:'';position:absolute;left:4px;top:0;bottom:0;width:1px;background:transparent}
.smart-grip:hover::after,.smart-grip.dragging::after{background:#bfd3c6}
@media(max-width:1050px){.smart-grip{display:none}}
/* [v336 2026-10-09] 有历史对话时也保留三步指引入口：chat-head 折叠面板（空对话态隐藏避免与大卡重复） */
.smart-howto{margin:10px 0 0;flex:1 1 100%}
.smart-howto summary{cursor:pointer;font-size:12px;color:#15803d;user-select:none;width:-moz-fit-content;width:fit-content}
.smart-howto[open] summary{margin-bottom:10px}
.smart-howto .smart-steps{margin:0;padding-top:0;border-top:0}
body.ry-smart-entry .ai-conversation{flex:1;min-height:0;max-height:none;padding:18px 30px;overflow:auto}.smart-workbench .ai-chat-turn{padding:14px 18px;background:white;border:1px solid #e3ebe5;border-radius:8px;font-size:14px;line-height:1.8;max-width:92%;margin:0 0 20px}.smart-workbench .ai-chat-turn.user{margin-left:auto;background:#e9f3ec;border-color:#d9e9de}.smart-workbench .ai-chat-turn b{font-size:11px;color:#7e9485}.smart-composer{flex:none;padding:12px 24px 16px;border-top:1px solid #e5ece7;background:white;max-height:46%;overflow:auto}.smart-composer>label{display:block;font-size:11px;color:#87968d;margin-bottom:6px}.smart-workbench textarea[data-ai=req]{width:100%;min-height:80px;resize:vertical;max-height:180px;border:1px solid #ccdcd1;border-radius:6px;padding:10px 12px;font-size:14px;line-height:1.7;background:#fcfefc}.smart-compose-bottom .ai-actions{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0}.smart-compose-bottom [data-ai=online]{order:5;margin-left:auto;background:#15803d;color:#fff;border:0;border-radius:5px;padding:8px 16px}.smart-settings{font-size:11px;color:#64776b}.smart-settings summary{cursor:pointer}.smart-composer .ai-status{font-size:12px;margin:6px 0 0;white-space:pre-wrap}
.smart-results{background:#fff;border-left:1px solid #e0e8e2;display:flex;flex-direction:column;min-height:0;min-width:0}.smart-results>header{padding:9px 14px;background:#eef3f0;border-bottom:1px solid #d3ded7}.smart-result-scroll{padding:16px;overflow:auto;min-height:0;flex:1}.smart-plot{padding:14px;border:1px solid #dce8df;border-radius:10px;background:#fafdfb;margin-bottom:14px}.smart-plot svg{display:block;width:100%;max-height:200px}.smart-plot a{color:#15803d;font-size:11px}.smart-plot p,.smart-result-empty{font-size:12px;color:#829188;line-height:1.8}.smart-area b{font-size:20px;color:#15803d}.smart-area span{float:right;color:#849388;font-size:11px}.smart-result-empty{border:1px dashed #d3dfd6;padding:18px;border-radius:8px}.smart-workbench .ai-slot{overflow-wrap:anywhere}.smart-workbench .ai-block{padding:12px;border:1px solid #dce8df;border-radius:8px}.smart-workbench .ai-slot button{margin:6px 5px 0 0;padding:7px;border:1px solid #cddfd2;color:#15803d;background:#f5faf6;border-radius:5px}.smart-workbench :focus-visible{outline:2px solid #15803d;outline-offset:2px}
@media(max-width:1050px){.smart-workbench{grid-template-columns:165px minmax(270px,1fr) 280px}.smart-chat-head{padding:8px 12px}.smart-composer{padding:12px}.smart-brand{font-size:14px}body.ry-smart-entry .ai-conversation{padding:16px}}
@media(max-width:740px){.smart-workbench{grid-template-columns:115px minmax(0,1fr);grid-template-rows:65% 35%}.smart-history{grid-row:1/3;padding:12px 6px}.smart-results{grid-column:2;border-top:1px solid #dde6df}.smart-chat-head{padding:10px}.smart-chat-head h2{font-size:13px}.smart-chat-head p,.smart-welcome{display:none}.smart-composer{max-height:55%}.smart-results>header{padding:8px 14px}.smart-plot svg{max-height:100px}.smart-brand{font-size:11px}}

/* Keep legacy floating rails behind the independent workbench. */
body.ry-smart-entry .ai-panel{z-index:10000!important}

/* [v342 2026-10-09 CAD式软件化] 用户选定：全浅色工程软件风 + 底部状态栏 + 面板标题栏（不加顶部标题栏）。
   工作台 grid 增第二行 26px 状态栏（智能窗口 bottom:0 全屏、页面原生 #ryStatusBar 被本窗口盖住，
   此栏即窗口状态栏）：左=品牌点+产品名+版本，右=当前地块面积(drawPlot 实时回填)+本机保存提示。
   ≤740px 状态栏隐藏、恢复 65/35 两行（本块在级联上覆盖上方媒介查询的 rows）。 */
.smart-workbench{grid-template-rows:36px minmax(0,1fr) 26px}
.smart-statusbar{grid-column:1/-1;display:flex;align-items:center;gap:12px;min-width:0;padding:0 12px;background:#e3eae6;border-top:1px solid #c9d6cd;font-size:11px;line-height:1;color:#527561;white-space:nowrap;overflow:hidden;user-select:none}
.smart-statusbar b{font-weight:600;color:#234b35}
.smart-statusbar .smart-sb-dot{flex:none;width:7px;height:7px;border-radius:50%;background:#15803d}
.smart-statusbar .smart-sb-spacer{flex:1 1 auto}
.smart-statusbar .smart-sb-sep{flex:none;width:1px;height:12px;background:#d3ded7}
.smart-grip{bottom:26px}
.smart-brand::before{content:'';flex:none;width:8px;height:8px;border-radius:2px;background:#15803d}
.smart-chat-head .smart-howto{background:#fbfcfb;border:1px solid #d3ded7;border-radius:4px;padding:8px 12px;margin-top:8px}
@media(max-width:740px){.smart-statusbar,.smart-titlebar{display:none}.smart-workbench{grid-template-rows:65% 35%}.smart-grip{bottom:0}}

/* [v343 2026-10-09 加强版软件化] 顶部应用标题栏(深绿,36px) + 工具区加深一档(#e3eae6) + 左栏高密度。
   标题栏=窗口身份：品牌点+产品名(14/600)+副标(11)+右侧「返回完整工具」实链(非假窗口按钮)。
   ≤740px 标题栏隐藏(见上媒体查询)。 */
.smart-workbench header.smart-titlebar{grid-column:1/-1;display:flex;align-items:center;gap:9px;min-width:0;padding:0 14px;background:#1e4d3a;border-bottom:1px solid #16402f;font-size:14px;font-weight:600;color:#eaf3ee;user-select:none;white-space:nowrap;overflow:hidden;position:static;cursor:default}
.smart-workbench header.smart-titlebar:hover{background:#1e4d3a}
.smart-titlebar .smart-tb-dot{flex:none;width:9px;height:9px;border-radius:2px;background:#22c55e}
.smart-titlebar .smart-tb-sub{font-size:11px;font-weight:400;color:#9fc4b2}
.smart-titlebar .smart-tb-spacer{flex:1 1 auto}
.smart-titlebar a.smart-tb-link{flex:none;font-size:12px;font-weight:400;color:#d3e8dc;text-decoration:none;border:1px solid #3a6b54;border-radius:4px;padding:3px 10px}
.smart-titlebar a.smart-tb-link:hover{background:#275c45;color:#fff}

/* [v345 2026-10-09 线上简化·用户指令] 智能窗口左栏只留三项：在线地图/地块分区/管路规划。
   「地块绘制」(index.html#areaTool) 与「更多功能」折叠组(12子项)暂时隐藏；
   恢复：删除本块两条规则即可。 */
.smart-nav a[href="index.html#areaTool"]{display:none}
.smart-nav-more{display:none}
.smart-workbench .smart-chat-head,.smart-workbench .smart-results>header{display:block;cursor:default}

/* [v349] 已划分态：smart-plot（当前地块块）内嵌二级简图实截，替代手绘 SVG 边界 */
.smart-plot canvas.smart-plot-live{display:block;width:100%;background:#fff;border:1px solid #e3ebe5;border-radius:6px;margin:8px 0 6px}

/* [v366 2026-10-12] 智能规划工作台圆角微调：轻圆角让消息、输入区和操作控件更柔和 */
body.ry-smart-entry .smart-workbench button,
body.ry-smart-entry .smart-workbench a.smart-tb-link {
  border-radius: 6px;
}
body.ry-smart-entry .smart-chat-head .smart-howto,
body.ry-smart-entry .smart-workbench .ai-chat-turn,
body.ry-smart-entry .smart-workbench .ai-block,
body.ry-smart-entry .smart-workbench .ai-remark-text,
body.ry-smart-entry .smart-plot,
body.ry-smart-entry .smart-result-empty,
body.ry-smart-entry .smart-composer textarea {
  border-radius: 8px;
}