/* Shared accessibility defaults; appearance is a preference, not an access mode. */
:root{--focus-outer:#111111;--focus-inner:#ffffff;--control-edge:#64717c;--muted:#4d5c68}
:root[data-theme="dark"]{--canvas:#121212!important;--ink:#f5f5f5!important;--surface:#1a1a1a;--surface-ink:#f5f5f5;--muted:#bdbdbd;--line:#646464;--focus-outer:#ffffff;--focus-inner:#111111;--control-edge:#888888;--auth-background:#121212!important}
:where(.app,.peers-auth,#peers-control,dialog) :is(button,a,input,textarea,select,summary,[tabindex]):focus-visible,.skip-link:focus-visible{outline:3px solid var(--focus-outer)!important;outline-offset:3px;box-shadow:0 0 0 3px var(--focus-inner)!important}
:where(.app,.peers-auth,#peers-control,dialog) :is(input,textarea,select){color:inherit;border-color:var(--control-edge)!important}
:where(.app,.peers-auth,#peers-control,dialog) :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
:where(.app,.peers-auth,#peers-control,dialog) :is(button,a,summary){touch-action:manipulation}
:where(.app,.peers-auth,#peers-control,dialog) :is(p,li,dd,h1,h2,h3,label){overflow-wrap:anywhere}
:where(.app,.peers-auth,#peers-control,dialog) :is(button,[tabindex],input,select,textarea,a,summary){scroll-margin-block:90px}
.skip-link{position:fixed;left:12px;top:12px;z-index:2147483647;padding:12px 18px;background:var(--surface,#fff);color:var(--ink,#111);font:600 16px/1.5 sans-serif;transform:translateY(-200%)}
.skip-link:focus{transform:translateY(0)}
.appearance-settings{max-width:100%;text-align:left}.appearance-settings select{min-height:44px;max-width:100%;width:100%;padding:12px;border:1px solid var(--control-edge);border-radius:8px;background:var(--surface,#fff);color:var(--ink,#111);font:inherit}
.appearance-settings label{display:grid;gap:8px}.appearance-help{font-size:14px;line-height:1.6;color:var(--muted)}.appearance-status{font-size:14px;line-height:1.6;min-height:1.6em}.appearance-settings h2{font-size:20px}.auth-footer .appearance-settings{width:min(480px,100%);padding-block:16px}.auth-footer{flex-wrap:wrap}
.profile-error{color:#8c2020;font-size:15px;line-height:1.5}.profile-error:empty{display:none}:root[data-theme="dark"] .profile-error{color:#ffb4b4}
.app .nav-item{color:var(--muted)}.app .nav-item[aria-current="page"]{color:var(--brand-readable,var(--brand));font-weight:800}
.app :is(.nav-item,.mini-action,.text-button,.dm-row-toggle,.dm-menu-button){min-height:36px;min-width:24px}
.app :is(.post-rich-text,.native-resource,.offer-detail-body) a{text-decoration:underline;text-underline-offset:.18em}
.dm-primary:hover{background:var(--dm-button);color:var(--dm-button-text);filter:brightness(.95)}
.chat-new-button,.announcement-monogram{color:var(--brand-text)}
.dm-log:focus-visible{outline-offset:-4px!important}
/* QR codes and supplied logos must remain legible without altering their pixels. */
.app :is(.ticket-qr,.pass-qr,.brand-logo-wrap,.hero-logo,.community-choice-logo){background:#fff;color:#111}
:root[data-theme="dark"] .peers-auth{--auth-button:#eeeeee!important;--auth-button-text:#121212!important;--auth-background:#121212!important;background:#121212;color:#f5f5f5}
:root[data-theme="dark"] #peers-control{--pc-ink:#f5f5f5;--pc-muted:#bdbdbd;--pc-border:#646464;color:#f5f5f5;background:#121212}
.peers-auth .auth-main{scroll-margin-top:20px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.skeleton{animation:none!important}}
@media(prefers-contrast:more){:root{--muted:#303b45;--line:#64717c}:root[data-theme="dark"]{--muted:#f5f5f5;--line:#bdbdbd}.app :is(.feed-post,.settings-card,.chat-card,.learning-card){border:1px solid var(--line)}}
@media(forced-colors:active){:where(.app,.peers-auth,#peers-control,dialog) :is(button,a,input,textarea,select,summary,[tabindex]):focus-visible{outline:3px solid Highlight!important;box-shadow:none!important}.app .nav-item[aria-current="page"]{border:2px solid Highlight}.app :is(.button,.dm-btn,.feed-post,.settings-card){border:1px solid ButtonText}.skip-link{background:Canvas;color:CanvasText}}

/* Header cover text stays white in both themes, independent of muted body text. */
.peers-auth .auth-masthead--covered .auth-brand small,.peers-auth .auth-masthead--covered .auth-platform{color:#fff;text-shadow:0 1px 5px #0005}
.peers-auth .auth-masthead--covered .auth-brand small,.peers-auth .auth-masthead--covered .auth-platform-label{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:1px solid #ffffff26;border-radius:999px;background:rgba(8,19,30,.70);color:#fff;font-size:11px;line-height:1.4;text-shadow:none}
.peers-auth .auth-masthead--covered .auth-brand small{margin-top:6px}
/* Compact appearance controls on the public authentication screens. */
.peers-auth .auth-footer{align-items:center;column-gap:24px;row-gap:8px;padding-block:12px}
.peers-auth .auth-footer .appearance-settings--compact{width:auto;padding:0;margin:0 auto 0 0}
.peers-auth .appearance-settings--compact fieldset{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;min-width:0;margin:0;padding:0;border:0}
.peers-auth .appearance-switch{position:relative;display:inline-flex;max-width:100%;gap:0;padding:0;border:0;border-radius:999px}
.peers-auth .appearance-switch::before{content:"";position:absolute;inset:5px 0;border:1px solid #e1e5e9;border-radius:999px;background:#f1f3f5;pointer-events:none}
.peers-auth .appearance-option{display:block;position:relative;flex:0 0 44px;width:44px;height:44px;min-width:0;cursor:pointer}
.peers-auth .appearance-option input{position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.peers-auth .appearance-option>span{display:flex;align-items:center;justify-content:center;width:30px;height:30px;min-height:0;margin:7px;padding:0;border:1px solid transparent;border-radius:999px;color:#46515c;line-height:1;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease}
.peers-auth .appearance-option svg{width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.peers-auth .appearance-option input:checked+span{background:#fff;color:#18232f;border-color:#c7cdd3;box-shadow:0 1px 3px #14253612}
.peers-auth .appearance-option input:focus-visible+span{outline:3px solid var(--focus-outer);outline-offset:3px;box-shadow:0 0 0 3px var(--focus-inner)}
.peers-auth .appearance-sr-only,.peers-auth .appearance-settings--compact .appearance-status:not([data-save-state="unsaved"]){position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;margin:-1px!important;padding:0!important;border:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.peers-auth .appearance-settings--compact .appearance-status[data-save-state="unsaved"]{max-width:36ch;margin:8px 0 0;font-size:12px;line-height:1.5}
:root[data-theme="dark"] .peers-auth .appearance-switch::before{background:#242424;border-color:#444}
:root[data-theme="dark"] .peers-auth .appearance-option>span{color:#d0d0d0}
:root[data-theme="dark"] .peers-auth .appearance-option input:checked+span{background:#454545;color:#fff;border-color:#888;box-shadow:none}
@media(hover:hover){.peers-auth .appearance-option:hover input:not(:checked)+span{background:#e1e5e9;color:#18232f}:root[data-theme="dark"] .peers-auth .appearance-option:hover input:not(:checked)+span{background:#363636;color:#fff}}
@media(max-width:760px){.peers-auth .auth-footer{column-gap:16px;row-gap:4px}.peers-auth .auth-footer .appearance-settings--compact{flex:0 0 auto}.peers-auth .auth-footer>span{order:2;flex:1 1 100%;font-size:11px}.peers-auth .auth-footer>a{margin-left:auto}}
@media(prefers-reduced-motion:reduce){.peers-auth .appearance-option>span{transition:none}}
@media(forced-colors:active){.peers-auth .appearance-switch::before{background:Canvas;border-color:ButtonText}.peers-auth .appearance-option>span{color:ButtonText}.peers-auth .appearance-option input:checked+span{background:Highlight;color:HighlightText;border-color:Highlight;forced-color-adjust:none}.peers-auth .appearance-option input:focus-visible+span{outline-color:Highlight}}
