/* Shared tokens cover catalogue, account, moderation, chat and the offline shell. */
:root {
  color-scheme: light;
  --bg:#fbfcf9; --ink:#233a2d; --muted:#68716b; --green:#285c45; --green-dark:#194631;
  --line:#dce3d9; --soft:#eef3e8; --lime:#d8edac; --error:#a43d2f;
  --surface:#fff; --hover:#edf2e4; --field:#fff; --field-border:#83927f;
  --action:#285c45; --action-hover:#194631; --on-action:#fff; --focus:#9a7026;
  --photo:#edf1e7; --badge:#fffffff0; --highlight:#e9f0e3; --highlight-ink:#264e39;
  --status-bg:#edf2e5; --status-ink:#4d6542; --warning-bg:#faf0ce; --warning-ink:#72580e;
  --neutral-bg:#edf0eb; --neutral-ink:#596254; --error-bg:#fff0eb; --error-line:#e9c9bd;
  --notice-bg:#edf5e5; --notice-line:#cdddc1; --mine-bg:#dcebcf; --mine-line:#bad2a8;
  --shadow:0 10px 32px #15291e20;
  background:var(--bg); color:var(--ink);
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --bg:#121914; --ink:#e9f0e9; --muted:#b0beb2; --green:#9bd6b2; --green-dark:#b9eacb;
  --line:#405247; --soft:#233127; --lime:#d5e9b9; --error:#ffb4a8;
  --surface:#1c251f; --hover:#2c3d31; --field:#162019; --field-border:#687f6f;
  --action:#337452; --action-hover:#3b845f; --on-action:#fff; --focus:#e3c57d;
  --photo:#202e24; --badge:#1c251ff5; --highlight:#2b4434; --highlight-ink:#d5eede;
  --status-bg:#294032; --status-ink:#c3e2c8; --warning-bg:#413720; --warning-ink:#f0d18b;
  --neutral-bg:#2c342e; --neutral-ink:#c0cac1; --error-bg:#452b29; --error-line:#80524d;
  --notice-bg:#263c2e; --notice-line:#486b52; --mine-bg:#2d4435; --mine-line:#54765c;
  --shadow:0 10px 32px #0007;
}
/* System theme remains usable when JavaScript is unavailable. */
@media (prefers-color-scheme:dark) {
  :root:not([data-theme]) {
    color-scheme:dark;
    --bg:#121914; --ink:#e9f0e9; --muted:#b0beb2; --green:#9bd6b2; --green-dark:#b9eacb;
    --line:#405247; --soft:#233127; --lime:#d5e9b9; --error:#ffb4a8;
    --surface:#1c251f; --hover:#2c3d31; --field:#162019; --field-border:#687f6f;
    --action:#337452; --action-hover:#3b845f; --on-action:#fff; --focus:#e3c57d;
    --photo:#202e24; --badge:#1c251ff5; --highlight:#2b4434; --highlight-ink:#d5eede;
    --status-bg:#294032; --status-ink:#c3e2c8; --warning-bg:#413720; --warning-ink:#f0d18b;
    --neutral-bg:#2c342e; --neutral-ink:#c0cac1; --error-bg:#452b29; --error-line:#80524d;
    --notice-bg:#263c2e; --notice-line:#486b52; --mine-bg:#2d4435; --mine-line:#54765c;
    --shadow:0 10px 32px #0007;
  }
}
body{background:var(--bg);color:var(--ink)}
.button{transition:none}
.site-header,.mobile-nav,.panel,.auth-card,.seller-card,.filter-panel,.conversations,.chat-listing,.profile-more nav,.market-filters,.searchbar,.skip-link,.my-listing,.setup{background:var(--surface);color:var(--ink);border-color:var(--line)}
.site-footer{background:var(--bg)}
input,textarea,select{background:var(--field);color:var(--ink);border-color:var(--field-border)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
input[type=checkbox],input[type=radio]{accent-color:var(--action)}
input[type=file]::file-selector-button{background:var(--soft);color:var(--ink);border:1px solid var(--field-border);border-radius:6px;padding:8px 12px;cursor:pointer}
.search-input input{background:transparent;color:var(--ink)}
.primary,.setup .button,.count,.listing-filters a.active,.wizard-steps button[aria-current=step] span,.mobile-nav .mobile-post .icon,.message-toast,.mobile-nav .messages-menu>.count{background:var(--action);color:var(--on-action);border-color:var(--action)}
.primary:hover,.setup .button:hover,.message-toast:hover{background:var(--action-hover)}
.secondary,.setup .button.secondary{background:var(--surface);border:1px solid var(--field-border);color:var(--green)}
.secondary:hover,.setup .button.secondary:hover{background:var(--hover)}
.header-link:hover,.listing-info h3 a:hover{color:var(--green)}
.brand-mark,.avatar,.telegram-circle,.banner-icon,.step{background:var(--soft);color:var(--green)}
.eyebrow,.tips,.soft-card p,.prose p,.search-input,.listing-date,.message small,.mobile-nav a,.messenger-banner p:not(.eyebrow),.category-copy span{color:var(--muted)}
.connection-state{color:var(--green)}
.soft-card,.empty-state,.wizard-preview,.chat-messages,.upload-box,.local-photo-placeholder,.cron-command,.checks,.topline{background:var(--soft);border-color:var(--line)}
.empty-state>.icon,.photo-placeholder{color:var(--muted)}
.listing-photo,.detail-photo,.photo-placeholder,.photo-thumbs img,.upload-preview img,.existing-photos img,.wizard-photo img,.wizard-preview-photos img,.review-photos img{background:var(--photo)}
.kind-badge{background:var(--badge);color:var(--ink)}
.category-chips a,.listing-filters a{background:var(--surface);border-color:var(--line)}
.category-chips a.active{background:var(--highlight);color:var(--highlight-ink);border-color:var(--highlight)}
.listing-filters a.active{background:var(--action);color:var(--on-action);border-color:var(--action)}
.listing-filters span{background:var(--highlight);color:var(--highlight-ink)}
.pill,.status{background:var(--status-bg);color:var(--status-ink)}
.status-pending,.status-queued,.status-sending,.status-draft,.status-needs_login{background:var(--warning-bg);color:var(--warning-ink)}
.status-rejected,.status-error,.status-conflict{background:var(--error-bg);color:var(--error)}
.status-sold,.status-archived,.status-expired{background:var(--neutral-bg);color:var(--neutral-ink)}
.notice,.flash,.contact-panel,.messenger-banner{background:var(--notice-bg);border-color:var(--notice-line);color:var(--ink)}
.flash.info{background:var(--soft);color:var(--muted)}
.flash.error,.notice.error{background:var(--error-bg);color:var(--error);border-color:var(--error-line)}
.danger,.error-text,.bad{color:var(--error)}
.ok{color:var(--green)}
.message{background:var(--surface);border-color:var(--line);color:var(--ink)}
.message.mine{background:var(--mine-bg);border-color:var(--mine-line)}
.conversation-row:hover{background:var(--hover)}
.conversation-row.has-unread{background:var(--highlight)}
.wizard-steps button span{background:var(--soft);border-color:var(--field-border)}
.wizard-steps button.is-done span{background:var(--highlight);border-color:var(--notice-line)}
.wizard-steps button[aria-current=step] span{background:var(--action);border-color:var(--action);color:var(--on-action)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus,textarea:focus,select:focus,.wizard-step input:focus-visible,.wizard-step textarea:focus-visible,.wizard-step select:focus-visible,.wizard-steps button:focus-visible{outline-color:var(--focus)}
.setup p,.setup small,.setup .hint{color:var(--muted)}
.setup .brand{color:var(--green)}
.setup section,.setup details{border-color:var(--line)}
.setup pre{background:var(--soft);color:var(--ink)}
.setup-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.setup-top .brand{min-width:0;overflow-wrap:anywhere}

/* One compact control, always available to guests and signed-in users. */
[data-theme-picker]{flex:none;position:relative;min-width:44px}
.theme-control,.setup .theme-control{margin:0;padding:0;border:0;position:relative;font:14px/1.5 Arial,Helvetica,sans-serif;color:var(--ink)}
.theme-control>summary{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;cursor:pointer;list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--green)}
.theme-control>summary::-webkit-details-marker{display:none}
.theme-control>summary:hover{background:var(--hover)}
.theme-options{position:absolute;right:0;top:calc(100% + 8px);z-index:30;width:196px;max-width:calc(100vw - 32px);padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.theme-options-title{display:block;padding:7px 10px;color:var(--muted);font-size:12px}
.theme-options button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;width:100%;border:0;border-radius:7px;background:transparent;color:var(--ink);text-align:left;padding:10px;font:inherit;cursor:pointer}
.theme-options button:hover{background:var(--hover)}
.theme-options button[aria-pressed=true]{background:var(--highlight);color:var(--highlight-ink);font-weight:600}
.theme-options button[aria-pressed=true]::after{content:'✓';font-weight:700}
.offline-header{flex-wrap:wrap}
.offline-header [data-theme-picker]{margin-left:auto}
.offline-header>.button{order:3}
@media(min-width:701px) and (max-width:1100px){.header-main .header-link>span{display:none}.header-actions{gap:14px}}
@media(max-width:700px){.header-main{gap:12px}.header-main [data-theme-picker]{margin-left:auto}}
@media(max-width:380px){.header-main .brand{gap:8px}.header-main .brand strong{font-size:18px}.header-main .brand-mark{width:32px;height:36px}.header-main .brand-mark .icon{width:23px;height:23px}}
