/* Fantasticanta shared site tools (v2): accessibility bar, language selector, follow row, call-to-action row, chat.
   Same file on fantasticanta.com and fantasticanta.org. Every text is at least 16px. */
:root{--fx-gold:#ffd54a;--fx-ink:#0b0b14;--fx-ink2:#16162a;--fx-line:#4a4a66;--fx-text:#fff;--fx-focus:#fff}
html{-webkit-text-size-adjust:100%}
html[dir=rtl] body{font-family:Nunito,"Segoe UI",Tahoma,Arial,sans-serif}

/* ---------- text size, reading width ---------- */
html.fnx-ts1 body{zoom:1.15}
html.fnx-ts2 body{zoom:1.3}
html.fnx-ts3 body{zoom:1.5}
html.fnx-ts4 body{zoom:1.75}
html.fnx-rw-n main,html.fnx-rw-n .wrap{max-width:44rem!important;margin-left:auto;margin-right:auto}
html.fnx-rw-n .lead,html.fnx-rw-n p{max-width:none}
html.fnx-rw-w main,html.fnx-rw-w .wrap{max-width:none!important}
html.fnx-rw-w .lead{max-width:none}

/* ---------- accessibility bar ---------- */
.fnx-skip{position:absolute;left:-9999px;top:0;z-index:1000;background:#fff;color:#000;padding:13px 16px;min-height:44px;box-sizing:border-box;font:700 18px/1.3 system-ui,Arial,sans-serif}
.fnx-skip:focus{left:8px;top:8px}
.fnx-bar{background:var(--fx-ink);color:var(--fx-text);border-bottom:3px solid var(--fx-gold);padding:8px 12px;font:600 16px/1.4 system-ui,"Segoe UI",Arial,sans-serif;position:relative;z-index:20}
.fnx-bar-in{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
.fnx-bar label{font-weight:700;margin-inline-end:6px;white-space:nowrap}
.fnx-grp{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.fnx-bar button,.fnx-bar select,.fnx-bar .fnx-hw-btn{font:700 16px/1.2 system-ui,"Segoe UI",Arial,sans-serif;min-height:44px;min-width:44px;padding:6px 14px;color:var(--fx-gold);background:var(--fx-ink2);border:2px solid var(--fx-gold);border-radius:8px;cursor:pointer;margin:0}
.fnx-bar select{padding-inline-end:8px;color:#fff}
.fnx-bar button[aria-pressed=true]{background:var(--fx-gold);color:#000}
.fnx-bar button[aria-disabled=true]{opacity:.55;cursor:default}
.fnx-bar button:hover,.fnx-bar select:hover{background:#2a2a48}
.fnx-bar button[aria-pressed=true]:hover{background:#ffe27a}
.fnx-bar #fnx-bar-extra{display:contents}
.fnx-bar .fnx-hw-btn{margin-left:0;border-radius:8px}
:focus-visible{outline:3px solid var(--fx-focus);outline-offset:3px}
.fnx-bar :focus-visible,.fnx-follow a:focus-visible,.fnx-cta a:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px #000}

/* ---------- call-to-action row (Join, Member login, Support, Resources) ---------- */
.fnx-cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:22px 0}
.fnx-cta a{display:inline-flex;align-items:center;min-height:52px;padding:10px 22px;border-radius:12px;border:3px solid var(--fx-gold);background:var(--fx-ink);color:var(--fx-gold);font:800 18px/1.2 system-ui,"Segoe UI",Arial,sans-serif;text-decoration:none}
.fnx-cta a.fnx-main{background:var(--fx-gold);color:#000}
.fnx-cta a:hover{background:#2a2a48;color:#fff}
.fnx-cta a.fnx-main:hover{background:#ffe27a;color:#000}

/* ---------- follow us ---------- */
.fnx-follow-wrap{margin:22px 0}
.fnx-follow-wrap h2{margin-bottom:10px}
.fnx-follow{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0;padding:0;list-style:none}
.fnx-follow li{margin:0}
.fnx-follow a{display:inline-flex;align-items:center;min-height:56px;padding:10px 22px;border:3px solid #6b6b8f;border-radius:12px;background:#12121f;color:#fff;font:800 20px/1.2 system-ui,"Segoe UI",Arial,sans-serif;text-decoration:none}
.fnx-follow a:hover{border-color:var(--fx-gold);color:var(--fx-gold)}
.fnx-follow a small{font-weight:600;font-size:16px;margin-inline-start:8px;opacity:.9}

/* ---------- translation note ---------- */
.fnx-tr-note{border:3px dashed #ffb347;background:#2a1d08;color:#ffd9a0;border-radius:10px;padding:.7rem 1rem;margin:1rem 0;font-weight:700;font-size:16px}
.fnx-tr-note[hidden]{display:none}

/* ---------- chat ---------- */
#fnx-chat-launch{position:fixed;inset-inline-end:16px;bottom:16px;z-index:900;min-height:56px;padding:10px 22px;border-radius:999px;border:3px solid #000;background:var(--fx-gold);color:#000;font:800 18px/1.2 system-ui,"Segoe UI",Arial,sans-serif;cursor:pointer;box-shadow:0 4px 18px rgba(0,0,0,.6)}
#fnx-chat-launch:hover{background:#ffe27a}
#fnx-chat-launch:focus-visible{outline:4px solid #fff;box-shadow:0 0 0 8px #000}
#fnx-chat-panel{position:fixed;inset-inline-end:16px;bottom:84px;z-index:901;width:min(420px,calc(100vw - 32px));max-height:calc(100vh - 110px);overflow:auto;background:var(--fx-ink);color:#fff;border:3px solid var(--fx-gold);border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.7);font:500 17px/1.5 system-ui,"Segoe UI",Arial,sans-serif}
#fnx-chat-panel[hidden]{display:none}
#fnx-chat-panel h2{font:800 20px/1.3 system-ui,Arial,sans-serif;margin:0;padding:14px 16px;border-bottom:2px solid #333;color:var(--fx-gold);background:none;-webkit-text-fill-color:currentColor}
#fnx-chat-panel .fnx-c-body{padding:14px 16px}
#fnx-chat-panel a.fnx-c-opt,#fnx-chat-panel button.fnx-c-opt{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;margin:0 0 10px;padding:10px 14px;border:3px solid var(--fx-gold);border-radius:12px;background:#16162a;color:#fff;font:800 18px/1.2 system-ui,"Segoe UI",Arial,sans-serif;text-decoration:none;text-align:start;cursor:pointer}
#fnx-chat-panel a.fnx-c-opt:hover,#fnx-chat-panel button.fnx-c-opt:hover{background:#2a2a48}
#fnx-chat-panel .fnx-c-opt[aria-disabled=true]{opacity:.6;cursor:default}
#fnx-chat-panel .fnx-c-close{position:absolute;inset-inline-end:8px;top:8px;min-height:44px;min-width:44px;border:2px solid var(--fx-gold);border-radius:8px;background:#16162a;color:var(--fx-gold);font:800 18px/1 system-ui,Arial,sans-serif;cursor:pointer}
#fnx-chat-panel .fnx-c-small{font-size:16px;color:#d8d8e8;margin:8px 0}
#fnx-chat-panel select,#fnx-chat-panel input[type=text],#fnx-chat-panel textarea{width:100%;font:500 17px/1.4 system-ui,Arial,sans-serif;min-height:46px;padding:8px 10px;border:2px solid #8b8bb0;border-radius:8px;background:#0b0b14;color:#fff}
#fnx-chat-panel button.fnx-c-send,#fnx-chat-panel button.fnx-c-person{min-height:46px;padding:8px 16px;border-radius:8px;border:2px solid var(--fx-gold);background:var(--fx-gold);color:#000;font:800 17px/1.2 system-ui,Arial,sans-serif;cursor:pointer}
#fnx-chat-panel button.fnx-c-person{background:#16162a;color:var(--fx-gold)}
#fnx-chat-log{max-height:260px;overflow:auto;margin:10px 0;padding:8px;border:2px solid #333;border-radius:10px;background:#0b0b14}
#fnx-chat-log p{margin:6px 0;padding:8px 10px;border-radius:10px;max-width:92%}
#fnx-chat-log p.u{background:#2a2a48;margin-inline-start:auto}
#fnx-chat-log p.b{background:#1c3a2a;border:1px solid #3d7a56}
#fnx-chat-log p.s{background:none;color:#d8d8e8;font-size:16px}
.fnx-c-row{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.fnx-c-row > *{flex:1 1 auto}

/* ---------- high contrast ---------- */
html.fnx-hc,html.fnx-hc body{background:#000!important;color:#fff!important}
html.fnx-hc .glow-bg,html.fnx-hc .fnx-hw-deco,html.fnx-hc .fnx-hw-foot{display:none!important}
html.fnx-hc *{text-shadow:none!important;box-shadow:none!important}
html.fnx-hc h1,html.fnx-hc h2,html.fnx-hc h3,html.fnx-hc p,html.fnx-hc li,html.fnx-hc dt,html.fnx-hc dd,html.fnx-hc .lead,html.fnx-hc .kicker,html.fnx-hc .tag,html.fnx-hc .slate,html.fnx-hc .launch,html.fnx-hc .big,html.fnx-hc footer,html.fnx-hc .brand{color:#fff!important;background:none!important;-webkit-text-fill-color:#fff!important;filter:none!important}
html.fnx-hc a{color:#ffff00!important;text-decoration:underline!important}
html.fnx-hc header,html.fnx-hc .wrap,html.fnx-hc .hero,html.fnx-hc footer{background:#000!important;border-color:#fff!important}
html.fnx-hc .card,html.fnx-hc .note,html.fnx-hc .seeds li,html.fnx-hc .roles li,html.fnx-hc .quote,html.fnx-hc .notice,html.fnx-hc .safety .big,html.fnx-hc .soon,html.fnx-hc .age{background:#000!important;border:3px solid #fff!important;color:#fff!important}
html.fnx-hc .card::before{display:none}
html.fnx-hc .hero .logo,html.fnx-hc .marq img{-webkit-mask-image:none!important;mask-image:none!important}
html.fnx-hc .btn,html.fnx-hc .fnx-cta a,html.fnx-hc .fnx-follow a,html.fnx-hc button,html.fnx-hc select{background:#000!important;color:#ffff00!important;border:3px solid #ffff00!important;-webkit-text-fill-color:#ffff00!important}
html.fnx-hc .fnx-bar{background:#000!important;border-bottom-color:#fff!important}
html.fnx-hc .fnx-bar button[aria-pressed=true],html.fnx-hc .fnx-cta a.fnx-main,html.fnx-hc #fnx-chat-launch{background:#ffff00!important;color:#000!important;-webkit-text-fill-color:#000!important}
html.fnx-hc #fnx-chat-panel{background:#000!important;border-color:#fff!important}
html.fnx-hc #fnx-chat-log p{background:#000!important;border:2px solid #fff!important;color:#fff!important}
html.fnx-hc :focus-visible{outline:4px solid #00ffff!important;outline-offset:3px}

/* ---------- RTL touches for the .com page ---------- */
html[dir=rtl] ul.ticks li{padding-left:0;padding-right:30px}
html[dir=rtl] ul.ticks li::before{left:auto;right:0}
html[dir=rtl] .card,html[dir=rtl] .contact dt{text-align:right}
html[dir=rtl] .brand{flex-direction:row-reverse}

@media (max-width:600px){
  .fnx-bar label,.fnx-bar #fnx-ts-grp>span{position:absolute;left:-9999px}
  .fnx-bar-in{gap:6px 8px}
  .fnx-bar button,.fnx-bar select{padding:6px 10px}
  .fnx-bar{padding:8px}
  .fnx-follow a{font-size:18px;padding:10px 16px}
  .fnx-cta a{width:100%;justify-content:center}
  #fnx-chat-panel{inset-inline-end:8px;width:calc(100vw - 16px);bottom:76px}
}

/* touch-size and contrast fixes found by the audit */
.brand{min-height:44px}
.contact dd a,footer a,.privacy a{display:inline-block;padding:10px 4px;min-height:44px;box-sizing:border-box}
html.fnx-hc .fnx-skip,html.fnx-hc .skip{background:#000!important;color:#ffff00!important;border:3px solid #ffff00}
.skip:focus{padding:13px 16px;min-height:44px}
[id^=contact-] a{display:inline-block;padding:10px 4px;min-height:44px;box-sizing:border-box}

/* goals and membership lists (.org page) */
.goals{list-style:none;padding:0;margin:1rem 0}
.goals li{border:3px solid #6b6b8f;border-radius:12px;padding:1rem 1.1rem;margin:.8rem 0;background:#12121a}
.goals h3{margin:0 0 .4rem;font-size:1.4rem}
.goals p{margin:0;font-size:1.25rem;line-height:1.6}
html.fnx-hc .goals li{background:#000!important;border:3px solid #fff!important;color:#fff!important}

html.fnx-noanim,html.fnx-noanim *,html.fnx-noanim *::before,html.fnx-noanim *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
