/* Shared visual contracts. Keep business states independent from brand accents. */
:root {
  --ui-canvas:#faf9f6; --ui-surface:#fff; --ui-subtle:#f1f1ec;
  --ui-text:#2f2f2f; --ui-muted:#595959; --ui-border:#d6d6ce;
  --ui-info:#e9f1ff; --ui-info-ink:#2f2f2f; --ui-info-border:#a8c8ff;
  --ui-accent-ink:#655313; --ui-control-radius:12px;
  --ui-danger:#a42535; --ui-danger-ink:#fff;
}
html.dark {
  --ui-canvas:#191919; --ui-surface:#262626; --ui-subtle:#323232;
  --ui-text:#faf9f6; --ui-muted:#c9c9c3; --ui-border:#55554f;
  --ui-info:#293447; --ui-info-ink:#e4edff; --ui-info-border:#647d9f;
  --ui-accent-ink:#f1d87f; --ui-danger:#ffb7c0; --ui-danger-ink:#42131a;
}
.ui-system { font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.ui-system:not(.public-experience):not(.admin-experience) { background:var(--ui-canvas); color:var(--ui-text); }
.ui-system:is(.player-game,.admin-game) { --bg:var(--ui-canvas); --surface:var(--ui-surface); --fg:var(--ui-text); --muted:var(--ui-muted); --line:var(--ui-border); }
.ui-system :where(h1,h2,h3,h4,p,legend,label) { overflow-wrap:anywhere; }
.ui-system :where(input,select,textarea) { max-width:100%; min-width:0; }
.ui-system :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea) {
  min-height:44px; border-radius:var(--ui-control-radius); scroll-margin-block:9rem;
}
.ui-system :where(input[type="checkbox"],input[type="radio"]) { accent-color:#655313; }
.ui-system.admin-experience :where(input[type="checkbox"],input[type="radio"]) { min-height:20px; }
html.dark .ui-system :where(input[type="checkbox"],input[type="radio"]) { accent-color:#d4af37; }
.ui-system :where(summary) { min-height:44px; }
.ui-system :where(button,a,input,select,textarea,summary):focus-visible { outline:3px solid var(--ui-accent-ink); outline-offset:3px; }
.ui-system :where([aria-invalid="true"]) { outline:2px solid var(--ui-danger); outline-offset:1px; }
.ui-system :where(button:disabled,input:disabled,select:disabled,textarea:disabled) { cursor:not-allowed; }
.ui-system :where([id]) { scroll-margin-top:8rem; }
.ui-system .ui-action-primary { background:#2f2f2f; color:#faf9f6; border-color:#2f2f2f; }
html.dark .ui-system .ui-action-primary { background:#a8c8ff; color:#2f2f2f; border-color:#a8c8ff; }
.ui-system .ui-action-secondary { background:var(--ui-subtle); color:var(--ui-text); border:1px solid var(--ui-border); }
.ui-system .ui-action-danger { background:var(--ui-danger); color:var(--ui-danger-ink); border-color:var(--ui-danger); }
.ui-system :is(button,a):is(.ui-action-primary,.ui-action-secondary,.ui-action-danger) { min-height:44px; border-radius:var(--ui-control-radius); font-weight:700; }
.ui-system .ui-action-primary .text-white { color:inherit; }
.ui-system .public-nav-link { min-height:44px; }
.ui-system :is(.ui-action-primary,.ui-action-secondary,.ui-action-danger):disabled { opacity:.55; }
.ui-system .ui-info-surface { background:var(--ui-info); color:var(--ui-info-ink); }
.ui-system .ui-info-border { border-color:var(--ui-info-border); }
.ui-system .ui-ink-accent { color:var(--ui-accent-ink); }
.ui-system .ui-info-surface .ui-ink-accent { color:var(--ui-info-ink); }
.ui-system.admin-experience { background:var(--ui-canvas)!important; }
.ui-system.admin-experience main>section:not(.bg-slate-900),.ui-system.admin-experience main>article { border-radius:18px; box-shadow:none; }
.ui-system.admin-experience main h1 { font-size:clamp(1.4rem,4vw,1.75rem); line-height:1.2; letter-spacing:-.025em; font-weight:800; }
.ui-system.admin-experience main h2 { line-height:1.35; font-weight:750; }
.ui-system.admin-experience main .font-black { font-weight:750; }
.ui-system.admin-experience main>section { padding:16px; }
.ui-system.admin-experience .admin-sticky-actions { bottom:calc(4.6rem + env(safe-area-inset-bottom)); border:1px solid var(--ui-border); box-shadow:0 3px 12px #00000014; }
.ui-system [data-admin-section]>summary>i { transition:transform .15s; }
.ui-system [data-admin-section]:not([open])>summary>i { transform:rotate(-90deg); }
.ui-system .ui-order-filters { display:flex; flex-wrap:wrap; gap:8px; }
.ui-system .ui-mobile-filter { display:flex; align-items:end; gap:8px; margin-top:16px; }
.ui-mobile-filter label { flex:1; min-width:0; }
.ui-mobile-filter select { width:100%; margin-top:6px; padding:10px; background:var(--ui-surface); color:var(--ui-text); border:1px solid var(--ui-border); }
.ui-system .ui-desktop-filters { display:none; }
.ui-system .ui-checkout-items>summary { display:flex; align-items:center; justify-content:space-between; gap:12px; cursor:pointer; font-weight:700; list-style:none; }
.ui-checkout-items>summary::-webkit-details-marker { display:none; }
.ui-checkout-items[open]>summary i { transform:rotate(180deg); }
.ui-system .ui-attention-card { border-left:4px solid #d4af37; background:var(--ui-surface); }
.ui-system .ui-turn-title { white-space:normal; overflow-wrap:anywhere; }
.ui-system .ui-notification-summary { display:flex; gap:16px; flex-wrap:wrap; margin-top:16px; padding-top:12px; border-top:1px solid var(--ui-border); }
.ui-system .ui-notification-summary>div { display:flex; gap:8px; align-items:baseline; }
.ui-system .ui-neutral-surface { background:var(--ui-surface); color:var(--ui-text); }
.ui-system .ui-muted { color:var(--ui-muted); }
@media(max-width:639px) {
  .ui-system :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea) { font-size:16px; }
  .ui-system.admin-experience main>section { padding:14px; }
}
@media(min-width:768px) { .ui-system .ui-mobile-filter { display:none; } .ui-system .ui-desktop-filters { display:flex; } }
@media(min-width:1024px) { .ui-system.admin-experience .admin-sticky-actions { bottom:1rem; } }
@media(prefers-reduced-motion:reduce) { .ui-system [data-admin-section]>summary>i { transition:none; } }
