/* Reference: https://metin2alerts.com/wiki. Core OKLCH/OKLab values were
   read from the rendered page; third-party advertising colors are excluded.
   Loaded only by the public layout, after feature styles. Admin stays separate. */
body { background:var(--bg); color:var(--text-soft); }
h1,h2,h3,h4,strong,.brand .word { color:var(--text); }
.grain { opacity:.018; }
::selection { background:var(--brand); color:var(--on-brand); }
::placeholder { color:var(--text-muted); opacity:1; }
input,textarea,select { accent-color:var(--brand); }
select option,select optgroup { background:var(--bg-input); color:var(--text); }
:focus-visible { outline-color:var(--brand); }
.site-nav a:hover,.site-nav a[aria-current=page],.label-mono,.eyebrow { color:var(--brand-muted); }
.brand .mark,.skip-link,.btn-primary,.btn-accent { color:var(--on-brand); }
.btn-primary strong,.btn-accent strong { color:inherit; }
.btn-primary:hover,.btn-primary:focus-visible { background:var(--brand-hi); }
.btn-ghost:hover { background:var(--bg-hover); border-color:var(--brand-muted); }
.btn,.input,.select,.panel,.server-card,.listing-row,.pvp-select-trigger { transition:background-color var(--motion-color),border-color var(--motion-color),color var(--motion-color),box-shadow var(--motion-color); }
.panel,.server-card,.commerce-product,.merchant-store-card,.merchant-store-empty { background:var(--bg-panel); }
.server-card:hover,.listing-row:hover { background:var(--bg-hover); }
.panel>.head,.commerce-catalog>.head { background:color-mix(in srgb,var(--bg-panel) 96%,var(--brand)); }
.server-card.is-sponsored,.listing-row.is-sponsored { background:var(--brand-tint); }
.pvp-select-trigger,.pvp-select-search,.language-search { background:var(--bg-input); }
.pvp-select-panel,.language-picker-panel { background:var(--bg-panel); }
.pvp-select-option.is-active,.pvp-select-option[aria-selected=true] { background:var(--brand-tint); color:var(--text); }
.pvp-select-option.is-active { border-color:var(--brand-muted); }
.pvp-select-options,.language-option-grid { scrollbar-color:var(--brand-muted) var(--bg-input); }
.advertising-root { --color-primary-content:var(--on-brand);--color-base-300:var(--line); }
.advertising-root .adv-btn-primary { color:var(--on-brand); }
.shop-domain-modal { --sd-surface:var(--bg-panel);--sd-raised:var(--bg-elevated);--sd-line:var(--line-strong);--sd-muted:var(--text-soft);--sd-dim:var(--text-muted);--sd-brand:var(--brand);--sd-ok:var(--ok); }
.shop-domain-modal .sd-primary { color:var(--on-brand); }
.shop-domain-modal .sd-primary:hover { background:var(--brand-hi);border-color:var(--brand-hi); }
.merchant-review-notice,.merchant-inline-note { color:var(--text-muted); }
.merchant-provider-flow { background:var(--bg-sunken); }
.merchant-choice-card:has(input:checked),.merchant-media-choice:has(input:checked) { background:var(--brand-tint);border-color:var(--brand); }
.merchant-store-cover { background:radial-gradient(ellipse at top right,color-mix(in srgb,var(--brand) 14%,transparent),transparent 65%),linear-gradient(135deg,var(--bg-elevated),var(--bg-panel)); }
.merchant-store-cover:after { background:linear-gradient(transparent,var(--bg-panel)); }
.merchant-choice-illustration { background:linear-gradient(135deg,var(--bg-elevated),var(--bg-sunken)); }
/* Per-game UI accents use the same palette; the actual game art and item
   rarity/skill colors inside maps, tooltips and 3D scenes remain untouched. */
[style*="--accent:"] { --accent:var(--brand)!important; }
.sro-chapter { --chapter-accent:var(--brand-muted)!important;--chapter-rgb:176,148,104!important; }
@media(prefers-reduced-motion:reduce) { .btn,.input,.select,.panel,.server-card,.listing-row,.pvp-select-trigger { transition:none; } }
@media print { body:has(.ad-receipt-page) { background:white;color:black; } body:has(.ad-receipt-page) h1,body:has(.ad-receipt-page) h2,body:has(.ad-receipt-page) strong { color:inherit; } }
