/* euphoria accessibility widget — glass rose/white */
#a11y-root{position:fixed;inset:auto auto calc(86px + env(safe-area-inset-bottom,0px)) 14px;z-index:9990;direction:rtl;font-family:-apple-system,BlinkMacSystemFont,"Heebo","Segoe UI",sans-serif;font-size:15px;color:#1C1B1E;-webkit-font-smoothing:antialiased}
#a11y-root *{box-sizing:border-box}
#a11y-fab{width:56px;height:56px;border-radius:28px;border:1px solid rgba(255,255,255,.75);background:linear-gradient(145deg,rgba(255,255,255,.55),rgba(255,255,255,.12)),linear-gradient(135deg,rgba(217,138,160,.9),rgba(185,71,95,.92));color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;box-shadow:0 14px 34px -12px rgba(185,71,95,.6),0 2px 6px rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,.7);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);transition:transform .18s cubic-bezier(.2,.8,.25,1),box-shadow .18s}
#a11y-fab:hover{transform:translateY(-2px) scale(1.04)}
#a11y-fab:active{transform:scale(.96)}
#a11y-fab:focus-visible,#a11y-root button:focus-visible,#a11y-root a:focus-visible{outline:3px solid #1C1B1E;outline-offset:3px}
#a11y-fab svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 1px rgba(0,0,0,.18))}
#a11y-panel{position:absolute;bottom:68px;left:0;width:min(372px,calc(100vw - 28px));max-height:min(76vh,640px);display:flex;flex-direction:column;border-radius:26px;border:1px solid rgba(255,255,255,.8);background:linear-gradient(160deg,rgba(255,255,255,.86),rgba(255,240,244,.74));-webkit-backdrop-filter:blur(26px) saturate(170%);backdrop-filter:blur(26px) saturate(170%);box-shadow:0 30px 70px -22px rgba(120,30,55,.45),0 2px 10px rgba(0,0,0,.06),inset 0 1px 0 rgba(255,255,255,.9);transform-origin:bottom left;opacity:0;transform:translateY(12px) scale(.96);pointer-events:none;transition:opacity .2s,transform .22s cubic-bezier(.2,.8,.25,1)}
#a11y-root.open #a11y-panel{opacity:1;transform:none;pointer-events:auto}
.a11y-h{display:flex;align-items:center;gap:10px;padding:16px 16px 10px}
.a11y-h h2{margin:0;font-size:18px;font-weight:800;letter-spacing:-.2px;flex:1}
.a11y-h p{margin:2px 0 0;font-size:12.5px;color:#5B5A60;font-weight:500}
.a11y-x,.a11y-reset{border:1px solid rgba(255,255,255,.7);background:rgba(255,255,255,.55);color:#1C1B1E;border-radius:12px;height:36px;padding:0 12px;display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.a11y-x{width:36px;padding:0;justify-content:center}
.a11y-x svg,.a11y-reset svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.a11y-body{overflow:auto;padding:4px 14px 12px;scrollbar-width:thin;overscroll-behavior:contain}
.a11y-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.a11y-t{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:84px;padding:10px 6px;border-radius:18px;border:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.58);color:#1C1B1E;font:inherit;font-size:12.5px;font-weight:700;line-height:1.2;text-align:center;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.04),inset 0 1px 0 rgba(255,255,255,.95);transition:transform .15s,background .15s,color .15s,box-shadow .15s}
.a11y-t:hover{transform:translateY(-1px);background:rgba(255,255,255,.8)}
.a11y-t:active{transform:scale(.97)}
.a11y-t svg{width:26px;height:26px;fill:none;stroke:#B9475F;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:stroke .15s}
.a11y-t[aria-pressed="true"]{background:linear-gradient(145deg,rgba(255,255,255,.4),rgba(255,255,255,.05)),linear-gradient(135deg,#D98AA0,#B9475F);color:#fff;border-color:rgba(255,255,255,.55);box-shadow:0 10px 24px -12px rgba(185,71,95,.75),inset 0 1px 0 rgba(255,255,255,.6)}
.a11y-t[aria-pressed="true"] svg{stroke:#fff}
.a11y-t[aria-pressed="true"]::after{content:"";position:absolute;top:7px;inset-inline-start:8px;width:8px;height:8px;border-radius:4px;background:#fff;box-shadow:0 0 0 2px rgba(185,71,95,.5)}
.a11y-fs{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:18px;border:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.58);box-shadow:inset 0 1px 0 rgba(255,255,255,.95)}
.a11y-fs .lbl{flex:1;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700}
.a11y-fs .lbl svg{width:24px;height:24px;fill:none;stroke:#B9475F;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.a11y-fs .lbl small{display:block;font-size:11.5px;color:#5B5A60;font-weight:600}
.a11y-fs button{width:38px;height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.75);color:#B9475F;font:inherit;font-size:20px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 1px 0 #fff}
.a11y-fs button:disabled{opacity:.35;cursor:default}
.a11y-fs .dots{display:flex;gap:4px}
.a11y-fs .dots i{width:7px;height:7px;border-radius:4px;background:rgba(185,71,95,.2)}
.a11y-fs .dots i.on{background:#B9475F}
.a11y-f{padding:10px 16px 14px;border-top:1px solid rgba(185,71,95,.12);display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px;color:#5B5A60}
.a11y-f a{color:#B9475F;font-weight:700;text-decoration:none}
.a11y-f a:hover{text-decoration:underline}
#a11y-guide{position:fixed;left:0;right:0;height:12px;top:-50px;pointer-events:none;z-index:9989;background:rgba(185,71,95,.22);border-top:2px solid #B9475F;border-bottom:2px solid #B9475F;box-shadow:0 0 0 1px rgba(255,255,255,.6),0 0 24px rgba(185,71,95,.35);display:none}
html.a11y-guide #a11y-guide{display:block}
@media(max-width:420px){.a11y-grid{grid-template-columns:repeat(3,1fr);gap:6px}.a11y-t{min-height:78px;font-size:12px}}
@media(prefers-reduced-motion:reduce){#a11y-panel,#a11y-fab,.a11y-t{transition:none}}
/* hide on admin page */
html:has(#page-manage.active) #a11y-root,html:has(#page-manage.active) #a11y-guide,html.a11y-admin #a11y-root,html.a11y-admin #a11y-guide{display:none!important}

/* ===== modes ===== */
html.a11y-fs-1 body{zoom:1.1}html.a11y-fs-1 #a11y-root,html.a11y-fs-1 #a11y-guide{zoom:.909}
html.a11y-fs-2 body{zoom:1.22}html.a11y-fs-2 #a11y-root,html.a11y-fs-2 #a11y-guide{zoom:.82}
html.a11y-fs-3 body{zoom:1.36}html.a11y-fs-3 #a11y-root,html.a11y-fs-3 #a11y-guide{zoom:.735}
html.a11y-fs-4 body{zoom:1.5}html.a11y-fs-4 #a11y-root,html.a11y-fs-4 #a11y-guide{zoom:.667}
html.a11y-dark{--ink:#fff;--ink2:#ececec;--ink3:#d6d6d6;--card:#141414;--sep:rgba(255,255,255,.28);--bg:#000;--accent:#ff9ab8;color-scheme:dark}
html.a11y-dark,html.a11y-dark body,html.a11y-dark #stage,html.a11y-dark .page{background:#000!important;background-image:none!important;color:#fff!important}
html.a11y-dark #stage .card,html.a11y-dark #stage section,html.a11y-dark #stage .hero,html.a11y-dark nav.tabs,html.a11y-dark .bottombar,html.a11y-dark #stage [class*="card"],html.a11y-dark #stage input,html.a11y-dark #stage textarea,html.a11y-dark #stage select{background:#161616!important;background-image:none!important;color:#fff!important;border-color:rgba(255,255,255,.3)!important}
html.a11y-dark #stage h1,html.a11y-dark #stage h2,html.a11y-dark #stage h3,html.a11y-dark #stage p,html.a11y-dark #stage li,html.a11y-dark #stage span,html.a11y-dark #stage small,html.a11y-dark #stage b,html.a11y-dark #stage label,html.a11y-dark nav.tabs *{color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:none!important}
html.a11y-dark #stage a:not(.cta){color:#9ad1ff!important;-webkit-text-fill-color:#9ad1ff!important}
html.a11y-dark #stage .cta{background:#fff!important;background-image:none!important;color:#000!important;-webkit-text-fill-color:#000!important;box-shadow:none!important}
html.a11y-dark #stage .cta *{color:#000!important;-webkit-text-fill-color:#000!important}
html.a11y-light{--ink:#000;--ink2:#000;--ink3:#1a1a1a;--card:#fff;--sep:rgba(0,0,0,.45);--accent:#8a0030}
html.a11y-light,html.a11y-light body,html.a11y-light #stage,html.a11y-light .page,html.a11y-light #stage .card,html.a11y-light #stage section,html.a11y-light nav.tabs{background:#fff!important;background-image:none!important;color:#000!important}
html.a11y-light #stage *:not(img):not(svg):not(path):not(.cta):not(.cta *){color:#000!important;-webkit-text-fill-color:#000!important;text-shadow:none!important}
html.a11y-light #stage .card,html.a11y-light #stage section{border:1.5px solid #000!important;box-shadow:none!important}
html.a11y-light #stage .cta{background:#000!important;background-image:none!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
html.a11y-gray #stage,html.a11y-gray nav.tabs,html.a11y-gray .bottombar{filter:grayscale(1)}
html.a11y-sat #stage,html.a11y-sat nav.tabs{filter:saturate(2.2)}
html.a11y-gray.a11y-sat #stage,html.a11y-gray.a11y-sat nav.tabs{filter:grayscale(1)}
html.a11y-links #stage a,html.a11y-links #stage button.linkless{text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:3px!important;outline:2px solid #B9475F!important;outline-offset:2px;border-radius:6px}
html.a11y-links #stage a.cta{outline-color:#1C1B1E!important}
html.a11y-heads #stage h1,html.a11y-heads #stage h2,html.a11y-heads #stage h3,html.a11y-heads #stage h4{background:rgba(185,71,95,.12)!important;outline:2px dashed #B9475F!important;outline-offset:2px;border-radius:8px;padding:3px 8px!important;text-transform:none!important}
html.a11y-font #stage,html.a11y-font #stage *,html.a11y-font nav.tabs *{font-family:Arial,Helvetica,"Segoe UI",sans-serif!important;letter-spacing:0!important}
html.a11y-space #stage p,html.a11y-space #stage li,html.a11y-space #stage span,html.a11y-space #stage a,html.a11y-space #stage h1,html.a11y-space #stage h2,html.a11y-space #stage h3,html.a11y-space #stage label,html.a11y-space #stage small{letter-spacing:.08em!important;word-spacing:.18em!important;line-height:1.9!important}
html.a11y-cursor,html.a11y-cursor *{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24'><path d='M5 3l14 9-6.2 1.3L9.5 20z' fill='%23fff' stroke='%23111' stroke-width='1.4' stroke-linejoin='round'/></svg>") 6 4,auto!important}
html.a11y-cursor a,html.a11y-cursor button,html.a11y-cursor [role=button],html.a11y-cursor a *,html.a11y-cursor button *{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24'><path d='M9 3.5v9.2l-2.3-2A1.6 1.6 0 0 0 4.4 13l4.3 5.6c.8 1 2 1.6 3.3 1.6h3.6c2.2 0 4-1.8 4-4v-4.6a1.5 1.5 0 0 0-3 0V11a1.5 1.5 0 0 0-3 0v-.6a1.5 1.5 0 0 0-3 0V3.5a1.5 1.5 0 0 0-3 0z' fill='%23fff' stroke='%23111' stroke-width='1.3' stroke-linejoin='round'/></svg>") 14 4,pointer!important}
html.a11y-noanim *,html.a11y-noanim *::before,html.a11y-noanim *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.a11y-noimg #stage img,html.a11y-noimg #stage video,html.a11y-noimg #stage picture,html.a11y-noimg #stage .strip,html.a11y-noimg #stage [style*="background-image"]{visibility:hidden!important}
html.a11y-noimg #stage .hero{background:#eee!important;background-image:none!important;box-shadow:none!important}
html.a11y-focus #stage :focus,html.a11y-focus nav.tabs :focus{outline:3px solid #1C1B1E!important;outline-offset:3px!important;box-shadow:0 0 0 6px #fff!important}
html.a11y-light #stage .hero{background:#fff!important;background-image:none!important;border:1.5px solid #000!important;box-shadow:none!important}
html.a11y-light #stage .hero img,html.a11y-light #stage .hero video,html.a11y-light #stage .hero::before,html.a11y-light #stage .hero::after{opacity:0!important}
html.a11y-dark #stage .hero img,html.a11y-dark #stage .hero video{opacity:.25!important}
html.a11y-dark #stage .medal{background:#2a2a2e!important;background-image:none!important;color:#fff!important}
html.a11y-dark #stage .medal svg,html.a11y-dark #stage .card.cat svg{stroke:#fff!important;color:#fff!important}
html.a11y-dark #stage .faq details,html.a11y-dark #stage .faq summary,html.a11y-dark #stage details,html.a11y-dark #stage summary{background:#161616!important;color:#fff!important}
html.a11y-dark #stage .badge,html.a11y-dark #stage .soon{background:#333!important;color:#fff!important}
