/* Readability layer. Keep status colors and all existing access-control visibility rules. */
/* A closed/expired session is not an empty live dashboard. Auth decides visibility. */
body.requires-session .tab-panel, body.requires-session .tabbar,
body.requires-session .sidebar-nav, body.requires-session #capture,
body.requires-session #discord-summary, body.requires-session #density-toggle,
body.requires-session #write-access-state, body.requires-session .sync-block { display: none; }
body.requires-session .pulse-core { background: var(--muted); }
body.requires-session .rail-state strong { color: var(--muted); }
.comfort-ui .private-access-notice { max-width: 680px; margin: 44px auto; padding: clamp(24px, 5vw, 46px); border: 1px solid var(--line); border-radius: 16px; background: var(--panel); }
.comfort-ui .private-access-notice[hidden] { display: none; }
.comfort-ui .private-access-icon { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 22px; border-radius: 12px; background: var(--cyan-dim); color: var(--cyan); }
.comfort-ui .private-access-icon svg { width: 23px; height: 23px; }
.comfort-ui .private-access-kicker { margin-bottom: 10px; color: var(--cyan); font-size: 13px; font-weight: 650; }
.comfort-ui .private-access-notice h2 { font-size: clamp(22px, 3vw, 29px); margin-bottom: 16px; }
.comfort-ui .private-access-notice p { line-height: 1.7; color: var(--muted); }
.comfort-ui .private-access-notice code { display: block; margin: 24px 0 12px; padding: 16px; border: 1px solid var(--line-hi); border-radius: 8px; background: var(--ink); color: var(--text); font-size: 15px; overflow-wrap: anywhere; }
.comfort-ui .private-access-notice .private-access-help { font-size: 13px; }
.comfort-ui .private-access-notice > a { display: inline-block; margin-top: 24px; padding: 8px 0; color: var(--cyan); text-underline-offset: 4px; }
:root {
  --void: #07171c;
  --ink: #0a1c21;
  --panel: #10252b;
  --panel-2: #183138;
  --panel-3: #203e43;
  --line: #304b50;
  --line-hi: #507278;
  --text: #e2ebea;
  --muted: #a6b9bb;
  --cyan: #9dcad3;
  --cyan-dim: rgba(157, 202, 211, .10);
  --acid: #b4c99e;
  --acid-dim: rgba(180, 201, 158, .10);
  --amber: #d4bc86;
  --amber-dim: rgba(212, 188, 134, .10);
  --red: #e5a3a4;
  --red-dim: rgba(229, 163, 164, .10);
  --shadow: 0 8px 24px rgba(0, 0, 0, .12);
  --comfort-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* One font-only override avoids requesting legacy TTF faces in nested widgets. */
body.comfort-ui, body.comfort-ui * { font-family: var(--comfort-font) !important; }
body.comfort-ui :is(code, pre, kbd, samp) { font-family: ui-monospace, Consolas, monospace !important; }
body.comfort-ui { background: var(--void); font-size: 15px; line-height: 1.55; }
body.comfort-ui::before, .comfort-ui .scanline, .comfort-ui .market-ambient,
.comfort-ui .hud-panel::after, .comfort-ui .priority-hero::before,
.comfort-ui .network-stage::before, .comfort-ui .network-stage::after,
.comfort-ui .panel-data-wipe { display: none; }
.comfort-ui .pulse-core { animation: none; box-shadow: none; }
.comfort-ui .radar-orb::after { animation: none; }
.comfort-ui .stream-dot, .comfort-ui .stream-item::before,
.comfort-ui .posture-meter span, .comfort-ui .battle-control-core div i { box-shadow: none; }
.comfort-ui .tab-panel.is-active, .comfort-ui .contract-card,
.comfort-ui .contract-card-details { animation: none; }

/* Keep the responsive layout and density controls; soften only presentation. */
body.comfort-ui .command-rail { background: var(--ink); box-shadow: none; border-color: var(--line); overflow-y: auto; }
body.comfort-ui .command-bar, body.comfort-ui .view-header,
body.comfort-ui .hud-panel, body.comfort-ui .confirm-modal {
  background: var(--panel); border-color: var(--line); clip-path: none; border-radius: 12px; box-shadow: none;
}
body.comfort-ui .command-bar { border-left-width: 1px; gap: 18px; flex-wrap: wrap; }
.comfort-ui .command-title { min-width: 0; }
.comfort-ui .command-actions { flex-wrap: wrap; }
body.comfort-ui h1 { font-size: clamp(22px, 2.1vw, 30px); line-height: 1.25; text-transform: none; font-weight: 650; letter-spacing: -.025em; }
body.comfort-ui h2, body.comfort-ui h3 { line-height: 1.35; text-transform: none; }
body.comfort-ui .view-header h2 { font-size: clamp(21px, 2vw, 28px); }
body.comfort-ui .panel-heading h2 { font-size: 16px; }
body.comfort-ui .command-title p, body.comfort-ui .view-header p { font-size: 14px; line-height: 1.6; }
.comfort-ui .brand-sigil, .comfort-ui .rail-state { clip-path: none; border-radius: 8px; }
.comfort-ui .brand-sigil::after { display: none; }
.comfort-ui .brand-copy strong { font-size: 13px; }
.comfort-ui .rail-state { background: var(--acid-dim); border-color: var(--line); }
.comfort-ui .side-link { border-radius: 7px; }
.comfort-ui .side-link.is-active { background: var(--cyan-dim); }
body.comfort-ui .side-link span { font-size: 14px; }
body.comfort-ui .sector-tag, body.comfort-ui .sidebar-nav > p,
body.comfort-ui .panel-heading small, body.comfort-ui .panel-index,
body.comfort-ui .clock-block small, body.comfort-ui .sync-block small,
body.comfort-ui .side-link b, body.comfort-ui .footer-code,
body.comfort-ui .live-label, body.comfort-ui .panel-jump {
  color: var(--muted); font-size: 12px; letter-spacing: .035em; line-height: 1.4;
}
.comfort-ui .panel-heading { gap: 12px; padding: 14px 16px; }
.comfort-ui .panel-index { border-radius: 6px; }
.comfort-ui .live-label { border-radius: 5px; }
.comfort-ui .rail-state strong, .comfort-ui .rail-state small,
.comfort-ui .brand-copy small, .comfort-ui .rail-footer p { font-size: 12px; color: var(--muted); }
.comfort-ui .rail-state strong { color: var(--acid); }
.comfort-ui .rail-footer p { line-height: 1.6; }

/* Inputs, links and table metadata remain legible at normal browser zoom. */
body.comfort-ui :is(button, input, select, textarea) { min-height: 42px; border-radius: 7px; font-size: 14px; }
body.comfort-ui :is(input, select, textarea) { background: var(--ink); }
.comfort-ui .primary-action { background: var(--cyan-dim); border-color: var(--line-hi); color: var(--cyan); }
.comfort-ui .secondary-btn, .comfort-ui .tab-button { background: var(--panel-2); }
.comfort-ui .hud-button { text-transform: none; }
.comfort-ui .community-home-link { display: inline-flex; gap: 8px; align-items: center; min-height: 42px; padding: 8px 12px; border: 1px solid var(--line-hi); border-radius: 7px; color: var(--cyan); text-decoration: none; font-size: 14px; }
.comfort-ui .community-home-link:hover { background: var(--cyan-dim); }
.comfort-ui :is(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid var(--cyan); outline-offset: 3px; }
.comfort-ui .write-access-state { font-size: 12px; }
.comfort-ui .empty-row { color: var(--muted); font-size: 14px; line-height: 1.65; }
.comfort-ui .empty-row span, .comfort-ui .empty-row small,
.comfort-ui .toast span, .comfort-ui .status-line, .comfort-ui .form-note { font-size: 14px; color: var(--muted); }
body.comfort-ui .front-foot, body.comfort-ui .front-ranking,
body.comfort-ui .stream-item p, body.comfort-ui .timeline-event p,
body.comfort-ui .alert-item p, body.comfort-ui .watch-header,
body.comfort-ui .target-cell, body.comfort-ui .target-name span,
body.comfort-ui .verification-member-primary div > span,
body.comfort-ui .verification-role-chip { font-size: 12px; line-height: 1.5; }
.comfort-ui .watch-header, .comfort-ui .verification-diagnostic-decisions small { color: var(--muted); }

/* Contract cards: quieter surfaces, clear state, no change to money or progress. */
.comfort-ui .contracts-balance article { background: var(--panel-2); border-radius: 9px; padding: 18px; }
.comfort-ui .contracts-balance small, .comfort-ui .contracts-action-panel label span,
.comfort-ui .contract-browser-toolbar label > span { color: var(--muted); font-size: 13px; letter-spacing: .02em; }
.comfort-ui .contracts-balance strong { font-size: 28px; font-weight: 650; }
.comfort-ui .contracts-balance article > span, .comfort-ui .contracts-warning,
.comfort-ui .contracts-inline-note, .comfort-ui .contracts-observer-note { font-size: 14px; line-height: 1.65; opacity: 1; }
.comfort-ui .contract-card { background: var(--panel-2); border-radius: 10px; transition: border-color .15s; }
.comfort-ui .contract-card:hover { transform: none; box-shadow: none; }
.comfort-ui .contract-card[open] { box-shadow: none; }
.comfort-ui .contract-card-summary { padding: 18px; }
.comfort-ui .contract-card-title strong { font-size: 17px; line-height: 1.4; font-weight: 650; }
.comfort-ui .contract-card-title > span, .comfort-ui .contract-card-bottom,
.comfort-ui .contract-damage-label, .comfort-ui .contract-card-details dt,
.comfort-ui .contract-game-links a { font-size: 14px; line-height: 1.5; }
.comfort-ui .contract-card-heading { flex-wrap: wrap; }
.comfort-ui .contract-state { font-size: 12px; }
.comfort-ui .contract-card-metrics { background: var(--ink); border-radius: 7px; }
.comfort-ui .contract-card-metrics small, .comfort-ui .contract-unit-chip small,
.comfort-ui .contract-card-details dd, .comfort-ui .contract-state-filters button strong { font-size: 12px; line-height: 1.5; }
.comfort-ui .contract-card-metrics small { letter-spacing: 0; }
.comfort-ui .contract-card-metrics strong { font-size: 18px; }
.comfort-ui .contract-card-bottom { flex-wrap: wrap; }
.comfort-ui .contract-progress { height: 7px; background: var(--ink); }
.comfort-ui .contracts-observer-shell pre { background: var(--ink); border-radius: 8px; font-size: 13px; }
.comfort-ui .contracts-row, .comfort-ui .contract-unit-chip { background: var(--panel-2); border-radius: 7px; }
.comfort-ui .contracts-action-panel { top: 16px; }
.comfort-ui .contracts-grid { gap: 20px; }
.comfort-ui .verification-metric, .comfort-ui .verification-member-card { border-radius: 8px; }
.comfort-ui .verification-state, .comfort-ui .verification-admin-state { font-size: 12px; }
.comfort-ui .verification-search input { font-size: 14px; }
.comfort-ui .verification-metric small { font-size: 12px; }

@media (max-width: 900px) {
  body.comfort-ui .command-bar { padding: 18px; }
  body.comfort-ui .command-title p { font-size: 14px; }
  .comfort-ui .contracts-action-panel { position: static; }
}
@media (max-width: 540px) {
  .comfort-ui .panel-heading { padding: 12px; flex-wrap: wrap; }
  .comfort-ui .contract-card-summary { padding: 14px; }
  .comfort-ui .contract-card-title { min-width: 140px; }
  .comfort-ui .contract-state { margin-left: auto; }
  .comfort-ui .contract-card-metrics { grid-template-columns: 1fr; }
  .comfort-ui .community-home-link { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .comfort-ui *, .comfort-ui *::before, .comfort-ui *::after { transition: none; scroll-behavior: auto; }
}
