*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--ff-bg: #0d0d0d;--ff-bg-card: #141414;--ff-bg-card-alt: #161616;--ff-bg-hover: #1a1a1a;--ff-bg-surface: #1e1e1e;--ff-border-sub: #1e1e1e;--ff-border: #2a2a2a;--ff-border-mid: #333;--ff-gold: #d4a03a;--ff-gold-dim: #8a6030;--ff-green: #4a9a5a;--ff-text: #e8e8e8;--ff-text-2: #ccc;--ff-text-3: #aaa;--ff-text-4: #888;--ff-text-5: #666;--ff-text-6: #555;--ff-text-7: #444}body{background-color:var(--ff-bg);color:var(--ff-text)}body.theme-lobby{--ff-bg: #F5F0E8;--ff-bg-card: #FFFFFF;--ff-bg-card-alt: #FAFAFA;--ff-bg-hover: #EDEAE3;--ff-bg-surface: #FFFFFF;--ff-border-sub: #E8E3DC;--ff-border: #D5CFC8;--ff-border-mid: #C0BAB2;--ff-gold: #C8860A;--ff-gold-dim: #9a6420;--ff-green: #2d7a3a;--ff-text: #1a1a1a;--ff-text-2: #333333;--ff-text-3: #555555;--ff-text-4: #777777;--ff-text-5: #999999;--ff-text-6: #aaaaaa;--ff-text-7: #bbbbbb}body.theme-high-contrast{--ff-bg: #000000;--ff-bg-card: #111111;--ff-bg-card-alt: #161616;--ff-bg-hover: #1a1a1a;--ff-bg-surface: #1c1c1c;--ff-border-sub: #222222;--ff-border: #3a3a3a;--ff-border-mid: #4a4a4a;--ff-gold: #FFD700;--ff-gold-dim: #b09400;--ff-text: #ffffff;--ff-text-2: #e8e8e8;--ff-text-3: #cccccc;--ff-text-4: #aaaaaa;--ff-text-5: #888888;--ff-text-6: #666666;--ff-text-7: #555555}body.theme-anti-glare{--ff-bg: #2a2a2a;--ff-bg-card: #363636;--ff-bg-card-alt: #3a3a3a;--ff-bg-hover: #3e3e3e;--ff-bg-surface: #404040;--ff-border-sub: #404040;--ff-border: #4a4a4a;--ff-border-mid: #555555;--ff-gold: #B8730A;--ff-gold-dim: #8a5408;--ff-green: #3a8a4a;--ff-text: #e8e0d0;--ff-text-2: #d4ccbc;--ff-text-3: #b8b0a0;--ff-text-4: #9a9288;--ff-text-5: #7c7470;--ff-text-6: #68605c;--ff-text-7: #544c48}body.theme-colorblind{--ff-gold: #1A4A8B;--ff-gold-dim: #0d2d5a}body.theme-forest{--ff-bg: #0a2a0a;--ff-bg-card: #122012;--ff-bg-card-alt: #162a16;--ff-bg-hover: #1a2c1a;--ff-bg-surface: #1e301e;--ff-border-sub: #1e301e;--ff-border: #243a24;--ff-border-mid: #2a4a2a;--ff-gold: #4A8B2A;--ff-gold-dim: #2d5a18;--ff-green: #4a8b2a;--ff-text: #e0eed8;--ff-text-2: #ccdcc4;--ff-text-3: #aabca4;--ff-text-4: #8a9c84;--ff-text-5: #6a7c64;--ff-text-6: #586a52;--ff-text-7: #445840}@keyframes pulse{0%,to{background-color:#1a1a1a}50%{background-color:#252525}}.skeleton{border-radius:6px;animation:pulse 1.5s ease-in-out infinite}.tap-target{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ff-topbar{position:sticky;top:0;display:flex;align-items:center;padding:44px 16px 12px;background:var(--ff-bg);z-index:10}.ff-icon-btn{width:36px;height:36px;border-radius:50%;background:transparent;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;flex-shrink:0}.ff-page-title{flex:1;text-align:center;font-family:Georgia,serif;font-size:.9375rem;font-weight:700;letter-spacing:.5px}.ff-spacer{width:36px;flex-shrink:0}.ff-bottom-pad{height:36px}.ff-divider{height:1px;background:var(--ff-bg-hover)}.ff-lang-badge{font-size:.5625rem;font-weight:700;letter-spacing:.5px;padding:1px 5px;background:#3c50b426;border:1px solid rgba(60,80,180,.25);border-radius:8px;color:#6080d0}.ff-avatar{border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-weight:700;color:#0d0d0d;flex-shrink:0}.ff-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:60px 32px 24px}@keyframes spin{to{transform:rotate(360deg)}}.ff-spinner{border-radius:50%;border:2px solid var(--ff-border-mid);border-top-color:var(--ff-gold);animation:spin .7s linear infinite}
