.rf-card-studio{display:block;margin:0 14px 14px;color:#8cc2ff;font-size:13px;text-decoration:none}.rf-card-studio:hover{text-decoration:underline}
#rf-integration-status,.rf-pending-file{margin:12px 0;color:#ffbf9b;font-size:14px;line-height:1.5}.rf-enter-studio{align-self:flex-start;width:auto;max-width:calc(100% - 50px);min-width:0;min-height:34px;height:34px;margin:0 0 20px 50px;padding:0 13px;font-size:12px;font-weight:500;line-height:1;white-space:nowrap!important;border-radius:6px;cursor:pointer}.rf-studio-link{font-size:13px;white-space:nowrap}
.project-card[hidden]{display:none!important}
.prompt-tabs{overflow-x:auto}.prompt-tabs button{flex:0 0 auto;min-width:112px}
.project-card{overflow:hidden}.project-card-link{height:auto}.rf-card-studio{margin:0;padding:0 14px 14px}
.chat-layout.rf-live-mode .chat-conversation{transition:flex-basis .28s var(--ease),opacity .24s var(--ease)}
.rf-context-usage{flex:none;width:var(--chat-measure);margin:0 auto 10px;color:#94a8c4;font-size:11px;line-height:1.2;text-align:center;font-variant-numeric:tabular-nums}
.chat-bubble.user.rf-chat-user-bubble{box-sizing:border-box;max-width:min(78%,500px);width:max-content;min-width:88px;padding:11px 14px;border:1px solid #355177;border-radius:12px 12px 3px 12px;background:#14243b;color:#e9f2ff;box-shadow:0 4px 14px #0002;overflow-wrap:anywhere}
.chat-layout.is-output-open .chat-bubble.user.rf-chat-user-bubble{width:max-content;max-width:94%;padding:11px 14px}
.rf-chat-user-bubble small{color:#8bbcff}
.rf-chat-user-bubble p{margin:4px 0 0;font-size:14px;line-height:1.5}
.chat-layout.rf-live-mode .chat-output-panel{transition:flex-basis .28s var(--ease),opacity .24s var(--ease),transform .28s var(--ease),visibility 0s .28s}
.chat-layout.rf-live-mode.is-output-open .chat-output-panel{transition:flex-basis .28s var(--ease),opacity .24s var(--ease),transform .28s var(--ease),visibility 0s}
body:has(.chat-layout.rf-live-mode.is-output-open) .chat-editor-header .rf-domain-nav{display:flex;align-items:center;justify-content:center;width:316px;min-width:316px;gap:0;overflow:hidden}
body:has(.chat-layout.rf-live-mode.is-output-open) .chat-editor-header .rf-domain-nav::-webkit-scrollbar{display:none}
.chat-editor-header .rf-domain-nav button{flex:1 1 0;min-width:0;padding-inline:3px}
.chat-editor-header .rf-domain-nav button.active{flex:1.15 1 0}
html[lang=en] body:has(.chat-layout.rf-live-mode.is-output-open) .chat-editor-header .rf-domain-nav{width:390px;min-width:390px;overflow:visible}
html[lang=en] body:has(.chat-layout.rf-live-mode.is-output-open) .chat-editor-header .rf-domain-nav button{flex:1 1 auto;min-width:max-content;padding-inline:8px;font-size:12px}
html[lang=en] body:has(.chat-layout.rf-live-mode.is-output-open) .chat-editor-header .rf-domain-nav button.active{flex:1 1 auto}
.rf-mobile-chat-toggle{display:none;flex:none;width:30px;height:30px;padding:5px;border:1px solid #3a4558;border-radius:6px;background:#121722;color:#c2d4ee;cursor:pointer}
.rf-mobile-chat-toggle svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.rf-live-output .chat-output-inner{position:relative;display:flex;flex-direction:column;width:calc(100% - 18px);height:calc(100% - 16px);margin:6px 9px 10px;background:#0a1019;border-color:#53647b99;box-shadow:0 0 0 1px #a1bbec0c,0 0 14px #9abcf01a,0 0 38px #6993d211}
.chat-layout.rf-live-mode #chat-resize-handle::before{display:none!important}
.chat-layout.rf-live-mode #chat-resize-handle{background:transparent}
.chat-layout.rf-live-mode .conversation-toolbar .chat-window-toggle{display:block;margin-left:auto;margin-right:0}
.chat-layout.rf-live-mode:not(.is-output-open) .conversation-toolbar{height:42px;min-height:42px;visibility:visible;opacity:1;overflow:visible}
.rf-welcome .rf-enter-studio,.rf-live-msg .rf-enter-studio{display:inline-flex;align-items:center;max-width:100%;margin:10px 0 0;padding:0 13px}
.rf-live-output-frame{display:block;flex:1 1 auto;width:100%;min-height:0;border:0;background:#0a1019;opacity:0;transform:translateX(18px);transition:opacity .24s var(--ease),transform .24s var(--ease)}
.rf-live-output.is-ready .rf-live-output-frame{opacity:1;transform:translateX(0)}
.rf-output-loading{position:absolute;inset:0;display:grid;place-items:center;color:#96a9c3;font-size:14px;background:#0a1019}
.rf-composer-controls{display:flex;flex:1 1 auto;align-items:center;gap:5px;min-width:0;overflow:visible}
.rf-context-controls{display:flex;align-items:center;gap:5px;min-width:0;overflow-x:auto;scrollbar-width:none}
.rf-context-controls::-webkit-scrollbar{display:none}
.rf-composer-controls button{flex:0 0 auto;min-height:34px;padding:0 9px;border:1px solid #364051;border-radius:7px;background:#151b27;color:#c0cbe0;font-size:12px;cursor:pointer}
.rf-composer-controls button:hover,.rf-composer-controls button:focus-visible{border-color:#418ff0;color:#fff}
.rf-composer-controls button[data-rf-reset],.rf-composer-controls button[data-rf-voice]{width:34px;padding:0;font-size:20px}
.rf-composer-controls button[data-rf-reset]{margin-left:auto}
.rf-composer-controls button[data-rf-voice] svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.rf-composer-controls button.is-recording{border-color:#f06470;color:#f28b94}
.chat-compose .upload-button{display:grid;place-items:center;flex:0 0 28px;width:28px;min-width:28px;height:30px;min-height:30px;padding:0;font-size:22px;line-height:1;cursor:pointer}
.chat-layout.is-output-open .chat-compose>div:has(.rf-composer-controls){display:flex;align-items:center;gap:4px;padding:0 12px 12px}
.chat-layout.is-output-open .rf-composer-controls{flex:1 1 auto;justify-content:flex-start;gap:5px;overflow:visible}
.chat-layout.is-output-open .rf-composer-controls button[data-rf-context]{font-size:11px;padding-inline:5px;min-height:28px;white-space:nowrap}
.chat-layout.is-output-open .rf-composer-controls button[data-rf-reset]{margin-left:auto;font-size:17px}
.chat-layout.is-output-open .rf-composer-controls button[data-rf-reset],.chat-layout.is-output-open .rf-composer-controls button[data-rf-voice]{width:28px;min-height:28px}
.chat-layout.is-output-open .rf-composer-controls button[data-rf-voice] svg{width:15px;height:15px}
.chat-layout.is-output-open #chat-form .round-submit{flex:0 0 30px;width:30px;min-width:30px;height:30px;margin:0}
.rf-compose-panel{position:absolute;bottom:calc(100% + 8px);left:0;right:0;z-index:12;max-height:250px;overflow:auto;border:1px solid #39465b;border-radius:9px;background:#101722;box-shadow:0 15px 40px #000a}
.rf-compose-panel[hidden]{display:none!important}
.rf-compose-panel-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #2c3646}
.rf-compose-panel-head strong{font-size:13px}
.rf-compose-panel-head button{border:0;background:transparent;color:#c8d5e5;font-size:19px;cursor:pointer}
.rf-compose-panel-body{padding:12px;color:#aebdd1;font-size:12px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.chat-layout.is-output-open .chat-upload-hint{display:none}
.chat-compose{container-type:inline-size}
@container (max-width:300px){.chat-layout.is-output-open .rf-composer-controls{gap:2px}.chat-layout.is-output-open .rf-composer-controls button[data-rf-context]{font-size:10px;padding-inline:1px}.chat-layout.is-output-open .rf-composer-controls button[data-rf-reset],.chat-layout.is-output-open .rf-composer-controls button[data-rf-voice]{width:24px}}
@media(max-width:760px){body:has(.chat-layout.rf-live-mode.is-output-open) .rf-mobile-chat-toggle{display:block}body:has(.chat-layout.rf-live-mode.is-output-open) .chat-editor-header .rf-domain-nav{width:auto!important;min-width:0!important;max-width:calc(100vw - 245px);flex:1 1 auto!important;margin:0 6px!important;transform:none!important;justify-content:flex-start;overflow-x:auto}body:has(.chat-layout.rf-live-mode.is-output-open) .chat-editor-header .rf-domain-nav button{flex:0 0 auto!important;font-size:11px!important;padding-inline:7px}.rf-composer-controls button[data-rf-context]{font-size:11px;padding-inline:6px}}
@media(max-width:600px){body:has(.chat-layout.rf-live-mode.is-output-open) .chat-header-left .brand{width:34px;overflow:hidden;flex:none}body:has(.chat-layout.rf-live-mode.is-output-open) .chat-header-left .brand img{width:130px;max-width:none}}
/* Live control-session messages inside the chat page */
.rf-live-thread{display:flex;flex-direction:column;gap:inherit;min-width:0}
.rf-live-thread:empty{display:none}
.rf-live-msg .rf-live-body,.rf-live-pending .rf-live-body{min-width:0;overflow-wrap:anywhere}
.rf-live-body p{margin:6px 0 0;line-height:1.7}
.rf-live-body code{padding:1px 5px;border-radius:4px;background:#ffffff14;font-size:.92em}
.rf-optimistic{opacity:.7}
.rf-live-pending[hidden]{display:none!important}
.rf-live-pending p{display:flex;align-items:center;gap:8px;color:#9fb0c8}
.rf-typing{display:inline-flex;gap:3px}.rf-typing i{width:5px;height:5px;border-radius:50%;background:#7fa6e6;animation:rf-typing 1.2s infinite ease-in-out}.rf-typing i:nth-child(2){animation-delay:.15s}.rf-typing i:nth-child(3){animation-delay:.3s}
@keyframes rf-typing{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}
.rf-live-stop{margin-left:6px;padding:2px 9px;border:1px solid #5a3a46;border-radius:5px;background:transparent;color:#f0a2aa;font:inherit;font-size:12px;cursor:pointer}
.rf-live-stop:hover,.rf-live-stop:focus-visible{border-color:#e87582;color:#fff}
html[data-theme=light] .rf-live-body code{background:#1b33550f}
html[data-theme=light] .rf-live-pending p{color:#5a6d88}
@media(prefers-reduced-motion:reduce){.rf-typing i{animation:none}}
@media(prefers-reduced-motion:reduce){.chat-layout.rf-live-mode .chat-conversation,.chat-layout.rf-live-mode .chat-output-panel,.chat-layout.rf-live-mode.is-output-open .chat-output-panel{transition:opacity .18s var(--ease);transform:none}.rf-live-output-frame{transition:opacity .18s var(--ease);transform:none}}

/* 2026-10-10 in-flight task chips + downstream conversation dialog */
.rf-task-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.rf-task-chips[hidden]{display:none!important}
.rf-task-chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border:1px solid #35476e;border-radius:13px;background:#101a2e;color:#cfdcf2;font-size:12px;cursor:pointer}
.rf-task-chip:hover{border-color:#4c91e9;background:#18294a}
.rf-task-chip:focus-visible{outline:2px solid #398fff;outline-offset:2px}
.rf-task-chip i{width:7px;height:7px;border-radius:50%;background:#7d8aa0}
.rf-task-chip.is-working i{background:#3fbf7f;box-shadow:0 0 0 3px #3fbf7f33}
.rf-task-dialog{width:min(720px,92vw);max-height:80vh;padding:0;border:1px solid #303846;border-radius:12px;background:#0b1019;color:#f3f5f8}
.rf-task-dialog::backdrop{background:#000a}
.rf-task-dialog-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #303846}
.rf-task-dialog-head h2{margin:0;font-size:15px;font-weight:500}
.rf-task-dialog-close{border:0;background:transparent;color:inherit;font-size:22px;line-height:1;cursor:pointer}
.rf-task-dialog-meta{padding:8px 18px;color:#929cab;font-size:12px}
.rf-task-dialog-log{max-height:calc(80vh - 110px);overflow:auto;padding:8px 18px 18px;display:flex;flex-direction:column;gap:10px}
.rf-task-dialog-empty{color:#929cab;font-size:13px;text-align:center;padding:24px 0}
html[data-theme=light] .rf-task-chip{background:#f5f9ff;border-color:#cbd9eb;color:#2c405e}
html[data-theme=light] .rf-task-chip:hover{background:#e7f1ff;border-color:#7eace9}
html[data-theme=light] .rf-task-dialog{background:#fff;border-color:#d3deed;color:#17263f}
html[data-theme=light] .rf-task-dialog-head{border-color:#d3deed}
html[data-theme=light] :is(.rf-task-dialog-meta,.rf-task-dialog-empty){color:#64758e}

/* 2026-10-10 topbar fix: keep the chat shell from being scrolled by focus()/scrollIntoView inside the studio iframe. */
.chat-layout.rf-live-mode,.chat-layout.rf-live-mode .chat-output-panel,.chat-layout.rf-live-mode .chat-output-inner{overflow:clip!important}
body:has(.chat-layout.rf-live-mode) .chat-page{overflow:clip!important}


/* 2026-10-10 edit-mode annotations shown above the chat input (from the studio iframe). */
.rf-annotation-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 10px;margin:0 0 6px;border:1px solid #33406b;border-radius:10px;background:#101727}
.rf-annotation-bar[hidden]{display:none}
.rf-annotation-label{font-size:12px;color:#9eacc5;margin-right:4px}
.rf-annotation-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border:0;border-radius:12px;background:#2f6fd0;color:#fff;font-size:13px;font-weight:600;cursor:pointer}
.rf-annotation-badge:hover,.rf-annotation-badge:focus-visible{background:#1f5fc0;outline:2px solid #8fb6ff;outline-offset:1px}
html[data-theme=light] .rf-annotation-bar{background:#f3f8ff;border-color:#c8d7e9}
html[data-theme=light] .rf-annotation-label{color:#40536f}
html[data-theme=light] .rf-annotation-badge{background:#246bd2}
html[data-theme=light] .rf-annotation-badge:hover{background:#1459b8}

/* 2026-10-10 round3: annotation bar matches the chat input width; digits centred in the circle. */
.rf-annotation-bar{flex:none;box-sizing:border-box;width:var(--chat-measure);max-width:100%;margin:0 auto 8px}
.rf-annotation-badge{box-sizing:border-box;display:inline-grid;place-items:center;width:24px;min-width:24px;height:24px;padding:0;border-radius:50%;font-size:12px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums;text-align:center}

/* Annotation badges open a concise explanation above the chat composer. */
.rf-annotation-bar{position:relative;overflow:visible}
.rf-annotation-item{display:inline-grid;place-items:center}
.rf-annotation-popover{position:absolute;left:0;bottom:calc(100% + 8px);z-index:30;box-sizing:border-box;width:min(320px,100%);display:grid;gap:8px;padding:12px 14px;border:1px solid #4768a0;border-radius:9px;background:#15233c;color:#edf4ff;box-shadow:0 12px 28px #06101d70;font-size:12px;line-height:1.5;white-space:normal;text-align:left}
.rf-annotation-popover::after{content:"";position:absolute;left:calc(50% - 6px);bottom:-7px;width:12px;height:12px;border-right:1px solid #4768a0;border-bottom:1px solid #4768a0;background:inherit;transform:rotate(45deg)}
.rf-annotation-popover strong{font-size:12px}
.rf-annotation-popover-text{max-height:160px;overflow:auto;overflow-wrap:anywhere;color:#cad7eb}
.rf-annotation-jump{justify-self:start;padding:0;border:0;background:none;color:#94bcff;font:inherit;cursor:pointer}
.rf-annotation-jump:hover{text-decoration:underline}
html[data-theme=light] .rf-annotation-popover{border-color:#b8cdea;background:#fff;color:#203550;box-shadow:0 12px 26px #28476f2b}
html[data-theme=light] .rf-annotation-popover-text{color:#405775}
html[data-theme=light] .rf-annotation-jump{color:#246bd2}
.rf-annotation-popover-text{white-space:pre-wrap}


/* Composer controls use one centered icon size and stroke weight. */
.chat-compose .upload-button,.rf-composer-controls button,#chat-form .round-submit{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}
.chat-compose .upload-button svg,.rf-composer-controls button svg,#chat-form .round-submit svg{display:block;width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rf-composer-controls button[data-rf-context]{line-height:1}
.chat-layout.is-output-open .rf-composer-controls button[data-rf-voice] svg{width:17px;height:17px}
