/* ============================================================
   ForexFa — design tokens + components (source of truth: design handoff)
   ============================================================ */
@font-face{font-family:'Peyda';font-weight:800;font-style:normal;font-display:swap;src:url("../fonts/peyda-800.woff2") format("woff2"),url("../fonts/peyda-800.woff") format("woff")}
@font-face{font-family:'Vazirmatn';font-weight:100 900;font-style:normal;font-display:swap;src:url("../fonts/vazirmatn-arabic.woff2") format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:'Vazirmatn';font-weight:100 900;font-style:normal;font-display:swap;src:url("../fonts/vazirmatn-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Vazirmatn';font-weight:100 900;font-style:normal;font-display:swap;src:url("../fonts/vazirmatn-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Instrument Sans';font-weight:400 700;font-style:normal;font-display:swap;src:url("../fonts/instrument-sans-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Instrument Sans';font-weight:400 700;font-style:normal;font-display:swap;src:url("../fonts/instrument-sans-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-weight:400;font-style:normal;font-display:swap;src:url("../fonts/plex-mono-400-latin.woff2") format("woff2")}
@font-face{font-family:'IBM Plex Mono';font-weight:500;font-style:normal;font-display:swap;src:url("../fonts/plex-mono-500-latin.woff2") format("woff2")}
@font-face{font-family:'IBM Plex Mono';font-weight:600;font-style:normal;font-display:swap;src:url("../fonts/plex-mono-600-latin.woff2") format("woff2")}

:root{
  --fx-primary:#2b46e8;--fx-primary-dark:#1e2b8f;--fx-tint:#eef2ff;--fx-tint-bg:#f6f8ff;--fx-tint-border:#dbe1ff;
  --fx-ink:#0b1220;--fx-text-2:#4b5563;--fx-muted:#6b7280;--fx-faint:#9ca3af;
  --fx-surface:#ffffff;--fx-surface-2:#ffffff;--fx-border:#e5e7eb;--fx-hair:#eef0f4;--fx-frame:#d8dce4;--fx-canvas:#ffffff;--fx-fill:#f8fafc;--fx-fill-2:#f3f4f6;
  --fx-dark:#0b1220;--fx-dark-text:#e5e9f2;--fx-dark-muted:#8b94a7;--fx-dark-link:#9db1ff;
  --fx-live:#e11d48;--fx-live-bg:#fde5eb;--fx-live-text:#be123c;--fx-live-soft:#fda4b8;
  --fx-green:#16a34a;--fx-green-2:#15803d;--fx-green-bg:#f0fdf4;--fx-green-border:#bbf7d0;
  --fx-red:#dc2626;--fx-red-bg:#fef2f2;--fx-red-border:#fecaca;--fx-red-text:#991b1b;--fx-warn:#f59e0b;
  --fx-sky-bg:#e0f2fe;--fx-sky:#0369a1;--fx-orange-bg:#ffe9d6;--fx-orange:#c2570a;
  --fx-green-soft:#dcfce7;--fx-prose-ink:#374151;--fx-flash:#fef3c7;--fx-hi-bg:#fff8f8;--fx-hi-bg-2:#fff1f1;--fx-grey-bar:#94a3b8;--fx-panel-bg:#fafbfd;
  --fx-ring:rgba(43,70,232,.12);--fx-shimmer:rgba(255,255,255,.6);--fx-select:rgba(43,70,232,.22);--fx-tg:#229ed9;
  --fx-imp3-bg:#fee2e2;--fx-imp3-fg:#b91c1c;--fx-imp2-bg:#ffedd5;--fx-imp2-fg:#c2410c;--fx-imp1-bg:#fef9c3;--fx-imp1-fg:#a16207;
  --fx-red-ink:#7f1d1d;--fx-amber-bg:#fff7ed;--fx-amber:#d97706;--fx-check-border:#cbd5e1;
  --fx-font:'Vazirmatn',system-ui,sans-serif;--fx-font-head:'Peyda','Vazirmatn',sans-serif;--fx-font-latin:'Instrument Sans',sans-serif;--fx-font-mono:'IBM Plex Mono',monospace;
  --fx-shadow-frame:0 18px 44px rgba(15,23,42,.08);--fx-shadow-float:0 14px 36px rgba(15,23,42,.07);--fx-shadow-card:0 6px 18px rgba(15,23,42,.05);
  --fx-gutter:clamp(16px,3.2vw,64px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fx-canvas);color:var(--fx-ink);font-family:var(--fx-font);font-size:14px;line-height:1.9;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--fx-primary);text-decoration:none}
a:hover{color:var(--fx-primary-dark)}
img{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit;color:inherit}
input::placeholder,textarea::placeholder{color:var(--fx-faint);opacity:1}
button{cursor:pointer;background:none;border:0;padding:0}
h1,h2,h3,h4{margin:0;font-weight:700;line-height:1.5}
p{margin:0}
:focus{outline:none}
:focus-visible{outline:2px solid var(--fx-primary);outline-offset:2px}
::selection{background:var(--fx-select)}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
[dir=ltr],.ltr{direction:ltr;unicode-bidi:isolate}
.fx-latin{font-family:var(--fx-font-latin)}
.fx-mono{font-family:var(--fx-font-mono);direction:ltr;unicode-bidi:isolate}
.fx-head{font-family:var(--fx-font-head);font-weight:800}
.fx-up{color:var(--fx-green)}.fx-down{color:var(--fx-red)}
.fx-yes{color:var(--fx-green);font-weight:600}.fx-no{color:var(--fx-red);font-weight:600}

/* page frame ------------------------------------------------- */
.fx-page{max-width:none;margin:0 auto;background:var(--fx-surface);border-inline:0;box-shadow:none;min-height:100vh;display:flex;flex-direction:column}
.fx-main{flex:1}
.fx-pad{padding-inline:var(--fx-gutter)}

/* header ------------------------------------------------------ */
.fx-header{display:flex;align-items:center;gap:26px;padding:15px var(--fx-gutter);border-bottom:1px solid var(--fx-hair);background:var(--fx-surface);position:relative;z-index:20}
.fx-logo{display:flex;align-items:center;gap:9px;color:var(--fx-ink)}
.fx-logo__dot{width:11px;height:11px;border-radius:50%;background:var(--fx-primary);flex:none}
.fx-logo__word{font-family:var(--fx-font-head);font-weight:800;font-size:20px;line-height:1}
.fx-nav{display:flex;gap:22px;font-size:13.5px;color:var(--fx-text-2)}
.fx-nav a{color:inherit}
.fx-nav a:hover{color:var(--fx-ink)}
.fx-nav a.is-active{color:var(--fx-primary);font-weight:700}
.fx-header__end{margin-inline-start:auto;display:flex;align-items:center;gap:16px}
.fx-header__login{font-size:13px;color:var(--fx-text-2)}
.fx-header__cta{background:var(--fx-primary);color:#fff;font-size:13px;font-weight:500;padding:9px 19px;border-radius:999px}
.fx-header__cta:hover{background:var(--fx-primary-dark);color:#fff}
.fx-avatar{width:34px;height:34px;border-radius:50%;background:var(--fx-tint);color:var(--fx-primary);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}
.fx-burger{display:none;margin-inline-start:auto;font-size:18px;color:var(--fx-text-2);line-height:1}
.fx-tabbar{display:none}

/* buttons / chips -------------------------------------------- */
.fx-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:999px;font-size:13px;line-height:1.5;white-space:nowrap;transition:background .15s,color .15s,box-shadow .15s;cursor:pointer}
.fx-btn--solid{background:var(--fx-primary);color:#fff;font-weight:600;padding:9px 19px}
.fx-btn--solid:hover{background:var(--fx-primary-dark);color:#fff}
.fx-btn--outline{border:1px solid var(--fx-tint-border);background:var(--fx-tint-bg);color:var(--fx-primary-dark);padding:8px 18px}
.fx-btn--outline:hover{background:var(--fx-tint);color:var(--fx-primary-dark)}
.fx-btn--outline-white{border:1px solid var(--fx-tint-border);background:var(--fx-surface);color:var(--fx-primary-dark);padding:8px 18px}
.fx-btn--outline-white:hover{background:var(--fx-tint-bg)}
.fx-btn--ghost{border:1px solid var(--fx-tint-border);background:transparent;color:var(--fx-primary-dark);padding:8px 18px}
.fx-btn--ghost:hover{background:var(--fx-tint-bg)}
.fx-btn--sq{border-radius:10px;padding:9px 0;flex:1;font-size:12.5px}
.fx-btn--block{display:flex;width:100%}
.fx-btn--sm{font-size:12px;padding:8px 16px}
.fx-btn--xs{font-size:11.5px;padding:6px 14px}
.fx-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;font-size:11px;padding:4px 11px;line-height:1.6;white-space:nowrap}
.fx-chip--tint{background:var(--fx-tint);color:var(--fx-primary)}
.fx-chip--green{background:var(--fx-green-bg);color:var(--fx-green-2);font-weight:700}
.fx-chip--red{background:var(--fx-red-bg);color:var(--fx-red);font-weight:700;font-size:10px}
.fx-chip--live{background:var(--fx-live-bg);color:var(--fx-live-text);font-weight:700}
.fx-chip--dark{background:var(--fx-primary-dark);color:var(--fx-tint-border)}
.fx-chip--outline{background:var(--fx-surface);border:1px solid var(--fx-tint-border);color:var(--fx-primary-dark);font-size:11.5px;padding:4px 12px}
.fx-dot{width:8px;height:8px;border-radius:50%;background:var(--fx-live);display:inline-block;flex:none}
.fx-dot--sm{width:6px;height:6px}.fx-dot--md{width:7px;height:7px}
.fx-score{background:var(--fx-tint);color:var(--fx-primary);font-weight:700;font-size:13.5px;padding:5px 12px;border-radius:999px;line-height:1.5}
.fx-bar{height:6px;background:var(--fx-hair);border-radius:3px;overflow:hidden}
.fx-bar>span{display:block;height:100%;background:var(--fx-primary);border-radius:3px}
.fx-bar--5{height:5px}.fx-bar--grey>span{background:var(--fx-grey-bar)}
.fx-filter{display:inline-flex;align-items:center;border:1px solid var(--fx-border);color:var(--fx-text-2);padding:7px 15px;border-radius:999px;font-size:12.5px;line-height:1.5;cursor:pointer;white-space:nowrap}
.fx-filter:hover{background:var(--fx-fill)}
.fx-filter.is-on{background:var(--fx-primary);border-color:var(--fx-primary);color:#fff}
.fx-filter.is-soft{border-color:var(--fx-tint-border);background:var(--fx-tint-bg);color:var(--fx-primary-dark)}
.fx-avatar-c{border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;flex:none}
.fx-avatar-c--sky{background:var(--fx-sky-bg);color:var(--fx-sky)}
.fx-avatar-c--green{background:var(--fx-green-soft);color:var(--fx-green-2)}
.fx-avatar-c--orange{background:var(--fx-orange-bg);color:var(--fx-orange)}
.fx-avatar-c--pink{background:var(--fx-live-bg);color:var(--fx-live-text)}
.fx-avatar-c--tint{background:var(--fx-tint);color:var(--fx-primary)}

/* cards / layout --------------------------------------------- */
.fx-card{border:1px solid var(--fx-border);border-radius:16px;padding:20px 22px;background:var(--fx-surface)}
.fx-card--14{border-radius:14px}
.fx-card--tint{background:var(--fx-tint-bg);border-color:var(--fx-tint-border)}
.fx-card--hl{border:1.5px solid var(--fx-primary)}
.fx-card--shadow{box-shadow:var(--fx-shadow-card)}
.fx-card--float{box-shadow:var(--fx-shadow-float)}
.fx-grid{display:grid;gap:16px}
.fx-grid--3{grid-template-columns:repeat(3,1fr)}
.fx-grid--2{grid-template-columns:repeat(2,1fr)}
.fx-section{padding:40px var(--fx-gutter) 8px}
.fx-section--first{padding-top:44px}
.fx-section__head{display:flex;align-items:baseline;gap:14px}
.fx-section__title{font-family:var(--fx-font-head);font-weight:800;font-size:26px;line-height:1.5}
.fx-section__sub{font-size:12.5px;color:var(--fx-muted)}
.fx-section__more{margin-inline-start:auto;font-size:13px;color:var(--fx-primary);font-weight:600;white-space:nowrap}
.fx-section__body{margin-top:18px}
.fx-crumb{padding:14px var(--fx-gutter) 0;font-size:12px;color:var(--fx-muted)}
.fx-crumb a{color:inherit}
.fx-crumb strong{color:var(--fx-ink);font-weight:600}
.fx-page-title{font-family:var(--fx-font-head);font-weight:800;font-size:26px;line-height:1.5}
.fx-tile{background:var(--fx-fill);border-radius:10px;padding:8px 4px;text-align:center}
.fx-tile__k{font-size:10px;color:var(--fx-faint)}
.fx-tile__v{font-size:13px;font-weight:600}
.fx-kv{display:flex;justify-content:space-between;gap:8px}
.fx-note{font-size:10.5px;color:var(--fx-faint);line-height:1.7}
.fx-select{width:100%;appearance:none;-webkit-appearance:none;background:var(--fx-surface);border:1px solid var(--fx-border);border-radius:10px;padding:11px 15px;display:flex;justify-content:space-between;font-size:13px;cursor:pointer;color:var(--fx-ink);font-weight:600;text-align:right}
.fx-select-wrap{position:relative}
.fx-select-wrap label{position:absolute;inset-inline-start:15px;top:11px;font-size:13px;color:var(--fx-muted);pointer-events:none}
.fx-select-wrap select{padding-inline-start:120px;padding-inline-end:15px}
.fx-select-wrap::after{content:"▾";position:absolute;inset-inline-end:15px;top:10px;font-size:13px;color:var(--fx-ink);pointer-events:none}
.fx-input{width:100%;background:var(--fx-surface);border:1px solid var(--fx-border);border-radius:10px;padding:11px 15px;font-size:13.5px;color:var(--fx-ink)}
.fx-input::placeholder{color:var(--fx-faint)}
.fx-input:focus{border-color:var(--fx-primary);outline:none;box-shadow:0 0 0 3px var(--fx-ring)}
.fx-band-dark{background:var(--fx-dark);color:var(--fx-dark-text)}
.fx-alert{border:1px solid var(--fx-red-border);background:var(--fx-red-bg);border-radius:12px;padding:11px 15px;display:flex;align-items:center;gap:10px;font-size:11.5px;color:var(--fx-red-text)}
.fx-alert a{color:var(--fx-red);font-weight:700}
.fx-empty{border:1px solid var(--fx-border);border-radius:14px;padding:22px 18px;text-align:center}
.fx-empty__icon{width:48px;height:48px;border-radius:50%;background:var(--fx-tint);color:var(--fx-primary);display:inline-flex;align-items:center;justify-content:center;font-size:20px;font-weight:800}
.fx-empty__title{font-weight:700;font-size:14px;margin:10px 0 3px}
.fx-empty__body{font-size:11.5px;color:var(--fx-muted);line-height:1.8}
.fx-empty__actions{display:flex;gap:8px;justify-content:center;margin-top:13px;font-size:12px}
.fx-skeleton{background:var(--fx-hair);border-radius:6px;position:relative;overflow:hidden}
.fx-skeleton::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--fx-shimmer),transparent);animation:fx-shimmer 1.2s infinite}
@keyframes fx-shimmer{from{transform:translateX(-100%)}to{transform:translateX(100%)}}

/* footer ------------------------------------------------------ */
.fx-footer{margin-top:auto}
.fx-footer__cols{margin-top:44px;border-top:1px solid var(--fx-hair);padding:34px var(--fx-gutter) 30px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:24px}
.fx-footer__brand{display:flex;align-items:center;gap:8px;color:var(--fx-ink)}
.fx-footer__brand .fx-logo__dot{width:10px;height:10px}
.fx-footer__brand .fx-logo__word{font-size:17px}
.fx-footer__about{margin-top:10px;font-size:12px;line-height:1.9;color:var(--fx-muted);max-width:34ch}
.fx-footer__col{font-size:12.5px;line-height:2.3;color:var(--fx-text-2)}
.fx-footer__col strong{display:block;font-weight:700;color:var(--fx-ink);margin-bottom:4px}
.fx-footer__col a{display:block;color:inherit}
.fx-footer__col a:hover{color:var(--fx-primary)}
.fx-legal{border-top:1px solid var(--fx-hair);padding:14px var(--fx-gutter);display:flex;gap:18px;font-size:11px;color:var(--fx-faint);line-height:1.8;align-items:baseline;flex-wrap:wrap}
.fx-legal__risk{max-width:96ch}
.fx-legal__links{margin-inline-start:auto;color:var(--fx-muted);white-space:nowrap}
.fx-legal__links a{color:inherit}

/* ===================== HOME ===================== */
.fx-hero{padding:52px var(--fx-gutter) 40px;text-align:center}
.fx-hero__kicker{display:inline-block;background:var(--fx-tint);color:var(--fx-primary);font-size:12.5px;padding:6px 15px;border-radius:999px;line-height:1.6}
.fx-hero__title{font-family:var(--fx-font-head);font-weight:800;font-size:52px;line-height:1.4;margin:16px 0 8px}
.fx-hero__lead{margin:0 auto;font-size:15.5px;line-height:1.95;color:var(--fx-text-2);max-width:54ch}
.fx-intent{max-width:700px;margin:28px auto 0;background:var(--fx-surface);border:1px solid var(--fx-border);border-radius:16px;box-shadow:var(--fx-shadow-float);padding:20px 22px;text-align:right}
.fx-intent__q{font-size:12.5px;color:var(--fx-muted);margin-bottom:11px}
.fx-intent__chips{display:flex;flex-wrap:wrap;gap:9px;font-size:13.5px}
.fx-intent__chips a{padding:10px 17px;border-radius:999px;line-height:1.5}
.fx-intent__chips a.is-primary{background:var(--fx-primary);color:#fff}
.fx-intent__chips a.is-primary:hover{background:var(--fx-primary-dark)}
.fx-intent__chips a:not(.is-primary){border:1px solid var(--fx-tint-border);background:var(--fx-tint-bg);color:var(--fx-primary-dark)}
.fx-intent__chips a:not(.is-primary):hover{background:var(--fx-tint)}
.fx-stats{display:flex;justify-content:center;gap:30px;margin-top:22px;font-size:13px;color:var(--fx-muted);flex-wrap:wrap}
.fx-stats strong{color:var(--fx-ink);font-weight:700}
.fx-liveband{display:flex;align-items:center;gap:14px;background:var(--fx-dark);color:var(--fx-dark-text);padding:12px var(--fx-gutter);font-size:13px;flex-wrap:wrap}
.fx-liveband__live{display:inline-flex;align-items:center;gap:8px;color:var(--fx-live-soft)}
.fx-liveband__live strong{color:#fff;font-weight:700}
.fx-liveband__muted{color:var(--fx-dark-muted)}
.fx-liveband__cta{margin-inline-start:auto;color:var(--fx-dark-link);font-weight:600}
.fx-liveband__cta:hover{color:#fff}
.fx-service{border:1px solid var(--fx-border);border-radius:16px;padding:20px 22px;position:relative;display:flex;flex-direction:column}
.fx-service.is-hl{border:1.5px solid var(--fx-primary)}
.fx-service__title{font-weight:700;font-size:17px;margin:10px 0 6px}
.fx-service__list{font-size:12.5px;line-height:2;color:var(--fx-text-2);flex:1}
.fx-service__foot{display:flex;align-items:center;gap:10px;border-top:1px solid var(--fx-hair);margin-top:14px;padding-top:13px}
.fx-service__price{font-weight:700;font-size:14px}
.fx-service__foot .fx-btn{margin-inline-start:auto;font-size:12.5px;padding:8px 16px}
.fx-bcard{border:1px solid var(--fx-border);border-radius:14px;box-shadow:var(--fx-shadow-card);padding:17px 19px;background:var(--fx-surface);transition:box-shadow .15s}
.fx-bcard:hover{box-shadow:var(--fx-shadow-float)}
.fx-bcard__head{display:flex;align-items:center;gap:10px}
.fx-bcard__logo{width:36px;height:36px;border-radius:10px;background:var(--fx-tint);color:var(--fx-primary);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;font-family:var(--fx-font-latin);flex:none;overflow:hidden}
.fx-bcard__logo img{width:100%;height:100%;object-fit:contain}
.fx-bcard__name{font-weight:600;font-size:15px;font-family:var(--fx-font-latin);text-align:right;color:var(--fx-ink)}
.fx-bcard__meta{font-size:11px;color:var(--fx-muted)}
.fx-bcard__score{margin-inline-start:auto}
.fx-bcard__tiles{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:13px 0}
.fx-bcard__actions{display:flex;gap:8px;font-size:12.5px}
.fx-bcard__actions .fx-btn{flex:1;border-radius:10px;padding:9px 0;font-size:12.5px}
.fx-bcard__actions .fx-btn--solid{font-weight:400}
.fx-bcard__actions .fx-btn--ghost{padding:8px 0}
.fx-bcard__actions .fx-btn.is-in{background:var(--fx-tint-bg)}
.fx-path{border:1px solid var(--fx-border);border-radius:14px;padding:15px 19px;display:flex;align-items:center;gap:16px}
.fx-path__num{width:38px;height:38px;border-radius:12px;background:var(--fx-fill);color:var(--fx-text-2);display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;flex:none}
.fx-path.is-active .fx-path__num{background:var(--fx-tint);color:var(--fx-primary)}
.fx-path__body{flex:1;min-width:0}
.fx-path__title{font-weight:700;font-size:14.5px;display:flex;align-items:center;gap:8px}
.fx-path__meta{font-size:11.5px;color:var(--fx-muted);margin-top:2px}
.fx-path .fx-bar{margin-top:8px;height:5px}
.fx-path .fx-btn{flex:none;font-size:12px;padding:8px 16px}
.fx-home-split{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;padding:40px var(--fx-gutter) 8px}
.fx-stack{display:flex;flex-direction:column;gap:12px}
.fx-idea{border:1px solid var(--fx-border);border-radius:14px;padding:13px 17px;display:block;color:inherit}
.fx-idea:hover{box-shadow:var(--fx-shadow-card);color:inherit}
.fx-idea__head{display:flex;align-items:center;gap:8px;font-size:12.5px}
.fx-idea__head .fx-avatar-c{width:26px;height:26px;font-size:11px}
.fx-idea__head strong{font-weight:700}
.fx-idea__by{color:var(--fx-faint);font-size:11px}
.fx-idea__foot{display:flex;gap:14px;font-size:11px;color:var(--fx-muted);margin-top:7px;padding-inline-start:34px}
.fx-idea__votes{color:var(--fx-primary);font-weight:700}
.fx-livecard{background:var(--fx-dark);color:var(--fx-dark-text);border-radius:14px;padding:14px 17px}
.fx-livecard__top{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--fx-live-soft)}
.fx-livecard__title{font-weight:700;font-size:14.5px;margin:6px 0 3px;color:#fff}
.fx-livecard__foot{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--fx-dark-muted)}
.fx-livecard__foot .fx-btn{margin-inline-start:auto;font-size:11.5px;padding:6px 14px}
.fx-ticker{margin:40px var(--fx-gutter) 0;border:1px solid var(--fx-border);border-radius:16px;padding:16px 22px;display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.fx-ticker__label{font-size:12px;color:var(--fx-muted);flex:none}
.fx-ticker__quotes{display:flex;gap:26px;font-family:var(--fx-font-mono);font-size:12.5px;color:var(--fx-ink);direction:ltr;flex-wrap:wrap}
.fx-ticker__more{margin-inline-start:auto;font-size:12.5px;color:var(--fx-primary);font-weight:600}

/* ===================== BROKERS ===================== */
.fx-bhero{display:grid;grid-template-columns:1.3fr 1fr;gap:44px;padding:40px var(--fx-gutter) 30px;background:var(--fx-tint-bg);border-bottom:1px solid var(--fx-border)}
.fx-bhero__kicker{font-size:12px;color:var(--fx-primary);font-weight:700}
.fx-bhero__title{font-family:var(--fx-font-head);font-weight:800;font-size:38px;line-height:1.5;margin:10px 0 8px}
.fx-bhero__lead{margin:0 0 18px;font-size:14.5px;line-height:1.95;color:var(--fx-text-2);max-width:46ch}
.fx-bhero__facts{display:flex;gap:16px;font-size:12px;color:var(--fx-muted);border-top:1px solid var(--fx-tint-border);padding-top:13px;flex-wrap:wrap}
.fx-finder{background:var(--fx-surface);border:1px solid var(--fx-tint-border);border-radius:16px;box-shadow:var(--fx-shadow-float);padding:20px 22px}
.fx-finder__title{font-weight:700;font-size:15px;margin-bottom:12px}
.fx-finder__fields{display:flex;flex-direction:column;gap:9px}
.fx-finder .fx-btn--solid{display:flex;width:100%;font-size:14px;padding:12px 0;margin-top:14px}
.fx-finder__note{text-align:center;font-size:11px;color:var(--fx-muted);margin-top:9px}
.fx-filters{display:flex;align-items:center;gap:9px;padding:16px var(--fx-gutter);border-bottom:1px solid var(--fx-hair);font-size:12.5px;flex-wrap:wrap}
.fx-filters__sort{margin-inline-start:auto;color:var(--fx-muted);display:flex;align-items:center;gap:4px}
.fx-filters__sort select{border:0;background:none;font-weight:700;color:var(--fx-ink);appearance:none;-webkit-appearance:none;padding-inline-end:14px;cursor:pointer}
.fx-filters__sort .fx-sort-wrap{position:relative}
.fx-filters__sort .fx-sort-wrap::after{content:"▾";position:absolute;inset-inline-end:0;top:0;color:var(--fx-ink);font-weight:700}
.fx-count{display:flex;align-items:baseline;gap:12px;padding:20px var(--fx-gutter) 0;flex-wrap:wrap}
.fx-count__n{font-weight:700;font-size:15px}
.fx-count__of{font-size:12px;color:var(--fx-muted)}
.fx-count__why{margin-inline-start:auto;font-size:12.5px;color:var(--fx-primary);font-weight:600}
.fx-blist{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:16px var(--fx-gutter) 26px}
.fx-bcard2{border:1px solid var(--fx-border);border-radius:14px;box-shadow:var(--fx-shadow-card);padding:17px 19px;background:var(--fx-surface)}
.fx-bcard2__head{display:flex;align-items:center;gap:10px}
.fx-check{width:17px;height:17px;border:1.5px solid var(--fx-check-border);border-radius:5px;flex:none;display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:#fff;cursor:pointer;background:var(--fx-surface)}
.fx-check.is-on{border-color:var(--fx-primary);background:var(--fx-primary)}
.fx-check.is-on::after{content:"✓"}
.fx-bcard2__name{font-weight:700;font-size:15px;font-family:var(--fx-font-latin);color:var(--fx-ink)}
.fx-bcard2 .fx-score{margin-inline-start:auto}
.fx-bcard2 .fx-bar{margin:11px 0}
.fx-bcard2__specs{display:grid;grid-template-columns:1fr 1fr;gap:5px 14px;font-size:11.5px;color:var(--fx-text-2)}
.fx-bcard2__actions{display:flex;gap:8px;font-size:12.5px;margin-top:13px}
.fx-bcard2__actions .fx-btn{flex:1;border-radius:10px;padding:9px 0;font-size:12.5px}
.fx-bcard2__actions .fx-btn--ghost{padding:8px 0}
.fx-bcard2__actions .fx-btn--ghost.is-in{background:var(--fx-tint-bg)}
.fx-tray{margin:0 var(--fx-gutter) 26px;background:var(--fx-dark);color:var(--fx-dark-text);border-radius:14px;padding:13px 22px;display:flex;align-items:center;gap:16px;font-size:13px;position:sticky;bottom:16px;z-index:15;box-shadow:var(--fx-shadow-float)}
.fx-tray[hidden]{display:none}
.fx-tray__names{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.fx-tray__name{font-weight:600;font-family:var(--fx-font-latin)}
.fx-tray__vs{color:var(--fx-dark-muted)}
.fx-tray__hint{color:var(--fx-dark-muted);font-size:12px}
.fx-tray .fx-btn--solid{margin-inline-start:auto;font-size:12.5px;padding:8px 18px}
.fx-tray__clear{color:var(--fx-dark-muted);font-size:11.5px}
.fx-tray__clear:hover{color:#fff}
.fx-trust{margin:0 var(--fx-gutter) 34px;background:var(--fx-tint-bg);border:1px solid var(--fx-tint-border);border-radius:16px;padding:18px 24px;display:flex;align-items:center;gap:26px}
.fx-trust__title{font-weight:700;font-size:15px;margin-bottom:4px}
.fx-trust__body{font-size:12.5px;line-height:1.9;color:var(--fx-text-2)}
.fx-trust .fx-btn{flex:none;font-size:13px;font-weight:600;padding:10px 20px}

/* broker single */
.fx-bhead{display:flex;align-items:center;gap:20px;padding:16px var(--fx-gutter) 22px;border-bottom:1px solid var(--fx-hair)}
.fx-bhead__logo{width:56px;height:56px;border-radius:14px;background:var(--fx-tint);color:var(--fx-primary);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:19px;font-family:var(--fx-font-latin);flex:none;overflow:hidden}
.fx-bhead__logo img{width:100%;height:100%;object-fit:contain}
.fx-bhead__name{display:flex;align-items:center;gap:10px}
.fx-bhead__name h1{font-family:var(--fx-font-latin);font-weight:700;font-size:24px;line-height:1.4}
.fx-bhead__meta{display:flex;gap:14px;font-size:12px;color:var(--fx-muted);margin-top:5px;flex-wrap:wrap}
.fx-bhead__end{margin-inline-start:auto;display:flex;align-items:center;gap:22px}
.fx-bhead__score{text-align:center}
.fx-bhead__score-n{font-family:var(--fx-font-head);font-weight:800;font-size:34px;color:var(--fx-primary);line-height:1}
.fx-bhead__score-l{font-size:10.5px;color:var(--fx-muted);margin-top:3px}
.fx-bhead__user{text-align:center;border-inline-start:1px solid var(--fx-hair);padding-inline-start:22px}
.fx-bhead__user-n{font-weight:800;font-size:22px;line-height:1.4}
.fx-bhead__user-l{font-size:10.5px;color:var(--fx-muted)}
.fx-bhead__actions{display:flex;flex-direction:column;gap:8px}
.fx-bhead__actions .fx-btn--solid{font-size:13px;padding:10px 22px}
.fx-bhead__actions .fx-btn--outline{font-size:12px;padding:8px 22px}
.fx-bsingle{display:grid;grid-template-columns:2fr 1fr;gap:16px;padding:24px var(--fx-gutter) 30px}
.fx-bsingle__main,.fx-bsingle__side{display:flex;flex-direction:column;gap:16px}
.fx-card__head{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}
.fx-card__title{font-weight:700;font-size:15.5px}
.fx-card__title--14{font-size:14px}
.fx-card__sub{font-size:11.5px;color:var(--fx-muted)}
.fx-card__more{margin-inline-start:auto;font-size:12px;color:var(--fx-primary);font-weight:600}
.fx-criteria{display:grid;grid-template-columns:1fr 1fr;gap:12px 30px;font-size:12.5px}
.fx-criteria__row{display:flex;justify-content:space-between;margin-bottom:5px}
.fx-criteria__n{font-family:var(--fx-font-latin);font-weight:600;direction:ltr}
.fx-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;font-size:12.5px;line-height:1.85;color:var(--fx-text-2)}
.fx-facts strong{color:var(--fx-ink);font-weight:700}
.fx-card__foot{font-size:11px;color:var(--fx-faint);border-top:1px solid var(--fx-hair);margin-top:13px;padding-top:10px}
.fx-pros{font-weight:700;font-size:14px;color:var(--fx-green-2);margin-bottom:9px}
.fx-cons{font-weight:700;font-size:14px;color:var(--fx-red);margin-bottom:9px}
.fx-proslist{font-size:12.5px;line-height:2.1;color:var(--fx-text-2);list-style:none;margin:0;padding:0}
.fx-verdict p{font-size:13px;line-height:2;color:var(--fx-text-2)}
.fx-verdict__tags{display:flex;gap:8px;margin-top:12px;font-size:11.5px;flex-wrap:wrap}
.fx-specs{display:flex;flex-direction:column;gap:7px;font-size:12.5px;color:var(--fx-text-2)}
.fx-specs .fx-kv span:last-child{font-weight:600;color:var(--fx-ink)}
.fx-specs .fx-kv .fx-yes{color:var(--fx-green)}
.fx-specs .fx-kv .fx-no{color:var(--fx-red)}
.fx-side .fx-btn--solid{display:flex;width:100%;margin-top:14px;font-size:13px;padding:11px 0}
.fx-disclosure{font-size:10.5px;color:var(--fx-faint);line-height:1.7;margin-top:9px}
.fx-review{border-bottom:1px solid var(--fx-hair);padding-bottom:11px;margin-bottom:11px}
.fx-review:last-of-type{border-bottom:0;padding-bottom:0;margin-bottom:0}
.fx-review__head{display:flex;align-items:center;gap:8px;font-size:12px}
.fx-review__head .fx-avatar-c{width:24px;height:24px;font-size:10.5px}
.fx-review__verified{background:var(--fx-green-bg);color:var(--fx-green-2);font-size:9.5px;font-weight:700;padding:2px 7px;border-radius:999px}
.fx-review p{margin:7px 0 0;font-size:12px;line-height:1.9;color:var(--fx-text-2)}
.fx-similar{display:flex;flex-direction:column;gap:9px;font-size:12.5px}
.fx-similar a{display:flex;align-items:center;gap:8px;color:var(--fx-ink)}
.fx-similar .fx-latin{font-weight:600}
.fx-similar b{margin-inline-start:auto;color:var(--fx-primary);font-weight:700}

/* compare */
.fx-cmp-head{display:flex;align-items:center;gap:14px;padding:12px var(--fx-gutter) 0;flex-wrap:wrap}
.fx-cmp-head__cap{font-size:12px;color:var(--fx-muted)}
.fx-cmp-head .fx-btn{margin-inline-start:auto;font-size:12px;padding:8px 16px}
.fx-cmp{margin:18px var(--fx-gutter) 26px;border:1px solid var(--fx-border);border-radius:16px;overflow:hidden}
.fx-cmp__grid{display:grid}
.fx-cmp__cell{padding:12px 18px;border-bottom:1px solid var(--fx-fill-2);border-inline-start:1px solid var(--fx-hair);font-size:13px}
.fx-cmp__cell.is-best{background:var(--fx-tint-bg);font-weight:600}
.fx-cmp__label{padding:12px 22px;font-size:12px;color:var(--fx-muted);border-bottom:1px solid var(--fx-fill-2)}
.fx-cmp__top{padding:16px 18px;border-bottom:1px solid var(--fx-hair);border-inline-start:1px solid var(--fx-hair);position:relative}
.fx-cmp__top.is-best{background:var(--fx-tint-bg)}
.fx-cmp__top0{padding:16px 22px;background:var(--fx-fill);border-bottom:1px solid var(--fx-hair)}
.fx-cmp__pick{position:absolute;top:10px;left:12px;background:var(--fx-primary);color:#fff;font-size:9.5px;font-weight:700;padding:2px 9px;border-radius:999px}
.fx-cmp__name{font-family:var(--fx-font-latin);font-weight:700;font-size:15px;text-align:right}
.fx-cmp__reg{font-size:11px;color:var(--fx-muted);margin-top:2px}
.fx-cmp__score{display:flex;align-items:center;gap:8px}
.fx-cmp__score b{font-weight:800;font-size:15px}
.fx-cmp__score .fx-bar{flex:1;height:5px;background:var(--fx-border)}
.fx-cmp__foot{padding:14px 18px;border-inline-start:1px solid var(--fx-hair)}
.fx-cmp__foot.is-best{background:var(--fx-tint-bg)}
.fx-cmp__foot .fx-btn{display:flex;width:100%;font-size:12.5px;padding:9px 0}
.fx-cmp__remove{font-size:10.5px;color:var(--fx-faint);margin-top:6px;display:block;text-align:center}

/* ===================== RESPONSIVE ===================== */
@media (max-width:1100px){
  :root{--fx-gutter:24px}
  .fx-grid--3,.fx-blist{grid-template-columns:repeat(2,1fr)}
  .fx-home-split,.fx-bhero,.fx-bsingle{grid-template-columns:1fr}
  .fx-footer__cols{grid-template-columns:1fr 1fr}
  .fx-hero__title{font-size:40px}
}
@media (max-width:768px){
  :root{--fx-gutter:16px}
  body{padding-bottom:56px}
  .fx-page{border-inline:0;box-shadow:none}
  .fx-header{gap:10px;padding:12px 15px}
  .fx-logo__dot{width:9px;height:9px}.fx-logo__word{font-size:15px}
  .fx-nav{display:none;position:absolute;top:100%;inset-inline:0;background:var(--fx-surface);border-bottom:1px solid var(--fx-hair);flex-direction:column;gap:0;padding:8px 16px;box-shadow:var(--fx-shadow-float)}
  .fx-nav a{padding:10px 0;border-bottom:1px solid var(--fx-hair);font-size:14px}
  .fx-header.is-open .fx-nav{display:flex}
  .fx-header__end{display:none}
  .fx-header.is-open .fx-header__end{display:flex;position:absolute;top:calc(100% + 1px);inset-inline:0;background:var(--fx-surface);padding:12px 16px;border-bottom:1px solid var(--fx-hair);margin-top:0;justify-content:space-between;box-shadow:var(--fx-shadow-float)}
  .fx-header.is-open .fx-nav{padding-bottom:0}
  .fx-header.is-open .fx-header__end{top:auto}
  .fx-burger{display:block}
  .fx-tabbar{display:flex;position:fixed;bottom:0;inset-inline:0;background:var(--fx-surface);border-top:1px solid var(--fx-hair);padding:8px 6px;font-size:10px;color:var(--fx-faint);text-align:center;z-index:30;padding-bottom:max(8px,env(safe-area-inset-bottom))}
  .fx-tabbar a{flex:1;color:inherit;line-height:1.5}
  .fx-tabbar a.is-active{color:var(--fx-primary);font-weight:700}
  .fx-grid--3,.fx-grid--2,.fx-blist,.fx-footer__cols,.fx-criteria,.fx-facts{grid-template-columns:1fr}
  .fx-hero{padding:24px 16px 20px}
  .fx-hero__title{font-size:26px;line-height:1.5}
  .fx-hero__lead{font-size:13px}
  .fx-intent{padding:14px;margin-top:18px}
  .fx-intent__chips{flex-direction:column}
  .fx-intent__chips a{text-align:center}
  .fx-stats{gap:14px;font-size:12px}
  .fx-liveband{padding:10px 16px;font-size:12px}
  .fx-section{padding:28px 16px 4px}
  .fx-section__title{font-size:20px}
  .fx-section__head{flex-wrap:wrap;gap:8px}
  .fx-bhero{padding:24px 16px;gap:20px}
  .fx-bhero__title{font-size:24px}
  .fx-filters{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  .fx-filters__sort{margin-inline-start:0}
  .fx-bhead{flex-wrap:wrap;gap:12px}
  .fx-bhead__end{margin-inline-start:0;width:100%;justify-content:space-between}
  .fx-tray{margin:0 12px 70px;position:fixed;bottom:0;inset-inline:0;padding:10px 14px;font-size:12px;border-radius:12px}
  .fx-tray__hint{display:none}
  .fx-trust{flex-direction:column;align-items:flex-start;gap:12px}
  .fx-ticker{margin:24px 16px 0;gap:12px}
  .fx-cmp{overflow-x:auto}
  .fx-cmp__grid{min-width:720px}
  .fx-legal{flex-direction:column;gap:6px}
  .fx-legal__links{margin-inline-start:0}
}

/* prose (editor content) */
.fx-prose{font-size:14px;line-height:2.1;color:var(--fx-text-2)}
.fx-prose h2{font-family:var(--fx-font-head);font-weight:800;font-size:22px;color:var(--fx-ink);margin:28px 0 10px}
.fx-prose h3{font-weight:700;font-size:16px;color:var(--fx-ink);margin:22px 0 8px}
.fx-prose p{margin:0 0 14px}
.fx-prose ul,.fx-prose ol{padding-inline-start:22px;margin:0 0 14px}
.fx-prose blockquote{border-inline-start:3px solid var(--fx-primary);background:var(--fx-tint-bg);padding:12px 16px;border-radius:10px;margin:0 0 14px}
.fx-prose img{border-radius:12px}
.fx-prose table{width:100%;border-collapse:collapse;font-size:13px}
.fx-prose th,.fx-prose td{padding:8px 10px;border-bottom:1px solid var(--fx-hair);text-align:right}
.fx-prose strong{color:var(--fx-ink)}
.fx-prose .wp-block-embed iframe{max-width:100%}
.fx-pagination,.pagination{display:flex;justify-content:center;gap:6px;padding:6px var(--fx-gutter) 26px}
.pagination .page-numbers{border:1px solid var(--fx-border);border-radius:999px;padding:6px 14px;font-size:12.5px;color:var(--fx-text-2)}
.pagination .page-numbers.current{background:var(--fx-primary);border-color:var(--fx-primary);color:#fff}

/* ===================== LEARN ===================== */
.fx-learn-head{display:flex;align-items:center;gap:18px;padding:30px var(--fx-gutter) 6px;flex-wrap:wrap}
.fx-learn-head__sub{font-size:13px;color:var(--fx-muted);margin-top:4px}
.fx-search{margin-inline-start:auto;min-width:250px}
.fx-search__in{width:100%;border:1px solid var(--fx-border);border-radius:999px;padding:9px 18px;font-size:12.5px;background:var(--fx-surface)}
.fx-search__in::placeholder{color:var(--fx-faint)}
.fx-chips{display:flex;gap:7px;font-size:12px;flex-wrap:wrap}
.fx-filter--sm{font-size:12px;padding:7px 15px}
.fx-chip--grey{background:var(--fx-fill);color:var(--fx-text-2)}
.fx-course{border:1px solid var(--fx-border);border-radius:16px;padding:19px 22px;display:flex;flex-direction:column}
.fx-course.is-active{border:1.5px solid var(--fx-primary)}
.fx-course__top{display:flex;align-items:center;gap:8px}
.fx-course__count{margin-inline-start:auto;font-size:11px;color:var(--fx-muted)}
.fx-course__title{font-weight:700;font-size:18px;margin:11px 0 4px}
.fx-course__title a{color:inherit}
.fx-course__desc{font-size:12px;color:var(--fx-muted);flex:1}
.fx-course__foot{display:flex;align-items:center;gap:10px}
.fx-course__foot .fx-btn{font-size:12.5px;font-weight:600;padding:8px 18px}
.fx-course__hours{font-size:11.5px;color:var(--fx-muted)}
.fx-learn-split{display:grid;grid-template-columns:2fr 1fr;gap:16px;padding:22px var(--fx-gutter) 30px}
.fx-lessonlist{border:1px solid var(--fx-border);border-radius:16px;overflow:hidden;align-self:start}
.fx-lessonlist__head{display:flex;align-items:center;gap:10px;padding:15px 22px;border-bottom:1px solid var(--fx-hair);font-weight:700;font-size:14.5px}
.fx-lessonlist__count{margin-inline-start:auto;font-size:11.5px;color:var(--fx-muted);font-weight:400}
.fx-lesson-row{display:flex;align-items:center;gap:14px;padding:13px 22px;border-bottom:1px solid var(--fx-fill-2);font-size:13px;color:var(--fx-ink)}
.fx-lesson-row:last-child{border-bottom:0}
.fx-lesson-row:hover{background:var(--fx-fill)}
.fx-lesson-row__n{width:24px;height:24px;border-radius:50%;background:var(--fx-fill-2);color:var(--fx-muted);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex:none}
.fx-lesson-row.is-done .fx-lesson-row__n{background:var(--fx-green-soft);color:var(--fx-green-2);font-size:12px}
.fx-lesson-row.is-done .fx-lesson-row__t{color:var(--fx-faint)}
.fx-lesson-row.is-current{background:var(--fx-tint-bg)}
.fx-lesson-row.is-current .fx-lesson-row__n{background:var(--fx-primary);color:#fff}
.fx-lesson-row.is-current .fx-lesson-row__t{font-weight:700}
.fx-lesson-row__d{margin-inline-start:auto;font-size:11px;color:var(--fx-faint);white-space:nowrap}
.fx-lessonlist--side .fx-lesson-row{padding:11px 17px;font-size:12.5px;gap:12px}
.fx-lessonlist--side .fx-lesson-row__n{width:22px;height:22px;font-size:10px}
.fx-tool{display:flex;flex-direction:column;gap:8px;font-size:12px;margin-top:12px}
.fx-tool__row{border:1px solid var(--fx-border);border-radius:9px;padding:9px 13px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.fx-tool__row label{color:var(--fx-muted)}
.fx-tool__row select,.fx-tool__row input{border:0;background:none;font-weight:600;text-align:left;width:120px;font-size:12px}
.fx-tool__row.is-result{background:var(--fx-tint-bg);border-color:var(--fx-tint-border);color:var(--fx-primary-dark)}
.fx-tool__row.is-result strong{font-weight:700}
.fx-darkcard{background:var(--fx-dark);color:var(--fx-dark-text);border-radius:16px;padding:17px 20px}
.fx-darkcard__title{font-weight:700;font-size:14px;color:#fff}
.fx-darkcard__body{margin:7px 0 12px;font-size:12px;line-height:1.9;color:var(--fx-dark-muted)}
.fx-player{background:var(--fx-dark);border-radius:16px;position:relative;overflow:hidden;aspect-ratio:16/9;max-height:430px}
.fx-player iframe,.fx-player video{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.fx-player__ph{position:absolute;inset:0}
.fx-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:70px;height:70px;border-radius:50%;background:rgba(255,255,255,.14);display:inline-flex;align-items:center;justify-content:center}
.fx-play>span{width:0;height:0;border-top:14px solid transparent;border-bottom:14px solid transparent;border-inline-start:22px solid #fff;margin-inline-end:-4px}
.fx-play--sm{width:40px;height:40px;background:rgba(255,255,255,.18)}
.fx-play--sm>span{border-top-width:8px;border-bottom-width:8px;border-inline-start-width:12px;margin-inline-end:-3px}
.fx-play--solid{background:var(--fx-primary)}
.fx-player__bar{position:absolute;bottom:0;right:0;left:0;padding:16px 20px 13px;display:flex;align-items:center;gap:12px;background:linear-gradient(0deg,rgba(11,18,32,.92),rgba(11,18,32,0))}
.fx-player__host{color:#fff;font-size:12.5px;font-weight:600}
.fx-player__time{margin-inline-start:auto;color:var(--fx-dark-muted);font-family:var(--fx-font-mono);font-size:11.5px}
.fx-player__tags{position:absolute;top:16px;right:18px;display:flex;gap:8px}
.fx-player__tags span{background:rgba(255,255,255,.12);color:var(--fx-dark-text);font-size:11px;font-family:var(--fx-font-mono);padding:5px 11px;border-radius:7px}
.fx-player__tag{position:absolute;top:16px;right:18px;background:rgba(255,255,255,.12);color:var(--fx-dark-text);font-size:11px;padding:4px 12px;border-radius:999px}
.fx-player__livetag{position:absolute;top:16px;left:18px;display:inline-flex;align-items:center;gap:7px;background:var(--fx-live);color:#fff;font-size:11px;font-weight:700;padding:5px 12px;border-radius:7px;font-family:var(--fx-font-latin)}
.fx-player__livetag span{width:6px;height:6px;border-radius:50%;background:var(--fx-surface)}
.fx-player__cap{position:absolute;bottom:10px;right:12px;font-size:11px;color:var(--fx-dark-muted)}
.fx-keypoints{background:var(--fx-tint-bg);border:1px solid var(--fx-tint-border);border-radius:14px;padding:15px 20px;margin-bottom:16px}
.fx-keypoints__title{font-weight:700;font-size:13px;color:var(--fx-primary-dark);margin-bottom:8px}
.fx-keypoints__list{font-size:12.5px;line-height:2.1;color:var(--fx-primary-dark)}
.fx-toolcta{border:1px solid var(--fx-border);border-radius:14px;padding:14px 20px;display:flex;align-items:center;gap:16px;margin-bottom:18px}
.fx-lesson-nav{display:flex;gap:12px}
.fx-lesson-nav__prev{flex:1;border:1px solid var(--fx-border);border-radius:12px;padding:12px 18px;font-size:12.5px;color:var(--fx-muted)}
.fx-lesson-nav__next{flex:1;background:var(--fx-primary);color:#fff;border-radius:12px;padding:12px 18px;font-size:12.5px;font-weight:600;text-align:left}
.fx-lesson-nav__next:hover{background:var(--fx-primary-dark);color:#fff}
.fx-lesson-body p{font-size:14px;line-height:2.1}

/* ===================== LIVE ===================== */
.fx-live-head{display:flex;align-items:center;gap:14px;padding:18px var(--fx-gutter) 14px;flex-wrap:wrap}
.fx-live-head__meta{font-size:12.5px;color:var(--fx-muted)}
.fx-live-head__actions{margin-inline-start:auto;display:flex;gap:9px}
.fx-live-grid{display:grid;grid-template-columns:2.1fr 1fr;gap:16px;padding:0 var(--fx-gutter) 26px}
.fx-player--live{max-height:430px}
.fx-mini__k{font-size:10.5px;color:var(--fx-muted)}.fx-mini__v{font-weight:700;font-size:13.5px;margin-top:3px}.fx-mini__s{font-size:11.5px;color:var(--fx-muted);margin-top:2px}
.fx-chat{border:1px solid var(--fx-border);border-radius:16px;display:flex;flex-direction:column;overflow:hidden;max-height:560px}
.fx-chat__head{display:flex;align-items:center;gap:8px;padding:13px 17px;border-bottom:1px solid var(--fx-hair)}
.fx-chat__online{font-size:11px;color:var(--fx-muted)}
.fx-chat__pinned{background:var(--fx-tint-bg);border-bottom:1px solid var(--fx-hair);padding:10px 17px;font-size:11.5px;color:var(--fx-primary-dark)}
.fx-chat__msgs{flex:1;display:flex;flex-direction:column;gap:12px;padding:14px 17px;font-size:12px;overflow-y:auto;min-height:220px}
.fx-chat__msg{display:flex;gap:9px}
.fx-chat__msg strong{font-weight:700}
.fx-chat__time{color:var(--fx-faint);font-size:10.5px}
.fx-chat__staff{font-size:9.5px;padding:1px 7px;margin-inline-start:5px;font-weight:700}
.fx-chat__text{color:var(--fx-text-2);line-height:1.8;margin-top:2px}
.fx-chat__form{border-top:1px solid var(--fx-hair);padding:12px 17px;display:flex;gap:9px;align-items:center}
.fx-chat__in{flex:1;border:1px solid var(--fx-border);border-radius:999px;padding:9px 15px;font-size:12px;background:var(--fx-surface);min-width:0}
.fx-live-bottom{display:grid;grid-template-columns:1fr 2fr;gap:16px;padding:0 var(--fx-gutter) 30px}
.fx-sched{display:flex;flex-direction:column;gap:9px;font-size:12.5px}
.fx-sched__row{display:flex;gap:10px;align-items:center}
.fx-sched__day{font-weight:700;color:var(--fx-primary);font-size:11.5px;width:86px;flex:none}
.fx-sched__host{margin-inline-start:auto;font-size:11px;color:var(--fx-muted)}
.fx-vcard{border:1px solid var(--fx-border);border-radius:16px;overflow:hidden;display:block;color:inherit;background:var(--fx-surface)}
.fx-vcard:hover{box-shadow:var(--fx-shadow-card);color:inherit}
.fx-vcard__thumb{height:118px;background:var(--fx-dark);position:relative;overflow:hidden}
.fx-vcard__thumb img{width:100%;height:100%;object-fit:cover;opacity:.85}
.fx-vcard__dur{position:absolute;bottom:7px;left:8px;background:rgba(0,0,0,.7);color:#fff;font-family:var(--fx-font-mono);font-size:9.5px;padding:2px 7px;border-radius:4px}
.fx-vcard__body{padding:14px 17px}
.fx-vcard__date{font-size:10.5px;color:var(--fx-muted)}
.fx-vcard__title{font-weight:700;font-size:14.5px;line-height:1.7;margin:7px 0 4px}
.fx-vcard__meta{font-size:11px;color:var(--fx-faint)}
.fx-trades{font-family:var(--fx-font-mono);font-size:12px}
.fx-trades__row{display:flex;justify-content:space-between;gap:10px;padding:10px 20px;border-bottom:1px solid var(--fx-fill-2);color:var(--fx-ink)}
.fx-trades__pair{width:150px}.fx-trades__px{color:var(--fx-muted);flex:1}.fx-trades__res{width:80px;text-align:right}
.fx-trades__foot{background:var(--fx-tint-bg);border-top:1px solid var(--fx-hair);padding:10px 20px;font-size:11.5px;color:var(--fx-primary-dark)}
.fx-chapters{display:flex;flex-direction:column;gap:9px;font-size:12.5px}
.fx-chapters>div{display:flex;gap:10px}
.fx-chapters>div>span:first-child{font-family:var(--fx-font-mono);font-size:11px;color:var(--fx-primary);width:44px;flex:none}
@media (max-width:1100px){.fx-live-grid,.fx-live-bottom,.fx-learn-split{grid-template-columns:1fr}.fx-chat{max-height:420px}}
@media (max-width:768px){.fx-learn-head{padding:20px 16px 4px}.fx-search{min-width:0;width:100%;margin-inline-start:0}.fx-live-head__actions{margin-inline-start:0}.fx-lesson-nav{flex-direction:column}.fx-player{max-height:none;border-radius:12px}.fx-trades__pair{width:110px}}

/* ===================== SIGNALS / EXPERT ===================== */
.fx-shero{display:grid;grid-template-columns:1.3fr 1fr;gap:44px;padding:44px var(--fx-gutter) 34px}
.fx-shero__title{font-family:var(--fx-font-head);font-weight:800;font-size:40px;line-height:1.45;margin:14px 0 8px}
.fx-shero__lead{margin:0 0 22px;font-size:15px;line-height:2;color:var(--fx-text-2);max-width:46ch}
.fx-shero__actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.fx-shero__facts{display:flex;gap:22px;font-size:12px;color:var(--fx-muted);border-top:1px solid var(--fx-hair);margin-top:24px;padding-top:15px;flex-wrap:wrap}
.fx-sig{font-family:var(--fx-font-mono);font-size:12px;padding:13px 17px;color:var(--fx-ink)}
.fx-sig>div{display:flex;justify-content:space-between;padding:3px 0}
.fx-sig>div>span:first-child{color:var(--fx-muted)}
.fx-sig__logic{background:var(--fx-tint-bg);border-top:1px solid var(--fx-hair);padding:10px 17px;font-size:11.5px;color:var(--fx-primary-dark);line-height:1.8}
.fx-feat__t{font-weight:700;font-size:13.5px;margin-bottom:5px}
.fx-feat__b{font-size:12px;line-height:1.85;color:var(--fx-muted)}
.fx-howto{margin:0 var(--fx-gutter) 34px;background:var(--fx-tint-bg);border:1px solid var(--fx-tint-border);border-radius:18px;padding:24px 26px}
.fx-step{background:var(--fx-surface);border:1px solid var(--fx-tint-border);border-radius:14px;padding:15px 18px;display:flex;gap:12px;align-items:flex-start}
.fx-step__n{width:30px;height:30px;border-radius:50%;background:var(--fx-primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;flex:none}
.fx-step__t{font-weight:700;font-size:13.5px}
.fx-step__b{font-size:11.5px;color:var(--fx-muted);line-height:1.8;margin-top:3px}
.fx-partner{background:var(--fx-surface);border:1px solid var(--fx-border);border-radius:14px;padding:13px 17px;display:flex;align-items:center;gap:10px}
.fx-faq{margin:0 var(--fx-gutter) 34px;border:1px solid var(--fx-border);border-radius:16px;overflow:hidden}
.fx-faq__head{padding:14px 22px;border-bottom:1px solid var(--fx-hair);font-weight:700;font-size:14px}
.fx-faq__item{border-bottom:1px solid var(--fx-fill-2)}
.fx-faq__item:last-child{border-bottom:0}
.fx-faq__item summary{display:flex;justify-content:space-between;align-items:center;padding:13px 22px;font-size:13px;cursor:pointer;list-style:none}
.fx-faq__item summary::-webkit-details-marker{display:none}
.fx-faq__plus{color:var(--fx-faint);font-size:16px}
.fx-faq__item[open] .fx-faq__plus{transform:rotate(45deg)}
.fx-faq__a{padding:0 22px 14px;font-size:12.5px;line-height:2;color:var(--fx-text-2)}
.fx-riskpanel{background:var(--fx-dark);border-radius:16px;height:250px;position:relative;overflow:hidden}
.fx-riskpanel__cap{position:absolute;top:14px;right:16px;font-size:10.5px;color:var(--fx-dark-muted);font-family:var(--fx-font-mono)}
.fx-riskpanel__box{position:absolute;top:40px;right:16px;left:16px;bottom:16px;background:#131b2b;border:1px solid #232d42;border-radius:10px;padding:14px 16px;font-family:var(--fx-font-mono);font-size:11px;color:var(--fx-dark-muted);display:flex;flex-direction:column;gap:8px}
.fx-riskpanel__box>div{display:flex;justify-content:space-between}
.fx-plat{flex:1;text-align:center;border:1px solid var(--fx-border);border-radius:12px;padding:10px 0;font-weight:600;font-size:13px}
.fx-plat--on{border:1.5px solid var(--fx-primary);color:var(--fx-primary);font-weight:700}

/* ===================== MARKETS / CALENDAR ===================== */
.fx-mtable{margin:18px var(--fx-gutter) 0;border:1px solid var(--fx-border);border-radius:16px;overflow:hidden}
.fx-mtable__row{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr 1fr;padding:13px 22px;border-bottom:1px solid var(--fx-fill-2);font-size:13px;align-items:center}
.fx-mtable__row:last-child{border-bottom:0}
.fx-mtable__row.is-hl{background:var(--fx-tint-bg)}
.fx-mtable__head{padding:11px 22px;background:var(--fx-fill);border-bottom:1px solid var(--fx-hair);font-size:11px;color:var(--fx-muted)}
.fx-mtable .fx-mono{font-size:12.5px}
.fx-mbottom{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:16px;padding:20px var(--fx-gutter) 30px}
.fx-evrow{display:flex;gap:10px;align-items:baseline;font-size:12.5px;padding:7px 0;border-bottom:1px solid var(--fx-fill-2)}
.fx-evrow:last-child{border-bottom:0}

/* ===================== BLOG ===================== */
.fx-cat{font-size:10.5px;color:var(--fx-primary);font-weight:700}
.fx-post__t{font-weight:700;font-size:14.5px;line-height:1.75;margin:6px 0 4px;color:var(--fx-ink)}
.fx-post__m{font-size:11px;color:var(--fx-faint)}
.fx-blog-top{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;padding:20px var(--fx-gutter) 0}
.fx-featpost{background:var(--fx-dark);color:#fff;border-radius:18px;padding:26px 28px;display:flex;flex-direction:column;min-height:300px}
.fx-featpost:hover{color:#fff}
.fx-featpost__title{font-family:var(--fx-font-head);font-weight:800;font-size:27px;line-height:1.6;margin:14px 0 8px}
.fx-featpost__lead{font-size:13px;line-height:2;color:var(--fx-dark-muted);max-width:56ch}
.fx-featpost__foot{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:18px;font-size:12px;color:var(--fx-dark-muted);flex-wrap:wrap}
.fx-postcard{border:1px solid var(--fx-border);border-radius:14px;overflow:hidden;display:block;color:inherit;background:var(--fx-surface)}
.fx-postcard:hover{box-shadow:var(--fx-shadow-card);color:inherit}
.fx-postcard__img{height:120px;background:var(--fx-hair);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--fx-faint);overflow:hidden}
.fx-postcard__img img{width:100%;height:100%;object-fit:cover}
.fx-postcard__body{padding:14px 17px}
.fx-pages{display:flex;justify-content:center;gap:7px;padding:18px var(--fx-gutter) 26px;font-size:12.5px}
.fx-pages .page-numbers{border:1px solid var(--fx-border);color:var(--fx-text-2);min-width:34px;height:34px;padding:0 12px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}
.fx-pages .page-numbers.current{background:var(--fx-primary);border-color:var(--fx-primary);color:#fff}
.fx-newsletter{margin:0 var(--fx-gutter) 30px;background:var(--fx-tint-bg);border:1px solid var(--fx-tint-border);border-radius:16px;padding:18px 24px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.fx-newsletter__form{display:flex;gap:9px}
.fx-newsletter__in{border:1px solid var(--fx-tint-border);background:var(--fx-surface);border-radius:999px;padding:10px 18px;font-size:12.5px;min-width:200px}
.fx-article{max-width:1120px;margin:0 auto;padding:0 var(--fx-gutter)}
.fx-article__title{font-family:var(--fx-font-head);font-weight:800;font-size:34px;line-height:1.55;margin:14px 0 10px;max-width:26ch}
.fx-article__meta{display:flex;align-items:center;gap:12px;font-size:12.5px;color:var(--fx-muted);flex-wrap:wrap}
.fx-article__tools{margin-inline-start:auto;display:flex;gap:7px}
.fx-article__grid{display:grid;grid-template-columns:1fr 280px;gap:36px;padding:22px 0 34px}
.fx-article__fig img{width:100%;border-radius:14px}
.fx-article__fig figcaption{font-size:11px;color:var(--fx-faint);margin-top:7px}
.fx-article__body{margin-top:20px}
.fx-article__body p{font-size:14.5px;line-height:2.2;color:var(--fx-prose-ink)}
.fx-article__body h2{font-size:21px;margin:26px 0 10px}
.fx-article__body blockquote{border-inline-start:3px solid var(--fx-primary);background:var(--fx-fill);border-radius:0 12px 12px 0;padding:14px 20px;margin:20px 0;font-size:13.5px;line-height:2.1;color:var(--fx-prose-ink)}
.fx-article__side{display:flex;flex-direction:column;gap:14px;align-self:start;position:sticky;top:16px}
.fx-toc{display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--fx-text-2)}
.fx-toc a{color:inherit}
.fx-toc a.is-active,.fx-toc a:hover{color:var(--fx-primary);font-weight:600}
.fx-authorbox{border:1px solid var(--fx-border);border-radius:16px;padding:18px 22px;margin-top:24px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.fx-cathead{background:var(--fx-tint-bg);border-bottom:1px solid var(--fx-border);padding:28px var(--fx-gutter)}
.fx-listwrap{max-width:1120px;margin:0 auto;padding:10px var(--fx-gutter) 22px}
.fx-postrow{display:flex;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid var(--fx-hair);color:inherit}
.fx-postrow:hover{color:inherit}
.fx-postrow__img{width:150px;height:92px;background:var(--fx-hair);border-radius:12px;flex:none;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--fx-faint);overflow:hidden}
.fx-postrow__img img{width:100%;height:100%;object-fit:cover}
.fx-postrow__t{font-weight:700;font-size:16px;line-height:1.7;margin:5px 0 3px}
.fx-postrow__x{font-size:12px;color:var(--fx-muted);line-height:1.8}
.fx-vfeat{background:var(--fx-dark);border-radius:18px;position:relative;min-height:300px;overflow:hidden;display:block}
.fx-vfeat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.6}
.fx-vfeat__bar{position:absolute;bottom:0;right:0;left:0;background:linear-gradient(0deg,rgba(11,18,32,.94),rgba(11,18,32,0));padding:20px 22px 16px}
.fx-vrow{display:flex;gap:12px;border:1px solid var(--fx-border);border-radius:14px;padding:11px;color:inherit}
.fx-vrow:hover{box-shadow:var(--fx-shadow-card);color:inherit}
.fx-vrow__thumb{width:120px;height:72px;background:var(--fx-dark);border-radius:10px;flex:none;position:relative;overflow:hidden}
.fx-vrow__thumb img{width:100%;height:100%;object-fit:cover;opacity:.85}
.fx-vrow__thumb .fx-vcard__dur{bottom:5px;left:6px}

/* ===================== STATIC ===================== */
.fx-about__hero{max-width:820px;margin:0 auto;padding:44px 24px 10px;text-align:center}
.fx-about__title{font-family:var(--fx-font-head);font-weight:800;font-size:36px;line-height:1.5;margin:14px 0 8px}
.fx-about__lead{margin:0 auto;font-size:14px;line-height:2.05;color:var(--fx-text-2);max-width:56ch}
.fx-about__stats{max-width:920px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:24px 24px 10px}
.fx-about__values{max-width:920px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:18px 24px 8px}
.fx-val__t{font-weight:800;font-size:15px;color:var(--fx-primary-dark)}
.fx-val__b{font-size:12px;line-height:1.95;color:var(--fx-text-2);margin-top:6px}
.fx-about__team{max-width:920px;margin:0 auto;padding:22px 24px 8px}
.fx-about__model{max-width:920px;margin:20px auto 34px;background:var(--fx-dark);color:var(--fx-dark-text);border-radius:18px;padding:22px 26px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.fx-contact{max-width:1000px;margin:0 auto}
.fx-contact__grid{display:grid;grid-template-columns:1fr 1.2fr;gap:16px;padding:20px 24px 34px}
.fx-field{display:block}
.fx-field>span{display:block;font-size:11.5px;font-weight:600;color:var(--fx-text-2);margin-bottom:6px}
.fx-field .fx-input{border-radius:11px;font-size:12.5px}
.fx-form{position:relative}
.fx-terms{max-width:1060px;margin:0 auto;display:grid;grid-template-columns:250px 1fr;gap:36px;padding:32px 24px 38px}
.fx-riskbox{background:var(--fx-red-bg);border:1px solid var(--fx-red-border);border-radius:14px;padding:15px 20px;margin:18px 0}

/* ===================== AUTH / PANEL ===================== */
.fx-auth{background:var(--fx-tint-bg);min-height:640px;display:flex;flex-direction:column;flex:1}
.fx-auth__bar{padding:12px var(--fx-gutter);border-bottom:1px solid var(--fx-border);background:var(--fx-surface);font-size:12.5px;color:var(--fx-text-2);text-align:left}
.fx-auth__center{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 20px;gap:40px;flex-wrap:wrap}
.fx-auth__card{background:var(--fx-surface);border:1px solid var(--fx-border);border-radius:20px;box-shadow:var(--fx-shadow-float);padding:28px 26px;display:block}
.fx-input--phone{border-radius:12px;padding:12px 16px;font-size:15px;text-align:left;letter-spacing:.5px}
.fx-input--phone:focus{border:1.5px solid var(--fx-primary);box-shadow:none}
.fx-auth__or{display:flex;align-items:center;gap:12px;margin:18px 0}
.fx-auth__or span{flex:1;height:1px;background:var(--fx-border)}
.fx-auth__or small{font-size:11px;color:var(--fx-faint)}
.fx-auth__err{background:var(--fx-red-bg);border:1px solid var(--fx-red-border);color:var(--fx-red-text);border-radius:10px;padding:9px 14px;font-size:12px;margin-top:12px}
.fx-panel{display:grid;grid-template-columns:230px 1fr;min-height:560px}
.fx-panel__nav{border-inline-end:1px solid var(--fx-hair);padding:22px 0;display:flex;flex-direction:column;gap:2px;font-size:13px}
.fx-panel__nav a{color:var(--fx-text-2);padding:11px 24px;border-inline-start:3px solid transparent}
.fx-panel__nav a.is-active{background:var(--fx-tint-bg);color:var(--fx-primary);font-weight:700;border-inline-start-color:var(--fx-primary)}
.fx-panel__nav a:hover{color:var(--fx-ink)}
.fx-panel__logout{color:var(--fx-red)!important;margin-top:auto}
.fx-panel__main{padding:24px 30px 30px;background:var(--fx-panel-bg)}
.fx-siglist{font-family:var(--fx-font-mono);font-size:11.5px}
.fx-siglist>div{display:flex;justify-content:space-between;padding:9px 18px;border-bottom:1px solid var(--fx-fill-2)}
.fx-siglist>div:last-child{border-bottom:0}
.fx-logrow{display:grid;grid-template-columns:1fr 1.4fr 1fr 1fr;padding:12px 22px;font-size:12.5px;border-bottom:1px solid var(--fx-fill-2);align-items:center}
.fx-logrow--head{padding:10px 22px;background:var(--fx-fill);font-size:11px;color:var(--fx-muted);border-bottom:1px solid var(--fx-hair)}
.fx-logrow:last-child{border-bottom:0}
@media (max-width:1100px){.fx-shero,.fx-mbottom,.fx-blog-top,.fx-article__grid,.fx-contact__grid,.fx-terms{grid-template-columns:1fr}[data-cols4]{grid-template-columns:repeat(2,1fr)!important}.fx-about__stats{grid-template-columns:repeat(2,1fr)}.fx-about__values{grid-template-columns:1fr}.fx-panel{grid-template-columns:1fr}.fx-panel__nav{flex-direction:row;overflow-x:auto;border-inline-end:0;border-bottom:1px solid var(--fx-hair);padding:8px 12px}.fx-panel__nav a{white-space:nowrap;border-inline-start:0;border-radius:999px;padding:8px 14px}.fx-panel__logout{margin-top:0}.fx-article__side{position:static}}
@media (max-width:768px){.fx-shero{padding:24px 16px}.fx-shero__title{font-size:26px}[data-cols4],[data-cols2]{grid-template-columns:1fr!important}.fx-mtable{overflow-x:auto}.fx-mtable__row{min-width:560px}.fx-article__title{font-size:24px}.fx-featpost__title{font-size:20px}.fx-postrow{flex-direction:column;align-items:flex-start}.fx-postrow__img{width:100%;height:160px}.fx-panel__main{padding:16px}.fx-auth__center{padding:20px 12px}.fx-auth__card{padding:20px 18px!important;width:100%!important}.fx-newsletter__form{width:100%}.fx-newsletter__in{flex:1;min-width:0}.fx-terms{padding:20px 16px}}
/* footer 5 columns on all pages */
.fx-footer__cols--5{grid-template-columns:1.4fr 1fr 1fr 1fr 1fr}
@media (max-width:1100px){.fx-footer__cols--5{grid-template-columns:1fr 1fr}}
@media (max-width:768px){.fx-footer__cols--5{grid-template-columns:1fr}}

/* ===================== BROKER CONNECTION WIZARD ===================== */
.fx-wiz{display:flex;gap:0;list-style:none;margin:0 0 18px;padding:0;counter-reset:s;background:var(--fx-surface);border:1px solid var(--fx-border);border-radius:14px;overflow:hidden}
.fx-wiz li{flex:1;display:flex;align-items:center;gap:8px;padding:11px 14px;font-size:12px;color:var(--fx-faint);border-inline-end:1px solid var(--fx-hair);white-space:nowrap}
.fx-wiz li:last-child{border-inline-end:0}
.fx-wiz__n{width:22px;height:22px;border-radius:50%;background:var(--fx-fill-2);color:var(--fx-muted);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex:none}
.fx-wiz li.is-done{color:var(--fx-text-2)}.fx-wiz li.is-done .fx-wiz__n{background:var(--fx-green-soft);color:var(--fx-green-2)}
.fx-wiz li.is-cur{color:var(--fx-primary);font-weight:700;background:var(--fx-tint-bg)}.fx-wiz li.is-cur .fx-wiz__n{background:var(--fx-primary);color:#fff}
.fx-wiz-intro{background:var(--fx-tint-bg);border:1px solid var(--fx-tint-border);border-radius:14px;padding:14px 18px;margin-bottom:18px}
.fx-wiz-intro__t{font-weight:700;font-size:13px;color:var(--fx-primary-dark);margin-bottom:10px}
.fx-benefit{display:flex;gap:9px;align-items:flex-start;background:var(--fx-surface);border:1px solid var(--fx-tint-border);border-radius:11px;padding:10px 12px}
.fx-wiz-q{font-weight:800;font-size:16px;margin:0 0 12px}
.fx-choice{display:flex;flex-direction:column;gap:6px;background:var(--fx-surface);border:1.5px solid var(--fx-border);border-radius:16px;padding:20px 22px;color:inherit;position:relative;transition:border-color .15s,box-shadow .15s}
.fx-choice:hover{border-color:var(--fx-primary);box-shadow:var(--fx-shadow-float);color:inherit}
.fx-choice__n{width:30px;height:30px;border-radius:50%;background:var(--fx-primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:13px}
.fx-choice__t{font-weight:800;font-size:15.5px;margin-top:6px}
.fx-choice__b{font-size:12.5px;line-height:1.9;color:var(--fx-text-2)}
.fx-choice__meta{font-size:11.5px;color:var(--fx-muted);margin-top:4px}
.fx-choice__cta{align-self:flex-start;margin-top:8px;color:var(--fx-primary);font-weight:700;font-size:13px}
.fx-bpick{display:flex;flex-direction:column;background:var(--fx-surface);border:1.5px solid var(--fx-border);border-radius:14px;padding:15px 17px;color:inherit;transition:border-color .15s,box-shadow .15s}
.fx-bpick:hover,.fx-bpick.is-on{border-color:var(--fx-primary);box-shadow:var(--fx-shadow-card);color:inherit}
.fx-bpick__perks{display:flex;flex-direction:column;gap:3px;font-size:11.5px;color:var(--fx-text-2);margin-top:12px;line-height:1.7}
.fx-ibbox{background:var(--fx-dark);color:var(--fx-dark-text);border-radius:12px;padding:14px 16px;margin-bottom:14px}
.fx-ibbox__l{font-size:11.5px;color:var(--fx-dark-muted)}
.fx-ibbox__code{display:flex;align-items:center;gap:12px;margin-top:8px;flex-wrap:wrap}
.fx-ibbox__code code{font-family:var(--fx-font-mono);font-size:18px;font-weight:600;color:#fff;letter-spacing:1px}
.fx-steps-list{margin:0 0 14px;padding-inline-start:20px;font-size:13px;line-height:2;color:var(--fx-text-2)}
.fx-steps-list li{padding-inline-start:4px;margin-bottom:4px}
.fx-steps-list li::marker{color:var(--fx-primary);font-weight:700}
.fx-wiz-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--fx-hair);padding-top:14px}
.fx-wiz-next{background:var(--fx-surface);border:1px solid var(--fx-tint-border);border-radius:12px;padding:12px 16px;margin-top:12px;font-size:12.5px;line-height:2;color:var(--fx-text-2)}
.fx-spinner{width:16px;height:16px;border:2.5px solid var(--fx-tint-border);border-top-color:var(--fx-primary);border-radius:50%;animation:fx-spin 1s linear infinite;display:inline-block}
@keyframes fx-spin{to{transform:rotate(360deg)}}
@media (max-width:768px){.fx-wiz{flex-wrap:wrap}.fx-wiz li{flex:1 1 50%;border-bottom:1px solid var(--fx-hair)}.fx-wiz__l{white-space:normal}.fx-choice{padding:16px}}

/* ============================================================
   economic calendar v2 (/calendar, widget)
   ============================================================ */
.fx-calx{--cal-cols:80px 76px 1fr 82px 88px 88px 96px 56px}
.fx-cal__status{display:flex;align-items:center;gap:12px;font-size:11.5px;color:var(--fx-muted)}
.fx-cal__live{display:inline-flex;align-items:center;gap:6px;color:var(--fx-green-2);font-weight:700}
.fx-cal__live i{width:7px;height:7px;border-radius:50%;background:var(--fx-green);box-shadow:0 0 0 0 rgba(22,163,74,.5);animation:fxpulse 1.8s infinite}
.fx-calx.is-offline .fx-cal__live{color:var(--fx-faint)}.fx-calx.is-offline .fx-cal__live i{background:var(--fx-faint);animation:none}
@keyframes fxpulse{0%{box-shadow:0 0 0 0 rgba(22,163,74,.45)}70%{box-shadow:0 0 0 7px rgba(22,163,74,0)}100%{box-shadow:0 0 0 0 rgba(22,163,74,0)}}
.fx-cal__tz{border:0;background:none;color:var(--fx-primary);font-weight:700;border-bottom:1px dashed var(--fx-tint-border);padding:0;cursor:pointer}
.fx-cal__next{display:flex;align-items:center;gap:12px;margin:12px var(--fx-gutter) 0;padding:11px 18px;border-radius:14px;background:var(--fx-red-bg);border:1px solid var(--fx-red-border);font-size:13px;flex-wrap:wrap}
.fx-cal__next-lbl{font-weight:800;color:var(--fx-red);font-size:11.5px;white-space:nowrap}
.fx-cal__next-ccy{font-weight:700;font-size:12px;background:var(--fx-surface);border:1px solid var(--fx-red-border);border-radius:6px;padding:1px 7px}
.fx-cal__next-title{color:var(--fx-ink);font-weight:700}.fx-cal__next-title:hover{color:var(--fx-red)}
.fx-cal__next-when{color:var(--fx-text-2);font-size:12px}
.fx-cal__countdown{margin-inline-start:auto;font-weight:600;color:var(--fx-red);font-size:13px;background:var(--fx-surface);border-radius:999px;padding:3px 12px;border:1px solid var(--fx-red-border);white-space:nowrap}
.fx-cal__countdown.is-live{background:var(--fx-red);color:#fff;border-color:var(--fx-red)}
.fx-cal__strip{display:flex;gap:6px;margin:14px var(--fx-gutter) 0;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
.fx-cal__dayb{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:86px;padding:9px 8px 8px;border:1px solid var(--fx-border);border-radius:12px;color:var(--fx-text-2);background:var(--fx-surface);text-align:center;line-height:1.4}
.fx-cal__dayb:hover{background:var(--fx-fill);color:var(--fx-ink)}
.fx-cal__dayb.is-wknd{background:var(--fx-fill);color:var(--fx-faint)}
.fx-cal__dayb.is-today{border-color:var(--fx-tint-border);background:var(--fx-tint-bg);color:var(--fx-primary-dark)}
.fx-cal__dayb.is-on{background:var(--fx-primary);border-color:var(--fx-primary);color:#fff}
.fx-cal__dayb-w{font-size:11px;font-weight:700}.fx-cal__dayb-d{font-size:12.5px;font-weight:700}.fx-cal__dayb-g{font-size:10px;opacity:.7}
.fx-cal__dayb-dots{display:flex;gap:2px;align-items:center;height:8px;margin-top:3px}
.fx-cal__dayb-dots i{width:5px;height:5px;border-radius:50%;background:var(--fx-red)}.fx-cal__dayb-dots i.is-none{background:var(--fx-border)}.fx-cal__dayb.is-on .fx-cal__dayb-dots i{background:var(--fx-surface)}.fx-cal__dayb-dots small{font-size:9px;color:var(--fx-red)}.fx-cal__dayb.is-on .fx-cal__dayb-dots small{color:#fff}
.fx-cal__toolbar{display:flex;align-items:center;gap:12px;padding:14px var(--fx-gutter) 0;flex-wrap:wrap}
.fx-cal__search{position:relative;margin-inline-start:auto;display:flex}
.fx-cal__search input{width:250px;max-width:100%;border:1px solid var(--fx-border);border-radius:999px;padding:7px 14px 7px 30px;font-size:12.5px;background:var(--fx-surface)}
.fx-cal__search input:focus{border-color:var(--fx-primary)}
.fx-cal__search-x{position:absolute;inset-inline-end:auto;left:10px;top:50%;transform:translateY(-50%);color:var(--fx-muted);font-size:16px}
.fx-cal__filters{padding:12px var(--fx-gutter) 0;font-size:11.5px;align-items:center}
.fx-cal__filters .fx-filter{font-size:11.5px;padding:5px 12px}
.fx-cal__filters .fx-filter.is-hi{background:var(--fx-red-bg);color:var(--fx-red);border-color:var(--fx-red-border);font-weight:700}
.fx-cal__ccyf{font-weight:700;letter-spacing:.2px}
.fx-cal__flbl,.fx-cal__count{color:var(--fx-muted)}
.fx-cal{margin:16px var(--fx-gutter) 8px;border:1px solid var(--fx-border);border-radius:16px;overflow:hidden;overflow-x:auto;background:var(--fx-surface)}
.fx-cal__row{display:grid;grid-template-columns:var(--cal-cols);gap:10px;align-items:center;padding:10px 18px;border-bottom:1px solid var(--fx-fill-2);font-size:12.5px;min-width:760px}
.fx-cal__row:last-child{border-bottom:0}
.fx-cal__head{background:var(--fx-fill);border-bottom:1px solid var(--fx-border);padding:11px 18px;font-size:11px;color:var(--fx-muted);font-weight:700;position:sticky;top:0;z-index:2}
.fx-cal__ac{text-align:center}
.fx-cal__c-imp,.fx-cal__c-prev,.fx-cal__c-fc,.fx-cal__c-act{text-align:center}
.fx-cal__c-prev,.fx-cal__c-fc{font-size:11.5px;color:var(--fx-muted)}
.fx-cal__c-act{font-size:11.5px;color:var(--fx-ink);font-weight:600}
.fx-cal__c-prev i,.fx-cal__c-fc i,.fx-cal__c-act i{font-style:normal;color:var(--fx-faint);font-weight:400}
.fx-cal__c-act.is-better{color:var(--fx-green-2)}.fx-cal__c-act.is-worse{color:var(--fx-red)}.fx-cal__c-act.is-same{color:var(--fx-text-2)}
.fx-cal__c-act.is-new{animation:fxflash 2.4s ease-out 1}
@keyframes fxflash{0%{background:var(--fx-flash);box-shadow:0 0 0 4px var(--fx-flash)}100%{background:transparent;box-shadow:none}}
.fx-cal__ev{cursor:pointer;transition:background .12s}
.fx-cal__ev:hover{background:var(--fx-fill)}
.fx-cal__ev.is-hi{background:var(--fx-hi-bg)}.fx-cal__ev.is-hi:hover{background:var(--fx-hi-bg-2)}
.fx-cal__ev.is-hi .fx-cal__title,.fx-cal__ev.is-hi .fx-cal__time{font-weight:700}
.fx-cal__ev.is-past{opacity:.5;filter:saturate(.6)}.fx-cal__ev.is-past:hover,.fx-cal__ev.is-past.is-open,.fx-cal__ev.is-past:focus-visible{opacity:1;filter:none}.fx-cal__ev.is-past .fx-cal__c-act{opacity:1}
.fx-cal__ev.is-live{box-shadow:inset 3px 0 0 var(--fx-red)}
.fx-cal__ev.is-open{background:var(--fx-tint-bg)}
.fx-cal__ev.is-holiday{background:var(--fx-fill);color:var(--fx-muted)}
.fx-cal__ev.is-target{animation:fxtarget 2s ease-out 1}
@keyframes fxtarget{0%{background:var(--fx-flash)}100%{background:transparent}}
.fx-cal__time{font-size:12px}.fx-cal__allday{font-size:11px;color:var(--fx-faint)}
.fx-cal__c-ccy{display:flex;flex-direction:column;line-height:1.3}
.fx-cal__ccy{font-weight:700;font-size:11.5px}.fx-cal__country{font-size:10px;color:var(--fx-muted)}
.fx-cal__c-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;line-height:1.6}
.fx-cal__period{font-size:10px;color:var(--fx-muted);background:var(--fx-fill-2);border-radius:6px;padding:1px 7px;white-space:nowrap}
.fx-cal__en{font-size:10.5px;color:var(--fx-faint)}
.fx-imp{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;line-height:1.5;border-radius:6px;padding:2px 8px;white-space:nowrap;direction:rtl;font-family:var(--fx-font)}
.fx-imp__i{flex:none;transform:scaleX(-1)}
.fx-imp--3{background:var(--fx-imp3-bg);color:var(--fx-imp3-fg)}.fx-imp--2{background:var(--fx-imp2-bg);color:var(--fx-imp2-fg)}.fx-imp--1{background:var(--fx-imp1-bg);color:var(--fx-imp1-fg)}.fx-imp--0{background:var(--fx-fill-2);color:var(--fx-muted)}
.fx-cal__ev.is-hi .fx-imp--3{background:var(--fx-red);color:#fff}
.fx-cal__legend-i{display:inline-flex;align-items:center;gap:6px}.fx-cal__legend-past{opacity:.5;font-weight:700}
.fx-cal__c-act2{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.fx-cal__bell{color:var(--fx-faint);width:26px;height:26px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center}
.fx-cal__bell:hover{background:var(--fx-tint);color:var(--fx-primary)}
.fx-cal__bell.is-on{color:var(--fx-primary);background:var(--fx-tint)}
.fx-cal__chev{color:var(--fx-faint);font-size:11px;transition:transform .15s}
.fx-cal__ev.is-open .fx-cal__chev{transform:rotate(180deg);color:var(--fx-primary)}
.fx-cal__day{display:flex;align-items:baseline;gap:12px;padding:9px 18px;background:var(--fx-fill);border-bottom:1px solid var(--fx-border);border-top:1px solid var(--fx-border);font-size:12px;min-width:760px;position:sticky;top:39px;z-index:1}
.fx-cal__day.is-today{background:var(--fx-tint-bg);border-color:var(--fx-tint-border)}
.fx-cal__day-name{font-weight:800;font-family:var(--fx-font-head);font-size:13px}
.fx-cal__day-name em{font-style:normal;font-size:10px;background:var(--fx-primary);color:#fff;border-radius:6px;padding:1px 7px;margin-inline-start:6px;vertical-align:middle;font-family:var(--fx-font)}
.fx-cal__day-g{font-size:11px;color:var(--fx-muted)}.fx-cal__day-n{margin-inline-start:auto;color:var(--fx-muted);font-size:11px}.fx-cal__day-n b{color:var(--fx-red)}
.fx-cal__now{display:flex;align-items:center;gap:10px;padding:0 18px;min-width:760px;height:0;position:relative;z-index:1}
.fx-cal__now::before{content:"";flex:1;height:2px;background:var(--fx-red);border-radius:2px}
.fx-cal__now span{font-size:10px;font-weight:700;color:#fff;background:var(--fx-red);border-radius:999px;padding:1px 9px;line-height:1.6;white-space:nowrap}
.fx-cal__empty{grid-template-columns:1fr;text-align:center;color:var(--fx-muted);padding:22px}
.fx-cal__detail{grid-column:1/-1;display:block;padding:14px 18px 18px;background:var(--fx-tint-bg);border-bottom:1px solid var(--fx-tint-border);min-width:760px;cursor:default;font-size:12.5px}
.fx-cal__detail.is-loading{color:var(--fx-muted);text-align:center}
.fx-cal__detail-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}
.fx-cal__detail-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.fx-cal__detail-title{font-family:var(--fx-font-head);font-weight:800;font-size:15px}.fx-cal__detail-en{font-size:11px;color:var(--fx-muted)}
.fx-cal__meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:11.5px;color:var(--fx-muted);margin-bottom:10px}
.fx-cal__gloss{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 12px}
.fx-cal__gloss dt{font-weight:700;color:var(--fx-primary-dark);white-space:nowrap;font-size:12px}.fx-cal__gloss dd{margin:0;color:var(--fx-text-2);line-height:1.9}
.fx-cal__gloss-txt{color:var(--fx-text-2)}
.fx-cal__en-comment summary{cursor:pointer;color:var(--fx-primary);font-size:12px}.fx-cal__en-comment p{font-size:11.5px;color:var(--fx-text-2);line-height:1.7;margin-top:6px}
.fx-cal__nums{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.fx-cal__nums>div{background:var(--fx-surface);border:1px solid var(--fx-border);border-radius:12px;padding:8px 10px;text-align:center}
.fx-cal__nums small{display:block;font-size:10.5px;color:var(--fx-muted)}.fx-cal__nums b{font-size:15px;font-weight:600}.fx-cal__nums em{display:block;font-style:normal;font-size:10px;margin-top:2px}
.fx-cal__nums .is-better{border-color:var(--fx-green-border);background:var(--fx-green-bg)}.fx-cal__nums .is-better b,.fx-cal__nums .is-better em{color:var(--fx-green-2)}
.fx-cal__nums .is-worse{border-color:var(--fx-red-border);background:var(--fx-red-bg)}.fx-cal__nums .is-worse b,.fx-cal__nums .is-worse em{color:var(--fx-red)}
.fx-cal__hist{background:var(--fx-surface);border:1px solid var(--fx-border);border-radius:12px;padding:10px 12px;margin-bottom:10px}
.fx-cal__hist-head{font-size:11.5px;font-weight:700;margin-bottom:6px}
.fx-cal__spark{display:block;width:100%;height:44px;margin-bottom:6px}
.fx-cal__hist-t{width:100%;border-collapse:collapse;font-size:11px}
.fx-cal__hist-t th{text-align:start;color:var(--fx-muted);font-weight:600;padding:3px 4px;border-bottom:1px solid var(--fx-fill-2)}
.fx-cal__hist-t td{padding:3px 4px;border-bottom:1px solid var(--fx-fill-2)}.fx-cal__hist-t tr:last-child td{border-bottom:0}
.fx-cal__hist-t td.is-better{color:var(--fx-green-2)}.fx-cal__hist-t td.is-worse{color:var(--fx-red)}
.fx-cal__pairs{font-size:11.5px;margin-bottom:10px;display:flex;gap:8px;align-items:baseline}.fx-cal__pairs small{color:var(--fx-muted)}
.fx-cal__actions{display:flex;flex-wrap:wrap;gap:6px}
.fx-cal__legend{padding:6px var(--fx-gutter) 20px;font-size:11px;color:var(--fx-muted);align-items:center;gap:16px}
.fx-cal__legend-v b{font-weight:700}.fx-cal__legend-v .is-better{color:var(--fx-green-2)}.fx-cal__legend-v .is-worse{color:var(--fx-red)}
.fx-cal__up{padding:8px var(--fx-gutter) 8px}
.fx-cal__up-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.fx-cal__up-card{display:flex;flex-direction:column;gap:4px;border:1px solid var(--fx-border);border-radius:14px;padding:12px 14px;background:var(--fx-surface);color:var(--fx-ink);transition:box-shadow .15s}
.fx-cal__up-card:hover{box-shadow:var(--fx-shadow-card);color:var(--fx-ink)}
.fx-cal__up-top{display:flex;justify-content:space-between;font-size:11.5px;font-weight:700}
.fx-cal__up-title{font-weight:700;font-size:13px;line-height:1.6}
.fx-cal__up-when{font-size:11px;color:var(--fx-muted)}
.fx-cal__up-cd{font-size:12px;color:var(--fx-red);font-weight:600}.fx-cal__up-cd:empty{display:none}
.fx-cal__up-nums{font-size:11px;color:var(--fx-text-2);margin-top:2px}.fx-cal__up-nums small{color:var(--fx-faint);font-family:var(--fx-font);margin-inline-start:4px}
.fx-cal__about{padding:12px var(--fx-gutter) 28px}
.fx-cal__about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.fx-cal__ul{margin:0;padding-inline-start:18px;font-size:12.5px;color:var(--fx-text-2);line-height:1.9}
.fx-cal__dl{margin:0;font-size:12.5px}.fx-cal__dl dt{font-weight:700;margin-top:6px}.fx-cal__dl dd{margin:0;color:var(--fx-text-2);line-height:1.8}
.fx-cal__embed{width:100%;border:1px solid var(--fx-border);border-radius:10px;padding:8px 10px;font-family:var(--fx-font-mono);font-size:11px;background:var(--fx-fill);resize:vertical}
.fx-cal__toast{position:fixed;bottom:18px;inset-inline-start:18px;z-index:99;background:var(--fx-dark);color:#fff;padding:10px 16px;border-radius:12px;font-size:12.5px;box-shadow:var(--fx-shadow-float);max-width:320px;line-height:1.7}
@media (max-width:1100px){.fx-cal__about-grid{grid-template-columns:1fr 1fr}}
@media (max-width:768px){
  .fx-calx{--cal-cols:1fr}
  .fx-cal{overflow-x:hidden;border-radius:14px}
  .fx-cal__head{display:none}
  .fx-cal__row,.fx-cal__day,.fx-cal__now,.fx-cal__detail{min-width:0}
  .fx-cal__ev{grid-template-columns:52px 1fr auto;grid-template-areas:"time title act2" "ccy title act2" "imp nums nums";gap:4px 10px;padding:10px 14px}
  .fx-cal__c-time{grid-area:time}.fx-cal__c-ccy{grid-area:ccy;flex-direction:row;gap:6px;align-items:baseline}.fx-cal__c-title{grid-area:title}.fx-cal__c-act2{grid-area:act2}
  .fx-cal__c-imp{grid-area:imp;justify-self:start;text-align:start}
  .fx-cal__c-prev,.fx-cal__c-fc,.fx-cal__c-act{grid-area:nums;display:inline-flex;gap:5px;justify-self:start;text-align:start}
  .fx-cal__c-prev::before{content:"قبلی";color:var(--fx-faint);font-family:var(--fx-font)}.fx-cal__c-fc::before{content:"پیش‌بینی";color:var(--fx-faint);font-family:var(--fx-font)}.fx-cal__c-act::before{content:"واقعی";color:var(--fx-faint);font-family:var(--fx-font);font-weight:400}
  .fx-cal__c-prev{margin-inline-end:14px}.fx-cal__c-fc{margin-inline-end:14px}
  .fx-cal__detail-grid{grid-template-columns:1fr}
  .fx-cal__gloss{grid-template-columns:1fr}
  .fx-cal__toolbar .fx-cal__search{margin-inline-start:0;width:100%}.fx-cal__search input{width:100%}
  .fx-cal__about-grid{grid-template-columns:1fr}
  .fx-cal__next{font-size:12px}.fx-cal__countdown{margin-inline-start:0}
  .fx-cal__day{top:0}
}


/* ===================== ON-DARK UTILITIES ===================== */
/* these sit on panels that are dark in both themes (darkcard, featpost,
   riskpanel, vfeat, player) — the literals here are intentional. */
.fx-on-dark{color:#fff}
.fx-on-dark--blue{color:#7d92f2}
.fx-on-dark--ok{color:#4ade80}
.fx-on-dark--online{color:#4cc38a}
.fx-on-dark__dot{width:6px;height:6px;border-radius:50%;background:#4cc38a;display:inline-block}
.fx-on-dark__hr{border-top:1px solid #232d42;padding-top:8px}
.fx-on-dark__pill{background:rgba(255,255,255,.14);color:#fff;font-size:10.5px;padding:3px 9px;border-radius:6px}
.fx-chip--on-dark{background:rgba(255,255,255,.1);color:#aab3c2}

/* ==========================================================================
   Dark theme — token overrides. Applied when the user picks dark, or when the
   system prefers dark and the user has not explicitly chosen light.
   ========================================================================== */
:root[data-theme="dark"]{
  --fx-surface:#121a2e;--fx-surface-2:#16203a;
  --fx-primary:#4d6bff;--fx-primary-dark:#7d93ff;--fx-tint:#1d2a55;--fx-tint-bg:#151f3b;--fx-tint-border:#2e3f72;
  --fx-ink:#e9edf7;--fx-text-2:#b7c1d6;--fx-muted:#8e99b2;--fx-faint:#6e7a95;
  --fx-border:#233050;--fx-hair:#1b2540;--fx-frame:#1e2840;--fx-canvas:#0b1120;--fx-fill:#172137;--fx-fill-2:#1c2743;
  --fx-dark:#0c1322;--fx-dark-text:#e9edf7;--fx-dark-muted:#94a0bb;--fx-dark-link:#9db1ff;
  --fx-live:#fb7185;--fx-live-bg:#3b1420;--fx-live-text:#fda4b8;--fx-live-soft:#fda4b8;
  --fx-green:#34d399;--fx-green-2:#6ee7b7;--fx-green-bg:#0f2b22;--fx-green-border:#1e5142;
  --fx-red:#f87171;--fx-red-bg:#2e1418;--fx-red-border:#54222a;--fx-red-text:#fca5a5;--fx-warn:#fbbf24;
  --fx-sky-bg:#102639;--fx-sky:#7dd3fc;--fx-orange-bg:#2b1d10;--fx-orange:#fdba74;
  --fx-green-soft:#16352a;--fx-prose-ink:#ccd5e8;--fx-flash:#3a2f11;--fx-hi-bg:#1c1220;--fx-hi-bg-2:#241726;--fx-grey-bar:#5c6a85;--fx-panel-bg:#0d1424;
  --fx-ring:rgba(77,107,255,.30);--fx-shimmer:rgba(255,255,255,.055);--fx-select:rgba(77,107,255,.32);--fx-tg:#229ed9;
  --fx-imp3-bg:#4a1d1d;--fx-imp3-fg:#fca5a5;--fx-imp2-bg:#42250f;--fx-imp2-fg:#fdba74;--fx-imp1-bg:#3a3210;--fx-imp1-fg:#fde68a;
  --fx-red-ink:#fca5a5;--fx-amber-bg:#33240e;--fx-amber:#fbbf24;--fx-check-border:#394a70;
  --fx-shadow-frame:0 18px 44px rgba(0,0,0,.55);--fx-shadow-float:0 14px 36px rgba(0,0,0,.45);--fx-shadow-card:0 6px 18px rgba(0,0,0,.35);}
:root[data-theme="dark"]{
  /* logos and media keep a light plate so dark artwork stays visible */
  .fx-lc__logo,.fx-lr__logo,.fx-bcard__logo,.fx-bhead__logo,.fx-cmp__logo,.fx-bd__logo{background:#eef1f8;border-color:#26324f}
  .fx-lc__logo img,.fx-lr__logo img,.fx-bcard__logo img,.fx-bhead__logo img{filter:none}
  /* white text on coloured buttons stays white */
  .fx-btn--solid{color:#fff}
  /* scrollbars + native widgets */
  /* panels that are dark in BOTH themes: keep an edge so they still read as panels */
  .fx-band-dark,.fx-darkcard,.fx-livecard,.fx-featpost,.fx-about__model,.fx-ibbox,.fx-tray,.fx-cal__toast{border:1px solid var(--fx-border)}
  .fx-liveband{border-top:1px solid var(--fx-border);border-bottom:1px solid var(--fx-border)}
  .fx-player,.fx-vfeat,.fx-riskpanel,.fx-vcard__thumb,.fx-vrow__thumb{box-shadow:inset 0 0 0 1px var(--fx-border)}
  .fx-riskpanel__box{background:#161f33;border-color:#2a3651}
  input,select,textarea{color-scheme:dark}}
/* light is the default; dark is opt-in only, so this system-preference path stays inert (kept for reference) */
@media (prefers-color-scheme:dark) and (prefers-color-scheme:light){
  :root:not([data-theme="light"]){
  --fx-surface:#121a2e;--fx-surface-2:#16203a;
  --fx-primary:#4d6bff;--fx-primary-dark:#7d93ff;--fx-tint:#1d2a55;--fx-tint-bg:#151f3b;--fx-tint-border:#2e3f72;
  --fx-ink:#e9edf7;--fx-text-2:#b7c1d6;--fx-muted:#8e99b2;--fx-faint:#6e7a95;
  --fx-border:#233050;--fx-hair:#1b2540;--fx-frame:#1e2840;--fx-canvas:#0b1120;--fx-fill:#172137;--fx-fill-2:#1c2743;
  --fx-dark:#0c1322;--fx-dark-text:#e9edf7;--fx-dark-muted:#94a0bb;--fx-dark-link:#9db1ff;
  --fx-live:#fb7185;--fx-live-bg:#3b1420;--fx-live-text:#fda4b8;--fx-live-soft:#fda4b8;
  --fx-green:#34d399;--fx-green-2:#6ee7b7;--fx-green-bg:#0f2b22;--fx-green-border:#1e5142;
  --fx-red:#f87171;--fx-red-bg:#2e1418;--fx-red-border:#54222a;--fx-red-text:#fca5a5;--fx-warn:#fbbf24;
  --fx-sky-bg:#102639;--fx-sky:#7dd3fc;--fx-orange-bg:#2b1d10;--fx-orange:#fdba74;
  --fx-green-soft:#16352a;--fx-prose-ink:#ccd5e8;--fx-flash:#3a2f11;--fx-hi-bg:#1c1220;--fx-hi-bg-2:#241726;--fx-grey-bar:#5c6a85;--fx-panel-bg:#0d1424;
  --fx-ring:rgba(77,107,255,.30);--fx-shimmer:rgba(255,255,255,.055);--fx-select:rgba(77,107,255,.32);--fx-tg:#229ed9;
  --fx-imp3-bg:#4a1d1d;--fx-imp3-fg:#fca5a5;--fx-imp2-bg:#42250f;--fx-imp2-fg:#fdba74;--fx-imp1-bg:#3a3210;--fx-imp1-fg:#fde68a;
  --fx-red-ink:#fca5a5;--fx-amber-bg:#33240e;--fx-amber:#fbbf24;--fx-check-border:#394a70;
  --fx-shadow-frame:0 18px 44px rgba(0,0,0,.55);--fx-shadow-float:0 14px 36px rgba(0,0,0,.45);--fx-shadow-card:0 6px 18px rgba(0,0,0,.35);  }
  :root:not([data-theme="light"]){
  /* logos and media keep a light plate so dark artwork stays visible */
  .fx-lc__logo,.fx-lr__logo,.fx-bcard__logo,.fx-bhead__logo,.fx-cmp__logo,.fx-bd__logo{background:#eef1f8;border-color:#26324f}
  .fx-lc__logo img,.fx-lr__logo img,.fx-bcard__logo img,.fx-bhead__logo img{filter:none}
  /* white text on coloured buttons stays white */
  .fx-btn--solid{color:#fff}
  /* scrollbars + native widgets */
  /* panels that are dark in BOTH themes: keep an edge so they still read as panels */
  .fx-band-dark,.fx-darkcard,.fx-livecard,.fx-featpost,.fx-about__model,.fx-ibbox,.fx-tray,.fx-cal__toast{border:1px solid var(--fx-border)}
  .fx-liveband{border-top:1px solid var(--fx-border);border-bottom:1px solid var(--fx-border)}
  .fx-player,.fx-vfeat,.fx-riskpanel,.fx-vcard__thumb,.fx-vrow__thumb{box-shadow:inset 0 0 0 1px var(--fx-border)}
  .fx-riskpanel__box{background:#161f33;border-color:#2a3651}
  input,select,textarea{color-scheme:dark}  }
}
/* theme switch in the header */
.fx-theme{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;border:1px solid var(--fx-border);background:var(--fx-surface);color:var(--fx-text-2);cursor:pointer;flex:none;transition:background .15s,color .15s,border-color .15s}
.fx-theme:hover{background:var(--fx-fill);color:var(--fx-ink)}
.fx-theme svg{width:17px;height:17px;display:block}
.fx-theme .fx-theme__moon{display:none}
:root[data-theme="dark"] .fx-theme .fx-theme__sun{display:none}
:root[data-theme="dark"] .fx-theme .fx-theme__moon{display:block}
/* light is the default; dark is opt-in only, so this system-preference path stays inert (kept for reference) */
@media (prefers-color-scheme:dark) and (prefers-color-scheme:light){:root:not([data-theme="light"]) .fx-theme .fx-theme__sun{display:none}:root:not([data-theme="light"]) .fx-theme .fx-theme__moon{display:block}}
@media (max-width:768px){.fx-theme{width:30px;height:30px}}

.fx-header .fx-theme{margin-inline-start:auto}
.fx-header__end{margin-inline-start:0}
@media (max-width:768px){.fx-header .fx-theme{margin-inline-start:0}.fx-burger{margin-inline-start:auto}}

/* dark: page frame and header a step darker than cards, so cards lift off the page */
:root[data-theme="dark"] .fx-page,:root[data-theme="dark"] .fx-header,:root[data-theme="dark"] .fx-tabbar{background:#0b1120}
/* light is the default; dark is opt-in only, so this system-preference path stays inert (kept for reference) */
@media (prefers-color-scheme:dark) and (prefers-color-scheme:light){:root:not([data-theme="light"]) .fx-page,:root:not([data-theme="light"]) .fx-header,:root:not([data-theme="light"]) .fx-tabbar{background:#0b1120}}

/* full-bleed page: keep long lines readable without leaving empty side margins */
@media (min-width:1700px){:root{--fx-gutter:clamp(64px,7vw,180px)}}
.fx-page>*{max-width:100%}
img,video,iframe,table{max-width:100%}
.fx-latin,.fx-mono,code{overflow-wrap:anywhere}

/* ============================================================
   RESPONSIVE HARDENING — audit pass (both themes, tokens only)
   ============================================================ */

/* 1. Grid/flex children must be allowed to shrink below their own
   min-content. Without this a single nowrap label (a broker tagline,
   a Latin number) widens the whole track and the PAGE scrolls sideways. */
.fx-blist>*,.fx-grid>*,.fx-home-split>*,.fx-bhero>*,.fx-bsingle>*,
.fx-learn-split>*,.fx-live-grid>*,.fx-live-bottom>*,.fx-blog-top>*,
.fx-mbottom>*,.fx-shero>*,.fx-article__grid>*,.fx-contact__grid>*,
.fx-terms>*,.fx-footer__cols>*,.fx-criteria>*,.fx-facts>*,
.fx-about__stats>*,.fx-about__values>*,.fx-panel>*,.fx-lpanel>*,
.fx-cal__detail-grid>*,.fx-cal__about-grid>*,.fx-cal__nums>*,
.fx-cal__up-grid>*,.fx-bcard__tiles>*,.fx-bcard2__specs>*,
.fx-mtable__row>*,.fx-logrow>*{min-width:0}

/* 2. Chips carry whole sentences on a few pages; let them wrap on
   phones instead of pushing the document wider than the viewport. */
.fx-chip{max-width:100%}
@media (max-width:600px){.fx-chip{white-space:normal}}

/* 3. Long unbroken Latin runs (URLs, @handles, licence numbers,
   MT5 logins) must break rather than widen their cell. */
.fx-lc__fact dd,.fx-lr__sub,.fx-mono,.fx-prose a,
.fx-cal__c-title,.fx-legal,.fx-footer__cols a{overflow-wrap:anywhere}

/* 4. Wide screens: card grids gain columns instead of stretching.
   Only full-bleed page-level grids — constrained grids keep their
   fixed column counts so the desktop look is unchanged. */
@media (min-width:1700px){
  .fx-blist{grid-template-columns:repeat(auto-fill,minmax(330px,1fr))}
  .fx-main>[data-cols4]{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))!important}
}

/* 5. /expert/ hero kept its inline 2-column track on phones; the
   modifier class lets the ≤1100 collapse win again. */
.fx-shero--wide{grid-template-columns:1.25fr 1fr}
@media (max-width:1100px){.fx-shero--wide{grid-template-columns:1fr}}


/* 6. Open mobile menu: the nav and the auth row were both absolutely
   positioned, so the auth row landed back on top of the logo/burger line
   and the nav covered the hero. Put them in normal flow on their own
   rows instead, so opening the menu pushes the page down. */
@media (max-width:768px){
  .fx-header.is-open{flex-wrap:wrap;row-gap:0}
  .fx-header.is-open .fx-nav,
  .fx-header.is-open .fx-header__end{
    position:static;flex-basis:100%;width:100%;inset:auto;
    box-shadow:none;border-bottom:0;background:none;margin-top:0}
  .fx-header.is-open .fx-nav{order:3;padding:0;margin-top:10px;border-top:1px solid var(--fx-hair)}
  .fx-header.is-open .fx-header__end{order:4;padding:12px 0 2px;justify-content:space-between}
}

/* 7. Height of the fixed mobile tab bar, so other fixed bars can clear it.
   Mirrors .fx-tabbar: 10px text * 1.5 line-height + 8px top padding
   + max(8px, safe-area) bottom padding. */
:root{--fx-tabbar-h:calc(23px + max(8px,env(safe-area-inset-bottom)))}
@media (max-width:768px){
  .fx-cal__toast{bottom:calc(var(--fx-tabbar-h) + 12px)}
}

/* ---- calendar rows on phones: the three numbers were all pinned to one grid area and
   painted over each other; lay the row out as a wrapping flex line instead ---- */
@media (max-width:768px){
  .fx-cal__ev{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;grid-template-areas:none}
  .fx-cal__c-time{order:1}
  .fx-cal__c-ccy{order:2;flex-direction:row;gap:6px;align-items:baseline}
  .fx-cal__c-imp{order:3;justify-self:auto;text-align:start}
  .fx-cal__c-act2{order:4;margin-inline-start:auto}
  .fx-cal__c-title{order:5;flex:1 1 100%;min-width:0}
  .fx-cal__c-prev,.fx-cal__c-fc,.fx-cal__c-act{order:6;display:inline-flex;gap:5px;margin:0;justify-self:auto;text-align:start}
}
/* ---- global responsive guards ---- */
html,body{overflow-x:clip}
.fx-page,.fx-main{min-width:0}
.fx-prose img,.fx-prose iframe{max-width:100%;height:auto}
@media (max-width:420px){
  .fx-header{gap:8px;padding-inline:12px}
  .fx-logo__word{font-size:14px}
  .fx-hero__title{font-size:23px}
  .fx-page-title,.fx-bhero__title,.fx-shero__title{font-size:21px}
  .fx-btn{font-size:12px}
}

/* ---------- اتاق لایو اسکای‌روم (داخل سایت) ---------- */
.fx-sky{border-radius:16px;overflow:hidden;background:var(--fx-dark);border:1px solid var(--fx-frame);box-shadow:var(--fx-shadow-card)}
.fx-sky__stage{position:relative;height:var(--fx-sky-h,620px);max-height:78vh;background:var(--fx-dark)}
.fx-sky.is-on .fx-sky__stage{height:var(--fx-sky-h,620px)}
.fx-sky__frame{width:100%;height:100%;border:0;display:block;background:var(--fx-dark)}
.fx-sky__gate{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;
  background:radial-gradient(120% 120% at 50% 0%,rgba(43,70,232,.28),transparent 62%),var(--fx-dark)}
.fx-sky__badge{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;color:var(--fx-dark-text);background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:5px 13px}
.fx-sky__title{font-family:var(--fx-font-head);font-weight:800;font-size:19px;color:#fff;line-height:1.7;max-width:32ch}
.fx-sky__hint{margin:0;font-size:12.5px;color:var(--fx-dark-muted);max-width:46ch;line-height:1.9}
.fx-sky__join{min-width:190px;justify-content:center}
.fx-sky__join[disabled]{opacity:.65;cursor:progress}
.fx-sky__err{font-size:12px;color:#fff;background:var(--fx-live);border-radius:10px;padding:7px 14px;max-width:48ch}
.fx-sky__bar{display:flex;align-items:center;gap:10px;padding:9px 14px;background:var(--fx-surface);border-top:1px solid var(--fx-hair)}
.fx-sky__note{font-size:11.5px;color:var(--fx-muted);flex:1;min-width:0}
.fx-sky__act{font-size:11.5px;font-weight:700;color:var(--fx-text-2);border:1px solid var(--fx-border);border-radius:8px;padding:5px 11px;background:var(--fx-surface)}
.fx-sky__act:hover{color:var(--fx-primary);border-color:var(--fx-tint-border);background:var(--fx-tint-bg)}
.fx-sky:fullscreen{border-radius:0;border:0}
.fx-sky:fullscreen .fx-sky__stage{height:calc(100vh - 42px);max-height:none}
@media (max-width:768px){.fx-sky{border-radius:12px}.fx-sky__stage{height:min(var(--fx-sky-h,620px),68vh)}.fx-sky__title{font-size:16px}.fx-sky__join{width:100%;min-width:0}}
