/* cf-vault-core module "tools" (Elementor exit B8): the four free tool pages in the Gold Vault design.
   Linked by the tools views (after core.css) and by the no-Elementor fallback island. Everything is scoped to .cvt inside
   .cfv-scope; the tool internals keep the class names their scripts use (.cf-calc, .cf-calendar, .cf-quiz, .cf-gloss).
   Specificity: html .cfv-scope .cvt .cf-x .y = (0,4,1), above the core kit neutraliser (0,3,3) for the buttons the quiz
   script creates (option / next / restart): their hover rules set border-color, background and color, as the
   neutraliser's hover (0,4,3) does. Static fields and buttons carry a cv- class, so the neutraliser skips them. */

/* ---------- page parts ---------- */
html .cfv-scope .cvt-hero{padding-bottom:clamp(18px,2.4vw,30px)}
html .cfv-scope .cvt-kicker{font-size:clamp(18px,.6vw + 15px,22px);font-weight:700;line-height:1.3;color:var(--cv-g-3)}
html .cfv-scope .cvt-hero--island{padding:0 0 18px}
html .cfv-scope .cvt-card{position:relative;padding:clamp(14px,2.6vw,32px);border:1px solid var(--cv-line-4);border-radius:var(--cv-r-lg);background:radial-gradient(90% 60% at 100% 0,rgba(240,195,90,.12),transparent 60%),var(--cv-card);box-shadow:var(--cv-sh-card),var(--cv-sh-ring);color:var(--cv-body);font-size:15px;line-height:1.55}
html .cfv-scope .cvt-card :where(*,*::before,*::after){box-sizing:border-box}
html .cfv-scope .cvt-card :where(p,h2,h3,h4,ul,ol,table,figure,label){margin:0}
html .cfv-scope .cvt-card :where(a){color:var(--cv-g-2);text-decoration:underline;text-decoration-color:rgba(255,217,120,.45);text-underline-offset:3px}
html .cfv-scope .cvt-card :where(a):hover{color:var(--cv-g-4)}
html .cfv-scope .cvt-card :where(strong,b){color:#fff;font-weight:700}
html .cfv-scope .cvt-note{margin-top:16px;font-size:13px;line-height:1.5;color:var(--cv-mu)}
html .cfv-scope .cvt .cvt-tp{margin-top:clamp(20px,3vw,32px)}
html .cfv-scope .cvt-sec{margin-top:clamp(44px,6vw,76px)}
html .cfv-scope .cvt-prose{max-width:780px}
html .cfv-scope .cvt-prose h2{scroll-margin-top:90px}
html .cfv-scope .cvt-faq{max-width:860px}
html .cfv-scope .cvt-stub{display:none}
html .cfv-scope .cvt-anchor{height:0;scroll-margin-top:96px}
/* More free tools */
html .cfv-scope .cvt-rel__h{margin:0 0 16px;font-size:clamp(20px,.6vw + 16px,24px);font-weight:700;line-height:1.2;color:#fff}
html .cfv-scope .cvt-rel__list{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:0;padding:0;list-style:none}
@media(min-width:900px){html .cfv-scope .cvt-rel__list{grid-template-columns:repeat(3,minmax(0,1fr))}}
html .cfv-scope .cvt-rel__list li{margin:0;padding:0}
html .cfv-scope .cvt-rel__a{display:flex;align-items:center;gap:14px;height:100%;min-height:76px;padding:14px 16px;border:1px solid var(--cv-line-2);border-radius:var(--cv-r);background:var(--cv-fill-1);color:var(--cv-body);text-decoration:none;transition:border-color .2s,background-color .2s}
html .cfv-scope .cvt-rel__a:hover{border-color:var(--cv-line-5);background-color:var(--cv-fill-g);color:var(--cv-body)}
html .cfv-scope .cvt-rel__ic{display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;border:1px solid rgba(240,195,90,.5);border-radius:12px;background:linear-gradient(145deg,rgba(255,225,150,.2),rgba(240,190,80,.05));color:#ffd978}
html .cfv-scope .cvt-rel__ic svg{display:block;width:22px;height:22px}
html .cfv-scope .cvt-rel__txt{display:flex;flex-direction:column;gap:3px;min-width:0}
html .cfv-scope .cvt-rel__txt b{font-size:16px;font-weight:700;line-height:1.25;color:#fff}
html .cfv-scope .cvt-rel__txt small{font-size:13.5px;line-height:1.45;color:var(--cv-mu)}
html .cfv-scope .cvt-rel__go{width:18px;height:18px;margin-left:auto;color:var(--cv-g-2);flex:0 0 auto}
html .cfv-scope .cvt-rel__a:hover .cvt-rel__go{transform:translateX(3px)}

/* shared bits of the tools */
html .cfv-scope .cvt .cvt-card :is(.calc-btn,.next-btn){display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;margin:24px 0 0;padding:12px 20px;border:0;border-radius:999px;background:var(--cv-gold);box-shadow:var(--cv-sh-gold);color:var(--cv-gold-ink);font-family:var(--cv-font);font-size:16px;font-weight:700;line-height:1.2;letter-spacing:normal;text-transform:none;cursor:pointer;transition:filter .2s,transform .2s}
html .cfv-scope .cvt .cvt-card :is(.calc-btn,.next-btn):is(:hover,:focus-visible){border-color:transparent;background:var(--cv-gold);color:var(--cv-gold-ink);filter:brightness(1.08);transform:translateY(-1px)}

/* ---------- calculators (.cf-calc; calculators.js) ---------- */
html .cfv-scope .cvt .cf-calc .tab-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:clamp(18px,2.6vw,28px)}
@media(min-width:700px){html .cfv-scope .cvt .cf-calc .tab-nav{grid-template-columns:repeat(4,minmax(0,1fr))}}
html .cfv-scope .cvt .cf-calc .tab-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:84px;margin:0;padding:14px 10px;border:1px solid var(--cv-line-2);border-radius:var(--cv-r);background:var(--cv-fill-1);color:var(--cv-text);font-family:var(--cv-font);text-align:center;cursor:pointer;transition:border-color .2s,background-color .2s}
html .cfv-scope .cvt .cf-calc .tab-btn:hover{border-color:var(--cv-line-4);background:var(--cv-fill-g)}
html .cfv-scope .cvt .cf-calc .tab-btn.active{border-color:var(--cv-g);background:rgba(240,195,90,.11);box-shadow:inset 0 0 0 1px rgba(240,195,90,.35)}
html .cfv-scope .cvt .cf-calc .tab-icon{display:block;font-size:24px;line-height:1}
html .cfv-scope .cvt .cf-calc .tab-label{display:block;font-size:13.5px;font-weight:700;line-height:1.3;color:#fff}
html .cfv-scope .cvt .cf-calc .tab-btn.active .tab-label{color:var(--cv-g-2)}
html .cfv-scope .cvt .cf-calc .calc-panel{display:none}
html .cfv-scope .cvt .cf-calc .calc-panel.active{display:block;animation:cvtIn .35s ease}
html .cfv-scope .cvt .cf-calc .calc-card{padding:clamp(16px,2.6vw,28px);border:1px solid var(--cv-line-1);border-radius:var(--cv-r-md);background:rgba(4,6,12,.35)}
html .cfv-scope .cvt .cf-calc .calc-title{margin:0 0 6px;font-size:clamp(19px,.5vw + 16px,22px);font-weight:700;line-height:1.25;letter-spacing:-.01em;color:#fff}
html .cfv-scope .cvt .cf-calc .calc-desc{margin:0 0 22px;max-width:70ch;font-size:15px;line-height:1.6;color:var(--cv-body)}
html .cfv-scope .cvt .cf-calc .form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
@media(min-width:540px){html .cfv-scope .cvt .cf-calc .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
html .cfv-scope .cvt .cf-calc .form-group{display:flex;flex-direction:column;gap:7px;min-width:0}
html .cfv-scope .cvt .cf-calc .form-label{display:block;font-size:12.5px;font-weight:700;line-height:1.3;letter-spacing:.08em;text-transform:uppercase;color:var(--cv-mu)}
html .cfv-scope .cvt .cf-calc .form-input,html .cfv-scope .cvt .cf-calc .form-select{font-size:16px;font-variant-numeric:tabular-nums}
html .cfv-scope .cvt .cf-calc .form-hint{font-size:12.5px;line-height:1.4;color:var(--cv-dim)}
html .cfv-scope .cvt .cf-calc .result-box{display:none;margin-top:24px;padding:clamp(18px,2.4vw,26px);border:1px solid var(--cv-line-3);border-radius:var(--cv-r-md);background:linear-gradient(180deg,rgba(240,195,90,.09),rgba(240,195,90,.03))}
html .cfv-scope .cvt .cf-calc .result-box.visible{display:block;animation:cvtIn .35s ease}
html .cfv-scope .cvt .cf-calc .result-label{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--cv-mu)}
html .cfv-scope .cvt .cf-calc .result-value{margin:4px 0 0;background:var(--cv-gt);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-size:clamp(28px,1.6vw + 20px,38px);font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
html .cfv-scope .cvt .cf-calc .result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid var(--cv-line-2)}
html .cfv-scope .cvt .cf-calc .stat-label{margin-bottom:3px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--cv-mu)}
html .cfv-scope .cvt .cf-calc .stat-value{font-size:18px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums}
html .cfv-scope .cvt .cf-calc .result-note{margin-top:16px;padding:12px 16px;border:1px solid var(--cv-hair);border-radius:12px;background:rgba(255,255,255,.03);font-size:14px;line-height:1.6;color:var(--cv-body)}
html .cfv-scope .cvt .cf-calc .result-note:empty{display:none}
html .cfv-scope .cvt .cf-calc #cmpTableWrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
html .cfv-scope .cvt .cf-calc .compound-table{width:100%;margin-top:20px;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
html .cfv-scope .cvt .cf-calc .compound-table th{padding:10px 14px;border:1px solid var(--cv-line-2);background:rgba(255,255,255,.04);color:var(--cv-mu);font-size:12px;font-weight:700;letter-spacing:.08em;text-align:left;text-transform:uppercase}
html .cfv-scope .cvt .cf-calc .compound-table td{padding:9px 14px;border:1px solid var(--cv-line-1);color:var(--cv-text-2);white-space:nowrap}
html .cfv-scope .cvt .cf-calc .compound-table tr:nth-child(even) td{background:rgba(255,255,255,.025)}
html .cfv-scope .cvt .cf-calc .compound-table .profit-col{color:var(--cv-ok);font-weight:600}
@media(max-width:540px){html .cfv-scope .cvt .cf-calc :is(.calc-card,.result-box){padding:14px 12px}html .cfv-scope .cvt .cf-calc .compound-table{font-size:13px}html .cfv-scope .cvt .cf-calc .compound-table :is(th,td){padding:8px 7px;white-space:normal}html .cfv-scope .cvt .cf-calc .compound-table th{font-size:11px;letter-spacing:.04em}}

/* ---------- economic calendar (.cf-calendar; calendar.js) ---------- */
html .cfv-scope .cvt .cf-calendar .ea-tip{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px;padding:14px 18px;border:1px solid rgba(240,169,42,.4);border-radius:var(--cv-r-sm);background:rgba(240,169,42,.08)}
html .cfv-scope .cvt .cf-calendar .ea-tip-icon{flex:0 0 28px;font-size:22px;line-height:1.1;text-align:center}
html .cfv-scope .cvt .cf-calendar .ea-tip-text{font-size:14px;line-height:1.6;color:var(--cv-body)}
html .cfv-scope .cvt .cf-calendar .adfree-banner{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:20px;padding:11px 18px;border:1px solid var(--cv-ok-line);border-radius:var(--cv-r-sm);background:var(--cv-ok-bg);text-align:center}
html .cfv-scope .cvt .cf-calendar .adfree-icon{font-size:17px;line-height:1}
html .cfv-scope .cvt .cf-calendar .adfree-text{font-size:13.5px;font-weight:600;line-height:1.5;color:var(--cv-ok)}
html .cfv-scope .cvt .cf-calendar .controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--cv-line-3);border-bottom:0;border-radius:var(--cv-r) var(--cv-r) 0 0;background:#0f1733}
html .cfv-scope .cvt .cf-calendar .controls-left,html .cfv-scope .cvt .cf-calendar .controls-right{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
html .cfv-scope .cvt .cf-calendar .week-toggle{display:flex}
html .cfv-scope .cvt .cf-calendar :is(.week-btn,.filter-btn,.bookmark-btn){display:inline-flex;align-items:center;justify-content:center;min-height:38px;margin:0;padding:0 14px;border:1px solid var(--cv-hair);background:rgba(255,255,255,.04);color:var(--cv-mu);font-family:var(--cv-font);font-size:13px;font-weight:700;line-height:1;white-space:nowrap;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}
html .cfv-scope .cvt .cf-calendar .week-btn:first-child{border-radius:10px 0 0 10px}
html .cfv-scope .cvt .cf-calendar .week-btn:last-child{margin-left:-1px;border-radius:0 10px 10px 0}
html .cfv-scope .cvt .cf-calendar .filters{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
html .cfv-scope .cvt .cf-calendar .filter-btn{border-radius:999px}
html .cfv-scope .cvt .cf-calendar :is(.week-btn,.filter-btn):hover{border-color:var(--cv-line-4);color:#fff}
html .cfv-scope .cvt .cf-calendar :is(.week-btn,.filter-btn).active{position:relative;border-color:var(--cv-g);background:rgba(240,195,90,.14);color:var(--cv-g-3)}
html .cfv-scope .cvt .cf-calendar .filter-btn.high-active{border-color:#ff5c5c;background:#d93b3b;color:#fff}
html .cfv-scope .cvt .cf-calendar .bookmark-btn{border-color:rgba(240,195,90,.6);border-radius:999px;background:rgba(240,195,90,.08);color:var(--cv-g-3)}
html .cfv-scope .cvt .cf-calendar .bookmark-btn:hover{border-color:var(--cv-g-2);background:rgba(240,195,90,.16);color:#fff3cf}
html .cfv-scope .cvt .cf-calendar .tz-select{min-width:160px;min-height:38px;margin:0;padding:0 10px;border:1px solid var(--cv-input-line);border-radius:10px;background-color:#0b1020;color:var(--cv-text);font-family:var(--cv-font);font-size:13px;font-weight:600;cursor:pointer;color-scheme:dark}
html .cfv-scope .cvt .cf-calendar .tz-select:focus{outline:0;border-color:var(--cv-g);box-shadow:0 0 0 3px rgba(255,215,106,.38)}
html .cfv-scope .cvt .cf-calendar .tz-select :is(option,optgroup){background:#0b1020;color:#f5f2ea}
html .cfv-scope .cvt .cf-calendar #calendarBody{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--cv-line-3);border-radius:0 0 var(--cv-r) var(--cv-r);background:rgba(4,6,12,.45)}
html .cfv-scope .cvt .cf-calendar .cal-table{width:100%;margin:0;border:0;border-collapse:collapse;font-size:14px}
html .cfv-scope .cvt .cf-calendar .cal-table thead th{padding:10px 12px;border:0;border-bottom:1px solid var(--cv-line-2);background:rgba(255,255,255,.03);color:var(--cv-mu);font-size:11.5px;font-weight:700;letter-spacing:.08em;text-align:left;text-transform:uppercase;white-space:nowrap}
html .cfv-scope .cvt .cf-calendar .cal-table thead th.th-right{text-align:right}
html .cfv-scope .cvt .cf-calendar .cal-table thead th.th-center{text-align:center}
html .cfv-scope .cvt .cf-calendar .day-sep td{padding:10px 12px;border:0;border-bottom:1px solid var(--cv-line-2);background:rgba(240,195,90,.06);color:var(--cv-g-3);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
html .cfv-scope .cvt .cf-calendar .day-sep.today td{background:rgba(240,195,90,.16);color:#fff}
html .cfv-scope .cvt .cf-calendar .cal-table tbody tr:not(.day-sep){border-bottom:1px solid rgba(184,191,205,.1)}
html .cfv-scope .cvt .cf-calendar .cal-table tbody tr:not(.day-sep):hover td{background:rgba(255,255,255,.03)}
html .cfv-scope .cvt .cf-calendar .cal-table tbody td{padding:10px 12px;border:0;color:var(--cv-body);font-size:14px;vertical-align:middle}
html .cfv-scope .cvt .cf-calendar .td-time{width:104px;font-size:13px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
html .cfv-scope .cvt .cf-calendar .td-time .ev-countdown{display:block;margin-top:2px;color:var(--cv-g-2);font-size:11px;font-weight:600}
html .cfv-scope .cvt .cf-calendar .td-time .mob-ccy{display:none}
html .cfv-scope .cvt .cf-calendar .td-ccy{width:74px;white-space:nowrap}
html .cfv-scope .cvt .cf-calendar .ccy-flag{margin-right:4px;font-size:15px;vertical-align:middle}
html .cfv-scope .cvt .cf-calendar .ccy-code{font-size:13px;font-weight:700;color:#fff;vertical-align:middle}
html .cfv-scope .cvt .cf-calendar .td-event{font-weight:600;color:#fff}
html .cfv-scope .cvt .cf-calendar .td-impact{width:64px;text-align:center}
html .cfv-scope .cvt .cf-calendar .impact-bars{display:flex;justify-content:center;gap:3px}
html .cfv-scope .cvt .cf-calendar .impact-bar-pip{width:12px;height:12px;border-radius:3px;background:rgba(255,255,255,.12)}
html .cfv-scope .cvt .cf-calendar .impact-bar-pip.on-high{background:#ff5c5c}
html .cfv-scope .cvt .cf-calendar .impact-bar-pip.on-med{background:#f0a92a}
html .cfv-scope .cvt .cf-calendar .impact-bar-pip.on-low{background:#9ea7b9}
html .cfv-scope .cvt .cf-calendar .impact-bar-pip.on-holiday{background:#5b9dff}
html .cfv-scope .cvt .cf-calendar .td-val{width:84px;text-align:right;white-space:nowrap;font-size:13px;font-variant-numeric:tabular-nums}
html .cfv-scope .cvt .cf-calendar :is(.cal-loading,.cal-error,.no-events){padding:52px 20px;text-align:center;font-size:15px;color:var(--cv-mu)}
html .cfv-scope .cvt .cf-calendar .cal-error{color:var(--cv-err)}
html .cfv-scope .cvt .cf-calendar .spinner{width:32px;height:32px;margin:0 auto 16px;border:3px solid var(--cv-hair);border-top-color:var(--cv-g);border-radius:50%;animation:cvtSpin .8s linear infinite}
html .cfv-scope .cvt .cf-calendar .cvt-note{text-align:right}
@media(max-width:768px){
 html .cfv-scope .cvt .cf-calendar .cal-table thead th:nth-child(2),html .cfv-scope .cvt .cf-calendar .cal-table tbody td:nth-child(2),
 html .cfv-scope .cvt .cf-calendar .cal-table thead th:nth-child(5),html .cfv-scope .cvt .cf-calendar .cal-table tbody td:nth-child(5),
 html .cfv-scope .cvt .cf-calendar .cal-table thead th:nth-child(6),html .cfv-scope .cvt .cf-calendar .cal-table tbody td:nth-child(6){display:none}
 html .cfv-scope .cvt .cf-calendar .td-time{width:74px;padding:10px 8px;font-size:12px;text-align:center}
 html .cfv-scope .cvt .cf-calendar .td-time .ev-countdown{font-size:10px}
 html .cfv-scope .cvt .cf-calendar .td-time .mob-ccy{display:block;margin-top:4px;font-size:12px;font-weight:700;color:#fff}
 html .cfv-scope .cvt .cf-calendar .td-time .mob-ccy .ccy-flag{margin-right:2px;font-size:13px}
 html .cfv-scope .cvt .cf-calendar .cal-table tbody td.td-event{padding:10px 8px;font-size:13.5px}
 html .cfv-scope .cvt .cf-calendar .cal-table tbody td.td-impact{width:50px;padding:10px 6px}
 html .cfv-scope .cvt .cf-calendar .impact-bar-pip{width:10px;height:10px}
 html .cfv-scope .cvt .cf-calendar .controls{flex-direction:column;align-items:stretch;gap:10px;padding:12px}
 html .cfv-scope .cvt .cf-calendar .controls-left{flex-direction:column;align-items:stretch;gap:8px}
 html .cfv-scope .cvt .cf-calendar :is(.controls-right,.filters,.week-toggle){justify-content:center}
 html .cfv-scope .cvt .cf-calendar .week-btn{flex:1 1 0}
 html .cfv-scope .cvt .cf-calendar .tz-select{width:100%;min-height:44px}
 html .cfv-scope .cvt .cf-calendar :is(.filter-btn,.bookmark-btn,.week-btn){min-height:44px}
 html .cfv-scope .cvt .cf-calendar .ea-tip{padding:12px 14px}
 html .cfv-scope .cvt .cf-calendar .day-sep td{padding:8px 10px;font-size:11.5px}
}
/* key events (after the card) */
html .cfv-scope .cvt-key .key-events-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:22px}
@media(min-width:640px){html .cfv-scope .cvt-key .key-events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){html .cfv-scope .cvt-key .key-events-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
html .cfv-scope .cvt-key .key-event-card{padding:16px 18px;border:1px solid var(--cv-line-2);border-radius:var(--cv-r);background:var(--cv-fill-1)}
html .cfv-scope .cvt-key .ke-impact{margin:0 0 6px;color:#ff8f8f;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
html .cfv-scope .cvt-key .key-event-card h3{margin:0 0 6px;font-size:16.5px;font-weight:700;line-height:1.3;color:#fff}
html .cfv-scope .cvt-key .key-event-card p:last-child{margin:0;font-size:14.5px;line-height:1.6;color:var(--cv-body)}

/* ---------- quizzes (.cf-quiz; quiz.js) ---------- */
html .cfv-scope .cvt .cf-quiz .quiz-selector{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
@media(min-width:640px){html .cfv-scope .cvt .cf-quiz .quiz-selector{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){html .cfv-scope .cvt .cf-quiz .quiz-selector{grid-template-columns:repeat(3,minmax(0,1fr))}}
html .cfv-scope .cvt .cf-quiz .quiz-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%;height:100%;margin:0;padding:18px 18px 16px;border:1px solid var(--cv-line-2);border-radius:var(--cv-r);background:var(--cv-fill-1);color:var(--cv-body);font-family:var(--cv-font);text-align:left;cursor:pointer;transition:border-color .2s,background-color .2s,transform .2s}
html .cfv-scope .cvt .cf-quiz .quiz-card:hover{border-color:var(--cv-line-4);background:var(--cv-fill-g);transform:translateY(-2px)}
html .cfv-scope .cvt .cf-quiz .quiz-card.active{border-color:var(--cv-g);background:rgba(240,195,90,.11);box-shadow:inset 0 0 0 1px rgba(240,195,90,.35)}
html .cfv-scope .cvt .cf-quiz .quiz-card .icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:4px;border:1px solid rgba(240,195,90,.45);border-radius:12px;background:rgba(240,195,90,.08);font-size:22px;line-height:1}
html .cfv-scope .cvt .cf-quiz .qc-title{display:block;font-size:16.5px;font-weight:700;line-height:1.3;color:#fff}
html .cfv-scope .cvt .cf-quiz .qc-desc{display:block;font-size:14px;line-height:1.55;color:var(--cv-body)}
html .cfv-scope .cvt .cf-quiz .question-count{display:inline-block;margin-top:auto;padding:4px 10px;border:1px solid var(--cv-line-3);border-radius:999px;background:rgba(240,195,90,.08);color:var(--cv-g-2);font-size:11.5px;font-weight:700;letter-spacing:.08em}
html .cfv-scope .cvt .cf-quiz .quiz-area{display:none;scroll-margin-top:96px}
html .cfv-scope .cvt .cf-quiz .quiz-area.active{display:block;margin-top:clamp(20px,3vw,32px);animation:cvtIn .4s ease}
html .cfv-scope .cvt .cf-quiz .progress-wrapper{margin-bottom:22px}
html .cfv-scope .cvt .cf-quiz .progress-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:13.5px;font-variant-numeric:tabular-nums}
html .cfv-scope .cvt .cf-quiz .progress-meta .step{font-weight:700;color:var(--cv-g-2)}
html .cfv-scope .cvt .cf-quiz .progress-meta .percent{color:var(--cv-mu)}
html .cfv-scope .cvt .cf-quiz .progress-bar{width:100%;height:6px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.09)}
html .cfv-scope .cvt .cf-quiz .progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#e0a031,#ffd978);transition:width .6s cubic-bezier(.4,0,.2,1)}
html .cfv-scope .cvt .cf-quiz :is(.question-card,.results-card){position:relative;padding:clamp(20px,3vw,36px);border:1px solid var(--cv-line-2);border-radius:var(--cv-r-md);background:rgba(4,6,12,.4);animation:cvtIn .35s ease}
html .cfv-scope .cvt .cf-quiz .question-card h2{margin:0 0 22px;font-size:clamp(19px,.6vw + 16px,23px);font-weight:700;line-height:1.35;letter-spacing:-.01em;color:#fff}
html .cfv-scope .cvt .cf-quiz .options{display:flex;flex-direction:column;gap:10px}
html .cfv-scope .cvt .cf-quiz .option-btn{display:flex;align-items:center;gap:14px;width:100%;min-height:56px;margin:0;padding:12px 16px;border:1px solid rgba(184,191,205,.24);border-radius:14px;background:rgba(255,255,255,.03);color:var(--cv-text);font-family:var(--cv-font);font-size:15.5px;font-weight:500;line-height:1.4;letter-spacing:normal;text-align:left;text-transform:none;cursor:pointer;transition:border-color .2s,background-color .2s,transform .2s}
html .cfv-scope .cvt .cf-quiz .option-btn:is(:hover,:focus-visible){border-color:var(--cv-line-5);background:var(--cv-fill-g);color:#fff;transform:translateX(3px)}
html .cfv-scope .cvt .cf-quiz .option-btn .key{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border:1px solid rgba(184,191,205,.3);border-radius:9px;background:rgba(255,255,255,.05);color:var(--cv-mu);font-size:13px;font-weight:700}
html .cfv-scope .cvt .cf-quiz .option-btn:hover .key{border-color:var(--cv-line-4);color:var(--cv-g-2)}
html .cfv-scope .cvt .cf-quiz .option-btn.selected{border-color:var(--cv-g);background:rgba(240,195,90,.12);color:#fff}
html .cfv-scope .cvt .cf-quiz .option-btn.selected .key{border-color:var(--cv-g);background:var(--cv-g);color:var(--cv-gold-ink)}
html .cfv-scope .cvt .cf-quiz .option-btn.correct{border-color:var(--cv-ok-line);background:var(--cv-ok-bg);color:#fff}
html .cfv-scope .cvt .cf-quiz .option-btn.correct .key{border-color:#22c463;background:#22c463;color:#03160a}
html .cfv-scope .cvt .cf-quiz .option-btn.wrong{border-color:var(--cv-err-line);background:var(--cv-err-bg);color:#fff}
html .cfv-scope .cvt .cf-quiz .option-btn.wrong .key{border-color:#e34b4b;background:#e34b4b;color:#fff}
html .cfv-scope .cvt .cf-quiz .option-btn.disabled{pointer-events:none;opacity:.6}
html .cfv-scope .cvt .cf-quiz .option-btn.disabled.correct,html .cfv-scope .cvt .cf-quiz .option-btn.disabled.wrong{opacity:1}
html .cfv-scope .cvt .cf-quiz .explanation{margin-top:18px;padding:14px 18px;border:1px solid var(--cv-line-2);border-radius:12px;background:var(--cv-fill-g);font-size:15px;line-height:1.65;color:var(--cv-body)}
html .cfv-scope .cvt .cf-quiz .explanation strong{color:var(--cv-g-2)}
html .cfv-scope .cvt .cf-quiz .results-card{text-align:center;overflow:hidden}
html .cfv-scope .cvt .cf-quiz .results-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#e0a031,#ffd978,#e0a031)}
html .cfv-scope .cvt .cf-quiz .score-ring{position:relative;width:140px;height:140px;margin:0 auto 24px;border-radius:50%;animation:cvtGlow 3s ease-in-out infinite}
html .cfv-scope .cvt .cf-quiz .score-ring svg{display:block;width:100%;height:100%;transform:rotate(-90deg)}
html .cfv-scope .cvt .cf-quiz .score-ring circle{fill:none;stroke-width:6}
html .cfv-scope .cvt .cf-quiz .score-ring .bg{stroke:rgba(255,255,255,.1)}
html .cfv-scope .cvt .cf-quiz .score-ring .fill{stroke:#f0c35a;stroke-dasharray:377;stroke-dashoffset:377;stroke-linecap:round;transition:stroke-dashoffset 1.5s cubic-bezier(.4,0,.2,1)}
html .cfv-scope .cvt .cf-quiz .score-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
html .cfv-scope .cvt .cf-quiz .score-num{font-size:34px;font-weight:700;line-height:1;color:var(--cv-g-2);font-variant-numeric:tabular-nums}
html .cfv-scope .cvt .cf-quiz .score-label{margin-top:4px;font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--cv-mu)}
html .cfv-scope .cvt .cf-quiz .type-badge{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;padding:6px 14px;border:1px solid var(--cv-line-3);border-radius:999px;background:rgba(240,195,90,.08);color:var(--cv-g-2);font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
html .cfv-scope .cvt .cf-quiz .result-title{margin:0 0 10px;font-size:clamp(22px,.8vw + 18px,28px);font-weight:700;line-height:1.2;color:#fff}
html .cfv-scope .cvt .cf-quiz .result-subtitle{max-width:560px;margin:0 auto 24px;font-size:15.5px;line-height:1.7;color:var(--cv-body)}
html .cfv-scope .cvt .cf-quiz .stats-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 40px;margin:20px 0}
html .cfv-scope .cvt .cf-quiz .stat-item{text-align:center}
html .cfv-scope .cvt .cf-quiz .stat-item .val{font-size:28px;font-weight:700;color:var(--cv-g-2);font-variant-numeric:tabular-nums}
html .cfv-scope .cvt .cf-quiz .stat-item .label{margin-top:4px;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--cv-mu)}
html .cfv-scope .cvt .cf-quiz .restart-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;margin:16px 0 0;padding:0 22px;border:1px solid rgba(240,195,90,.6);border-radius:999px;background:rgba(240,195,90,.06);color:var(--cv-g-3);font-family:var(--cv-font);font-size:15px;font-weight:700;line-height:1.2;letter-spacing:normal;text-transform:none;cursor:pointer}
html .cfv-scope .cvt .cf-quiz .restart-btn:is(:hover,:focus-visible){border-color:var(--cv-g-2);background:rgba(240,195,90,.15);color:#fff3cf}

/* ---------- glossary (.cf-gloss; glossary.js) ---------- */
html .cfv-scope .cvt .cf-gloss .search-wrap{position:relative;margin-bottom:10px}
html .cfv-scope .cvt .cf-gloss .search-icon{position:absolute;top:50%;left:16px;display:block;color:var(--cv-mu);transform:translateY(-50%);pointer-events:none}
html .cfv-scope .cvt .cf-gloss .search-input{display:block;width:100%;min-height:54px;margin:0;padding:12px 16px 12px 48px;border:1px solid var(--cv-input-line);border-radius:14px;background:#0b1020;color:#f5f2ea;font-family:var(--cv-font);font-size:16px;line-height:1.3;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
html .cfv-scope .cvt .cf-gloss .search-input::placeholder{color:#7f889b;opacity:1}
html .cfv-scope .cvt .cf-gloss .search-input:hover{border-color:rgba(240,195,90,.6)}
html .cfv-scope .cvt .cf-gloss .search-input:focus{outline:0;border-color:var(--cv-g);box-shadow:0 0 0 3px rgba(255,215,106,.38)}
html .cfv-scope .cvt .cf-gloss .search-count{margin:0 0 16px;text-align:center;font-size:13.5px;color:var(--cv-mu);font-variant-numeric:tabular-nums}
html .cfv-scope .cvt .cf-gloss .alpha-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:0 0 clamp(20px,3vw,32px)}
html .cfv-scope .cvt .cf-gloss .alpha-btn{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--cv-line-2);border-radius:10px;background:var(--cv-fill-1);color:var(--cv-g-2);font-size:15px;font-weight:700;text-decoration:none}
html .cfv-scope .cvt .cf-gloss a.alpha-btn:hover{border-color:var(--cv-line-5);background:var(--cv-fill-g);color:#fff}
html .cfv-scope .cvt .cf-gloss .alpha-btn.disabled{opacity:.3;pointer-events:none;color:var(--cv-mu)}
@media(max-width:767px){html .cfv-scope .cvt .cf-gloss .alpha-btn{width:44px;height:44px}}
html .cfv-scope .cvt .cf-gloss .letter-section{margin-bottom:10px;scroll-margin-top:96px}
html .cfv-scope .cvt .cf-gloss .letter-heading{margin-bottom:12px;padding:14px 0 8px;border-bottom:1px solid var(--cv-line-3);background:var(--cv-gt);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-size:28px;font-weight:700;line-height:1.2}
html .cfv-scope .cvt .cf-gloss .term-card{margin-bottom:8px;padding:16px 20px;border:1px solid var(--cv-line-1);border-radius:14px;background:var(--cv-fill-1);scroll-margin-top:96px;transition:border-color .2s}
html .cfv-scope .cvt .cf-gloss .term-card:hover{border-color:var(--cv-line-3)}
html .cfv-scope .cvt .cf-gloss .term-card:target{border-color:var(--cv-g);box-shadow:0 0 0 3px rgba(240,195,90,.2);background:rgba(240,195,90,.07)}
html .cfv-scope .cvt .cf-gloss .term-card.hidden{display:none}
html .cfv-scope .cvt .cf-gloss .term-name{margin-bottom:4px;font-size:16.5px;font-weight:700;line-height:1.3;color:#fff}
html .cfv-scope .cvt .cf-gloss .term-aka{display:inline-block;margin-bottom:6px;font-size:13px;font-style:italic;color:var(--cv-mu)}
html .cfv-scope .cvt .cf-gloss .term-def{font-size:15px;line-height:1.7;color:var(--cv-body)}
html .cfv-scope .cvt .cf-gloss .term-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
html .cfv-scope .cvt .cf-gloss .term-tag{padding:3px 10px;border:1px solid var(--cv-line-2);border-radius:999px;background:rgba(240,195,90,.06);color:var(--cv-g-2);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
html .cfv-scope .cvt .cf-gloss .no-results{display:none;padding:44px 20px;text-align:center;font-size:15px;color:var(--cv-mu)}
html .cfv-scope .cvt .cf-gloss .no-results.visible{display:block}

/* ---------- island (no-Elementor fallback inside Astra's page) ---------- */
html .cfv-scope.cvt-island{margin:0 0 40px;padding:clamp(18px,3vw,36px) 0;border-radius:var(--cv-r-lg);background:var(--cv-bg);color:var(--cv-text);font-size:16px;line-height:1.55;color-scheme:dark;min-width:0;max-width:100%}
html .cfv-scope.cvt-island :where(h2,h3){color:#fff}
/* Astra's content column is a flex item: let it shrink so the calendar table scrolls inside its box on phones */
html body.cfv-tools-fb :is(#primary,.ast-container,.entry-content){min-width:0;max-width:100%}

/* ---------- motion ---------- */
@keyframes cvtIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes cvtSpin{to{transform:rotate(360deg)}}
@keyframes cvtGlow{0%,100%{box-shadow:0 0 20px rgba(240,190,80,.12)}50%{box-shadow:0 0 38px rgba(240,190,80,.28)}}
@media(prefers-reduced-motion:reduce){html .cfv-scope .cvt *,html .cfv-scope .cvt *::before,html .cfv-scope .cvt *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
