/* UGC ROOM accessibility panel. Assistive page modes retain their functional colors. */
.a11y-ready .studio-motion { display:none!important; }
.a11y-floating-button { position:fixed; z-index:66; bottom:110px; left:26px; width:66px; height:66px; display:grid; place-items:center; border:2px solid #ffffffd1; border-radius:50%; padding:0; color:white; background:linear-gradient(135deg,#ffffff29,transparent),linear-gradient(135deg,var(--ugc-ui-pink),#7c173d); box-shadow:0 20px 52px #c82c6540; outline:2px solid var(--ugc-ui-accent); outline-offset:4px; cursor:pointer; }
.a11y-floating-button svg { width:36px; height:36px; fill:currentColor; }
.a11y-floating-button:focus-visible { outline:3px solid #fff; outline-offset:5px; }
.a11y-panel:not([open]) { display:none; }
.a11y-panel { position:fixed; inset:14px auto 14px 0; margin:0; width:min(472px,calc(100vw - 14px)); height:calc(100dvh - 28px); max-width:none; max-height:calc(100dvh - 28px); padding:0; border:1px solid var(--ugc-ui-line); border-left:0; border-radius:0 28px 28px 0; overflow:hidden; background:var(--ugc-ui-paper); color:var(--ugc-ui-ink); box-shadow:0 34px 100px #10111747; font:16px/1.6 Heebo,Arial,sans-serif; }
.a11y-panel[open] { display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
.a11y-panel::backdrop { background:#10111777; backdrop-filter:none; }
.a11y-panel-header { position:relative; padding:22px 26px 20px 78px; color:#fff; background:radial-gradient(circle at 18% 0%,#f5609c38,transparent 208px),linear-gradient(135deg,var(--ugc-ui-dark),#301722 58%,#9e1e51); }
.a11y-panel-header>span { color:#f8bdd4; font-size:14px; font-weight:700; }
.studio-site .a11y-panel h2 { margin:4px 0 0; color:white; font-size:30px; line-height:1.3; letter-spacing:0; font-weight:800; }
.a11y-close { position:absolute; left:22px; top:22px; display:grid; place-items:center; padding:0; width:48px; height:48px; border:1px solid #ffffff3d; border-radius:50%; background:#ffffff1f; color:#fff; cursor:pointer; }
.a11y-panel-body { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:18px 20px 16px; background:linear-gradient(var(--ugc-ui-paper),var(--ugc-ui-soft)); scrollbar-width:thin; scrollbar-color:#c6829c transparent; }
.studio-site #a11y-description { margin:0 0 20px; color:var(--ugc-ui-muted); font-size:16px; line-height:1.6; text-align:center; }
.a11y-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.a11y-option { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; min-width:0; min-height:96px; padding:13px 10px; border:1px solid var(--ugc-ui-line); border-radius:15px; background:white; color:var(--ugc-ui-ink); box-shadow:0 12px 30px #1011170c; cursor:pointer; font:16px/1.3 Heebo,Arial,sans-serif; }
.a11y-option>span { width:38px; height:38px; display:grid; place-items:center; background:var(--ugc-ui-soft); border-radius:50%; color:#ad1c52; font:700 14px/1 Arial,sans-serif; }
.a11y-option>strong { font-size:16px; font-weight:700; text-align:center; }
.a11y-option:hover { border-color:var(--ugc-ui-pink); background:#fff8fb; }
.a11y-option[aria-pressed="true"] { border-color:var(--ugc-ui-pink); background:var(--ugc-ui-blush); box-shadow:inset 0 0 0 1px var(--ugc-ui-pink); }
.a11y-option[aria-pressed="true"]>span { background:var(--ugc-ui-pink); color:white; }
.a11y-option:disabled { opacity:.5; cursor:default; }
.a11y-panel-footer { display:grid; gap:8px; padding:14px 20px 16px; border-top:1px solid var(--ugc-ui-line); background:#fff; }
.a11y-reset { min-height:52px; padding:8px 12px; border:0; border-radius:14px; background:linear-gradient(135deg,var(--ugc-ui-pink),var(--ugc-ui-pink-hover)); color:#fff; font:700 17px/1.4 Heebo,Arial,sans-serif; cursor:pointer; }
.a11y-footer-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.a11y-footer-actions a { display:flex; align-items:center; justify-content:center; min-height:44px; padding:8px; border:1px solid var(--ugc-ui-line); border-radius:12px; background:var(--ugc-ui-soft); color:#9e1e51; font-size:13px; font-weight:700; text-align:center; }
.studio-site .a11y-panel-footer p { font-size:12px; color:var(--ugc-ui-muted); text-align:center; line-height:1.7; margin:0; }
.a11y-text-size { display:block; color:var(--ugc-ui-muted); font-size:12px; text-align:center; }
.a11y-panel :is(button,a):focus-visible { outline:3px solid var(--ugc-ui-pink); outline-offset:2px; }
.a11y-panel .a11y-close:focus-visible { outline-color:white; outline-offset:4px; }
.modal-open .a11y-floating-button,.privacy-banner-visible .a11y-floating-button { visibility:hidden; }
.a11y-assistive .site-shell :is(button,input,select,textarea),.a11y-assistive .site-shell a { min-height:48px; }
.a11y-assistive .site-shell a { display:inline-flex; align-items:center; }
.a11y-assistive .site-shell .brand { display:flex; }
.a11y-focus .site-shell :focus,.a11y-assistive .site-shell :focus-visible,.a11y-focus .work-dialog :focus { outline:4px solid var(--ugc-ui-accent)!important; outline-offset:4px!important; box-shadow:0 0 0 7px white!important; }
.a11y-grayscale :is(.site-shell,.work-dialog,.info-dialog) { filter:grayscale(1); }
.a11y-sepia :is(.site-shell,.work-dialog,.info-dialog) { filter:sepia(1); }
.a11y-invert :is(.site-shell,.work-dialog,.info-dialog) { filter:invert(1) hue-rotate(180deg); }
.a11y-highContrast :is(.site-shell,.work-dialog,.info-dialog),.a11y-highContrast :is(.site-shell,.work-dialog,.info-dialog) * { background-color:white!important; background-image:none!important; color:black!important; border-color:black!important; text-shadow:none!important; box-shadow:none!important; }
.a11y-yellowBlack :is(.site-shell,.work-dialog,.info-dialog),.a11y-yellowBlack :is(.site-shell,.work-dialog,.info-dialog) * { background-color:black!important; background-image:none!important; color:#ffeb00!important; border-color:#ffeb00!important; text-shadow:none!important; box-shadow:none!important; }
.a11y-highContrast .site-shell :is(img,svg),.a11y-yellowBlack .site-shell :is(img,svg) { background-color:transparent!important; }
.a11y-headings .site-shell :is(h1,h2,h3,h4,h5,h6) { outline:3px solid var(--ugc-ui-pink)!important; outline-offset:6px; }
.a11y-links .site-shell a,.a11y-links .work-dialog a { text-decoration:underline!important; text-underline-offset:4px; outline:2px solid currentColor; outline-offset:3px; }
.a11y-readableFont :is(.site-shell,.work-dialog,.info-dialog),.a11y-readableFont :is(.site-shell,.work-dialog,.info-dialog) * { font-family:Arial,sans-serif!important; letter-spacing:normal!important; }
.a11y-bigCursor,.a11y-bigCursor * { cursor:url('/assets/a11y-cursor.svg') 3 3,auto!important; }
.a11y-scaled .site-shell :is(p,a,h1,h2,h3,label,legend,summary,button) { overflow-wrap:anywhere; }
.a11y-scaled .site-shell .brand,.a11y-scaled .site-shell .brand * { overflow-wrap:normal; white-space:nowrap; }
.a11y-scaled .desktop-nav { display:none; }.a11y-scaled .menu-toggle { display:block; }
.a11y-scaled .mobile-nav:not([hidden]) { display:flex; flex-direction:column; position:absolute; z-index:30; right:0; left:0; padding:20px var(--gutter); max-height:75dvh; overflow-y:auto; }
.a11y-scaled .mobile-nav a { padding:12px 0; border-bottom:1px solid #ffffff25; }
.a11y-scaled .site-shell .attention-title { font-size:clamp(60px,8vw,140px); }
.a11y-scaled .site-shell :is(.attention-title span,.hero-highlight,.text-link,.button) { white-space:normal!important; }
.motion-paused *, .motion-paused *::before, .motion-paused *::after { animation-play-state:paused!important; transition-duration:0s!important; scroll-behavior:auto!important; }
.a11y-image-labels { position:fixed; inset:0; pointer-events:none; z-index:45; }
.modal-open .a11y-image-labels { visibility:hidden; }
.a11y-image-labels>span { position:absolute; padding:4px 7px; background:#101117f2; border:1px solid #fff; border-radius:4px; color:white; font:13px/1.5 Arial,sans-serif; max-height:44px; overflow:hidden; }
.a11y-policy { max-width:1100px; padding:35px var(--gutter) 100px; margin:auto; }
.a11y-policy section { padding:30px 0; border-top:1px solid var(--line); }.a11y-policy h2 { font-size:30px; margin-bottom:16px; }.a11y-policy p,.a11y-policy li { font-size:19px; margin-bottom:14px; }.a11y-policy ul { padding-right:24px; }.a11y-policy a { text-decoration:underline; }
@media(max-width:760px) { .a11y-floating-button { width:54px; height:54px; left:16px; bottom:calc(100px + env(safe-area-inset-bottom,0px)); }.a11y-floating-button svg { width:30px; height:30px; }.a11y-panel { inset:8px auto 8px 0; width:calc(100vw - 10px); height:calc(100dvh - 16px); max-height:calc(100dvh - 16px); }.a11y-panel-header { padding:20px 22px 18px 76px; }.a11y-panel-body { padding:16px; }.a11y-panel-footer { padding:12px 16px; }.a11y-option { min-height:98px; }.a11y-option>strong { font-size:15px; } }
@media(max-width:360px) { .studio-site .a11y-panel h2 { font-size:26px; }.a11y-panel-header>span { font-size:12px; }.a11y-options { gap:8px; }.a11y-option { padding:12px 6px; }.a11y-option>strong { font-size:14px; }.a11y-close { left:16px; }.a11y-panel-footer p { font-size:11px!important; } }
@media(max-height:560px) { .a11y-panel[open] { display:block; overflow-y:auto; }.a11y-panel-body { overflow:visible; } }
