/* Generated by scripts/bundle-css.ts from the files named below. Do not edit. */
/* boot-ui.css */
.startup-status { display:none; }
html[data-boot="loading"] .app { visibility:hidden; pointer-events:none; }
html[data-boot="loading"] .startup-status {
  position:fixed; inset:0; z-index:200;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:16px; background:var(--bg); color:var(--ink); font-size:14px;
}
.startup-logo { display:inline-flex; align-items:baseline; color:var(--ink); font-size:40px; font-weight:800; letter-spacing:-2px; line-height:1; }
.startup-letter { display:inline-block; animation:startup-wave .4s ease-in-out both; animation-delay:calc(.18s + var(--letter) * .12s); }
@keyframes startup-wave {
  0%, 100% { color:var(--ink); text-shadow:none; }
  45% { color:var(--lime); text-shadow:0 0 12px rgb(208 246 76 / 25%); }
}
.startup-feedback { display:flex; flex-direction:column; align-items:center; gap:16px; padding:0 24px; text-align:center; }
@media (prefers-reduced-motion: reduce) {
  .startup-letter { animation:none; }
}
/* Suppress automatic CSS entrances during recovery. Navigation owns its motion. */
.app .view:not([hidden]),
.message.boot-restored,
html[data-boot="loading"] .message { animation:none; }
/* loading-ui.css */
/* One opacity animation per placeholder group; no per-shape paint animation. */
.skeleton { --skeleton-fill: #eceef0; --skeleton-border: #e3e5e8; width: 100%; pointer-events: none; }
[data-theme="dark"] .skeleton { --skeleton-fill: #2b2c32; --skeleton-border: #33343b; }
.skeleton > div[aria-hidden="true"] { animation: skeleton-breathe 2.8s ease-in-out infinite; }
@keyframes skeleton-breathe { 0%, 100% { opacity: .95; } 50% { opacity: .6; } }
[data-loading-paused] .skeleton > div[aria-hidden="true"] { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) { .skeleton > div[aria-hidden="true"] { animation: none; } }
.skeleton i { display: block; background: var(--skeleton-fill); border-radius: 6px; }
.skeleton .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.skeleton-copy { display: grid; gap: 12px; flex: 1; min-width: 0; }
.skeleton-line { width: 72%; height: 12px; }
.skeleton-line:first-child { width: 42%; height: 16px; }
.skeleton-row { display: flex; align-items: center; gap: 16px; padding: 22px 18px; border-bottom: 1px solid var(--skeleton-border); }
.skeleton-icon { flex: 0 0 40px; height: 40px; border-radius: 12px !important; }
.skeleton-card { padding: 24px; border: 1px solid var(--skeleton-border); border-radius: 12px; background: var(--surface, var(--white, #fff)); }
.skeleton-block { height: 100px; margin: 24px 0; }
.skeleton-history { display: grid; gap: 20px; }
.skeleton-history .skeleton-card:nth-child(2) .skeleton-block { height: 64px; }
.skeleton-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.skeleton-chat { display: grid; gap: 24px; padding: 20px 0; }
.skeleton-chat .skeleton-copy { width: 75%; border: 1px solid var(--skeleton-border); border-radius: 16px; padding: 20px; }
.skeleton-chat .skeleton-copy:first-child { justify-self: end; width: 55%; }
.skeleton-chart { height: 100%; min-height: 180px; padding: 24px; display: flex; flex-direction: column; gap: 20px; }
.skeleton-chart-bars { flex: 1; min-height: 130px; display: flex; align-items: end; justify-content: space-between; gap: 3%; border-bottom: 1px solid var(--skeleton-border); background: repeating-linear-gradient(to top, transparent 0, transparent 24%, var(--skeleton-border) 25%, transparent 25.5%); }
.skeleton-chart-bars i { width: 4%; max-width: 24px; border-radius: 3px 3px 0 0; }
.skeleton-chart-axis { display: flex; justify-content: space-between; }
.skeleton-chart-axis .skeleton-line { width: 12%; height: 8px; }
.studio-canvas { position: relative; }
.studio-canvas > .skeleton { position: absolute; inset: 0; }
.studio-canvas > .skeleton > div[aria-hidden] { height: 100%; }
@media (max-width: 640px) { .skeleton-cards { grid-template-columns: 1fr; } .skeleton-card { padding: 18px; } }
/* style.css */
:root{--bg:#f8f9f5;--white:#fff;--ink:#24281e;--muted:#72776b;--line:#e5e8df;--lime:#c2ea53;--pale:#eef4dd;--sidebar:#f0f2eb;--radius:20px}*{box-sizing:border-box}body{margin:0;font-family:'DM Sans','Noto Sans Thai',sans-serif;color:var(--ink);background:var(--bg);font-size:16px;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #749920;outline-offset:4px}input:focus,textarea:focus,select:focus{outline:2px solid #9abf4d;outline-offset:2px}button{border:0;background:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}button,a{transition:background .18s,transform .18s,color .18s}button:hover:not(:disabled){filter:brightness(.98)}[hidden]{display:none!important}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.sr-only{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden}.app{display:flex;min-height:100svh}.sidebar{width:252px;flex:0 0 252px;background:var(--sidebar);padding:35px 20px 20px;display:flex;flex-direction:column;border-right:1px solid #e6e9e0;position:fixed;inset:0 auto 0 0;z-index:20}.brand{font-size:43px;font-weight:800;letter-spacing:-3px;line-height:1;display:inline-flex;align-self:flex-start;padding-left:14px;margin-bottom:36px}.workspace{display:flex;align-items:center;gap:10px;padding:0 10px 26px;font-size:14px}.workspace small,.profile small{display:block;font-size:12px;color:var(--muted);margin-top:3px}.workspace-mark{margin-left:auto;color:#9a9f91}.avatar{height:36px;width:36px;background:#dbe2ca;border-radius:50%;display:grid;place-items:center;font-weight:600;font-size:14px;flex-shrink:0}.avatar.small{height:31px;width:31px;background:white}.new-chat{display:flex;gap:11px;align-items:center;width:100%;background:#24281e;color:#fff;padding:14px 17px;border-radius:11px;margin-bottom:28px;font-size:14px}.new-chat:hover{background:#3c4330}nav{display:flex;flex-direction:column;gap:7px}.nav-item{display:flex;align-items:center;gap:12px;font-size:14px;padding:13px 15px;border-radius:10px;color:#6b7161}.nav-item:hover{background:#e6eadd}.nav-item.active{background:#e1e8d2;color:#29341d;font-weight:600}.nav-count{margin-left:auto;background:#d0dbbb;border-radius:6px;font-size:12px;padding:1px 6px}.recent{margin:35px 14px 0}.eyebrow{font-size:11px;letter-spacing:1.5px;font-weight:600;color:#777f6b}.recent .eyebrow{font-size:12px;letter-spacing:0;margin-bottom:11px}.recent button{display:block;font-size:13px;color:#7d8374;text-align:left;padding:10px 0}.recent button:hover{color:var(--ink)}.sidebar-bottom{margin-top:auto;padding-top:28px}.quiet-note{display:flex;gap:11px;align-items:center;padding:20px 10px;color:#596448}.quiet-note p{font-size:13px}.quiet-note small{display:block;font-size:11px;color:#8a907f;margin-top:4px}.profile{display:flex;align-items:center;width:100%;gap:10px;text-align:left;border-top:1px solid #dfe4d5;padding:20px 10px 0;font-size:14px}.profile>.icon{margin-left:auto;color:#838977}.main-shell{margin-left:252px;width:calc(100% - 252px);display:flex;flex-direction:column;min-width:0}.topbar{height:89px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;gap:12px}.breadcrumb{display:flex;align-items:center;gap:15px;font-size:13px;min-width:0}.slash{color:#c2c7b9}.subtle{color:#949a89}.prototype-badge{font-size:12px;border:1px solid #dce2d1;border-radius:20px;display:flex;align-items:center;gap:7px;padding:7px 12px;white-space:nowrap}.tiny-dot{width:5px;height:5px;border-radius:50%;background:#7b9360}.mobile-menu{display:none!important}main{flex:1}.home-view{max-width:1090px;margin:auto;padding:66px 70px 0}.welcome{max-width:760px;margin:auto}.welcome-overline{display:flex;align-items:center;gap:12px;margin-bottom:26px;font-size:10px;letter-spacing:2.4px;font-weight:600;color:#818874}.mini-brand{font-size:25px;letter-spacing:-2px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:15px;background:var(--lime);color:#2c361c;flex-shrink:0}.welcome h1{font-size:49px;line-height:1.4;letter-spacing:-1.6px;font-weight:500}.welcome h1>span{color:#8b9680}.intro{margin-top:16px;font-size:16px;color:#7b826f}.composer{background:#fff;border:1px solid #dce2d2;border-radius:22px;margin-top:32px;box-shadow:0 8px 30px #34491505;padding:20px 22px 17px;transition:box-shadow .2s,border-color .2s}.composer:focus-within{border-color:#9db75b;box-shadow:0 5px 25px #6c861813}.composer textarea{display:block;width:100%;border:none;background:transparent;resize:none;min-height:80px;font-size:15px;line-height:1.8;color:var(--ink)}.composer textarea:focus{outline:0}.composer textarea::placeholder{color:#a0a593}.composer-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}.text-button{display:inline-flex;gap:8px;align-items:center;font-size:12px;color:#777f6b;padding:7px 0}.text-button .icon{width:17px;height:17px}.send-wrap{display:flex;align-items:center;gap:15px}.key-hint{color:#adb3a4;font-size:11px}.primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--lime);border-radius:11px;padding:13px 21px;font-size:14px;font-weight:600;white-space:nowrap;min-height:45px}.primary:hover{background:#b4df42;transform:translateY(-1px)}.send-button{padding:12px 20px}.send-button .icon{width:17px;height:17px}.suggestions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.suggestions button{display:flex;align-items:center;gap:7px;border:1px solid #e0e5d7;border-radius:9px;padding:10px 12px;font-size:12px;background:#f8f9f4}.suggestions .icon{width:16px;height:16px;color:#899776}.suggestions button:hover{background:#edf3df;border-color:#c7d4ae}.helper{margin-top:18px;color:#9a9f90;font-size:12px}.home-lower{margin:60px auto 0;max-width:850px;border-top:1px solid var(--line);padding-top:25px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.section-title h2{font-size:17px}.text-link{display:inline-flex;align-items:center;gap:6px;color:#8b9280;font-size:12px}.text-link .icon{width:14px;height:14px}.preview-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:16px}.watch-preview,.discovery-preview{display:flex;align-items:center;text-align:left;padding:22px;gap:15px;border-radius:15px;min-height:117px}.watch-preview{border:1px solid #dfe4d6;background:#fff}.setup-icon{height:44px;width:44px;flex-shrink:0;display:grid;place-items:center;border-radius:13px;background:#edf3df;color:#7c9153}.small-label{font-size:10px;letter-spacing:1.1px;font-weight:500;color:#8d9581}.watch-preview h3,.discovery-preview h3{font-size:15px;margin:7px 0 5px}.watch-preview p,.discovery-preview p{font-size:11px;color:#929986}.soft-tag{font-size:10px;white-space:nowrap;color:#6c7c51;background:#eef4e1;padding:6px 8px;border-radius:6px;margin-left:auto}.discovery-preview{background:#eaf0dd;justify-content:space-between}.round-button{border:1px solid #bac9a0;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.round-button .icon{width:16px;height:16px}.demo-footnote{font-size:11px;color:#a0a693;margin-top:18px}.app-footer{display:flex;align-items:center;justify-content:space-between;padding:30px 42px 23px;gap:14px;color:#a0a693;font-size:10px;letter-spacing:.2px}.secondary-view{max-width:1150px;margin:auto;padding:60px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:35px}.page-heading .eyebrow{margin-bottom:13px}.page-heading h1{font-size:33px;line-height:1.6;letter-spacing:-.7px}.page-heading p:not(.eyebrow){color:var(--muted);font-size:14px;margin-top:7px}.demo-notice{font-size:13px;padding:13px 17px;background:#edf2e3;color:#72805c;border-radius:10px}.filter-row{display:flex;gap:8px;margin:25px 0}.filter{padding:9px 17px;border-radius:20px;color:#7b8270;font-size:13px}.filter.active{background:#272e20;color:#fff}.watch-row{background:white;border:1px solid var(--line);border-radius:16px;padding:23px;margin-bottom:13px}.watch-row-heading{display:flex;align-items:center;gap:14px}.watch-row h2{font-size:17px}.watch-row small{font-size:12px;color:var(--muted)}.watch-row .status{margin-left:auto;font-size:12px;background:#edf5dd;padding:5px 10px;border-radius:8px;color:#617d30}.watch-row .status.paused{background:#f0f1ed;color:#929787}.watch-rule-summary{font-size:13px;color:var(--muted);line-height:1.9;margin:18px 0}.watch-row-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #edf0e7;padding-top:14px}.row-actions{display:flex;gap:8px}.secondary{background:#f0f3e9;padding:11px 16px;border-radius:10px;font-size:13px}.secondary:hover{background:#e4ecd7}.empty-state{text-align:center;padding:55px 20px;color:var(--muted)}.history-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:50px}.import-panel{text-align:center;padding:40px 22px;background:white;border:1px dashed #bec9aa;border-radius:20px}.large-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:19px;background:#edf4df;color:#7d9259;margin:0 auto 20px}.large-icon .icon{width:28px;height:28px}.import-panel h2{font-size:21px}.import-panel p{font-size:14px;color:var(--muted);line-height:1.9;margin:14px 0 23px}.import-panel small{display:block;font-size:11px;color:#929a86;margin-top:17px}.import-options{margin-top:18px;display:grid;gap:10px}.import-options>span{display:flex;align-items:center;gap:10px;font-size:13px;padding:13px;border-bottom:1px solid var(--line)}.import-options small{margin-left:auto;font-size:10px;color:#9ba28e}.import-options .icon{width:16px;height:16px}.history-explainer{padding:18px 0}.history-explainer>div{position:relative;padding:25px 0 23px 37px;border-bottom:1px solid var(--line)}.history-explainer>div>span{position:absolute;left:0;top:27px;font-size:12px;color:#91a276}.history-explainer h3{font-size:16px}.history-explainer p{font-size:13px;color:var(--muted);line-height:1.8;margin-top:8px}#history-result{margin-top:30px;background:#edf3df;padding:25px;border-radius:16px}#history-result h2{font-size:20px}#history-result p{font-size:14px;line-height:1.9;margin:12px 0}.notification-layout{display:grid;grid-template-columns:1fr 1fr;gap:45px}.channel-list{display:grid;gap:12px}.channel{cursor:pointer;display:flex;align-items:center;padding:20px;gap:14px;background:white;border:1px solid var(--line);border-radius:14px;position:relative}.channel:has(input:checked){border-color:#a1b973;background:#f1f6e7}.channel input{position:absolute;opacity:0;width:1px;height:1px}.channel:has(input:focus-visible){outline:2px solid #75983a;outline-offset:3px}.channel-symbol{height:42px;width:42px;border-radius:12px;background:#e6edd8;display:grid;place-items:center;font-weight:800;font-size:18px}.channel strong{display:block;font-size:15px;font-weight:600}.channel small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.radio-mark{height:18px;width:18px;border:1px solid #bcc6ab;border-radius:50%;margin-left:auto;flex-shrink:0}.channel input:checked~.radio-mark{border:5px solid #769249;background:#f6f8ef}.notification-layout .field-note{margin:18px 0}.notification-preview{padding:20px 0}.message-phone{margin-top:18px;background:#fff;padding:26px;border-radius:20px;border:1px solid var(--line);box-shadow:0 12px 35px #2d3c1307}.phone-heading{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:700;margin-bottom:24px}.phone-heading small{font-size:11px;color:var(--muted);display:block;font-weight:400;margin-top:4px}.message-phone h3{font-size:19px}.message-phone>p{font-size:12px;color:var(--muted);margin:10px 0 20px}.matched{display:flex;gap:8px;font-size:12px;align-items:center;margin:12px 0;color:#727d60}.matched .icon{width:16px;height:16px}.message-bottom{border-top:1px solid var(--line);padding-top:16px;font-size:11px;margin-top:20px}.message-bottom small{display:block;color:#939d86;font-size:10px;margin-top:8px}.conversation{max-width:760px;margin:auto}.message{margin:0 0 22px;font-size:15px;line-height:1.9;animation:appear .3s ease}.message.user{background:#eaf0dd;padding:16px 20px;border-radius:18px 18px 4px 18px;margin-left:15%;white-space:pre-wrap;overflow-wrap:anywhere}.message.assistant{display:flex;gap:15px;align-items:flex-start}.message.assistant .mini-brand{width:32px;height:32px;font-size:20px;border-radius:10px}.assistant-body{flex:1;min-width:0;padding-top:3px}.assistant-body p{margin-bottom:12px}.chat-rule{background:#fff;border:1px solid var(--line);padding:20px;border-radius:15px;margin-top:15px}.chat-rule h3{font-size:18px;margin-bottom:10px}.chat-rule p{font-size:13px;color:var(--muted)}.chat-rule .primary{margin-top:7px}.followup{display:flex;gap:10px;background:white;border:1px solid #dce2d2;border-radius:14px;padding:10px}.followup input{min-width:0;flex:1;border:none;padding:8px;background:transparent;font-size:14px}.followup input:focus{outline:none}.icon-button{display:grid;place-items:center;height:36px;width:36px;border-radius:50%}.icon-button:hover{background:#e9eddf}dialog{border:1px solid var(--line);color:var(--ink);padding:0;border-radius:24px;max-height:90svh;box-shadow:0 20px 90px #15200830}dialog::backdrop{background:#20281855;backdrop-filter:blur(4px)}.rule-dialog{width:580px;max-width:calc(100vw - 28px)}.rule-dialog form{padding:30px}.dialog-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.dialog-heading h2{font-size:25px;margin-top:7px}.dialog-intro{font-size:13px;color:var(--muted);margin:10px 0 20px}.field-label{display:block;font-size:13px;margin:16px 0 8px}.rule-dialog input:not([type=checkbox]),.rule-dialog select{width:100%;background:#f8faf4;border:1px solid #dce3d0;border-radius:9px;padding:11px 12px;font-size:14px;color:var(--ink)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.field-note{font-size:11px;color:#8c9580;line-height:1.8;margin-top:8px}.plain-rules{margin:21px 0;background:#edf3df;padding:18px;border-radius:13px}.plain-rules p{font-size:13px;margin-top:12px;display:flex;gap:12px;align-items:center}.plain-rules p>span{background:#dae6c5;width:21px;height:21px;display:grid;place-items:center;border-radius:50%;font-size:11px}details{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}summary{display:flex;gap:9px;align-items:center;cursor:pointer;padding:17px 0;font-size:13px;list-style:none}summary::-webkit-details-marker{display:none}summary span{margin-left:auto;font-size:10px;color:#919b82}summary .icon{width:17px;height:17px}.advanced-fields{padding-bottom:16px}.checkbox-field{font-size:13px;display:flex;align-items:center;gap:8px;margin-top:17px;cursor:pointer}.checkbox-field input{accent-color:#7d9b44;width:16px;height:16px}.formula{margin-top:13px;padding:12px;background:#242d1e;color:#d4e8ad;border-radius:8px;font:11px/1.9 monospace;overflow-wrap:anywhere}.dialog-actions{display:flex;justify-content:space-between;gap:10px;margin-top:25px}.about-dialog{width:470px;max-width:calc(100vw - 28px);padding:35px}.close-about{position:absolute;top:15px;right:15px}.about-dialog h2{font-size:24px;margin:22px 0 14px}.about-dialog p{font-size:14px;color:var(--muted);line-height:1.9;margin-bottom:15px}.about-dialog .primary{margin-top:10px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#28331e;color:#f7faef;padding:15px 24px;border-radius:12px;font-size:14px;box-shadow:0 8px 24px #18200d30;z-index:100;max-width:calc(100vw - 30px);animation:appear .2s}.view{animation:appear .4s ease}@keyframes appear{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@media(min-width:1500px){.home-view{padding-top:90px}.welcome h1{font-size:57px}.home-lower{margin-top:80px}.composer{margin-top:35px}}
@media(max-width:1200px){.sidebar{width:226px;flex-basis:226px;padding-left:14px;padding-right:14px}.main-shell{margin-left:226px;width:calc(100% - 226px)}.home-view{padding:50px 40px 0}.welcome h1{font-size:44px}.soft-tag{display:none}.preview-grid{grid-template-columns:1.1fr 1fr}.secondary-view{padding:40px 32px}.history-layout,.notification-layout{gap:27px}.app-footer{padding-left:32px;padding-right:32px}}
@media(max-width:900px){.sidebar{width:205px;flex-basis:205px}.main-shell{margin-left:205px;width:calc(100% - 205px)}.home-view{padding:40px 27px 0}.topbar{padding:0 27px;height:75px}.breadcrumb{font-size:12px}.breadcrumb .subtle,.breadcrumb .slash{display:none}.welcome h1{font-size:40px}.preview-grid{grid-template-columns:1fr}.watch-preview,.discovery-preview{min-height:95px;padding:18px}.home-lower{margin-top:40px}.history-layout,.notification-layout{grid-template-columns:1fr}.history-explainer{padding:0}.secondary-view{padding:35px 25px}.page-heading h1{font-size:27px}.page-heading{align-items:flex-start}.page-heading>.primary{font-size:12px;padding:11px 12px}.nav-item{font-size:12px;gap:9px;padding:12px 10px}.intro{font-size:14px}.key-hint{display:none}.recent{margin-left:10px;margin-right:10px}.quiet-note{padding-left:5px;padding-right:5px}.quiet-note small{font-size:10px}.app-footer{font-size:9px}.suggestions button{font-size:11px}}
@media(max-width:650px){.sidebar{transform:translateX(-100%);transition:transform .25s;width:252px;box-shadow:10px 0 45px #17200e22}.sidebar.is-open{transform:translateX(0)}.main-shell{margin-left:0;width:100%}.topbar{height:68px;padding:0 20px}.mobile-menu{display:grid!important}.breadcrumb{gap:9px;font-size:13px}.prototype-badge{font-size:10px;padding:6px 9px}.home-view{padding:35px 22px 0}.welcome-overline{margin-bottom:23px;font-size:9px;letter-spacing:1.8px}.welcome h1{font-size:39px;line-height:1.4}.intro{font-size:13px;line-height:1.8;max-width:290px;margin-top:13px}.composer{margin-top:25px;padding:17px 15px 13px;border-radius:18px}.composer textarea{font-size:13px;min-height:90px}.text-button{font-size:11px;gap:5px}.send-button{font-size:12px;padding:10px 14px;min-height:40px}.suggestions{gap:7px;margin-top:14px}.suggestions button{font-size:10px;padding:9px 10px}.helper{font-size:10px;line-height:1.8}.section-title h2{font-size:16px}.text-link{font-size:10px}.home-lower{margin-top:35px;padding-top:23px}.preview-grid{gap:11px}.demo-footnote{font-size:10px;line-height:1.8}.app-footer{padding:27px 22px 20px;font-size:9px}.app-footer span:last-child{display:none}.secondary-view{padding:32px 22px}.page-heading{flex-direction:column;gap:20px}.page-heading h1{font-size:28px}.page-heading p:not(.eyebrow){font-size:13px}.watch-row{padding:18px}.watch-row h2{font-size:14px}.watch-row-heading{gap:10px}.watch-row small{font-size:10px}.watch-row .status{font-size:10px}.watch-rule-summary{font-size:12px}.watch-row-footer{flex-wrap:wrap}.history-layout{gap:25px}.rule-dialog form{padding:23px 20px}.dialog-heading h2{font-size:23px}.dialog-actions .primary,.dialog-actions .secondary{padding:11px 12px;font-size:12px}summary span{font-size:9px}.conversation{padding-top:0}.message{font-size:14px}.message.assistant{gap:10px}.chat-rule{padding:17px}.followup input{font-size:12px}.followup .primary{font-size:12px;padding:10px 15px}.toast{font-size:12px;width:max-content}.notification-preview{padding-top:5px}}
/* Keep Thai controls and supporting copy comfortable at narrow panel sizes. */
.nav-item,.breadcrumb,.text-button,.suggestions button,.text-link,.field-label,.secondary,.filter,.checkbox-field,summary{font-size:14px}
.composer textarea,.intro,.page-heading p:not(.eyebrow),.watch-rule-summary,.import-panel p,.history-explainer p,.assistant-body p,.about-dialog p{font-size:16px}
.helper,.field-note,.demo-footnote,.small-label,.eyebrow,.recent button,.quiet-note p,.quiet-note small,.app-footer,.watch-preview p,.discovery-preview p,.soft-tag,.import-panel small,.import-options small,.matched,.message-bottom,.message-bottom small,.phone-heading small,.channel small,.key-hint,.prototype-badge,.watch-row small,summary span{font-size:12px}
.watch-preview p,.discovery-preview p,.helper,.field-note,.demo-footnote,.app-footer,.channel small{color:#727b65}
.watch-preview h3,.discovery-preview h3,.history-explainer h3{font-size:16px}.welcome-overline{font-size:11px}.plain-rules p{font-size:14px}.formula{white-space:pre-line;font-size:12px}.watch-row .status{font-size:12px}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:transform .25s;width:252px;box-shadow:10px 0 45px #17200e22}.sidebar.is-open{transform:translateX(0)}.main-shell{margin-left:0;width:100%}.mobile-menu{display:grid!important}.breadcrumb .subtle,.breadcrumb .slash{display:none}.suggestions button{font-size:13px}.composer textarea{font-size:15px}.intro{font-size:15px}.watch-preview,.discovery-preview{padding:18px}.app-footer span:last-child{display:none}.composer-bottom .text-button{font-size:12px}.watch-rule-summary{font-size:14px}.page-heading p:not(.eyebrow){font-size:14px}.channel small{font-size:12px}}
@media(max-width:760px){.sidebar{visibility:hidden}.sidebar.is-open{visibility:visible}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Keep navigation stable when the active label becomes semibold. */
.nav-item { white-space: nowrap; gap: 8px; padding-inline: 12px; }
.nav-count { flex-shrink: 0; }
@media (min-width: 761px) and (max-width: 1200px) {
  .sidebar { width: 252px; flex-basis: 252px; }
  .main-shell { margin-left: 252px; width: calc(100% - 252px); }
}
/* theme.css */
/* Shared brand accent; neutral text tiers keep the light theme crisp. */
:root { color-scheme: light; --brand-lime: #d0f64c; --lime: var(--brand-lime); --accent-ink: #4d6b00; --control-line: #888e82; --ink: #101010; --muted: #303030; }
/* Hints and placeholders sit one tier below --muted so an empty field never reads as typed text (5.1:1 on white). */
:root { --placeholder: #6b6f66; }
.welcome h1 { font-weight: 700; }
.page-heading h1, .conversation-heading h1 { font-weight: 600; }
.section-title h2, .watch-preview h3, .discovery-preview h3, .history-explainer h3, .watch-row h2, .dialog-heading h2 { font-weight: 600; }
.nav-item, .field-label, .primary, .secondary, .suggestions button { font-weight: 500; }
:root:not([data-theme="dark"]) .welcome h1 > span { color: var(--ink); }
:root:not([data-theme="dark"]) :is(.intro, .page-heading p:not(.eyebrow), .quiet-note, .watch-rule-summary, .import-panel p, .history-explainer p) { color: #181818; }
:root:not([data-theme="dark"]) :is(.nav-item, .recent button, .quiet-note small, .subtle, .welcome-overline, .text-button, .helper, .text-link, .small-label, .eyebrow, .watch-preview p, .discovery-preview p, .demo-footnote, .app-footer, .field-note, .import-panel small, .import-options small, .channel small, .message-bottom small, summary span, .key-hint, .filter, .profile > .icon, .workspace-mark) { color: var(--muted); }
:root:not([data-theme="dark"]) .nav-item.active { color: var(--ink); font-weight: 600; }
:root:not([data-theme="dark"]) :is(textarea, input)::placeholder { color: var(--placeholder); opacity: 1; }
:root:not([data-theme="dark"]) .primary { color: #18191b; }
:root:not([data-theme="dark"]) .primary:hover { background: #dfff78; }
:root:not([data-theme="dark"]) .filter.active { color: white; }
.topbar { height: 64px; }
.topbar-actions { display: flex; align-items: center; gap: 4px; flex-shrink: 0; }
.topbar-actions :is(.theme-toggle, .prototype-badge, .language-toggle) { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; min-height: 36px; padding: 0; border: 0; border-radius: 8px; background: transparent; color: var(--muted); font-family: inherit; font-size: 12px; font-weight: 500; line-height: 1; }
.topbar-actions .language-toggle { width: 48px; font-family: inherit; }
.topbar-actions :is(.theme-toggle, .prototype-badge, .language-toggle):hover { background: var(--pale); color: var(--ink); opacity: 1; }
.theme-toggle span { display: none; }
.topbar-actions .prototype-badge .icon { width: 18px; height: 18px; }
.theme-toggle .icon { width: 18px; height: 18px; }
.sun-icon { display: none; }
[data-theme="dark"] { color-scheme: dark; --placeholder: #9898a3; --accent-ink: var(--lime); --bg: #111113; --white: #1c1c20; --ink: #f4f4f5; --muted: #bfc0c8; --line: #323238; --pale: #27272d; --sidebar: #161618; }
[data-theme="dark"] .moon-icon { display: none; }
[data-theme="dark"] .sun-icon { display: block; }
[data-theme="dark"] .sidebar,
[data-theme="dark"] .profile,
[data-theme="dark"] .watch-row-footer,
[data-theme="dark"] .prototype-badge,
[data-theme="dark"] .round-button { border-color: var(--line); }
[data-theme="dark"] .new-chat { background: #252529; color: #f4f4f5; box-shadow: inset 0 0 0 1px #3b3b42; }
[data-theme="dark"] .new-chat:hover { background: #303036; }
[data-theme="dark"] .avatar,
[data-theme="dark"] .avatar.small,
[data-theme="dark"] .nav-count { background: #303036; color: #dedee4; }
.nav-count,
[data-theme="dark"] .nav-count,
.notification-count,
[data-theme="dark"] .notification-count { background: var(--brand-lime); color: #101010; font-variant-numeric: tabular-nums; }
.nav-count[hidden] { display: none; }
[data-theme="dark"] .nav-item { color: #aaaab4; }
[data-theme="dark"] .nav-item:hover,
[data-theme="dark"] .icon-button:hover { background: #26262b; }
[data-theme="dark"] .nav-item.active { background: #2b2b30; color: #f4f4f5; box-shadow: inset 2px 0 0 var(--lime); }
[data-theme="dark"] .nav-item.active > .icon { color: var(--lime); }
[data-theme="dark"] .welcome h1 > span { color: #d8d8df; }
[data-theme="dark"] .intro,
[data-theme="dark"] .helper,
[data-theme="dark"] .field-note,
[data-theme="dark"] .demo-footnote,
[data-theme="dark"] .text-button,
[data-theme="dark"] .text-link,
[data-theme="dark"] .eyebrow,
[data-theme="dark"] .small-label,
[data-theme="dark"] .recent button,
[data-theme="dark"] .quiet-note,
[data-theme="dark"] .quiet-note small,
[data-theme="dark"] .profile > .icon,
[data-theme="dark"] .workspace-mark,
[data-theme="dark"] .subtle,
[data-theme="dark"] .welcome-overline,
[data-theme="dark"] .key-hint,
[data-theme="dark"] .watch-preview p,
[data-theme="dark"] .discovery-preview p,
[data-theme="dark"] .app-footer,
[data-theme="dark"] .import-panel small,
[data-theme="dark"] .import-options small,
[data-theme="dark"] .channel small,
[data-theme="dark"] .message-bottom small,
[data-theme="dark"] summary span,
[data-theme="dark"] .filter { color: var(--muted); }
[data-theme="dark"] .recent button:hover { color: var(--ink); }
[data-theme="dark"] .slash { color: #74747f; }
[data-theme="dark"] .composer,
[data-theme="dark"] .watch-preview,
[data-theme="dark"] .watch-row,
[data-theme="dark"] .import-panel,
[data-theme="dark"] .channel,
[data-theme="dark"] .message-phone,
[data-theme="dark"] .chat-rule,
[data-theme="dark"] .followup,
[data-theme="dark"] dialog { background: var(--white); border-color: var(--line); box-shadow: none; }
[data-theme="dark"] .composer { border-color: #404047; box-shadow: 0 12px 40px #00000020; }
[data-theme="dark"] .composer:focus-within { border-color: #d0f64c; box-shadow: 0 0 0 3px #d0f64c0a; }
[data-theme="dark"] textarea::placeholder,
[data-theme="dark"] input::placeholder { color: #9898a3; }
[data-theme="dark"] .followup input { color: var(--ink); }
[data-theme="dark"] .primary { color: #17180f; }
[data-theme="dark"] .primary:hover { background: #dfff78; }
[data-theme="dark"] .suggestions button,
[data-theme="dark"] .secondary { background: #222226; color: #d6d6de; border-color: #38383f; }
[data-theme="dark"] .suggestions button:hover,
[data-theme="dark"] .secondary:hover { background: #303036; border-color: #55555f; }
[data-theme="dark"] .suggestions .icon,
[data-theme="dark"] .matched { color: #c4c4ce; }
[data-theme="dark"] .matched .icon { color: var(--lime); }
[data-theme="dark"] .setup-icon,
[data-theme="dark"] .large-icon,
[data-theme="dark"] .channel-symbol { background: #303036; color: #e4e4e9; }
[data-theme="dark"] .soft-tag,
[data-theme="dark"] .watch-row .status { background: #29292f; color: var(--lime); }
[data-theme="dark"] .watch-row .status.paused { background: #29292f; color: #b4b4bf; }
[data-theme="dark"] .discovery-preview,
[data-theme="dark"] .plain-rules,
[data-theme="dark"] #history-result,
[data-theme="dark"] .message.user { background: #29292f; }
[data-theme="dark"] .discovery-preview { background: #27272d; box-shadow: inset 0 0 0 1px #393941; }
[data-theme="dark"] .discovery-preview .round-button { background: var(--lime); color: #17180f; border-color: var(--lime); }
[data-theme="dark"] .plain-rules p > span { background: #3a3a43; color: #ececf0; }
[data-theme="dark"] .demo-notice { background: #25252a; color: #bdbdc8; }
[data-theme="dark"] .filter.active { background: var(--lime); color: #17180f; }
[data-theme="dark"] .channel:has(input:checked) { background: #26262c; border-color: #b4cf57; }
[data-theme="dark"] .radio-mark { border-color: #74747f; }
[data-theme="dark"] .channel input:checked ~ .radio-mark { border-color: var(--lime); background: #26262c; }
[data-theme="dark"] .rule-dialog input:not([type="checkbox"]),
[data-theme="dark"] .rule-dialog select { background: #151518; border-color: #43434c; }
[data-theme="dark"] .formula { background: #111113; color: #dedee6; }
[data-theme="dark"] dialog::backdrop { background: #000000b8; }
[data-theme="dark"] .toast { background: #ededf1; color: #202024; }
[data-theme="dark"] .history-explainer > div > span { color: #a4a4ae; }
[data-theme="dark"] .tiny-dot { background: #a4a4ae; }
[data-theme="dark"] :is(button,a,summary):focus-visible { outline-color: var(--lime); }
[data-theme="dark"] :is(input,textarea,select):focus { outline-color: var(--lime); }
@media (max-width: 900px) { .topbar-actions :is(.theme-toggle, .prototype-badge, .language-toggle) { width: 44px; height: 44px; min-height: 44px; } }
@media (max-width: 390px) { .topbar { padding-inline: 12px; gap: 6px; } .breadcrumb { font-size: 12px; gap: 4px; } .prototype-badge { font-size: 10px; padding-inline: 8px; } }

/* Light typography: dark body copy and readable metadata, including status labels. */
:root:not([data-theme="dark"]) body { font-weight: 500; }
:root:not([data-theme="dark"]) :is(.nav-item, .text-button, .text-link, .filter, .secondary, .field-label, .matched, .message-bottom, .dialog-intro, .plain-rules, .channel strong) { color: var(--ink); }
:root:not([data-theme="dark"]) :is(.watch-row small, .watch-preview p, .discovery-preview p, .channel small, .workspace small, .profile small, .field-note, .demo-footnote, .import-panel small, .import-options small, .message-bottom small, .phone-heading small, .demo-notice, .soft-tag, .watch-row .status, .watch-row .status.paused) { color: var(--muted); font-size: 14px; font-weight: 500; }
:root:not([data-theme="dark"]) :is(.watch-rule-summary, .intro, .history-explainer p, .import-panel p, .flow-description, .review-source) { color: #181818; font-weight: 500; }
:root:not([data-theme="dark"]) .sidebar .nav-item { font-size: 15px; color: var(--ink); }
:root:not([data-theme="dark"]) .watch-row h2 { font-size: 18px; }
:root:not([data-theme="dark"]) :is(.matched, .message-bottom, .flow-prototype-note, .preset-choice small, .review-kicker) { font-size: 14px; }
:root:not([data-theme="dark"]) .filter.active { color: #fff; }
:root:not([data-theme="dark"]) .watch-row-footer { gap: 16px; }
:root:not([data-theme="dark"]) .watch-row-heading { flex-wrap: wrap; }

/* Dark readability: give metadata the same readable scale as the light theme. */
[data-theme="dark"] :is(.watch-row small, .watch-preview p, .discovery-preview p, .channel small, .workspace small, .profile small, .field-note, .demo-footnote, .import-panel small, .import-options small, .message-bottom small, .phone-heading small, .demo-notice, .soft-tag, .watch-row .status, .flow-prototype-note, .preset-choice small, .review-kicker) { font-size: 14px; font-weight: 500; }
[data-theme="dark"] :is(.watch-rule-summary, .intro, .history-explainer p, .import-panel p, .matched, .message-bottom) { color: #e0e0e6; font-weight: 500; }
[data-theme="dark"] .nav-item { color: #d6d6de; font-size: 15px; }
[data-theme="dark"] .watch-row h2 { font-size: 18px; }
[data-theme="dark"] :is(.matched, .message-bottom) { font-size: 14px; }
[data-theme="dark"] .watch-row-footer { gap: 16px; }
[data-theme="dark"] .watch-row-heading { flex-wrap: wrap; }
/* setup-flow.css */
.conversation-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:34px}.conversation-heading h1{font-size:27px;line-height:1.6;margin-top:8px;letter-spacing:-.5px}.conversation-heading>.text-button{font-size:12px;white-space:nowrap}.setup-guide{margin:24px 0 28px;border:1px solid var(--line);border-radius:20px;background:var(--white);overflow:hidden}.flow-steps{display:flex;list-style:none;margin:0;padding:20px 24px;gap:24px;border-bottom:1px solid var(--line);background:var(--bg)}.flow-steps li{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.flow-steps li>span{width:24px;height:24px;display:grid;place-items:center;background:var(--line);border-radius:50%;font-size:11px;flex-shrink:0}.flow-steps .current{color:var(--ink);font-weight:600}.flow-steps .current>span,.flow-steps .done>span{background:var(--lime);color:#20241a}.flow-steps .icon{width:14px;height:14px}.flow-content{padding:25px}.flow-content h2{font-size:23px;line-height:1.6;font-weight:600}.flow-description{font-size:14px;color:var(--muted);line-height:1.8;margin:7px 0 18px}.preset-list{display:grid;gap:12px;margin-top:22px}.preset-choice{display:flex;align-items:center;gap:14px;text-align:left;border:1px solid var(--line);border-radius:14px;padding:18px;background:var(--bg);width:100%}.preset-choice>span:nth-child(2){flex:1;min-width:0}.preset-choice strong{font-size:16px;font-weight:600;display:block}.preset-choice>span>span{display:block;font-size:13px;color:var(--muted);line-height:1.8;margin-top:5px}.preset-choice small{display:block;font-size:12px;color:var(--muted);margin-top:8px}.preset-choice>.icon{width:16px;height:16px}.preset-choice:hover,.preset-choice.selected{border-color:#9db650;background:var(--pale)}.flow-own-rule{margin-top:18px;font-size:13px}.flow-own-rule>.icon{height:18px;width:18px}.setup-guide input,.setup-guide select{width:100%;padding:12px 14px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;font-size:14px;min-height:46px}.flow-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}.flow-actions .text-button{font-size:13px}.flow-context{display:flex;gap:10px;font-size:12px;color:var(--muted);line-height:1.8;padding:15px 0 0}.flow-context .icon{height:17px;width:17px}.flow-prototype-note{padding:15px 25px;margin:0;background:var(--bg);border-top:1px solid var(--line);font-size:12px;color:var(--muted);line-height:1.8}.review-kicker{display:block;color:var(--muted);font-size:12px;letter-spacing:.5px;margin-bottom:10px}.review-source{font-size:14px;color:var(--muted);margin:7px 0 17px}.pair-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:23px}.pair-list span{background:var(--pale);padding:6px 10px;border-radius:7px;font-size:13px}.rule-lines{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 0 16px;margin-bottom:18px}.rule-lines p{display:flex;align-items:baseline;gap:8px;font-size:14px;line-height:1.9;margin-top:10px;flex-wrap:wrap}.rule-lines p>span{margin-right:8px;font-size:12px;color:var(--muted)}.rule-lines strong{font-weight:600}.review-destination{font-size:14px;color:var(--muted);margin-top:20px}.review-destination strong{color:var(--ink)}.alert-preview-dialog{padding:30px;width:520px;max-width:calc(100vw - 28px)}.alert-preview-dialog .dialog-heading h2{font-size:23px}.alert-preview-dialog .message-phone{margin-top:22px}.preview-done{margin-top:24px;width:100%}.row-actions{flex-wrap:wrap;justify-content:flex-end}.watch-row-footer>small{flex-shrink:0}.watch-row-footer{flex-wrap:wrap}.watch-row-heading>div{min-width:0;overflow-wrap:anywhere}.watch-row .status{flex-shrink:0}.message-phone>p{overflow-wrap:anywhere}
[data-theme="dark"] .preset-choice:hover,[data-theme="dark"] .preset-choice.selected{background:#27272d;border-color:#818b54}[data-theme="dark"] .flow-own-rule{color:var(--muted)}
@media(max-width:650px){.conversation-heading{display:block;margin-bottom:23px}.conversation-heading h1{font-size:22px}.conversation-heading>.text-button{margin-top:8px}.flow-steps{gap:10px;padding:16px 14px;justify-content:space-between}.flow-steps li{font-size:10px;gap:5px}.flow-steps li>span{width:21px;height:21px}.flow-content{padding:20px 16px}.flow-content h2{font-size:21px}.preset-choice{padding:15px 12px;gap:10px}.preset-choice .setup-icon{width:35px;height:35px;border-radius:10px}.preset-choice strong{font-size:15px}.preset-choice>span>span{font-size:12px}.preset-choice small{font-size:11px}.flow-prototype-note{padding:13px 16px;font-size:11px}.flow-actions{gap:10px;align-items:stretch}.flow-actions .primary,.flow-actions .secondary{padding:12px;font-size:12px}.flow-actions .text-button{font-size:12px}.setup-guide .field-grid{grid-template-columns:1fr}.rule-lines p{font-size:13px}.alert-preview-dialog{padding:24px 20px}.alert-preview-dialog .dialog-heading h2{font-size:21px}.watch-row-footer>small{flex-shrink:1}.row-actions{justify-content:flex-start}.row-actions button{font-size:12px;padding:10px}}
/* workbench.css */
.sidebar-close { display: none; position: absolute; top: 18px; right: 8px; }
.sidebar-backdrop { position: fixed; inset: 0; z-index: 19; background: #0005; }
@media (max-width: 899px) {
  .app .sidebar { transform: translateX(-100%); visibility: hidden; width: 252px; overflow-y: auto; }
  .app .sidebar.is-open { transform: translateX(0); visibility: visible; }
  .app .main-shell { margin-left: 0; width: 100%; }
  .topbar .mobile-menu, .sidebar .sidebar-close { display: grid !important; width: 44px; height: 44px; }
  .topbar .theme-toggle { min-height: 44px; }
  body:has(.sidebar.is-open) { overflow: hidden; }
}
.runtime-status {
  font-size: 13px;
  padding: 12px 18px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}
.runtime-status button {
  margin-left: auto;
}
.workbench {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}
.workbench #conversation {
  min-width: 0;
  width: 100%;
  max-width: none;
  margin: 0;
}
.design-panel {
  border: 1px solid var(--line);
  background: var(--white);
  border-radius: 18px;
  overflow: hidden;
  min-width: 0;
}
.design-toolbar {
  display: flex;
  gap: 8px;
  padding: 16px;
  border-bottom: 1px solid var(--line);
  align-items: center;
  flex-wrap: wrap;
}
.design-toolbar strong {
  margin-right: auto;
}
.design-body {
  padding: 20px;
}
.design-body input,
.design-body select {
  min-width: 0;
  width: 100%;
  padding: 9px 10px;
  background: var(--bg);
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 8px;
  font: inherit;
}
.design-body label {
  font-size: 13px;
  color: var(--muted);
  display: block;
  margin-bottom: 12px;
}
.design-body label input,
.design-body label select {
  margin-top: 5px;
}
.exchange-choices {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 10px 0 16px;
}
.exchange-choices label {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 0;
}
.exchange-choices input {
  width: auto;
  margin: 0;
}
.condition-group {
  border-left: 2px solid var(--line);
  margin: 12px 0;
  padding-left: 12px;
}
.condition-group .condition-group {
  margin-left: 4px;
}
.condition-line {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}
.condition-line .operator {
  grid-column: 1/-1;
}
.operand-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.operand-fields select:first-child {
  grid-column: 1/-1;
}
.condition-tools {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 10px;
}
.condition-tools button {
  font-size: 12px;
}
.setup-section {
  border-top: 1px solid var(--line);
  padding: 18px 0;
}
.setup-section h3 {
  font-size: 15px;
  margin: 0 0 10px;
}
.design-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 20px;
}
.design-panel button {
  min-height: 34px;
}
.chart-frame {
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
  min-height: 150px;
  margin: 16px 0;
}
.chart-frame svg {
  display: block;
  width: 100%;
  height: auto;
}
.chart-frame > p {
  padding: 20px;
  color: var(--muted);
}
.replay-event {
  border-left: 2px solid var(--lime);
  padding: 10px 12px;
  margin: 10px 0;
  background: var(--pale);
  font-size: 13px;
}
.source-list {
  margin: 12px 0;
  font-size: 13px;
  color: var(--muted);
}
.source-list label {
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 5px;
}
.chat-tools {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  margin: 10px 0;
}
.chat-tools select {
  background: var(--white);
  color: var(--ink);
  border: 1px solid var(--line);
  padding: 8px;
  border-radius: 8px;
}
.attachment-preview {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
.attachment-preview[hidden] {
  display: none;
}
.message-images {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px;
}
.message-images img {
  width: 120px;
  height: 100px;
  max-width: 100%;
  object-fit: contain;
  border: 1px solid var(--line);
  border-radius: 8px;
}
.attachment-preview img {
  width: 90px;
  height: 70px;
  object-fit: contain;
  border: 1px solid var(--line);
  border-radius: 8px;
}
.attachment-preview button {
  font-size: 12px;
}
.message .assistant-body {
  white-space: pre-wrap;
}
.message .assistant-rich-text { white-space:normal; overflow-wrap:anywhere; line-height:1.8; }
.message.user {
  width: fit-content;
  max-width: 85%;
  min-width: 0;
  margin-left: auto;
  margin-right: 0;
  align-self: flex-end;
  text-align: start;
}
.assistant-rich-text > :first-child { margin-top:0; }
.assistant-rich-text > :last-child { margin-bottom:0; }
.assistant-rich-text p { margin:0 0 12px; }
.assistant-rich-text :is(h2,h3,h4,h5,h6) { margin:20px 0 8px; font-size:1em; line-height:1.6; font-weight:600; }
.assistant-rich-text :is(ul,ol) { margin:8px 0 14px; padding-left:24px; }
.assistant-rich-text li { margin:5px 0; padding-left:3px; }
.assistant-rich-text li::marker { color:var(--muted); }
.assistant-rich-text strong { font-weight:600; }
.assistant-rich-text a { text-decoration:underline; text-underline-offset:3px; }
.assistant-rich-text code { background:var(--pale); border-radius:5px; padding:2px 5px; font-size:.88em; }
.assistant-rich-text pre { margin:12px 0; padding:14px; border:1px solid var(--line); border-radius:10px; overflow-x:auto; white-space:pre; font-size:13px; }
.assistant-rich-text pre code { background:none; padding:0; font-size:inherit; }
.assistant-rich-text blockquote { margin:12px 0; padding:2px 0 2px 14px; border-left:2px solid var(--line); color:var(--muted); }
.assistant-rich-text hr { margin:18px 0; border:0; border-top:1px solid var(--line); }
.assistant-table { overflow-x:auto; margin:12px 0; }
.assistant-table table { border-collapse:collapse; min-width:100%; font-size:13px; }
.assistant-table :is(th,td) { text-align:left; vertical-align:top; padding:8px 12px; border-bottom:1px solid var(--line); overflow-wrap:normal; }
.assistant-table :is(a,code) { overflow-wrap:anywhere; }
.runtime-error {
  color: var(--ink);
  border-left: 3px solid #bd713a;
  padding: 12px;
  background: var(--pale);
  font-size: 14px;
}
.data-table {
  overflow: auto;
  margin: 16px 0;
}
.data-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.data-table td,
.data-table th {
  padding: 10px;
  text-align: left;
  border-bottom: 1px solid var(--line);
  white-space: nowrap;
}
.runtime-card {
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--white);
  margin: 16px 0;
}
.runtime-card h2 {
  font-size: 20px;
  margin-bottom: 12px;
}
.runtime-card p {
  color: var(--muted);
  line-height: 1.7;
}
.mobile-design-tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 20px;
}
.conversation-select {
  width: 100%;
  max-width: 350px;
  padding: 10px;
  background: var(--white);
  border: 1px solid var(--line);
  color: var(--ink);
  border-radius: 9px;
  margin-bottom: 15px;
}
.draft-diff {
  font-size: 13px;
  line-height: 1.8;
  background: var(--pale);
  padding: 15px;
  border-radius: 10px;
  white-space: pre-wrap;
}
.saved-label {
  font-size: 13px;
  color: var(--muted);
}
.main-shell:has(.workbench:not([hidden])) .home-view {
  max-width: 1080px;
  width: 100%;
}
.home-lower {
  display: none;
}
.design-panel :focus-visible {
  outline: 2px solid var(--lime);
  outline-offset: 3px;
}
.workbench[hidden] {
  display: none;
}
@media (max-width: 1050px) {
  .workbench {
    grid-template-columns: 1fr;
  }
  .mobile-design-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 18px;
  }
  .workbench[data-tab="chat"] .design-panel {
    display: none;
  }
  .workbench[data-tab="design"] #conversation {
    display: none;
  }
  .condition-line {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 480px) {
  .condition-line {
    grid-template-columns: 1fr;
  }
  .design-body {
    padding: 14px;
  }
  .operand-fields {
    grid-template-columns: 1fr 1fr;
  }
  .runtime-status {
    padding: 10px;
  }
  .design-toolbar {
    padding: 12px;
  }
}
.runtime-dialog {
  background: var(--white);
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 24px;
  width: min(620px, 92vw);
  max-height: 90vh;
  overflow: auto;
}
.runtime-dialog::backdrop {
  background: #0009;
}
.runtime-dialog p {
  line-height: 1.7;
  margin: 12px 0;
}
.runtime-card input,
.runtime-card select {
  display: block;
  width: 100%;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--bg);
  color: var(--ink);
  margin: 6px 0 14px;
  font: inherit;
}
.runtime-card label {
  display: block;
}
.destination-choices {
  min-inline-size: 0;
  border: 1px solid var(--line);
  padding: 12px;
  border-radius: 10px;
}
.destination-choices input {
  width: auto;
}
.crop-stage {
  position: relative;
  width: fit-content;
  margin: auto;
  touch-action: none;
}
.crop-stage img {
  display: block;
  max-width: 100%;
  max-height: 55vh;
  user-select: none;
}
.crop-box {
  position: absolute;
  border: 2px solid var(--lime);
  background: #d0f64c22;
  pointer-events: none;
}
.watch-row-footer {
  flex-wrap: wrap;
}
.watch-row-footer small {
  margin-right: auto;
}
.exchange-choices input,
.destination-choices input {
  accent-color: var(--lime);
}
.evidence-row {
  font-size: 13px;
  padding: 7px 10px;
  border-left: 2px solid var(--line);
  margin: 6px 0;
}
.evidence-row .evidence-row {
  margin-left: 10px;
}
.chat-image-gallery { display:flex; gap:8px; width:fit-content; max-width:85%; margin:8px 0 18px auto; align-self:flex-end; }
.chat-image-gallery .chat-image-thumbnail { display:block; flex:0 1 88px; width:88px; min-width:0; min-height:0; aspect-ratio:1; padding:0; margin:0; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:var(--bg); cursor:zoom-in; }
.chat-image-thumbnail .chat-saved-image { display:block; width:100%; height:100%; aspect-ratio:1; object-fit:cover; }
.chat-image-thumbnail:hover { border-color:var(--muted); }
.chat-image-thumbnail:focus-visible { outline:2px solid var(--accent-ink); outline-offset:3px; }
dialog.chat-image-viewer { position:fixed; inset:0; width:100vw; max-width:none; height:100dvh; max-height:none; margin:0; padding:64px 16px 48px; border:0; border-radius:0; background:transparent; color:#fff; overflow:hidden; box-sizing:border-box; }
dialog.chat-image-viewer[open] { display:flex; align-items:center; justify-content:center; }
dialog.chat-image-viewer::backdrop { background:rgb(0 0 0 / 48%); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
dialog.chat-image-viewer .chat-image-full { display:block; width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; }
dialog.chat-image-viewer .chat-image-close { position:absolute; top:16px; right:16px; display:grid; place-items:center; width:44px; height:44px; min-height:44px; padding:0; margin:0; border:1px solid #ffffff40; border-radius:50%; background:#242424; color:#fff; font-size:28px; line-height:1; cursor:pointer; }
dialog.chat-image-viewer .chat-image-close:focus-visible { outline:2px solid #fff; outline-offset:4px; }
.chat-image-caption { position:absolute; bottom:16px; left:16px; right:16px; text-align:center; font-size:13px; line-height:1.5; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#ddd; }
.replay-details {
  margin: 12px 0 24px;
}
.history-api-header { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.library-image-tools { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding-block:10px; }
.library-image-tools label { flex:1 1 100%; font-size:12px; color:var(--muted); }
.library-image-tools input { margin-top:6px; width:100%; }
.image-mention-menu { position:fixed; z-index:110; padding:6px; border:1px solid var(--line); border-radius:14px; background:var(--white); box-shadow:0 12px 36px #0003; max-height:240px; overflow:auto; }
.image-mention-menu[hidden] { display:none; }
.image-mention-menu button { display:flex; align-items:center; gap:10px; width:100%; text-align:left; padding:8px; border-radius:9px; background:transparent; color:var(--ink); }
.image-mention-menu button[aria-selected="true"],.image-mention-menu button:hover { background:var(--pale); }
.image-mention-menu img { width:40px; height:32px; object-fit:cover; border-radius:5px; }
.history-api-header h2 { margin:0; min-width:0; }
.history-api-header [data-revoke-key] { display:inline-flex; align-items:center; gap:6px; font-size:12px; color:var(--muted); white-space:nowrap; }
.history-api-header [data-revoke-key]:hover { color:var(--ink); }
.connection-item {
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}
.setup-change-card { max-width: 100%; margin: 16px 0; padding: 18px; border: 1px solid var(--line, #424247); border-radius: 20px; background: var(--white); color: var(--ink); animation: setup-change-in .22s ease-out; }
.setup-change-card header, .setup-change-card footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.setup-change-card header > span { font-size: 12px; color: var(--muted); }
.setup-change-card ul { list-style: none; margin: 14px 0; padding: 0; }
.setup-change-card li { display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 12px; padding: 10px 0; }
.setup-change-card li + li { border-top: 1px solid var(--line, #424247); }
.setup-change-card li > div { display: grid; gap: 4px; overflow-wrap: anywhere; font-size: 13px; }
.setup-change-card .change-action { align-self: start; border-radius: 8px; padding: 4px 6px; text-align: center; font-size: 11px; background: var(--pale); }
.setup-change-card .change-before { color: var(--muted); }
.setup-change-card .change-after { color: var(--ink); }
.setup-change-card footer small { flex: 1 1 180px; font-size: 12px; color: var(--muted); }
.setup-change-card footer button.secondary { background: var(--pale); color: var(--ink); border: 1px solid var(--line); }
@keyframes setup-change-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .setup-change-card { animation: none; } }

#connect-history { display: grid; gap: 20px; padding: 8px 0 20px; max-width: 680px; }
#connect-history label, #history-connections [data-sync] label { display: grid; gap: 8px; min-width: 0; font-size: 14px; line-height: 1.5; }
#connect-history :is(input, select), #history-connections [data-sync] :is(input, select) { margin: 0; min-height: 44px; }
#connect-history .snaap-select, #history-connections [data-sync] .snaap-select { margin: 0; min-width: 0; }
#connect-history .snaap-select-trigger { background: var(--bg); color: var(--ink); border: 1px solid var(--line); }
#connect-history > button { justify-self: start; }
#connect-history .field-note { margin: 0; }
#connect-history [hidden] { display: none; }
.connection-file-method { display: grid; gap: 14px; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: var(--bg); }
.connection-file-method p { margin: 0; }
.connection-file-method :is(button,a) { justify-self: start; }
.workspace { display: flex; align-items: center; gap: 8px; }
.workspace > label { display: grid; gap: 6px; min-width: 0; flex: 1; font-size: 12px; }
.workspace select { width: 100%; }
.workspace .snaap-select { min-width: 0; }
.workspace-actions { display: grid; gap: 4px; flex-shrink: 0; }
.workspace-actions button { min-width: 32px; min-height: 32px; padding: 6px; }
.sidebar .workspace { display: grid; gap: 8px; align-items: stretch; padding: 0; margin-bottom: 16px; }
.workspace > .workspace-label { display: block; padding-left: 12px; font-size: 12px; line-height: 1.5; color: var(--muted); }
.workspace-picker-row { position: relative; display: flex; align-items: center; gap: 2px; min-width: 0; padding: 4px; border: 1px solid var(--line); border-radius: 14px; background: var(--bg); }
.workspace-picker-row > .snaap-select { flex: 1; min-width: 0; margin: 0; }
.workspace-picker-row .snaap-select-trigger { min-height: 44px; border: 0; border-radius: 10px; padding: 10px 8px; gap: 8px; background: transparent; }
.workspace-picker-row .snaap-select-trigger:hover { background: var(--pale); }
.workspace-picker-row > button { display: grid; place-items: center; flex: 0 0 32px; height: 44px; padding: 0; border-radius: 10px; color: var(--muted); }
.workspace-picker-row > button:hover { background: var(--pale); }
.workspace-picker-row > button .ui-icon { width: 18px; height: 18px; }
.workspace-actions { position: absolute; top: calc(100% + 6px); right: 0; width: 208px; padding: 6px; border: 1px solid var(--line); border-radius: 14px; background: var(--white); box-shadow: 0 12px 30px #0002; z-index: 100; }
.workspace-actions button { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 44px; padding: 10px 12px; border-radius: 9px; text-align: left; color: var(--ink); font-size: 13px; }
.workspace-actions button:hover { background: var(--pale); }
.workspace-actions .ui-icon { width: 17px; height: 17px; flex-shrink: 0; }
.workspace-actions .workspace-delete-action { color: #b73342; border-top: 1px solid var(--line); margin-top: 4px; }
[data-theme="dark"] .workspace-actions .workspace-delete-action { color: #fb9098; }
.sidebar .new-chat { min-height: 48px; padding: 12px 14px; border-radius: 14px; margin-bottom: 20px; gap: 12px; }
.sidebar nav { gap: 6px; }
.sidebar .nav-item { min-height: 48px; padding: 12px 14px; border-radius: 14px; gap: 12px; }
.workspace small { color: var(--muted); font-size: 11px; }
.chat-workspace-badge { color: var(--muted); font-size: 12px; padding: 6px 10px; background: var(--pale); border-radius: 12px; max-width: 100%; overflow-wrap: anywhere; }
.toast { top: max(20px,env(safe-area-inset-top)); bottom: auto; left: 50%; transform: translateX(-50%); text-align: center; z-index: 10000; }
.auth-signout{display:block;margin:12px auto 0;padding:8px 14px;color:var(--muted);font-size:12px;border-radius:8px}
.auth-signout:hover{background:var(--line);color:var(--ink)}
.workbench-toolbar { flex-wrap: wrap; }
.workspace-dialog { width: min(460px,calc(100vw - 32px)); border: 1px solid var(--line); border-radius: 24px; padding: 28px; background: var(--white); color: var(--ink); outline: none; box-shadow: 0 24px 80px #0003; }
.workspace-dialog::backdrop { background: #0006; backdrop-filter: blur(6px); }
.workspace-dialog[open] { animation: workspace-dialog-in .18s ease-out; }
.workspace-dialog form { display: grid; gap: 24px; }
.workspace-dialog h2 { font-size: 22px; font-weight: 600; line-height: 1.4; }
.workspace-dialog label { display: flex; align-items: center; gap: 10px; }
.workspace-dialog label:has(input:is([name="name"], [name="title"])) { display: grid; gap: 10px; font-size: 13px; font-weight: 500; }
.workspace-dialog input:is([name="name"], [name="title"]) { appearance: none; width: 100%; min-width: 0; height: 48px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--bg); color: var(--ink); font-size: 15px; font-weight: 400; outline: none; transition: border-color .15s, box-shadow .15s; }
.workspace-dialog input:is([name="name"], [name="title"])::placeholder { color: var(--muted); opacity: 1; }
.workspace-dialog input:is([name="name"], [name="title"]):focus { border-color: #89a73a; box-shadow: 0 0 0 3px #b9d96620; }
.workspace-dialog .row-actions { display: flex; justify-content: flex-end; gap: 10px; }
.workspace-dialog .row-actions button { min-height: 44px; padding: 10px 20px; border-radius: 14px; }
@keyframes workspace-dialog-in { from { opacity: 0; transform: translateY(8px) scale(.98); } to { opacity: 1; transform: none; } }
.workspace-dialog.rename-chat-dialog { width: min(360px, calc(100vw - 32px)); padding: 20px; border-radius: 18px; }
.rename-chat-dialog form { gap: 16px; }
.rename-chat-dialog h2 { font-size: 18px; }
.rename-chat-dialog label:has(input[name="title"]) { gap: 8px; }
.rename-chat-dialog input[name="title"] { height: 44px; padding: 10px 12px; border-radius: 12px; }
.rename-chat-dialog .row-actions { gap: 8px; }
.rename-chat-dialog .row-actions button { padding: 10px 16px; border-radius: 12px; }
.rename-chat-dialog [data-rename-error] { margin: 0; color: var(--ink); overflow-wrap: anywhere; }
@media (prefers-reduced-motion: reduce) { .workspace-dialog[open] { animation: none; } .workspace-dialog input:is([name="name"], [name="title"]) { transition: none; } }
#history-connections [data-sync] { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: 16px; align-items: end; margin: 16px 0; }
.history-exchange-capabilities { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0 8px; }
.history-exchange-capabilities > div { display: grid; gap: 6px; flex: 1 1 140px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--bg); }
.history-exchange-capabilities span { color: var(--muted); font-size: 12px; }
#history-connections .connection-scope { margin-bottom: 20px; }
@media (max-width: 650px) { #history-connections [data-sync] { grid-template-columns: minmax(0, 1fr); } #history-connections [data-sync] button { justify-self: start; } }
.lab-image-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(160px,1fr)); gap: 14px; margin: 18px 0; }
.lab-image-grid :is(article,.lab-image-choice) { min-width: 0; padding: 12px; background: var(--bg); border: 1px solid var(--line); border-radius: 16px; }
.lab-image-grid img { width: 100%; height: 140px; object-fit: contain; border-radius: 10px; }
.lab-image-grid p, .lab-image-choice span { font-size: 12px; overflow-wrap: anywhere; }
.lab-image-choice span { display: flex; align-items: center; gap: 8px; margin-top: 10px; }
.trading-lab-images .file-drop { margin-top: 18px; }
.lab-image-grid button.secondary { margin-top: 12px; color: var(--ink); background: var(--pale); }
.my-data-toggle { gap: 8px; white-space: nowrap; }
.my-data-toggle .switch-track { display: inline-block; flex: 0 0 30px; width: 30px; height: 18px; border-radius: 20px; background: var(--line); position: relative; transition: background .18s ease; }
.my-data-toggle .switch-track::after { content: ''; position: absolute; width: 12px; height: 12px; left: 3px; top: 3px; border-radius: 50%; background: var(--ink); transition: transform .18s ease; }
.my-data-toggle[aria-checked="true"] .switch-track { background: #d6fc45; }
.my-data-toggle[aria-checked="true"] .switch-track::after { transform: translateX(12px); background: #151515; }
.my-data-toggle:focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) { .my-data-toggle .switch-track, .my-data-toggle .switch-track::after { transition: none; } }
.setup-direction { margin: 18px 0; border: 0; padding: 0; }
.setup-direction legend { margin-bottom: 10px; font-weight: 600; }
.direction-options { display: flex; gap: 10px; flex-wrap: wrap; }
.direction-options label { display: flex; align-items: center; gap: 9px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; cursor: pointer; }
.direction-options label:has(input:checked) { border-color: var(--lime, #cefa44); background: var(--pale); }
.direction-options input { width: 16px; height: 16px; accent-color: var(--lime, #cefa44); }
.direction-options small { font-size: 12px; color: var(--muted); }
.setup-direction .field-note { margin: 10px 0 0; }
.setup-direction .direction-mirror { display: flex; align-items: flex-start; gap: 9px; margin-top: 16px; font-size: 13px; line-height: 1.6; cursor: pointer; }
.direction-mirror input { flex: none; width: 16px; height: 16px; margin-top: 3px; accent-color: var(--lime); }
.setup-direction-spot { font-size: 13px; color: var(--muted); }
.connection-feedback { margin: 0; padding: 12px 14px; border-radius: 12px; background: var(--pale); color: var(--ink); font-size: 13px; line-height: 1.7; overflow-wrap: anywhere; }
.connection-feedback[data-state="error"] { border-left: 3px solid #b73342; }

.library-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.library-heading h2 { margin:0; }
.library-count { font-size:12px; color:var(--muted); white-space:nowrap; }
.trading-lab-images .library-intro { font-size:13px; line-height:1.7; margin:10px 0 0; color:var(--muted); }
.trading-lab-images .file-drop { margin-top:14px; padding:14px 16px; }
.trading-lab-images .lab-image-grid { grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:12px; margin:14px 0 10px; }
.trading-lab-images .lab-image-grid article { padding:10px; border-radius:12px; }
.trading-lab-images .lab-image-grid img { height:120px; display:block; background:var(--white); }
.trading-lab-images .library-image-tools { display:grid; grid-template-columns:minmax(0,1fr) 34px 34px; gap:6px; padding:10px 0 0; }
.library-image-tools input { margin:0; min-width:0; height:36px; padding:7px 9px; font-size:12px; }
.library-icon-button { display:inline-flex; align-items:center; justify-content:center; width:34px; height:36px; min-height:36px; padding:0; border-radius:8px; color:var(--muted); background:transparent; }
.library-icon-button:hover { color:var(--ink); background:var(--pale); }
.library-icon-button.library-delete:hover { color:#f18088; background:#e8758014; }
.library-icon-button .ui-icon { width:16px; height:16px; }
.library-retention { margin:0; font-size:12px; }
@media(max-width:600px) { .trading-lab-images .lab-image-grid { grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); } }

/* Keep the complete five-image library on one row, including narrow screens. */
.trading-lab-images .lab-image-grid {
 grid-template-columns:repeat(5,minmax(132px,1fr)); grid-auto-flow:column;
 gap:10px; overflow-x:auto; padding-bottom:4px; overscroll-behavior-inline:contain;
}
.trading-lab-images .lab-image-grid img { height:104px; }
.trading-lab-images .library-image-tools { grid-template-columns:minmax(0,1fr) 32px 32px; gap:4px; padding-top:8px; }
.trading-lab-images .library-image-tools input { grid-column:1 / -1; }
.trading-lab-images .library-image-tools [data-rename-image] { grid-column:2; }
.trading-lab-images .library-image-tools [data-delete-image] { grid-column:3; }
.trading-lab-images .library-icon-button { width:32px; height:32px; min-height:32px; }
.library-delete-dialog {
 width:380px; max-width:calc(100vw - 32px); padding:24px; box-sizing:border-box;
 background:var(--white); color:var(--ink); border:1px solid var(--line); border-radius:18px;
 box-shadow:0 24px 80px #0005;
}
.library-delete-dialog::backdrop { background:#0008; backdrop-filter:blur(5px); }
.library-delete-heading { display:flex; align-items:center; gap:10px; }
.library-delete-heading h2 { font-size:18px; margin:0; }
.library-delete-symbol { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; color:#ed8790; background:#e8758014; }
.library-delete-preview { display:flex; align-items:center; gap:12px; padding:12px; margin-top:18px; border:1px solid var(--line); border-radius:12px; }
.library-delete-preview img { width:72px; height:52px; object-fit:contain; border-radius:6px; background:var(--bg); }
.library-delete-preview strong { min-width:0; font-size:13px; overflow-wrap:anywhere; }
.library-delete-dialog p { font-size:13px; line-height:1.7; color:var(--muted); margin:14px 0 0; }
.library-delete-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:22px; }
.library-delete-actions button { min-height:40px; padding:9px 14px; border-radius:9px; font-size:13px; }
.library-delete-confirm { background:#bf3945; color:#fff; }
.library-delete-confirm:hover { background:#a82e3a; }
.library-delete-actions button:disabled { opacity:.55; cursor:wait; }
.library-delete-dialog p.library-delete-error { color:#ed8790; }
@media(prefers-reduced-motion:no-preference) { .library-delete-dialog[open] { animation:library-dialog-enter 180ms cubic-bezier(.22,1,.36,1); } }
@keyframes library-dialog-enter { from { opacity:0; transform:translateY(8px) scale(.98); } to { opacity:1; transform:none; } }

/* My data: compact connection form and explicit, readable privacy consent. */
#view-history > .runtime-card { border-radius:16px; }
#history-connections > h2 { margin-bottom:8px; }
#history-connections .history-exchange-capabilities { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin:16px 0 8px; }
#history-connections .history-exchange-capabilities > div { padding:11px 12px; border-radius:10px; gap:4px; }
#history-connections .history-exchange-capabilities strong { font-size:13px; }
#history-connections .history-exchange-capabilities span { font-size:11px; line-height:1.6; }
#history-connections .connection-scope { margin:8px 0 18px; line-height:1.7; }
#history-connections .add-history-connection { margin-top:16px; border-top:1px solid var(--line); padding-top:14px; }
#history-connections .add-history-connection > summary { font-weight:600; font-size:14px; cursor:pointer; padding:4px 0; }
#connect-history { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 16px; margin-top:18px; align-items:start; }
#connect-history > label { min-width:0; font-size:13px; color:var(--muted); }
#connect-history input { margin:6px 0 0; min-height:42px; }
#connect-history label small { display:block; font-size:11px; line-height:1.65; margin-top:6px; }
#connect-history > :is(details,p,.connection-file-method) { grid-column:1 / -1; margin:0; }
#connect-history > button[type="submit"] { grid-column:1 / -1; justify-self:end; min-height:42px; font-size:13px; }
#connect-history .connection-api-guide { border:0; border-radius:0; padding:0; background:transparent; }
#connect-history .connection-api-guide summary { width:fit-content; min-height:32px; padding:4px 0; cursor:pointer; font-size:12px; line-height:1.5; color:var(--muted); }
#connect-history .connection-api-guide summary:hover { color:var(--ink); }
#connect-history .connection-api-guide p { margin:8px 0 0; max-width:72ch; line-height:1.65; }
.history-file-details > summary { font-size:13px; padding:8px 0; cursor:pointer; color:var(--muted); }
.history-file-details > label { margin-top:14px; font-size:13px; }
.history-file-details small { display:block; font-size:11px; line-height:1.7; }
.connection-consent-dialog { width:min(480px,calc(100vw - 32px)); padding:24px; border-radius:18px; }
.connection-consent-dialog h2 { font-size:21px; margin:16px 0 8px; }
.connection-consent-dialog p { font-size:13px; line-height:1.75; color:var(--muted); }
.consent-overline { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--muted); }
.consent-overline .ui-icon { width:16px; height:16px; }
.consent-data-scope { display:grid; grid-template-columns:20px minmax(0,1fr); gap:10px; padding:13px; margin-top:10px; border:1px solid var(--line); border-radius:11px; background:var(--bg); }
.consent-data-scope > span { color:var(--accent-ink,var(--lime)); }
.consent-data-scope strong { font-size:13px; }
.connection-consent-dialog .consent-data-scope p { font-size:12px; margin:4px 0 0; }
.connection-consent-dialog .consent-permission-note { font-size:12px; border-left:2px solid var(--lime); padding-left:12px; margin-top:16px; }
.connection-consent-dialog .field-note { font-size:11px; }
.connection-consent-dialog .design-actions { margin-top:20px; justify-content:flex-end; gap:8px; }
.connection-consent-dialog .design-actions button { font-size:13px; min-height:42px; padding:10px 14px; }
@media(max-width:700px) {
 #connect-history { grid-template-columns:minmax(0,1fr); }
 #history-connections .history-exchange-capabilities { display:flex; overflow-x:auto; flex-wrap:nowrap; }
 #history-connections .history-exchange-capabilities > div { flex:0 0 120px; }
 .connection-consent-dialog { padding:20px; }
}

/* My data uses one spacing scale and explicit field/action rows. */
#view-history { max-width:1160px; margin-inline:auto; }
#view-history .page-heading { margin-bottom:24px; }
#view-history > .runtime-card { padding:22px; margin:0 0 16px; min-width:0; }
#view-history .runtime-card h2 { font-size:18px; line-height:1.5; margin:0 0 8px; }
#view-history .runtime-card > p { font-size:13px; line-height:1.75; margin:8px 0 0; }
#view-history .trading-lab-images .library-heading h2 { margin:0; }
#view-history .trading-lab-images .library-retention { margin:8px 0 0; font-size:12px; }
#connect-history > .connection-name-field,
#connect-history > .connection-passphrase-field { grid-column:1 / -1; }
#connect-history > label > :is(input,.snaap-select) { width:100%; box-sizing:border-box; }
#connect-history > label > .snaap-select { margin-top:6px; }
#connect-history .connection-form-footer {
 grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1fr) auto;
 align-items:center; gap:12px 24px; margin-top:4px; padding-top:18px; border-top:1px solid var(--line);
}
.connection-form-notes { min-width:0; display:grid; gap:6px; }
#connect-history .connection-form-notes p { margin:0; font-size:12px; line-height:1.7; color:var(--muted); }
#connect-history .connection-form-footer > button { min-height:42px; white-space:nowrap; align-self:center; font-size:13px; padding:10px 16px; }
#connect-history .connection-form-footer > .connection-feedback { grid-column:1 / -1; margin:0; }
#history-connections .connection-item { margin:16px 0; padding:16px; border:1px solid var(--line); border-radius:12px; background:var(--bg); }
#history-connections .connection-item > strong { display:block; font-size:14px; }
#history-connections .connection-item > p { font-size:12px; line-height:1.7; color:var(--muted); margin:6px 0 0; }
#history-connections .connection-item form { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; gap:12px; align-items:end; margin-top:14px; }
#history-connections .connection-item form label { min-width:0; font-size:12px; color:var(--muted); }
#history-connections .connection-item form input { margin:6px 0 0; min-height:42px; box-sizing:border-box; }
#history-connections .connection-item form button { min-height:42px; font-size:12px; padding:10px 14px; }
#history-connections .add-history-connection { margin-top:18px; border-bottom:0; }
#view-history .history-import-entry { padding:16px 22px; }
#view-history .history-import-entry h2 { font-size:14px; margin:0; }
#view-history .history-import-entry > p { font-size:12px; margin-top:6px; color:var(--muted); }
#view-history .history-file-card .history-file-details > summary { padding:4px 0; line-height:1.7; }
#view-history .history-file-card .history-file-details { border:0; }
#view-history .history-file-card .history-file-details > :is(p,a,details,label) { margin-top:12px; }
@media(max-width:760px) {
 #view-history > .runtime-card { padding:18px; }
 #connect-history .connection-form-footer { grid-template-columns:minmax(0,1fr); gap:14px; }
 #connect-history .connection-form-footer > button { justify-self:end; }
 #history-connections .connection-item form { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 #history-connections .connection-item form button { grid-column:1 / -1; justify-self:end; }
}
@media(max-width:480px) {
 #history-connections .connection-item form { grid-template-columns:minmax(0,1fr); }
 #connect-history .connection-form-footer > button { width:100%; justify-self:stretch; }
}
.connection-auto-status { margin-top:14px; }
#connect-history { width:100%; max-width:none; }
.history-sync-caption { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:13px; }
.history-sync-caption > span { color:var(--text-muted,#a9a9b1); }
.history-sync-caption > strong { font-size:12px; white-space:nowrap; font-weight:500; }
.history-sync-progress { height:3px; border-radius:4px; overflow:hidden; background:var(--border,#303036); margin:12px 0 8px; }
.history-sync-progress > span { display:block; height:100%; background:var(--accent,#d2fa40); transition:width .4s ease; min-width:3px; }
.connection-auto-status > small { color:var(--text-muted,#a9a9b1); font-size:11px; }
.connection-auto-status > .field-note { margin:10px 0 0; font-size:11px; line-height:1.6; max-width:78ch; }
.history-sync-skeleton { display:grid; gap:6px; margin-bottom:12px; max-width:280px; }
.history-sync-skeleton span { height:6px; border-radius:4px; background:linear-gradient(90deg,#29292d,#38383f,#29292d); background-size:200% 100%; animation:history-sync-shimmer 1.8s ease-in-out infinite; }
.history-sync-skeleton span:last-child { width:60%; }
@keyframes history-sync-shimmer { to { background-position:-200% 0; } }
@media(prefers-reduced-motion:reduce) { .history-sync-skeleton span { animation:none; } .history-sync-progress > span { transition:none; } }
/* chat-artifacts.css */
.chat-artifact{width:100%;min-width:0;border:1px solid var(--line,#34363c);border-radius:16px;background:var(--white,#191a1c);padding:18px;margin-top:16px;overflow:hidden;color:var(--ink,#f4f5f8)}
.artifact-header{display:flex;align-items:start;justify-content:space-between;gap:12px}.artifact-header h3,.artifact-dialog h3{margin:4px 0 0;font-size:17px;line-height:1.4}.artifact-kicker{font-size:10px;letter-spacing:.12em;color:var(--muted,#acb1bc)}
.artifact-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.artifact-toolbar button,.artifact-details button,.artifact-close{font-size:11px;padding:6px 8px;min-height:30px;background:transparent;border:1px solid var(--line,#34363c);border-radius:7px;color:inherit;cursor:pointer;white-space:nowrap}.artifact-toolbar button:hover,.artifact-details button:hover{background:var(--hover,#2b2d33)}
.artifact-toolbar button:focus-visible,.artifact-details button:focus-visible,.artifact-close:focus-visible,.chat-artifact summary:focus-visible{outline:2px solid var(--accent,#d8ff4f);outline-offset:3px}.artifact-toolbar button:disabled{opacity:.5;cursor:wait}
.artifact-context,.artifact-asof,.artifact-refresh-note{font-size:11px;line-height:1.65;color:var(--muted,#acb1bc);margin:9px 0 12px}.artifact-asof{margin:12px 0 0}.artifact-refresh-note{color:#67d2ad}
.artifact-list,.artifact-metrics{list-style:none;padding:0;margin:0}.artifact-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 12px;padding:14px 0;border-bottom:1px solid var(--line,#34363c)}.artifact-row:last-child{border-bottom:0}.artifact-identity,.artifact-value{z-index:1;min-width:0}.artifact-identity strong,.artifact-identity a,.artifact-value strong{font-size:13px;font-weight:600;overflow-wrap:anywhere}.artifact-identity a{color:inherit;text-decoration:none}.artifact-identity a:hover{text-decoration:underline}.artifact-identity small,.artifact-value small{display:block;font-size:10px;line-height:1.6;color:var(--muted,#acb1bc);margin-top:3px;overflow-wrap:anywhere}.artifact-value{text-align:right;font-variant-numeric:tabular-nums}.artifact-bar{position:absolute;bottom:0;left:0;height:3px;background:#72bcf7;border-radius:2px;opacity:.7}.artifact-bar.negative{background:#ef8791}.chat-artifact .positive{color:#67d2ad}.chat-artifact .negative{color:#ef8791}
.artifact-row-detail{grid-column:1/-1;min-width:0;font-size:10px;color:var(--muted,#acb1bc);margin-top:4px}.artifact-row-detail p{overflow-wrap:anywhere;line-height:1.7}.artifact-details{font-size:11px;margin-top:10px;color:var(--muted,#acb1bc)}.artifact-details summary,.artifact-row-detail summary{cursor:pointer;width:fit-content}.artifact-details ul{padding-left:18px;line-height:1.8;overflow-wrap:anywhere}.artifact-empty,.artifact-error{font-size:12px;padding:14px 0;color:var(--muted,#acb1bc)}.artifact-error{color:#ef8791}
.artifact-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.artifact-metrics .artifact-row{display:block;border:1px solid var(--line,#34363c);border-radius:10px;padding:12px}.artifact-metrics .artifact-value{text-align:left;margin-top:10px}.artifact-metrics .artifact-value strong{font-size:19px}.artifact-metrics .artifact-row-detail{margin-top:8px}
.artifact-chart{height:240px;width:100%;min-width:0}.artifact-legend{display:flex;flex-wrap:wrap;gap:7px 16px;font-size:10px;padding:8px 0}.artifact-dialog{color:var(--ink,#f4f5f8);background:var(--white,#191a1c);border:1px solid var(--line,#34363c);border-radius:16px;width:min(940px,92vw);max-height:90vh;padding:24px;overflow:auto}.artifact-dialog::backdrop{background:#0009}.artifact-close{float:right}.artifact-dialog .artifact-chart{height:300px}
@media(max-width:540px){.chat-artifact{padding:12px;border-radius:12px}.artifact-header{flex-direction:column;gap:10px}.artifact-toolbar{justify-content:flex-start}.artifact-metrics{grid-template-columns:1fr}.artifact-row{grid-template-columns:minmax(0,1fr) minmax(0,.95fr)}.artifact-dialog{padding:16px}.artifact-context{font-size:10px}}
:root:not([data-theme="dark"]) .chat-artifact .positive{color:#168063}:root:not([data-theme="dark"]) .chat-artifact .negative{color:#bd3b51}
.message.assistant.has-artifacts{display:block}.chat-artifact,.artifact-dialog{white-space:normal}
.artifact-list{max-height:380px;overflow-y:auto;overscroll-behavior:contain;padding-right:6px;scrollbar-width:thin}.artifact-dialog .artifact-list{max-height:none;overflow:visible}.artifact-row.is-ranked{padding-left:28px}.artifact-rank{position:absolute;left:4px;top:16px;font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.artifact-bar{height:calc(100% - 3px);opacity:.09;border-radius:5px}.artifact-dialog .artifact-bar{opacity:.12}
.artifact-history-status{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:10px;color:var(--muted);margin-top:7px}.artifact-identity strong,.artifact-identity a,.artifact-value strong{font-size:14px}.artifact-identity small,.artifact-value small{font-size:11px}
.artifact-download{font-size:11px;padding:6px 8px;color:var(--ink);text-decoration:underline}
.artifact-list{max-height:300px}
.chat-artifact{container-type:inline-size}@container(max-width:480px){.artifact-header{flex-direction:column;gap:10px}.artifact-toolbar{justify-content:flex-start}.artifact-metrics{grid-template-columns:1fr}}
/* Batch selection: each exchange pair row toggles, the bar seeds the setup's asset picker. */
.artifact-row.is-pickable{padding-left:36px}.artifact-row.is-pickable.is-ranked{padding-left:60px}.artifact-row.is-pickable .artifact-rank{left:36px}
.artifact-pick{position:absolute;inset:0;z-index:2;width:100%;min-height:44px;padding:0;border:0;border-radius:8px;background:transparent;cursor:pointer}
.artifact-pick::before{content:"";position:absolute;left:6px;top:50%;width:20px;height:20px;margin-top:-10px;box-sizing:border-box;border:1.5px solid var(--control-line,#888e82);border-radius:6px;background:var(--white,#fff)}
.artifact-pick[aria-pressed="true"]::before{border-color:var(--accent-ink,#4d6b00);background:var(--brand-lime,#d0f64c) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23101010' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E") center/14px no-repeat}
.artifact-pick:hover{background:color-mix(in srgb,var(--brand-lime,#d0f64c) 8%,transparent)}.artifact-pick:focus-visible{outline:2px solid var(--accent-ink,#4d6b00);outline-offset:-2px}
.artifact-row.is-picked{background:color-mix(in srgb,var(--brand-lime,#d0f64c) 12%,transparent)}
.artifact-metrics .artifact-row.is-pickable{padding-left:12px;padding-right:40px}.artifact-metrics .artifact-pick::before{left:auto;right:10px;top:12px;margin-top:0}.artifact-metrics .artifact-row.is-picked{border-color:var(--accent-ink,#4d6b00)}
.artifact-select-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line,#34363c)}
.artifact-select-count{flex:1 1 140px;font-size:12px;color:var(--muted,#acb1bc)}
.artifact-select-all{min-height:40px;padding:8px 12px;border-radius:10px;font-size:13px;color:var(--ink)}.artifact-select-all:hover{background:var(--pale)}
.artifact-select-bar .artifact-use{min-height:40px;padding:8px 16px;font-size:13px}.artifact-select-bar .artifact-use:disabled{opacity:.45;cursor:not-allowed;transform:none}
/* interactions.css */
:root {
  --ease-ui: cubic-bezier(0.22, 1, 0.36, 1);
  --motion-fast: 160ms;
  --motion-panel: 280ms;
}
.ui-icon {
  width: 20px;
  height: 20px;
  flex: none;
  vertical-align: middle;
  pointer-events: none;
}
.with-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.control-symbol {
  display: inline-flex;
  flex: none;
}
.control-symbol .ui-icon {
  transition: transform 180ms var(--ease-ui);
}
[data-undo]:not(:disabled):is(:hover, :focus-visible) .ui-icon {
  transform: rotate(-24deg);
}
[data-attach-image]:is(:hover, :focus-visible) .ui-icon {
  transform: rotate(-7deg) scale(1.08);
}
[data-crop-image]:is(:hover, :focus-visible) .ui-icon {
  transform: scale(0.86);
}
[data-save]:not(:disabled):is(:hover, :focus-visible) .ui-icon {
  transform: translateY(-2px);
}
#followup-form button:not(:disabled):is(:hover, :focus-visible) .ui-icon {
  transform: translate(2px, -2px) rotate(-8deg);
}
button,
a.nav-item {
  transition:
    background var(--motion-fast),
    border-color var(--motion-fast),
    box-shadow var(--motion-fast),
    transform var(--motion-fast) var(--ease-ui);
}
button:not(:disabled):active {
  transform: scale(0.97);
}
button:disabled {
  cursor: not-allowed;
}
button:focus-visible,
a:focus-visible,
summary:focus-visible {
  outline: 2px solid var(--ink);
  outline-offset: 4px;
}
.compact-control {
  width: 42px;
  min-width: 42px;
  height: 42px;
  padding: 9px !important;
  position: relative;
  overflow: visible;
}
[data-tooltip]:after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: calc(100% + 9px);
  left: 50%;
  transform: translate(-50%, 4px);
  opacity: 0;
  pointer-events: none;
  background: var(--ink);
  color: var(--white);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  white-space: nowrap;
  padding: 7px 10px;
  border-radius: 7px;
  z-index: 30;
  transition:
    opacity 120ms,
    transform 120ms;
}
[data-tooltip]:is(:hover, :focus-visible):after {
  opacity: 1;
  transform: translate(-50%, 0);
}
.view:not([hidden]) {
  animation: panel-in var(--motion-panel) var(--ease-ui) both;
}
.runtime-dialog[open] {
  animation: dialog-in 220ms var(--ease-ui);
}
.runtime-dialog::backdrop {
  animation: fade-in 160ms ease-out;
}
.message {
  animation: panel-in 220ms var(--ease-ui) both;
}
.nav-item:hover > .icon {
  transform: translateX(2px);
}
.nav-item > .icon {
  transition: transform 180ms var(--ease-ui);
}
.runtime-card h2 {
  display: flex;
  align-items: center;
  gap: 10px;
}
.runtime-card h2 > .ui-icon {
  width: 23px;
  height: 23px;
}
.welcome-emblem {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin: 0 0 18px;
  background: var(--lime);
  color: #171914;
  border-radius: 12px;
}
.welcome-emblem .ui-icon {
  width: 26px;
  height: 26px;
}
.welcome-emblem:hover {
  animation: emblem-turn 500ms var(--ease-ui);
}
.welcome .suggestions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 28px;
}
.welcome .suggestions button {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  padding: 18px;
  min-height: 128px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: var(--white);
  position: relative;
  gap: 14px;
  color: var(--ink);
  font-size: 14px;
}
.welcome .suggestions button > .icon {
  width: 26px;
  height: 26px;
  padding: 0;
  color: var(--ink);
}
.welcome .suggestions button:hover {
  transform: translateY(-3px);
  border-color: var(--ink);
  box-shadow: 0 6px 0 -3px var(--lime);
}
.welcome .suggestions button:after {
  content: none;
  position: absolute;
  right: 15px;
  top: 16px;
  font-size: 20px;
  color: var(--muted);
}
.launch-arrow {
  position: absolute;
  right: 15px;
  top: 16px;
  transform: rotate(-45deg);
  color: var(--muted);
}
.welcome .suggestions button:hover .launch-arrow {
  transform: rotate(-45deg) translateX(2px);
  transition: transform 180ms var(--ease-ui);
}
.chat-tools {
  padding: 12px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 14px;
}
.chat-tools select {
  flex: 1;
  min-width: 100px;
}
.chat-empty {
  padding: 32px 16px 22px;
  text-align: center;
  color: var(--muted);
}
.chat-empty > .ui-icon {
  width: 32px;
  height: 32px;
  color: var(--ink);
  margin-bottom: 12px;
}
.chat-empty strong {
  display: block;
  color: var(--ink);
  font-size: 17px;
  margin-bottom: 7px;
}
.chat-empty p {
  font-size: 13px;
  line-height: 1.7;
  margin: 0;
}
#messages:has(.message) .chat-empty {
  display: none;
}
.design-toolbar {
  background: var(--pale);
  padding: 14px 18px;
}
.design-toolbar > strong {
  display: flex;
  gap: 9px;
  align-items: center;
}
.design-toolbar > strong .ui-icon {
  color: var(--ink);
}
.design-panel > [data-draft-status] {
  padding: 0 18px;
  min-height: 20px;
  margin: 12px 0;
  display: flex;
  gap: 7px;
  align-items: center;
}
.design-panel > [data-draft-status]:empty {
  display: none;
}
.design-toolbar [data-tooltip]:after {
  bottom: auto;
  top: calc(100% + 8px);
}
[data-draft-status]:not(:empty):before {
  content: "";
  width: 6px;
  height: 6px;
  flex: none;
  border-radius: 50%;
  background: var(--muted);
}
[data-draft-status][data-state="saved"]:before {
  background: var(--ink);
  box-shadow: 0 0 0 3px var(--lime);
}
[data-draft-status][data-state="saving"]:before {
  animation: status-pulse 900ms ease-in-out infinite;
}
.design-route {
  display: flex;
  flex-direction: row;
  gap: 4px;
  padding: 0 18px 15px;
  border-bottom: 1px solid var(--line);
}
.home-view {
  padding-top: 32px;
}
.home-view:has(#welcome:not([hidden])) > .conversation-select {
  display: block;
  width: 100%;
  max-width: 760px;
  margin: 0 auto 24px;
}
.welcome h1 {
  font-size: clamp(30px, 3.5vw, 42px);
  line-height: 1.25;
  margin-bottom: 14px;
}
.welcome .intro {
  margin-bottom: 24px;
}
.welcome .composer textarea {
  min-height: 90px;
}
.design-route button {
  display: flex;
  gap: 7px;
  align-items: center;
  justify-content: center;
  flex: 1;
  padding: 8px 5px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: 12px;
}
.design-route button:hover {
  background: var(--pale);
  color: var(--ink);
}
.design-route .ui-icon {
  width: 17px;
  height: 17px;
}
.design-route > span {
  align-self: center;
  color: var(--muted);
}
.exchange-choices label {
  position: relative;
  padding: 8px 11px;
  border: 1px solid var(--line);
  border-radius: 9px;
  cursor: pointer;
  color: var(--muted);
  transition:
    background 160ms,
    border-color 160ms;
}
.exchange-choices label:has(:checked) {
  background: var(--pale);
  color: var(--ink);
  border-color: var(--ink);
}
.exchange-choices input {
  accent-color: var(--ink);
  width: 14px;
  height: 14px;
}
.setup-section h3 {
  display: flex;
  gap: 10px;
  align-items: center;
}
.step-symbol {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 9px;
  background: var(--pale);
  border: 1px solid var(--line);
  flex: none;
}
.step-symbol .ui-icon {
  width: 18px;
  height: 18px;
}
.condition-tools button {
  border: 1px solid var(--line);
  padding: 7px 10px;
  border-radius: 8px;
  background: var(--white);
}
.design-actions {
  position: sticky;
  bottom: 0;
  background: var(--white);
  padding: 14px 0;
  border-top: 1px solid var(--line);
  z-index: 4;
}
.design-actions button {
  min-height: 44px;
}
.condition-group {
  border-left-color: var(--ink);
  border-radius: 4px;
}
.visual-empty {
  padding: 42px 24px;
  text-align: center;
  border: 1px dashed var(--line);
  border-radius: 18px;
  background: var(--white);
}
.visual-empty h2 {
  font-size: 20px;
  margin: 22px 0 8px;
}
.visual-empty p {
  color: var(--muted);
  font-size: 14px;
  margin: 0 0 22px;
}
.empty-symbol {
  width: 78px;
  height: 78px;
  border-radius: 22px;
  display: grid;
  place-items: center;
  margin: auto;
  position: relative;
  background: var(--pale);
  border: 1px solid var(--line);
  transform: rotate(-6deg);
}
.empty-symbol > .ui-icon {
  width: 34px;
  height: 34px;
  transform: rotate(6deg);
}
.empty-orbit {
  position: absolute;
  right: -5px;
  top: -5px;
  width: 19px;
  height: 19px;
  border: 4px solid var(--white);
  background: var(--lime);
  border-radius: 50%;
}
.visual-empty:hover .empty-symbol {
  transform: rotate(0);
  transition: transform 250ms var(--ease-ui);
}
.watch-row {
  transition:
    border-color 180ms,
    box-shadow 180ms;
}
.watch-row:hover {
  border-color: var(--muted);
  box-shadow: 0 4px 16px #00000008;
}
.watch-row .status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.watch-row .status:before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}
.watch-row .status.is-active {
  color: var(--ink);
  background: var(--pale);
  box-shadow: inset 3px 0 var(--lime);
}
.watch-row .status.is-active:before { background: var(--lime); }
.watch-row .status.paused:before { background: var(--muted); }
.file-drop {
  display: flex !important;
  align-items: center;
  gap: 16px;
  padding: 20px;
  border: 1px dashed var(--muted);
  border-radius: 12px;
  background: var(--bg);
  cursor: pointer;
  margin: 16px 0;
}
.file-drop:hover {
  border-color: var(--ink);
  background: var(--pale);
}
.file-drop > .ui-icon {
  width: 30px;
  height: 30px;
}
.file-drop strong {
  display: block;
  font-size: 14px;
}
.file-drop small {
  color: var(--muted);
}
.file-drop:focus-within {
  outline: 2px solid var(--ink);
  outline-offset: 3px;
}
.file-drop input {
  width: 1px !important;
  height: 1px !important;
  opacity: 0;
  position: absolute;
  padding: 0 !important;
}
.thinking-indicator {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  max-width: 100%;
  box-sizing: border-box;
  margin: 8px 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
}
.thinking-mark { display:block; width:22px; height:26px; flex:none; color:var(--ink); }
.thinking-logo { display:block; width:22px; height:26px; overflow:visible; }
.thinking-logo-base { fill:var(--ink); }
.thinking-logo-color { fill:var(--brand-lime,var(--lime)); }
/* Paint follows the two bends; the lower stroke clears back to brand white. */
.thinking-logo-trace { fill:none; stroke:white; stroke-width:50; stroke-linecap:butt; stroke-linejoin:round; }
.thinking-logo-trace-lower { stroke-dasharray:35 165; stroke-dashoffset:35; animation:snaap-logo-lower 3.2s linear infinite; }
.thinking-logo-trace-upper { stroke-dasharray:100 100; stroke-dashoffset:100; animation:snaap-logo-upper 3.2s linear infinite; }
@keyframes snaap-logo-lower {
  0%,8% { stroke-dashoffset:35; }
  48%,100% { stroke-dashoffset:-100; }
}
@keyframes snaap-logo-upper {
  0%,38% { stroke-dashoffset:100; opacity:1; }
  78%,90% { stroke-dashoffset:0; opacity:1; }
  98%,100% { stroke-dashoffset:0; opacity:0; }
}
@media(prefers-reduced-motion:reduce) {
  .thinking-logo-trace { animation:none; }
  .thinking-logo-trace-upper { stroke-dashoffset:0; }
  .thinking-logo-color-lower { display:none; }
}
.thinking-indicator [data-thinking-stage] { min-width:0; overflow-wrap:anywhere; }
.thinking-indicator .thinking-dots { flex:none; color:var(--muted); }
@media(prefers-reduced-motion:reduce) { .thinking-indicator .thinking-dots i { animation:none; } }
.thinking-dots {
  display: flex;
  gap: 4px;
}
.thinking-dots i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  animation: status-pulse 1s ease-in-out infinite;
}
.thinking-dots i:nth-child(2) {
  animation-delay: 150ms;
}
.thinking-dots i:nth-child(3) {
  animation-delay: 300ms;
}
.chart-loading {
  padding: 26px;
  margin: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
}
.chart-loading .skeleton-bars {
  height: 90px;
  background: repeating-linear-gradient(
    90deg,
    var(--pale) 0 7%,
    transparent 7% 10%
  );
  mask-image: linear-gradient(0deg, #000, transparent);
  animation: status-pulse 1s ease-in-out infinite;
}
.chart-loading p {
  font-size: 13px;
  color: var(--muted);
  margin: 12px 0 0;
}
.attention-ring {
  animation: attention 700ms ease-out;
}
.mobile-design-tabs button {
  flex: 1;
  border: 1px solid var(--line);
}
.mobile-design-tabs:has(+ .workbench[data-tab="chat"]) [data-tab="chat"],
.mobile-design-tabs:has(+ .workbench[data-tab="design"]) [data-tab="design"] {
  background: var(--ink);
  color: var(--white);
}
@keyframes panel-in {
  from {
    opacity: 0;
    transform: translateY(7px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.plan-capabilities {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 24px 0;
}
.plan-capabilities > div {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 14px 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--bg);
}
.plan-capabilities strong {
  font-size: 26px;
  line-height: 1.2;
}
.plan-capabilities span {
  font-size: 12px;
  color: var(--muted);
}
@media (min-width: 1100px) {
  #view-billing {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    align-items: start;
  }
  #view-billing > .page-heading {
    grid-column: 1/-1;
  }
  #view-billing > .runtime-card {
    margin: 0;
  }
}
@keyframes dialog-in {
  from {
    opacity: 0;
    transform: translateY(8px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes status-pulse {
  50% {
    opacity: 0.35;
  }
}
@keyframes attention {
  from {
    box-shadow: 0 0 0 3px var(--lime);
  }
  to {
    box-shadow: 0 0 0 0 transparent;
  }
}
@keyframes emblem-turn {
  50% {
    transform: rotate(12deg);
  }
}
@media (min-width: 1051px) {
  .workbench #conversation {
    position: sticky;
    top: 24px;
  }
}
@media (max-width: 600px) {
  .welcome .suggestions {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .welcome .suggestions button {
    min-height: 64px;
    flex-direction: row;
    align-items: center;
    padding: 16px 38px 16px 16px;
  }
  .welcome-emblem {
    width: 52px;
    height: 52px;
  }
  .chat-tools {
    gap: 6px;
  }
  .design-route {
    padding-inline: 10px;
  }
  .design-route button {
    font-size: 11px;
    gap: 4px;
  }
  .visual-empty {
    padding: 28px 16px;
  }
}
.sidebar-bottom { position: relative; }
.account-menu {
  position: absolute;
  bottom: calc(100% - 18px);
  left: 0;
  right: 0;
  padding: 6px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--sidebar);
  box-shadow: 0 8px 28px rgb(0 0 0 / 24%);
  z-index: 30;
  animation: account-menu-in .16s ease-out;
}
.account-menu .auth-signout {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  margin: 0;
  padding: 12px;
  border-radius: 9px;
  text-align: left;
  font-size: 14px;
}
.account-menu .auth-signout:hover { background: rgb(128 128 128 / 12%); }
.account-contact {
  display: block;
  width: fit-content;
  margin: 0 8px 10px;
  padding: 6px 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
  white-space: nowrap;
  -webkit-user-select: text;
  user-select: text;
}
.account-contact:hover { color: var(--ink); }
@keyframes account-menu-in {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *:before,
  *:after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/* notifications.css */
.status-overview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid var(--line);
  margin-bottom: 24px;
}
.status-overview > div { display: flex; align-items: center; gap: 8px; padding: 12px; min-width: 0; }
.status-overview span { color: var(--muted); font-size: 12px; line-height: 1.6; }
.status-overview strong { font-size: 14px; line-height: 1.6; font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }
.status-overview small { font-size: 12px; font-weight: 400; color: var(--muted); }
.status-workspace { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(260px, 1fr); gap: 24px; align-items: start; }
.status-workspace > section { min-width: 0; }
.status-section-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.status-section-heading > span { color: var(--muted); font-size: 12px; white-space: nowrap; }
.monitor-status-list { display: grid; gap: 12px; }
.monitor-status-card, .delivery-status-list { border: 1px solid var(--line); border-radius: 12px; background: var(--white); overflow: hidden; min-width: 0; }
.monitor-status-heading { display: flex; align-items: start; justify-content: space-between; gap: 12px; padding: 20px 20px 0; }
.monitor-status-heading > div { min-width: 0; }
.monitor-status-heading h3 { font-size: 16px; line-height: 1.5; overflow-wrap: anywhere; }
.monitor-status-heading h3 > span { display: inline-block; font-size: 11px; font-weight: 400; color: var(--muted); margin-left: 6px; }
.monitor-setup-name { font-size: 12px; line-height: 1.6; color: var(--muted); margin: 4px 0 0; overflow-wrap: anywhere; }
.monitor-status-label { display: inline-flex; align-items: center; gap: 6px; padding: 4px 8px; border-radius: 6px; font-size: 11px; line-height: 1.5; flex: none; max-width: 50%; background: var(--pale); color: var(--muted); }
.monitor-status-label::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: currentColor; flex: none; }
.status-workspace [data-tone="ready"], .status-overview [data-tone="ready"] strong { color: var(--accent-ink); }
.status-workspace [data-tone="attention"], .status-overview [data-tone="attention"] strong { color: #986000; }
[data-theme="dark"] .status-workspace [data-tone="attention"], [data-theme="dark"] .status-overview [data-tone="attention"] strong { color: #f4c36a; }
.monitor-frames { display: flex; flex-wrap: wrap; gap: 6px; padding: 16px 20px; }
.monitor-frames > span { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; line-height: 1.5; border: 1px solid var(--line); border-radius: 6px; padding: 4px 8px; font-weight: 600; }
.monitor-frames > span > span { font-weight: 400; color: var(--muted); }
.monitor-progress-list { margin: 0 20px; border-top: 1px solid var(--line); }
.monitor-direction { display: grid; grid-template-columns: 52px minmax(0,1fr); gap: 12px; padding: 16px 0; }
.monitor-direction + .monitor-direction { border-top: 1px solid var(--line); }
.monitor-direction h4 { margin: 0; font-size: 11px; line-height: 1.6; padding-top: 2px; }
.monitor-direction h4[data-side="LONG"] { color: var(--accent-ink); }
.monitor-direction h4[data-side="SHORT"] { color: var(--danger, #c13d51); }
.monitor-direction .insight-progress { border: 0; background: transparent; padding: 0; margin: 0; font-size: 13px; font-weight: 600; line-height: 1.6; overflow-wrap: anywhere; }
.monitor-condition-summary { margin: 5px 0 0; font-size: 12px; color: var(--muted); line-height: 1.7; overflow-wrap: anywhere; }
.monitor-status-footer { padding: 0 20px 16px; margin-top: 16px; font-size: 11px; color: var(--muted); line-height: 1.6; }
.monitor-progress-list + .monitor-status-footer { margin-top: 0; }
.monitor-details { border-top: 1px solid var(--line); font-size: 12px; }
.monitor-details summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; cursor: pointer; padding: 12px 20px; min-height: 44px; color: var(--muted); font-size: 12px; line-height: 1.6; }
.monitor-details summary::after { content: ''; flex: none; width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); margin: 0 2px 0 auto; }
.monitor-details[open] summary::after { transform: rotate(225deg); }
.monitor-details summary:hover { background: var(--pale); color: var(--ink); }
.monitor-details summary:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: -3px; }
.monitor-details-content { padding: 0 20px 16px; }
.monitor-details-content section + section { margin-top: 20px; }
.monitor-details-content h4 { font-size: 12px; margin: 8px 0; }
.monitor-details .insight-freshness { border: 0; padding: 0; margin: 0; }
.monitor-details .insight-freshness p { padding: 8px 0; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.monitor-details .insight-evidence { padding: 8px 0; border-bottom: 1px solid var(--line); }
.delivery-status-row { display: flex; align-items: center; gap: 12px; padding: 16px; }
.delivery-status-row + .delivery-status-row { border-top: 1px solid var(--line); }
.delivery-status-icon { display: grid; place-items: center; width: 32px; height: 32px; flex: none; background: var(--pale); border-radius: 8px; color: var(--muted); }
.delivery-status-icon .ui-icon { width: 16px; height: 16px; }
.delivery-status-content { flex: 1; min-width: 0; }
.delivery-status-content h3 { font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.delivery-status-content p { font-size: 12px; line-height: 1.6; color: var(--muted); margin-top: 4px; overflow-wrap: anywhere; }
.status-empty { text-align: center; padding: 36px 20px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); }
.delivery-status-list .status-empty { border: 0; }
.status-empty > span { display: inline-flex; color: var(--muted); margin-bottom: 12px; }
.status-empty h3 { font-size: 14px; margin-bottom: 8px; }
.status-empty p { color: var(--muted); font-size: 12px; line-height: 1.8; }
.status-empty a { display: inline-flex; margin-top: 20px; font-size: 12px; }
@media (max-width: 1000px) { .status-workspace { grid-template-columns: minmax(0,1fr); } }
@media (max-width: 600px) {
  .status-overview { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .status-overview > div { padding: 8px 12px; }
  .monitor-status-heading { padding: 16px 16px 0; flex-wrap: wrap; }
  .monitor-status-label { max-width: 100%; }
  .monitor-frames { padding: 12px 16px; }
  .monitor-progress-list { margin: 0 16px; }
  .monitor-status-footer { padding-left: 16px; padding-right: 16px; }
  .monitor-details summary { padding: 12px 16px; }
  .monitor-details-content { padding: 0 16px 16px; }
  .status-section-heading h2 { font-size: 15px; }
}
#view-notifications {
  max-width: 1180px;
  margin: 0 auto;
  padding: 44px 48px 60px;
}
.notification-rules > .page-heading {
  display: none;
}
.notification-rules .demo-notice {
  margin: 0 0 20px;
}
.notification-rules .filter-row {
  margin: 0 0 20px;
}
.notification-rules .watch-row h2 {
  font-size: 17px;
}
.notification-tabs button {
  flex-shrink: 0;
}
.notification-heading {
  align-items: center;
  margin-bottom: 28px;
  gap: 16px;
}
.notification-heading h1 {
  font-size: 30px;
  line-height: 1.4;
  margin: 0;
}
.notification-heading p {
  margin-top: 8px;
  font-size: 14px !important;
  color: var(--muted);
}
.notification-heading > button {
  font-size: 13px;
  flex: none;
}
.notification-tabs {
  display: flex;
  flex-direction: row;
  gap: 24px;
  border-bottom: 1px solid var(--line);
  margin: 0;
}
.notification-tabs button {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 50px;
  padding: 10px 0 16px;
  font-size: 14px;
  color: var(--muted);
  white-space: nowrap;
}
.notification-tabs button[aria-pressed="true"] {
  color: var(--ink);
  font-weight: 600;
}
.notification-tabs button[aria-pressed="true"]:after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 3px;
  border-radius: 2px;
  background: var(--ink);
}
.notification-count {
  font-size: 11px;
  border: 1px solid var(--line);
  border-radius: 5px;
  padding: 0 5px;
}
.notification-content {
  margin-top: 28px;
}
.inbox-empty {
  min-height: 340px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 36px 20px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--white);
}
.inbox-illustration {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin-bottom: 20px;
  border-radius: 16px;
  background: var(--pale);
}
.inbox-illustration .ui-icon {
  width: 28px;
  height: 28px;
}
.inbox-empty h2 {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 10px;
}
.inbox-empty p {
  font-size: 14px;
  line-height: 1.8;
  color: var(--muted);
  margin-bottom: 22px;
}
.inbox-empty a {
  font-size: 13px;
  min-height: 42px;
}
.notification-section-heading {
  margin-bottom: 18px;
}
.notification-section-heading h2 {
  font-size: 17px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 9px;
}
.notification-section-heading p {
  font-size: 13px;
  color: var(--muted);
  margin-top: 7px;
}
.channel-options {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--white);
  overflow: hidden;
}
/* Channel cards share a compact anatomy across providers. */
.notification-content .channel-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;background:transparent;border:0;border-radius:0;overflow:visible}
.notification-content .channel-option{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--white);min-width:0}
.notification-content .channel-option+.channel-option{border-top:1px solid var(--line)}
.channel-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.notification-content .channel-option h3{font-size:16px;margin:0}.notification-content .channel-option p{margin:5px 0 18px;line-height:1.6;flex:1}
.notification-content .channel-option button{align-self:flex-start;margin:0;min-height:40px;font-size:12px;padding:9px 14px}
.channel-card-top .channel-availability{font-size:11px;padding:4px 8px;border:1px solid var(--line);border-radius:7px;margin:0}.channel-availability[data-ready=true]{color:var(--accent-ink)}
.channel-inbox-card{display:flex;align-items:center;gap:14px;padding:16px 20px;margin:16px 0;border:1px solid var(--line);border-radius:12px;background:var(--white)}
.channel-inbox-card h3{font-size:14px;margin:0}.channel-inbox-card p{font-size:12px;line-height:1.6;color:var(--muted);margin:4px 0 0}.channel-ready{margin-left:auto;font-size:11px;color:var(--accent-ink);white-space:nowrap}
.channel-connect-steps{padding-left:22px;font-size:13px;line-height:1.9;color:var(--muted);margin:12px 0 18px}.channel-secret-note{font-size:12px;color:var(--muted);line-height:1.6;margin-top:12px}
@media(max-width:640px){.notification-content .channel-options{grid-template-columns:1fr}.notification-content .channel-option{padding:16px}.channel-inbox-card{flex-wrap:wrap;padding:16px}.channel-ready{margin-left:58px}.notification-content .channel-option button{width:auto}}
.channel-option {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 22px;
}
.channel-option + .channel-option {
  border-top: 1px solid var(--line);
}
.channel-mark {
  width: 44px;
  height: 44px;
  flex: none;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--bg);
}
.channel-option h3 {
  font-size: 16px;
  font-weight: 600;
}
.channel-mark.channel-brand {
  border: 0;
  background: transparent;
  border-radius: 0;
}
.channel-brand img {
  display: block;
  width: 44px;
  height: 44px;
  object-fit: contain;
}
.channel-option p {
  font-size: 13px;
  line-height: 1.6;
  color: var(--muted);
  margin-top: 4px;
}
.channel-option button {
  margin-left: auto;
  min-height: 40px;
  font-size: 13px;
  padding: 9px 15px;
  flex: none;
}
.channel-availability {
  display: block;
  font-size: 12px;
  color: var(--muted);
  margin-top: 6px;
}
.channel-option button:disabled {
  opacity: 0.5;
}
.notification-note {
  font-size: 13px;
  line-height: 1.8;
  color: var(--muted);
  margin-top: 18px;
}
.channel-setup {
  padding: 24px;
  margin-top: 20px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--white);
}
.channel-setup h2,
.connected-channels h2 {
  font-size: 17px;
  font-weight: 600;
  margin-bottom: 18px;
}
.channel-setup label {
  display: block;
  font-size: 13px;
  margin-bottom: 16px;
}
.channel-setup input:not([type="hidden"]) {
  display: block;
  width: 100%;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 11px 12px;
  color: var(--ink);
  margin-top: 6px;
}
#channel-instruction {
  font-size: 14px;
  line-height: 1.8;
  margin-top: 16px;
  overflow-wrap: anywhere;
}
.connected-channels {
  margin-top: 28px;
}
.connected-channel,
.activity-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
  font-size: 14px;
}
.connected-channel p,
.activity-row p,
.activity-row time,
.activity-row small {
  font-size: 13px;
  color: var(--muted);
  margin-top: 4px;
  line-height: 1.6;
}
.activity-section {
  padding: 24px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 14px;
  margin-bottom: 18px;
}
.activity-empty {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.8;
}
.signal-list {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--white);
  overflow: hidden;
}
.signal-item {
  padding: 20px;
  display: flex;
  align-items: start;
  gap: 14px;
}
.signal-item + .signal-item {
  border-top: 1px solid var(--line);
}
.signal-symbol {
  background: var(--pale);
  border-radius: 9px;
  padding: 10px;
  display: flex;
}
.signal-item h2 {
  font-size: 16px;
  font-weight: 600;
}
.signal-item h2 span,
.signal-item small,
.signal-item time {
  font-size: 12px;
  color: var(--muted);
  font-weight: 400;
}
.signal-item h2 span {
  margin-left: 8px;
}
.signal-item p {
  font-size: 14px;
  line-height: 1.8;
  margin: 5px 0;
}
.signal-item time {
  margin-left: auto;
  white-space: nowrap;
}
.notification-error,
.notification-loading {
  padding: 24px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 12px;
}
.notification-error button {
  margin-top: 16px;
}
@media (max-width: 760px) {
  #view-notifications {
    padding: 28px 20px 40px;
  }
  .notification-heading {
    align-items: start;
    flex-direction: row;
  }
  .notification-heading h1 {
    font-size: 25px;
  }
  .notification-heading p {
    max-width: 220px;
    font-size: 13px !important;
  }
  .notification-heading > button {
    font-size: 0;
    gap: 0;
    padding: 10px;
  }
  .notification-tabs {
    gap: 0;
    justify-content: space-between;
  }
  .notification-tabs button {
    font-size: 12px;
    gap: 5px;
  }
  .notification-tabs .ui-icon {
    width: 16px;
    height: 16px;
  }
  .channel-option {
    gap: 12px;
    padding: 18px 14px;
    flex-wrap: wrap;
  }
  .channel-option > div {
    flex: 1;
    min-width: 150px;
  }
  .channel-option button {
    margin-left: 56px;
  }
  .inbox-empty {
    min-height: 300px;
  }
  .signal-item {
    flex-wrap: wrap;
  }
  .signal-item time {
    margin-left: 54px;
  }
  .activity-row {
    flex-wrap: wrap;
  }
  .activity-section {
    padding: 20px;
  }
}
@media (max-width: 600px) {
  .notification-tabs button {
    flex-direction: column;
    flex: 1;
    font-size: 11px;
    gap: 6px;
  }
  .notification-tabs button:has(.notification-count) {
    display: grid;
    grid-template-columns: auto auto;
    justify-content: center;
    align-content: center;
    column-gap: 4px;
  }
  .notification-tabs button:has(.notification-count) > span:not(.notification-count) {
    grid-column: 1 / -1;
    grid-row: 2;
  }
  .notification-tabs .notification-count {
    grid-column: 2;
    grid-row: 1;
  }
}
.signal-item { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 14px; }
.signal-details { min-width: 0; }
.signal-symbol { width: 44px; height: 44px; align-items: center; justify-content: center; padding: 0; border-radius: 12px; }
.signal-symbol .ui-icon { width: 23px; height: 23px; stroke-width: 1.9; }
.signal-side { display: inline-flex; max-width: 100%; padding: 4px 9px; margin-top: 8px; border-radius: 7px; font-size: 11px; line-height: 1.5; font-weight: 600; }
.signal-tone-long { color: #137b55; background: #e8f6ef; }
.signal-tone-short { color: #bc3546; background: #fdeef0; }
.signal-tone-spot { color: #12756c; background: #e8f6f3; }
.signal-tone-waiting { color: #986017; background: #fff3df; }
.signal-tone-unknown { color: #62626b; background: #f0f0f2; }
[data-theme="dark"] .signal-tone-long { color: #65d5a3; background: #19372b; }
[data-theme="dark"] .signal-tone-short { color: #fb9098; background: #40272d; }
[data-theme="dark"] .signal-tone-spot { color: #67d6bc; background: #173731; }
[data-theme="dark"] .signal-tone-waiting { color: #edbe76; background: #3a3021; }
[data-theme="dark"] .signal-tone-unknown { color: #b8b8c2; background: #29292f; }
@media (max-width: 760px) {
  .signal-item { grid-template-columns: 44px minmax(0, 1fr); gap: 10px 14px; }
  .signal-item time { grid-column: 2; margin-left: 0; }
}
.notification-rules .watch-row-footer { justify-content: flex-end; }
/* editor.css */
/* Editor uses available width. Split view is opt-in on genuinely wide screens. */
.main-shell .home-view:has(.workbench:not([hidden])) {
  max-width: 1080px;
  padding: 28px 32px 48px;
}
.workbench[data-tab="chat"] .design-panel,
.workbench[data-tab="design"] #conversation {
  display: none;
}
.workbench[data-tab="chat"] #conversation {
  max-width: 760px;
  margin: 0 auto;
  position: static;
}
.workbench[data-tab="split"] #conversation {
  display: none;
}
.split-view-button {
  display: none;
}
.mobile-design-tabs {
  padding: 4px;
  background: var(--pale);
  border: 1px solid var(--line);
  border-radius: 12px;
  width: fit-content;
  max-width: 100%;
}
.mobile-design-tabs button {
  flex: 0 1 auto;
  border: 0;
  background: transparent;
  font-size: 14px;
  min-height: 42px;
  padding: 10px 18px;
  white-space: normal;
}
.mobile-design-tabs button[aria-pressed="true"] {
  background: var(--white);
  color: var(--ink);
  box-shadow: 0 1px 3px #00000012;
}
.design-panel {
  container-type: inline-size;
  overflow: visible;
  border-radius: 14px;
}
.design-toolbar {
  border-radius: 14px 14px 0 0;
}
.design-body {
  padding: 24px;
}
.design-body > .setup-condition-limit {
  margin: 0 0 20px;
  overflow-wrap: anywhere;
}
.design-body *,
.condition-group {
  min-width: 0;
}
.design-body input,
.design-body select {
  font-size: 14px;
  line-height: 1.5;
  min-height: 44px;
  max-width: 100%;
}
.design-body input[type="checkbox"] {
  min-height: 0;
}
.design-body label {
  line-height: 1.6;
  font-size: 13px;
  color: var(--muted);
}
.design-body .field-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.operand-block {
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--bg);
}
.operand-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
  margin: 0 0 14px;
}
.design-body .operand-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  align-items: start;
}
.design-body .operand-fields label {
  margin: 0;
}
.design-body .operand-fields input,
.design-body .operand-fields select {
  background: var(--white);
  width: 100%;
}
.comparison-field {
  width: min(100%, 320px);
  margin: 0 !important;
}
.condition-line {
  gap: 14px;
  border-bottom: 0;
  padding: 6px 0;
}
.condition-tools {
  gap: 10px;
  margin: 12px 0 4px;
}
.condition-tools button {
  font-size: 13px;
  white-space: normal;
  text-align: left;
}
.setup-section {
  padding: 24px 0;
}
.setup-section > button {
  margin: 6px 10px 10px 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 9px 12px;
}
.setup-section > .field-note {
  margin-top: 8px;
}
.setup-section h3 {
  font-size: 16px;
  line-height: 1.5;
  margin-bottom: 14px;
}
.condition-group {
  padding-left: 14px;
  margin-left: 0 !important;
}
.condition-group > .condition-group {
  padding-left: 10px;
}
.design-body details {
  margin: 20px 0;
}
.design-body .destination-choices {
  margin: 20px 0;
  min-inline-size: 0;
  padding: 16px;
}
.destination-choices legend {
  padding: 0 6px;
  font-size: 14px;
}
.destination-choices p {
  font-size: 14px;
  line-height: 1.6;
}
.destination-choices label {
  display: flex;
  align-items: center;
  gap: 8px;
}
.destination-choices input[type="checkbox"] {
  width: auto;
}
.draft-diff {
  overflow-wrap: anywhere;
}
.design-route {
  padding: 8px 18px;
}
.design-actions {
  gap: 12px;
  padding: 16px 0;
  margin-top: 24px;
}
.chat-tools {
  align-items: center;
}
.chat-tools select {
  max-width: 100%;
  min-width: 120px;
}
.conversation-select {
  max-width: 100%;
}
@container (max-width:650px) {
  .design-body .operand-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .condition-group .operand-fields {
    grid-template-columns: minmax(0, 1fr);
  }
}
@container (max-width:420px) {
  .design-body {
    padding: 16px;
  }
  .design-body .operand-fields,
  .design-body .field-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .operand-block {
    padding: 12px;
  }
  .design-toolbar {
    gap: 8px;
  }
  .saved-label {
    font-size: 12px;
  }
  .condition-group {
    padding-left: 8px;
  }
  .condition-tools {
    align-items: stretch;
    flex-direction: column;
  }
  .condition-tools button {
    justify-content: flex-start;
  }
  .design-actions button {
    flex: 1 1 100%;
  }
  .setup-section > button {
    display: flex;
    width: 100%;
    justify-content: flex-start;
  }
  .design-route {
    padding-inline: 8px;
  }
}
@media (max-width: 760px) {
  .main-shell .home-view:has(.workbench:not([hidden])) {
    padding: 24px 16px 32px;
  }
  .mobile-design-tabs {
    width: 100%;
  }
  .mobile-design-tabs button {
    flex: 1;
    padding: 10px;
    font-size: 13px;
  }
  .design-toolbar {
    padding: 12px;
  }
}
@media (min-width: 1600px) {
  .split-view-button {
    display: inline-flex;
  }
  .main-shell .home-view:has(.workbench[data-tab="split"]:not([hidden])) {
    max-width: 1500px;
  }
  .workbench[data-tab="split"] {
    grid-template-columns: minmax(300px, 0.7fr) minmax(640px, 1.3fr);
  }
  .workbench[data-tab="split"] #conversation {
    display: block;
    position: sticky;
    top: 24px;
  }
}
/* Keep helper text separate from the next field throughout import/account forms. */
.runtime-card > .field-note {
  margin-bottom: 16px;
}
.runtime-card {
  min-width: 0;
  overflow-wrap: anywhere;
}
@container (max-width:420px) {
  .design-actions {
    position: static;
  }
}
.exchange-fieldset {
  border: 0;
  padding: 0;
  margin: 16px 0 20px;
  min-inline-size: 0;
}
.exchange-fieldset legend {
  font-size: 13px;
  color: var(--muted);
  padding: 0;
}
.exchange-fieldset .exchange-choices {
  margin-bottom: 0;
}
.design-body > details[data-advanced-options] {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--bg);
}
[data-advanced-options] > summary {
  padding: 16px;
  font-weight: 600;
  cursor: pointer;
  line-height: 1.6;
}
[data-advanced-options] > summary span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 400;
}
.advanced-options {
  padding: 0 16px 16px;
}
.advanced-options > .setup-section:first-child {
  border-top: 0;
}
.rule-review {
  border-top: 1px solid var(--line);
  padding-top: 20px;
}
.rule-review summary {
  cursor: pointer;
  font-weight: 600;
}
.editor-feedback {
  border: 1px solid var(--line);
  border-left: 4px solid var(--ink);
  background: var(--pale);
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 20px;
  line-height: 1.65;
}
.editor-feedback.success {
  border-left-color: var(--lime);
}
.editor-feedback p {
  margin: 0;
}
.editor-feedback a {
  display: inline-block;
  margin-top: 8px;
  color: var(--ink);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.design-body [aria-invalid="true"] {
  border: 2px solid var(--ink);
}
.ai-availability {
  color: var(--muted);
  font-size: 13px;
  margin: 10px 0 16px;
}
.design-route {
  gap: 8px;
}
.design-route button {
  min-height: 44px;
}
.design-body button {
  min-height: 40px;
}
@media (max-width: 760px) {
  .design-body button {
    min-height: 44px;
  }
}
.optional-condition {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}
.optional-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}
.optional-heading h4 {
  font-size: 14px;
  margin: 0;
}
.optional-heading button {
  font-size: 13px;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.group-condition {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--white);
  overflow-wrap: anywhere;
}
.group-condition > summary {
  cursor: pointer;
  padding: 14px;
  line-height: 1.6;
  font-size: 14px;
  font-weight: 600;
}
.group-condition > summary span {
  display: block;
  color: var(--muted);
  font-weight: 400;
  margin-top: 4px;
}
.group-condition > div {
  padding: 0 12px 12px;
}
.group-condition .condition-tools {
  gap: 8px;
}
#replay-result {
  scroll-margin-top: 20px;
}
#replay-result h2 {
  font-size: 18px;
  margin: 0 0 12px;
}
/* Native disclosure markers make expandable sections recognizable. */
#main details > summary {
  display: list-item;
  list-style: disclosure-closed inside;
}
#main details[open] > summary {
  list-style-type: disclosure-open;
}
#main details > summary::-webkit-details-marker {
  display: inline;
}
#main details > summary span {
  margin-left: 0;
}
.template-download {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin: 12px 0 4px;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
}
.import-format {
  margin: 4px 0 16px;
}
.import-format > p {
  padding-bottom: 12px;
}
.primary:disabled {
  background: var(--pale);
  color: var(--muted);
  border: 1px solid var(--line);
  box-shadow: none;
  cursor: not-allowed;
}
/* Chat is one workspace, with one composer and a compact history entry. */
.conversation-select {
  display: none !important;
}
.conversation-picker {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  margin: 0 0 20px auto;
  color: var(--muted);
  border-radius: 24px;
  font-size: 13px;
  transition:
    background 180ms,
    color 180ms;
}
.conversation-picker:hover {
  background: var(--pale);
  color: var(--ink);
}
.mobile-design-tabs {
  border: 0;
  background: transparent;
  padding: 0;
  gap: 6px;
  margin-bottom: 28px;
}
.mobile-design-tabs button {
  border-radius: 24px;
  background: transparent;
  padding: 10px 18px;
  transition:
    background 220ms,
    color 220ms,
    transform 180ms;
}
.mobile-design-tabs button:active {
  transform: scale(0.96);
}
.mobile-design-tabs button[aria-pressed="true"] {
  background: var(--pale);
  color: var(--ink);
  box-shadow: none;
}
.workbench[data-tab="chat"] #conversation {
  max-width: 780px;
}
.chat-empty {
  padding: clamp(32px, 6vh, 72px) 16px 40px;
}
.chat-empty > .ui-icon {
  width: 34px;
  height: 34px;
  color: var(--lime);
  margin-bottom: 18px;
}
.chat-empty strong {
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 600;
  letter-spacing: -0.4px;
}
.chat-empty p {
  font-size: 14px;
  line-height: 1.8;
  margin-top: 10px;
}
.chat-composer {
  border: 1px solid var(--line);
  background: var(--white);
  border-radius: 24px;
  padding: 12px;
  box-shadow: 0 8px 32px #0000000a;
  transition:
    border-color 200ms,
    box-shadow 200ms;
}
.is-image-dragover { outline: 2px dashed var(--accent-ink); outline-offset: 3px; }
.chat-composer:focus-within {
  border-color: var(--muted);
  box-shadow: 0 10px 36px #00000012;
}
.chat-composer #followup-form {
  border: 0;
  background: transparent;
  padding: 6px 6px 0;
  margin: 0;
  border-radius: 0;
  align-items: flex-end;
  box-shadow: none;
}
#followup-input {
  flex: 1;
  width: 100%;
  min-width: 0;
  resize: none;
  overflow-y: hidden;
  min-height: 76px;
  max-height: 240px;
  border: 0;
  background: transparent;
  color: var(--ink);
  padding: 8px 4px;
  font: inherit;
  font-size: 15px;
  line-height: 1.7;
  outline: none;
}
#chat-input { resize: none; max-height: 240px; overflow-y: hidden; }
.chat-composer #followup-form button {
  border-radius: 50%;
  width: 42px;
  height: 42px;
  min-height: 42px;
  margin-bottom: 6px;
  flex-shrink: 0;
}
.chat-composer .chat-tools {
  background: transparent;
  border: 0;
  padding: 6px 2px 0;
  margin: 0;
  gap: 6px;
  border-radius: 0;
  flex-wrap: wrap;
}
.chat-composer .chat-tools button {
  border: 0;
  border-radius: 20px;
  background: transparent;
  padding: 8px 10px;
  min-height: 40px;
  font-size: 13px;
}
.chat-composer .chat-tools button:hover {
  background: var(--pale);
}
.chat-composer .chat-tools select {
  width: auto;
  flex: 0 1 auto;
  min-width: 0;
  max-width: 220px;
  padding: 8px 26px 8px 10px;
  border: 0;
  background-color: transparent;
  border-radius: 20px;
  font-size: 13px;
}
.chat-composer .chat-tools [data-context] {
  margin-left: auto;
}
.chat-composer > details {
  border: 0;
  border-top: 1px solid var(--line);
  margin: 10px 6px 0;
  padding: 0 4px;
}
.chat-composer > details:not([open]) {
  display: none;
}
.chat-composer > .ai-availability {
  font-size: 12px;
  padding: 0 10px;
  margin: 8px 0;
}
.chat-composer .attachment-preview:empty {
  display: none;
}
.conversation-dialog {
  width: min(520px, calc(100% - 32px));
  max-height: 75vh;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: var(--white);
  color: var(--ink);
  box-shadow: 0 24px 80px #0005;
}
.conversation-dialog::backdrop {
  background: #0008;
  backdrop-filter: blur(5px);
}
.conversation-dialog:has(.conversation-results) {
  overflow: hidden;
}
.conversation-dialog:has(.conversation-results)[open] {
  display: flex;
  flex-direction: column;
}
.conversation-dialog:has(.conversation-results) > :not(.conversation-results) {
  flex-shrink: 0;
}
.conversation-dialog header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}
.conversation-dialog h2 {
  font-size: 19px;
}
.conversation-dialog header button {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--pale);
}
.conversation-dialog input {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--bg);
  color: var(--ink);
  padding: 12px 14px;
}
.conversation-results {
  display: grid;
  gap: 4px;
  margin-top: 12px;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  padding-right: 4px;
}
.conversation-result {
  display: flex;
  align-items: center;
  min-width: 0;
  border-radius: 14px;
}
.conversation-results .conversation-open {
  display: flex;
  flex: 1;
  min-width: 0;
  align-items: center;
  gap: 12px;
  padding: 14px 10px;
  text-align: left;
  border-radius: 14px;
  transition:
    background 180ms,
    transform 180ms;
}
.conversation-result:hover, .conversation-result:focus-within {
  background: var(--pale);
}
.conversation-open > span {
  flex: 1;
  min-width: 0;
}
.conversation-delete {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  color: var(--muted);
}
.conversation-delete:hover, .conversation-delete:focus-visible {
  color: #f18088;
  background: #e8758014;
}
.conversation-delete-dialog {
  width: min(360px, calc(100% - 32px));
  max-height: calc(100dvh - 32px);
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--white);
  color: var(--ink);
  box-shadow: 0 20px 60px #0005;
}
.conversation-delete-dialog::backdrop { background: #0006; }
.conversation-delete-dialog h2 { margin: 0; font-size: 18px; }
.conversation-delete-title { margin: 12px 0 8px; font-weight: 600; overflow-wrap: anywhere; }
#delete-conversation-note { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.conversation-delete-dialog .row-actions { margin-top: 20px; justify-content: flex-end; gap: 8px; }
.conversation-delete-dialog .row-actions button { min-height: 40px; padding: 8px 14px; border-radius: 12px; font-size: 13px; }
.conversation-delete-confirm { background: #bf3945; color: #fff; }
.conversation-delete-confirm:hover { background: #a82e3a; }
.conversation-delete-confirm:disabled { opacity: .55; cursor: wait; }
.conversation-results strong {
  display: block;
  font-size: 14px;
  overflow-wrap: anywhere;
}
.conversation-results small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
}
.conversation-results > p {
  padding: 24px 12px;
  color: var(--muted);
}
@media (max-width: 760px) {
  .chat-composer {
    border-radius: 20px;
    padding: 8px;
  }
  .chat-empty {
    padding: 32px 4px;
  }
  .chat-composer .chat-tools [data-context] {
    margin-left: 0;
  }
  .chat-composer .chat-tools select {
    max-width: 160px;
  }
  .mobile-design-tabs {
    margin-bottom: 16px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .chat-composer,
  .conversation-picker,
  .conversation-results .conversation-open,
  .mobile-design-tabs button {
    transition: none;
  }
}
.mobile-design-tabs button[aria-pressed="false"] { background: transparent !important; color: var(--muted); }
.mobile-design-tabs button[aria-pressed="true"] { box-shadow: inset 0 -2px 0 var(--lime) !important; }
.mobile-design-tabs button:hover { background: var(--pale) !important; color: var(--ink); }
.chat-composer > details > label { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 10px 0; color: var(--muted); font-size: 13px; }
.chat-composer input[type="date"] { min-width: 0; max-width: 100%; padding: 9px 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg); color: var(--ink); font: inherit; }
.chat-composer:focus-within { border-color: color-mix(in srgb,var(--muted) 45%,var(--line)); }
@keyframes chat-arrive { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@media(prefers-reduced-motion:no-preference) { .chat-empty { animation: chat-arrive 360ms cubic-bezier(.2,.8,.2,1) both; } }

/* One aligned toolbar for the chat and rule workspace. */
.workbench-toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  max-width: 780px;
  margin: 0 auto 24px;
}
.workbench-toolbar .mobile-design-tabs { margin: 0; width: auto; min-width: 0; }
.workbench-toolbar .conversation-picker { margin: 0 0 0 auto; flex-shrink: 0; min-height: 44px; }
.home-view:has(.workbench:not([hidden])[data-tab="design"]) .workbench-toolbar,
.home-view:has(.workbench:not([hidden])[data-tab="split"]) .workbench-toolbar { max-width: none; }
.exchange-fieldset .exchange-choices { gap: 8px; }
.exchange-fieldset .exchange-choices label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 10px 14px;
  border-radius: 14px;
  color: var(--ink);
  background: transparent;
  border-color: var(--line);
  font-size: 14px;
  line-height: 20px;
}
.exchange-fieldset .exchange-choices input {
  position: absolute;
  width: 1px;
  height: 1px;
  min-height: 0;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
}
.exchange-check {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  border: 1px solid var(--muted);
  border-radius: 6px;
}
.exchange-check .ui-icon { width: 14px; height: 14px; opacity: 0; transform: scale(.6); }
.exchange-choices input:checked + .exchange-check { background: var(--lime); border-color: var(--lime); color: #171914; }
.exchange-choices input:checked + .exchange-check .ui-icon { opacity: 1; transform: scale(1); }
.exchange-fieldset .exchange-choices label:has(:checked) { border-color: var(--lime); background: color-mix(in srgb, var(--lime) 7%, var(--white)); }
.exchange-fieldset .exchange-choices label:hover { background: var(--pale); }
.exchange-fieldset .exchange-choices label:has(:focus-visible) { outline: 2px solid var(--lime); outline-offset: 3px; }
@media (prefers-reduced-motion: no-preference) {
  .exchange-check, .exchange-check .ui-icon { transition: background 160ms, opacity 160ms, transform 160ms; }
}
@media (max-width: 760px) {
  .workbench-toolbar { gap: 8px; margin-bottom: 16px; }
  .workbench-toolbar .mobile-design-tabs { flex: 1; }
  .workbench-toolbar .conversation-picker { width: 44px; padding: 12px; justify-content: center; }
  .workbench-toolbar .conversation-picker > span { display: none; }
}
@media (max-width: 380px) {
  .workbench-toolbar .mobile-design-tabs { gap: 4px; }
  .workbench-toolbar .mobile-design-tabs button { padding: 10px 9px; white-space: nowrap; min-height: 44px; }
  .workbench-toolbar .mobile-design-tabs .ui-icon { display: none; }
}

.indicator-import-dialog{width:min(680px,calc(100vw - 32px));max-height:85dvh;text-align:left}.indicator-import-dialog>button{position:sticky;bottom:0;display:block;margin-top:20px}.indicator-import-dialog input[type=file]{max-width:100%;padding:14px;border:1px solid var(--border);border-radius:12px}.indicator-import-dialog details{margin:20px 0}.indicator-import-dialog a{overflow-wrap:anywhere}

.indicator-file-field{display:grid;gap:10px;margin:24px 0 8px}
.indicator-file-picker{display:flex;align-items:center;gap:14px;width:100%;min-height:84px;padding:16px 18px;text-align:left;color:inherit;background:transparent;border:1px dashed currentColor;border-radius:16px;cursor:pointer;transition:background .18s,border-color .18s,transform .18s}
.indicator-file-picker:hover{background:color-mix(in srgb,currentColor 6%,transparent)}
.indicator-file-picker:active{transform:scale(.99)}
.indicator-file-picker:focus-visible{outline:2px solid #b6db29;outline-offset:4px}
.indicator-file-picker:disabled{opacity:.65;cursor:progress}
.indicator-file-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,currentColor 8%,transparent);flex:none}
.indicator-file-copy{display:grid;gap:4px;min-width:0;flex:1}
.indicator-file-copy strong{font-size:15px}.indicator-file-copy small{font-size:13px;overflow-wrap:anywhere}
.indicator-file-status:empty{display:none}.indicator-file-status{overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){.indicator-file-picker{transition:none;transform:none}}

/* Keep navigation separate from conversation actions and align the composer tools. */
#welcome h1 .snaap-name, .chat-empty strong .snaap-name { color: var(--accent-ink); }
[data-theme="dark"] .sidebar .brand { color: #fff; }
.setup-files-dialog { width: min(560px,calc(100% - 32px)); max-height: 85svh; overflow: auto; background: var(--white); color: var(--ink); border: 1px solid var(--line); border-radius: 24px; padding: 24px; }
.setup-files-dialog::backdrop { background: #0006; backdrop-filter: blur(6px); }
.setup-files-dialog header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.setup-files-dialog h2 { font-size: 22px; font-weight: 600; }
.setup-files-dialog p { color: var(--muted); font-size: 13px; line-height: 1.7; }
.setup-file-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 20px 0; }
.setup-file-actions button { flex: 1 1 180px; justify-content: center; gap: 8px; }
.setup-file-list { display: grid; gap: 10px; margin: 20px 0; }
.setup-file-choice { display: flex; gap: 12px; align-items: flex-start; padding: 14px; border: 1px solid var(--line); border-radius: 14px; }
.setup-file-choice input { accent-color: var(--lime); width: 18px; height: 18px; flex-shrink: 0; margin: 3px 0 0; }
.setup-file-choice > span { display: grid; gap: 6px; min-width: 0; overflow-wrap: anywhere; }
.setup-file-choice small { font-size: 12px; line-height: 1.7; color: var(--muted); }
.setup-file-choice summary { font-size: 12px; cursor: pointer; }
.setup-file-choice details p { white-space: pre-line; margin-top: 8px; }
.setup-files-dialog .row-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.notification-setup-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.setup-code-form label { display: grid; gap: 8px; font-size: 13px; margin-bottom: 16px; }
.setup-code-form input, .setup-share-code { width: 100%; min-width: 0; min-height: 48px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--bg); color: var(--ink); font: inherit; }
.setup-share-code { text-align: center; letter-spacing: 1px; margin: 18px 0; font-family: monospace; font-size: clamp(15px,3.8vw,20px); }
.setup-code-preview { display: grid; gap: 10px; border: 1px solid var(--line); border-radius: 14px; padding: 16px; margin: 16px 0; overflow-wrap: anywhere; }
.setup-code-preview p { white-space: pre-line; }
.setup-code-preview small { color: var(--muted); font-size: 12px; line-height: 1.7; }
.setup-files-dialog .setup-code-error { margin: 0 0 16px; color: var(--ink); }
.workbench-toolbar { justify-content: space-between; gap: 16px; margin-bottom: 32px; }
.workbench-toolbar .mobile-design-tabs { display: flex; flex-wrap: nowrap; gap: 4px; padding: 4px; border-radius: 16px; background: var(--white); }
.workbench-toolbar .mobile-design-tabs button { min-height: 40px; padding: 8px 14px; border-radius: 12px; font-size: 13px; }
.workbench-toolbar .mobile-design-tabs button[aria-pressed="true"] { background: var(--pale) !important; box-shadow: inset 0 -2px 0 var(--lime) !important; }
.conversation-actions { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.conversation-kind { display:inline-flex; margin-top:5px; font-size:11px; color:var(--muted); line-height:1.5; }
.conversation-kind.is-saved { color:var(--accent-ink,var(--lime)); }
.workbench-toolbar .conversation-actions .conversation-picker { margin: 0; padding: 10px; font-size: 13px; }
.conversation-actions > .icon-button { width: 40px; height: 40px; min-height: 40px; border-radius: 12px; }
.conversation-actions > .icon-button:hover { background: var(--pale); }
.workbench[data-tab="chat"] .chat-empty { padding: clamp(24px,5vh,48px) 12px 32px; }
.chat-composer { padding: 16px; border-radius: 24px; }
.chat-composer #followup-form { display: block; padding: 0; }
.chat-composer #followup-form { position:relative; }
.chat-composer #followup-input.has-prompt-hint::placeholder { color:transparent; }
.chat-composer #followup-input:focus::placeholder { opacity:0; }
.chat-prompt-hint { position:absolute; top:4px; left:6px; right:6px; color:var(--placeholder, var(--muted)); font:inherit; font-size:15px; line-height:1.7; pointer-events:none; overflow-wrap:anywhere; }
.chat-prompt-hint[hidden] { display:none; }
.chat-composer #followup-input { display: block; padding: 4px 6px; min-height: 72px; }
.chat-composer .chat-tools { display: flex; align-items: center; gap: 4px; padding: 8px 0 0; }
.chat-composer .chat-tools .chat-send-button { display: grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px; min-height: 40px; padding: 0; border-radius: 50%; background: var(--pale); color: var(--ink); }
.chat-composer .chat-tools .chat-send-button:disabled { background: var(--pale); color: var(--muted); opacity: .65; }
.chat-send-button .ui-icon { width: 20px; height: 20px; stroke-width: 2; }
.chat-composer > .ai-availability { margin: 8px 0 0; padding: 0 6px; font-size: 12px; }
@media(max-width:650px) {
  .chat-empty p > span { display: block; }
  .workbench-toolbar { gap: 10px; margin-bottom: 20px; }
  .workbench-toolbar .mobile-design-tabs { flex: 1 1 auto; width: auto; }
  .workbench-toolbar .mobile-design-tabs button { flex: 1; padding: 8px 10px; }
  .conversation-actions { gap: 2px; }
  .workbench-toolbar .conversation-actions .conversation-picker { width: 40px; min-height: 40px; }
  .chat-composer { padding: 12px; border-radius: 20px; }
  .chat-composer .chat-tools button { padding: 8px; }
  .chat-composer .chat-tools [data-context] { margin-left: auto; font-size: 12px; gap: 6px; }
}
@media(max-width:420px) {
  .workbench-toolbar .mobile-design-tabs { flex-basis: 100%; }
  .conversation-actions { margin-top: -4px; }
  .chat-composer .chat-tools { gap: 2px; }
  .chat-composer .chat-tools .snaap-select-trigger { padding: 8px 6px; gap: 6px; }
}

/* Bright lime is a fill; foregrounds and essential control cues need stronger contrast. */
:root:not([data-theme="dark"]) :where(.composer, .chat-composer, .snaap-select-trigger, .workspace-picker-row, .workspace-dialog input, .design-panel input:not([type="checkbox"]):not([type="radio"]), .setup-code-form input, .setup-share-code, #connect-history input, .indicator-file-picker) { border-color: var(--control-line); }
:root:not([data-theme="dark"]) :is(.exchange-fieldset .exchange-choices label:has(:checked), .direction-options label:has(input:checked), .exchange-choices input:checked + .exchange-check) { border-color: var(--accent-ink); }
:root:not([data-theme="dark"]) :is(.direction-options input, .direction-mirror input, .setup-file-choice input, .replay-controls input) { accent-color: var(--accent-ink); }
:root:not([data-theme="dark"]) :is(button,a,summary,input,textarea,select):focus-visible { outline-color: var(--accent-ink); }
:root:not([data-theme="dark"]) .workbench-toolbar .mobile-design-tabs button[aria-pressed="true"] { box-shadow: inset 0 -2px 0 var(--accent-ink) !important; }
:root:not([data-theme="dark"]) .watch-row .status.is-active { box-shadow: inset 3px 0 var(--accent-ink); }
:root:not([data-theme="dark"]) .watch-row .status.is-active:before { background: var(--accent-ink); }
:root:not([data-theme="dark"]) .chat-empty > .ui-icon { color: var(--accent-ink); }
:root:not([data-theme="dark"]) :is(.composer, .chat-composer):focus-within { border-color: var(--accent-ink); box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent-ink) 18%, transparent); }

:root:not([data-theme="dark"]) #connect-history input { border-color: var(--control-line); }

/* Give the advanced section its own compact disclosure layout. */
#main .design-body > details[data-advanced-options] > summary {
 display:grid; grid-template-columns:16px minmax(0,1fr); column-gap:8px;
 padding:14px 16px; list-style:none; align-items:center;
}
#main .design-body > details[data-advanced-options] > summary::before {
 content:"›"; grid-column:1; grid-row:1; font-size:20px; line-height:1;
 transform:rotate(0deg); transition:transform 180ms ease;
}
#main .design-body > details[data-advanced-options][open] > summary::before { transform:rotate(90deg); }
#main .design-body > details[data-advanced-options] > summary::-webkit-details-marker { display:none; }
#main .design-body > details[data-advanced-options] > summary span {
 grid-column:2; margin:4px 0 0; font-size:12px; line-height:1.6; color:var(--muted);
}
.design-body .advanced-options { display:flex; flex-direction:column; align-items:stretch; gap:16px; padding:4px 16px 16px; }
.advanced-options > [data-stage] { align-self:flex-start; max-width:100%; white-space:normal; margin:0; }
.advanced-options > .setup-section { min-width:0; margin:0; padding-top:16px; }
@media(prefers-reduced-motion:reduce) { #main .design-body > details[data-advanced-options] > summary::before { transition:none; } }
/* Keep the AI mode readable in a narrow chat column; the data toggle's label gives way first. */
.chat-composer .chat-tools .snaap-select { flex: none; }
.chat-composer .chat-tools [data-context] { min-width: 0; }
/* A failed turn reads as an error, not as Snaap's answer, and offers the resend in place. */
.message.assistant.is-error { flex-direction: column; align-items: flex-start; gap: 8px; padding: 12px 14px; border: 1px solid color-mix(in srgb, var(--danger) 35%, var(--line)); border-left: 3px solid var(--danger); border-radius: 12px; background: color-mix(in srgb, var(--danger) 6%, transparent); }
.message.assistant.is-error .assistant-body { padding-top: 0; }
.message.assistant.is-error .assistant-body p:last-child { margin-bottom: 0; }
.chat-retry { min-height: 40px; padding: 8px 14px; border-radius: 10px; font-size: 13px; }
/* selects.css */
.snaap-select {
  display: block;
  min-width: 0;
  width: 100%;
  margin-top: 5px;
}
select.snaap-select-native {
  display: none !important;
}
.snaap-select-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--bg);
  color: var(--ink);
  font: inherit;
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
  transition:
    border-color 160ms,
    background 160ms;
}
.snaap-select-value {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.snaap-select-chevron {
  width: 7px;
  height: 7px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  flex-shrink: 0;
  margin: -4px 3px 0 0;
  transition: transform 160ms;
}
.snaap-select-trigger[aria-expanded="true"] {
  border-color: var(--muted, var(--secondary));
}
.snaap-select-trigger[aria-expanded="true"] .snaap-select-chevron {
  transform: rotate(225deg);
  margin-top: 3px;
}
.snaap-select-trigger:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.snaap-select-menu {
  position: fixed;
  z-index: 2000;
  padding: 6px;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--line);
  background: var(--white, var(--surface));
  color: var(--ink);
  border-radius: 14px;
  box-shadow: 0 14px 40px #0003;
  animation: select-appear 150ms ease-out;
}
.snaap-select-option {
  position: relative;
  padding: 11px 32px 11px 12px;
  border-radius: 9px;
  font-size: 14px;
  line-height: 1.5;
  cursor: pointer;
  overflow-wrap: anywhere;
}
.snaap-select-search {
 position:sticky; top:0; z-index:1; width:100%; box-sizing:border-box;
 margin-bottom:6px; padding:10px 12px; border:1px solid var(--line);
 border-radius:8px; background:var(--white); color:var(--ink); font:inherit;
 font-size:14px;
}
.snaap-select-option[aria-selected="true"] {
  font-weight: 600;
}
.snaap-select-option[aria-selected="true"]::after {
  content: "";
  position: absolute;
  right: 14px;
  top: 17px;
  width: 5px;
  height: 9px;
  border: solid currentColor;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.snaap-select-option:not([aria-disabled="true"]):hover,
.snaap-select-option.is-highlighted:not([aria-disabled="true"]) {
  background: var(--pale, var(--soft));
}
.snaap-select-option[aria-disabled="true"] {
  opacity: 0.45;
  cursor: not-allowed;
}
.chat-composer .chat-tools .snaap-select {
  width: auto;
  max-width: 210px;
  margin: 0;
}
.chat-composer .chat-tools .snaap-select-trigger {
  background: transparent;
  border: 0;
  border-radius: 20px;
  font-size: 13px;
}
@keyframes select-appear {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .snaap-select-menu {
    animation: none;
  }
  .snaap-select-trigger,
  .snaap-select-chevron {
    transition: none;
  }
}
/* studio.css */
.setup-studio {
  min-width: 0;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 20px;
  overflow: hidden;
}
.setup-studio header {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  padding: 20px;
}
.studio-header-info {
  flex: 1 1 280px;
  min-width: 0;
  overflow-wrap: anywhere;
}
.studio-header-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-left: auto;
}
.studio-header-actions [data-chart-refresh] {
  min-height: 44px;
  padding: 10px 14px;
  font-size: 12px;
  line-height: 1.5;
  white-space: nowrap;
}
.studio-zoom {
  display: flex;
  gap: 4px;
}
.studio-zoom button {
  min-width: 44px;
  min-height: 44px;
  padding: 8px 12px;
  font-size: 15px;
  line-height: 1;
  white-space: nowrap;
}
.studio-zoom [data-zoom="fit"] {
  font-size: 12px;
}
.setup-studio header p {
  font-size: 12px;
  color: var(--muted);
  margin: 6px 0 0;
}
.studio-canvas {
  height: 440px;
  width: 100%;
}
.studio-frame-picker {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  padding:0 20px 16px;
}
.studio-frame-picker > span {font-size:12px;color:var(--muted);margin-right:4px;}
.studio-frame-picker button {min-height:40px;min-width:48px;padding:8px 12px;background:var(--pale);color:var(--ink);border:1px solid var(--line);border-radius:8px;}
.studio-frame-picker button[aria-pressed="true"] {border-color:var(--lime);box-shadow:inset 0 -2px var(--lime);font-weight:700;}
.studio-frame-picker button:focus-visible {outline:2px solid var(--ink);outline-offset:3px;}
.condition-chart-links {display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;}
.condition-chart-links button {min-height:40px;font-size:12px;}
.chart-legend {
  display: flex;
  min-height: 28px;
  box-sizing: border-box;
  flex-wrap: wrap;
  gap: 12px;
  padding: 0 20px 10px;
  font-size: 12px;
}
.replay-controls {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 14px 20px;
  border-top: 1px solid var(--line);
}
.replay-controls input {
  flex: 1;
  min-width: 90px;
  accent-color: var(--lime);
}
.chart-disclaimer,
.chart-credit {
  display: block;
  font-size: 11px;
  color: var(--muted);
  padding: 0 20px 14px;
  margin: 0;
}
.chart-evidence {
  margin: 0 20px 16px;
  font-size: 13px;
}
.chart-evidence summary {
  cursor: pointer;
  padding: 8px 0;
}
.chart-evidence .evidence-row {
  margin: 8px 0;
}
.workbench[data-tab="chat"] .setup-studio {
  display: none;
}
.workbench[data-tab="design"],
.workbench[data-tab="split"] {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
}
.workbench[data-tab="design"] .setup-studio,
.workbench[data-tab="split"] .setup-studio {
  grid-row: 1;
}
.pair-control {
  display: grid;
  gap: 8px;
  font-size: 13px;
  color: var(--muted);
  margin: 16px 0;
}
.pair-control > [data-pair-picker] {
  justify-content: space-between;
  text-align: left;
  width: 100%;
  min-height: 44px;
  color: var(--ink);
}
.instrument-dialog > p {
  color: var(--muted);
  font-size: 12px;
  margin: 8px 0 14px;
}
.instrument-list {
  max-height: 48vh;
  overflow: auto;
  margin-top: 12px;
}
.instrument-list button {
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding: 14px;
  border-radius: 12px;
  gap: 16px;
  text-align: left;
}
.instrument-list button:hover {
  background: var(--pale);
}
.instrument-list span {
  font-size: 12px;
  color: var(--muted);
}
.pair-selection-modes{display:flex;gap:5px;padding:4px;background:var(--pale);border-radius:10px;margin:14px 0}
.pair-selection-modes button{flex:1;min-height:40px;border-radius:7px;font-size:13px;background:transparent;color:var(--muted)}
.pair-selection-modes button[aria-pressed=true]{background:var(--white);color:var(--ink);box-shadow:0 1px 4px #0002}
.pair-catalog-tools{display:flex;align-items:center;gap:8px}.pair-catalog-tools input{flex:1;min-width:0}.pair-catalog-tools button{font-size:12px;white-space:nowrap}
.instrument-list button[aria-pressed=true]{background:color-mix(in srgb,var(--lime) 10%,var(--white));box-shadow:inset 2px 0 var(--lime)}
.instrument-list button[aria-pressed=true] span{color:var(--accent-ink)}
.pair-selection-footer{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:14px;margin-top:12px}
.pair-selection-footer>span{flex:1;font-size:13px;color:var(--muted)}.pair-selection-footer button{font-size:12px;min-height:42px}
.instrument-dialog .pair-selection-note{font-size:11px;line-height:1.6;margin:10px 0 0}
.instrument-dialog .instrument-list{max-height:38vh}.studio-pair-select{max-width:180px;min-width:100px;margin-left:auto;font-size:12px;padding:8px;background:var(--pale);color:var(--ink);border:1px solid var(--line);border-radius:8px}
.studio-pair-select[hidden]{display:none}
.studio-pair-control[hidden]{display:none}.studio-pair-control{max-width:190px;min-width:110px}
.instrument-dialog[open]{display:flex;flex-direction:column;max-height:calc(100dvh - 48px);overflow:hidden}
.instrument-dialog>.instrument-list{flex:1;min-height:100px;max-height:36vh;margin-top:6px;overscroll-behavior:contain}
.instrument-dialog>header,.instrument-dialog>.pair-selection-modes,.instrument-dialog>.pair-catalog-tools,.instrument-dialog>.pair-selection-footer{flex-shrink:0}
@media (min-width: 1100px) {
  .main-shell .home-view:has(.workbench:not([hidden]):not([data-tab="chat"])) {
    max-width: 1800px;
  }
  .workbench[data-tab="design"] {
    grid-template-columns: minmax(0, 1.35fr) minmax(350px, 0.85fr);
    align-items: start;
  }
  .workbench[data-tab="design"] .setup-studio {
    position: sticky;
    top: 20px;
    max-height: calc(100vh - 40px);
    overflow: auto;
  }
  .workbench[data-tab="design"] .design-panel {
    grid-column: 2;
    grid-row: 1;
  }
  .split-view-button {
    display: inline-flex;
  }
  .workbench[data-tab="split"] {
    grid-template-columns: minmax(280px, 0.7fr) minmax(0, 1.5fr);
    align-items: start;
  }
  .workbench[data-tab="split"] #conversation {
    display: block;
    grid-column: 1;
    grid-row: 1 / span 2;
    position: sticky;
    top: 20px;
  }
  .workbench[data-tab="split"] .setup-studio {
    grid-column: 2;
  }
  .workbench[data-tab="split"] .design-panel {
    grid-column: 2;
  }
}
@media (max-width: 760px) {
  .workbench-toolbar .mobile-design-tabs button { white-space:nowrap; padding:10px 8px; }
  .workbench-toolbar .mobile-design-tabs .ui-icon { display:none; }
  .replay-controls input { flex:1 1 100%; width:100%; order:2; }
  .replay-controls button { flex:1; white-space:nowrap; }
  .studio-canvas {
    height: 340px;
  }
  .setup-studio header {
    padding: 14px;
  }
  .studio-header-info { flex-basis: 100%; }
  .studio-header-actions { margin-left: 0; }
  .replay-controls {
    padding: 12px;
  }
  .chart-disclaimer {
    padding: 0 14px 12px;
  }
  .setup-studio header strong {
    font-size: 13px;
  }
}
/* workspace-scroll.css */
.setup-pane { min-width:0; display:grid; gap:20px; }
body:has(#admin-impersonation-banner) .sidebar { top:var(--admin-banner-height,50px); }
body:has(#admin-impersonation-banner) .app { min-height:calc(100svh - var(--admin-banner-height,50px)); }
body:has(#admin-impersonation-banner):has(#view-home:not([hidden]) .workbench:not([hidden])) .main-shell { height:calc(100dvh - var(--admin-banner-height,50px)); }
.setup-pane-nav { display:flex; flex-direction:row; flex-shrink:0; align-items:center; gap:8px; margin-right:12px; }
.setup-pane-nav[hidden] { display:none; }
.setup-pane-nav button { padding:8px 12px; border-radius:8px; min-height:36px; font-size:12px; white-space:nowrap; background:var(--white); border:1px solid var(--line); }
.workbench[data-tab="chat"] .setup-pane { display:none; }
.mobile-design-tabs .split-view-button { display:inline-flex; }
@media(max-width:1099px) {
 .workbench[data-tab="split"] #conversation { display:flex; flex-direction:column; grid-row:1; min-width:0; }
 .workbench[data-tab="split"] #messages,.workbench[data-tab="split"] .chat-composer { min-width:0; max-width:100%; }
 .workbench[data-tab="split"] .setup-pane { grid-row:2; }
}
.workbench[data-tab="design"] #conversation { display:none; }
.workbench .setup-pane .setup-studio,
.workbench .setup-pane .design-panel { grid-column:auto; grid-row:auto; }
.workbench[data-tab="design"] .setup-pane .setup-studio {
 position:relative;
 top:auto;
 max-height:none;
 overflow:hidden;
}
.workbench-toolbar { position:relative; z-index:5; isolation:isolate; }
/* Keep the conversation identity between the same controls in both modes. */
.home-view .workbench-toolbar {
 display:grid;
 grid-template-columns:auto minmax(0,1fr) auto;
}
.workbench-toolbar .conversation-title {
 min-width:0;
 text-align:center;
}
.workbench-toolbar .conversation-title[hidden] { display:none; }
.conversation-title-button {
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:8px;
 max-width:100%;
 min-width:0;
 min-height:40px;
 padding:4px 8px;
 border:0;
 border-radius:8px;
 background:transparent;
 color:var(--ink);
 font-size:16px;
 font-weight:600;
 line-height:1.5;
}
.conversation-title-button > span {
 min-width:0;
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
}
.conversation-title-button .ui-icon { flex-shrink:0; width:14px; height:14px; color:var(--muted); opacity:0; }
.conversation-title-button:hover { background:var(--pale); }
.conversation-title-button:hover .ui-icon,
.conversation-title-button:focus-visible .ui-icon { opacity:1; }
.conversation-title-button:focus-visible { outline:2px solid var(--control-line); outline-offset:2px; }
@media(hover:none) { .conversation-title-button .ui-icon { opacity:1; } }
.workbench-toolbar .conversation-actions { margin-left:0; grid-column:3; grid-row:1; }
@media(max-width:650px) {
 .home-view .workbench-toolbar { grid-template-columns:minmax(0,1fr) auto; }
 .workbench-toolbar .conversation-title { grid-column:1 / -1; grid-row:2; }
 .conversation-title-button { font-size:14px; min-height:32px; }
 .workbench-toolbar .conversation-actions { margin-top:0; grid-column:2; }
}
.workbench .chat-composer { min-height:var(--chat-composer-min-height,0px); }
.chat-latest { position:absolute; bottom:210px; left:50%; transform:translateX(-50%); z-index:3; padding:9px 15px; border:1px solid var(--line); border-radius:24px; background:var(--white); box-shadow:0 4px 16px #0002; font-size:12px; white-space:nowrap; }
.setup-change-card { padding:14px 16px; border-radius:14px; border-left:3px solid var(--lime); }
.setup-change-card header strong { font-size:14px; }
.setup-change-card header>span { padding:3px 8px; border-radius:20px; background:var(--pale); font-size:11px; }
.setup-change-card li { grid-template-columns:48px minmax(0,1fr); padding:10px 0; }
.setup-change-card .change-values { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:4px; }
.setup-change-card .change-before,.setup-change-card .change-after { padding:4px 8px; border-radius:6px; background:var(--bg); overflow-wrap:anywhere; }
.setup-change-card .change-after { color:var(--ink); background:var(--pale); }
.setup-change-card footer { margin-top:10px; padding-top:10px; border-top:1px solid var(--line); }
.setup-change-card footer button { padding:6px 10px; min-height:32px; font-size:12px; }
@media(min-width:1100px) {
 .workbench[data-tab="split"] .chat-tools { display:flex; flex-wrap:nowrap; gap:8px; }
 .workbench[data-tab="split"] .chat-tools [data-attach-image] { padding:8px; }
 .workbench[data-tab="split"] .chat-tools [data-attach-image] span:last-child { display:none; }
 .workbench[data-tab="split"] .chat-tools .my-data-toggle { font-size:11px; margin-left:auto; }
 .workbench[data-tab="split"] .chat-tools .chat-send-button { flex-shrink:0; }
}
@media(min-width:1100px) {
  body:has(#view-home:not([hidden]) .workbench:not([hidden])) { overflow:hidden; }
  body:has(#view-home:not([hidden]) .workbench:not([hidden])) .main-shell { height:100dvh; overflow:hidden; }
  body:has(#view-home:not([hidden]) .workbench:not([hidden])) .topbar { flex-shrink:0; }
  body:has(#view-home:not([hidden]) .workbench:not([hidden])) #main { flex:1; min-height:0; overflow:hidden; }
  #view-home:has(.workbench:not([hidden])) { height:100%; display:flex; flex-direction:column; padding-bottom:20px; }
  #view-home:has(.workbench:not([hidden])) .workbench-toolbar { flex-shrink:0; }
  .workbench:not([hidden]) { height:var(--workbench-height,75dvh); min-height:0; overflow:hidden; align-items:stretch; }
  #view-home .workbench:not([hidden]) { flex:1; height:auto; }
  .workbench[data-tab="split"] { grid-template-columns:minmax(320px,.85fr) minmax(0,1.35fr); }
  .workbench[data-tab="design"] { grid-template-columns:minmax(0,1fr); }
  .workbench .setup-pane { overflow:auto; overscroll-behavior:contain; display:block; min-height:0; border:1px solid var(--line); border-radius:20px; clip-path:inset(0 round 20px); box-sizing:border-box; }
  .workbench .setup-pane > .setup-studio,
  .workbench .setup-pane > .design-panel { border:0; border-radius:0; box-shadow:none; }
  .workbench .setup-pane .design-toolbar { border-radius:0; }
  .setup-pane .setup-studio { margin-bottom:20px; }
  .workbench[data-tab="split"] #conversation,.workbench[data-tab="chat"] #conversation { position:relative; top:auto; grid-column:auto; grid-row:auto; display:flex; flex-direction:column; height:100%; min-height:0; overflow:hidden; }
  .workbench #messages { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; padding-right:4px; padding-bottom:20px; }
  .workbench .chat-composer { flex:none; margin-top:12px; max-height:45%; overflow:auto; }
  .workbench .design-toolbar { position:sticky; top:0; z-index:2; background:var(--white); }
}
@media(max-width:1099px) {
 body:has(#view-home:not([hidden]) .workbench[data-tab="chat"]:not([hidden])) { overflow:hidden; }
 body:has(#view-home:not([hidden]) .workbench[data-tab="chat"]:not([hidden])) .main-shell { height:100dvh; overflow:hidden; }
 body:has(#view-home:not([hidden]) .workbench[data-tab="chat"]:not([hidden])) .topbar { flex-shrink:0; }
 body:has(#view-home:not([hidden]) .workbench[data-tab="chat"]:not([hidden])) #main { flex:1; min-height:0; overflow:hidden; }
 #view-home:has(.workbench[data-tab="chat"]:not([hidden])) { height:100%; display:flex; flex-direction:column; padding-top:20px; padding-bottom:12px; }
 .workbench[data-tab="chat"] { flex:1; min-height:0; overflow:hidden; }
 .workbench[data-tab="chat"] #conversation { position:relative; display:flex; flex-direction:column; height:100%; min-height:0; overflow:hidden; }
 .workbench[data-tab="chat"] #messages { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; padding-bottom:16px; }
 .workbench[data-tab="chat"] .chat-composer { flex:none; max-height:45%; overflow:auto; margin-top:12px; }
 .workbench[data-tab="design"] #conversation { display:none; }
 .setup-change-card footer button { min-height:44px; }
}
@media(max-width:650px) {
 .workbench-toolbar .conversation-actions { flex-wrap:wrap; justify-content:flex-end; }
 .setup-pane-nav { gap:6px; margin-right:6px; }
 .setup-pane-nav button { padding:8px 10px; white-space:nowrap; }
}
@media(prefers-reduced-motion:reduce) { .setup-change-card { animation:none; } }
.setup-change-card [data-revert-change] { margin-top:12px; min-height:44px; }

/* Keep the greeting and first composer together until a conversation starts. */
#main.workspace-switching{position:relative}
#main.workspace-switching>.view{visibility:hidden}
.workspace-switch-progress{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;min-height:240px;background:var(--bg);color:var(--muted);font-size:13px;z-index:5}
.workspace-switch-progress:before{content:'';width:14px;height:14px;border:2px solid var(--line);border-top-color:var(--accent-ink);border-radius:50%;animation:workspace-loading .8s linear infinite}
@keyframes workspace-loading{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.workspace-switch-progress:before{animation:none}}
.workbench:is([data-tab="chat"],[data-tab="split"]) #conversation:has(#messages .chat-empty):not(:has(#messages .message)) {
 justify-content:safe center;
 /* Place the first interaction above the geometric centre of the pane. */
 box-sizing:border-box;
 padding-block:16px calc(clamp(72px,18dvh,180px) + 80px);
 overflow-y:auto;
 gap:24px;
}
.workbench:is([data-tab="chat"],[data-tab="split"]) #conversation:has(#messages .chat-empty):not(:has(#messages .message)) #messages {
 flex:0 0 auto;
 overflow:visible;
 padding:0;
}
.workbench #conversation:not(:has(#messages .message)) .chat-empty { padding:0; }
.workbench #conversation:has(#messages .chat-empty):not(:has(#messages .message)) .chat-composer {
 margin-top:0;
 max-height:none;
}
@media(max-height:600px) {
 .workbench:is([data-tab="chat"],[data-tab="split"]) #conversation:has(#messages .chat-empty):not(:has(#messages .message)) {
  padding-block:12px 36px;
  gap:16px;
 }
}

/* Shared element transitions keep the chat anchored while the studio enters. */
#conversation { view-transition-name:snaap-conversation; }
.setup-pane { view-transition-name:snaap-setup; }
::view-transition-group(snaap-conversation),
::view-transition-group(snaap-setup) { animation-duration:360ms; animation-timing-function:cubic-bezier(.22,1,.36,1); }
::view-transition-old(root), ::view-transition-new(root) { animation:none; }
::view-transition-new(snaap-setup) { animation:snaap-studio-enter 360ms cubic-bezier(.22,1,.36,1) both; }
@keyframes snaap-studio-enter { from { opacity:0; transform:translateX(18px); } to { opacity:1; transform:translateX(0); } }
.workbench .studio-canvas {
 height:calc(clamp(360px,52dvh,560px) + var(--studio-pane-space,0px));
 min-height:calc(360px + var(--studio-pane-space,0px));
 min-width:0;
}
@media(prefers-reduced-motion:reduce) {
 ::view-transition-group(snaap-conversation), ::view-transition-group(snaap-setup), ::view-transition-new(snaap-setup) { animation:none; }
}
/* setting-guides.css */
.setting-guide-trigger{display:inline-flex!important;align-items:center;justify-content:center;width:26px;height:26px!important;min-height:26px!important;min-width:26px;margin:0 0 0 4px;padding:4px!important;vertical-align:middle;border:0!important;border-radius:50%;background:transparent!important;color:var(--muted,#9799a2);cursor:help;transition:color .18s;box-shadow:none!important;outline:none!important}
.setting-guide-trigger svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.setting-guide-trigger:hover,.setting-guide-trigger:focus-visible,.setting-guide-trigger[aria-describedby]{color:var(--accent-ink,#9ebe24);background:transparent!important;outline:none!important;box-shadow:none!important}
.setting-guide-trigger:focus-visible svg{stroke-width:2.2}
.design-panel .guide-label{display:flex;align-items:center;gap:4px;min-height:26px;line-height:1.5;width:fit-content}
.design-panel .guide-label>.setting-guide-trigger{margin:0;flex-shrink:0}
.design-panel label:has(>.guide-label){gap:10px!important;padding:0}
.setting-guide{position:fixed;z-index:10050;width:min(360px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:20px;border:1px solid var(--line,#37383d);border-radius:18px;color:var(--ink,#ededf0);background:var(--white,#202124);box-shadow:0 16px 60px #0005;animation:guide-enter .18s ease-out;font-family:inherit;line-height:1.7;pointer-events:auto}
.setting-guide .guide-eyebrow{font-size:12px;color:var(--muted,#9799a2);margin-bottom:6px}
.setting-guide>strong{font-size:18px;font-weight:650}.setting-guide>p{font-size:15px;margin:10px 0 16px}.setting-guide .guide-note{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line,#37383d);font-size:14px;color:var(--muted,#aaaeb7)}
.guide-chart{background:#171b20;color:#e4e8ef;border:1px solid rgba(120,130,140,.14);border-radius:12px;overflow:hidden;padding:12px}.guide-chart svg{display:block;width:100%;height:auto}.guide-chart-key{display:flex;justify-content:flex-end;align-items:center;gap:8px;font-size:13px;color:#c9f14a;line-height:1.5;padding:0 4px 6px}.guide-chart-key>span{width:20px;border-top:2px dashed currentColor}.guide-chart-caption{text-align:center;font-size:13px;line-height:1.6;padding:8px 4px 2px;border-top:1px solid #ffffff12}
.guide-candle{animation:guide-candle .65s ease-out both;animation-delay:var(--delay);transform-box:fill-box;transform-origin:bottom}.guide-signal{animation:guide-signal 3.5s ease-out both}
@keyframes guide-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes guide-candle{from{opacity:0;transform:scaleY(.35)}to{opacity:1;transform:scaleY(1)}}@keyframes guide-signal{0%,35%{opacity:0}50%{opacity:1;stroke-width:3}100%{opacity:1;stroke-width:2}}
.guide-action{display:inline-flex;align-items:center;flex-wrap:wrap;gap:0}.guide-average{stroke-dasharray:340;animation:guide-line 1.5s ease-out both}@keyframes guide-line{from{stroke-dashoffset:340}to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.setting-guide,.guide-candle,.guide-signal,.guide-average{animation:none!important}.setting-guide-trigger{transition:none}}
@media(pointer:coarse){.setting-guide-trigger{width:32px;height:32px!important;min-height:32px!important;min-width:32px}}
.design-panel label:has(>.guide-label){display:grid;grid-template-columns:minmax(0,1fr)}
.design-panel label:has(>.guide-label)>.snaap-select,.design-panel label:has(>.guide-label)>input{margin-top:0!important;width:100%}
.guide-steps{display:grid;gap:10px}.guide-step{padding:10px;border:1px solid #ffffff16;border-radius:8px;background:#ffffff05;animation:guide-enter .3s ease-out both;animation-delay:var(--delay)}.guide-step small{display:block;font-size:12px;line-height:1.5;color:#bfc6ce;margin-bottom:5px}.guide-step strong{display:block;font-size:14px;line-height:1.6;font-weight:600;color:#edf0f4;overflow-wrap:anywhere}.guide-example-row{display:flex;gap:6px;margin-bottom:10px}.guide-example-row>.guide-step{flex:1;min-width:0;padding:8px}.guide-example-row:has(>.guide-step:nth-child(4)){flex-wrap:wrap}.guide-example-row:has(>.guide-step:nth-child(4))>.guide-step{flex-basis:28%}.guide-value-selected{border:1px solid #c9f14a!important;border-radius:6px;padding:4px;color:#c9f14a}.guide-chart .guide-chart-caption{margin-top:10px}.guide-chart svg+.guide-example-row{margin-top:6px}
@media(prefers-reduced-motion:reduce){.guide-step{animation:none!important}}
.operand-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:16px}.operand-heading>.operand-title{margin:0}.operand-heading>.guide-action{margin-left:auto;gap:4px}.indicator-import-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--white);font-size:12px;line-height:1.5;color:var(--ink);cursor:pointer}.indicator-import-trigger:hover{background:var(--pale)}.indicator-import-trigger>.icon{width:15px;height:15px}.operand-heading .setting-guide-trigger{flex-shrink:0}
.operand-reference{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.operand-reference a{display:inline-flex;align-items:center;gap:6px;font-size:12px;line-height:1.6;color:var(--muted)}.operand-reference a:hover{color:var(--ink)}.operand-reference .icon{width:14px;height:14px}
.guide-calculation{margin-top:12px}.guide-calculation summary{cursor:pointer;font-size:13px;line-height:1.6;color:#cdd2dc;padding:8px 0}.guide-calculation[open] summary{margin-bottom:8px}
.guide-formula-note{padding-top:12px;margin-top:10px;border-top:1px solid #ffffff16;font-size:13px;line-height:1.7;color:#bcc4d0}
.design-body .operand-fields.indicator-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.indicator-fields>label:first-child,.indicator-fields>p{grid-column:1/-1}
.indicator-fields>label:last-child:nth-child(even){grid-column:1/-1}
@media(max-width:600px){.design-body .operand-fields.indicator-fields{grid-template-columns:minmax(0,1fr)}.indicator-fields>label{grid-column:auto}}

/* Field help belongs to the caption; picker styles must not stretch it. */
.design-panel .pair-control > span { display:inline-flex; align-items:center; gap:4px; width:fit-content; line-height:1.5; }
.design-panel .pair-control > span > .setting-guide-trigger { margin:0; flex:none; }
.setup-direction .direction-mirror-row { display:flex; align-items:center; gap:4px; margin-top:14px; min-width:0; }
.setup-direction .direction-mirror-row > .direction-mirror {
 display:grid; grid-template-columns:16px minmax(0,1fr); align-items:center; gap:9px;
 margin:0; padding:0; font-size:13px; line-height:1.6; min-width:0;
}
.setup-direction .direction-mirror input { width:16px; height:16px; min-height:0; margin:0; padding:0; }
.setup-direction .direction-mirror span { min-width:0; }
.setup-direction .direction-mirror-row > .setting-guide-trigger { margin:0; flex:none; }
/* notification-compact.css */
/* Compact notification cards: shared information hierarchy, restrained surfaces. */
.notification-content .channel-options{gap:8px}
.notification-content .channel-option{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;min-height:68px;border-radius:9px}
.notification-content .channel-option .channel-mark{width:32px;height:32px;border-radius:9px;flex-shrink:0}
.notification-content .channel-option .channel-mark img{width:32px;height:32px}
.notification-content .channel-option .channel-mark .ui-icon{width:17px;height:17px}
.notification-content .channel-option-copy{min-width:0}
.notification-content .channel-option-title{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px}
.notification-content .channel-option h3{font-size:13px;line-height:1.4;margin:0}
.notification-content .channel-option p{font-size:11px;line-height:1.5;margin:3px 0 0;color:var(--muted)}
.notification-content .channel-option .channel-availability{font-size:10px;line-height:1.4;margin:0;padding:0;border:0;background:transparent;color:var(--muted);white-space:nowrap}
.notification-content .channel-option .channel-availability[data-ready=true]{color:var(--accent-ink)}
.notification-content .channel-option button{align-self:center;justify-self:end;margin:0;min-height:28px;height:28px;min-width:0;width:auto;padding:3px 9px;font-size:11px;line-height:1.5;border-radius:5px;white-space:nowrap}
@media(max-width:760px){.notification-content .channel-options{grid-template-columns:1fr}.notification-content .channel-option{padding:10px 12px}}
/* Compact overview controls leave the list as the main content. */
.overview-market-details{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
#main .overview-market-details>summary{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:12px;color:var(--muted);list-style:none}
#main .overview-market-details>summary::-webkit-details-marker{display:none}
.overview-market-details>summary .ui-icon{width:14px;height:14px}
.overview-market-details[open]>summary .ui-icon{transform:rotate(180deg)}
.overview-frame-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.overview-progress-detail{padding-top:12px;font-size:12px}
.overview-progress-detail h4{margin:0 0 6px}
.overview-progress-detail .insight-progress{font-size:12px;margin:0;color:var(--muted)}
.overview-market-details summary:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.overview-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;padding:0 0 14px;margin:0 0 18px;border-bottom:1px solid var(--line)}
.overview-filters{display:flex;gap:4px;padding:3px;border-radius:8px;background:var(--pale);flex-shrink:0}
.overview-filters button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:6px 10px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:12px;cursor:pointer}
.overview-filters button[aria-pressed="true"]{color:var(--ink);background:var(--white);box-shadow:0 1px 3px #00000012}
.overview-filters .ui-icon{width:14px;height:14px}
.overview-filter-count{min-width:18px;padding:1px 5px;border-radius:5px;background:var(--pale);font-size:11px;text-align:center;font-variant-numeric:tabular-nums}
.overview-summary{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px 14px;min-width:0}
.overview-inline-stat{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);white-space:nowrap}
.overview-inline-stat .ui-icon{width:15px;height:15px;flex-shrink:0}
.overview-inline-stat strong{font-size:13px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.overview-inline-stat small{font-size:inherit;font-weight:inherit;color:inherit}
.overview-history-scope{font-size:11px;color:var(--muted);margin:0 0 10px;line-height:1.6}
.overview-columns{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:24px;align-items:start}
.overview-panel{min-width:0}
.overview-heading-counts{display:flex;align-items:center;gap:6px;flex-shrink:0}
.overview-panel .notification-section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px}
.overview-panel .notification-section-heading h2{display:flex;align-items:center;gap:8px;font-size:15px}
.overview-panel .notification-section-heading .ui-icon{width:17px;height:17px}
.overview-surface,.overview-channel{border:1px solid var(--line);background:var(--white);border-radius:12px;overflow:hidden}
.overview-channel{margin:0 0 12px}
#main .overview-channel>summary{display:flex;align-items:center;gap:10px;padding:16px;min-height:72px;cursor:pointer;list-style:none}
#main .overview-channel>summary::-webkit-details-marker{display:none}
#main :is(.overview-channel,.overview-market-details)[open]>summary{list-style:none}
#main .overview-channel>summary::marker,#main .overview-market-details>summary::marker{content:""}
.overview-channel>summary::after{display:none}
.overview-channel summary span{margin:0;font-size:inherit}
.overview-channel-logo{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;background:var(--pale);border-radius:9px}
.overview-channel-logo img{object-fit:contain;width:24px;height:24px}
.overview-channel-name{min-width:0;flex:1}
.overview-channel-name strong{display:block;font-size:13px;line-height:1.6;overflow-wrap:anywhere;color:var(--ink)}
.overview-channel-name small{display:block;font-size:11px;line-height:1.7;color:var(--muted)}
.overview-channel-counts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;max-width:220px}
.overview-chevron{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--muted)}
.overview-chevron .ui-icon{width:16px;height:16px}
.overview-channel[open] .overview-chevron{transform:rotate(180deg)}
#view-notifications .overview-tag{display:inline-flex;align-items:center;gap:5px;min-height:24px;max-width:100%;padding:3px 7px;border-radius:5px;background:var(--pale);color:var(--muted);font-size:12px;font-weight:500;line-height:1.5;vertical-align:middle;overflow-wrap:anywhere}
#view-notifications .overview-tag>span{font-size:inherit;color:inherit;margin:0}
#view-notifications .overview-tag .ui-icon{width:13px;height:13px;flex-shrink:0}
#view-notifications .overview-tag-success,#view-notifications .overview-tag-long{color:#12613f;background:#e4f4ea}
#view-notifications .overview-tag-pending{color:#2359a3;background:#eaf1fe}
#view-notifications .overview-tag-warning{color:#8c4c09;background:#fff1dc}
#view-notifications .overview-tag-danger,#view-notifications .overview-tag-short{color:#ac2d42;background:#fde9ed}
#view-notifications .overview-tag-spot{color:#116a60;background:#e1f3ef}
[data-theme="dark"] #view-notifications .overview-tag-success,[data-theme="dark"] #view-notifications .overview-tag-long{color:#89dea9;background:#20362a}
[data-theme="dark"] #view-notifications .overview-tag-pending{color:#9cbeff;background:#222e45}
[data-theme="dark"] #view-notifications .overview-tag-warning{color:#f2c078;background:#3d3020}
[data-theme="dark"] #view-notifications .overview-tag-danger,[data-theme="dark"] #view-notifications .overview-tag-short{color:#f5a0af;background:#40262e}
[data-theme="dark"] #view-notifications .overview-tag-spot{color:#91decf;background:#203832}
.overview-market-row,.overview-delivery-row{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:12px;padding:16px;border-top:1px solid var(--line)}
.overview-surface .overview-list>[data-overview-item]:first-child>.overview-market-row{border-top:0}
.overview-delivery-row{grid-template-columns:30px minmax(0,1fr) auto}
.overview-row-symbol{display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border-radius:8px;color:var(--muted);background:var(--pale)}
.overview-row-symbol .ui-icon{width:17px;height:17px}
.overview-row-body{min-width:0}
.overview-row-heading{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.overview-row-heading h3{margin:0;font-size:14px;line-height:1.6}
.overview-row-tags{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:8px 0}
.overview-lifecycle{display:inline-flex;align-items:center;gap:5px;flex-wrap:wrap}
.overview-market-row{grid-template-columns:minmax(0,1fr)}
.overview-market-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px}
.overview-check-time{display:inline-flex;align-items:center;gap:5px;margin-left:auto;color:var(--muted);font-size:11px;line-height:1.7;white-space:nowrap}
.overview-check-time .ui-icon{width:12px;height:12px}
.overview-market-row .overview-setup-name{margin:8px 0 0}
.overview-market-row .overview-row-tags{margin:12px 0 0;width:100%}
.overview-market-row .overview-row-tags>.overview-lifecycle{display:flex;justify-content:space-between;width:100%}
.overview-direction{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;line-height:1.6}
.overview-direction .ui-icon{width:14px;height:14px}
.overview-direction-long{color:#12613f}.overview-direction-short{color:#ac2d42}.overview-direction-spot{color:#116a60}
[data-theme="dark"] .overview-direction-long{color:#89dea9}[data-theme="dark"] .overview-direction-short{color:#f5a0af}[data-theme="dark"] .overview-direction-spot{color:#91decf}
.overview-branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:16px}
.overview-branches>.overview-lifecycle{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:7px;min-width:0}
.overview-branches>.overview-lifecycle+ .overview-lifecycle{padding-left:16px;border-left:1px solid var(--line)}
.overview-setup-name{font-size:12px;color:var(--muted);line-height:1.7;margin:4px 0 0;overflow-wrap:anywhere}
.overview-row-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px}
.overview-row-footer time,.overview-event-time{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--muted);line-height:1.7}
.overview-row-footer time .ui-icon,.overview-event-time .ui-icon{width:12px;height:12px;flex-shrink:0}
.overview-row-footer .text-button{display:flex;align-items:center;gap:5px;min-height:44px;padding:6px 0;font-size:12px}
.overview-row-footer .text-button .ui-icon{width:14px;height:14px}
.overview-event-time{margin-top:6px}
.overview-action-hint{font-size:12px;color:var(--muted);line-height:1.7;margin:8px 0 0}
.overview-row-attention{border-left:2px solid #c98d35;padding-left:14px}
.overview-symbol-warning{color:#9a5208;background:#fff1dc}
[data-theme="dark"] .overview-symbol-warning{color:#f2c078;background:#3d3020}
.overview-delivery-status{max-width:145px;text-align:right}
.overview-footnote{font-size:11px;color:var(--muted);line-height:1.8;margin:12px 0}
.overview-more{display:flex;align-items:center;justify-content:center;width:calc(100% - 32px);min-height:44px;margin:8px 16px;font-size:12px;border:1px dashed var(--line);border-radius:7px}
.overview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px 20px;text-align:center}
.overview-empty>.ui-icon{width:28px;height:28px;color:var(--muted)}
.overview-empty h3{font-size:14px;margin:0}
.overview-empty p{font-size:12px;color:var(--muted);margin:0}
.overview-channel-action{display:flex;align-items:center;gap:6px;min-height:44px;font-size:12px}
.overview-channel-action .ui-icon{width:14px;height:14px}
.overview-technical{margin-top:6px;border:0}
.overview-technical summary{padding:4px 0;font-size:11px;min-height:44px;cursor:pointer;color:var(--muted)}
.overview-technical p{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.overview-channel summary:focus-visible,.overview-technical summary:focus-visible{outline:2px solid var(--ink);outline-offset:-3px}
.overview-filters button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.overview-panel [hidden]{display:none!important}
@media(max-width:1000px){.overview-columns{grid-template-columns:minmax(0,1fr);gap:28px}}
@media(max-width:600px){.overview-toolbar{gap:10px;padding-bottom:12px;margin-bottom:16px}.overview-filters button{min-height:44px}.overview-summary{justify-content:flex-start;gap:8px 12px;width:100%}.overview-inline-stat{font-size:11px}#main .overview-channel>summary{flex-wrap:wrap;padding:14px;gap:8px}.overview-channel-counts{flex-basis:100%;max-width:none;justify-content:flex-start;padding-left:44px;order:4}.overview-channel-name{flex:1}.overview-market-row,.overview-delivery-row{padding:14px;gap:10px}.overview-row-attention{padding-left:12px}.overview-delivery-row{grid-template-columns:30px minmax(0,1fr)}.overview-delivery-status{grid-column:2;text-align:left;max-width:none}.overview-channel-logo{width:36px;height:36px}}

#view-notifications{padding-top:32px}
#view-notifications .notification-heading{margin-bottom:20px}
#view-notifications .notification-setup-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px}
#view-notifications .notification-setup-actions button>.ui-icon{display:block;width:18px;height:18px;flex:none}
#view-notifications .notification-content{margin-top:20px}
.notification-rules .demo-notice{padding:0 0 12px!important;margin-bottom:14px;background:transparent!important;border:0!important;border-radius:0;color:var(--muted);font-size:12px;line-height:1.6}
.notification-rules .filter-row{gap:6px;margin-bottom:16px}
.notification-rules .filter{padding:7px 12px;min-height:34px;font-size:12px;border-radius:8px}
/* Saved setups stay compact; full pairs and conditions are opt-in. */
.notification-rules #watch-list{display:grid;gap:8px}
.notification-rules .watch-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 20px;margin:0;padding:14px 16px;border-radius:10px;box-shadow:none;background:var(--white);border:1px solid var(--line)}
.notification-rules .watch-row-heading{display:block;min-width:0;margin:0;grid-column:1;align-self:start}
.notification-rules .watch-title-line{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;min-height:34px}
.notification-rules .watch-title-line h2{margin:0;min-width:0}
.notification-rules .watch-row h2{font-size:15px;line-height:1.5;letter-spacing:-.01em;overflow-wrap:anywhere}
.notification-rules .watch-setup-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;margin-top:4px;font-size:12px;line-height:1.6;color:var(--muted)}
.notification-rules .watch-pairs{display:inline-flex;align-items:center;color:var(--ink);overflow-wrap:anywhere}
.notification-rules .watch-pair-count{color:var(--muted);white-space:nowrap;font-size:11px;margin-left:4px}
.notification-rules .watch-tags{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px}
.notification-rules .watch-tag{display:inline-flex;align-items:center;padding:1px 6px;border-radius:4px;background:var(--bg);border:1px solid var(--line);font-size:11px;line-height:1.6;color:var(--muted)}
.notification-rules .watch-direction{color:var(--ink)}
.notification-rules .watch-channel-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.notification-rules .watch-channel-tag{gap:5px;max-width:210px;color:var(--muted)}
.notification-rules .watch-channel-tag>span:first-of-type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.notification-rules .watch-channel-tag.is-routing{color:var(--ink);border-color:var(--line)}
.watch-channel-tag img,.watch-channel-menu img{object-fit:contain;flex-shrink:0}
.notification-rules .watch-channel-picker{position:relative;padding:0;margin:0;border:0;flex-shrink:0}
#main .notification-rules .watch-channel-picker>summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;list-style:none;border:1px solid var(--line);border-radius:7px;padding:7px 9px;font-size:12px;line-height:1.5;min-height:34px;color:var(--ink);white-space:nowrap}
#main .watch-channel-picker>summary::-webkit-details-marker{display:none}
#main .notification-rules .watch-channel-picker>summary::marker{content:""}
#main .watch-channel-picker>summary>.ui-icon{display:block;width:14px;height:14px;flex:none}
#main .watch-channel-picker>summary>.watch-channel-chevron{width:12px;height:12px;margin-left:2px;color:var(--muted)}
.watch-channel-picker>summary::before{display:none}
.watch-channel-picker>summary:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.watch-channel-picker[open]>summary{background:var(--pale)}
.notification-rules .watch-channel-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:20;width:280px;max-width:calc(100vw - 56px);padding:14px;background:var(--white);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px #0003;text-align:left}
.watch-channel-menu>strong{font-size:13px}
.watch-channel-menu>p{font-size:11px;color:var(--muted);margin:4px 0 10px}
.watch-channel-menu>label{display:flex;align-items:center;gap:8px;padding:9px 0;font-size:12px;cursor:pointer}
.watch-channel-menu>label>span{flex:1;min-width:0;overflow-wrap:anywhere}
.watch-channel-menu input{width:16px;height:16px;margin:0;accent-color:var(--lime)}
.watch-channel-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:6px;margin-top:4px}
.watch-channel-actions>a{color:var(--muted);font-size:11px;text-decoration:none}
.notification-rules .watch-row-footer .watch-channel-actions>button{width:auto;min-width:0;height:24px;min-height:24px;padding:1px 8px;font-size:11px;line-height:1.5;background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:5px;box-shadow:none}
.notification-rules .watch-row-footer .watch-channel-actions>button:hover{background:var(--pale);color:var(--ink)}
@media(max-width:600px){#main .notification-rules .watch-channel-picker>summary{min-height:40px}.notification-rules .watch-row-footer{position:relative}.notification-rules .watch-channel-picker{position:static}.notification-rules .watch-channel-menu{right:0;left:0;width:auto}}
.notification-rules .watch-row :is(.status.paused,.status.is-active){font-size:11px;padding:0;background:transparent;box-shadow:none!important;white-space:nowrap;border-radius:0;flex-shrink:0;max-width:none;margin-right:8px}
.notification-rules .watch-row .status:before{width:5px;height:5px}
.notification-rules .watch-row-footer{display:flex;align-items:center;align-self:start;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin:0;padding:0;border:0;grid-column:2;grid-row:1}
.notification-rules :is(.watch-row-footer button,.watch-details button){display:inline-flex;align-items:center;gap:6px;font-size:12px;min-height:34px;padding:7px 10px;border:1px solid var(--line);border-radius:7px;background:transparent;line-height:1.5;white-space:nowrap}
.notification-rules :is(.watch-row-footer button,.watch-details button):hover{background:var(--pale)}
.notification-rules .watch-row-footer .watch-edit{width:34px;flex-shrink:0;padding:7px;justify-content:center;border-color:transparent}
.notification-rules .watch-row .ui-icon{width:14px;height:14px}
.notification-rules .watch-row>[role="alert"]{grid-column:1/-1;font-size:13px;margin-top:8px}
.notification-rules .watch-details{grid-column:1/-1;min-width:0;border:0;padding:0;margin:0}
.notification-rules .watch-details summary{width:fit-content;cursor:pointer;color:var(--muted);font-size:12px;line-height:1.6;padding:4px 0;list-style:disclosure-closed inside;display:list-item}
.notification-rules .watch-details[open] summary{list-style-type:disclosure-open}
.notification-rules .watch-details-content{display:grid;gap:12px;margin-top:8px;padding-top:12px;border-top:1px solid var(--line)}
.notification-rules :is(.watch-rule-summary,.watch-all-pairs){font-size:12px;line-height:1.8;margin:0;padding:0;overflow-wrap:anywhere;color:var(--muted)}
.notification-rules .watch-details-content strong{font-weight:500;color:var(--ink);margin-right:6px}
.notification-rules .watch-details-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.notification-rules .watch-details button{justify-self:start}
.notification-rules .watch-details .watch-delete{border-color:transparent;color:var(--muted)}
.notification-rules .watch-details .watch-delete:hover{color:var(--ink)}
#view-notifications .signal-list{border-radius:12px;background:var(--white);overflow:hidden}
#view-notifications .signal-item{display:grid;grid-template-columns:30px minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:16px 18px;min-height:0}
#view-notifications .signal-item+.signal-item{border-top:1px solid var(--line)}
#view-notifications .signal-symbol{width:30px;height:30px;border-radius:8px}
#view-notifications .signal-symbol .ui-icon{width:17px;height:17px}
#view-notifications .signal-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}
#view-notifications .signal-item h2{font-size:14px;line-height:1.5;font-weight:650;letter-spacing:-.01em}
#view-notifications .signal-item h2 span{font-size:11px;font-weight:400;margin-left:6px;color:var(--muted)}
#view-notifications .signal-side{margin:0;padding:2px 6px;font-size:10px;line-height:1.5;border-radius:4px}
#view-notifications .signal-validity{display:inline-flex;align-items:center;gap:5px;padding:2px 6px;border-radius:4px;font-size:10px;line-height:1.5;font-weight:500;white-space:nowrap;color:var(--muted);background:rgba(128,128,140,.08)}
#view-notifications .signal-validity-dot{width:6px;height:6px;border-radius:50%;flex:none;background:#8b8b98}
#view-notifications .signal-validity[data-state="valid"]{color:#137b55;background:rgba(19,123,85,.08)}
#view-notifications .signal-validity[data-state="valid"] .signal-validity-dot{background:#179c69}
[data-theme="dark"] #view-notifications .signal-validity[data-state="valid"]{color:#65d5a3;background:rgba(101,213,163,.09)}
[data-theme="dark"] #view-notifications .signal-validity[data-state="valid"] .signal-validity-dot{background:#65d5a3}
#view-notifications .signal-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 6px;margin:5px 0 0;font-size:12px;line-height:1.6;color:var(--muted)}
#view-notifications .signal-meta>span:first-child{color:var(--ink)}
#view-notifications .signal-setup-name{font-size:12px;overflow-wrap:anywhere}
#view-notifications .signal-meta-dot{opacity:.5}
#view-notifications [data-signal-kind="EXPIRED"] .signal-meta{flex-wrap:nowrap;min-width:0}
#view-notifications [data-signal-kind="EXPIRED"] .signal-meta>span:first-child{flex-shrink:0}
#view-notifications [data-signal-kind="EXPIRED"] .signal-setup-name{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#view-notifications .signal-price{text-align:right;font-variant-numeric:tabular-nums;min-width:90px}
#view-notifications .signal-price strong{font-size:14px;line-height:1.5;font-weight:550}
#view-notifications .signal-price-copy{padding:0;background:none;border:0;color:inherit;font:inherit;cursor:copy}
#view-notifications .signal-price-copy:focus-visible{outline:2px solid var(--muted);outline-offset:4px;border-radius:2px}
#view-notifications .signal-price small{display:block;font-size:10px;line-height:1.5;color:var(--muted);margin-top:2px}
#view-notifications .signal-item time{font-size:11px;line-height:1.6;color:var(--muted);white-space:nowrap;margin:0 0 0 8px;font-variant-numeric:tabular-nums}
@media(max-width:1000px){.notification-rules .watch-row{grid-template-columns:minmax(0,1fr);gap:6px}.notification-rules .watch-row-footer{grid-column:1;grid-row:auto;justify-content:flex-start}.notification-rules .watch-row-footer .status{margin-right:auto}#view-notifications .signal-item{grid-template-columns:28px minmax(0,1fr) auto;gap:10px 12px}#view-notifications .signal-item time{grid-column:2/-1;margin:0;font-size:11px}}
@media(max-width:600px){#view-notifications{padding:24px 16px 40px}.notification-rules .watch-row{padding:12px;border-radius:8px}.notification-rules .watch-row-heading{align-items:flex-start}.notification-rules .watch-row :is(.status.paused,.status.is-active){white-space:normal}.notification-rules .watch-row-footer{gap:6px}.notification-rules .watch-row-footer button{min-height:40px;padding:8px 9px;font-size:11px}#view-notifications .signal-item{padding:14px 12px;gap:8px 10px}.notification-setup-actions{gap:6px}#view-notifications .notification-setup-actions button{padding:9px 10px;font-size:12px}}
/* Browser alerts: one aligned row with clearly interactive controls. */
.notification-rules .watch-flexibility{min-width:0;font-size:12px}
.notification-rules .flex-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:32px;color:var(--muted)}
.notification-rules .watch-flexibility:has(.flex-panel:not([hidden])) .flex-summary>span{display:none}
.notification-rules .flex-summary strong{font-weight:500;color:var(--ink)}
.notification-rules .watch-details .flex-summary button{border:0;padding:4px 6px;min-height:32px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.notification-rules .flex-panel{max-width:320px;margin-top:4px}
.notification-rules .flex-slider-row{display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:center;gap:12px}
.notification-rules .flex-slider-row input[type="range"]{display:block;width:100%;min-width:0;height:32px;margin:0;accent-color:var(--accent-ink)}
.notification-rules .flex-slider-row output{text-align:right;font-size:13px;font-weight:500;font-variant-numeric:tabular-nums}
.notification-rules .flex-actions{display:flex;align-items:center;gap:8px;margin-top:4px;flex-wrap:wrap}
.notification-rules .flex-result{color:var(--muted);font-size:12px;margin-right:auto}
.notification-rules .watch-details .flex-actions button{min-height:32px;min-width:56px;justify-content:center;padding:4px 8px;font-size:12px;border:1px solid var(--line);background:transparent;color:var(--ink)}
.notification-rules .flex-error{color:var(--danger,#c63939);font-size:12px;margin:4px 0}
.notification-rules .watch-flexibility button:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}
.notification-rules .flex-slider-row input[type="range"]:focus{outline:none}
.notification-rules .flex-slider-row input[type="range"]:focus-visible::-webkit-slider-thumb{border-radius:50%;box-shadow:0 0 0 3px var(--white),0 0 0 4px var(--accent-ink)}
.notification-rules .flex-slider-row input[type="range"]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--white),0 0 0 4px var(--accent-ink)}
.notification-rules .watch-flexibility button:disabled{opacity:.5}
@media(max-width:600px), (pointer:coarse){.notification-rules .watch-details .flex-summary button,.notification-rules .watch-details .flex-actions button,.notification-rules .flex-slider-row input[type="range"]{min-height:44px}}
.browser-alert-settings {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 8px 16px; padding: 8px 12px; margin-bottom: 18px;
  border: 1px solid var(--line); border-radius: 12px; background: var(--white);
}
.browser-alert-label { font-size: 13px; font-weight: 600; color: var(--ink); }
.browser-alert-label small { font-size: 11px; font-weight: 400; margin-left: 8px; color: var(--muted); }
.browser-alert-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.browser-alert-toggle, .browser-alert-preview {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  min-height: 32px; padding: 5px 9px; border: 1px solid var(--line);
  border-radius: 8px; background: var(--bg); font-size: 12px;
  line-height: 20px; color: var(--ink); cursor: pointer;
  transition: background-color .24s ease, border-color .24s ease, color .24s ease, box-shadow .24s ease, transform .16s ease;
}
.browser-alert-toggle { border-color: transparent; background: transparent; }
.browser-alert-toggle:hover { background: var(--pale); }
.browser-alert-preview:hover { background: var(--pale); border-color: var(--accent-ink); }
.browser-alert-toggle:focus-visible, .browser-alert-preview:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 3px; }
.browser-alert-dot { position: relative; width: 30px; height: 18px; flex: 0 0 30px; border-radius: 99px; background: var(--muted); transition: background-color .24s ease; }
.browser-alert-dot::after { content: ''; position: absolute; width: 12px; height: 12px; top: 3px; left: 3px; border-radius: 50%; background: #fff; transition: transform .26s cubic-bezier(.22, 1, .36, 1), background-color .24s ease; }
.browser-alert-toggle[aria-pressed="true"] .browser-alert-dot { background: var(--accent-ink); }
.browser-alert-toggle[aria-pressed="true"] .browser-alert-dot::after { transform: translateX(12px); }
.browser-alert-preview .ui-icon { display: block; width: 14px; height: 14px; }
.browser-alert-actions button:active:not(:disabled) { transform: scale(.97); }
.browser-alert-actions button:disabled { opacity: .5; cursor: not-allowed; }
.browser-alert-hint { flex-basis: 100%; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.delivery-quiet-times { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.delivery-quiet-times[hidden] { display: none; }
.delivery-quiet-times input, .delivery-quiet-times select {
  min-height: 32px; padding: 4px 8px; border: 1px solid var(--line); border-radius: 8px;
  background: var(--bg); color: var(--ink); font: inherit; font-size: 12px;
}
.delivery-quiet-times select { max-width: 180px; }
.delivery-listing-options { flex-basis: 100%; display: flex; flex-wrap: wrap; gap: 8px 20px; }
.delivery-listing-group { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; padding: 0; border: 0; min-width: 0; }
.delivery-listing-group legend { float: left; margin-right: 4px; color: var(--muted); font-size: 12px; }
.delivery-listing-group label { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 4px 10px; border: 1px solid var(--line); border-radius: 8px; font-size: 12px; cursor: pointer; }
.delivery-listing-group label:has(input:checked) { border-color: var(--accent-ink); background: var(--pale); }
.delivery-listing-group input { accent-color: var(--accent-ink); margin: 0; }
@media (max-width: 600px) {
  .browser-alert-settings { padding: 10px; }
  .delivery-quiet-times { width: 100%; }
  .delivery-quiet-times input, .delivery-quiet-times select { min-height: 40px; flex: 1; max-width: none; }
  .delivery-listing-group label { min-height: 40px; }
  .browser-alert-actions { width: 100%; }
  .browser-alert-toggle, .browser-alert-preview { flex: 1; min-height: 40px; padding-inline: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .browser-alert-toggle, .browser-alert-preview, .browser-alert-dot, .browser-alert-dot::after { transition: none; }
}

/* Keep the visual density while making every mobile control easy to tap. */
@media(max-width:600px), (pointer:coarse){
  .notification-rules .filter-row,.notification-rules .watch-row-footer{gap:8px}
  .notification-rules .filter{min-height:44px}
  .notification-rules :is(.watch-row-footer button,.watch-details button){min-height:44px;min-width:44px;font-size:12px}
  .notification-rules .watch-row-footer .watch-edit{width:44px}
  .notification-rules .watch-details summary{min-height:44px;min-width:44px}
  .notification-rules .watch-setup-meta{font-size:13px}
  .notification-rules :is(.watch-rule-summary,.watch-all-pairs){font-size:13px}
}
/* Shared alignment and subtle feedback for notification controls. */
.notification-rules .watch-title-line .status{margin:0;line-height:1.5}
.notification-rules .watch-row-footer>button>.ui-icon{display:block;flex:none}
#main .notification-rules .watch-channel-picker>summary:hover{background:var(--pale)}
#main .watch-channel-picker>summary,.notification-rules .watch-row-footer>button,.notification-content .channel-option button,.watch-channel-menu>label{transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}
#main .watch-channel-picker>summary:active,.notification-rules .watch-row-footer>button:active:not(:disabled){transform:translateY(1px)}
#main .watch-channel-picker>summary>.watch-channel-chevron{transition:transform .18s ease}
#main .watch-channel-picker[open]>summary>.watch-channel-chevron{transform:rotate(180deg)}
.watch-channel-picker[open]>.watch-channel-menu,.watch-details[open]>.watch-details-content{animation:notification-reveal .16s ease-out}
.watch-channel-menu>label{border-radius:4px}
.watch-channel-menu>label:hover{background:var(--pale)}
@keyframes notification-reveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.notification-rules .watch-title-line{min-height:0}.notification-rules .watch-row-footer{justify-content:flex-start;gap:8px}.notification-rules .watch-details{margin-top:2px}}
@media(max-width:600px),(pointer:coarse){#main .notification-rules .watch-channel-picker>summary{min-height:44px}}
@media(prefers-reduced-motion:reduce){#main .watch-channel-picker>summary,#main .watch-channel-picker>summary>.watch-channel-chevron,.notification-rules .watch-row-footer>button,.notification-content .channel-option button,.watch-channel-menu>label{transition:none}.watch-channel-picker[open]>.watch-channel-menu,.watch-details[open]>.watch-details-content{animation:none}}
@media(max-width:600px){
  #view-notifications .notification-heading{flex-direction:column;align-items:stretch;gap:12px}
  #view-notifications .notification-heading p{max-width:none;margin-top:4px}
  #view-notifications .notification-setup-actions{flex-wrap:nowrap;gap:8px}
  #view-notifications .notification-setup-actions button{min-height:40px;flex:none}
  .notification-content .channel-option button{min-height:40px;height:40px}
  .notification-rules .watch-title-line{gap:4px 8px}
}
@media(min-width:601px) and (max-width:1000px){
  #view-notifications .notification-heading{flex-direction:column;align-items:stretch;gap:12px}
  #view-notifications .notification-setup-actions{flex-wrap:nowrap;gap:8px}
}
@media(max-width:600px){
  #view-notifications .notification-heading>button{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;font-size:12px;min-height:32px;padding:5px 9px}
  .browser-alert-actions{gap:4px;justify-content:space-between}
  .browser-alert-toggle,.browser-alert-preview{flex:0 0 auto;gap:4px;padding:5px 4px;font-size:11px;white-space:nowrap}
  .browser-alert-dot{width:26px;height:16px;flex-basis:26px}
  .browser-alert-dot::after{top:2px;left:2px}
  .browser-alert-toggle[aria-pressed="true"] .browser-alert-dot::after{transform:translateX(10px)}
}
/* presets.css */
.preset-composer-footer{display:flex;justify-content:flex-end;flex:none;width:100%;max-width:780px;align-self:center;box-sizing:border-box;padding:8px 2px 2px}
.workbench[data-tab="split"] .preset-composer-footer{display:none}
.workbench #conversation:has(#messages .chat-empty):not(:has(#messages .message)) .preset-composer-footer{margin-top:-24px}
.workbench:is([data-tab="chat"],[data-tab="split"]) #conversation:has(#messages .chat-empty):not(:has(#messages .message)){padding-bottom:var(--chat-empty-bottom-space,clamp(36px,calc(100dvh - 560px),260px))}
@media(max-height:600px){.workbench #conversation:has(#messages .chat-empty):not(:has(#messages .message)) .preset-composer-footer{margin-top:-16px}}
.chat-composer{position:relative}
.preset-launch{display:inline-flex;align-items:center;gap:7px;border:1px solid #343538;border-radius:20px;background:#18191b;color:#dedfe1;padding:7px 13px;font-size:12px;cursor:pointer}
.preset-launch:hover{border-color:#bade35;color:#d8ff4c}
.preset-picker{width:min(780px,calc(100vw - 32px));max-height:86dvh;padding:24px;background:#161719;color:#eee;border:1px solid #35363a;border-radius:22px;overflow:auto;box-shadow:0 30px 100px #0009}
.preset-picker::backdrop{background:#0009;backdrop-filter:blur(5px)}
.preset-picker header,.preset-chat-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.preset-picker header small{font-size:10px;letter-spacing:.15em;color:#c6e948}
.preset-picker h2{margin:5px 0 6px;font-size:25px}.preset-picker header p{color:#a8abb2;margin:0 0 20px;font-size:13px}
.preset-grid-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.preset-option{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid #303237;border-radius:16px;background:#1c1e21;color:#f0f0f2;padding:16px;cursor:pointer;transition:border-color .16s,background .16s,transform .16s}
.preset-option:hover{border-color:#aac939;background:#22261d;transform:translateY(-2px)}
.preset-option:focus-visible,.preset-launch:focus-visible,.preset-pair:focus-visible{outline:2px solid #d3fa41;outline-offset:3px}
.preset-option svg{width:100%;height:64px;margin:12px 0 10px;overflow:hidden}.preset-option svg path{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.preset-grid{stroke:#303438;stroke-width:1!important}.preset-reference{stroke:#7c848e;stroke-dasharray:4 4}.preset-price{stroke:#d1f643}
.preset-option strong{font-size:15px;margin-bottom:7px}.preset-option>span:not(.preset-tag){font-size:12px;line-height:1.6;color:#b4b7bd}.preset-option>small{margin-top:auto;padding-top:12px;color:#8d9299;font-size:11px}
.preset-tag{display:inline-flex;color:#c7dd8b;font-size:10px;letter-spacing:.05em;background:#2b3022;border-radius:6px;padding:3px 7px;line-height:1.6}
.preset-disclaimer{font-size:11px;color:#999da5;margin:16px 0 0}
.preset-chat-card{max-width:620px;width:100%;box-sizing:border-box;background:#1a1c1f;border:1px solid #34363b;border-radius:18px;padding:20px;margin:14px 0 18px;color:#eceef1}
.preset-chat-card h3{font-size:19px;margin:12px 0 6px}.preset-chat-card p{font-size:13px;line-height:1.65;margin:8px 0 16px;color:#b0b4bc}.preset-chat-card header .text-button{font-size:12px;padding:2px 0}.preset-status{font-size:11px;color:#b8cd83}
.preset-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.preset-chat-card label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#bdc1ca;margin:10px 0}.preset-chat-card select,.preset-chat-card input[type=search]{width:100%;box-sizing:border-box;border:1px solid #383b40;border-radius:10px;background:#111315;color:#eceef1;padding:11px;font-size:14px;min-height:42px}
.preset-chat-card fieldset{border:0;padding:0;margin:14px 0}.preset-chat-card legend{font-size:12px;color:#c7cbd2;margin-bottom:4px}.preset-side{display:flex;gap:8px}.preset-side label{flex-direction:row;align-items:center;gap:7px;border:1px solid #373b41;border-radius:10px;padding:10px 12px;margin:6px 0}.preset-side label:has(:checked){border-color:#a5c632;color:#d4f44a}.preset-side input,.preset-destinations input{accent-color:#d4f44a}
.preset-pairs{display:flex;gap:6px;flex-wrap:wrap;max-height:170px;overflow:auto;margin:12px 0}.preset-pair{background:#22252a;border:1px solid #3a3e45;border-radius:8px;padding:8px 10px;font-size:12px;color:#d1d5dc;cursor:pointer}.preset-pair[aria-pressed=true]{border-color:#c5ed40;background:#303923;color:#ddfa75}
.preset-chat-card footer{display:flex;gap:8px;justify-content:flex-end;margin-top:18px;padding-top:14px;border-top:1px solid #30343a}.preset-chat-card footer button,.preset-activation button{font-size:12px;min-height:38px;padding:9px 14px;border-radius:10px}.preset-chat-card details{margin-top:14px}.preset-chat-card summary{font-size:13px;cursor:pointer;color:#d0d5df}.preset-review-text{white-space:pre-wrap;font-size:13px;line-height:1.8;background:#131517;border:1px solid #2e3237;border-radius:10px;padding:12px;margin-top:12px;overflow-wrap:anywhere}.preset-chat-card .preset-inline-note{font-size:12px;line-height:1.7;color:#a6acb7;margin:12px 0}.preset-destinations label{flex-direction:row;align-items:center}.preset-destinations>span{display:block}.preset-destinations .text-button{padding:7px 0;font-size:12px}.preset-activation{border-top:1px solid #30343a;margin-top:14px;padding-top:4px;display:flex;align-items:center;gap:15px}.preset-activation p{margin:8px 0;flex:1;font-size:12px}.preset-activation button{flex-shrink:0}.preset-chat-card .preset-error{color:#ffb5b5;background:#422326;padding:10px;border-radius:9px;font-size:12px}
@media(max-width:640px){.preset-grid-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.preset-picker{padding:16px}.preset-option{padding:12px}.preset-chat-card{padding:16px}.preset-fields{gap:9px}.preset-side{flex-wrap:wrap}.preset-activation{flex-direction:column;align-items:stretch}.preset-chat-card footer{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.preset-option{transition:none}.preset-option:hover{transform:none}}
/* Audience first; indicator details continue in the chat card. */
.preset-picker{width:min(900px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:18px}
.preset-picker header>div{display:grid;gap:4px}.preset-picker header{margin-bottom:14px}
.preset-picker h2{font-size:24px;line-height:1.3;margin:0}.preset-picker header p{margin:0}.preset-picker header small{display:block;line-height:1.3}
.preset-picker .preset-filters{display:flex;flex-direction:row;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.preset-filters button{border:1px solid #35383d;background:transparent;color:#aeb4bf;border-radius:20px;padding:6px 12px;font-size:12px;cursor:pointer}
.preset-filters button[aria-pressed=true]{color:#ddf891;background:#2c3321;border-color:#637a29}
.preset-filters button:focus-visible{outline:2px solid #d3fa41;outline-offset:2px}
.preset-option{padding:14px}.preset-option[hidden]{display:none}
.preset-card-top{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px}.preset-level{font-size:10px;color:#adb4c1}
.preset-option svg{height:34px;margin:6px 0 8px}
.preset-option strong{margin-top:12px;margin-bottom:6px;font-size:16px}
.preset-option>span.preset-audience{font-size:13px;line-height:1.55;color:#e0e4ea}
.preset-option>span.preset-pace{font-size:11px;line-height:1.55;color:#aeb5c0;margin-top:5px}
.preset-option>span.preset-caution{font-size:11px;line-height:1.5;color:#bdac8c;margin-top:9px;padding-top:8px;border-top:1px solid #30343a;width:100%}
.preset-option>small{padding-top:9px;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;font-size:10px}
.preset-leverage-guide{margin-top:14px;font-size:12px;color:#b9bec7;border-top:1px solid #30343a;padding-top:12px}
.preset-picker .preset-leverage-guide summary{cursor:pointer;color:#d2d7df;font-size:12px;line-height:1.5;padding:0;min-height:0}.preset-leverage-guide p{font-size:12px;line-height:1.65;margin:8px 0}.preset-leverage-guide a{color:#c5dc90;font-size:11px}
.preset-next-hint{font-size:12px;color:#c3c9d3;margin:12px 0 0}.preset-disclaimer{font-size:10px;line-height:1.6;margin-top:6px;color:#949ba7}
.preset-chat-card p.preset-profile-intro{color:#d2d7df;margin-bottom:14px}.preset-chat-card .preset-method{margin:10px 0;border:0}.preset-chat-card .preset-method summary{font-size:12px;color:#b8c39d;padding:4px 0;min-height:28px}.preset-method p{font-size:12px;margin:8px 0}
.preset-wizard footer{border-top:0;padding-top:0;margin-top:20px}
@media(max-width:640px){.preset-picker{padding:16px}.preset-option{padding:12px}.preset-option strong{font-size:14px}.preset-card-top{align-items:flex-start;flex-direction:column;gap:4px}.preset-option>span.preset-audience{font-size:12px}.preset-option>span.preset-caution{font-size:10px}.preset-level{font-size:10px}}
@media(max-width:390px){.preset-grid-cards{grid-template-columns:1fr}.preset-card-top{flex-direction:row}}

/* Visual selection cards, with deeper guidance on demand. */
.preset-picker{width:min(940px,calc(100vw - 32px));padding:24px;background:#17181b;border-color:#34363b;border-radius:24px}
.preset-picker header{margin-bottom:16px}.preset-picker header>div{gap:7px}
.preset-picker h2{font-size:27px;letter-spacing:-.5px}.preset-picker header p{font-size:13px;color:#a2a7b1}
.preset-picker .preset-filters{margin-bottom:14px;gap:7px}.preset-filters button{padding:6px 13px;background:#1c1e22}
.preset-grid-cards{gap:14px;align-items:stretch}
.preset-tile{position:relative;min-width:0;--preset-tone:#d7f66c;--preset-glow:rgba(180,211,90,.12)}
.preset-tile[hidden]{display:none}
.preset-tile[data-preset-tile="cross"]{--preset-tone:#b9c7fb;--preset-glow:rgba(140,155,215,.12)}
.preset-tile[data-preset-tile="momentum"]{--preset-tone:#77dac0;--preset-glow:rgba(70,175,145,.12)}
.preset-tile[data-preset-tile="rebound"]{--preset-tone:#d0b5ef;--preset-glow:rgba(157,119,202,.12)}
.preset-tile[data-preset-tile="bands"]{--preset-tone:#91c9ee;--preset-glow:rgba(87,151,195,.12)}
.preset-tile[data-preset-tile="supertrend"]{--preset-tone:#e8c18b;--preset-glow:rgba(190,151,90,.12)}
.preset-tile .preset-option{width:100%;height:100%;min-height:216px;padding:18px;border:1px solid #33363c;border-radius:18px;background:linear-gradient(150deg,#202227,#1b1d21);position:relative;overflow:hidden;transform:none}
.preset-tile .preset-option:hover{border-color:var(--preset-tone);background:linear-gradient(150deg,#24272b,#1d2022);transform:translateY(-2px)}
.preset-tile .preset-option:focus-visible{outline-color:var(--preset-tone)}
.preset-tile .preset-tag{background:#ffffff06;border:1px solid #ffffff12;color:#bcc3cf;font-size:10px;padding:2px 7px;line-height:1.5}
.preset-info{position:absolute;right:16px;top:17px;display:grid;place-items:center;border:1px solid #737b8960;border-radius:50%;width:20px;height:20px;background:transparent;color:#9da6b4;font:12px Georgia,serif;cursor:pointer;z-index:1;transition:color .15s,border-color .15s}
.preset-info:hover{color:var(--preset-tone);border-color:var(--preset-tone)}.preset-info:focus-visible{outline:2px solid var(--preset-tone);outline-offset:3px}
.preset-art{width:100%;height:60px;margin:6px 0 10px;position:relative;background:radial-gradient(ellipse at 65% 65%,var(--preset-glow),transparent 70%);border-radius:10px}
.preset-tile .preset-option svg{width:100%;height:100%;margin:0;overflow:visible}
.preset-art svg path,.preset-detail-art svg path{fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.preset-art .preset-grid,.preset-detail-art .preset-grid{stroke:#ffffff07;stroke-width:1}
.preset-main-line{stroke:var(--preset-tone,#d7f66c)}.preset-secondary-line{stroke:#7b8494;opacity:.65}.preset-accent-line{stroke:#969b78;opacity:.6}.preset-threshold{stroke:#7e8791;stroke-dasharray:4 6;opacity:.5}
.preset-art path.preset-band-fill,.preset-detail-art path.preset-band-fill{fill:var(--preset-glow,rgba(170,200,90,.12));stroke:none}
.preset-halo{fill:var(--preset-tone,#d7f66c);opacity:.13}.preset-dot{fill:var(--preset-tone,#d7f66c)}
.preset-tile .preset-option strong{margin:0;font-size:17px;line-height:1.5;color:#eff1f5;font-weight:650;letter-spacing:-.15px}
.preset-tile .preset-option>span.preset-caption{margin-top:5px;color:#aeb6c3;font-size:12px;line-height:1.6}
.preset-tile .preset-option>span.preset-card-bottom{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:auto;padding-top:12px;font-size:12px;color:#d0d6df;line-height:1.5}
.preset-time-label{color:#7f8999;font-size:10px;margin-left:2px}.preset-card-arrow{display:grid;place-items:center;border-radius:50%;width:24px;height:24px;background:#ffffff05;color:#8c96a6;font-size:15px;transition:background .15s,color .15s}
.preset-option:hover .preset-card-arrow{background:var(--preset-glow);color:var(--preset-tone)}
.preset-picker .preset-picker-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0;margin-top:14px;border:0;background:none;min-height:24px}
.preset-picker-footer>span{color:#8f98a7;font-size:11px;line-height:1.6}.preset-picker-footer button{color:#b7bfcc;font-size:11px;border:0;padding:3px 0;background:none;cursor:pointer;white-space:nowrap}.preset-picker-footer button:hover{color:#d8ef9c}
.preset-detail-dialog{--preset-tone:#d7f66c;--preset-glow:rgba(180,211,90,.12);width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;box-sizing:border-box;padding:24px;background:#1b1d21;color:#e8ecf2;border:1px solid #41454d;border-radius:22px;box-shadow:0 30px 100px #0008}
.preset-detail-dialog::backdrop{background:#0006;backdrop-filter:blur(4px)}.preset-detail-dialog header{display:flex;justify-content:space-between;align-items:center}
.preset-detail-art{height:85px;margin:18px 0 14px;background:radial-gradient(ellipse,var(--preset-glow),transparent 75%)}.preset-detail-art svg{width:100%;height:100%}
.preset-detail-dialog h2{font-size:23px;margin:14px 0 7px;line-height:1.4}.preset-detail-dialog p{font-size:13px;line-height:1.8;color:#bbc3cf;margin:10px 0}.preset-detail-dialog .preset-detail-audience{color:#e0e6ee}
.preset-detail-dialog dl{margin:20px 0}.preset-detail-dialog dl>div{margin:16px 0}.preset-detail-dialog dt{font-size:11px;color:#8994a4;margin-bottom:5px}.preset-detail-dialog dd{margin:0;font-size:13px;line-height:1.8;color:#c8d0dc}.preset-detail-dialog>small{display:block;font-size:10px;line-height:1.7;color:#8f99a8}.preset-detail-dialog>.primary{width:100%;margin-top:20px;border-radius:12px;padding:12px;font-size:13px}.preset-detail-dialog>a{font-size:12px;color:#c9df93}
@media(max-width:640px){.preset-picker{padding:18px;border-radius:20px}.preset-picker h2{font-size:23px}.preset-grid-cards{gap:10px}.preset-tile .preset-option{padding:14px;min-height:215px}.preset-tile .preset-option strong{font-size:15px}.preset-tile .preset-option>span.preset-caption{font-size:11px}.preset-info{top:14px;right:12px}.preset-picker .preset-picker-footer{align-items:flex-start}.preset-picker-footer>span{max-width:65%}}
@media(prefers-reduced-motion:reduce){.preset-tile .preset-option:hover{transform:none}.preset-info,.preset-card-arrow{transition:none}}

/* Conversation setup component: summary first, one next action per state. */
.preset-saved-card,.setup-proposal-card{--card-muted:var(--muted);width:100%;max-width:660px;padding:20px;background:var(--white);border:1px solid var(--line);border-radius:16px;color:var(--ink);overflow:hidden}
.setup-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:0 0 14px}
.setup-card-title{min-width:0}.setup-card-eyebrow{display:block;font-size:11px;line-height:1.5;color:var(--card-muted);letter-spacing:.03em}
.preset-saved-card .setup-card-heading h3,.setup-proposal-card .setup-card-heading h3{margin:5px 0 0;font-size:20px;font-weight:650;line-height:1.4;overflow-wrap:anywhere}
.setup-card-status{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:5px 8px;border:1px solid var(--line);border-radius:7px;color:var(--card-muted);font-size:11px;line-height:1.5}
.setup-card-status>span{width:5px;height:5px;border-radius:50%;background:currentColor}.setup-card-status[data-active=true]{color:var(--accent-ink);border-color:color-mix(in srgb,var(--accent-ink) 35%,var(--line));background:color-mix(in srgb,var(--lime) 8%,var(--white))}
.setup-card-market{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:12px;line-height:1.6;color:var(--card-muted);margin-bottom:18px}.setup-card-market strong{color:var(--ink);font-weight:550}
.setup-card-conditions{display:grid;gap:0;margin:0;padding:4px 14px;border:1px solid var(--line);background:color-mix(in srgb,var(--pale) 55%,var(--white));border-radius:10px}
.setup-card-condition{display:grid;grid-template-columns:85px minmax(0,1fr);gap:14px;align-items:baseline;padding:11px 0}.setup-card-condition+.setup-card-condition{border-top:1px solid color-mix(in srgb,var(--line) 60%,transparent)}
.setup-card-condition dt{font-size:12px;font-weight:500;color:var(--card-muted);line-height:1.75}.setup-card-condition dt small{display:block;font-size:10px}.setup-card-condition dd{margin:0;font-size:13px;line-height:1.75;color:var(--ink);overflow-wrap:anywhere}.setup-card-condition[data-tone=cooldown] dd{color:var(--card-muted);font-size:12px}
.preset-saved-card .setup-card-channels{margin:14px 0 0;border:0;padding:0;background:transparent}
.preset-saved-card .setup-card-channels>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;min-height:32px;font-size:12px;color:var(--ink);list-style:none;cursor:pointer}
.setup-card-channel-preview{color:var(--card-muted);display:flex;align-items:center;gap:10px}.setup-card-channel-preview:after{content:'⌄';font-size:15px;transition:transform .2s}.setup-card-channels[open] .setup-card-channel-preview:after{transform:rotate(180deg)}
.preset-saved-card .preset-destinations{padding:4px 12px 10px;margin:0;background:var(--pale);border-radius:8px}.preset-saved-card .preset-destinations label{color:var(--ink);min-height:32px;margin:4px 0}.preset-saved-card .preset-destinations .preset-inline-note{margin:6px 0;color:var(--card-muted)}
.preset-saved-card .setup-card-footer,.setup-proposal-card .setup-card-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:14px;margin-top:12px;border-top:1px solid var(--line)}
.setup-card-footnote{font-size:11px;line-height:1.6;color:var(--card-muted);flex:1;min-width:130px}.setup-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.setup-card-actions button{font-size:12px;min-height:40px;padding:9px 14px;border-radius:9px;margin:0;white-space:nowrap}
.preset-saved-card .setup-card-error{margin:12px 0 0;font-size:12px;line-height:1.7;padding:10px 12px;color:#a3292f;background:#fff0ef;border:1px solid #e5b9b6;border-radius:8px}.setup-card-error[hidden]{display:none}
[data-theme=dark] .preset-saved-card .setup-card-error{color:#ffc0b8;background:#352322;border-color:#65403c}
.setup-card-actions button:focus-visible,.setup-card-channels summary:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px}
#main .preset-saved-card .setup-card-channels>summary{display:flex;list-style:none;padding:8px 0;color:var(--ink)}
#main .preset-saved-card .setup-card-channels>summary>span{display:inline-flex;font-size:12px}
#main .preset-saved-card .setup-card-channels>summary::-webkit-details-marker{display:none}
#main .preset-saved-card .setup-card-channels>summary::before{display:none}
.setup-proposal-card .setup-card-changes{margin-top:12px}.setup-proposal-card .setup-card-changes>summary{font-size:12px;cursor:pointer;padding:8px 0}
#messages .setup-change-card { box-sizing:border-box; margin-block:12px 20px; }
#messages .setup-proposal-card .setup-card-changes { margin-top:16px; border:0; border-top:1px solid var(--line); }
#messages .setup-proposal-card .setup-card-changes>summary { padding:12px 0 0; }
#messages .setup-proposal-card .setup-card-footer { border:0; margin-top:0; padding-top:16px; gap:12px; }
#messages .setup-change-card:not(.setup-proposal-card)>details { border:0; }
.setup-card-join{font-size:12px;color:var(--card-muted);margin-right:4px}
.preset-pair-summary,.preset-catalog-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;color:#b4b9c3;font-size:12px}
.preset-chat-card .preset-pair-summary .text-button,.preset-chat-card .preset-catalog-footer .text-button{color:#c6df88}
.preset-selected-pairs{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.preset-selected-pair{padding:5px 9px;border:1px solid #627735;border-radius:8px;background:#29301e;color:#e0efbf;font-size:12px;transition:background .2s,border-color .2s,transform .2s}
.preset-selected-pair span{margin-left:5px;color:#acbd8c}
.preset-pair{transition:background .2s,color .2s,border-color .2s,transform .2s}
.preset-pair:active,.preset-selected-pair:active{transform:scale(.97)}
.preset-pair:focus-visible,.preset-selected-pair:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
@media(prefers-reduced-motion:reduce){.preset-pair,.preset-selected-pair{transition:none;transform:none}}
@media(max-width:640px){.preset-saved-card,.setup-proposal-card{padding:16px}.setup-card-heading{flex-direction:column;gap:9px}.setup-card-market{gap:5px 12px;margin-bottom:14px}.setup-card-condition{grid-template-columns:70px minmax(0,1fr);gap:10px}.setup-card-condition dd{font-size:14px}.setup-card-actions{width:100%}.setup-card-actions button{flex:1;min-height:44px}.setup-card-footnote{flex-basis:100%}}
/* setup-studio.css */
/* The studio owns its viewport; each inspector scrolls independently. */
.studio-inspector-tabs {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex: none;
  margin: 0 0 10px;
}
.studio-workspace-header[hidden],
.studio-inspector-tabs[hidden] {
  display: none;
}
.conversation-actions .studio-workspace-header {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 4px;
  min-width: 0;
  margin: 0;
}
.conversation-actions .studio-workspace-header[hidden] {
  display: none;
}
.studio-draft-status {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 11px;
  line-height: 14px;
  color: var(--muted);
  white-space: nowrap;
}
.studio-draft-status[hidden] { display: none; }
.studio-name-field { position: relative; }
.workbench-toolbar .conversation-title-button {
  position: relative;
  padding-inline: 28px;
}
.workbench-toolbar .conversation-title-button .ui-icon {
  position: absolute;
  right: 8px;
}
@media (min-width: 651px) {
  .home-view .workbench-toolbar {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .workbench-toolbar .mobile-design-tabs { justify-self: start; }
  .workbench-toolbar .conversation-actions { justify-self: end; width: max-content; }
}
@media (max-width: 1279px) {
  .conversation-actions .studio-workspace-header { display: none; }
}
.studio-workspace-header button,
.studio-inspector-tabs button,
.studio-chart-toolbar button,
.studio-condition-actions button,
.studio-legend-item,
.studio-operand-inspector button {
  min-height: 44px;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 12px;
}
.studio-inspector-tabs {
  justify-content: flex-end;
  flex-direction: row;
}
.studio-inspector-tabs button[aria-pressed="true"],
.studio-timeframes button[aria-pressed="true"] {
  background: var(--pale);
  color: var(--ink);
  box-shadow: inset 0 0 0 1px var(--line);
}
body:has(#view-home:not([hidden]) .workbench[data-tab="split"]:not([hidden])) {
  overflow: hidden;
}
body:has(#view-home:not([hidden]) .workbench[data-tab="split"]:not([hidden]))
  .main-shell {
  height: 100dvh;
  overflow: hidden;
}
body:has(#view-home:not([hidden]) .workbench[data-tab="split"]:not([hidden]))
  #main {
  flex: 1;
  min-height: 0;
  overflow: hidden;
}
#view-home:has(.workbench[data-tab="split"]:not([hidden])) {
  height: 100%;
  display: flex;
  flex-direction: column;
  padding-block: 6px 20px;
}
.workbench[data-tab="split"]:not([hidden]) {
  flex: 1;
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr) 340px;
  grid-template-rows: minmax(0, 1fr);
  gap: 12px;
  min-height: 0;
  height: auto;
  overflow: hidden;
  align-items: stretch;
}
.workbench[data-tab="split"] .setup-pane {
  display: contents;
  view-transition-name: none;
}
.workbench[data-tab="split"] #conversation {
  grid-column: 1;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  overflow: hidden;
  position: relative;
  top: auto;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-sizing: border-box;
  background: var(--white);
}
.workbench[data-tab="split"] #messages {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 0 4px 12px;
  overscroll-behavior: contain;
}
/* Let the scroll track reach the card border while retaining the text inset. */
.workbench[data-tab="split"] #messages:has(.message) {
  margin-inline: -12px;
  max-width: none;
  padding-inline: 16px;
}
.workbench[data-tab="split"] .chat-composer {
  flex: none;
  max-height: 42%;
  overflow: auto;
  margin-top: 8px;
}
.workbench[data-tab="split"] .setup-studio {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
}
.workbench[data-tab="split"] .setup-studio > header {
  flex: none;
  padding: 12px;
  flex-wrap: wrap;
  gap: 8px;
}
.workbench[data-tab="split"] .setup-studio > header strong {
  font-size: 12px;
}
.workbench[data-tab="split"] .setup-studio > header p {
  font-size: 11px;
}
.workbench[data-tab="split"] .studio-canvas {
  flex: 1;
  height: auto;
  min-height: 120px;
  width: 100%;
}
.workbench[data-tab="split"] .design-panel {
  grid-column: 3;
  grid-row: 1;
  min-height: 0;
  height: 100%;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 14px;
  overscroll-behavior: contain;
  background: var(--white);
  box-sizing: border-box;
}
.workbench[data-tab="split"] .design-body {
  padding: 14px;
}
.workbench[data-tab="split"] .design-toolbar {
  position: sticky;
  top: 0;
  background: var(--white);
  z-index: 2;
  padding: 12px;
}
.studio-chart-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  padding: 0 12px 8px;
  flex: none;
}
.studio-timeframes {
  display: flex;
  flex-wrap: nowrap;
  min-width: 0;
  overflow-x: auto;
  gap: 2px;
}
.studio-timeframes button {
  padding-inline: 8px;
  flex: none;
}
.studio-chart-toolbar {
  flex-wrap: nowrap;
}
.studio-chart-toolbar > button {
  flex: none;
}
.workbench[data-tab="split"] .chart-legend {
  max-height: 70px;
  overflow: auto;
  gap: 4px;
  padding: 0 12px 6px;
  flex: none;
}
.studio-legend-item {
  background: transparent;
  border: 1px solid var(--line);
  text-align: left;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.studio-legend-chip {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
}
.studio-legend-chip .studio-legend-item {
  border: 0;
  color: inherit;
  padding-right: 4px;
}
.studio-legend-chip .studio-legend-remove {
  flex: none;
  min-height: 44px;
  width: 32px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 16px;
}
.studio-legend-chip .studio-legend-remove:hover {
  color: var(--ink);
  background: var(--pale);
}
.workbench[data-tab="split"] .replay-controls {
  padding: 6px 12px;
  flex: none;
  gap: 4px;
}
.workbench[data-tab="split"] .replay-controls button {
  min-height: 44px;
  padding: 6px;
  font-size: 11px;
}
.workbench[data-tab="split"] .chart-disclaimer,
.workbench[data-tab="split"] .chart-credit {
  padding: 4px 12px;
  font-size: 10px;
  flex: none;
}
.workbench[data-tab="split"] .chart-evidence {
  margin: 0 12px;
  font-size: 12px;
  max-height: 150px;
  overflow: auto;
  flex: none;
}
.studio-setup-settings,
.studio-setup-details,
.studio-original-editor {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 10px;
  margin-bottom: 12px;
}
.studio-setup-settings > summary,
.studio-setup-details > summary,
.studio-original-editor > summary {
  cursor: pointer;
  font-size: 12px;
  min-height: 32px;
  align-content: center;
}
.studio-setup-settings[open] > summary {
  margin-bottom: 12px;
}
.studio-setup-settings {
  padding: 0;
  border: 0;
}
.workbench[data-tab="split"] .design-body > .studio-name-field {
  display: block;
  margin: 0 0 12px;
  font-size: 12px;
}
.studio-name-field input {
  display: block;
  width: 100%;
  min-height: 44px;
  margin-top: 6px;
}
.studio-setup-settings .exchange-fieldset {
  margin-top: 0;
}
.studio-setup-settings .exchange-fieldset .exchange-choices {
  flex-wrap: nowrap;
  gap: 6px;
  overflow-x: auto;
  padding: 4px;
  margin: 4px -4px 8px;
}
.studio-setup-settings .exchange-fieldset .exchange-choices label {
  flex: 0 0 auto;
  white-space: nowrap;
  gap: 6px;
  padding: 6px 8px;
  border-radius: 10px;
  font-size: 13px;
}
.studio-setup-settings .exchange-check {
  width: 16px;
  height: 16px;
  flex-basis: 16px;
  border-radius: 5px;
}
.studio-setup-settings > label {
  display: block;
  margin-block: 12px;
}
.studio-setup-settings .setup-direction-spot,
.studio-setup-settings [data-pair-availability][hidden] {
  display: none;
}
.studio-setup-settings .pair-control {
  margin-bottom: 12px;
}
.studio-setup-settings > label select {
  display: block;
  width: 100%;
  margin-top: 6px;
}
.studio-toolbar-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
  min-width: 0;
}
.studio-toolbar-meta .saved-label {
  display: none;
}
.design-toolbar .studio-toolbar-meta [data-draft-status] {
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.4;
  margin: 0;
  padding: 4px 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--pale);
  color: var(--muted);
  max-width: 200px;
  overflow-wrap: anywhere;
}
.studio-toolbar-meta [data-draft-status]::before {
  display: none;
}
.studio-toolbar-meta [data-draft-status][data-state="saved"] {
  color: var(--muted);
}
.studio-overview-heading,
.studio-condition-card > div:first-child,
.studio-operand-inspector > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.studio-overview-heading h3 {
  font-size: 14px;
  margin: 4px 0;
}
.studio-overview-heading > span,
.studio-condition-card small {
  font-size: 11px;
  color: var(--muted);
}
.studio-filter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 12px;
  gap: 8px;
  margin: 10px 0;
}
.studio-filter select {
  width: auto;
  min-height: 44px;
}
.studio-condition-card {
  border: 1px solid var(--line);
  border-radius: 10px;
  margin: 8px 0 8px calc(var(--condition-depth) * 8px);
  padding: 10px;
  background: var(--white);
}
.studio-condition-card.selected {
  border-color: var(--accent-ink, var(--ink));
  background: var(--pale);
}
.studio-condition-card p {
  font-size: 12px;
  margin: 8px 0;
  overflow-wrap: anywhere;
  line-height: 1.6;
}
.studio-truth {
  font-size: 10px;
  white-space: nowrap;
  color: var(--muted);
}
.studio-truth[data-truth="TRUE"] {
  color: var(--accent-ink, #16725e);
}
.studio-condition-actions {
  display: flex;
  gap: 4px;
  margin-top: 8px;
  flex-wrap: wrap;
}
.studio-condition-actions button {
  background: var(--pale);
  flex: 1;
  padding-inline: 6px;
}
.studio-operand-inspector {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px;
  margin-block: 12px;
  background: var(--bg);
}
.studio-operand-inspector[hidden] {
  display: none;
}
.studio-operand-inspector h3 {
  font-size: 13px;
  margin: 0;
  overflow-wrap: anywhere;
}
.studio-operand-inspector label,
.studio-dialog label {
  display: block;
  font-size: 12px;
  margin: 10px 0;
}
.studio-operand-inspector input,
.studio-operand-inspector select {
  width: 100%;
  box-sizing: border-box;
  min-height: 44px;
}
.studio-operand-inspector .condition-line {
  display: flex;
  flex-direction: column;
}
.studio-operand-inspector .operand-fields {
  grid-template-columns: minmax(0, 1fr);
}
.studio-indicator-badge {
  font-size: 11px;
  color: var(--muted);
}
.studio-indicator-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.studio-indicator-actions button {
  padding-inline: 8px;
}
.studio-indicator-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
  gap: 8px;
}
.studio-indicator-fields > label {
  min-width: 0;
  margin: 8px 0 0;
}
.studio-indicator-badge {
  margin: 4px 0;
}
[data-indicator-error]:empty {
  display: none;
}
/* Compact the embedded editor, without changing the standalone designer or dialogs. */
.workbench[data-tab="split"] .design-body > details {
  margin: 8px 0;
}
.workbench[data-tab="split"] .design-body > details > summary {
  min-height: 44px;
  align-content: center;
}
.workbench[data-tab="split"] .studio-setup-details,
.workbench[data-tab="split"] .studio-original-editor {
  padding: 0 10px;
}
.workbench[data-tab="split"] .design-body .setup-section {
  padding-block: 12px;
}
.workbench[data-tab="split"] .design-body .operand-block {
  padding: 10px;
}
.workbench[data-tab="split"] .design-body .operand-title {
  margin-bottom: 8px;
}
.workbench[data-tab="split"] .design-body .operand-fields,
.workbench[data-tab="split"] .design-body .condition-line {
  gap: 8px;
}
.workbench[data-tab="split"] .studio-operand-inspector .operand-fields {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
}
.workbench[data-tab="split"] .studio-operand-inspector .operand-fields > label {
  min-width: 0;
  margin: 4px 0;
}
.workbench[data-tab="split"] .design-body .rule-review {
  padding-top: 8px;
}
.studio-footer-actions [data-save] {
  border: 1px solid var(--lime);
}
.workbench[data-tab="split"] .design-body > .studio-footer-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 8px 0;
  margin-top: 8px;
  border-top: 1px solid var(--line);
}
.studio-footer-actions > button {
  flex: 0 0 auto;
  width: auto;
  min-height: 36px;
  padding: 6px 12px;
  font-size: 12px;
}
@media (pointer: coarse) {
  .studio-footer-actions > button {
    min-height: 44px;
  }
}
.studio-event-list {
  flex: none;
  max-height: 95px;
  overflow: auto;
  padding: 4px 12px;
  border-top: 1px solid var(--line);
  font-size: 11px;
}
.studio-event-list[hidden] {
  display: none;
}
.studio-event-list button {
  min-height: 44px;
  display: block;
  text-align: left;
  font-size: 11px;
}
.studio-reason-pane {
  display: none;
  min-height: 0;
  overflow: auto;
  padding: 14px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 14px;
  font-size: 12px;
  box-sizing: border-box;
}
.studio-reason-pane h3 {
  font-size: 14px;
}
.studio-reason-pane button {
  min-height: 44px;
}
.studio-dialog {
  width: min(580px, calc(100vw - 32px));
  max-height: 80dvh;
  box-sizing: border-box;
  overflow: auto;
  padding: 20px;
  background: var(--white);
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 16px;
}
.studio-dialog::backdrop {
  background: #0008;
}
.studio-dialog header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.studio-dialog h2 {
  font-size: 18px;
  margin: 0;
}
.studio-dialog button,
.studio-dialog input,
.studio-dialog select {
  min-height: 44px;
}
.studio-dialog input,
.studio-dialog select,
.studio-dialog textarea {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  box-sizing: border-box;
  padding: 9px 10px;
  background: var(--bg);
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 8px;
  font: inherit;
  font-size: 14px;
  line-height: 1.5;
}
.studio-dialog label {
  color: var(--muted);
  line-height: 1.6;
}
:root:not([data-theme="dark"]) .studio-dialog :is(input, select, textarea) {
  border-color: var(--control-line);
}
.studio-dialog label > :is(input, select, textarea, .snaap-select) {
  margin-top: 5px;
}
.studio-dialog :is(input, select, textarea):focus-visible {
  outline: 2px solid var(--accent-ink, var(--lime));
  outline-offset: 2px;
}
.studio-dialog input::placeholder,
.studio-dialog textarea::placeholder {
  color: var(--muted);
  opacity: 1;
}
.studio-dialog [data-create-error]:empty {
  display: none;
}
.studio-dialog p,
.studio-dialog li {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.6;
}
.studio-indicator-results {
  max-height: 48dvh;
  overflow: auto;
  margin-top: 12px;
}
.studio-indicator-results button {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  text-align: left;
  border-bottom: 1px solid var(--line);
  padding: 12px;
}
.studio-indicator-results button:hover {
  background: var(--pale);
}
.studio-indicator-results small {
  font-size: 11px;
  color: var(--muted);
}
.workbench-toolbar .setup-pane-nav {
  display: none;
}
.studio-reference-times {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin-top: 6px;
}
.studio-condition-card .studio-reference-times small {
  font-size: 10px;
}
.workbench[data-tab="split"] .setup-condition-limit {
  display: none;
}
@media (min-width: 1280px) {
  .studio-inspector-tabs {
    display: none;
  }
  .workbench[data-tab="split"][data-agent-collapsed="true"] {
    grid-template-columns: 0 minmax(0, 1fr) 340px;
  }
  .workbench[data-tab="split"][data-agent-collapsed="true"] #conversation {
    display: none;
  }
  .workbench[data-tab="split"][data-conditions-collapsed="true"] {
    grid-template-columns: 300px minmax(0, 1fr) 0;
  }
  .workbench[data-tab="split"][data-conditions-collapsed="true"] .design-panel {
    display: none;
  }
  .workbench[data-tab="split"][data-agent-collapsed="true"][data-conditions-collapsed="true"] {
    grid-template-columns: 0 minmax(0, 1fr) 0;
  }
}
@media (min-width: 900px) and (max-width: 1279px) {
  .workbench[data-tab="split"]:not([hidden]) {
    grid-template-columns: minmax(0, 1fr) 320px;
  }
  .workbench[data-tab="split"] .setup-studio {
    grid-column: 1;
  }
  .workbench[data-tab="split"] #conversation,
  .workbench[data-tab="split"] .design-panel,
  .workbench[data-tab="split"] .studio-reason-pane {
    grid-column: 2;
    grid-row: 1;
  }
  .workbench[data-tab="split"] #conversation {
    display: none;
  }
  .workbench[data-tab="split"][data-inspector="agent"] #conversation {
    display: flex;
  }
  .workbench[data-tab="split"][data-inspector="agent"] .design-panel,
  .workbench[data-tab="split"][data-inspector="evidence"] .design-panel {
    display: none;
  }
  .workbench[data-tab="split"][data-inspector="evidence"] .studio-reason-pane {
    display: block;
  }
  .studio-workspace-header [data-collapse-agent],
  .studio-workspace-header [data-collapse-conditions] {
    display: none;
  }
}
@media (max-width: 899px) {
  #view-home:has(.workbench[data-tab="split"]:not([hidden])) {
    padding: 4px 0;
  }
  .workbench[data-tab="split"]:not([hidden]) {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(310px, 60%) minmax(0, 1fr);
    gap: 6px;
  }
  .workbench[data-tab="split"] .setup-studio {
    grid-column: 1;
    grid-row: 1;
  }
  .workbench[data-tab="split"] #conversation,
  .workbench[data-tab="split"] .design-panel,
  .workbench[data-tab="split"] .studio-reason-pane {
    grid-column: 1;
    grid-row: 2;
  }
  .workbench[data-tab="split"] #conversation {
    display: none;
  }
  .workbench[data-tab="split"][data-inspector="agent"] #conversation {
    display: flex;
  }
  .workbench[data-tab="split"][data-inspector="agent"] .design-panel,
  .workbench[data-tab="split"][data-inspector="evidence"] .design-panel {
    display: none;
  }
  .workbench[data-tab="split"][data-inspector="evidence"] .studio-reason-pane {
    display: block;
  }
  .workbench[data-tab="split"] .chart-evidence,
  .workbench[data-tab="split"] .chart-credit,
  .workbench[data-tab="split"] .chart-disclaimer {
    display: none;
  }
  .workbench[data-tab="split"] .chart-legend {
    max-height: 44px;
    padding-bottom: 0;
  }
  .workbench[data-tab="split"] .studio-canvas {
    min-height: 130px;
  }
  .workbench[data-tab="split"] .setup-studio > header {
    padding: 4px 8px;
  }
  .workbench[data-tab="split"] .setup-studio > header > div:first-child p {
    display: none;
  }
  .workbench[data-tab="split"] .setup-studio > header [data-chart-refresh] {
    display: none;
  }
  .studio-chart-toolbar {
    padding: 0 8px;
    flex-wrap: nowrap;
  }
  .studio-chart-toolbar button {
    font-size: 11px;
    padding: 4px 6px;
  }
  .studio-workspace-header [data-collapse-agent],
  .studio-workspace-header [data-collapse-conditions] {
    display: none;
  }
  .studio-inspector-tabs {
    justify-content: stretch;
    margin-bottom: 4px;
    gap: 4px;
  }
  .studio-inspector-tabs button {
    flex: 1;
  }
  .mobile-design-tabs {
    margin-bottom: 4px;
  }
  .workbench[data-tab="split"] .event-list {
    max-height: 44px;
  }
  .workbench[data-tab="split"] .replay-controls {
    padding: 0 6px;
    display: grid;
    grid-template-columns: auto auto minmax(40px, 1fr) auto;
  }
  .workbench[data-tab="split"] .replay-controls input {
    width: 100%;
    min-width: 0;
    margin: 0;
  }
  .workbench[data-tab="split"]
    #conversation:has(#messages .chat-empty):not(:has(#messages .message)) {
    padding: 12px;
    gap: 12px;
  }
}
@media (max-width: 899px) and (max-height: 650px) {
  .workbench[data-tab="split"]:not([hidden]) {
    grid-template-rows: minmax(160px, 40%) minmax(0, 1fr);
  }
  .workbench[data-tab="split"] .studio-canvas {
    min-height: 40px;
  }
  .workbench[data-tab="split"] .chart-legend {
    display: none;
  }
}
@media (max-width: 899px) {
  body:has(.workbench[data-keyboard-open="true"]) .main-shell {
    height: var(--studio-viewport-height, 100dvh);
  }
  body:has(.workbench[data-keyboard-open="true"]) .workbench-toolbar,
  body:has(.workbench[data-keyboard-open="true"]) .mobile-design-tabs,
  body:has(.workbench[data-keyboard-open="true"]) .studio-workspace-header {
    display: none;
  }
  .workbench[data-keyboard-open="true"][data-tab="split"]:not([hidden]) {
    grid-template-rows: minmax(140px, 35%) minmax(0, 1fr);
  }
  .workbench[data-keyboard-open="true"][data-tab="split"] .studio-canvas {
    min-height: 40px;
  }
  .workbench[data-keyboard-open="true"] .chart-legend {
    display: none;
  }
}

.studio-panel-divider {
  display: none;
  position: relative;
  min-width: 0;
  touch-action: none;
  cursor: col-resize;
  outline: none;
}
.studio-panel-divider::after {
  content: "";
  position: absolute;
  inset-block: 12px;
  left: 50%;
  width: 1px;
  background: var(--line);
  opacity: 0;
  transition: opacity .15s;
}
.studio-panel-divider:hover::after,
.studio-panel-divider:focus-visible::after,
.workbench[data-resizing="true"] .studio-panel-divider::after {
  background: var(--muted);
  opacity: 1;
}
.studio-panel-divider:focus-visible {
  outline: 1px dotted var(--muted);
  outline-offset: -3px;
}
.workbench[data-resizing="true"] {
  cursor: col-resize;
  user-select: none;
}
@media (min-width: 900px) {
  #view-home:has(.workbench[data-tab="split"]:not([hidden])) .workbench-toolbar {
    margin-bottom: 8px;
  }
}
@media (min-width: 1280px) {
  .workbench[data-tab="split"]:not([hidden]) {
    grid-template-columns: var(--studio-agent-width, 300px) 12px minmax(240px, 1fr) 12px var(--studio-conditions-width, 340px);
    gap: 0;
  }
  .workbench[data-tab="split"] .setup-studio { grid-column: 3; }
  .workbench[data-tab="split"] .design-panel { grid-column: 5; }
  .workbench[data-tab="split"] .studio-panel-divider { display: block; grid-row: 1; }
  .workbench[data-tab="split"] [data-resize-panel="agent"] { grid-column: 2; }
  .workbench[data-tab="split"] [data-resize-panel="conditions"] { grid-column: 4; }
  .workbench[data-tab="split"][data-agent-collapsed="true"]:not([hidden]) {
    grid-template-columns: 0 0 minmax(240px, 1fr) 12px var(--studio-conditions-width, 340px);
  }
  .workbench[data-tab="split"][data-conditions-collapsed="true"]:not([hidden]) {
    grid-template-columns: var(--studio-agent-width, 300px) 12px minmax(240px, 1fr) 0 0;
  }
  .workbench[data-tab="split"][data-agent-collapsed="true"][data-conditions-collapsed="true"]:not([hidden]) {
    grid-template-columns: 0 0 minmax(240px, 1fr) 0 0;
  }
  .workbench[data-agent-collapsed="true"] [data-resize-panel="agent"],
  .workbench[data-conditions-collapsed="true"] [data-resize-panel="conditions"] { display: none; }
}
@media (min-width: 900px) and (max-width: 1279px) {
  .workbench[data-tab="split"]:not([hidden]) {
    grid-template-columns: minmax(240px, 1fr) 12px var(--studio-conditions-width, 320px);
    gap: 0;
  }
  .workbench[data-tab="split"] #conversation,
  .workbench[data-tab="split"] .design-panel,
  .workbench[data-tab="split"] .studio-reason-pane { grid-column: 3; }
  .workbench[data-tab="split"] [data-resize-panel="conditions"] { display: block; grid-column: 2; grid-row: 1; }
}

/* Price and study panes share the remaining viewport, without vertical scrolling. */
.workbench[data-tab="split"] .setup-pane .setup-studio {
  overflow: hidden;
}
.workbench[data-tab="split"] .setup-studio > * {
  flex-shrink: 0;
}
.workbench[data-tab="split"] .setup-studio .studio-canvas {
  flex: 1 1 0;
  height: 0;
  min-height: 0;
}
.workbench[data-tab="split"] .chart-legend {
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  max-height: none;
  min-height: 0;
}
.chart-legend .studio-legend-chip { flex: none; }
.chart-legend .studio-legend-item { white-space: nowrap; }
.chart-legend:empty { display: none; }
.studio-chart-footer {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 4px 12px;
  border-top: 1px solid var(--line);
}
.studio-chart-footer > button,
.studio-replay > summary {
  min-height: 36px;
  box-sizing: border-box;
  padding: 8px;
  font-size: 12px;
  cursor: pointer;
}
.studio-chart-footer .chart-credit { margin-left: auto; padding: 0; }
.studio-replay { display: contents; }
.studio-replay > summary { display: list-item; margin-left: 16px; }
.studio-replay[open] .replay-controls {
  flex: 1 0 100%;
  order: 1;
  border: 0;
  padding: 0;
}
.studio-signals-dialog { color: var(--ink); background: var(--white); }
.studio-signals-dialog > header {
  position: sticky;
  top: -20px;
  background: var(--white);
  z-index: 1;
  padding: 0 0 12px;
}
.workbench[data-tab="split"] .studio-signals-dialog .chart-evidence {
  display: block;
  max-height: none;
  overflow: visible;
}
.workbench[data-tab="split"] .studio-signals-dialog .chart-disclaimer { display: block; }
.studio-outcomes-dialog { width: min(760px, calc(100vw - 32px)); }
.studio-outcomes-dialog .outcome-scope { margin: 0 0 12px; color: var(--muted); font-size: 13px; }
.studio-outcomes-dialog .outcome-table-wrap { overflow-x: auto; }
.studio-outcomes-dialog .outcome-table { width: 100%; border-collapse: collapse; font-size: 13px; font-variant-numeric: tabular-nums; }
.studio-outcomes-dialog .outcome-table th,
.studio-outcomes-dialog .outcome-table td { padding: 8px 10px; border-bottom: 1px solid var(--line); text-align: right; white-space: nowrap; }
.studio-outcomes-dialog .outcome-table th:first-child { text-align: left; }
.studio-outcomes-dialog .outcome-table thead th { color: var(--muted); font-weight: 500; }
@media (max-width: 560px) {
  .studio-outcomes-dialog .outcome-table thead { display: none; }
  .studio-outcomes-dialog .outcome-table tr { display: block; padding: 8px 0; border-bottom: 1px solid var(--line); }
  .studio-outcomes-dialog .outcome-table th[scope="row"] { display: block; padding: 4px 0; border: 0; }
  .studio-outcomes-dialog .outcome-table td { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; border: 0; }
  .studio-outcomes-dialog .outcome-table td::before { content: attr(data-label); color: var(--muted); white-space: normal; text-align: left; }
}
.studio-outcomes-dialog .outcome-notes { margin: 12px 0 0; padding-left: 18px; color: var(--muted); font-size: 12px; line-height: 1.6; }
.setup-studio .setup-insights,
.setup-studio .chart-evidence {
  min-width: 0;
  overflow-wrap: anywhere;
}
.setup-studio .setup-insights {
  padding-bottom: 12px;
}
.setup-studio .setup-insights > strong {
  display: block;
  margin-top: 12px;
}

.studio-inspector-tabs [data-studio-tab="chart"] { display: none; }
.studio-mobile-menu, .studio-mobile-frame { display: none; }
@media (max-width: 899px) {
  .home-view .workbench-toolbar .mobile-design-tabs button,
  .home-view .workbench-toolbar .conversation-actions > button {
    min-height: 44px;
    min-width: 44px;
  }
  .studio-timeframes button { min-width: 44px; }
  .design-panel .setting-guide-trigger { width: 44px; min-width: 44px; height: 44px !important; min-height: 44px !important; }
  .workbench[data-tab="split"] #conversation:has(#messages .chat-empty):not(:has(#messages .message)) {
    justify-content: safe center;
    padding: 12px;
    gap: 24px;
    overflow-y: auto;
  }
  .workbench[data-tab="split"] #conversation:has(#messages .chat-empty):not(:has(#messages .message)) #messages {
    flex: 0 0 auto;
    padding: 0;
    overflow: visible;
  }
  .workbench[data-tab="split"] .chat-composer { max-height: none; flex: none; }
  .workbench .chat-composer #followup-input { min-height: 44px; max-height: 112px; font-size: 16px; }
  .workbench .chat-composer .chat-tools button { min-height: 44px; }
  .workbench .chat-composer .chat-tools .chat-send-button { width: 44px; height: 44px; flex-basis: 44px; }
  body:has(#view-home .workbench:not([hidden])) .topbar { height: 52px; flex: none; padding-inline: 12px; }
  #view-home:has(.workbench:not([hidden])) .workbench-toolbar { display: none; }
  .studio-inspector-tabs { position: relative; justify-content: stretch; gap: 4px; margin: 0; padding: 4px 8px; border-bottom: 1px solid var(--line); }
  .studio-inspector-tabs > [data-studio-tab="chart"] { display: block; }
  .studio-inspector-tabs > [data-studio-tab="evidence"] { display: none; }
  .studio-inspector-tabs > [data-studio-tab="agent"] { order: 0; }
  .studio-inspector-tabs > [data-studio-tab="conditions"] { order: 1; }
  .studio-inspector-tabs > [data-studio-tab="chart"] { order: 2; }
  .studio-inspector-tabs > button { min-width: 0; padding: 8px; border-radius: 8px; font-size: 13px; }
  .studio-mobile-menu { display: block; position: relative; order: 3; flex: 0 0 44px; border: 0; }
  #main .studio-mobile-menu > summary { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border-radius: 8px; list-style: none; }
  #main .studio-mobile-menu > summary::-webkit-details-marker { display: none; }
  .studio-mobile-menu[open] > summary { background: var(--pale); }
  .studio-mobile-menu-items { position: absolute; right: 0; top: calc(100% + 8px); z-index: 30; width: min(260px, calc(100vw - 24px)); padding: 6px; background: var(--white); border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 8px 24px #0002; }
  .studio-mobile-menu-items :is(button, .conversation-title) { width: 100%; max-width: none; }
  .studio-mobile-menu-items button { display: flex; justify-content: flex-start; align-items: center; gap: 10px; padding: 10px 12px; text-align: left; min-height: 44px; height: auto; font-size: 14px; }
  .studio-mobile-menu-items .conversation-picker span { display: inline; }
  .studio-mobile-menu-items [data-action="new"]::after { content: "เริ่มบทสนทนาใหม่"; }
  .studio-mobile-menu-items .conversation-title-button span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .studio-mobile-frame { display: block; width: 88px; min-height: 44px; margin: 0; padding: 8px 12px; font-size: 16px; color: var(--ink); background: var(--pale); border: 1px solid var(--line); border-radius: 8px; }
  .studio-timeframes { display: none; }
  .studio-chart-toolbar { justify-content: space-between; padding: 4px 12px; }
  .workbench[data-tab="split"] .setup-studio > header { padding: 8px 12px 0; }
  .studio-header-info { flex-basis: 0; }
  .studio-header-info strong { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 12px; }
  .workbench[data-tab="split"] .design-toolbar { padding: 6px 12px; }
  .workbench[data-tab="split"] .design-toolbar strong { font-size: 16px; }
  .studio-name-field .studio-draft-status { display: none; }
  .workbench[data-tab="split"]:not([hidden]) { grid-template-rows: minmax(0, 1fr); gap: 0; }
  .workbench[data-tab="split"] #conversation,
  .workbench[data-tab="split"] .design-panel,
  .workbench[data-tab="split"] .studio-reason-pane { grid-row: 1; border-radius: 0; border-inline: 0; }
  .workbench[data-tab="split"] .setup-studio { border-radius: 0; border-inline: 0; }
  .workbench[data-tab="split"]:not([data-inspector="chart"]) .setup-studio,
  .workbench[data-tab="split"][data-inspector="chart"] .design-panel { display: none; }
  body:has(.workbench[data-keyboard-open="true"]) .studio-inspector-tabs { display: none; }
}
/* A narrow chart pane wraps the indicator button below the timeframes instead of hiding 1D/1W under it. */
@media (min-width: 900px) and (max-width: 1599px) {
  .studio-chart-toolbar { flex-wrap: wrap; row-gap: 6px; }
  .studio-timeframes { flex: 1 1 auto; flex-wrap: wrap; overflow: visible; }
}
/* asset-picker.css */
.asset-dialog { width: min(740px, calc(100vw - 32px)); height: min(640px, calc(100dvh - 48px)); max-width: none; max-height: none; padding: 0; border: 1px solid var(--line); border-radius: 16px; background: var(--white); color: var(--ink); overflow: hidden; }
.asset-dialog[open] { display: flex; flex-direction: column; }
.asset-dialog::backdrop { background: #0008; }
.asset-dialog > header { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px 12px; gap: 12px; }
.asset-dialog h2 { margin: 0; font-size: 18px; line-height: 1.5; }
.asset-dialog header p { margin: 2px 0 0; font-size: 12px; color: var(--muted); }
.asset-dialog [data-close] { width: 36px; height: 36px; padding: 0; border: 0; border-radius: 8px; background: var(--pale); color: var(--ink); font-size: 24px; }
.asset-categories { display: flex; flex-direction: row; flex: none; gap: 4px; padding: 0 20px 12px; overflow-x: auto; }
.asset-categories button { flex: none; border: 0; border-radius: 8px; background: transparent; color: var(--muted); padding: 8px 10px; font-size: 13px; white-space: nowrap; min-height: 36px; }
.asset-categories small { margin-left: 6px; font-size: 10px; opacity: .8; }
.asset-categories button[aria-pressed="true"] { color: var(--ink); background: var(--pale); box-shadow: inset 0 -2px var(--accent-ink); }
.asset-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 20px; border-block: 1px solid var(--line); }
.asset-products { display: flex; gap: 4px; padding: 3px; border: 1px solid var(--line); border-radius: 8px; }
.asset-products button { color: var(--muted); background: transparent; border: 0; border-radius: 5px; padding: 7px 12px; font-size: 12px; min-height: 32px; }
.asset-products button[aria-pressed="true"] { background: var(--pale); color: var(--ink); font-weight: 600; }
.asset-source { display: flex; gap: 8px; align-items: center; margin: 0; font-size: 11px; color: var(--muted); white-space: nowrap; }
.asset-source .snaap-select { width: 200px; margin: 0; }
.asset-source .snaap-select-trigger { min-height: 36px; padding: 6px 10px; border-radius: 8px; font-size: 12px; }
.asset-search { display: flex; gap: 8px; padding: 12px 20px 8px; }
.asset-search input { flex: 1; width: 0; min-width: 0; margin: 0; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg); color: var(--ink); font-size: 14px; min-height: 42px; }
.asset-search [data-refresh] { flex: none; width: 42px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg); color: var(--ink); font-size: 22px; }
.asset-result-meta { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 0 20px 8px; color: var(--muted); font-size: 11px; min-height: 32px; }
.asset-result-meta .text-button { font-size: 11px; padding: 4px; }
.asset-results { overflow-y: auto; overscroll-behavior: contain; flex: 1; min-height: 0; padding: 0 12px; }
.asset-row { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 56px; padding: 10px 8px; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--ink); text-align: left; }
.asset-row:hover { background: var(--pale); }
.asset-row[aria-pressed="true"] { background: var(--pale); }
.asset-row:disabled { opacity: .55; }
.asset-check { display: grid; place-items: center; flex: none; width: 22px; height: 22px; border: 1px solid var(--line); border-radius: 6px; color: var(--muted); }
.asset-row[aria-pressed="true"] .asset-check { background: var(--lime); border-color: var(--lime); color: #101010; }
.asset-row-name { flex: 1; min-width: 0; }
.asset-row strong { display: block; font-size: 13px; line-height: 1.4; overflow-wrap: anywhere; }
.asset-row small { display: block; font-size: 11px; color: var(--muted); line-height: 1.5; }
.asset-row-source { text-align: right; flex: 0 1 160px; font-size: 12px; overflow-wrap: anywhere; }
.asset-more { display: block; margin: 12px auto; padding: 8px 12px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); background: transparent; font-size: 12px; }
.asset-empty { padding: 24px 12px; color: var(--muted); font-size: 13px; text-align: center; }
.asset-basket { display: flex; flex: none; gap: 6px; padding: 8px 20px; overflow-x: auto; border-top: 1px solid var(--line); }
.asset-basket:empty { display: none; }
.asset-basket button { flex: none; border: 1px solid var(--line); border-radius: 6px; padding: 4px 8px; font-size: 11px; background: var(--pale); color: var(--ink); }
.asset-basket span { margin-left: 6px; }
.asset-dialog > footer { display: flex; align-items: center; gap: 12px; padding: 12px 20px; border-top: 1px solid var(--line); font-size: 12px; }
.asset-dialog > footer [data-count] { margin-right: auto; }
.asset-dialog > footer button { padding: 9px 12px; font-size: 12px; min-height: 38px; white-space: nowrap; }
.asset-control [data-pair-picker] { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; min-height: 40px; padding: 8px 10px; font-size: 13px; }
.asset-control [data-pair-picker] span:first-child { overflow-wrap: anywhere; text-align: left; }
.asset-control [data-pair-picker] span:last-child { flex: none; color: var(--muted); font-size: 11px; }
.asset-control > small { display: block; font-size: 11px; color: var(--muted); margin-top: 4px; }
.asset-dialog button:focus-visible, .asset-dialog input:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 2px; }
@media (max-width: 540px) {
  .asset-dialog { width: calc(100vw - 16px); height: calc(100dvh - 32px); border-radius: 12px; }
  .asset-dialog > header, .asset-toolbar, .asset-search, .asset-result-meta, .asset-dialog > footer { padding-inline: 12px; }
  .asset-categories { padding-inline: 12px; }
  .asset-toolbar { gap: 8px; }
  .asset-source { flex: 1; min-width: 0; font-size: 0; gap: 0; }
  .asset-source .snaap-select { width: 100%; }
  .asset-source .snaap-select-trigger { font-size: 11px; }
  .asset-products button { padding-inline: 8px; }
  .asset-row { gap: 8px; }
  .asset-row-source { flex-basis: 90px; font-size: 11px; }
  .asset-dialog > footer { gap: 8px; }
  .asset-dialog > footer button { padding-inline: 8px; font-size: 11px; }
  .asset-search input { font-size: 16px; }
}
/* signal-insights.css */
.insight-freshness,
.insight-progress {
  font-size: 0.8rem;
  line-height: 1.6;
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--border, #8885);
  border-radius: 0.5rem;
  margin: 0.5rem 0;
}
.insight-freshness p {
  margin: 0.25rem 0;
}
.insight-freshness small {
  opacity: 0.8;
}
.insight-table-wrap {
  overflow-x: auto;
  margin: 0.75rem 0;
}
.insight-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.75rem;
  text-align: left;
}
.insight-table caption {
  text-align: left;
  font-weight: 600;
  padding: 0.5rem 0;
}
.insight-table th,
.insight-table td {
  padding: 0.5rem;
  vertical-align: top;
  border-bottom: 1px solid var(--border, #8885);
}
.insight-evidence {
  font-size: 0.8rem;
  line-height: 1.6;
  margin: 0.25rem 0;
  overflow-wrap: anywhere;
}
.setup-insights {
  padding: 0 0.75rem;
  min-width: 0;
}
.activity-row .insight-freshness {
  max-width: 100%;
}
@media (max-width: 600px) {
  .insight-table th,
  .insight-table td {
    padding: 0.375rem;
  }
  .activity-row {
    flex-wrap: wrap;
  }
  .watch-row-footer {
    flex-wrap: wrap;
  }
}

.signal-recovery {
  grid-column: 1/-1;
  font-size: 0.75rem;
  opacity: 0.8;
}
/* channel-studio.css */
.channel-studio {
  width: min(1040px, calc(100vw - 32px));
  max-height: 92svh;
  background: var(--white);
  color: var(--ink);
  border-radius: 22px;
  overflow: auto;
  animation: channel-modal-in 0.24s ease-out;
}
.channel-studio::backdrop {
  background: #0b0e1290;
  backdrop-filter: blur(7px);
}
.channel-studio-header {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--white);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 26px 32px;
}
.channel-studio-overline {
  font-size: 10px;
  letter-spacing: 0.14em;
  color: var(--muted);
}
.channel-studio-header h2 {
  font-size: 27px;
  letter-spacing: -0.04em;
  margin-top: 4px;
}
.channel-studio-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
}
.channel-studio-grid.channel-studio-guide-only {
  grid-template-columns: minmax(0, 1fr);
}
.channel-studio-guide-only .channel-studio-work {
  width: min(100%, 760px);
  margin-inline: auto;
}
.channel-preview-jump {
  display: none;
}
.channel-preview-area,
.channel-step-nav {
  scroll-margin-top: 115px;
}
.channel-studio-work {
  padding: 24px 32px;
  min-width: 0;
}
.channel-step-nav {
  display: flex;
  flex-direction: row;
  gap: 8px;
  margin-bottom: 28px;
}
.channel-step-nav button {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  padding: 7px 9px;
  border-radius: 9px;
  transition:
    background 0.2s,
    color 0.2s;
}
.channel-step-nav button span {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: 1px solid var(--line);
  border-radius: 50%;
  font-size: 10px;
}
.channel-step-nav button[aria-current="step"] {
  background: var(--pale);
  font-weight: 600;
}
.channel-step-nav button[aria-current="step"] span {
  background: var(--lime);
  color: #171a16;
  border-color: var(--lime);
}
.channel-step-body {
  animation: channel-step-in 0.24s ease-out;
}
.channel-step-body h3 {
  font-size: 21px;
  letter-spacing: -0.025em;
  margin: 0 0 8px;
}
.channel-intro,
.channel-help,
.channel-preview-note {
  font-size: 12px;
  line-height: 1.8;
  color: var(--muted);
}
.channel-intro {
  margin-bottom: 22px;
}
.channel-flow-art {
  display: flex;
  align-items: center;
  gap: 0;
  height: 100px;
  margin: 0 0 24px;
}
.channel-snaap-mark,
.channel-target-mark {
  width: 66px;
  height: 66px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  background: var(--pale);
}
.channel-snaap-mark {
  background: var(--lime);
  color: #171a16;
  font-size: 43px;
  font-weight: 700;
  letter-spacing: -0.08em;
}
.channel-target-mark img {
  width: 38px;
  height: 38px;
  object-fit: contain;
}
.channel-flow-line {
  position: relative;
  width: 100px;
  height: 1px;
  background: var(--line);
  margin: 0 14px;
}
.channel-flow-line i {
  position: absolute;
  top: -3px;
  width: 7px;
  height: 7px;
  background: var(--accent-ink);
  border-radius: 50%;
  animation: channel-travel 2.8s ease-in-out infinite;
}
.channel-guide-list {
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
  display: grid;
  gap: 24px;
}
.channel-guide-list li {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  animation: channel-step-in 0.3s both;
  animation-delay: calc(var(--step) * 50ms);
}
.channel-guide-list li > span {
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  flex: none;
  border: 1px solid var(--line);
  border-radius: 50%;
  font-size: 11px;
}
.channel-guide-list h4 {
  font-size: 14px;
  line-height: 26px;
  margin: 0 0 5px;
  font-weight: 600;
}
.channel-guide-list p,
.channel-admin-guide p {
  font-size: 12px;
  line-height: 1.85;
  color: var(--muted);
  overflow-wrap: anywhere;
}
.channel-admin-guide {
  margin-top: 18px;
  border: 0;
}
.channel-admin-guide summary {
  font-size: 12px;
  border: 0;
}
.channel-admin-guide p {
  padding-bottom: 18px;
}
.channel-admin-guide pre {
  padding: 15px 0;
  font-size: 11px;
  white-space: pre-wrap;
}
.channel-step-body form {
  display: grid;
  gap: 18px;
  margin-top: 22px;
}
.channel-step-body label {
  display: grid;
  gap: 7px;
  font-size: 12px;
}
.channel-step-body input:not([type="checkbox"]):not([type="radio"]),
.channel-step-body select {
  width: 100%;
  padding: 11px 12px;
  border-radius: 9px;
  background: var(--bg);
  border: 1px solid var(--line);
  color: var(--ink);
  font: inherit;
}
.channel-step-body :is(input, select, button):focus-visible,
.channel-step-nav button:focus-visible {
  outline: 2px solid var(--accent-ink);
  outline-offset: 3px;
}
.channel-step-body fieldset {
  border: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.channel-step-body legend {
  font-size: 12px;
  margin-bottom: 10px;
}
.channel-layout-options label,
.channel-accent-options label {
  position: relative;
  cursor: pointer;
}
.channel-layout-options input,
.channel-accent-options input {
  position: absolute;
  opacity: 0;
}
.channel-layout-options label span,
.channel-accent-options label span {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px 12px;
  transition:
    border-color 0.2s,
    background 0.2s;
  display: flex;
  align-items: center;
  gap: 8px;
}
.channel-accent-options label span:before {
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--swatch);
}
.channel-layout-options input:checked + span,
.channel-accent-options input:checked + span {
  border-color: var(--accent-ink);
  background: var(--pale);
}
.channel-layout-options input:focus-visible + span,
.channel-accent-options input:focus-visible + span {
  outline: 2px solid var(--accent-ink);
  outline-offset: 3px;
}
.channel-field-options {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
}
.channel-field-options label {
  display: flex;
  align-items: center;
  gap: 8px;
}
.channel-field-options input {
  accent-color: var(--accent-ink);
  width: 16px;
  height: 16px;
}
.channel-step-footer {
  padding-top: 20px;
  margin-top: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.channel-step-footer > span {
  font-size: 11px;
  color: var(--muted);
}
[data-channel-status] {
  font-size: 12px;
  line-height: 1.7;
  margin-top: 16px;
  overflow-wrap: anywhere;
  color: var(--accent-ink);
}
[data-channel-status][data-error="true"] {
  color: #ce5548;
}
.channel-preview-area {
  padding: 28px 28px 36px;
  background: var(--bg);

  min-width: 0;
}
.channel-preview-label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 28px;
  font-size: 12px;
}
.channel-preview-label small {
  color: var(--muted);
}
.channel-preview-sender {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  font-size: 13px;
}
.channel-preview-sender small {
  font-size: 8px;
  letter-spacing: 0.08em;
  color: var(--muted);
  margin-left: 5px;
}
.channel-snaap-mini {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: #d0f64c;
  color: #171a16;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.08em;
}
.channel-card-preview {
  overflow: hidden;
  border-radius: 15px;
  background: #151515;
  color: #f4f7fb;
  border: 1px solid #303030;
  box-shadow: none;
  animation: channel-step-in 0.25s ease-out;
}
.channel-card-preview header {
  display: flex;
  flex-direction: column;
  gap: 5px;
  background: #151515;
  border-top: 3px solid var(--signal-accent);
  padding: 20px 22px;
}
.channel-card-preview header strong {
  color: #f4f4f5;
  font-size: 26px;
  letter-spacing: -0.05em;
}
.channel-card-preview header span {
  color: #b9c3d0;
  font-size: 14px;
}
.channel-card-preview > img,
.channel-photo-preview > img {
  display: block;
  width: 100%;
  aspect-ratio: 3/1;
  object-fit: cover;
}
.channel-card-body {
  padding: 22px;
}
.channel-signal-event {
  font-size: 14px;
  color: var(--signal-accent);
}
.channel-card-body h3 {
  font-size: 21px;
  margin: 6px 0 20px;
  letter-spacing: -0.035em;
}
.channel-signal-headline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 6px 0 14px;
}
.channel-card-preview .channel-signal-headline h3 {
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.025em;
}
.channel-direction-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 6px 9px;
  border-radius: 6px;
  color: var(--direction-color);
  background: var(--direction-bg);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
}
.channel-card-preview.line .channel-signal-headline {
  margin: 6px 0 10px;
}
.channel-card-preview.line .channel-signal-headline h3 {
  font-size: 18px;
}
.channel-card-body dl {
  display: grid;
  gap: 14px;
}
.channel-card-body dt {
  font-size: 14px;
  color: #b9c3d0;
}
.channel-card-body dd {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  margin: 3px 0 0;
  overflow-wrap: anywhere;
}
.channel-card-preview .channel-card-body dd[data-field="referencePrice"] {
  color: #d0f64c;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.channel-card-body p {
  font-size: 10px;
  color: #72796b;
  margin-top: 20px;
}
.channel-signature {
  display: block;
  text-align: right;
  color: #46513f;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.02em;
  overflow-wrap: anywhere;
}
.channel-card-preview > .channel-signature {
  color: #b9c3d0;
  padding: 0 22px 20px;
}
.channel-text-preview .channel-signature {
  color: var(--muted);
  margin-top: 8px;
}
.channel-card-link {
  padding: 13px;
  border-top: 1px solid #303030;
  color: var(--signal-accent);
  text-align: center;
  font-size: 12px;
}
.channel-card-preview.discord {
  border-left: 4px solid var(--signal-accent);
}
.channel-card-preview.line,
.channel-card-preview.webhook {
  width: 280px;
  max-width: 100%;
  border-radius: 12px;
}
.channel-card-preview.line header,
.channel-card-preview.webhook header {
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
}
.channel-card-preview.line header strong {
  font-size: 16px;
  letter-spacing: -0.03em;
  flex-shrink: 0;
}
.channel-card-preview header .signal-brand > img {
  display: block;
  width: 86px;
  height: auto;
}
.channel-card-preview header .signal-brand {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.channel-card-preview header .signal-brand > img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}
.channel-card-preview.line header span {
  font-size: 14px;
  text-align: right;
  min-width: 0;
  overflow-wrap: anywhere;
}
.channel-card-preview.line .channel-card-body {
  padding: 12px;
}
.channel-card-preview .channel-card-heading {
  color: #f4f4f5;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  margin: 0 0 8px;
  overflow-wrap: anywhere;
}
.channel-card-preview.line .channel-signal-event {
  font-size: 14px;
}
.channel-card-preview.line h3 {
  font-size: 16px;
  line-height: 1.45;
  margin: 4px 0 10px;
}
.channel-card-preview.line dl {
  gap: 6px;
}
.channel-card-preview.line dl > div {
  display: grid;
  grid-template-columns: 2fr 5fr;
  align-items: baseline;
  gap: 8px;
}
.channel-card-preview.line dt,
.channel-card-preview.line dd {
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
}
.channel-card-preview.line dd {
  text-align: right;
}
.channel-card-preview.line > .channel-signature {
  padding: 0 12px 12px;
}
.channel-card-preview.line .channel-card-link {
  padding: 6px 12px;
  font-size: 14px;
}
.channel-card-preview.line .channel-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  padding: 0 12px 12px;
}
.channel-card-preview.line .channel-card-footer .channel-card-link {
  border: 0;
  padding: 0;
  text-align: left;
  flex-shrink: 0;
}
.channel-card-preview.line .channel-card-footer .channel-signature {
  color: #b9c3d0;
  margin-left: auto;
}
.channel-card-footer > .channel-signature {
  color: #b9c3d0;
  padding: 0 22px 20px;
}
.channel-card-preview.line .channel-card-footer > .channel-signature {
  padding: 0;
}
.channel-card-preview.discord header {
  background: #151515;
}
.channel-card-preview.discord header strong {
  font-size: 16px;
}
.channel-card-preview.discord dl {
  grid-template-columns: 1fr 1fr;
}
.channel-text-preview {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  border-radius: 4px 14px 14px 14px;
  background: var(--white);
  padding: 22px;
  font-size: 16px;
  line-height: 1.8;
  border: 1px solid var(--line);
}
.channel-photo-preview {
  border-radius: 14px;
  overflow: hidden;
}
.channel-chart-preview,
.channel-card-preview > .channel-chart-preview,
.channel-photo-preview > .channel-chart-preview {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 5 / 3;
  object-fit: contain;
  background: #151515;
}
.channel-studio [hidden] {
  display: none !important;
}
.channel-photo-preview > .channel-chart-preview {
  aspect-ratio: auto;
  height: auto;
  object-fit: contain;
}
.channel-photo-preview .channel-text-preview {
  border-radius: 0 0 14px 14px;
  background: #151515;
  color: #f4f7fb;
  border-color: #303030;
}
.channel-photo-preview .channel-signature {
  color: #b9c3d0;
}
.channel-preview-note {
  margin-top: 18px;
  font-size: 10px;
}
.channel-json-preview {
  max-height: 510px;
  overflow: auto;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font: 11px/1.7 monospace;
  background: var(--white);
  border: 1px solid var(--line);
  padding: 18px;
  border-radius: 12px;
}
.channel-json-head {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 15px;
  font-size: 12px;
}
.channel-json-head small {
  font-size: 10px;
  margin-left: auto;
  color: var(--muted);
}
.channel-binding {
  display: grid;
  gap: 15px;
  padding: 20px 0;
}
.channel-connected-summary {
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--bg);
  animation: channel-step-in 0.24s ease-out;
}
.channel-connected-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 22px;
}
.channel-connected-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 11px;
  border-radius: 999px;
  background: #67e2b114;
  color: var(--accent-ink);
  font-size: 12px;
  font-weight: 600;
}
.channel-connected-summary h3 {
  overflow-wrap: anywhere;
}
.channel-connected-description {
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  color: var(--muted);
}
.channel-connected-next {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  border-top: 1px solid var(--line);
  padding-top: 22px;
  margin-top: 24px;
}

.channel-connected-next strong {
  font-size: 14px;
}
.channel-connected-next-icon {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 10px;
  background: var(--pale);
  color: var(--accent-ink);
}
.channel-connected-next-icon > svg {
  display: block;
  width: 20px;
  height: 20px;
  flex: none;
  opacity: 1;
  visibility: visible;
}
.channel-connected-next p {
  margin: 6px 0 0;
  font-size: 13px;
  line-height: 1.7;
  color: var(--muted);
}
.channel-connected-action {
  margin-top: 22px;
}
.channel-connected-secret {
  margin-top: 22px;
}
@media (max-width: 600px) {
  .channel-connected-summary {
    padding: 20px;
  }
  .channel-connected-action {
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .channel-connected-summary {
    animation: none;
  }
}
.channel-binding p {
  font-size: 12px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}
.channel-copy-row {
  display: flex;
  align-items: center;
  gap: 8px;
}
.channel-copy-row code {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 11px;
  background: var(--bg);
  padding: 10px;
  border-radius: 8px;
}
.channel-copy-row button {
  flex: none;
}
.channel-quota-note,
.channel-config-notice {
  padding: 14px 16px;
  font-size: 12px;
  line-height: 1.8;
  border-left: 2px solid var(--accent-ink);
  background: var(--pale);
  margin-top: 16px;
}
.channel-row-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.channel-row-actions button {
  font-size: 11px;
  min-height: 36px;
}

@keyframes channel-travel {
  0% {
    transform: translateX(0);
    opacity: 0;
  }
  20%,
  80% {
    opacity: 1;
  }
  100% {
    transform: translateX(94px);
    opacity: 0;
  }
}
@keyframes channel-step-in {
  from {
    opacity: 0;
    transform: translateY(7px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes channel-modal-in {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@media (max-width: 760px) {
  .channel-preview-jump {
    display: block;
    font-size: 12px;
    margin: 0 0 18px;
  }
  .channel-studio {
    width: calc(100vw - 20px);
    border-radius: 16px;
  }
  .channel-studio-header {
    padding: 20px;
  }
  .channel-studio-grid {
    grid-template-columns: 1fr;
  }
  .channel-studio-work {
    padding: 20px;
  }
  .channel-preview-area {
    padding: 24px 20px;
    border-left: 0;
  }
  .channel-step-nav {
    gap: 3px;
  }
  .channel-step-nav button {
    font-size: 11px;
    padding: 6px;
  }
  .channel-row-actions {
    justify-content: flex-start;
  }
  .connected-channel {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .channel-studio,
  .channel-step-body,
  .channel-guide-list li,
  .channel-card-preview,
  .channel-flow-line i {
    animation: none;
  }
  .channel-layout-options label span,
  .channel-accent-options label span,
  .channel-step-nav button {
    transition: none;
  }
}
/* brand.css */
/* The two-piece symbol replaces the asterisk in each Snaap wordmark. */
.brand, .login-brand, .startup-logo {
  display: inline-flex;
  align-items: center;
}
.brand-symbol {
  display: block;
  flex: none;
  width: .35em;
  height: .425em;
  align-self: flex-start;
  margin-top: .045em;
  margin-left: .025em;
  overflow: visible;
}
.startup-logo .brand-symbol {
  animation: startup-wave .4s ease-in-out .78s both;
}
.brand-beta {
  flex: none;
  align-self: flex-end;
  margin: 0 0 5px 3px;
  padding: 2px 4px;
  border: 1px solid color-mix(in srgb, var(--muted) 20%, transparent);
  border-radius: 4px;
  background: color-mix(in srgb, var(--muted) 6%, transparent);
  color: var(--muted);
  font-size: 7px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .6px;
  white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
  .startup-logo .brand-symbol { animation: none; }
}
.mini-brand, .channel-snaap-mark, .channel-snaap-mini {
  background: #101011;
  color: #f4f4f5;
}
.brand-badge-symbol {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: inherit;
}
.channel-card-preview header .signal-brand {
  display: inline-flex;
  align-items: center;
  color: #f4f4f5;
}
/* scrollbars.css */
/* Shared, quiet scrollbars for every page and nested scroll region. */
:root {
  --scroll-thumb: color-mix(in srgb, var(--ink, #181818) 26%, transparent);
  --scroll-thumb-active: color-mix(in srgb, var(--ink, #181818) 48%, transparent);
}
:root[data-theme="dark"] {
  --scroll-thumb: color-mix(in srgb, var(--ink, #f4f4f5) 26%, transparent);
  --scroll-thumb-active: color-mix(in srgb, var(--ink, #f4f4f5) 48%, transparent);
}
* {
  scrollbar-width: thin;
  scrollbar-color: var(--scroll-thumb) transparent;
}
/* Chromium's standard scrollbar properties take precedence over these pseudos. */
@supports selector(::-webkit-scrollbar) {
  * {
    scrollbar-width: auto;
    scrollbar-color: auto;
  }
  ::-webkit-scrollbar {
    width: 4px;
    height: 4px;
  }
  ::-webkit-scrollbar-track,
  ::-webkit-scrollbar-corner {
    background: transparent;
  }
  ::-webkit-scrollbar-thumb {
    background: var(--scroll-thumb);
    border-radius: 999px;
  }
  ::-webkit-scrollbar-thumb:hover,
  ::-webkit-scrollbar-thumb:active {
    background: var(--scroll-thumb-active);
  }
  ::-webkit-scrollbar-button {
    display: none;
    width: 0;
    height: 0;
  }
}
@media (forced-colors: active) {
  * { scrollbar-color: auto; }
  ::-webkit-scrollbar-thumb { background: CanvasText; }
}
/* sentiment.css */
/* Loading silhouettes use the same responsive grids as the resolved market views. */
#view-sentiment .sf-loading { --skeleton-fill: var(--sf-soft); --skeleton-border: var(--sf-border); }
.sf-loading .skeleton-copy { flex: initial; width: 100%; }
.sf-loading .skeleton-card { background: var(--sf-panel); }
.sf-loading .sb-title,.sf-loading .sd-intro,.sf-loading .sp-head { padding: 8px 0; }
.sf-loading-row { display: grid; gap: 9px; padding: 12px 0; }
.sf-loading-row .skeleton-copy { display: flex; justify-content: space-between; }
.sf-loading-row .skeleton-line { width: 32%; height: 16px; }
.sf-loading-row .skeleton-block { height: 7px; margin: 0; }
.sf-loading .sb-price .skeleton-block { height: 32px; margin: 18px 0; }
.sf-loading .sf-loading-plot { height: 260px; margin: 24px 0; }
.sf-loading .sd-reading .skeleton-block,.sf-loading .sp-leaders .skeleton-block { height: 32px; margin: 16px 0; }
.sf-loading-assets { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-top: 24px; }
#sf-specialist-data > .skeleton { grid-column: 1 / -1; }
.sf-loading-specialists { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.sf-loading-score { grid-column: 1 / -1; padding: 24px; border: 1px solid var(--sf-border); border-radius: 12px; }
.sf-loading-score .skeleton-block { height: 14px; margin-bottom: 0; }
@media(max-width:760px) { .sf-loading-specialists { grid-template-columns: 1fr; } .sf-loading-assets { grid-template-columns: repeat(2,minmax(0,1fr)); } .sf-loading .sf-loading-plot { height: 200px; } }
#view-sentiment{--sf-bg:#f7f8fa;--sf-panel:#fff;--sf-soft:#f0f3f5;--sf-text:#20272e;--sf-muted:#65717c;--sf-border:#e0e5e9;--sf-in:#087f72;--sf-out:#bc5144;--sf-accent:#087f72;max-width:1600px;margin:auto;padding:30px 36px 48px;color:var(--sf-text);font-size:14px;line-height:1.6}
html[data-theme=dark] #view-sentiment{--sf-bg:#15191e;--sf-panel:#1b2026;--sf-soft:#232a32;--sf-text:#e8edf1;--sf-muted:#9aa7b4;--sf-border:#303842;--sf-in:#79c8b9;--sf-out:#e79586;--sf-accent:#79c8b9}
#view-sentiment *,#view-sentiment *::before,#view-sentiment *::after{box-sizing:border-box}#view-sentiment [hidden]{display:none!important}#view-sentiment button,#view-sentiment select{font:inherit;color:inherit}#view-sentiment button{cursor:pointer}#view-sentiment button:disabled{opacity:.5;cursor:wait}#view-sentiment :focus-visible{outline:2px solid var(--sf-accent);outline-offset:4px}#view-sentiment h1,#view-sentiment h2,#view-sentiment h3,#view-sentiment p{margin:0}#view-sentiment h2{font-size:15px;font-weight:650}#view-sentiment h3{font-size:14px;font-weight:650}#view-sentiment a{color:inherit;text-decoration:none}#view-sentiment a:hover{text-decoration:underline}.sf-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:middle}.sf-heading,.sf-head-actions,.sf-toolbar,.sf-panel-heading,.sf-section-title,.sf-specialist-head,.sf-specialist-foot{display:flex;align-items:center;justify-content:space-between;gap:16px}.sf-heading{margin-bottom:25px}.sf-eyebrow{color:var(--sf-muted);font-size:10px;letter-spacing:1.9px;font-weight:650}.sf-heading h1{font-size:29px;letter-spacing:-1px;font-weight:650;line-height:1.5}.sf-heading h1 span{font-size:15px;font-weight:400;letter-spacing:0;margin-left:16px;color:var(--sf-muted)}.sf-head-actions{gap:20px}.sf-icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--sf-border);border-radius:8px;background:var(--sf-panel)}.sf-icon-button:hover{background:var(--sf-soft)}.sf-toolbar{border-bottom:1px solid var(--sf-border);padding-bottom:16px}.sf-universes{display:flex;padding:4px;gap:4px;background:var(--sf-soft);border-radius:9px}.sf-universes button{display:flex;gap:8px;align-items:center;border:0;background:transparent;padding:7px 13px;border-radius:6px;min-height:36px;font-size:13px!important}.sf-universes button[aria-pressed=true]{background:var(--sf-panel);box-shadow:0 1px 4px #0000000b}.sf-universes small{color:var(--sf-muted);font-size:11px}.sf-period-label{display:flex;gap:12px;align-items:center;font-size:12px;color:var(--sf-muted)}.sf-period-label select{min-height:38px;background:var(--sf-panel);border:1px solid var(--sf-border);border-radius:6px;padding:6px 28px 6px 12px;max-width:240px}.sf-status{padding:13px 0;color:var(--sf-muted);font-size:11px;min-height:42px}.sf-status::before{content:'';display:inline-block;width:5px;height:5px;background:var(--sf-in);border-radius:50%;margin-right:8px}.sf-warning{color:var(--sf-out)!important}.sf-summary{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:32px;padding:7px 0 27px}.sf-total>span,.sf-stat>span{display:block;color:var(--sf-muted);font-size:12px}.sf-total small{font-size:10px;margin-left:8px}.sf-total>strong{font-size:42px;letter-spacing:-1.8px;line-height:1.45;font-weight:550;font-variant-numeric:tabular-nums}.sf-total p,.sf-stat>small{color:var(--sf-muted);font-size:11px;display:block}.sf-stat{padding-left:28px;border-left:1px solid var(--sf-border);align-self:center}.sf-stat strong{display:block;font-size:28px;font-weight:500;letter-spacing:-.7px;font-variant-numeric:tabular-nums;line-height:1.8}.sf-positive{color:var(--sf-in)}.sf-negative{color:var(--sf-out)!important}.sf-dot{display:inline-block;height:6px;width:6px;border-radius:50%;vertical-align:middle;margin-right:6px}.sf-positive-bg{background:var(--sf-in)}.sf-negative-bg{background:var(--sf-out)}.sf-workspace{display:grid;grid-template-columns:minmax(0,1fr) 280px;min-height:460px;border:1px solid var(--sf-border);border-radius:12px;overflow:hidden;background:var(--sf-panel)}.sf-panel-heading{padding:20px 22px 0}.sf-panel-heading p{color:var(--sf-muted);font-size:11px;margin-top:3px!important}.sf-map-controls{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--sf-muted)}.sf-map-controls .sf-icon-button{width:30px;height:30px}.sf-map-controls .sf-icon{width:14px}.sf-map{min-width:0;position:relative;background:radial-gradient(ellipse at 49% 48%,color-mix(in srgb,var(--sf-in) 5%,transparent),transparent 58%)}.sf-orbit{height:365px;position:relative;margin:0 8px}.sf-canvas{position:absolute;inset:0;overflow:hidden}.sf-canvas canvas{display:block;width:100%;height:100%}.sf-center{position:absolute;left:49%;top:48%;transform:translate(-50%,-50%);width:118px;height:118px;border:1px solid var(--sf-border);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--sf-panel);box-shadow:0 0 0 10px color-mix(in srgb,var(--sf-border) 23%,transparent);pointer-events:none}.sf-center>span{font-size:8px;font-weight:600;letter-spacing:1.5px;color:var(--sf-muted)}.sf-center>b{font-size:35px;font-weight:450;line-height:1.25}.sf-center small{font-size:11px;margin-left:5px;color:var(--sf-muted)}.sf-center em{font-size:10px;font-style:normal;color:var(--sf-muted)}.sf-node{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);padding:7px 10px;border:1px solid transparent;border-radius:7px;background:color-mix(in srgb,var(--sf-panel) 94%,transparent);text-align:left;min-width:118px;transition:border-color .2s,box-shadow .2s,background .2s}.sf-node>span{display:flex;align-items:center;gap:5px;font-size:11px;white-space:nowrap}.sf-node .sf-icon{width:13px;height:13px;opacity:.8}.sf-node b{display:block;font-size:18px;letter-spacing:-.5px;font-weight:550;line-height:1.5;font-variant-numeric:tabular-nums}.sf-in b{color:var(--sf-in)}.sf-out b{color:var(--sf-out)}.sf-node small{font-size:9px;color:var(--sf-muted);display:block}.sf-node:hover,.sf-node[aria-pressed=true]{border-color:color-mix(in srgb,var(--sf-in) 50%,var(--sf-border));background:var(--sf-panel);box-shadow:0 3px 16px #0000000b}.sf-map-foot{display:flex;justify-content:space-between;padding:0 22px 15px;gap:10px;font-size:10px;color:var(--sf-muted)}.sf-ranking{border-left:1px solid var(--sf-border);padding-bottom:16px}.sf-rank-axis{display:flex;justify-content:space-between;color:var(--sf-muted);font-size:10px;margin:15px 22px 7px}.sf-rank-row{width:100%;text-align:left;background:transparent;border:0;padding:9px 22px;display:block;transition:background .18s}.sf-rank-row:hover,.sf-rank-row[aria-pressed=true]{background:var(--sf-soft)}.sf-rank-name{display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:8px}.sf-rank-name b{font-weight:500;font-size:12px;font-variant-numeric:tabular-nums}.sf-rank-track{display:block;position:relative;height:7px;margin-top:7px;background:linear-gradient(90deg,transparent calc(50% - .5px),var(--sf-border) calc(50% - .5px),var(--sf-border) calc(50% + .5px),transparent calc(50% + .5px))}.sf-rank-track i{position:absolute;left:50%;width:var(--extent);top:1px;height:5px;background:var(--sf-in);border-radius:1px;transition:width .35s}.sf-out .sf-rank-track i{left:auto;right:50%;background:var(--sf-out)}.sf-rank-note{font-size:10px;color:var(--sf-muted);padding:12px 22px 0;line-height:1.8}.sf-detail{display:grid;grid-template-columns:1fr 1.65fr .95fr;margin-top:24px;padding:20px 0 23px;border-bottom:1px solid var(--sf-border);gap:28px}.sf-detail-heading{display:flex;gap:10px;align-items:center}.sf-market-icon{width:34px;height:34px;background:var(--sf-soft);border-radius:8px;display:grid;place-items:center}.sf-detail-heading span:not(.sf-market-icon){font-size:11px;color:var(--sf-muted)}.sf-detail-value{display:block;font-size:29px;font-weight:500;letter-spacing:-.8px;margin-top:12px}.sf-detail-overview>p{font-size:11px;color:var(--sf-muted)}.sf-change{display:flex;justify-content:space-between;gap:8px;margin-top:14px;font-size:11px;color:var(--sf-muted)}.sf-change b{font-weight:500;color:var(--sf-text)}.sf-section-title span{color:var(--sf-muted);font-size:11px}.sf-section-title h3{font-size:12px!important}.sf-history{display:flex;gap:5px;height:126px;width:100%;margin-top:13px}.sf-history-column{display:flex;flex:1;min-width:0;flex-direction:column;align-items:center;padding:0;border:0;background:transparent;border-radius:4px}.sf-history-column[aria-pressed=true],button.sf-history-column:hover{background:var(--sf-soft)}.sf-history-number{font-size:10px;white-space:nowrap;color:var(--sf-muted);font-variant-numeric:tabular-nums}.sf-history-track{width:100%;height:100%;position:relative;background:linear-gradient(transparent calc(50% - .5px),var(--sf-border) calc(50% - .5px),var(--sf-border) calc(50% + .5px),transparent calc(50% + .5px))}.sf-history-track i{position:absolute;width:46%;max-width:26px;left:50%;transform:translateX(-50%);height:var(--extent);bottom:50%;background:var(--sf-in);opacity:.7;border-radius:2px 2px 0 0}.sf-out .sf-history-track i{top:50%;bottom:auto;background:var(--sf-out);border-radius:0 0 2px 2px}.sf-history-column[aria-pressed=true] i{opacity:1}.sf-history-label{font-size:10px;color:var(--sf-muted);padding:4px 0}.sf-history-range{font-size:10px;color:var(--sf-muted);text-align:right}.sf-evidence{border-left:1px solid var(--sf-border);padding-left:24px}.sf-evidence>a{display:block;font-size:13px;margin:10px 0}.sf-evidence .sf-icon{width:13px}.sf-evidence p{font-size:11px;color:var(--sf-muted);line-height:1.9;margin-bottom:12px!important}.sf-source-tag{display:inline-block;font-size:10px;line-height:1.7;background:var(--sf-soft);border-radius:4px;padding:3px 8px;color:var(--sf-muted);white-space:nowrap}.sf-evidence>small{display:block;font-size:10px;color:var(--sf-muted);margin-top:7px}.sf-specialists{margin-top:28px}.sf-specialist-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:20px}.sf-specialist{min-width:0;background:var(--sf-panel);border:1px solid var(--sf-border);border-radius:10px;padding:20px}.sf-specialist-head>div{display:flex;align-items:center;gap:10px}.sf-specialist-head p{font-size:10px;color:var(--sf-muted);margin-top:2px!important}.sf-asset-symbol{width:34px;height:34px;border-radius:50%;background:var(--sf-soft);display:grid;place-items:center;font-size:16px}.sf-gold{color:#b78d45}.sf-crypto{color:#bd92d2}.sf-specialist-body{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px;align-items:center;margin:20px 0 12px}.sf-specialist-body>div>strong{font-size:26px;font-weight:500;letter-spacing:-.7px;white-space:nowrap}.sf-specialist-body p,.sf-specialist-body small{font-size:10px;color:var(--sf-muted);line-height:1.9}.sf-specialist-body .sf-history{height:100px;margin:0}.sf-specialist-body .sf-history-number{font-size:9px}.sf-specialist-foot{font-size:10px;border-top:1px solid var(--sf-border);padding-top:12px;flex-wrap:wrap;gap:6px}.sf-specialist-foot span{color:var(--sf-muted);margin-left:auto}.sf-source-note{font-size:10px;color:var(--sf-muted);margin-top:9px!important;line-height:1.9}.sf-snapshot{color:var(--sf-out)}.sf-method{font-size:11px;color:var(--sf-muted);margin-top:24px;padding-top:18px;border-top:1px solid var(--sf-border)}.sf-method details{border:0}.sf-method summary{cursor:pointer;display:flex;justify-content:space-between;min-height:30px;align-items:center;list-style:none}.sf-method details>div{display:grid;grid-template-columns:1fr 1fr;gap:14px 30px;line-height:1.9;margin-top:18px}.sf-signal{display:flex;align-items:center;gap:18px;margin-top:16px;padding:16px 20px;background:var(--sf-soft);border-radius:8px;font-size:12px}.sf-signal strong{font-size:23px;font-weight:500}.sf-signal p{color:var(--sf-muted);font-size:11px}.sf-signal a{font-size:10px;color:var(--sf-muted)!important}.sf-signal-meter{width:120px;height:4px;background:var(--sf-border);position:relative}.sf-signal-meter i{position:absolute;left:var(--value);width:7px;height:12px;top:-4px;background:var(--sf-text);border:2px solid var(--sf-soft);border-radius:3px}.sf-signal-meta{margin-left:auto;text-align:right}.sf-in,.sf-out,.sf-unknown{font-variant-numeric:tabular-nums}
@media(min-width:1550px){.sf-orbit{height:430px}.sf-node{min-width:140px}.sf-node>span{font-size:13px}.sf-node b{font-size:21px}.sf-node small{font-size:11px}.sf-workspace{grid-template-columns:minmax(0,1fr) 320px}.sf-rank-row{padding-top:12px;padding-bottom:12px}}
@media(max-width:1150px){#view-sentiment{padding:24px}.sf-workspace{grid-template-columns:minmax(0,1fr) 235px}.sf-orbit{height:355px}.sf-node{min-width:102px;padding:6px}.sf-node>span{font-size:10px}.sf-node b{font-size:16px}.sf-center{width:96px;height:96px}.sf-detail{grid-template-columns:1fr 1.5fr}.sf-evidence{grid-column:1/-1;border-left:0;border-top:1px solid var(--sf-border);padding:15px 0 0;display:flex;gap:16px;align-items:center;flex-wrap:wrap}.sf-evidence p{max-width:240px;margin:0!important}.sf-evidence>a,.sf-evidence>small{margin:0}.sf-specialist-grid{gap:16px}.sf-specialist{padding:16px}.sf-specialist-body{grid-template-columns:1fr}.sf-heading h1 span{display:block;margin:1px 0 0;font-size:13px}.sf-map-foot{font-size:9px}.sf-map-controls{gap:7px}.sf-panel-heading{padding:17px 16px 0}.sf-panel-heading h2{font-size:13px!important}.sf-summary{gap:20px}.sf-stat{padding-left:20px}.sf-stat strong{font-size:23px}}
@media(max-width:950px) and (min-width:761px){.sf-workspace{grid-template-columns:1fr}.sf-ranking{border-left:0;border-top:1px solid var(--sf-border)}.sf-rank-list{display:grid;grid-template-columns:1fr 1fr}.sf-rank-axis{display:none}.sf-rank-note{padding-top:5px}.sf-orbit{height:380px}}
@media(max-width:760px){#view-sentiment{padding:22px 18px 32px}.sf-heading{align-items:flex-start;gap:8px;margin-bottom:20px}.sf-heading h1{font-size:25px}.sf-head-actions{gap:10px}.sf-toolbar{align-items:stretch;flex-direction:column;gap:14px}.sf-universes{width:100%;justify-content:space-between}.sf-universes button{justify-content:center;flex:1;padding:8px}.sf-period-label{justify-content:space-between}.sf-period-label select{max-width:none;min-width:190px}.sf-status{font-size:10px;line-height:1.9}.sf-summary{grid-template-columns:1fr 1fr;gap:18px;padding-bottom:23px}.sf-total{grid-column:1/-1}.sf-total>strong{font-size:40px}.sf-stat{padding:0;border:0}.sf-stat strong{font-size:25px}.sf-stat>span{font-size:11px}.sf-workspace{grid-template-columns:1fr}.sf-ranking{border-left:0;border-top:1px solid var(--sf-border)}.sf-orbit{height:auto;margin:20px 14px 15px}.sf-canvas,.sf-center{display:none}.sf-orbit-labels{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sf-node{position:static;transform:none;min-height:82px;padding:10px 12px;border-color:var(--sf-border);width:100%;min-width:0}.sf-node>span{font-size:12px}.sf-node b{font-size:20px}.sf-node small{font-size:10px}.sf-map-controls .sf-icon-button{display:none}.sf-panel-heading{padding:18px 16px 0}.sf-panel-heading h2{font-size:14px!important}.sf-map-foot{font-size:10px;flex-direction:column;gap:2px;padding-left:16px}.sf-rank-row{padding:11px 18px;min-height:54px}.sf-rank-name,.sf-rank-name b{font-size:13px}.sf-rank-note br{display:none}.sf-rank-note{font-size:11px}.sf-detail{grid-template-columns:1fr;padding-top:0;gap:22px}.sf-detail-value{font-size:32px}.sf-change{justify-content:flex-start;gap:14px}.sf-detail-history{border-top:1px solid var(--sf-border);padding-top:18px}.sf-history{height:150px}.sf-history-number{font-size:11px}.sf-history-label{font-size:11px}.sf-evidence{display:block}.sf-evidence>a{margin:8px 0}.sf-evidence p{max-width:none;margin-bottom:10px!important}.sf-evidence>small{display:inline;margin-left:10px}.sf-specialist-grid{grid-template-columns:1fr}.sf-specialists>.sf-section-title{align-items:flex-start;flex-direction:column;gap:4px}.sf-specialist{padding:18px}.sf-specialist-head p{font-size:11px}.sf-specialist-body{grid-template-columns:1fr}.sf-specialist-body>div>strong{font-size:30px}.sf-specialist-body .sf-history{height:120px}.sf-specialist-body .sf-history-number{font-size:10px}.sf-specialist-foot,.sf-source-note{font-size:11px}.sf-method details>div{grid-template-columns:1fr}.sf-signal{flex-wrap:wrap;gap:12px}.sf-signal-meta{margin:0;text-align:left}.sf-signal-meter{flex:1;min-width:60px}}
@media(prefers-reduced-motion:reduce){#view-sentiment *{transition:none!important;animation:none!important}}
.sf-specialist-grid>.sf-signal{grid-column:1/-1;margin-top:0}.sf-signal strong small{font-size:11px;color:var(--sf-muted);margin-left:3px}

/* Scope against the workbench's shared control styling. */
#view-sentiment .sf-period-label{width:auto;white-space:nowrap;flex-shrink:0}
#view-sentiment .sf-period-label .snaap-select{width:190px;min-width:190px}
#view-sentiment .sf-period-label .snaap-select-trigger{height:40px;min-height:40px;background:var(--sf-panel);border-color:var(--sf-border);font-size:12px}
.sf-node{min-width:138px}.sf-node>span{font-size:12px}.sf-node b{font-size:21px}.sf-node small{font-size:10px}
.sf-status{font-size:12px}.sf-panel-heading p,.sf-map-foot,.sf-rank-note{font-size:11px}.sf-rank-name,.sf-rank-name b{font-size:13px}.sf-rank-row{padding-top:7px;padding-bottom:7px}.sf-orbit{height:370px}
.sf-total>span,.sf-stat>span{font-size:13px}.sf-total p,.sf-stat>small{font-size:12px}.sf-evidence p,.sf-source-note{font-size:12px}.sf-source-tag,.sf-evidence>small{font-size:11px}.sf-detail-overview>p,.sf-change{font-size:12px}.sf-specialist-body p,.sf-specialist-body small{font-size:12px}.sf-specialist-head p,.sf-specialist-foot{font-size:12px}.sf-specialist-body{grid-template-columns:1fr}.sf-specialist-body .sf-history{height:115px}.sf-specialist-body .sf-history-number{font-size:11px}.sf-specialist-body .sf-history-label{font-size:11px}
.sf-signal p{font-size:12px}.sf-signal a{font-size:11px}.sf-method{font-size:12px}
@media(max-width:1150px) and (min-width:951px){.sf-node{min-width:105px}.sf-node>span{font-size:10px}.sf-node b{font-size:17px}}
@media(max-width:760px){.sf-orbit{height:auto}.sf-node{min-width:0}.sf-node>span{font-size:12px}.sf-node b{font-size:20px}.sf-map-foot{font-size:10px}.sf-status{font-size:11px}.sf-stat>span{font-size:11px}.sf-stat>small{font-size:11px}.sf-specialist-head{gap:8px}.sf-specialist-head p{font-size:10px}.sf-source-tag{font-size:10px}.sf-signal{font-size:11px}.sf-signal strong{font-size:20px}}
/* Daily workspace: Snaap lime, sharp neutrals and a separate downside color. */
#view-sentiment{--sf-in:#507000;--sf-out:#c52e52;--sf-accent:#547800;--sf-bg:#f8f9f5;--sf-panel:#fff;--sf-soft:#f0f2e9;--sf-text:#181b15;--sf-muted:#687060;--sf-border:#e1e6d7;--sd-lime:var(--brand-lime,#d0f64c);padding-top:26px}
html[data-theme=dark] #view-sentiment{--sf-in:var(--brand-lime,#d0f64c);--sf-out:#ff6b8a;--sf-accent:var(--brand-lime,#d0f64c);--sf-bg:#111113;--sf-panel:#19191c;--sf-soft:#252529;--sf-text:#f5f5f7;--sf-muted:#aaaab4;--sf-border:#303034}
.sf-heading{margin-bottom:20px}.sf-heading h1{font-size:31px}.sf-heading .sf-eyebrow{color:var(--sf-accent);letter-spacing:2px;font-size:10px}.sf-view-tabs{display:flex;gap:28px;align-items:center;border-bottom:1px solid var(--sf-border);margin-bottom:24px}.sf-view-tabs>button{position:relative;min-height:52px;font-size:14px!important;font-weight:550;padding:0 0 15px;color:var(--sf-muted)!important}.sf-view-tabs>button[aria-pressed=true]{color:var(--sf-text)!important}.sf-view-tabs>button::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:3px;border-radius:3px;background:var(--sf-accent);transform:scaleX(0);transition:transform .25s cubic-bezier(.2,.8,.2,1)}.sf-view-tabs>button[aria-pressed=true]::after{transform:scaleX(1)}.sf-view-tabs>button span{font-size:10px;display:inline-block;background:var(--sd-lime);color:#202711;padding:1px 5px;border-radius:4px;margin-left:7px}.sf-view-tabs>span{margin-left:auto;font-size:11px;color:var(--sf-muted);padding-bottom:15px}.sd-intro{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.sd-intro h2{font-size:23px!important;letter-spacing:-.6px;font-weight:600!important}.sd-intro h2 span{color:var(--sf-muted);font-size:15px;font-weight:400;margin-left:12px;letter-spacing:0}.sd-intro p{font-size:12px;color:var(--sf-muted);margin-top:5px!important}.sd-range{display:flex;align-items:center;gap:12px;font-size:12px;white-space:nowrap;color:var(--sf-muted)}.sd-range b{font-size:11px;padding:5px 9px;border:1px solid var(--sf-border);border-radius:7px;color:var(--sf-text)}.sd-overview{display:grid;grid-template-columns:minmax(0,1fr) 268px;gap:18px}.sd-chart-card{min-width:0;border:1px solid var(--sf-border);border-radius:16px;padding:24px;background:var(--sf-panel);overflow:hidden}.sd-chart-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.sd-chart-asset{display:flex;align-items:center;gap:12px}.sd-asset-mark{height:36px;width:36px;border-radius:11px;display:grid;place-items:center;background:var(--sf-soft);color:var(--sf-text);font-weight:550;flex-shrink:0;font-size:18px}.sd-gold{background:#f2c24b1c;color:#d29b18}.sd-crypto{background:#a287ff1c;color:#976cf6}.sd-chart-asset .sd-asset-mark{width:44px;height:44px;font-size:22px;border-radius:13px}.sd-chart-asset h3{font-size:19px!important;font-weight:600!important}.sd-chart-asset p{font-size:11px;color:var(--sf-muted);margin-top:2px!important}.sd-chart-tag{font-size:10px;border:1px solid var(--sf-border);padding:5px 9px;border-radius:20px;color:var(--sf-muted);white-space:nowrap}.sd-chart-metrics{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-top:24px;font-variant-numeric:tabular-nums}.sd-chart-metrics>div>strong{font-size:40px;font-weight:500;letter-spacing:-1.8px;line-height:1.2;display:block}.sd-chart-metrics>div>span{display:block;font-size:13px;margin-top:6px}.sd-chart-metrics small{color:var(--sf-muted);font-size:11px;margin-left:5px}.sd-period-return{text-align:right}.sd-period-return>span{font-size:11px!important;color:var(--sf-muted)}.sd-period-return b{font-size:25px;font-weight:500;letter-spacing:-.6px}.sd-up{color:var(--sf-in)}.sd-down{color:var(--sf-out)}.sd-missing,.sd-flat{color:var(--sf-muted)}.sd-chart-date{display:flex;gap:14px;align-items:center;color:var(--sf-muted);font-size:11px;min-height:25px;margin-top:5px}.sd-chart-date button{color:var(--sf-accent)!important;font-size:11px!important;padding:0}.sd-main-chart{display:block;width:100%;height:190px;margin:14px 0 0;color:var(--chart-color);overflow:visible}.sd-main-chart text{fill:var(--sf-muted);font-size:10px;font-family:inherit}.sd-grid-line{stroke:var(--sf-border);stroke-width:.7;stroke-dasharray:2 5}.sd-zero{stroke-dasharray:4 4;stroke-width:1.2}.sd-price-line{fill:none;stroke:currentColor;stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1000;stroke-dashoffset:0;animation:sd-draw .6s cubic-bezier(.2,.8,.2,1)}.sd-crosshair{stroke:var(--sf-muted);stroke-width:1;stroke-dasharray:4 5}.sd-chart-days{display:grid;grid-template-columns:repeat(7,1fr);margin:0 5% 14px 1%;gap:2px}.sd-chart-days button{font-size:10px!important;color:var(--sf-muted)!important;min-height:32px;border-radius:6px;padding:4px;white-space:nowrap;transition:color .2s,background .2s,transform .2s}.sd-chart-days button:hover{background:var(--sf-soft);transform:translateY(-2px)}.sd-chart-days button[aria-pressed=true]{background:var(--sd-lime);color:#202711!important}.sd-chart-source{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--sf-border);padding-top:14px;color:var(--sf-muted);font-size:11px}.sd-chart-source>span small{display:block;font-size:10px;margin-top:3px}.sd-chart-source>a{font-size:11px;color:var(--sf-text)!important;white-space:nowrap;padding:7px 10px;border:1px solid var(--sf-border);border-radius:7px}.sd-chart-source>a:hover{border-color:var(--sf-accent);text-decoration:none!important}.sd-chart-note{font-size:10px;color:var(--sf-muted);margin-top:11px!important}.sd-reading{display:flex;flex-direction:column;gap:14px}.sd-breadth{padding:22px;background:var(--sf-panel);border:1px solid var(--sf-border);border-radius:16px;flex:1}.sd-kicker{font-size:9px;font-weight:600;letter-spacing:1.8px;color:var(--sf-muted)}.sd-breadth h3{font-size:15px!important;margin-top:6px!important}.sd-breadth-number{display:flex;align-items:center;gap:20px;margin-top:7px}.sd-breadth-number strong{font-size:48px;line-height:1.4;letter-spacing:-2px;font-weight:500}.sd-breadth-number strong small{font-size:20px;letter-spacing:-.5px;color:var(--sf-muted)}.sd-breadth-number>span{font-size:10px;color:var(--sf-muted);line-height:1.8}.sd-breadth-bars{display:flex;gap:5px;margin-top:5px}.sd-breadth-bars i{height:19px;flex:1;background:var(--sf-border);border-radius:2px}.sd-breadth-bars .is-up{background:var(--sf-in)}.sd-breadth-bars .is-down{background:var(--sf-out)}.sd-breadth>p{display:flex;gap:12px;font-size:10px;color:var(--sf-muted);margin-top:9px!important}.sd-mover{display:block;text-align:left;border-radius:16px;padding:18px 22px;border:1px solid var(--sf-border);transition:transform .2s,border-color .2s,box-shadow .2s}.sd-mover:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000000d}.sd-mover>span{display:flex;justify-content:space-between;font-size:11px;opacity:.8}.sd-mover strong{display:block;font-size:17px;font-weight:550;margin-top:7px}.sd-mover>b{display:block;font-size:33px;line-height:1.4;letter-spacing:-1px;font-weight:500}.sd-mover small{font-size:9px;display:block;margin-top:5px;opacity:.7}.sd-leader{background:var(--sd-lime);color:#202711!important;border-color:var(--sd-lime)}.sd-laggard{position:relative;background:var(--sf-panel)}.sd-laggard>strong{font-size:15px;max-width:55%;margin-top:10px}.sd-laggard>b{position:absolute;right:22px;bottom:14px;font-size:24px}.sd-market-board{margin-top:30px}.sd-board-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:19px}.sd-board-heading h2{font-size:18px!important;font-weight:600!important;letter-spacing:-.3px}.sd-board-heading p{font-size:11px;color:var(--sf-muted);margin-top:5px!important}.sd-legend{display:flex;gap:12px;font-size:10px;color:var(--sf-muted);white-space:nowrap}.sd-legend i{width:6px;height:6px;border-radius:2px;display:inline-block;vertical-align:middle;margin-right:4px}.sd-up-dot{background:var(--sf-in)}.sd-down-dot{background:var(--sf-out)}.sd-table-scroll{overflow-x:auto;scrollbar-width:thin;border:1px solid var(--sf-border);border-radius:14px;background:var(--sf-panel)}.sd-market-table{border-collapse:collapse;width:100%;min-width:750px;font-size:12px;font-variant-numeric:tabular-nums}.sd-market-table th,.sd-market-table td{padding:9px 4px;text-align:center;border-bottom:1px solid var(--sf-border)}.sd-market-table thead th{font-size:10px;font-weight:400;color:var(--sf-muted);padding:14px 5px;background:var(--sf-panel)}.sd-market-table th:first-child{width:200px;text-align:left;padding-left:18px;position:sticky;left:0;background:var(--sf-panel);z-index:1}.sd-market-table th:last-child,.sd-market-table td:last-child{width:112px;padding-right:14px}.sd-market-table tbody th{font-weight:500;padding-top:0;padding-bottom:0}.sd-market-table tbody th>button{width:100%;display:flex;align-items:center;gap:9px;text-align:left;min-height:58px;padding:5px 0;border:0}.sd-market-table tbody th>button>span:last-child{font-size:12px;white-space:nowrap}.sd-market-table th small{display:block;font-size:10px;color:var(--sf-muted);font-weight:400;margin-top:2px}.sd-market-table .sd-asset-mark{width:30px;height:30px;border-radius:9px;font-size:15px}.sd-market-table .is-selected th{box-shadow:inset 3px 0 var(--sf-accent);background:color-mix(in srgb,var(--sf-panel) 95%,var(--sd-lime))}.sd-market-table tr:hover td{background:color-mix(in srgb,var(--sf-panel) 97%,var(--sd-lime))}.sd-market-table tbody tr:last-child th,.sd-market-table tbody tr:last-child td{border-bottom:0}.sd-heat{display:flex;justify-content:center;align-items:center;gap:2px;min-height:35px;border-radius:6px;font-size:11px;min-width:62px;padding:4px;transition:background .2s}.sd-heat.sd-up{background:color-mix(in srgb,var(--sf-in) calc(8% + var(--strength)*22%),transparent)}.sd-heat.sd-down{background:color-mix(in srgb,var(--sf-out) calc(8% + var(--strength)*22%),transparent)}.sd-heat sup{font-size:9px;line-height:1;align-self:flex-start}.sd-total-return{font-size:12px;font-weight:550}.sd-spark{width:72px;height:21px;display:block;margin:1px auto 0;fill:none;stroke:var(--sf-muted);stroke-width:1.4}.sd-unavailable{color:var(--sf-muted);text-align:left!important}.sd-board-foot{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:var(--sf-muted);padding:12px 0}.sd-sync{font-size:11px;color:var(--sf-muted);margin:8px 0 0!important}.sd-sync::before{content:'';display:inline-block;width:5px;height:5px;background:var(--sf-accent);border-radius:50%;margin-right:7px}.sd-loading,.sd-empty{min-height:360px;display:flex;justify-content:center;flex-direction:column;align-items:center;gap:16px;background:var(--sf-panel);border:1px solid var(--sf-border);border-radius:16px;color:var(--sf-muted)}.sd-loading::before{content:'';height:22px;width:22px;border:2px solid var(--sf-border);border-top-color:var(--sf-accent);border-radius:50%;animation:sd-spin 1s linear infinite}.sd-empty p{font-size:12px;max-width:320px;text-align:center}.sf-specialists{border-top:1px solid var(--sf-border);padding-top:25px}
@keyframes sd-draw{from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}@keyframes sd-spin{to{transform:rotate(360deg)}}
@media(min-width:1550px){.sd-overview{grid-template-columns:minmax(0,1fr) 310px}.sd-main-chart{height:220px}.sd-chart-metrics>div>strong{font-size:48px}.sd-market-table tbody th>button>span:last-child{font-size:14px}.sd-heat{font-size:13px;min-height:39px}.sd-market-table thead th{font-size:12px}.sd-chart-days button{font-size:12px!important}.sd-chart-source{font-size:12px}.sd-chart-note{font-size:11px}}
@media(max-width:1150px){.sd-overview{grid-template-columns:minmax(0,1fr) 220px;gap:14px}.sd-chart-card{padding:20px}.sd-chart-metrics>div>strong{font-size:32px}.sd-breadth,.sd-mover{padding:18px}.sd-breadth-number{gap:12px}.sd-intro h2 span{display:block;margin:2px 0 0;font-size:13px}.sd-laggard>b{right:18px;font-size:20px}.sd-laggard>strong{font-size:13px}.sd-mover strong{font-size:15px}.sd-mover>b{font-size:29px}.sd-mover small{font-size:9px}.sd-chart-asset h3{font-size:17px!important}.sd-board-heading{align-items:flex-start;flex-direction:column;gap:9px}.sd-chart-metrics small{display:block;margin:0}.sd-period-return b{font-size:20px}.sd-chart-source{align-items:flex-start}.sd-chart-source>a{font-size:10px;padding:6px}.sd-chart-days button{font-size:9px!important}}
@media(max-width:950px){.sd-overview{grid-template-columns:1fr}.sd-reading{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:12px}.sd-breadth{padding:16px}.sd-breadth h3{font-size:13px!important}.sd-breadth-number strong{font-size:34px}.sd-breadth-number>span{display:none}.sd-breadth-bars{margin-top:5px;gap:3px}.sd-breadth-bars i{height:10px}.sd-breadth>p{font-size:9px;gap:6px}.sd-laggard>b{position:static;font-size:29px}.sd-laggard>strong{max-width:none;font-size:15px}.sd-mover{padding:16px}.sd-mover>span{font-size:10px}.sd-mover small{font-size:8px}.sd-chart-card{padding:24px}.sd-main-chart{height:200px}.sd-chart-metrics>div>strong{font-size:40px}.sd-chart-metrics small{display:inline;margin-left:5px}.sd-chart-days button{font-size:11px!important}.sd-chart-source>a{font-size:11px}.sf-view-tabs>span{display:none}}
@media(max-width:760px){.sf-heading h1{font-size:28px}.sf-heading h1 span{font-size:12px}.sf-view-tabs{gap:24px;margin-bottom:20px}.sf-view-tabs>button{font-size:13px!important;min-height:48px}.sd-intro{align-items:flex-start;margin-bottom:17px}.sd-intro h2{font-size:21px!important}.sd-intro h2 span{font-size:12px}.sd-intro p{font-size:11px;max-width:230px}.sd-range{font-size:10px;gap:6px;flex-direction:column;align-items:flex-end}.sd-range b{font-size:10px}.sd-chart-card{padding:18px;border-radius:14px}.sd-chart-asset .sd-asset-mark{width:38px;height:38px}.sd-chart-asset h3{font-size:17px!important}.sd-chart-asset p{font-size:10px}.sd-chart-tag{font-size:9px;padding:4px 6px}.sd-chart-metrics{margin-top:20px;gap:6px}.sd-chart-metrics>div>strong{font-size:34px;letter-spacing:-1.2px}.sd-period-return b{font-size:22px}.sd-chart-metrics>div>span{font-size:12px}.sd-chart-metrics small{font-size:10px;display:block;margin:0}.sd-main-chart{height:175px}.sd-chart-days{margin:0 0 10px;gap:0}.sd-chart-days button{font-size:9px!important;min-height:36px;padding:2px}.sd-chart-source{font-size:10px;gap:5px}.sd-chart-source>span small{font-size:9px}.sd-chart-source>a{font-size:10px;padding:6px}.sd-chart-note{font-size:9px;line-height:1.8}.sd-reading{grid-template-columns:1fr 1fr;gap:12px}.sd-breadth{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0 16px;padding:18px}.sd-breadth .sd-kicker{grid-column:1}.sd-breadth h3{grid-column:1;font-size:14px!important;margin-top:3px!important}.sd-breadth-number{grid-column:2;grid-row:1/3;justify-content:flex-end;margin:0}.sd-breadth-number>span{display:block;font-size:9px}.sd-breadth-number strong{font-size:42px}.sd-breadth-bars{grid-column:1/-1;margin-top:13px}.sd-breadth-bars i{height:13px}.sd-breadth>p{grid-column:1/-1;justify-content:space-between;font-size:10px;margin-top:8px!important}.sd-mover{min-height:142px}.sd-mover>b{font-size:28px}.sd-mover>strong{font-size:15px}.sd-mover small{font-size:9px}.sd-board-heading h2{font-size:18px!important}.sd-board-heading p{font-size:11px;line-height:1.8}.sd-market-board{margin-top:25px}.sd-board-foot{font-size:10px;flex-direction:column;gap:4px}.sd-market-table{min-width:780px}.sd-market-table th:first-child{width:160px;padding-left:12px}.sd-market-table tbody th>button{min-height:60px;gap:7px}.sd-market-table tbody th>button>span:last-child{font-size:11px}.sd-heat{min-width:62px;font-size:11px}.sd-sync{font-size:10px}.sf-specialists{padding-top:20px}.sd-legend{font-size:11px}.sd-loading{font-size:12px}}
/* Keep date targets aligned with the chart coordinates at every aspect ratio. */
.sd-chart-days{display:block;position:relative;height:38px;margin:0 0 14px}.sd-chart-days button{position:absolute;left:calc(4.85% + var(--day-index)*14.647%);transform:translateX(-50%);font-size:11px!important;min-width:38px;min-height:36px}.sd-chart-days button:hover{transform:translateX(-50%) translateY(-2px)}.sd-main-chart{height:200px}.sd-chart-asset p,.sd-chart-tag,.sd-chart-date,.sd-chart-note,.sd-chart-source>span small{font-size:11px}.sd-chart-source,.sd-chart-source>a,.sd-breadth-number>span,.sd-breadth>p,.sd-board-heading p,.sd-market-table thead th,.sd-sync{font-size:12px}.sd-market-table tbody th>button>span:last-child,.sd-heat{font-size:13px}.sd-market-table th:first-child{width:210px}.sd-mover small{font-size:10px}.sd-chart-source>span{min-width:0}.sd-chart-source>span small{overflow-wrap:anywhere}
@media(max-width:760px){.sd-chart-days button{font-size:9px!important;min-width:32px;padding:2px}.sd-main-chart{height:170px}.sd-chart-source,.sd-chart-source>a,.sd-chart-source>span small{font-size:10px}.sd-chart-note{font-size:10px}.sd-breadth-number>span{font-size:9px}.sd-market-table th:first-child{width:165px}.sd-market-table tbody th>button>span:last-child{font-size:11px}.sd-heat{font-size:12px}.sd-sync{font-size:11px}.sd-breadth>p{font-size:10px}.sd-chart-metrics>div>strong{font-size:30px}.sd-chart-metrics small{font-size:10px}.sd-chart-tag{font-size:9px}}
@media(max-width:760px){.sd-main-chart text{font-size:19px}.sd-main-chart .sd-price-line{vector-effect:non-scaling-stroke;stroke-width:2}.sd-chart-card{padding-left:16px;padding-right:16px}}

/* The shared active-button scale must preserve positioned control anchors. */
#view-sentiment .sf-node:active{transform:translate(-50%,-50%) scale(.98)}
#view-sentiment .sd-chart-days button:active{transform:translateX(-50%)}
@media(max-width:760px){#view-sentiment .sf-node:active{transform:scale(.98)}}
.sd-chart-frame{position:relative;margin-top:14px}.sd-chart-frame .sd-main-chart{margin-top:0}.sd-axis-label{position:absolute;right:0;transform:translateY(-50%);font-size:10px;color:var(--sf-muted);font-variant-numeric:tabular-nums;pointer-events:none}.sf-specialist-body{grid-template-columns:minmax(0,1fr)}.sf-specialist-body>div{min-width:0}.sf-specialist-body .sf-history{overflow-x:auto;scrollbar-width:thin}.sf-specialist-body .sf-history-column{min-width:48px}
/* Morning brief: one takeaway, directional flows, then the latest price move. */
.sb-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:4px 0 24px}.sb-title h2{font-size:27px!important;letter-spacing:-.7px;font-weight:600!important}.sb-title p{font-size:14px;color:var(--sf-muted);margin-top:4px!important}.sb-title>span{font-size:13px;color:var(--sf-muted);white-space:nowrap}.sb-report{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--sf-muted);padding:16px 0;border-top:1px solid var(--sf-border)}.sb-report>span:first-child{font-weight:600;color:var(--sf-text)}.sb-report>span+span::before{content:'·';margin-right:12px}.sb-report>b{font-size:12px;color:var(--sf-out);font-weight:400}.sb-flow-stage{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:center;padding:12px 0 30px;border-bottom:1px solid var(--sf-border)}.sb-takeaway{align-self:center;animation:sb-enter .45s ease both}.sb-eyebrow{font-size:14px;color:var(--sf-muted)}#view-sentiment .sb-takeaway h2{font-size:clamp(32px,3.5vw,48px);font-weight:550;line-height:1.35;letter-spacing:-1.5px;margin:4px 0 12px}.sb-takeaway h2>span{display:inline-block;font-size:.75em;margin-left:15px;vertical-align:middle}.sb-positive{color:var(--sf-in)}.sb-negative{color:var(--sf-out)}.sb-exit{font-size:17px;color:var(--sf-muted)}.sb-exit strong{font-weight:500;color:var(--sf-out)}.sb-net{display:flex;align-items:center;gap:12px;margin-top:27px;font-size:13px}.sb-net>span{color:var(--sf-muted)}.sb-net b{font-size:16px;font-weight:500;font-variant-numeric:tabular-nums}.sb-takeaway>a{display:inline-block;margin-top:8px;color:var(--sf-muted)!important;font-size:12px}.sb-lanes{min-width:0}.sb-lane{display:block;width:100%;border:0;background:transparent;text-align:left;padding:12px 0 13px;animation:sb-enter .45s ease both;animation-delay:var(--delay);border-radius:4px;transition:background .2s}.sb-lane:hover{background:var(--sf-soft)}#view-sentiment .sb-lane.sb-positive{color:var(--sf-in)}#view-sentiment .sb-lane.sb-negative{color:var(--sf-out)}.sb-lane-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.sb-lane-heading>strong{font-size:15px;font-weight:500;color:var(--sf-text)}.sb-lane-heading>span{display:flex;align-items:center;gap:8px;font-size:12px}.sb-lane-heading b{font-size:24px;font-weight:500;letter-spacing:-.5px;font-variant-numeric:tabular-nums;min-width:95px;text-align:right}.sb-lane-heading i{font-size:20px;font-style:normal;width:22px;text-align:right}.sb-track{display:block;margin-top:9px;height:7px;background:var(--sf-soft);border-radius:10px;overflow:hidden}.sb-stream{display:block;height:100%;width:var(--extent);min-width:3px;background:currentColor;border-radius:10px;position:relative;overflow:hidden;opacity:.85}.sb-stream::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);width:45%;transform:translateX(-150%);animation:sb-stream 2.8s linear infinite;animation-delay:var(--delay)}.sb-negative .sb-stream::after{animation-direction:reverse}.sb-flow-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;color:var(--sf-muted);margin-top:8px}.sb-flow-caption button{font-size:10px!important;padding:4px 0;white-space:nowrap;color:var(--sf-muted)!important;background:transparent;border:0}.sb-paused .sb-stream::after,.sb-inactive .sb-stream::after{animation-play-state:paused}.sb-prices{padding-top:24px}.sb-prices-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.sb-prices-heading h3{font-size:18px!important;font-weight:550!important}.sb-prices-heading>span{font-size:12px;color:var(--sf-muted)}.sb-price-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0}.sb-price{min-width:0;position:relative;text-align:left;border:0;border-right:1px solid var(--sf-border);background:transparent;padding:10px 14px 12px;transition:background .2s,transform .2s;border-radius:5px}.sb-price:first-child{padding-left:0}.sb-price:last-child{border-right:0}.sb-price:hover{background:var(--sf-soft);transform:translateY(-3px)}#view-sentiment .sb-price.sb-positive{color:var(--sf-in)}#view-sentiment .sb-price.sb-negative{color:var(--sf-out)}.sb-price>span:first-child{font-size:14px;color:var(--sf-text);display:block}.sb-price strong{font-size:28px;font-weight:500;letter-spacing:-1px;line-height:1.45;display:block;margin-top:7px;font-variant-numeric:tabular-nums;white-space:nowrap}.sb-price small{display:block;font-size:12px}.sb-price time{display:block;color:var(--sf-muted);font-size:10px;margin-top:9px;white-space:nowrap}.sb-price-arrow{position:absolute;right:12px;top:10px;opacity:0;color:var(--sf-muted);transition:opacity .2s}.sb-price:hover .sb-price-arrow,.sb-price:focus-visible .sb-price-arrow{opacity:1}.sb-quiet{color:var(--sf-muted)!important}.sb-price-note{font-size:11px;color:var(--sf-muted);margin-top:16px!important}.sb-more{display:flex;align-items:center;gap:22px;margin-top:22px;padding-top:17px;border-top:1px solid var(--sf-border);font-size:12px}.sb-more>span{color:var(--sf-muted)}.sb-more button{font-size:12px!important;padding:8px 0;background:transparent;border:0}.sb-more button>span{margin-left:8px;color:var(--sf-accent)}.sb-loading,.sb-unavailable{padding:55px 0;color:var(--sf-muted);font-size:14px}.sb-unavailable h2{color:var(--sf-text);font-size:22px!important;margin-bottom:10px!important}
@keyframes sb-stream{to{transform:translateX(350%)}}@keyframes sb-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1550px){.sb-flow-stage{grid-template-columns:1fr 1.3fr;gap:90px;padding-bottom:35px}.sb-price strong{font-size:34px}.sb-price time{font-size:12px}.sb-flow-caption,.sb-flow-caption button{font-size:11px!important}}
@media(max-width:1150px){.sb-flow-stage{gap:32px;grid-template-columns:.8fr 1.2fr}.sb-price-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 0}.sb-price:nth-child(4){border-right:0}.sb-price:nth-child(5){padding-left:0}.sb-flow-caption{align-items:flex-start;flex-direction:column;gap:0}.sb-lane-heading>strong{font-size:13px}.sb-lane-heading b{font-size:22px;min-width:80px}.sb-exit{font-size:14px}.sb-net{flex-direction:column;align-items:flex-start;gap:3px}.sb-title h2{font-size:24px!important}.sb-report{font-size:11px}}
@media(max-width:760px){.sf-view-tabs{gap:20px}.sf-view-tabs>button{font-size:12px!important}.sb-title{margin:0 0 18px;align-items:flex-start}.sb-title h2{font-size:23px!important}.sb-title p{font-size:12px;max-width:210px}.sb-title>span{font-size:11px;padding-top:5px}.sb-report{gap:4px;flex-direction:column;align-items:flex-start;font-size:12px;padding:14px 0}.sb-report>span+span::before{display:none}.sb-flow-stage{grid-template-columns:1fr;gap:14px;padding:4px 0 20px}.sb-takeaway{position:relative}.sb-takeaway h2{font-size:37px!important;margin-bottom:5px!important}.sb-eyebrow{font-size:12px}.sb-exit{font-size:15px}.sb-net{flex-direction:row;align-items:center;gap:10px;margin-top:15px}.sb-net b{font-size:14px}.sb-takeaway>a{font-size:11px}.sb-lane{padding:9px 0}.sb-lane-heading>strong{font-size:14px}.sb-lane-heading b{font-size:23px}.sb-flow-caption{flex-direction:row;align-items:center;font-size:9px;gap:8px}.sb-flow-caption button{font-size:9px!important;min-height:44px}.sb-prices{padding-top:22px}.sb-prices-heading h3{font-size:17px!important}.sb-prices-heading>span{font-size:10px}.sb-price-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 0}.sb-price{padding:12px 15px!important}.sb-price:nth-child(2n){border-right:0}.sb-price:nth-child(2n+1){padding-left:0!important}.sb-price strong{font-size:32px}.sb-price time{font-size:11px}.sb-price-note{font-size:11px;line-height:1.8}.sb-more{flex-wrap:wrap;gap:6px 20px;font-size:12px}.sb-more>span{width:100%}.sb-more button{min-height:44px}.sb-lane-heading b{min-width:83px}}
/* Fit the complete brief, including prices, into a laptop viewport. */
#view-sentiment .sf-heading{margin-bottom:8px}#view-sentiment .sf-heading h1{line-height:1.25}#view-sentiment .sf-view-tabs{margin-bottom:18px}#view-sentiment .sf-view-tabs>button{min-height:44px;padding-bottom:12px}.sb-title{margin-bottom:18px}.sb-title h2{line-height:1.3}.sb-report{padding:12px 0}.sb-flow-stage{padding:6px 0 23px}.sb-lane{padding:9px 0}.sb-lane-heading{line-height:1.2}.sb-lane-heading b{line-height:1.2}.sb-track{height:6px;margin-top:8px}.sb-price strong{line-height:1.2}.sb-prices{padding-top:20px}.sb-flow-caption{margin-top:5px}.sb-flow-caption button{line-height:1.4}.sb-takeaway h2{line-height:1.2!important}.sb-net{margin-top:20px}
@media(min-width:1550px){.sb-flow-stage{padding-bottom:23px}}
@media(max-width:760px){.sb-lane{padding:10px 0}.sb-title h2{font-size:22px!important}.sb-flow-stage{gap:12px}.sb-net{margin-top:12px}.sb-flow-caption button{min-height:44px}}
.sb-price-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.sb-expand{font-size:12px;font-style:normal;color:var(--sf-muted);margin-left:4px}.sb-drill{margin-top:22px;padding:22px;background:var(--sf-panel);border:1px solid var(--sf-border);border-radius:14px;animation:sb-enter .25s ease both}.sb-drill-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.sb-drill-head>div{display:flex;align-items:center;gap:10px}.sb-drill-head h3{font-size:17px!important;font-weight:550!important}.sb-drill-head button{width:36px;height:36px;background:var(--sf-soft);border:0;border-radius:50%;font-size:22px!important;flex-shrink:0}.sb-driver{font-size:19px;line-height:1.6;margin-bottom:20px!important;color:var(--sf-muted)}.sb-driver strong,.sb-driver b{font-weight:550;color:var(--sf-text)}.sb-driver b{color:var(--sf-in)}.sb-crypto-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.sb-crypto-groups>button{border:1px solid var(--sf-border);border-radius:10px;text-align:left;background:transparent;padding:18px;transition:background .2s,border-color .2s}.sb-crypto-groups>button:hover{background:var(--sf-soft);border-color:var(--sf-accent)}.sb-crypto-groups strong{display:flex;justify-content:space-between;font-size:16px;font-weight:500}.sb-crypto-groups strong span{color:var(--sf-muted)}.sb-crypto-groups b{display:block;font-size:29px;font-weight:500;margin-top:12px;letter-spacing:-.8px}.sb-crypto-groups small{display:block;font-size:11px;color:var(--sf-muted);margin-top:2px}.sb-crypto-groups>button>span:last-child{display:block;font-size:12px;color:var(--sf-muted);margin-top:10px}.sb-contribution{height:4px;background:var(--sf-border);display:block;margin-top:16px;border-radius:4px;overflow:hidden}.sb-contribution i{height:100%;display:block;background:var(--sf-in);transition:width .3s}.sb-drill-note{font-size:11px;color:var(--sf-muted);line-height:1.8;margin-top:19px!important}.sb-drill-note a{text-decoration:underline!important}.sb-drill-sub{color:var(--sf-muted);font-size:12px;margin-bottom:10px!important}.sb-coin-row{display:grid;grid-template-columns:1.5fr 1fr 1.2fr 20px;align-items:center;gap:15px;width:100%;text-align:left;padding:13px 0;border:0;border-bottom:1px solid var(--sf-border);background:transparent}.sb-coin-row:hover{background:var(--sf-soft)}.sb-coin-row strong{font-size:14px;font-weight:500}.sb-coin-row small{display:block;font-size:10px;color:var(--sf-muted);font-weight:400}.sb-coin-row>span:nth-child(2),.sb-coin-row>b{text-align:right;font-size:17px;font-weight:500;font-variant-numeric:tabular-nums}.sb-coin-row>i{font-style:normal;color:var(--sf-muted)}.sb-coin-list summary{cursor:pointer;padding:15px 0;color:var(--sf-muted);font-size:12px}.sb-coin-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:12px 0 20px}.sb-coin-summary span{font-size:12px;color:var(--sf-muted)}.sb-coin-summary strong{display:block;font-size:30px;font-weight:500;margin-top:5px;font-variant-numeric:tabular-nums}.sb-coin-link{font-size:13px;color:var(--sf-accent)!important}
@media(max-width:1150px){.sb-price-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sb-price:nth-child(3n){border-right:0}.sb-price:nth-child(4){border-right:1px solid var(--sf-border);padding-left:0}.sb-price:nth-child(5){padding-left:14px}}
@media(max-width:760px){.sb-price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sb-price:nth-child(3){border-right:1px solid var(--sf-border)}.sb-price:nth-child(4){border-right:0}.sb-drill{padding:16px;margin-top:18px}.sb-drill-head h3{font-size:15px!important}.sb-drill-head button{min-width:44px;min-height:44px}.sb-driver{font-size:17px}.sb-crypto-groups{grid-template-columns:1fr;gap:10px}.sb-crypto-groups>button{display:grid;grid-template-columns:1fr 1fr;gap:3px 12px;padding:15px}.sb-crypto-groups strong{font-size:15px;align-self:center}.sb-crypto-groups b{text-align:right;font-size:25px;margin:0}.sb-crypto-groups small{grid-column:2;text-align:right}.sb-contribution{grid-column:1/-1;margin-top:9px}.sb-crypto-groups>button>span:last-child{grid-column:1/-1;font-size:11px;margin-top:5px}.sb-coin-row{grid-template-columns:1.25fr .8fr 1.1fr;gap:7px}.sb-coin-row>i{display:none}.sb-coin-row strong{font-size:12px}.sb-coin-row>span:nth-child(2),.sb-coin-row>b{font-size:14px}.sb-coin-row small{font-size:9px}.sb-coin-summary{grid-template-columns:1fr;gap:15px}.sb-coin-summary>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.sb-coin-summary strong{font-size:24px;margin:0}.sb-drill-note{font-size:10px}}
.sb-driver b{color:var(--sb-direction,var(--sf-in))}.sb-contribution i{background:var(--sb-direction,var(--sf-in))}
/* Market identity colors stay separate from the lime/pink direction scale. */
#view-sentiment{--sf-gold:#976500;--sf-blue:#2669c6;--sf-violet:#7650c4;--sf-orange:#ac5b05;--sf-teal:#08786e;--sf-pink:#b83773}
html[data-theme=dark] #view-sentiment{--sf-gold:#ffcf5c;--sf-blue:#78b1ff;--sf-violet:#b29aff;--sf-orange:#ffb45c;--sf-teal:#60d8c4;--sf-pink:#ff8fc7}
[data-brief-asset=spy],.sd-equity,[data-stock-detail]{--market-color:var(--sf-blue)}
[data-brief-asset=gld],.sd-gold,[data-specialist=gold]{--market-color:var(--sf-gold)}
[data-brief-asset=tlt],.sd-bond{--market-color:var(--sf-teal)}
[data-brief-asset=uso],.sd-commodity{--market-color:var(--sf-orange)}
[data-brief-asset=uup],.sd-currency{--market-color:var(--sf-blue)}
[data-brief-asset=crypto],.sd-crypto,[data-specialist=crypto],[data-crypto-group=altcoins]{--market-color:var(--sf-violet)}
.sd-property{--market-color:var(--sf-pink)}
[data-crypto-group=bitcoin]{--market-color:var(--sf-orange)}
[data-crypto-group=ethereum]{--market-color:var(--sf-blue)}
#view-sentiment .sf-view-tabs>button[aria-pressed=true]{color:var(--sf-accent)!important}
#view-sentiment .sf-icon-button{min-width:44px;min-height:44px;transition:background .2s,border-color .2s}
#view-sentiment .sf-icon-button:hover{color:var(--sf-accent);border-color:var(--sf-accent)}
#view-sentiment .sb-price-grid{gap:12px}
#view-sentiment .sb-price{padding:16px!important;border:1px solid var(--sf-border);border-radius:12px;background:var(--sf-panel);overflow:hidden}
#view-sentiment .sb-price>span:first-child{display:flex;align-items:center;gap:8px;font-size:13px}
.sb-asset-mark{display:inline-grid;place-items:center;flex-shrink:0;width:30px;height:30px;border-radius:9px;font-size:16px;font-style:normal;font-weight:600;color:var(--market-color);background:color-mix(in srgb,var(--market-color) 14%,transparent)}
#view-sentiment .sb-price strong{margin-top:13px}
#view-sentiment .sb-price::after{content:'';position:absolute;bottom:0;left:16px;right:16px;height:2px;background:currentColor;opacity:.65}
#view-sentiment .sb-price:hover,#view-sentiment .sb-price[aria-expanded=true]{border-color:var(--market-color);background:color-mix(in srgb,var(--market-color) 6%,var(--sf-panel))}
#view-sentiment .sb-price[aria-expanded=true] .sb-expand{color:var(--market-color)}
.sb-price-arrow{right:10px;top:8px}
#view-sentiment .sb-crypto-groups>button{border-top:2px solid var(--market-color);background:color-mix(in srgb,var(--market-color) 4%,var(--sf-panel));transition:background .2s,border-color .2s,transform .2s}
#view-sentiment .sb-crypto-groups>button:hover{background:color-mix(in srgb,var(--market-color) 10%,var(--sf-panel));border-color:var(--market-color);transform:translateY(-2px)}
.sb-crypto-groups strong::before{content:'';width:8px;height:8px;flex-shrink:0;border-radius:50%;background:var(--market-color);margin-right:8px}
#view-sentiment .sb-crypto-groups strong{justify-content:flex-start;align-items:center}
.sb-crypto-groups strong>span{margin-left:auto}
#view-sentiment .sd-asset-mark{color:var(--market-color);background:color-mix(in srgb,var(--market-color) 14%,transparent)}
#view-sentiment .sd-chart-card{border-top:2px solid var(--sf-accent)}
.sd-breadth-number strong{color:var(--sf-in)}
.sd-spark{stroke:var(--sf-accent)}
.sd-market-table td:has(.sd-total-return.sd-down) .sd-spark{stroke:var(--sf-out)}
#view-sentiment .sf-node.sf-out:hover,#view-sentiment .sf-node.sf-out[aria-pressed=true]{border-color:var(--sf-out);background:color-mix(in srgb,var(--sf-out) 7%,var(--sf-panel))}
#view-sentiment .sf-rank-row.sf-out[aria-pressed=true]{background:color-mix(in srgb,var(--sf-out) 9%,var(--sf-panel))}
#view-sentiment .sf-rank-row.sf-in[aria-pressed=true]{background:color-mix(in srgb,var(--sf-in) 9%,var(--sf-panel))}
#view-sentiment .sf-specialist{border-radius:14px;border-top:2px solid var(--market-color)}
#view-sentiment .sf-asset-symbol{width:42px;height:42px;border-radius:12px;color:var(--market-color);background:color-mix(in srgb,var(--market-color) 14%,transparent);font-size:21px}
#view-sentiment .sf-source-tag:not(.sf-snapshot){color:var(--sf-in);background:color-mix(in srgb,var(--sf-in) 10%,transparent)}
#view-sentiment .sf-source-tag:not(.sf-snapshot)::before{content:'';display:inline-block;width:5px;height:5px;margin-right:6px;vertical-align:middle;border-radius:50%;background:currentColor}
#view-sentiment .sf-history-track i{opacity:.95}
#view-sentiment .sf-specialist-body .sf-history-column{min-width:72px}
/* A labeled scale communicates sentiment without treating greed as a buy signal. */
#view-sentiment .sf-signal{--mood-color:var(--sf-in);display:grid;grid-template-columns:minmax(240px,1fr) auto minmax(260px,1.25fr);gap:22px 30px;align-items:center;padding:24px;background:var(--sf-panel);border:1px solid var(--sf-border);border-left:3px solid var(--mood-color);border-radius:14px;animation:sb-enter .35s ease both}
#view-sentiment .sf-signal[data-mood="Extreme Fear"]{--mood-color:var(--sf-out)}
#view-sentiment .sf-signal[data-mood="Fear"]{--mood-color:var(--sf-orange)}
#view-sentiment .sf-signal[data-mood="Neutral"]{--mood-color:var(--sf-gold)}
#view-sentiment .sf-signal[data-mood="Extreme Greed"]{--mood-color:var(--sf-teal)}
.sf-signal-heading{display:flex;align-items:center;gap:12px}
.sf-bitcoin-mark{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:50%;background:color-mix(in srgb,var(--sf-orange) 15%,transparent);color:var(--sf-orange);font-size:27px}
#view-sentiment .sf-signal-heading h3{font-size:16px}
#view-sentiment .sf-signal-heading p{font-size:12px;margin-top:3px}
.sf-signal-score{display:flex;align-items:center;gap:14px}
#view-sentiment .sf-signal-score strong{font-size:48px;line-height:1.1;letter-spacing:-2px;font-weight:550;font-variant-numeric:tabular-nums;color:var(--mood-color);white-space:nowrap}
#view-sentiment .sf-signal-score strong small{font-size:13px;letter-spacing:0;margin-left:5px;font-weight:400}
.sf-mood-label{padding:5px 12px;border-radius:7px;font-size:13px;font-weight:550;white-space:nowrap;color:var(--mood-color);background:color-mix(in srgb,var(--mood-color) 13%,transparent)}
.sf-signal-scale{min-width:0;padding-top:8px}
#view-sentiment .sf-signal-meter{display:flex;gap:4px;width:100%;height:10px;background:none;border-radius:0;position:relative}
.sf-mood-band{height:100%;flex:25;background:#ff6b8a;border-radius:3px}
.sf-mood-band:nth-child(2){flex:20;background:#ffb45c}
.sf-mood-band:nth-child(3){flex:11;background:#ffe080}
.sf-mood-band:nth-child(4){flex:19;background:var(--sd-lime)}
.sf-mood-band:nth-child(5){flex:25;background:#60d8c4}
#view-sentiment .sf-signal-meter i{position:absolute;left:clamp(5px,var(--value),calc(100% - 5px));transform:translateX(-50%);width:4px;height:20px;top:-5px;background:var(--sf-text);border:0;border-radius:3px;box-shadow:0 0 0 3px var(--sf-panel)}
.sf-signal-labels{display:flex;justify-content:space-between;gap:8px;margin-top:12px;font-size:11px;color:var(--sf-muted)}
#view-sentiment .sf-signal-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 6px;margin:6px 0 0;text-align:left;font-size:12px;line-height:1.5;color:var(--sf-muted)}
#view-sentiment .sf-signal-meta a{font-size:inherit;color:var(--sf-text)!important}
@media(max-width:1150px){#view-sentiment .sf-signal{grid-template-columns:1fr auto;gap:20px}.sf-signal-scale{grid-column:1/-1}#view-sentiment .sb-price{padding:14px!important}}
@media(max-width:760px){#view-sentiment .sb-price-grid{gap:10px}#view-sentiment .sb-price{padding:12px!important}#view-sentiment .sb-price>span:first-child{gap:6px;font-size:12px}#view-sentiment .sb-price strong{font-size:28px;margin-top:11px}.sb-asset-mark{width:27px;height:27px;font-size:14px}#view-sentiment .sf-signal{padding:18px;grid-template-columns:1fr;gap:18px}.sf-signal-score{justify-content:space-between}#view-sentiment .sf-signal-score strong{font-size:46px}.sf-signal-scale{grid-column:1}.sf-signal-labels{font-size:10px}#view-sentiment .sf-signal-heading h3{font-size:15px}.sf-specialist-head{flex-wrap:wrap}.sf-signal-scale{padding-bottom:3px}}
/* Short section labels share a single baseline with dates and legends. */
#view-sentiment .sf-heading{margin-bottom:16px;min-height:44px}
#view-sentiment .sf-heading h1{line-height:1.2}
#view-sentiment .sb-title,#view-sentiment .sd-intro{align-items:center;margin-bottom:20px;min-height:34px}
#view-sentiment .sb-title h2,#view-sentiment .sd-intro h2{font-size:22px!important;letter-spacing:-.4px}
#view-sentiment .sd-board-heading{align-items:center;margin-bottom:14px}
#view-sentiment .sd-board-heading h2{font-size:17px!important;letter-spacing:0}
.sd-board-heading h2>span{font-size:13px;font-weight:400;color:var(--sf-muted);margin-left:4px}
.sd-board-foot{line-height:1.7}

.sb-calculation{font-size:11px;color:var(--sf-muted);margin-top:5px}
.sb-calculation summary{cursor:pointer;min-height:36px;display:flex;align-items:center;gap:7px;list-style:none}
.sb-calculation summary::before{content:'+';font-size:15px}
.sb-calculation[open] summary::before{content:'−'}
.sb-calculation p{max-width:720px;line-height:1.8;padding:2px 0 8px}
.sb-flow-stage .sb-stream::after{display:none}
.sb-flow-stage .sb-lane-heading b{min-width:118px}
.sp-loading,.sp-unavailable{padding:52px 0;color:var(--sf-muted)}.sp-unavailable h2{font-size:20px!important;color:var(--sf-text)}
.sp-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:8px 0 5px}.sp-head h2{font-size:24px!important;letter-spacing:-.6px}.sp-head p{color:var(--sf-muted);font-size:12px}.sp-head label{display:flex;align-items:center;gap:10px;color:var(--sf-muted);font-size:12px;white-space:nowrap}.sp-head select{min-height:40px;padding:6px 12px;border:1px solid var(--sf-border);border-radius:8px;background:var(--sf-panel);color:var(--sf-text)}
.sp-meta{font-size:11px;color:var(--sf-muted);margin-bottom:17px!important}.sp-warning{color:var(--sf-out)}
.sp-leaders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}.sp-leader{position:relative;overflow:hidden;padding:22px 24px;background:var(--sf-panel);border:1px solid var(--sf-border);border-radius:14px}.sp-leader::before{content:'';position:absolute;inset:0 auto 0 0;width:3px;background:var(--sf-in)}.sp-leader+div::before{background:var(--sf-out)}.sp-leader span{display:block;color:var(--sf-muted);font-size:12px}.sp-leader strong{display:block;font-size:24px;font-weight:550;margin-top:9px}.sp-leader b{display:block;font-size:28px;font-weight:550;line-height:1.25;font-variant-numeric:tabular-nums}.sp-positive{color:var(--sf-in)}.sp-negative{color:var(--sf-out)}
.sp-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(275px,.8fr);gap:16px}.sp-board,.sp-detail{min-width:0;padding:22px;background:var(--sf-panel);border:1px solid var(--sf-border);border-radius:14px}.sp-board-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:15px}.sp-board-head h3{font-size:15px!important}.sp-board-head span{font-size:11px;color:var(--sf-muted)}.sp-row{display:grid;grid-template-columns:155px minmax(80px,1fr) 100px;align-items:center;gap:14px;width:100%;min-height:47px;text-align:left;border:0;border-top:1px solid var(--sf-border);background:transparent;padding:8px 3px}.sp-row:hover,.sp-row[aria-pressed=true]{background:var(--sf-soft)}.sp-row>span{font-size:12px;color:var(--sf-text)}.sp-row>b{font-size:13px;font-weight:550;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.sp-track{height:8px;display:block;position:relative;background:linear-gradient(90deg,transparent calc(50% - .5px),var(--sf-border) calc(50% - .5px),var(--sf-border) calc(50% + .5px),transparent calc(50% + .5px))}.sp-track em{position:absolute;left:50%;width:var(--extent);height:100%;background:var(--sf-in);border-radius:3px;animation:sp-grow .35s ease both}.sp-row.sp-negative .sp-track em{left:auto;right:50%;background:var(--sf-out)}@keyframes sp-grow{from{width:0}to{width:var(--extent)}}
.sp-kicker{font-size:11px;color:var(--sf-muted)}.sp-detail h3{font-size:20px!important;margin:4px 0 10px!important}.sp-detail>strong{font-size:36px;font-weight:550;font-variant-numeric:tabular-nums}.sp-detail p{font-size:12px;color:var(--sf-muted);line-height:1.7;margin-top:4px!important}.sp-detail dl{margin:21px 0}.sp-detail dl>div{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--sf-border);padding:8px 0;font-size:11px}.sp-detail dt{color:var(--sf-muted)}.sp-detail dd{margin:0;font-variant-numeric:tabular-nums}.sp-history{display:flex;align-items:center;gap:5px;height:55px;margin-top:18px}.sp-history>span{height:100%;flex:1;display:flex;align-items:flex-end}.sp-history i{display:block;width:100%;min-height:4px;border-radius:3px 3px 0 0;background:currentColor}.sp-detail small{display:block;color:var(--sf-muted);font-size:10px;margin-top:12px}
.sp-foot{display:flex;justify-content:space-between;gap:16px;margin:17px 0 4px!important;font-size:11px;color:var(--sf-muted)}.sp-foot a{color:var(--sf-text)!important;text-decoration:underline!important}.sp-note{font-size:11px;color:var(--sf-muted);line-height:1.7;margin-bottom:22px!important}
@media(max-width:850px){.sp-grid{grid-template-columns:1fr}.sp-head{align-items:flex-start;flex-direction:column}.sp-foot{flex-direction:column;gap:3px}}
@media(max-width:560px){.sp-leaders{gap:8px}.sp-leader{padding:15px}.sp-leader strong{font-size:16px}.sp-leader b{font-size:20px}.sp-board,.sp-detail{padding:15px}.sp-board-head{align-items:flex-start;flex-direction:column;gap:3px}.sp-row{grid-template-columns:105px minmax(40px,1fr) 73px;gap:6px}.sp-row>span,.sp-row>b{font-size:10px}.sp-head h2{font-size:21px!important}.sp-head label{width:100%;justify-content:space-between}}
@media(max-width:760px){#view-sentiment .sf-heading{margin-bottom:12px}#view-sentiment .sb-title,#view-sentiment .sd-intro{margin-bottom:16px}#view-sentiment .sb-title h2,#view-sentiment .sd-intro h2{font-size:20px!important}#view-sentiment .sd-board-heading{align-items:flex-start;gap:8px}.sd-breadth-number{grid-row:1}.sd-breadth h3{margin-top:0!important}.sb-calculation summary{min-height:44px}.sb-title>span{padding-top:0}.sd-range{font-size:11px}}
/* Share card: a ready-made image of the brief for group chats. */
.sb-title>span{margin-left:auto}
#view-sentiment .sb-share{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 14px;border:1px solid var(--sf-border);border-radius:9px;background:var(--sf-panel);font-size:13px;font-weight:600;transition:border-color .2s,color .2s}
#view-sentiment .sb-share .sf-icon{width:16px;height:16px}
#view-sentiment .sb-share:hover:not(:disabled){color:var(--sf-accent);border-color:var(--sf-accent)}
#view-sentiment .sb-share:disabled{cursor:default;opacity:.45}
@media(max-width:760px){#view-sentiment .sb-title{align-items:center}#view-sentiment .sb-share{min-height:44px;padding:0 12px}#view-sentiment .sb-share span{display:none}}
.share-card-dialog{width:min(460px,calc(100vw - 24px));max-height:calc(100svh - 24px);padding:20px;border:1px solid #2a2b30;border-radius:20px;background:#141518;color:#f5f5f7;overflow:auto}
.share-card-dialog::backdrop{background:#000a;backdrop-filter:blur(4px)}
.share-card-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.share-card-dialog h2{font-size:17px;font-weight:600}
.share-card-dialog [data-share-close]{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;font-size:24px;line-height:1;color:#aaaab4}
.share-card-dialog [data-share-close]:hover{background:#25262b;color:#f5f5f7}
.share-card-preview{aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:#0d0e10 linear-gradient(110deg,#0d0e10 30%,#1d1e22 50%,#0d0e10 70%) 0 0/250% 100%}
.share-card-preview[aria-busy=true]{animation:share-card-wait 1.2s linear infinite}
.share-card-preview img{display:block;width:100%;height:100%}
@keyframes share-card-wait{to{background-position:-250% 0}}
.share-card-status{min-height:22px;margin:10px 0 4px;font-size:13px;color:#d0f64c}
.share-card-actions{display:flex;gap:8px}
.share-card-actions button{flex:1;min-height:46px;border-radius:11px;background:#25262b;color:#f5f5f7;font-size:14px;font-weight:600}
.share-card-actions button:hover:not(:disabled){background:#303137}
.share-card-actions .share-card-primary{background:#d0f64c;color:#101011}
.share-card-actions .share-card-primary:hover:not(:disabled){background:#c2ea3c}
.share-card-actions button:disabled{opacity:.5;cursor:wait}
@media(prefers-reduced-motion:reduce){.share-card-preview[aria-busy=true]{animation:none}}
/* page-frame.css */
/* Shared tokens and the frame every secondary page uses. Loaded last in app.css so
   pages line up regardless of which feature stylesheet styled them first. */
:root {
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 20px;
  --space-6: 24px; --space-8: 32px; --space-10: 40px; --space-12: 48px;
  --radius-sm: 8px; --radius-md: 12px; --radius-lg: 20px;
  --control-h: 40px; --touch-h: 44px;
  --page-max: 1180px; --page-pad-top: var(--space-8); --page-pad-x: var(--space-12);
  --page-title: 30px; --page-subtitle: 15px;
  --danger: #b4233a;
}
[data-theme="dark"] { --danger: #f18088; }
@media (max-width: 1150px) { :root { --page-pad-x: var(--space-8); } }
@media (max-width: 760px) { :root { --page-pad-top: var(--space-6); --page-pad-x: var(--space-4); --page-title: 26px; --page-subtitle: 14px; } }

/* One header position, size and rhythm for Notifications, My data and Market overview. */
#view-notifications, #view-history, #view-sentiment {
  padding: var(--page-pad-top) var(--page-pad-x) var(--space-12);
}
#view-notifications, #view-history { max-width: var(--page-max); }
:is(#view-notifications, #view-history) .page-heading h1, #view-sentiment .sf-heading h1 {
  font-size: var(--page-title); font-weight: 600; line-height: 1.4; letter-spacing: -.4px;
}
:is(#view-notifications, #view-history) .page-heading p:not(.eyebrow) { font-size: var(--page-subtitle); line-height: 1.6; margin-top: var(--space-1); }
:is(#view-notifications, #view-history) .page-heading { margin-bottom: var(--space-6); }

/* Filter chips meet the touch target on every screen, not only on narrow ones. */
.notification-rules .filter { min-height: var(--control-h); padding-inline: var(--space-4); font-size: 13px; }
@media (pointer: coarse), (max-width: 760px) { .notification-rules .filter { min-height: var(--touch-h); } }
/* components.css */
/* Sidebar, chat composer and setup-panel cards. Loaded last in app.css; uses the
   tokens from page-frame.css and keeps the lime-on-neutral identity. */

/* ---- Sidebar: denser navigation, quieter chrome ---- */
@media (min-width: 900px) {
  #sidebar { width: 232px; flex-basis: 232px; padding: 24px 12px 14px; }
  .app .main-shell { margin-left: 232px; width: calc(100% - 232px); }
}
#sidebar .brand { font-size: 34px; letter-spacing: -2px; padding-left: 8px; margin-bottom: 22px; }
#sidebar .workspace { gap: 6px; margin-bottom: 14px; }
#sidebar .workspace-label { padding-inline: 8px; font-size: 12px; font-weight: 500; color: var(--muted); }
#sidebar .workspace-picker-row { padding: 2px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); }
#sidebar .workspace-picker-row .snaap-select-trigger { min-height: var(--control-h); padding: 8px 10px; border-radius: 10px; font-size: 14px; font-weight: 600; }
#sidebar .workspace-picker-row > button { height: var(--control-h); border-radius: 10px; }
#sidebar nav { gap: 2px; }
#sidebar .nav-item { min-height: var(--control-h); padding: 8px 10px; border-radius: 10px; gap: 10px; font-size: 15px; box-shadow: none; }
#sidebar .nav-item > .icon { width: 20px; height: 20px; color: var(--muted); }
#sidebar .nav-item:hover { background: color-mix(in srgb, var(--ink) 5%, transparent); }
#sidebar .nav-item.active { background: var(--white); color: var(--ink); font-weight: 600; box-shadow: inset 0 0 0 1px var(--line), 0 1px 2px rgb(20 24 14 / 6%); }
#sidebar .nav-item.active > .icon { color: var(--accent-ink); }
[data-theme="dark"] #sidebar .nav-item.active { background: #25252a; box-shadow: inset 0 0 0 1px #34343b; }
#sidebar .sidebar-bottom { padding-top: var(--space-3); }
#sidebar .account-contact { margin: 0 0 6px; padding: 4px 8px; border: 0; font-size: 12px; }
#sidebar .profile { gap: 10px; min-height: 52px; padding: 10px 8px 0; border-top: 1px solid var(--line); font-size: 14px; font-weight: 600; }
#sidebar .profile .avatar { width: 32px; height: 32px; font-size: 13px; }
#sidebar .profile small { display: inline-block; width: fit-content; margin-top: 3px; padding: 1px 8px; border-radius: 999px; background: var(--pale); color: var(--accent-ink); font-size: 11px; font-weight: 600; }
@media (max-width: 899px), (pointer: coarse) {
  #sidebar .nav-item, #sidebar .workspace-picker-row .snaap-select-trigger, #sidebar .workspace-picker-row > button { min-height: var(--touch-h); height: auto; }
}

/* ---- Chat composer: one card, a tool row and a send button that wakes with text ---- */
#main .chat-composer { padding: 12px 12px 10px; border: 1px solid var(--line); border-radius: 18px; background: var(--white); box-shadow: 0 1px 2px rgb(20 24 14 / 5%), 0 12px 32px -16px rgb(20 24 14 / 22%); }
#main .chat-composer:focus-within { border-color: var(--accent-ink); box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-lime) 40%, transparent), 0 12px 32px -16px rgb(20 24 14 / 22%); }
[data-theme="dark"] #main .chat-composer { box-shadow: 0 12px 32px -16px rgb(0 0 0 / 60%); }
[data-theme="dark"] #main .chat-composer:focus-within { border-color: color-mix(in srgb, var(--brand-lime) 55%, var(--line)); box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-lime) 16%, transparent); }
#main .chat-composer #followup-input { padding: 4px 6px; font-size: 15px; line-height: 1.7; }
#main .chat-composer .chat-tools { gap: 6px; padding: 8px 0 0; }
#main .chat-composer { container-type: inline-size; }
#main .chat-composer .chat-tools [data-attach-image] { display: inline-flex; align-items: center; gap: 6px; width: auto; min-width: 36px; height: 36px; min-height: 36px; padding: 0 8px; border-radius: 10px; background: transparent; color: var(--muted); font-size: 13px; white-space: nowrap; }
#main .chat-composer .chat-tools [data-attach-image]:hover { background: var(--pale); color: var(--ink); }
#main .chat-composer .chat-tools .snaap-select-trigger { min-height: 32px; padding: 5px 10px; border-radius: 999px; background: var(--pale); font-size: 13px; font-weight: 500; }
#main .chat-composer .chat-tools .snaap-select-trigger:hover { background: color-mix(in srgb, var(--brand-lime) 30%, var(--pale)); }
#main .chat-composer .chat-tools .my-data-toggle { min-height: 36px; padding: 6px 8px; border-radius: 10px; font-size: 13px; color: var(--muted); }
#main .chat-composer .chat-tools .my-data-toggle[aria-checked="true"] { color: var(--ink); }
#main .chat-composer .chat-tools .my-data-toggle { display: inline-flex; align-items: center; min-width: 0; overflow: hidden; }
#main .chat-composer .chat-tools .my-data-toggle > span:not(.switch-track) { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
#main .chat-composer .chat-tools .my-data-toggle > .switch-track { flex: none; }
/* A narrow composer keeps the attach icon and lets its label go. */
/* Below ~340px the data toggle keeps its switch; its label stays as the accessible name. */
@container (max-width: 340px) {
  #main .chat-composer .chat-tools .my-data-toggle > span:not(.switch-track) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  #main .chat-composer .chat-tools .my-data-toggle { position: relative; margin-left: auto; }
}
@container (max-width: 520px) {
  #main .chat-composer .chat-tools { flex-wrap: nowrap; }
  #main .chat-composer .chat-tools [data-attach-image] { padding: 0; width: 36px; justify-content: center; }
  #main .chat-composer .chat-tools [data-attach-image] > span:not(.control-symbol) { display: none; }
}
#main .chat-composer .chat-tools .chat-send-button { flex: 0 0 40px; width: 40px; height: 40px; min-height: 40px; border-radius: 12px; background: var(--pale); color: var(--muted); transition: background .15s, color .15s, transform .15s; }
#main .chat-composer:has(#followup-input:not(:placeholder-shown)) .chat-tools .chat-send-button:not(:disabled) { background: var(--brand-lime); color: #101010; }
#main .chat-composer .chat-tools .chat-send-button:not(:disabled):hover { transform: translateY(-1px); }
@media (max-width: 899px), (pointer: coarse) {
  #main .chat-composer .chat-tools :is([data-attach-image], .my-data-toggle, .snaap-select-trigger) { min-height: var(--touch-h); }
  #main .chat-composer .chat-tools .chat-send-button { flex-basis: var(--touch-h); width: var(--touch-h); height: var(--touch-h); }
  #main .chat-composer .chat-tools [data-attach-image] { min-width: var(--touch-h); }
}
@container (max-width: 520px) { @media (max-width: 899px), (pointer: coarse) { #main .chat-composer .chat-tools [data-attach-image] { width: var(--touch-h); } } }
/* Presets read as a starter chip beside the composer, in either theme. */
.preset-composer-footer { justify-content: flex-start; }
.preset-launch { min-height: 36px; padding: 6px 14px; border: 1px solid var(--line); border-radius: 999px; background: var(--white); color: var(--ink); font-size: 13px; font-weight: 500; }
.preset-launch > span { color: var(--accent-ink); }
.preset-launch:hover { border-color: var(--accent-ink); color: var(--ink); background: var(--pale); }

/* ---- Setup panel: sections, condition cards and one disclosure style ---- */
#main .design-panel .design-toolbar { min-height: 56px; }
#main .design-body > .studio-name-field, #main .design-body > .studio-setup-settings { margin-bottom: var(--space-4); }
#main .design-body > .studio-setup-settings { padding: 0; border: 0; }
#main .studio-setup-settings [data-pair-picker], #main .design-body > .studio-name-field input { min-height: var(--control-h); border: 1px solid var(--control-line); border-radius: 10px; background: var(--white); }
[data-theme="dark"] #main :is(.studio-setup-settings [data-pair-picker], .design-body > .studio-name-field input) { border-color: #4a4a52; }
#main .studio-setup-settings [data-pair-picker]:hover { border-color: var(--accent-ink); }
@media (max-width: 899px), (pointer: coarse) { #main .studio-setup-settings [data-pair-picker], #main .design-body > .studio-name-field input { min-height: var(--touch-h); } }
#main .studio-condition-overview { margin: 0 0 var(--space-4); padding: var(--space-4) 0 0; border-top: 1px solid var(--line); }
#main .studio-overview-heading h3 { font-size: 15px; font-weight: 600; }
#main .studio-overview-heading > span { padding: 1px 8px; border-radius: 999px; background: var(--pale); font-size: 12px; font-variant-numeric: tabular-nums; }
#main .studio-condition-card { position: relative; padding: 12px 12px 10px 14px; border-radius: var(--radius-md); border: 1px solid var(--line); overflow: hidden; }
#main .studio-condition-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--line); }
#main .studio-condition-card:has([data-truth="TRUE"])::before { background: var(--accent-ink); }
#main .studio-condition-card:has([data-truth="FALSE"])::before { background: var(--danger); }
#main .studio-condition-card:has([data-truth="UNKNOWN"])::before { background: #b7791f; }
#main .studio-condition-card.selected { border-color: var(--accent-ink); background: color-mix(in srgb, var(--brand-lime) 8%, var(--white)); }
#main .studio-condition-card > p { margin: 6px 0; font-size: 14px; font-weight: 600; line-height: 1.6; }
#main .studio-condition-card small { font-size: 12px; }
#main .studio-truth { padding: 1px 8px; border-radius: 999px; background: var(--pale); font-size: 12px; font-weight: 600; }
#main .studio-truth[data-truth="TRUE"] { background: color-mix(in srgb, var(--brand-lime) 45%, transparent); color: var(--accent-ink); }
#main .studio-truth[data-truth="FALSE"] { background: color-mix(in srgb, var(--danger) 12%, transparent); color: var(--danger); }
[data-theme="dark"] #main .studio-truth[data-truth="TRUE"] { background: color-mix(in srgb, var(--brand-lime) 16%, transparent); }
#main .studio-condition-actions { gap: 0; margin-top: 10px; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
#main .studio-condition-actions button { min-height: 36px; border-radius: 0; background: transparent; font-size: 13px; font-weight: 500; }
#main .studio-condition-actions button + button { border-left: 1px solid var(--line); }
#main .studio-condition-actions button:hover { background: var(--pale); }
@media (max-width: 899px), (pointer: coarse) { #main .studio-condition-actions button { min-height: var(--touch-h); } }
/* Every disclosure in the panel shares one card and chevron. */
#main .design-body > details { margin: 0 0 var(--space-2); padding: 0; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); }
#main .design-body > details > summary { display: grid; grid-template-columns: 16px minmax(0, 1fr); column-gap: 8px; align-items: center; min-height: 48px; padding: 12px 14px; list-style: none; cursor: pointer; font-size: 14px; font-weight: 600; }
#main .design-body > details > summary::-webkit-details-marker { display: none; }
#main .design-body > details > summary::before { content: "›"; grid-column: 1; grid-row: 1 / span 2; font-size: 20px; line-height: 1; color: var(--muted); transition: transform .18s ease; }
#main .design-body > details[open] > summary::before { transform: rotate(90deg); }
#main .design-body > details > summary > span { grid-column: 2; margin: 2px 0 0; font-size: 12px; font-weight: 400; line-height: 1.6; color: var(--muted); }
#main .design-body > details > summary:hover { background: color-mix(in srgb, var(--ink) 3%, transparent); }
#main .design-body > details[open] > summary { border-bottom: 1px solid var(--line); }
#main .design-body > details > :not(summary) { margin-inline: 14px; }
#main .design-body > details > :not(summary):last-child { margin-bottom: 14px; }
#main .design-body > details[data-advanced-options] > .advanced-options { margin: 0; padding: 12px 14px 14px; }
#main .design-body > details.rule-review > .draft-diff { padding-top: 12px; }
#main .design-body > .destination-choices { margin: var(--space-4) 0 0; padding: 12px 14px; border: 1px solid var(--line); border-radius: var(--radius-md); }
@media (prefers-reduced-motion: reduce) { #main .design-body > details > summary::before { transition: none; } }
/* Activation is the one primary action; saving a draft stays secondary. */
#main .studio-footer-actions [data-save] { border: 1px solid var(--line); background: var(--white); }
#main .studio-footer-actions [data-studio-activate] { background: var(--brand-lime); color: #101010; font-weight: 600; }
#main .studio-footer-actions > button { min-height: var(--control-h); padding: 8px 16px; border-radius: 10px; font-size: 13px; }
@media (max-width: 899px), (pointer: coarse) { #main .studio-footer-actions > button { min-height: var(--touch-h); } }

/* Chart toolbar: tighter timeframes keep the indicator button on their row in a mid-size chart pane. */
@media (min-width: 900px) and (max-width: 1599px) {
  #main .studio-timeframes { gap: 0; }
  #main .studio-timeframes button { min-width: 0; padding-inline: 6px; }
  #main .studio-chart-toolbar > [data-add-chart-indicator] { padding-inline: 10px; }
}

/* Save and Activate stay reachable while the setup panel scrolls. */
#main .design-body > .studio-footer-actions { position: sticky; bottom: 0; z-index: 2; margin-inline: -14px; margin-bottom: -14px; padding: 10px 14px; background: var(--white); border-top: 1px solid var(--line); box-shadow: 0 -10px 18px -16px rgb(20 24 14 / 40%); }
[data-theme="dark"] #main .design-body > .studio-footer-actions { box-shadow: 0 -10px 18px -14px rgb(0 0 0 / 70%); }

/* The chat setup card keeps a readable title in a narrow chat column. */
.preset-chat-card { container-type: inline-size; }
@container (max-width: 440px) {
  .preset-chat-card > header { flex-wrap: wrap; row-gap: 6px; }
  .preset-chat-card h3 { font-size: 16px; line-height: 1.45; }
}

/* First run on a phone: offer the preset starter under the composer, as on desktop. */
@media (max-width: 899px) {
  .workbench #conversation:has(#messages .chat-empty):not(:has(#messages .message)) .preset-composer-footer { display: flex; margin-top: 0; padding-inline: 12px; }
  .workbench #conversation:has(#messages .chat-empty):not(:has(#messages .message)) .preset-launch { min-height: var(--touch-h); }
}

/* Draft → save → alerts: the same three steps on the chat setup card and atop the setup panel. */
.setup-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin: 12px 0 10px; padding: 0; list-style: none; }
.setup-steps li { display: grid; gap: 6px; min-width: 0; font-size: 12px; line-height: 1.4; color: var(--muted); }
.setup-steps li::before { content: ""; height: 4px; border-radius: 4px; background: var(--line); }
.setup-steps li.is-done { color: var(--ink); }
.setup-steps li.is-done::before { background: var(--accent-ink); }
.setup-steps li.is-done b { color: var(--accent-ink); font-weight: 700; }
.setup-steps li.is-now { color: var(--ink); font-weight: 600; }
.setup-steps li.is-now::before { background: var(--brand-lime); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent-ink) 35%, transparent); }
[data-theme="dark"] .setup-steps li.is-now::before { background: color-mix(in srgb, var(--brand-lime) 40%, var(--line)); box-shadow: none; }
#main .design-panel .studio-steps { padding: 2px 14px 10px; border-bottom: 1px solid var(--line); background: var(--white); }
#main .design-panel .studio-steps .setup-steps { margin: 0; }
