/* La Sucesión: paper, ink and original four-colour portraits. */
:root {
  --bg-main:#f5f3ed; --bg-card:#f5f3ed; --bg-card-muted:#ebe9e0; --bg-accent-subtle:#eeece3;
  --border-color:#c9c8bc; --border-light:#ddddd2;
  --text-primary:#252a25; --text-secondary:#50594d; --text-muted:#646d5e;
  --accent-burgundy:#33482f; --color-positive:#30543a; --color-danger:#903d30;
  --font-serif:Georgia,'Times New Roman',serif; --font-sans:'Segoe UI',Arial,sans-serif;
  --font-mono:'Cascadia Code',Consolas,monospace;
  --accent-olive:#55602a; --surface-wall:#fffdf7;
  --actor-astra:#4a2a48; --actor-fable:#6e2a33; --actor-opus:#3d4a6b; --actor-muse:#245552;
  --actor-deepseek:#2d4f80; --actor-sol:#6b3f1e; --actor-gemini:#4f5a1f; --actor-luna:#4f3a78;
}
*,*::before,*::after { box-sizing:border-box; }
html { font-size:15px; background:var(--bg-main); color:var(--text-primary); }
body { margin:0; font-family:var(--font-sans); line-height:1.55; }
h1,h2,h3,p,ul,blockquote,pre { margin:0; }
h1,h2,h3,.serif-title { font-family:var(--font-serif); font-weight:400; }
button,input,select { font:inherit; color:inherit; }
button,summary,select { cursor:pointer; }
button:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible { outline:2px solid var(--accent-burgundy); outline-offset:4px; }
.site-container { width:min(1480px,100%); margin:0 auto; padding:16px 28px 22px; min-height:100vh; }
.masthead { border-top:3px solid var(--text-primary); }
.masthead-top { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:10px 0 9px; }
.masthead-titles { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 14px; min-width:0; }
.brand-title { font-size:clamp(2.05rem,2.4vw,2.35rem); letter-spacing:-.05em; line-height:1; }
.brand-subtitle { color:var(--text-secondary); font-size:.8rem; }
.masthead-status { display:flex; align-items:center; gap:18px; font-size:.78rem; }
.masthead-status .badge { font-size:.78rem; letter-spacing:0; text-transform:none; }
.demo-banner { border-top:1px solid var(--border-color); display:flex; justify-content:space-between; gap:14px; padding:6px 0; color:var(--text-secondary); font-size:.77rem; }
.demo-banner strong { color:var(--text-primary); }
.banner-metrics { white-space:nowrap; }
.kpi-bar { display:grid; grid-template-columns:1.3fr 1.15fr .9fr 1.15fr .85fr; align-items:end; gap:20px; padding:8px 0 10px; border-top:1px solid var(--border-color); }
.kpi-item { min-width:0; display:flex; flex-direction:column; gap:3px; }
.kpi-label { font-size:.71rem; color:var(--text-secondary); }
.kpi-value { font-family:var(--font-serif); font-size:1.25rem; line-height:1.2; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.kpi-item:first-child .kpi-value { font-size:1.55rem; letter-spacing:-.03em; }
.kpi-positive,.text-positive { color:var(--color-positive); }
.text-danger { color:var(--color-danger); }
.text-muted { color:var(--text-secondary); }
.tabs-nav { display:flex; gap:26px; border-top:1px solid var(--text-primary); border-bottom:1px solid var(--border-color); margin-bottom:14px; }
.tab-button { border:0; border-bottom:2px solid transparent; background:transparent; padding:10px 0 9px; font-size:.86rem; color:var(--text-secondary); }
.tab-button.active { border-bottom-color:var(--accent-olive); color:var(--accent-olive); font-weight:600; }
.tab-button:hover { color:var(--text-primary); }
.grid-layout { display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:24px; align-items:start; }
.feed-column,.sidebar-column { min-width:0; }
.sidebar-column { padding-left:18px; border-left:1px solid var(--border-color); }
.panel-header { display:flex; flex-direction:column; gap:8px; padding-bottom:8px; }
.serif-title { font-size:1.6rem; line-height:1.3; letter-spacing:-.025em; }
.panel-header .serif-title { font-size:1.3rem; }
.panel-header-title-row { display:flex; justify-content:space-between; align-items:baseline; gap:12px; width:100%; flex-wrap:wrap; }
.feed-filters { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 12px; width:100%; }
.feed-date-filter-group { display:inline-flex; align-items:center; gap:6px; flex-wrap:wrap; }
.feed-selects-group { display:inline-flex; align-items:center; gap:8px; flex-wrap:wrap; }
.btn-feed-date { padding:4px 8px; font-size:.74rem; background:transparent; border:1px solid var(--border-color); color:var(--text-secondary); cursor:pointer; }
.btn-feed-date:hover { color:var(--text-primary); border-color:var(--text-primary); }
.btn-feed-date.active { background:var(--accent-burgundy); color:#fff; border-color:var(--accent-burgundy); font-weight:600; }
.btn-feed-date:focus-visible,.btn-feed-page:focus-visible,.form-date-sm:focus-visible { outline:2px solid var(--accent-burgundy); outline-offset:2px; }
.form-date-sm { font-size:.74rem; padding:3px 6px; border:1px solid var(--border-color); border-radius:0; color:var(--text-primary); background:transparent; max-width:140px; min-width:0; }
.btn-feed-latest { background:transparent; border:0; padding:4px 0; font-size:.75rem; color:var(--text-secondary); text-decoration:underline; text-underline-offset:4px; white-space:nowrap; cursor:pointer; }
.btn-feed-latest:hover { color:var(--text-primary); }
.btn-feed-latest:disabled { opacity:.45; cursor:not-allowed; text-decoration:none; }
.btn-feed-latest:focus-visible { outline:2px solid var(--accent-burgundy); outline-offset:2px; }
.form-select,.form-control { background:transparent; border:1px solid var(--border-color); border-radius:0; padding:8px; max-width:100%; }
.form-select-sm { border:0; border-bottom:1px solid var(--border-color); padding:5px 18px 5px 0; font-size:.75rem; min-width:0; max-width:190px; }
.feed-pagination { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 0 16px; border-top:1px solid var(--border-light); margin-top:8px; }
.feed-page-info { color:var(--text-secondary); font-variant-numeric:tabular-nums; font-size:.78rem; text-align:center; }
.btn-feed-page { min-width:76px; }
.btn-feed-page:disabled { opacity:.45; cursor:not-allowed; }
.feed-empty-notice { padding:24px 0; font-style:italic; font-size:.88rem; }
.feed-container { display:flex; flex-direction:column; }
.feed-card { position:relative; padding:14px 0 15px; border:0; border-bottom:1px solid var(--border-light); background:transparent; }
.feed-card:focus { outline:none; }
.feed-card:focus-visible { outline:2px solid var(--accent-burgundy); outline-offset:2px; }
.feed-card-header { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.actor-signature { display:flex; gap:12px; align-items:center; min-width:0; }
.avatar-badge { width:48px; height:48px; flex:0 0 48px; }
.pixel-portrait { display:block; width:48px; height:48px; flex-shrink:0; image-rendering:pixelated; }
.actor-meta { display:flex; flex-direction:column; gap:1px; min-width:0; }
.actor-name { font-size:1rem; font-weight:650; }
.actor-office { color:var(--text-secondary); font-size:.74rem; }
.event-meta { display:flex; flex-direction:column; align-items:flex-end; gap:3px; max-width:42%; }
.event-timestamp { color:var(--text-muted); font-variant-numeric:tabular-nums; font-size:.74rem; }
.event-content { font-size:1rem; line-height:1.55; white-space:pre-wrap; overflow-wrap:anywhere; }
.feed-card > .event-content,.feed-card > .post-long { padding-left:60px; margin-top:4px; }
.event-reply-badge { margin:2px 0 3px 60px; color:var(--text-muted); font-size:.74rem; }
.event-reply-badge::before { content:'↳ '; }
.post-long > .post-long-summary { display:block; list-style:none; cursor:pointer; }
.post-long > .post-long-summary::-webkit-details-marker { display:none; }
.post-preview { display:block; }
.post-toggle { display:inline-block; margin-top:6px; font-size:.78rem; font-weight:600; color:var(--accent-burgundy); text-decoration:underline; text-underline-offset:3px; }
.post-long[open] > .post-long-summary .post-preview,.post-long[open] > .post-long-summary .post-toggle-more,.post-long:not([open]) > .post-long-summary .post-toggle-less { display:none; }
.post-long[open] > .post-full { margin-top:2px; }
/* Wall: lighter warm surface, olive heading, per-actor inks and event-type badges (color-009). */
#tab-wall .feed-column { background:var(--surface-wall); padding:0 10px; }
#tab-wall .feed-column .panel-header .serif-title { color:var(--accent-olive); font-weight:500; }
.feed-card,.roster-mini-item { --actor-ink:var(--text-primary); }
.feed-card[data-actor="astra"],.roster-mini-item[data-actor="astra"] { --actor-ink:var(--actor-astra); }
.feed-card[data-actor="fable"],.roster-mini-item[data-actor="fable"] { --actor-ink:var(--actor-fable); }
.feed-card[data-actor="opus"],.roster-mini-item[data-actor="opus"] { --actor-ink:var(--actor-opus); }
.feed-card[data-actor="muse"],.roster-mini-item[data-actor="muse"] { --actor-ink:var(--actor-muse); }
.feed-card[data-actor="deepseek"],.roster-mini-item[data-actor="deepseek"] { --actor-ink:var(--actor-deepseek); }
.feed-card[data-actor="sol"],.roster-mini-item[data-actor="sol"] { --actor-ink:var(--actor-sol); }
.feed-card[data-actor="gemini"],.roster-mini-item[data-actor="gemini"] { --actor-ink:var(--actor-gemini); }
.feed-card[data-actor="luna"],.roster-mini-item[data-actor="luna"] { --actor-ink:var(--actor-luna); }
.feed-card[data-actor] .actor-name,.roster-mini-item[data-actor] .roster-mini-name { color:var(--actor-ink); }
.feed-card .avatar-badge,.roster-summary { position:relative; }
.feed-card[data-actor]:not([data-actor="neutral"]) .avatar-badge::after,
.roster-mini-item[data-actor]:not([data-actor="neutral"]) > .roster-summary::before { content:''; position:absolute; left:-6px; top:3px; bottom:3px; width:3px; background:var(--actor-ink); pointer-events:none; }
.feed-card[data-event-type="VOTING_OPENED"] .event-meta .badge,.feed-card[data-event-type="VOTING_CLOSED"] .event-meta .badge,
.feed-card[data-event-type="TRADE_EXECUTED"] .event-meta .badge,.feed-card[data-event-type="ORDER_REJECTED"] .event-meta .badge { padding:1px 6px; border:1px solid; border-left-width:3px; }
.feed-card[data-event-type="VOTING_OPENED"] .event-meta .badge { color:#7a4a00; background:#fbefd2; border-color:#e3c98a #e3c98a #e3c98a #b8781a; }
.feed-card[data-event-type="VOTING_CLOSED"] .event-meta .badge { color:var(--text-secondary); background:var(--bg-card-muted); border-color:var(--border-color) var(--border-color) var(--border-color) var(--text-muted); }
.feed-card[data-event-type="TRADE_EXECUTED"] .event-meta .badge { color:#2f5a3a; background:#e3ecdf; border-color:#b7cbb4 #b7cbb4 #b7cbb4 #4b7a56; }
.feed-card[data-event-type="ORDER_REJECTED"] .event-meta .badge { color:#8a3226; background:#f5e2dc; border-color:#dcb5ab #dcb5ab #dcb5ab #a6483a; }
.badge { font-size:.69rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--text-secondary); }
.badge-success { color:var(--color-positive); }
.badge-danger { color:var(--color-danger); }
.badge-burgundy { color:var(--accent-burgundy); }
.badge-warning { color: #8a6d1c; }
.card,.card-compact { border:0; background:transparent; padding:0; }
.card-title { font-size:1.18rem; letter-spacing:-.02em; line-height:1.3; margin-bottom:16px; }
.sidebar-column .card-title { font-size:1.08rem; margin-bottom:10px; }
.heading-note { font:.69rem var(--font-sans); color:var(--text-muted); margin-left:7px; letter-spacing:0; }
.mini-portfolio-card { padding-bottom:14px; margin-bottom:14px; border-bottom:1px solid var(--border-color); }
.mini-portfolio-row { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 8px; padding:3px 0; font-size:.78rem; }
.mini-portfolio-label { color:var(--text-secondary); }
.mini-portfolio-val { font-variant-numeric:tabular-nums; font-weight:600; }
.mini-portfolio-row:last-child { margin-top:5px; }
.sidebar-positions-card { padding-bottom:14px; margin-bottom:14px; border-bottom:1px solid var(--border-color); }
.sidebar-positions-header { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px; }
.sidebar-positions-header .card-title { margin-bottom:0; }
.sidebar-positions-container { display:flex; flex-direction:column; gap:6px; }
.sidebar-pos-item { display:flex; flex-direction:column; gap:2px; padding:6px 0; border-bottom:1px solid var(--border-light); font-size:.78rem; min-width:0; }
.sidebar-pos-item:last-child { border-bottom:0; padding-bottom:0; }
.sidebar-pos-header-row { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:4px 8px; }
.sidebar-pos-ticker { font-weight:700; font-size:.84rem; letter-spacing:-.01em; color:var(--text-primary); }
.sidebar-pos-units { color:var(--text-secondary); font-size:.75rem; font-variant-numeric:tabular-nums; }
.sidebar-pos-val { font-weight:600; font-variant-numeric:tabular-nums; margin-left:auto; }
.sidebar-pos-pl-row { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:2px 8px; font-size:.74rem; }
.sidebar-pos-label { color:var(--text-muted); }
.sidebar-pos-pl { font-variant-numeric:tabular-nums; font-weight:600; text-align:right; margin-left:auto; }
.sidebar-pos-stale-tag { font-size:.7rem; color:var(--accent-gold, #8c6e28); font-style:italic; margin-top:1px; }
.sidebar-positions-empty { font-size:.8rem; font-style:italic; padding:4px 0; }
.text-neutral { color:var(--text-secondary); }
.event-content strong { font-weight:700; color:var(--text-primary); }
.roster-mini-list { display:flex; flex-direction:column; gap:4px; }
.roster-mini-item { list-style:none; font-size:.8rem; }
.roster-summary { display:flex; align-items:center; gap:10px; list-style:none; padding:2px 0; }
.roster-summary::-webkit-details-marker { display:none; }
.roster-summary::after { content:'+'; color:var(--text-muted); margin-left:auto; font-size:.8rem; }
.roster-mini-item[open] .roster-summary::after { content:'−'; }
.roster-summary .pixel-portrait { width:40px; height:40px; }
.roster-mini-info { display:flex; flex-direction:column; gap:2px; min-width:0; }
.roster-mini-name { font-weight:600; font-size:.85rem; }
.roster-mini-model { display:block; color:var(--text-muted); font-size:.74rem; overflow-wrap:anywhere; }
details.roster-mini-item > .roster-mini-model { padding:3px 0 7px 50px; }
.council-rules { margin-top:14px; padding-top:10px; border-top:1px solid var(--border-color); font-size:.85rem; }
.meta-list { padding-left:0; list-style:none; }
.meta-list li { margin:9px 0; }
.btn { background:transparent; border:1px solid var(--border-color); border-radius:0; padding:8px 14px; font-size:.86rem; }
.btn-primary { background:var(--accent-burgundy); color:#fff; border-color:var(--accent-burgundy); }
.btn-primary:hover { background:#253723; }
.btn-sm { font-size:.76rem; padding:5px 10px; }
.masthead-status .btn { border:0; padding:4px 0; text-decoration:underline; text-underline-offset:4px; color:var(--text-secondary); }
.table-responsive { max-width:100%; overflow-x:auto; margin-top:18px; }
.data-table { width:100%; border-collapse:collapse; font-size:.82rem; text-align:right; font-variant-numeric:tabular-nums; }
.data-table th { border-top:1px solid var(--border-color); border-bottom:1px solid var(--border-color); padding:11px 9px; font-size:.72rem; color:var(--text-secondary); font-weight:500; }
.data-table td { border-bottom:1px solid var(--border-light); padding:16px 9px; white-space:nowrap; }
.data-table th:first-child,.data-table td:first-child { text-align:left; padding-left:0; }
.data-table .badge { display:block; font-size:.62rem; font-weight:400; }
#orders-list > .card { padding:22px 0; border-bottom:1px solid var(--border-light); }
#orders-list .event-content { margin-top:14px; }
.requests-details { border-top:1px solid var(--border-color); padding-top:20px; }
.requests-summary { font-size:1.18rem; letter-spacing:-.02em; cursor:pointer; list-style:none; display:flex; align-items:center; gap:8px; }
.requests-summary::-webkit-details-marker { display:none; }
.requests-summary::after { content:'+'; color:var(--text-muted); margin-left:auto; font-size:.9rem; font-family:var(--font-mono); }
.requests-details[open] > .requests-summary::after { content:'−'; }
.requests-explanation { font-size:.84rem; margin:8px 0 16px; line-height:1.5; }
.requests-list { display:flex; flex-direction:column; gap:0; }
.request-item { border:0; border-bottom:1px solid var(--border-light); padding:10px 0; background:transparent; box-shadow:none; }
.request-item-summary { display:flex; align-items:center; flex-wrap:wrap; gap:8px 14px; cursor:pointer; font-size:.85rem; padding:2px 0; }
.request-item-summary::after { content:'+'; color:var(--text-muted); margin-left:auto; font-size:.8rem; font-family:var(--font-mono); }
.request-item[open] > .request-item-summary::after { content:'−'; }
.request-actor { font-weight:600; color:var(--text-primary); }
.request-time { font-size:.78rem; color:var(--text-secondary); }
.request-seq { font-family:var(--font-mono); font-size:.75rem; color:var(--text-muted); }
.request-meta-discreet { font-size:.73rem; color:var(--text-muted); margin:6px 0 4px; display:flex; gap:12px; flex-wrap:wrap; }
.request-raw-pre { background:var(--bg-card-muted); border:1px solid var(--border-light); padding:12px 14px; margin:8px 0 6px; font-family:var(--font-mono); font-size:.8rem; line-height:1.5; white-space:pre-wrap; word-break:break-word; overflow-wrap:anywhere; max-height:26rem; overflow:auto; max-width:100%; box-sizing:border-box; }
.requests-empty { padding:12px 0; font-style:italic; font-size:.85rem; }
.notice-box { border:0; padding:0; color:var(--text-secondary); font-size:.9rem; line-height:1.6; }
.invariant-box { font-size:.79rem; }
.invariant-row { display:flex; flex-wrap:wrap; justify-content:space-between; gap:5px 10px; padding:9px 0; border-bottom:1px solid var(--border-light); }
.invariant-row strong { font-variant-numeric:tabular-nums; }
.highlight-row { border-top:1px solid var(--text-secondary); }
.cards-grid { max-width:890px; margin-top:28px; }
.confession-card { padding:26px 0; border-bottom:1px solid var(--border-color); }
.confession-card-header { display:flex; align-items:center; gap:16px; margin-bottom:10px; }
.confession-card-header .actor-name { font-family:var(--font-serif); font-size:1.22rem; font-weight:400; }
.confession-motive,.confession-quote,.memory-box { margin-left:64px; }
.confession-motive { font-size:.86rem; color:var(--text-secondary); }
.confession-quote { font-family:var(--font-serif); font-size:1.35rem; line-height:1.6; margin-top:15px; margin-bottom:18px; }
.memory-box { color:var(--text-secondary); font-size:.83rem; }
.memory-item { margin-top:7px; }
.context-hero-card { display:flex; flex-direction:column; gap:22px; }
.context-hero-header .text-muted { margin-top:8px; font-size:.9rem; }
.context-controls { display:flex; align-items:flex-end; flex-wrap:wrap; gap:26px; padding:24px 0; border-bottom:1px solid var(--border-color); }
.control-item { min-width:0; flex:1 1 240px; display:flex; flex-direction:column; gap:8px; }
.control-label,.form-label { font-size:.8rem; color:var(--text-secondary); }
.slider-wrapper { display:flex; align-items:center; min-height:42px; }
.form-range { width:100%; accent-color:var(--accent-burgundy); }
.isolation-audit-bar { display:flex; flex-wrap:wrap; gap:25px 40px; padding-bottom:20px; border-bottom:1px solid var(--border-color); }
.audit-stat { display:flex; flex-direction:column; gap:6px; }
.audit-label { font-size:.74rem; color:var(--text-secondary); }
.audit-val { font-family:var(--font-serif); font-size:1.4rem; }
#isolation-rules-legend { font-size:.85rem; color:var(--text-secondary); }
.json-inspector-container { min-width:0; }
.json-toolbar { display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; font-size:.77rem; padding:12px 0; border-top:1px solid var(--border-color); }
.json-code-box { padding:20px; background:var(--bg-card-muted); overflow:auto; max-height:480px; font-family:var(--font-mono); font-size:.8rem; white-space:pre; }
.auth-card { max-width:460px; margin:50px auto; }
.auth-card > p { margin-top:14px; }
.auth-form,.form-group { display:flex; flex-direction:column; gap:12px; }
.auth-form { margin-top:24px; gap:18px; }
.alert-danger { color:var(--color-danger); font-size:.88rem; }
.site-footer { border-top:1px solid var(--border-color); margin-top:28px; padding-top:14px; font-size:.76rem; color:var(--text-muted); }
.site-footer p { display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.mt-4 { margin-top:28px; }
.hidden { display:none !important; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.trial-stripe { padding:8px 0 8px; border-bottom:1px solid var(--border-color); margin-bottom:10px; }
.trial-stripe-main { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px 16px; }
.trial-info-group { display:flex; flex-direction:column; gap:4px; }
.trial-heading-row { display:flex; align-items:center; gap:12px; }
.trial-title { font-size:1.1rem; font-weight:400; }
.trial-conditions { font-size:.76rem; color:var(--text-secondary); margin-top:8px; }
.trial-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.trial-actions .btn:disabled { opacity:.45; cursor:not-allowed; }
.trial-metrics-bar { display:flex; flex-wrap:wrap; gap:12px 28px; margin-top:12px; font-size:.8rem; }
.trial-metric-item { display:flex; flex-direction:column; gap:2px; }
.trial-metric-label { font-size:.71rem; color:var(--text-secondary); }
.trial-metric-val { font-family:var(--font-serif); font-size:1.05rem; font-variant-numeric:tabular-nums; }
.trial-metric-sub { font-size:.68rem; color:var(--text-secondary); line-height:1.25; max-width:180px; margin-top:2px; }
.trial-error { margin-top:8px; font-size:.84rem; }
.trial-providers-details { margin-top:4px; font-size:.82rem; }
.trial-providers-summary { color:var(--text-secondary); font-size:.78rem; padding:2px 0; }
.trial-providers-details .table-responsive { margin-top:12px; }
.private-files-dialog { width:min(880px,calc(100vw - 32px)); max-height:85vh; border:1px solid var(--border-color); background:var(--bg-main); color:var(--text-primary); padding:24px; border-radius:0; box-shadow:0 6px 28px rgba(0,0,0,.15); max-width:100%; }
.private-files-dialog::backdrop { background:rgba(37,42,37,.45); }
.dialog-container { display:flex; flex-direction:column; gap:18px; height:100%; }
.dialog-header { display:flex; justify-content:space-between; align-items:center; gap:16px; padding-bottom:14px; border-bottom:1px solid var(--border-color); }
.dialog-header-left { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.dialog-grid { display:grid; grid-template-columns:230px minmax(0,1fr); gap:24px; min-height:360px; }
.dialog-sidebar { border-right:1px solid var(--border-color); padding-right:16px; overflow-y:auto; max-height:55vh; }
.dialog-categories-list { display:flex; flex-direction:column; gap:18px; }
.dialog-category-group { display:flex; flex-direction:column; gap:6px; }
.dialog-category-title { font-size:.73rem; font-weight:600; text-transform:uppercase; letter-spacing:.05em; color:var(--text-secondary); border-bottom:1px solid var(--border-light); padding-bottom:4px; }
.dialog-file-btn { background:transparent; border:0; text-align:left; padding:6px 8px; display:flex; flex-direction:column; gap:2px; font-size:.81rem; color:var(--text-primary); border-radius:0; word-break:break-all; }
.dialog-file-btn:hover,.dialog-file-btn.active { background:var(--bg-card-muted); }
.dialog-file-btn.active { font-weight:600; border-left:2px solid var(--accent-burgundy); }
.dialog-file-meta-sub { font-size:.69rem; color:var(--text-muted); }
.dialog-reader { display:flex; flex-direction:column; gap:10px; min-width:0; }
.dialog-reader-meta { display:flex; justify-content:space-between; align-items:center; gap:10px; font-size:.79rem; color:var(--text-secondary); padding-bottom:6px; border-bottom:1px solid var(--border-light); flex-wrap:wrap; }
.dialog-file-pre { background:var(--bg-card-muted); padding:16px; font-family:var(--font-mono); font-size:.82rem; line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; overflow-y:auto; max-height:50vh; flex:1; border:1px solid var(--border-light); }
.avatar-btn { background:transparent; border:0; padding:0; display:inline-flex; cursor:pointer; }
.avatar-btn:focus-visible { outline:2px solid var(--accent-burgundy); outline-offset:2px; }
@media (max-width:1050px) {
  .site-container { padding:16px 24px 22px; }
  .grid-layout { grid-template-columns:minmax(0,1fr) 230px; gap:24px; }
  .sidebar-column { padding-left:18px; }
  .kpi-bar { gap:16px; }
  .kpi-item:first-child .kpi-value { font-size:1.4rem; }
  .kpi-value { font-size:1.15rem; }
  .tabs-nav { gap:22px; }
}
@media (max-width:760px) {
  .site-container { padding:12px 16px 20px; }
  .masthead-top { align-items:center; flex-wrap:wrap; gap:8px 14px; padding:10px 0 8px; }
  .masthead-titles { flex-direction:column; align-items:flex-start; gap:2px; }
  .brand-title { font-size:2rem; }
  .brand-subtitle { font-size:.76rem; }
  .masthead-status { gap:16px; }
  .demo-banner { flex-direction:column; gap:3px; line-height:1.45; }
  .banner-metrics { white-space:normal; }
  .kpi-bar { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px 12px; padding:8px 0 10px; }
  .kpi-item:first-child { grid-column:auto; }
  .kpi-item:first-child .kpi-value { font-size:1.1rem; letter-spacing:0; }
  .kpi-value { font-size:1.05rem; }
  .kpi-label { font-size:.68rem; }
  .kpi-item { gap:2px; }
  .tabs-nav { flex-wrap:wrap; gap:0 20px; margin-bottom:12px; }
  .tab-button { padding:9px 0 8px; font-size:.8rem; }
  .grid-layout { grid-template-columns:minmax(0,1fr); gap:24px; }
  .sidebar-column { border-left:0; border-top:1px solid var(--border-color); padding:16px 0 0; }
  .feed-filters { width:100%; flex-direction:column; align-items:stretch; gap:8px; }
  .feed-date-filter-group { width:100%; justify-content:flex-start; }
  .feed-selects-group { width:100%; display:flex; flex-wrap:wrap; gap:8px; }
  .form-select-sm { flex:1 1 45%; width:auto; max-width:none; font-size:.73rem; }
  .form-date-sm { flex:1 1 120px; max-width:none; }
  .btn-feed-latest { text-align:right; }
  .feed-card { padding:12px 0 14px; }
  .feed-card-header { gap:8px; }
  .actor-signature { gap:10px; }
  .actor-office { font-size:.7rem; }
  .actor-name { font-size:.98rem; }
  .event-meta { max-width:36%; }
  .event-meta .badge { font-size:.58rem; text-align:right; }
  .event-timestamp { font-size:.7rem; }
  .feed-card > .event-content,.feed-card > .post-long { padding-left:0; margin-top:8px; }
  .event-content { font-size:.98rem; line-height:1.5; }
  .event-reply-badge { margin-left:0; }
  .confession-motive,.confession-quote,.memory-box { margin-left:0; }
  .confession-card-header { gap:12px; }
  .confession-quote { font-size:1.22rem; }
  .context-controls { gap:18px; }
  .control-item { flex-basis:100%; }
  .json-code-box { padding:12px; }
  .isolation-audit-bar { gap:22px; }
  .audit-val { font-size:1.2rem; }
  .data-table { font-size:.77rem; }
  .trial-stripe-main { flex-direction:column; align-items:flex-start; gap:8px; }
  .trial-actions { width:100%; }
  .trial-metrics-bar { gap:10px 18px; }
  .dialog-grid { grid-template-columns:1fr; gap:16px; min-height:auto; }
  .dialog-sidebar { border-right:0; border-bottom:1px solid var(--border-color); padding-right:0; padding-bottom:12px; max-height:160px; }
  .private-files-dialog { width:min(880px,calc(100vw - 16px)); padding:14px; max-height:90vh; }
  .dialog-header { gap:10px; }
  .dialog-file-pre { max-height:40vh; padding:12px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}