:root {
  --ttch-ink: #14211b;
  --ttch-muted: #5c6b63;
  --ttch-line: #d9e1dc;
  --ttch-paper: #f5f7f4;
  --ttch-accent: #e45a2a;
  --ttch-accent-dark: #b83d14;
  --ttch-white: #fff;
}

.ttch-shell { box-sizing: border-box; width: min(1120px, calc(100% - 32px)); margin: 48px auto; color: var(--ttch-ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.ttch-shell *, .ttch-admin * { box-sizing: border-box; }
.ttch-shell h1 { max-width: 780px; margin: 8px 0 12px; font-size: clamp(2.2rem, 7vw, 5.5rem); line-height: .95; letter-spacing: -.055em; }
.ttch-kicker { color: var(--ttch-accent-dark); font-size: .76rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.ttch-lead { max-width: 680px; margin: 0 0 32px; color: var(--ttch-muted); font-size: clamp(1rem, 2vw, 1.25rem); line-height: 1.65; }
.ttch-form { display: grid; gap: 22px; max-width: 780px; padding: clamp(22px, 4vw, 48px); border: 1px solid var(--ttch-line); border-radius: 4px; background: var(--ttch-white); box-shadow: 16px 16px 0 #e8ece8; }
.ttch-field { display: grid; gap: 8px; margin: 0; }
.ttch-field > span { font-weight: 760; }
.ttch-field small, .ttch-fineprint { color: var(--ttch-muted); }
.ttch-field input, .ttch-field textarea { width: 100%; padding: 13px 14px; border: 1px solid #aebbb4; border-radius: 3px; background: #fff; color: var(--ttch-ink); font: inherit; }
.ttch-field input:focus, .ttch-field textarea:focus { outline: 3px solid rgba(228,90,42,.22); border-color: var(--ttch-accent); }
.ttch-more { padding: 16px 0; border-top: 1px solid var(--ttch-line); border-bottom: 1px solid var(--ttch-line); }
.ttch-more summary { cursor: pointer; font-weight: 760; }
.ttch-more[open] { display: grid; gap: 18px; }
.ttch-button { justify-self: start; display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 22px; border: 0; border-radius: 3px; background: var(--ttch-accent); color: white !important; font: inherit; font-weight: 800; text-decoration: none; cursor: pointer; }
.ttch-button:hover { background: var(--ttch-accent-dark); }
.ttch-notice { max-width: 780px; padding: 18px 22px; border-left: 5px solid #567; background: var(--ttch-paper); }
.ttch-notice--error { border-color: #b42318; }.ttch-notice--success { border-color: #25855a; }
.ttch-product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.ttch-product-card { margin: 0; border: 1px solid var(--ttch-line); background: var(--ttch-white); }
.ttch-product-card a { display: block; color: var(--ttch-ink); text-decoration: none; }
.ttch-product-card img, .ttch-product-placeholder { width: 100%; aspect-ratio: 4/3; object-fit: cover; background: #e7ece8; }
.ttch-product-card h2, .ttch-product-card p, .ttch-product-card span { display: block; margin: 14px 18px; }.ttch-product-card h2 { font-size: 1.3rem; }
.ttch-rfq { max-width: 900px; margin: 64px auto; padding: clamp(24px, 5vw, 56px); background: var(--ttch-paper); }.ttch-rfq h2 { margin: 6px 0 24px; font-size: clamp(2rem, 4vw, 3.8rem); letter-spacing: -.04em; }.ttch-rfq .ttch-form { padding: 0; border: 0; background: transparent; box-shadow: none; }
.ttch-two { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }.ttch-honeypot { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.ttch-review-grid { display: grid; grid-template-columns: 1fr 1fr 1.2fr; gap: 18px; }.ttch-review-card { padding: 20px; border: 1px solid #ccd0d4; background: #fff; }.ttch-original { white-space: normal; line-height: 1.6; }.ttch-photo-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }.ttch-photo-grid img { width: 100%; aspect-ratio: 1; object-fit: cover; }

@media (max-width: 900px) { .ttch-product-grid { grid-template-columns: repeat(2, 1fr); }.ttch-review-grid { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .ttch-shell { width: min(100% - 22px, 1120px); margin: 28px auto; }.ttch-form { padding: 19px; box-shadow: 7px 7px 0 #e8ece8; }.ttch-product-grid, .ttch-two { grid-template-columns: 1fr; }.ttch-button { width: 100%; }.ttch-rfq { margin: 40px -4px; }.ttch-shell h1 { font-size: clamp(2.4rem, 15vw, 4.2rem); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } }

/* Homepage product gallery and source-safe visuals */
.ttch-featured-products { background: color-mix(in srgb, var(--ttch-paper) 72%, #fff); }
.ttch-featured-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.ttch-featured-card, .ttch-product-card { position: relative; overflow: hidden; border: 1px solid var(--ttch-line); border-radius: 20px; background: var(--ttch-white); }
.ttch-featured-card a, .ttch-product-card a { display: block; height: 100%; color: var(--ttch-ink); text-decoration: none; }
.ttch-product-visual { position: relative; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; background: #e7ece8; }
.ttch-product-visual img, .ttch-product-visual .ttch-product-placeholder { display: block; width: 100%; height: 100%; margin: 0; object-fit: cover; border-radius: 0; }
.ttch-product-visual.is-quadrant { aspect-ratio: 3 / 2; }
.ttch-product-visual.is-quadrant img { position: absolute; width: 200%; max-width: none; height: 200%; object-fit: fill; }
.ttch-quadrant-1 img { left: 0; top: 0; }
.ttch-quadrant-2 img { left: -100%; top: 0; }
.ttch-quadrant-3 img { left: 0; top: -100%; }
.ttch-quadrant-4 img { left: -100%; top: -100%; }
.visual-badge { position: absolute; left: 12px; top: 12px; z-index: 2; margin: 0 !important; padding: 7px 10px; border-radius: 999px; background: rgba(20,33,27,.88); color: #fff; font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; backdrop-filter: blur(8px); }
.ttch-card-body { display: flex; flex-direction: column; min-height: 228px; padding: 20px; }
.ttch-card-body h3 { margin: 0 0 10px; font-size: 1.18rem; line-height: 1.18; }
.ttch-card-body p { margin: 0 0 14px; color: var(--ttch-muted); line-height: 1.55; }
.ttch-card-link { margin-top: auto; color: var(--ttch-accent-dark); font-size: .86rem; font-weight: 800; }
.ttch-card-specs { display: grid; gap: 8px; margin: 2px 0 18px; padding: 0; list-style: none; }
.ttch-card-specs li { display: grid; gap: 2px; padding-top: 8px; border-top: 1px solid var(--ttch-line); }
.ttch-card-specs strong { color: var(--ttch-muted); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.ttch-card-specs span { font-size: .78rem; line-height: 1.4; }
.featured-products-footer { display: flex; justify-content: center; margin-top: 30px; }
.product-specs { margin: 34px 0; }
.spec-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; overflow: hidden; padding: 1px; border-radius: 16px; background: var(--ttch-line); }
.spec-list div { padding: 18px; background: #fff; }
.spec-list dt { color: var(--ttch-muted); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.spec-list dd { margin: 5px 0 0; color: var(--ttch-ink); font-weight: 720; }
.spec-source-note, .reference-visual-note { padding: 14px 16px; border-left: 4px solid var(--ttch-accent); background: var(--ttch-paper); color: var(--ttch-muted); font-size: .88rem; }
@media (max-width: 980px) { .ttch-featured-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .ttch-featured-grid, .spec-list { grid-template-columns: 1fr; } .ttch-card-body { min-height: 0; } }
.ttch-colour-list { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 3px; }
.ttch-colour-chip { display: inline-flex; align-items: center; gap: 5px; padding: 4px 7px; border: 1px solid var(--ttch-line); border-radius: 999px; background: #fff; font-size: .7rem; line-height: 1; }
.ttch-colour-chip i { width: 11px; height: 11px; flex: 0 0 11px; border: 1px solid rgba(20,33,27,.14); border-radius: 50%; background: var(--chip); }

/* Unified conversational Product Workbench */
.ttch-workbench { --wb-navy:#10263f; --wb-blue:#3978ff; --wb-cream:#f6f3ed; width:min(1420px,calc(100% - 30px)); margin:32px auto 110px; color:var(--wb-navy); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.ttch-workbench * { box-sizing:border-box; }
.ttch-workbench-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding:26px 4px 22px; border-bottom:1px solid #cbd3da; }
.ttch-workbench-head h1 { max-width:850px; margin:8px 0 0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.3rem,5vw,5.5rem); font-weight:500; line-height:.94; letter-spacing:-.045em; }
.ttch-workbench-fallback { color:var(--wb-navy); font-size:.82rem; font-weight:800; text-decoration:none; border-bottom:1px solid currentColor; }
.ttch-workbench-timeline { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin:0; padding:0; list-style:none; border-bottom:1px solid #cbd3da; }
.ttch-workbench-timeline li { position:relative; padding:17px 10px 17px 26px; color:#6b7782; font-size:.72rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.ttch-workbench-timeline li::before { content:""; position:absolute; left:7px; top:50%; width:8px; height:8px; margin-top:-4px; border:1px solid #97a2aa; border-radius:50%; background:#fff; }
.ttch-workbench-timeline li.is-current { color:var(--wb-blue); }.ttch-workbench-timeline li.is-current::before { border-color:var(--wb-blue); background:var(--wb-blue); box-shadow:0 0 0 4px #dce7ff; }.ttch-workbench-timeline li.is-complete::before { border-color:#1d7652; background:#1d7652; }
.ttch-workbench-status { min-height:0; margin:14px 0; padding:0 4px; font-size:.85rem; }.ttch-workbench-status:not(:empty) { min-height:42px; padding:12px 15px; border-left:4px solid #718095; background:#eef1f3; }.ttch-workbench-status.is-success { border-color:#1d7652; background:#eaf5ef; }.ttch-workbench-status.is-error { border-color:#b42318; background:#fff0ee; }
.ttch-workbench-start { max-width:920px; margin:54px auto; padding:clamp(24px,5vw,60px); border:1px solid #cbd3da; border-radius:18px; background:#fff; box-shadow:18px 18px 0 #e5e1d8; }.ttch-workbench-start h2 { margin:0 0 28px; font-family:Georgia,serif; font-size:clamp(2rem,4vw,3.5rem); font-weight:500; }
.ttch-operation-cards { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:24px; }.ttch-operation-cards label { position:relative; cursor:pointer; }.ttch-operation-cards input { position:absolute; opacity:0; }.ttch-operation-cards span { display:grid; gap:7px; min-height:115px; padding:22px; border:1px solid #b9c2c9; border-radius:12px; background:#f9faf9; color:#63717d; }.ttch-operation-cards b { color:var(--wb-navy); font-size:1.06rem; }.ttch-operation-cards input:checked + span { border-color:var(--wb-blue); background:#edf3ff; box-shadow:inset 0 0 0 1px var(--wb-blue); }
.ttch-update-hints { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:20px; }.ttch-update-hints label { display:grid; gap:7px; font-weight:750; }.ttch-update-hints input { width:100%; padding:13px; border:1px solid #aeb8c0; border-radius:6px; font:inherit; }
.ttch-workbench-main { display:grid; grid-template-columns:minmax(0,.92fr) minmax(460px,1.08fr); min-height:720px; border:1px solid #cbd3da; background:#fff; }
.ttch-conversation-pane,.ttch-draft-pane { min-width:0; padding:clamp(20px,3vw,38px); }.ttch-conversation-pane { display:flex; flex-direction:column; border-right:1px solid #cbd3da; background:var(--wb-cream); }.ttch-draft-pane { background:#fff; }
.ttch-pane-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding-bottom:20px; border-bottom:1px solid #cbd3da; }.ttch-pane-head span { color:#687782; font-size:.68rem; font-weight:850; letter-spacing:.11em; text-transform:uppercase; }.ttch-pane-head h2 { margin:4px 0 0; font-family:Georgia,serif; font-size:clamp(1.75rem,3vw,2.7rem); font-weight:500; }.ttch-model-state,.ttch-draft-revision { flex:0 0 auto; padding:7px 9px; border:1px solid #b9c2ca; border-radius:999px; background:#fff; }
.ttch-model-tools { display:grid; justify-items:end; gap:7px; }.ttch-analyze-action { padding:7px 9px; border:1px solid var(--wb-blue); border-radius:6px; background:#edf3ff; color:#245dce; font:inherit; font-size:.68rem; font-weight:850; cursor:pointer; }
.ttch-message-list { display:grid; gap:14px; min-height:180px; padding:24px 0; }.ttch-message { max-width:86%; padding:14px 16px; border:1px solid #c7cfd5; border-radius:14px 14px 14px 3px; background:#fff; }.ttch-message.is-user { justify-self:end; border-radius:14px 14px 3px 14px; background:#e8efff; }.ttch-message span { color:#687782; font-size:.68rem; font-weight:850; text-transform:uppercase; }.ttch-message p { margin:5px 0 0; white-space:pre-wrap; line-height:1.55; }.ttch-empty-message { padding:20px; border:1px dashed #aeb8c0; color:#62717c; line-height:1.6; }
.ttch-upload-zone { padding:18px; border:1px solid #c6ced4; border-radius:10px; background:#fff; }.ttch-upload-zone label { display:grid; gap:5px; font-weight:800; cursor:pointer; }.ttch-upload-zone small { color:#6d7880; font-weight:500; }.ttch-upload-zone input[type="file"] { position:absolute; width:1px; height:1px; margin:0; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }.ttch-upload-zone .ttch-file-picker { justify-self:start; margin-top:9px; padding:8px 13px; border:1px solid #10263f; border-radius:6px; background:#fff; color:#10263f; font-size:.78rem; line-height:1.2; }.ttch-upload-zone label:hover .ttch-file-picker,.ttch-upload-zone input[type="file"]:focus + .ttch-file-picker { background:#10263f; color:#fff; }.ttch-asset-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:14px; }.ttch-asset-list figure { margin:0; }.ttch-asset-list img { display:block; width:100%; aspect-ratio:1; object-fit:cover; border-radius:6px; }.ttch-asset-list figcaption { margin-top:5px; overflow:hidden; color:#67747d; font-size:.68rem; text-overflow:ellipsis; white-space:nowrap; }
.ttch-asset-controls { display:grid; grid-template-columns:28px 1fr 28px; gap:3px; margin-top:5px; }.ttch-asset-controls button { min-height:30px; padding:2px; border:1px solid #b8c2ca; border-radius:4px; background:#fff; color:var(--wb-navy); font-size:.65rem; font-weight:800; cursor:pointer; }.ttch-asset-controls button:disabled { opacity:.35; cursor:default; }
.ttch-message-compose { display:grid; grid-template-columns:1fr auto; gap:10px; margin-top:auto; padding-top:20px; }.ttch-message-compose textarea { min-width:0; padding:13px; resize:vertical; border:1px solid #aeb8c0; border-radius:8px; font:inherit; }.ttch-message-compose .ttch-button { align-self:end; }
.ttch-draft-alerts { display:grid; gap:8px; margin:18px 0; }.ttch-draft-alert { padding:11px 13px; border-left:4px solid #b77a08; background:#fff5d8; font-size:.82rem; }.ttch-draft-alert.is-warning { border-color:#b42318; background:#fff0ee; }
.ttch-match-control { display:grid; gap:8px; padding:14px; border:1px solid #b9c5cf; background:#eef4ff; }.ttch-match-control select { width:100%; padding:10px; border:1px solid #9eacb8; background:#fff; font:inherit; }
.ttch-draft-form { display:grid; gap:0; border-top:1px solid #d4dbe0; }.ttch-draft-field { display:grid; grid-template-columns:minmax(150px,.38fr) minmax(0,.62fr); gap:18px; padding:18px 0; border-bottom:1px solid #d4dbe0; }.ttch-draft-field > span { display:grid; align-content:start; gap:5px; }.ttch-draft-field em { color:#75818a; font-size:.66rem; font-style:normal; text-transform:capitalize; }.ttch-draft-field input,.ttch-draft-field textarea { width:100%; padding:11px 12px; border:1px solid #abb6be; border-radius:5px; background:#fff; color:var(--wb-navy); font:inherit; }.ttch-draft-field textarea { resize:vertical; }.ttch-draft-field small { grid-column:2; margin-top:-12px; color:#6b7880; }.ttch-draft-field input:focus,.ttch-draft-field textarea:focus,.ttch-message-compose textarea:focus { outline:3px solid rgba(57,120,255,.2); border-color:var(--wb-blue); }.ttch-draft-field input:disabled,.ttch-draft-field textarea:disabled { border-color:transparent; background:#f5f6f6; opacity:1; }
.ttch-save-draft { margin-top:22px; background:var(--wb-navy); }.ttch-save-draft:hover { background:#203f60; }
.ttch-workbench-action { position:fixed; z-index:100; left:50%; bottom:18px; display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:20px; width:min(1180px,calc(100% - 30px)); padding:14px 18px; transform:translateX(-50%); border:1px solid rgba(16,38,63,.2); border-radius:14px; background:rgba(255,255,255,.94); box-shadow:0 18px 60px rgba(16,38,63,.2); backdrop-filter:blur(14px); }.ttch-workbench-action > div { display:grid; gap:3px; }.ttch-action-title { font-size:.95rem; }.ttch-action-reason { color:#667580; font-size:.75rem; }.ttch-link-button { padding:9px; border:0; background:transparent; color:#9b291f; font:inherit; font-size:.76rem; font-weight:800; text-decoration:underline; cursor:pointer; }
.ttch-workbench-admin { margin-left:0; }
.ttch-workbench-admin .ttch-workbench { width:100%; max-width:1420px; margin:16px 0 110px; }
.ttch-workbench-admin .ttch-workbench-head h1 { font-family:"Noto Serif SC","Songti SC",Georgia,serif; font-size:clamp(2.2rem,4vw,4.4rem); }
.ttch-workbench-admin .ttch-workbench-action { left:auto; right:24px; width:min(1180px,calc(100vw - 208px)); transform:none; }
body.folded .ttch-workbench-admin .ttch-workbench-action { width:min(1180px,calc(100vw - 84px)); }
@media (max-width:900px) { .ttch-workbench-main { grid-template-columns:1fr; }.ttch-conversation-pane { border-right:0; border-bottom:1px solid #cbd3da; }.ttch-workbench-action { grid-template-columns:1fr auto; }.ttch-rollback-action { grid-column:1/-1; }.ttch-workbench-head { align-items:flex-start; } }
@media (max-width:782px) { .ttch-workbench-admin .ttch-workbench-action,body.folded .ttch-workbench-admin .ttch-workbench-action { left:8px; right:8px; width:auto; } }
@media (max-width:560px) { .ttch-workbench { width:min(100% - 16px,1420px); margin-top:10px; }.ttch-workbench-head { display:grid; }.ttch-workbench-head h1 { font-size:2.65rem; }.ttch-workbench-timeline li { padding:14px 4px 14px 16px; font-size:.58rem; }.ttch-workbench-timeline li::before { left:2px; }.ttch-operation-cards,.ttch-update-hints { grid-template-columns:1fr; }.ttch-workbench-start { margin:28px 0; padding:20px; box-shadow:7px 7px 0 #e5e1d8; }.ttch-conversation-pane,.ttch-draft-pane { padding:18px 15px; }.ttch-message-compose { grid-template-columns:1fr; }.ttch-asset-list { grid-template-columns:repeat(2,1fr); }.ttch-draft-field { grid-template-columns:1fr; gap:9px; }.ttch-draft-field small { grid-column:1; margin-top:0; }.ttch-workbench-action { bottom:8px; grid-template-columns:1fr; gap:9px; padding:12px; }.ttch-workbench-action .ttch-button { width:100%; }.ttch-action-reason { display:none; } }

/* Product Workbench V2: conversation input + read-only facts panel */
.ttch-workbench-v2 { margin-bottom:32px; }
.ttch-workbench-v2 .ttch-workbench-head { align-items:flex-start; padding:18px 4px; }
.ttch-workbench-v2 .ttch-workbench-head h1 { margin-top:5px; font-size:clamp(2rem,3.4vw,3.6rem); line-height:1.02; }
.ttch-workbench-v2 .ttch-workbench-head p { max-width:720px; margin:12px 0 0; color:#63717d; font-size:.9rem; line-height:1.6; }
.ttch-workbench-v2 .ttch-workbench-timeline { grid-template-columns:repeat(3,1fr); }
.ttch-workbench-v2 .ttch-workbench-main { position:relative; grid-template-columns:minmax(0,1.7fr) minmax(330px,1fr); min-height:680px; border-radius:14px; overflow:hidden; box-shadow:0 14px 42px rgba(16,38,63,.08); }
.ttch-workbench-v2 .ttch-conversation-pane { min-height:680px; }
.ttch-workbench-v2 .ttch-message-list { min-height:210px; max-height:360px; overflow-y:auto; overscroll-behavior:contain; }
.ttch-workbench-v2 .ttch-facts-pane { max-height:760px; overflow-y:auto; }
.ttch-facts-mobile-toggle { display:none; }
.ttch-facts-close { display:none; width:34px; height:34px; padding:0; border:1px solid #c7cfd5; border-radius:50%; background:#fff; color:var(--wb-navy); font-size:1.35rem; line-height:1; cursor:pointer; }
.ttch-completeness-card { margin:20px 0 14px; padding:18px; border:1px solid #c8d3df; border-radius:13px; background:#f7faff; }
.ttch-completeness-card > div:first-child { display:flex; align-items:baseline; justify-content:space-between; gap:14px; }
.ttch-completeness-card span { color:#5f6f7c; font-size:.78rem; font-weight:800; }
.ttch-completeness-card strong { color:var(--wb-blue); font-size:1.75rem; line-height:1; }
.ttch-completeness-track { height:8px; margin-top:13px; overflow:hidden; border-radius:999px; background:#dce4ec; }
.ttch-completeness-track i { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,#3978ff,#1d7652); transition:width .28s ease; }
.ttch-completeness-detail { margin:10px 0 0; color:#63717d; font-size:.75rem; }
.ttch-fact-groups { display:grid; gap:22px; margin-top:22px; }
.ttch-fact-group > header { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:8px; }
.ttch-fact-group h3 { margin:0; color:var(--wb-navy); font-size:.9rem; }
.ttch-fact-group header p { margin:4px 0 0; color:#6d7982; font-size:.7rem; line-height:1.45; }
.ttch-fact-group header > span { min-width:24px; padding:4px 7px; border-radius:999px; background:#edf1f5; color:#52616e; font-size:.68rem; font-weight:850; text-align:center; }
.ttch-fact-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; padding:14px 0; border-top:1px solid #dce2e7; }
.ttch-fact-row b { font-size:.78rem; }
.ttch-fact-row p { margin:5px 0; overflow-wrap:anywhere; color:#233d58; font-size:.88rem; line-height:1.5; white-space:pre-wrap; }
.ttch-fact-row small { color:#71808b; font-size:.68rem; }
.ttch-fact-row button { align-self:center; padding:7px 9px; border:1px solid #b9c6d2; border-radius:7px; background:#fff; color:#245dce; font:inherit; font-size:.68rem; font-weight:800; cursor:pointer; }
.ttch-fact-row button:hover,.ttch-fact-row button:focus-visible { border-color:var(--wb-blue); background:#edf3ff; outline:none; }
.ttch-fact-group.is-attention .ttch-fact-row { border-left:3px solid #c18715; padding-left:11px; }
.ttch-fact-group.is-confirmed .ttch-fact-row small { color:#1d7652; }
.ttch-fact-group.is-missing .ttch-fact-row p { color:#7a858e; }
.ttch-compose-context { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 12px; border:1px solid #aac0ef; border-radius:8px; background:#edf3ff; color:#245dce; font-size:.76rem; font-weight:800; }
.ttch-compose-context[hidden] { display:none; }
.ttch-compose-context button { width:25px; height:25px; padding:0; border:0; border-radius:50%; background:#fff; color:#245dce; font-size:1rem; cursor:pointer; }
.ttch-workbench-v2 .ttch-message-compose textarea { min-height:78px; background:#fff; }
.ttch-workbench-v2 .ttch-workbench-action,.ttch-workbench-admin .ttch-workbench-v2 .ttch-workbench-action,body.folded .ttch-workbench-admin .ttch-workbench-v2 .ttch-workbench-action { position:sticky; z-index:20; left:auto; right:auto; bottom:0; width:100%; margin-top:12px; transform:none; box-shadow:0 12px 36px rgba(16,38,63,.14); }
.ttch-workbench-v2.is-complete .ttch-upload-zone,.ttch-workbench-v2.is-complete .ttch-message-compose,.ttch-workbench-v2.is-complete .ttch-model-tools { display:none; }
.ttch-workbench-v2.is-complete .ttch-message-list { max-height:260px; }

@media (max-width:900px) {
  .ttch-workbench-v2 .ttch-workbench-main { grid-template-columns:1fr; overflow:visible; }
  .ttch-workbench-v2 .ttch-conversation-pane { min-height:620px; border:0; }
  .ttch-facts-mobile-toggle { position:static; z-index:18; display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:10px; width:100%; padding:12px 15px; border:1px solid #c8d3df; border-radius:10px; background:#fff; color:var(--wb-navy); text-align:left; box-shadow:0 8px 24px rgba(16,38,63,.1); }
  .ttch-facts-mobile-toggle span { font-weight:800; }.ttch-facts-mobile-toggle strong { color:var(--wb-blue); font-size:1.1rem; }.ttch-facts-mobile-toggle em { color:#5e6d79; font-size:.72rem; font-style:normal; }
  .ttch-workbench-v2 .ttch-facts-pane { position:fixed; z-index:100001; left:8px; right:8px; bottom:8px; max-height:min(78vh,760px); padding:20px 16px; visibility:hidden; border:1px solid #bdc9d3; border-radius:18px; box-shadow:0 22px 70px rgba(8,24,41,.28); opacity:0; transform:translateY(calc(100% + 24px)); transition:transform .24s ease,opacity .2s ease,visibility .2s; }
  .ttch-workbench-v2.is-facts-open .ttch-facts-pane { visibility:visible; opacity:1; transform:translateY(0); }
  .ttch-facts-close { display:block; }
  .ttch-workbench-v2.is-complete .ttch-facts-pane { position:static; max-height:none; visibility:visible; opacity:1; transform:none; box-shadow:none; }
  .ttch-workbench-v2.is-complete .ttch-facts-mobile-toggle { display:none; }
}

@media (max-width:560px) {
  .ttch-workbench-v2 .ttch-workbench-head h1 { font-size:2.15rem; }
  .ttch-workbench-v2 .ttch-workbench-head p { font-size:.82rem; }
  .ttch-workbench-v2 .ttch-workbench-main { min-height:0; border-radius:10px; }
  .ttch-workbench-v2 .ttch-conversation-pane { min-height:560px; padding:17px 14px; }
  .ttch-workbench-v2 .ttch-message-list { max-height:310px; }
  .ttch-workbench-v2 .ttch-message-compose { grid-template-columns:1fr auto; }
  .ttch-workbench-v2 .ttch-message-compose .ttch-button { width:auto; min-width:72px; }
  .ttch-fact-row { grid-template-columns:1fr; }.ttch-fact-row button { justify-self:start; }
  .ttch-workbench-v2 .ttch-workbench-action { position:static; grid-template-columns:1fr; }
}
