/* Storefront reading controls. No external widget or tracking script. */
.fa-accessibility-trigger{position:fixed;left:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:100;width:44px;height:44px;display:grid;place-items:center;border:0;padding:4.5px;background:transparent;cursor:pointer;touch-action:manipulation}
.fa-accessibility-trigger>svg{display:block;width:35px;height:35px;border-radius:50%;background:#000;color:#fff;box-shadow:0 0 0 1px #ffffff80}
.fa-accessibility-trigger:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:50%;box-shadow:0 0 0 4px #000}
body.fa-accessibility-open{overflow:hidden}
.fa-accessibility-panel{box-sizing:border-box;position:fixed;inset:0 auto 0 0;margin:0;width:min(420px,100%);max-width:100%;height:100dvh;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;border:0;border-radius:0;padding:0;background:#fff;color:#111;color-scheme:light;box-shadow:12px 0 40px #0002;font:400 14px/1.5 var(--font,'Helvetica Neue',Arial,sans-serif);text-align:left;letter-spacing:0;text-transform:none}
.fa-accessibility-panel *{box-sizing:border-box}
.fa-accessibility-panel::backdrop{background:#0004}
.fa-accessibility-panel>header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#000;color:#fff;padding:24px}
.fa-accessibility-panel h2{margin:0;font:400 22px/1.25 var(--font,'Helvetica Neue',Arial,sans-serif);letter-spacing:-.025em}
.fa-accessibility-close{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:0;background:transparent;color:#fff;font:30px/1 Arial,sans-serif;cursor:pointer}
.fa-accessibility-content{padding:26px 24px 30px}
.fa-accessibility-intro{margin:0 0 26px;color:#555;font-size:13px;line-height:1.6}
.fa-accessibility-label{margin:24px 0 12px;font-size:11px;font-weight:500;line-height:1.5;letter-spacing:.08em;text-transform:uppercase}
.fa-accessibility-size{display:flex;align-items:center;justify-content:space-between;min-height:62px;padding:8px;border:1px solid #bdbdbd;border-radius:8px}
.fa-accessibility-size button{width:52px;height:44px;border:0;border-radius:4px;background:#f2f2f2;color:#111;font:22px/1 Arial,sans-serif;cursor:pointer}
.fa-accessibility-size button:disabled{opacity:.3;cursor:default}
.fa-accessibility-size output{font-size:16px;font-weight:500}
.fa-accessibility-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fa-accessibility-option{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:116px;padding:20px 12px 16px;border:1px solid #bdbdbd;border-radius:8px;background:#fff;color:#111;text-align:center;cursor:pointer;font-size:13px;line-height:1.4}
.fa-accessibility-option>input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.fa-accessibility-option>svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.fa-accessibility-option:has(input:checked){border-color:#000;box-shadow:inset 0 0 0 1px #000;background:#f2f2f2}
.fa-accessibility-option:has(input:checked)::after{content:'✓';position:absolute;right:8px;top:6px;color:#000;font:14px/1 Arial,sans-serif}
.fa-accessibility-option:has(input:focus-visible){outline:2px solid #000;outline-offset:3px}
.fa-accessibility-reset{width:100%;min-height:46px;margin:24px 0 18px;border:1px solid #000;border-radius:5px;padding:12px;background:#000;color:#fff;font:400 12px/1.5 var(--font,'Helvetica Neue',Arial,sans-serif);letter-spacing:.05em;text-transform:uppercase;cursor:pointer}
.fa-accessibility-panel :is(button,a):focus-visible{outline:2px solid currentColor;outline-offset:3px}
.fa-accessibility-note{margin:0 0 12px;color:#555;font-size:12px;line-height:1.6}
.fa-accessibility-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:22px;font-size:12px}
.fa-accessibility-links a{min-height:32px;padding:5px 0;text-decoration:underline;text-underline-offset:3px}
.fa-accessibility-panel .fa-accessibility-status{margin:0;font-size:12px;color:#444;min-height:18px}

/* Opt-in adjustments to the shop; the game keeps its own settings. */
html.fa-a11y-readable body :is(p,li,h1,h2,h3,h4,a,button,label,summary,th,td,dt,dd,legend,input,select,textarea){font-family:Arial,Helvetica,sans-serif!important}
html.fa-a11y-spacing body :is(p,li,h1,h2,h3,h4,a,button,label,summary,th,td,dt,dd,legend):not([data-fa-a11y-ui] *){letter-spacing:.12em!important;word-spacing:.16em!important;line-height:1.8!important}
html.fa-a11y-links a:not(.brand-link){text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:4px!important}
html.fa-a11y-contrast{--muted:#000;--line:#000}
html.fa-a11y-contrast .site-header{background:#000;color:#fff;mix-blend-mode:normal}
html.fa-a11y-contrast :is(.document-wrap,.category-hero,.empty-shop-page,.site-footer,.overlay-surface){background:#fff;color:#000}
html.fa-a11y-contrast :is(.document-wrap,.category-hero,.empty-shop-page,.site-footer,.overlay-surface) :is(p,a,li,button,h1,h2,h3,h4,summary,th,td,label){color:#000!important}
html.fa-a11y-contrast .hero-caption{background:#000;color:#fff;padding:12px 16px}
html.fa-a11y-contrast :is(.consent-banner,.consent-dialog){background:#000;color:#fff;backdrop-filter:none}
html.fa-a11y-contrast :is(.consent-banner,.consent-dialog) :is(p,a,label,small,button){color:#fff}
html.fa-a11y-motion,html.fa-a11y-motion *{scroll-behavior:auto!important}
html.fa-a11y-motion *,html.fa-a11y-motion *::before,html.fa-a11y-motion *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
@media(max-width:650px){.fa-accessibility-trigger{left:6px;bottom:max(6px,env(safe-area-inset-bottom))}.fa-accessibility-panel>header{padding:20px}.fa-accessibility-content{padding:24px 20px 30px}}
@media print{.fa-accessibility-trigger,.fa-accessibility-panel{display:none!important}}
