.rutil-assistant-root{position:fixed;right:22px;bottom:22px;z-index:9800}
.rutil-assistant-root[hidden]{display:none!important}
.rutil-assistant-button{display:flex;align-items:center;gap:8px;min-height:42px;padding:6px 12px 6px 7px;border:1px solid var(--border);border-radius:999px;background:var(--panel);color:var(--text);box-shadow:0 10px 30px rgba(0,0,0,.28)}
.rutil-assistant-button:hover{background:var(--panel2)}
.rutil-assistant-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--text);color:var(--bg);font-weight:800}
.rutil-assistant-button-text{font-size:12px;font-weight:700}
.rutil-assistant-panel{position:absolute;right:0;bottom:54px;width:min(420px,calc(100vw - 28px));max-height:min(720px,78vh);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:16px;background:var(--panel);box-shadow:0 22px 70px rgba(0,0,0,.42);opacity:0;transform:translateY(10px) scale(.985);pointer-events:none;transition:opacity .18s ease,transform .18s ease}
.rutil-assistant-panel.open{opacity:1;transform:none;pointer-events:auto}
.rutil-assistant-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:14px 14px 10px;border-bottom:1px solid var(--border)}
.rutil-assistant-head h2{margin:2px 0 0;font-size:17px}
.rutil-assistant-kicker{font-size:9px;letter-spacing:.14em;color:var(--muted);font-weight:800}
.rutil-assistant-close{width:30px;height:30px;padding:0;border-radius:9px;background:transparent;color:var(--text);border:1px solid var(--border);font-size:20px;line-height:1}
.rutil-assistant-context{padding:8px 14px;font-size:10px;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rutil-assistant-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:8px 10px;border-bottom:1px solid var(--border)}
.rutil-assistant-tabs button{min-height:30px;padding:5px 8px;background:var(--bg);color:var(--muted);border:1px solid var(--border);border-radius:8px;font-size:11px}
.rutil-assistant-tabs button.active{background:var(--panel2);color:var(--text);border-color:var(--text)}
.rutil-assistant-body{min-height:180px;overflow:auto;padding:12px 14px;line-height:1.45}
.rutil-assistant-summary{margin:0 0 10px;color:var(--muted)}
.rutil-assistant-body h3{font-size:12px;margin:13px 0 6px}
.rutil-assistant-list{margin:7px 0 0;padding-left:20px}
.rutil-assistant-list li{margin:0 0 7px}
.rutil-assistant-progress{margin-top:10px;padding:9px 10px;border:1px solid var(--border);border-radius:10px;background:var(--panel2);font-size:11px}
.rutil-assistant-note{margin:10px 0 0;font-size:10px;color:var(--muted)}
.rutil-assistant-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:10px;border-top:1px solid var(--border)}
.rutil-assistant-actions button{min-width:0}
.rutil-assistant-highlight{outline:2px solid color-mix(in srgb,var(--text) 72%,transparent)!important;outline-offset:3px!important;box-shadow:0 0 0 5px color-mix(in srgb,var(--text) 12%,transparent)!important}
.rutil-assistant-button.attention{animation:rutilAssistantAttention 1.35s ease}
@keyframes rutilAssistantAttention{0%,100%{transform:translateY(0)}35%{transform:translateY(-5px)}60%{transform:translateY(0)}75%{transform:translateY(-2px)}}
.rutil-assistant-root.no-motion *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.assistant-settings-grid{display:grid;gap:0;margin-top:10px;border:1px solid var(--border);border-radius:10px;overflow:hidden}
.assistant-setting-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:14px;align-items:center;min-height:48px;padding:8px 12px;background:var(--panel2);border-bottom:1px solid var(--border)}
.assistant-setting-row:last-child{border-bottom:0}
.assistant-setting-copy{min-width:0}
.assistant-setting-copy b{display:block;font-size:12px}
.assistant-setting-copy span{display:block;margin-top:2px;color:var(--muted);font-size:10px;line-height:1.35}
.assistant-setting-switch{justify-self:end;width:44px;min-width:44px;display:flex;align-items:center;justify-content:center;margin:0;padding:0}
.assistant-setting-switch.toggle-switch{gap:0}
.assistant-setting-switch .toggle-track{flex:0 0 38px;margin:0}
.assistant-section-settings-block{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}
.assistant-section-settings-title{margin-bottom:3px;font-size:12px;font-weight:800}
.assistant-section-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:0;border-radius:0;overflow:visible}
.assistant-section-settings-grid .assistant-setting-row{min-height:58px;border:1px solid var(--border);border-radius:10px}
.assistant-section-settings-grid .assistant-setting-row:last-child{border-bottom:1px solid var(--border)}
.rutil-bomberman{transform-origin:50% 100%;animation:rutilBomberIdle 3.8s ease-in-out infinite}
@keyframes rutilBomberIdle{0%,100%{transform:translateY(0) rotate(0)}45%{transform:translateY(-2px) rotate(-.4deg)}55%{transform:translateY(-2px) rotate(.4deg)}}
html[data-theme="light"] .rutil-assistant-panel,html[data-theme="light"] .rutil-assistant-button{box-shadow:0 14px 42px rgba(0,0,0,.16)}
@media(max-width:600px){.rutil-assistant-root{right:10px;bottom:10px}.rutil-assistant-button{min-height:40px}.rutil-assistant-panel{right:0;bottom:50px;width:calc(100vw - 20px);max-height:76vh}.rutil-assistant-button-text{display:none}.rutil-assistant-actions{grid-template-columns:1fr}.assistant-setting-row{grid-template-columns:minmax(0,1fr) 44px}.assistant-section-settings-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.rutil-assistant-root *{animation:none!important;transition:none!important}}
/* Isolate the floating helper from the application sidebar and button layouts. */
#rutilAssistantRoot{position:fixed!important;inset:auto 10px 10px auto;width:86px;height:auto;display:block;margin:0;padding:0;transform:none;z-index:9800}
#rutilAssistantButton{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:86px;min-width:0;height:112px;min-height:0;padding:0;border:0;border-radius:18px;background:transparent!important;color:var(--text);box-shadow:none!important;backdrop-filter:none!important;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
#rutilAssistantButton:hover,#rutilAssistantButton:active,#rutilAssistantButton:focus{background:transparent!important;box-shadow:none!important}
#rutilAssistantButton:focus-visible{outline:2px solid var(--assistant-role-accent);outline-offset:3px}
#rutilAssistantButton.dragging{cursor:grabbing;animation:none!important;transform:none!important}
#rutilAssistantButton .rutil-bomberman{display:block;flex:none;width:76px;height:89px;overflow:visible;pointer-events:none;filter:drop-shadow(0 3px 3px rgba(0,0,0,.22))}
#rutilAssistantButton .rutil-assistant-button-text{display:block!important;padding:2px 8px;border:1px solid var(--border);border-radius:999px;background:var(--panel);color:var(--text);font:600 10px/14px "Segoe UI",sans-serif;pointer-events:none}
#rutilAssistantPanel{position:fixed!important;inset:auto;width:min(420px,calc(100vw - 20px));height:auto;min-height:0;max-height:calc(100dvh - 20px);margin:0;padding:0;box-sizing:border-box;align-self:auto;z-index:1}
#rutilAssistantPanel .rutil-assistant-head>div{flex:1;min-width:0}
.rutil-assistant-reset{flex:none;width:30px;height:30px;padding:0;border:1px solid var(--border);border-radius:9px;background:transparent;color:var(--text);font-size:20px}
#rutilAssistantPanel .rutil-assistant-body{min-height:0;flex:1;overscroll-behavior:contain}
#rutilAssistantPanel .rutil-assistant-close{flex:none}
@media(max-width:600px){#rutilAssistantRoot{width:76px}#rutilAssistantButton{width:76px;height:101px}#rutilAssistantButton .rutil-bomberman{width:66px;height:78px}}

/* P11 unified assistant role architecture */
#rutilAssistantRoot[data-assistant-role] .rutil-assistant-button-text{min-width:72px;text-align:center}
#rutilAssistantRoot[data-assistant-role="builder"] .rutil-assistant-button-text,
#rutilAssistantRoot[data-assistant-role="analyst"] .rutil-assistant-button-text,
#rutilAssistantRoot[data-assistant-role="financier"] .rutil-assistant-button-text,
#rutilAssistantRoot[data-assistant-role="technician"] .rutil-assistant-button-text{font-weight:750}
.assistant-role-setting{min-height:58px}
.assistant-role-setting .assistant-setting-copy b{font-size:12.5px}
.assistant-role-setting .assistant-setting-copy span{max-width:260px}

/* P12 Builder identity + AI workspace */
/* Role identity: Bomberman accent colour + glow only. */
#rutilAssistantRoot{--assistant-role-accent:#6657e8;--assistant-role-glow:rgba(102,87,232,.56)}
#rutilAssistantRoot[data-assistant-role="builder"]{--assistant-role-accent:#f4b942;--assistant-role-glow:rgba(244,185,66,.72)}
#rutilAssistantButton .rutil-assistant-suit{fill:var(--assistant-role-accent)!important}
#rutilAssistantRoot[data-assistant-role="builder"] .rutil-assistant-button-text{border-color:color-mix(in srgb,var(--assistant-role-accent) 72%,var(--border));box-shadow:0 0 0 1px color-mix(in srgb,var(--assistant-role-accent) 20%,transparent)}
#rutilAssistantRoot.role-change #rutilAssistantButton,#rutilAssistantRoot.context-change #rutilAssistantButton{animation:rutilAssistantRoleGlow .72s ease both}
@keyframes rutilAssistantRoleGlow{0%,100%{filter:none}48%{filter:drop-shadow(0 0 9px var(--assistant-role-glow))}}#rutilAssistantRoot[data-assistant-role="builder"] .rutil-assistant-tabs:has(.rutil-assistant-ai-tab:not([hidden])){
  grid-template-columns:repeat(4,minmax(0,1fr))
}
.rutil-assistant-ai-tab{font-weight:750}
.rutil-builder-ai{display:flex;flex-direction:column;gap:8px}
.rutil-builder-ai-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.rutil-builder-context-chip{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;
  background:color-mix(in srgb,#f4b942 16%,var(--panel2));border:1px solid color-mix(in srgb,#f4b942 55%,var(--border));font-size:9.5px}
.rutil-builder-quick{display:flex;flex-wrap:wrap;gap:5px}
.rutil-builder-quick button{min-height:28px;padding:4px 8px;font-size:9.5px}
.rutil-builder-transcript{display:flex;flex-direction:column;gap:7px;max-height:310px;overflow:auto;padding:2px}
.rutil-builder-message{padding:8px 9px;border:1px solid var(--border);border-radius:10px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:10.5px;line-height:1.42}
.rutil-builder-message.user{align-self:flex-end;max-width:88%;background:var(--panel2)}
.rutil-builder-message.assistant{align-self:stretch;background:color-mix(in srgb,var(--panel2) 84%,#f4b942 5%)}
.rutil-builder-message-meta{display:flex;justify-content:space-between;gap:8px;margin-bottom:4px;color:var(--muted);font-size:8.5px}
.rutil-builder-mode{font-weight:700}
.rutil-builder-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:end}
.rutil-builder-compose textarea{width:100%;min-height:60px;max-height:150px;resize:vertical;box-sizing:border-box}
.rutil-builder-compose button{min-height:34px}
.rutil-builder-empty{padding:9px;border:1px dashed var(--border);border-radius:9px;color:var(--muted);font-size:10px}
.rutil-builder-thinking{opacity:.78}
@media(max-width:600px){
  .rutil-builder-compose{grid-template-columns:1fr}
  .rutil-builder-compose button{width:100%}
  .rutil-builder-transcript{max-height:260px}
}

/* P13 role colour contract */
#rutilAssistantRoot[data-assistant-role="analyst"]{--assistant-role-accent:#4f8cff;--assistant-role-glow:rgba(79,140,255,.70)}
#rutilAssistantRoot[data-assistant-role="financier"]{--assistant-role-accent:#43c982;--assistant-role-glow:rgba(67,201,130,.68)}
#rutilAssistantRoot[data-assistant-role="technician"]{--assistant-role-accent:#9b7bff;--assistant-role-glow:rgba(155,123,255,.68)}
#rutilAssistantRoot[data-assistant-role] .rutil-assistant-button-text{
  border-color:color-mix(in srgb,var(--assistant-role-accent) 72%,var(--border));
  box-shadow:0 0 0 1px color-mix(in srgb,var(--assistant-role-accent) 20%,transparent)
}
#rutilAssistantRoot .rutil-assistant-tabs:has(.rutil-assistant-ai-tab:not([hidden])){
  grid-template-columns:repeat(4,minmax(0,1fr))
}
.rutil-analyst-ai{display:flex;flex-direction:column;gap:8px}
.rutil-analyst-ai-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.rutil-analyst-context-chip{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;
  background:color-mix(in srgb,#4f8cff 15%,var(--panel2));border:1px solid color-mix(in srgb,#4f8cff 55%,var(--border));font-size:9.5px}
.rutil-analyst-quick{display:flex;flex-wrap:wrap;gap:5px}
.rutil-analyst-quick button{min-height:28px;padding:4px 8px;font-size:9.5px}
.rutil-analyst-transcript{display:flex;flex-direction:column;gap:7px;max-height:310px;overflow:auto;padding:2px}
.rutil-analyst-message{padding:8px 9px;border:1px solid var(--border);border-radius:10px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:10.5px;line-height:1.42}
.rutil-analyst-message.user{align-self:flex-end;max-width:88%;background:var(--panel2)}
.rutil-analyst-message.assistant{align-self:stretch;background:color-mix(in srgb,var(--panel2) 84%,#4f8cff 5%)}
.rutil-analyst-message-meta{display:flex;justify-content:space-between;gap:8px;margin-bottom:4px;color:var(--muted);font-size:8.5px}
.rutil-analyst-mode{font-weight:700}
.rutil-analyst-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:end}
.rutil-analyst-compose textarea{width:100%;min-height:60px;max-height:150px;resize:vertical;box-sizing:border-box}
.rutil-analyst-compose button{min-height:34px}
.rutil-analyst-empty{padding:9px;border:1px dashed var(--border);border-radius:9px;color:var(--muted);font-size:10px}
.rutil-analyst-thinking{opacity:.78}
@media(max-width:600px){
  .rutil-analyst-compose{grid-template-columns:1fr}
  .rutil-analyst-compose button{width:100%}
  .rutil-analyst-transcript{max-height:260px}
}

/* Help bomb: separate contextual reference from AI Bomberman */
.rutil-assistant-ai-empty{padding:12px;border:1px dashed var(--border);border-radius:10px;color:var(--muted);font-size:11px;line-height:1.45}
.rutil-help-bomb-root{position:fixed;z-index:1203;right:112px;bottom:10px;touch-action:none}
.rutil-help-bomb-root[hidden]{display:none!important}
.rutil-help-bomb-button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;width:76px;height:101px;padding:0;border:0;background:transparent;cursor:pointer;user-select:none;touch-action:none}
.rutil-help-bomb-button.dragging{cursor:grabbing}
.rutil-help-bomb-svg{width:72px;height:82px;overflow:visible;filter:drop-shadow(0 5px 7px rgba(0,0,0,.25));transform-origin:50% 65%}
.rutil-help-bomb-label{position:absolute;bottom:0;min-width:62px;padding:3px 7px;border-radius:999px;background:var(--panel);border:1px solid var(--border);color:var(--text);font-size:9.5px;font-weight:750;line-height:1.2;box-shadow:0 4px 14px rgba(0,0,0,.16)}
.rutil-help-burst{position:absolute;left:50%;top:36px;width:12px;height:12px;border-radius:50%;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.2);box-shadow:0 -28px 0 -3px #ffcf4a,20px -18px 0 -3px #ffcf4a,29px 2px 0 -3px #ffcf4a,19px 23px 0 -3px #ffcf4a,0 31px 0 -3px #ffcf4a,-20px 23px 0 -3px #ffcf4a,-29px 2px 0 -3px #ffcf4a,-20px -18px 0 -3px #ffcf4a}
.rutil-help-bomb-button.detonate .rutil-help-bomb-svg{animation:rutilHelpBombPop .42s ease both}
.rutil-help-bomb-button.detonate .rutil-help-burst{animation:rutilHelpBurst .42s ease-out both}
.rutil-help-bomb-button.detonate .rutil-help-fuse-spark{animation:rutilHelpSpark .42s ease-out both}
.rutil-help-bomb-root.no-motion .rutil-help-bomb-button,.rutil-help-bomb-root.no-motion .rutil-help-bomb-svg,.rutil-help-bomb-root.no-motion .rutil-help-burst{animation:none!important;transition:none!important}
@keyframes rutilHelpBombPop{0%,100%{transform:scale(1)}38%{transform:scale(.86)}58%{transform:scale(1.12)}}
@keyframes rutilHelpBurst{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}45%{opacity:.95}100%{opacity:0;transform:translate(-50%,-50%) scale(1.35)}}
@keyframes rutilHelpSpark{0%,100%{opacity:1}50%{opacity:.15}}
.rutil-help-bomb-panel{position:fixed;z-index:1202;display:none;flex-direction:column;overflow:hidden;width:min(420px,calc(100vw - 20px));max-height:calc(100vh - 20px);background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.28);color:var(--text)}
.rutil-help-bomb-panel.open{display:flex}
.rutil-help-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;align-items:start;padding:12px 12px 8px;border-bottom:1px solid var(--border)}
.rutil-help-head h2{margin:2px 0 0;font-size:15px;line-height:1.25}
.rutil-help-kicker{font-size:9px;font-weight:800;letter-spacing:.08em;color:var(--muted)}
.rutil-help-reset,.rutil-help-close{width:28px;height:28px;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--panel2);color:var(--text)}
.rutil-help-context{padding:7px 12px;color:var(--muted);font-size:9.5px;border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rutil-help-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:8px 10px;border-bottom:1px solid var(--border)}
.rutil-help-tabs button{min-height:30px;padding:4px 6px;font-size:9.5px}
.rutil-help-tabs button.active{border-color:#ffcf4a;box-shadow:0 0 0 1px color-mix(in srgb,#ffcf4a 35%,transparent)}
.rutil-help-body{overflow:auto;padding:10px 12px;font-size:10.5px;line-height:1.45}
.rutil-help-summary{margin:0 0 8px;color:var(--text)}
.rutil-help-body h3{margin:10px 0 5px;font-size:11px}
.rutil-help-list{margin:0;padding-left:20px}.rutil-help-list li{margin:0 0 5px}
.rutil-help-progress,.rutil-help-note{padding:8px;border:1px solid var(--border);border-radius:9px;background:var(--panel2);font-size:10px}
.rutil-help-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px 10px;border-top:1px solid var(--border)}
.rutil-help-actions button{min-height:32px;font-size:9.5px}
.rutil-help-highlight{outline:2px solid #ffcf4a!important;outline-offset:2px!important}
@media(max-width:600px){.rutil-help-bomb-root{right:94px}.rutil-help-bomb-panel{width:calc(100vw - 20px)}.rutil-help-actions{grid-template-columns:1fr}}


/* help-bomb-compact-v2 */
.rutil-help-bomb-panel{
 display:flex!important;
 flex-direction:column;
 height:auto!important;
 min-height:0!important;
 max-height:min(460px,calc(100dvh - 24px))!important;
 width:min(380px,calc(100vw - 24px));
 overflow:hidden;
 visibility:hidden;
 opacity:0;
 transform:translateY(10px) scale(.985);
 transform-origin:var(--help-origin-x,100%) var(--help-origin-y,100%);
 pointer-events:none;
 transition:opacity .20s ease,transform .22s cubic-bezier(.2,.8,.2,1),visibility 0s linear .22s;
 border-radius:16px;
 background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 96%,#ffcf4a 4%),var(--panel));
 box-shadow:0 20px 60px rgba(0,0,0,.36);
}
.rutil-help-bomb-panel.open{
 visibility:visible;
 opacity:1;
 transform:translateY(0) scale(1);
 pointer-events:auto;
 transition-delay:0s;
}
.rutil-help-bomb-panel.no-motion{transition:none!important}
.rutil-help-head{
 padding:10px 11px 8px;
 gap:5px;
 background:color-mix(in srgb,var(--panel2) 72%,transparent);
}
.rutil-help-head h2{font-size:14px;line-height:1.2}
.rutil-help-kicker{font-size:8.5px;letter-spacing:.11em}
.rutil-help-reset,.rutil-help-close{width:27px;height:27px;border-radius:8px}
.rutil-help-context{padding:6px 11px;font-size:9px}
.rutil-help-tabs{gap:4px;padding:6px 8px}
.rutil-help-tabs button{min-height:28px;padding:3px 6px;border-radius:8px;font-size:9.5px}
.rutil-help-body{
 flex:0 1 auto;
 min-height:0!important;
 max-height:min(260px,36dvh);
 overflow:auto;
 overscroll-behavior:contain;
 scrollbar-gutter:stable;
 padding:9px 11px 8px;
 font-size:10.25px;
 line-height:1.4;
}
.rutil-help-summary{margin:0 0 7px;color:var(--muted);line-height:1.4}
.rutil-help-body h3{margin:8px 0 4px;font-size:10.5px}
.rutil-help-list{margin:2px 0 0;padding-left:18px}
.rutil-help-list li{margin:0 0 4px;padding-left:1px}
.rutil-help-progress,.rutil-help-note{margin:6px 0 0;padding:7px 8px;border-radius:8px;font-size:9.75px}
.rutil-help-actions{grid-template-columns:1fr 1fr;gap:5px;padding:6px 8px}
.rutil-help-actions button{min-height:29px;padding:4px 7px;font-size:9.25px}
@media(max-width:600px){
 .rutil-help-bomb-panel{width:calc(100vw - 20px);max-height:min(440px,calc(100dvh - 20px))!important}
 .rutil-help-body{max-height:min(250px,34dvh)}
 .rutil-help-actions{grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){
 .rutil-help-bomb-panel{transition:none!important}
}

.rutil-help-bomb-panel{padding:0!important;margin:0!important;gap:0!important;box-sizing:border-box!important}

/* P14 Financier AI workspace */
.rutil-financier-ai{display:flex;flex-direction:column;gap:8px}
.rutil-financier-ai-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.rutil-financier-context-chip{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,#43c982 15%,var(--panel2));border:1px solid color-mix(in srgb,#43c982 55%,var(--border));font-size:9.5px}
.rutil-financier-quick{display:flex;flex-wrap:wrap;gap:5px}
.rutil-financier-quick button{min-height:28px;padding:4px 8px;font-size:9.5px}
.rutil-financier-transcript{display:flex;flex-direction:column;gap:7px;max-height:310px;overflow:auto;padding:2px}
.rutil-financier-message{padding:8px 9px;border:1px solid var(--border);border-radius:10px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:10.5px;line-height:1.42}
.rutil-financier-message.user{align-self:flex-end;max-width:88%;background:var(--panel2)}
.rutil-financier-message.assistant{align-self:stretch;background:color-mix(in srgb,var(--panel2) 84%,#43c982 5%)}
.rutil-financier-message-meta{display:flex;justify-content:space-between;gap:8px;margin-bottom:4px;color:var(--muted);font-size:8.5px}
.rutil-financier-mode{font-weight:700}
.rutil-financier-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:end}
.rutil-financier-compose textarea{width:100%;min-height:60px;max-height:150px;resize:vertical;box-sizing:border-box}
.rutil-financier-compose button{min-height:34px}
.rutil-financier-empty{padding:9px;border:1px dashed var(--border);border-radius:9px;color:var(--muted);font-size:10px}
.rutil-financier-thinking{opacity:.78}
@media(max-width:600px){.rutil-financier-compose{grid-template-columns:1fr}.rutil-financier-compose button{width:100%}.rutil-financier-transcript{max-height:260px}}

/* P15 Technician AI workspace */
.rutil-technician-ai{display:flex;flex-direction:column;gap:8px}
.rutil-technician-ai-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.rutil-technician-context-chip{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,#9b7bff 15%,var(--panel2));border:1px solid color-mix(in srgb,#9b7bff 55%,var(--border));font-size:9.5px}
.rutil-technician-quick{display:flex;flex-wrap:wrap;gap:5px}
.rutil-technician-quick button{min-height:28px;padding:4px 8px;font-size:9.5px}
.rutil-technician-transcript{display:flex;flex-direction:column;gap:7px;max-height:310px;overflow:auto;padding:2px}
.rutil-technician-message{padding:8px 9px;border:1px solid var(--border);border-radius:10px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:10.5px;line-height:1.42}
.rutil-technician-message.user{align-self:flex-end;max-width:88%;background:var(--panel2)}
.rutil-technician-message.assistant{align-self:stretch;background:color-mix(in srgb,var(--panel2) 84%,#9b7bff 5%)}
.rutil-technician-message-meta{display:flex;justify-content:space-between;gap:8px;margin-bottom:4px;color:var(--muted);font-size:8.5px}
.rutil-technician-mode{font-weight:700}
.rutil-technician-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:end}
.rutil-technician-compose textarea{width:100%;min-height:60px;max-height:150px;resize:vertical;box-sizing:border-box}
.rutil-technician-compose button{min-height:34px}
.rutil-technician-empty{padding:9px;border:1px dashed var(--border);border-radius:9px;color:var(--muted);font-size:10px}
.rutil-technician-thinking{opacity:.78}
@media(max-width:600px){.rutil-technician-compose{grid-template-columns:1fr}.rutil-technician-compose button{width:100%}.rutil-technician-transcript{max-height:260px}}

/* Unified compact AI chats: maximum dialogue area from a small panel */
#rutilAssistantPanel{
 width:min(360px,calc(100vw - 16px));
 max-height:min(430px,calc(100dvh - 20px));
 min-width:min(300px,calc(100vw - 16px));
 transition:width .14s ease,height .14s ease,opacity .18s ease,transform .18s ease;
 border-radius:13px!important;
}
#rutilAssistantPanel .rutil-assistant-head{
 min-height:34px;
 align-items:center;
 gap:5px;
 padding:7px 8px 4px;
 border-bottom:0;
}
#rutilAssistantPanel .rutil-assistant-kicker{display:none}
#rutilAssistantPanel .rutil-assistant-head h2{
 margin:0;
 font-size:13.5px;
 line-height:1.15;
}
#rutilAssistantPanel .rutil-assistant-reset,
#rutilAssistantPanel .rutil-assistant-close{
 width:24px;
 height:24px;
 min-width:24px;
 min-height:24px;
 padding:0;
 border-radius:7px;
 font-size:16px;
 line-height:1;
}
#rutilAssistantPanel .rutil-assistant-context{
 padding:2px 8px 4px;
 border-bottom:1px solid var(--border);
 font-size:8.5px;
 line-height:1.2;
}
#rutilAssistantPanel .rutil-assistant-body{
 display:flex;
 flex-direction:column;
 min-height:0!important;
 overflow:hidden!important;
 padding:6px 7px 7px!important;
 line-height:1.35;
}
#rutilAssistantPanel :is(.rutil-builder-ai,.rutil-analyst-ai,.rutil-financier-ai,.rutil-technician-ai){
 display:flex;
 flex:1 1 auto;
 flex-direction:column;
 min-height:0;
 gap:4px;
}
#rutilAssistantPanel :is(.rutil-builder-ai-head,.rutil-analyst-ai-head,.rutil-financier-ai-head,.rutil-technician-ai-head){
 display:flex;
 align-items:center;
 justify-content:space-between;
 min-height:22px;
 gap:4px;
}
#rutilAssistantPanel :is(.rutil-builder-context-chip,.rutil-analyst-context-chip,.rutil-financier-context-chip,.rutil-technician-context-chip){
 display:block;
 min-width:0;
 max-width:72%;
 min-height:20px;
 padding:2px 6px;
 overflow:hidden;
 white-space:nowrap;
 text-overflow:ellipsis;
 border-radius:999px;
 background:color-mix(in srgb,var(--assistant-role-accent) 13%,var(--panel2));
 border:1px solid color-mix(in srgb,var(--assistant-role-accent) 48%,var(--border));
 font-size:8.5px;
 line-height:14px;
}
#rutilAssistantPanel :is(.rutil-builder-ai-head,.rutil-analyst-ai-head,.rutil-financier-ai-head,.rutil-technician-ai-head) button{
 min-height:22px;
 padding:2px 6px;
 border-radius:7px;
 font-size:8.25px;
 line-height:1.1;
}
#rutilAssistantPanel :is(.rutil-builder-quick,.rutil-analyst-quick,.rutil-financier-quick,.rutil-technician-quick){
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:3px;
 min-height:0;
 margin:0;
}
#rutilAssistantPanel :is(.rutil-builder-quick,.rutil-analyst-quick,.rutil-financier-quick,.rutil-technician-quick) button{
 min-width:0;
 min-height:24px;
 padding:2px 4px;
 overflow:hidden;
 white-space:nowrap;
 text-overflow:ellipsis;
 border-radius:7px;
 font-size:8.25px;
 line-height:1.1;
}
#rutilAssistantPanel :is(.rutil-builder-transcript,.rutil-analyst-transcript,.rutil-financier-transcript,.rutil-technician-transcript){
 display:flex;
 flex:1 1 auto;
 flex-direction:column;
 gap:5px;
 min-height:118px;
 max-height:205px;
 overflow:auto;
 padding:1px;
 overscroll-behavior:contain;
 scrollbar-gutter:stable;
}
#rutilAssistantPanel :is(.rutil-builder-empty,.rutil-analyst-empty,.rutil-financier-empty,.rutil-technician-empty){
 display:flex;
 align-items:center;
 min-height:52px;
 padding:6px 7px;
 border-radius:8px;
 font-size:9.25px;
 line-height:1.3;
}
#rutilAssistantPanel :is(.rutil-builder-message,.rutil-analyst-message,.rutil-financier-message,.rutil-technician-message){
 padding:6px 7px;
 border-radius:8px;
 font-size:9.75px;
 line-height:1.34;
}
#rutilAssistantPanel :is(.rutil-builder-message-meta,.rutil-analyst-message-meta,.rutil-financier-message-meta,.rutil-technician-message-meta){
 margin-bottom:2px;
 gap:6px;
 font-size:7.75px;
 line-height:1.15;
}
#rutilAssistantPanel :is(.rutil-builder-compose,.rutil-analyst-compose,.rutil-financier-compose,.rutil-technician-compose){
 display:grid!important;
 grid-template-columns:minmax(0,1fr) auto!important;
 gap:4px!important;
 align-items:center!important;
 min-height:0;
}
#rutilAssistantPanel :is(.rutil-builder-compose,.rutil-analyst-compose,.rutil-financier-compose,.rutil-technician-compose) textarea{
 width:100%;
 min-height:40px!important;
 max-height:82px!important;
 padding:6px 7px;
 resize:vertical;
 border-radius:8px;
 box-sizing:border-box;
 font-size:9.75px;
 line-height:1.25;
}
#rutilAssistantPanel :is(.rutil-builder-compose,.rutil-analyst-compose,.rutil-financier-compose,.rutil-technician-compose) button{
 width:auto!important;
 min-width:66px;
 min-height:30px!important;
 padding:4px 7px;
 border-radius:8px;
 font-size:9px;
}
@media(max-width:600px){
 #rutilAssistantPanel{
  width:calc(100vw - 12px);
  max-height:min(410px,calc(100dvh - 16px));
  min-width:min(280px,calc(100vw - 12px));

 }
 #rutilAssistantPanel .rutil-assistant-head{padding:6px 7px 4px}
 #rutilAssistantPanel .rutil-assistant-context{padding:2px 7px 3px}
 #rutilAssistantPanel .rutil-assistant-body{padding:5px 6px 6px!important}
 #rutilAssistantPanel :is(.rutil-builder-transcript,.rutil-analyst-transcript,.rutil-financier-transcript,.rutil-technician-transcript){
  min-height:110px;
  max-height:190px;
 }
}

/* P15 resizable assistant chat */
#rutilAssistantPanel.resizing{transition:none!important}
.rutil-assistant-resize-handle{
 position:absolute;left:3px;top:3px;z-index:8;width:18px;height:18px;min-width:18px;min-height:18px;
 padding:0;border:0;background:transparent;cursor:nwse-resize;touch-action:none;opacity:.48
}
.rutil-assistant-resize-handle::before{
 content:'';position:absolute;left:2px;top:2px;width:9px;height:9px;
 border-left:2px solid var(--muted);border-top:2px solid var(--muted);border-radius:2px 0 0 0
}
.rutil-assistant-resize-handle:hover,.rutil-assistant-resize-handle:focus-visible{opacity:.95}
.rutil-assistant-resize-handle:focus-visible{outline:1px solid var(--assistant-role-accent);outline-offset:1px}
#rutilAssistantPanel.user-sized .rutil-assistant-body{flex:1 1 auto}
#rutilAssistantPanel.user-sized :is(.rutil-builder-ai,.rutil-analyst-ai,.rutil-financier-ai,.rutil-technician-ai){height:100%}
#rutilAssistantPanel.user-sized :is(.rutil-builder-transcript,.rutil-analyst-transcript,.rutil-financier-transcript,.rutil-technician-transcript){
 flex:1 1 auto;max-height:none;min-height:80px
}

.rutil-assistant-resize-edge{position:absolute;z-index:7;display:block;touch-action:none;background:transparent}
.rutil-assistant-resize-n{left:22px;right:0;top:0;height:6px;cursor:ns-resize}
.rutil-assistant-resize-w{left:0;top:22px;bottom:0;width:6px;cursor:ew-resize}
#rutilAssistantPanel .rutil-assistant-head{padding-left:27px}
@media(max-width:600px){#rutilAssistantPanel .rutil-assistant-head{padding-left:26px}}

/* P15 v8: empty assistant chat collapses; internal blocks never overlap */
#rutilAssistantPanel :is(.rutil-builder-transcript,.rutil-analyst-transcript,.rutil-financier-transcript,.rutil-technician-transcript){
 min-height:96px;
 transition:max-height .18s ease,min-height .18s ease,opacity .16s ease;
 opacity:1;
}
#rutilAssistantPanel :is(.rutil-builder-transcript,.rutil-analyst-transcript,.rutil-financier-transcript,.rutil-technician-transcript):empty{
 flex:0 0 0!important;
 min-height:0!important;
 max-height:0!important;
 height:0!important;
 padding:0!important;
 margin:0!important;
 gap:0!important;
 overflow:hidden!important;
 scrollbar-gutter:auto!important;
 opacity:0;
}
#rutilAssistantPanel :is(.rutil-builder-compose,.rutil-analyst-compose,.rutil-financier-compose,.rutil-technician-compose){
 position:relative;
 z-index:2;
 flex:0 0 auto;
 background:var(--panel);
}
#rutilAssistantPanel :is(.rutil-builder-quick,.rutil-analyst-quick,.rutil-financier-quick,.rutil-technician-quick){
 position:relative;
 z-index:2;
 flex:0 0 auto;
}
#rutilAssistantPanel :is(.rutil-builder-compose,.rutil-analyst-compose,.rutil-financier-compose,.rutil-technician-compose) textarea{
 resize:none!important;
}
#rutilAssistantPanel.user-sized :is(.rutil-builder-transcript,.rutil-analyst-transcript,.rutil-financier-transcript,.rutil-technician-transcript):not(:empty){
 flex:1 1 auto;
 min-height:80px;
 max-height:none;
}
@media(max-width:600px){
 #rutilAssistantPanel :is(.rutil-builder-transcript,.rutil-analyst-transcript,.rutil-financier-transcript,.rutil-technician-transcript):not(:empty){
  min-height:92px;
 }
}

/* assistant-typography-readability-v15 */
#rutilAssistantButton .rutil-assistant-button-text{font-size:10.5px!important}
#rutilAssistantPanel .rutil-assistant-context{font-size:9.5px!important}
#rutilAssistantPanel :is(.rutil-builder-context-chip,.rutil-analyst-context-chip,.rutil-financier-context-chip,.rutil-technician-context-chip){font-size:9.5px!important}
#rutilAssistantPanel :is(.rutil-builder-ai-head,.rutil-analyst-ai-head,.rutil-financier-ai-head,.rutil-technician-ai-head) button{font-size:9px!important}
#rutilAssistantPanel :is(.rutil-builder-quick,.rutil-analyst-quick,.rutil-financier-quick,.rutil-technician-quick) button{font-size:9.25px!important}
#rutilAssistantPanel :is(.rutil-builder-empty,.rutil-analyst-empty,.rutil-financier-empty,.rutil-technician-empty){font-size:10.25px!important}
#rutilAssistantPanel :is(.rutil-builder-message,.rutil-analyst-message,.rutil-financier-message,.rutil-technician-message){font-size:10.5px!important}
#rutilAssistantPanel :is(.rutil-builder-message-meta,.rutil-analyst-message-meta,.rutil-financier-message-meta,.rutil-technician-message-meta){font-size:8.75px!important}
#rutilAssistantPanel :is(.rutil-builder-compose,.rutil-analyst-compose,.rutil-financier-compose,.rutil-technician-compose) textarea{font-size:10.5px!important}
#rutilAssistantPanel :is(.rutil-builder-compose,.rutil-analyst-compose,.rutil-financier-compose,.rutil-technician-compose) button{font-size:10px!important}
.rutil-help-bomb-label{font-size:10px!important}
.rutil-help-kicker{font-size:9px!important}.rutil-help-context{font-size:10px!important}
.rutil-help-tabs button{font-size:10.5px!important}.rutil-help-body{font-size:11px!important}
.rutil-help-body h3{font-size:11.25px!important}.rutil-help-progress,.rutil-help-note{font-size:10.5px!important}
.rutil-help-actions button{font-size:10px!important}

/* assistant-typography-readability-v15.1 */
#rutilAssistantPanel .rutil-assistant-context{font-size:10.25px!important}
#rutilAssistantPanel :is(.rutil-builder-context-chip,.rutil-analyst-context-chip,.rutil-financier-context-chip,.rutil-technician-context-chip){font-size:10.25px!important}
#rutilAssistantPanel :is(.rutil-builder-ai-head,.rutil-analyst-ai-head,.rutil-financier-ai-head,.rutil-technician-ai-head) button{font-size:10.5px!important}
#rutilAssistantPanel :is(.rutil-builder-quick,.rutil-analyst-quick,.rutil-financier-quick,.rutil-technician-quick) button{font-size:10.5px!important}
#rutilAssistantPanel :is(.rutil-builder-empty,.rutil-analyst-empty,.rutil-financier-empty,.rutil-technician-empty){font-size:10.75px!important}
#rutilAssistantPanel :is(.rutil-builder-message,.rutil-analyst-message,.rutil-financier-message,.rutil-technician-message){font-size:10.75px!important}
#rutilAssistantPanel :is(.rutil-builder-message-meta,.rutil-analyst-message-meta,.rutil-financier-message-meta,.rutil-technician-message-meta){font-size:10px!important}
#rutilAssistantPanel :is(.rutil-builder-compose,.rutil-analyst-compose,.rutil-financier-compose,.rutil-technician-compose) textarea{font-size:10.75px!important}
#rutilAssistantPanel :is(.rutil-builder-compose,.rutil-analyst-compose,.rutil-financier-compose,.rutil-technician-compose) button{font-size:10.5px!important}
.rutil-help-kicker{font-size:9.5px!important}.rutil-help-context{font-size:10.25px!important}
.rutil-help-body{font-size:11.25px!important}.rutil-help-progress,.rutil-help-note,.rutil-help-actions button{font-size:10.5px!important}
