/* Shared visual language: maroon actions, teal learning, gold dates.
   Semantic surfaces inherit the existing light/dark theme tokens. */
:root {
 --flow-blue: #1d4ed8;
 --flow-violet: #6d28d9;
 --flow-teal: #047857;
 --flow-orange: #aa4d15;
 --flow-gold: #946100;
 --flow-pink: #be185d;
 /* Saturated surface colours; fixed white labels stay legible in either theme. */
 --solid-blue: #1747c9;
 --solid-teal: #006d77;
 --solid-green: #08734d;
 --solid-purple: #6334b9;
 --solid-orange: #bc430e;
 --solid-red: #bb202e;
 --flash-1: #7a1f2b;
 --flash-2: #672532;
 --flash-hi: #5c1520;
 --design-shadow: 0 6px 22px rgb(40 25 30 / 5%);
}
body { background: var(--bg); }
/* Site-wide free-access campaign. Static on purpose: the saturated palette,
   hard-edged badge and date create urgency without motion distracting a test. */
.fsd-freefest {
 position: relative; isolation: isolate; overflow: hidden;
 background: linear-gradient(108deg,#a70f22 0%,#dc3214 48%,#ef6512 100%);
 color: #fff; border-bottom: 3px solid #ffbd19;
 box-shadow: 0 7px 24px rgb(123 20 13 / 24%);
}
.fsd-freefest::before,
.fsd-freefest::after { content:""; position:absolute; z-index:-1; border-radius:50%; background:rgb(255 196 31 / 22%); }
.fsd-freefest::before { width:190px; height:190px; top:-128px; left:9%; }
.fsd-freefest::after { width:130px; height:130px; right:15%; bottom:-104px; }
.fsd-freefest__inner {
 width:min(100% - 32px,1180px); min-height:78px; margin-inline:auto;
 display:flex; align-items:center; justify-content:center; gap:clamp(14px,2.4vw,30px); padding:12px 0;
}
.fsd-freefest__burst {
 flex:none; display:grid; place-items:center; width:62px; height:62px;
 background:#ffd12a; color:#76101d; border:3px solid #fff; border-radius:17px 8px 17px 8px;
 box-shadow:5px 5px 0 #76101d; transform:rotate(-4deg);
 font-family:var(--font-display); font-size:1.25rem; font-weight:900; letter-spacing:.04em;
}
.fsd-freefest__copy { margin:0; display:flex; align-items:baseline; justify-content:center; gap:8px; flex-wrap:wrap; line-height:1.25; }
.fsd-freefest__copy strong { font-family:var(--font-display); font-size:clamp(1.35rem,2.2vw,1.8rem); font-weight:900; letter-spacing:.01em; text-transform:uppercase; }
.fsd-freefest__copy span { font-size:.9rem; font-weight:570; color:rgb(255 255 255 / 88%); }
.fsd-freefest__copy time { padding:4px 9px; border-radius:6px; background:#ffd12a; color:#67101b; font-size:.82rem; font-weight:850; text-transform:uppercase; box-shadow:0 2px 0 rgb(103 16 27 / 48%); }
.fsd-freefest__cta {
 flex:none; padding:10px 16px; border:2px solid #fff; border-radius:9px;
 background:#fff; color:#8b1421; font-size:.84rem; font-weight:800; text-decoration:none;
 box-shadow:4px 4px 0 #6e101b; transition:transform .15s ease,box-shadow .15s ease;
}
.fsd-freefest__cta:hover { color:#8b1421; transform:translate(-1px,-1px); box-shadow:6px 6px 0 #6e101b; }
.fsd-freefest__cta:focus-visible { outline-color:#ffd12a; }
@media(max-width:760px) {
 .fsd-freefest__inner { min-height:0; justify-content:flex-start; gap:12px; padding:10px 0; }
 .fsd-freefest__burst { width:48px; height:48px; border-width:2px; border-radius:13px 6px 13px 6px; box-shadow:3px 3px 0 #76101d; font-size:.95rem; }
 .fsd-freefest__copy { flex:1; justify-content:flex-start; gap:3px 7px; }
 .fsd-freefest__copy strong { width:100%; font-size:1.15rem; }
 .fsd-freefest__copy span { display:none; }
 .fsd-freefest__copy time { font-size:.7rem; padding:3px 7px; }
 .fsd-freefest__cta { padding:9px 10px; font-size:.75rem; box-shadow:3px 3px 0 #6e101b; }
}
@media(max-width:380px) {
 .fsd-freefest__inner { width:min(100% - 20px,1180px); gap:9px; }
 .fsd-freefest__burst { width:42px; height:42px; font-size:.82rem; }
 .fsd-freefest__copy strong { font-size:1rem; }
 .fsd-freefest__cta { padding:8px; }
 .fsd-freefest__cta span { display:none; }
}
/* ---------------------------------------------------------------- header v2
   One predictable route to exams, one to formats, and no duplicate ticker. */
.fsd-mobile-nav { display:none; }
.fsd-nav { flex-wrap:nowrap; padding-block:10px; }
.fsd-nav__brand { white-space:nowrap; }
.fsd-nav__search { width:210px; }
.fsd-nav__search input { width:160px; text-overflow:ellipsis; }
.fsd-nav-desktop-link--alert span { color:#df3518; font-size:.72rem; margin-left:2px; }
.fsd-nav__links>.fsd-nav__logout { display:none; }
.fsd-headerhub {
 width:min(1080px,calc(100vw - 2 * var(--s-5))); padding:0;
 display:grid; grid-template-columns:minmax(420px,1.35fr) minmax(280px,.9fr) minmax(180px,.58fr);
 align-items:stretch; max-height:min(76vh,620px); border-radius:0 0 18px 18px;
}
.fsd-headerhub__exams,.fsd-headerhub__formats,.fsd-headerhub__quick { min-width:0; padding:24px; overflow-y:auto; }
.fsd-headerhub__formats,.fsd-headerhub__quick { border-left:1px solid var(--line); }
.fsd-headerhub__quick { background:color-mix(in srgb,var(--flow-orange) 5%,var(--bg-raised)); }
.fsd-headerhub__labelrow { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.fsd-headerhub__labelrow>a,.fsd-headerhub__all { color:var(--accent); font-size:.76rem; font-weight:750; text-decoration:none; }
.fsd-headerhub__label { margin:0 0 12px; color:var(--accent); font-size:.68rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.fsd-headerhub__examgrid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-bottom:18px; }
.fsd-headerhub__exam {
 min-width:0; display:flex; align-items:center; gap:10px; padding:10px;
 color:var(--ink); background:var(--bg-raised); border:1px solid var(--line); border-radius:11px; text-decoration:none;
}
.fsd-headerhub__exam:hover,.fsd-headerhub__exam[aria-current="page"] { border-color:var(--flow-orange); background:color-mix(in srgb,var(--flow-orange) 7%,var(--bg-raised)); }
.fsd-headerhub__exam.is-yours { border-color:color-mix(in srgb,var(--flow-orange) 46%,var(--line)); background:color-mix(in srgb,var(--flow-orange) 6%,var(--bg-raised)); }
.fsd-headerhub__examicon { flex:none; display:grid; place-items:center; width:38px; height:38px; border-radius:10px; background:color-mix(in srgb,var(--flow-violet) 10%,var(--bg-raised)); }
.fsd-headerhub__exam:nth-child(2n) .fsd-headerhub__examicon { background:color-mix(in srgb,var(--flow-teal) 10%,var(--bg-raised)); }
.fsd-headerhub__exam b,.fsd-headerhub__exam small { display:block; min-width:0; }
.fsd-headerhub__exam b {
	overflow:visible;
	font-size:.78rem;
	font-weight:750;
	line-height:1.25;
	white-space:normal;
}
.fsd-headerhub__exam small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fsd-headerhub__exam small { margin-top:3px; color:var(--ink-faint); font-size:.66rem; }
.fsd-headerhub__all { display:inline-block; margin-top:-4px; }
.fsd-headerhub__format { --format-color:color-mix(in srgb,var(--flow-violet) 10%,var(--bg-raised)); --format-ink:var(--flow-violet); display:flex; align-items:center; gap:11px; margin-bottom:9px; padding:11px 12px; border-radius:11px; background:var(--bg-sunken); color:var(--ink); text-decoration:none; }
.fsd-headerhub__format[data-format="full-mock-test"] { --format-color:color-mix(in srgb,var(--flow-blue) 11%,var(--bg-raised)); --format-ink:var(--flow-blue); }
.fsd-headerhub__format[data-format="sectional-test"] { --format-color:color-mix(in srgb,var(--flow-orange) 12%,var(--bg-raised)); --format-ink:var(--flow-orange); }
.fsd-headerhub__format[data-format="subject-test"] { --format-color:color-mix(in srgb,var(--flow-teal) 11%,var(--bg-raised)); --format-ink:var(--flow-teal); }
.fsd-headerhub__format .fsd-format-icon { flex:none; width:34px; height:34px; padding:7px; border-radius:9px; color:var(--format-ink); background:var(--format-color); }
.fsd-headerhub__format b,.fsd-headerhub__format small { display:block; }
.fsd-headerhub__format b { font-size:.76rem; }
.fsd-headerhub__format small { margin-top:3px; color:var(--ink-faint); font-size:.64rem; line-height:1.35; }
.fsd-headerhub__format:hover { box-shadow:inset 3px 0 var(--format-ink); }
.fsd-headerhub__quick a { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 1px; border-bottom:1px solid var(--line); color:var(--ink); font-size:.76rem; font-weight:680; text-decoration:none; }
.fsd-headerhub__quick a:hover { color:var(--accent); }
.fsd-headerhub__quick a.is-alert,.fsd-headerhub__quick a.is-alert span { color:#c62d16; }
@media(min-width:861px) and (max-width:1100px) {
 .fsd-nav { gap:12px; padding-inline:16px; }
 .fsd-nav__links { gap:14px; }
 .fsd-nav__search { width:145px; }
 .fsd-nav__search input { width:100px; }
 .fsd-headerhub { right:16px; width:calc(100vw - 32px); grid-template-columns:1.2fr .85fr 170px; }
 .fsd-headerhub__exams,.fsd-headerhub__formats,.fsd-headerhub__quick { padding:18px; }
}
@media(max-width:860px) {
 .fsd-nav { flex-wrap:wrap; }
 .fsd-nav__brand { order:1; }
 .fsd-nav__account { order:2; }
 .fsd-navtoggle { order:3; }
 .fsd-nav__links { order:4; flex-basis:100%; }
 .fsd-mobile-nav { display:block; padding:8px 0 12px; }
 .fsd-nav__links>.fsd-megamenu,.fsd-nav__links>.fsd-nav-desktop-link { display:none; }
 .fsd-mobile-nav__continue { display:flex; align-items:center; justify-content:space-between; min-height:52px; margin:0 0 17px; padding:13px 14px; border-radius:11px; background:linear-gradient(105deg,#7e1733,#a4223e); color:#fff; font-size:.88rem; font-weight:800; text-decoration:none; }
 .fsd-mobile-nav__label { margin:15px 2px 8px; color:var(--ink-faint); font-size:.66rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
 .fsd-mobile-nav__chips { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:15px; }
 .fsd-mobile-nav__chips a { min-height:40px; display:inline-flex; align-items:center; padding:8px 11px; border:1px solid var(--line); border-radius:9px; color:var(--ink); background:var(--bg-raised); font-size:.72rem; font-weight:700; text-decoration:none; }
 .fsd-mobile-nav__row { min-height:46px; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:0 3px; border-bottom:1px solid var(--line-soft); color:var(--ink); font-size:.82rem; font-weight:650; text-decoration:none; }
 .fsd-mobile-nav__row.is-alert span:last-child { color:#df3518; }
 .fsd-nav__search { order:2; }
 .fsd-nav__links>.fsd-nav__register-mobile { display:none; }
 .fsd-nav__links>.fsd-nav__logout { display:block; }
 .fsd-nav__account-desktop { display:none !important; }
 .fsd-nav__links>.fsd-nav__logout,.fsd-nav__links> a:not(.fsd-nav-desktop-link) { order:4; }
}
@media(max-width:390px) {
 .fsd-nav__brand-text { display:block; font-size:.72rem; }
}
/* Restore the original orange-red rail without changing other promotions. */
.fsd-ticker { --flash-1: #b8300f; --flash-2: #cc4212; --flash-hi: #8f230a; }
/* Series identity, preparation year and purchase action have distinct emphasis. */
.fsd-bnr .fsd-bnr__kicker { background: var(--solid-orange); color: #fff; }
.fsd-bnr .fsd-bnr__year { background: #e4b343; color: #302107; box-shadow: none; }
.fsd-bnr .fsd-bnr__cta { background: linear-gradient(110deg,#b8300f,#cc4212); border-color: #a82b0d; color: #fff; }
.fsd-bnr .fsd-bnr__cta:hover { background: #a82b0d; border-color: #a82b0d; }
.fsd-btn--primary {
 background: var(--accent); border-color: var(--accent);
 box-shadow: 0 3px 8px color-mix(in srgb, var(--accent) 14%, transparent);
}
.fsd-btn--primary:hover { background: var(--accent-hi); transform: none; }
.fsd-btn, .fsd-card, .fsd-row, .fsd-examtile, .fsd-gterm {
 transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible {
 outline: 3px solid var(--accent); outline-offset: 3px;
}
.fsd-land-hero {
 padding: 18px 0 28px;
 background: linear-gradient(115deg, color-mix(in srgb, var(--accent) 5%, var(--bg)), var(--bg) 58%, color-mix(in srgb, var(--flow-teal) 6%, var(--bg)));
}
.fsd-land-hero .fsd-wrap { row-gap: 22px; padding-top: 0; padding-bottom: 0; }
.fsd-land-hero__a .fsd-eyebrow { font-size: clamp(.82rem, .72rem + .28vw, 1rem); letter-spacing: .045em; }
.fsd-land-hero__h1 { font-size: clamp(2.65rem, 4.15vw, 4.25rem); line-height: 1.04; }
.fsd-land-hero__h1 > span { display: block; white-space: nowrap; }
.fsd-land-hero__a .fsd-lede { margin-top: 18px; margin-bottom: 18px; max-width: 51ch; font-size: clamp(1.15rem, 1rem + .35vw, 1.38rem); line-height: 1.52; }
.fsd-land-hero__cta { margin-top: 16px; }
.fsd-land-hero__facts {
 display: grid; grid-area: facts; grid-template-columns: repeat(4,minmax(0,1fr));
 gap: 12px; margin: 0; padding: 0;
}
.fsd-land-hero__facts a {
 display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px;
 padding: 15px 18px; border: 1px solid var(--line-soft); border-radius: 12px;
 background: var(--bg-raised); color: var(--ink); box-shadow: var(--design-shadow);
 text-decoration: none; min-width: 0;
}
.fsd-land-hero__facts a strong { font: 800 1.8rem/1 var(--font); color: var(--accent); }
.fsd-land-hero__facts a span { font-size: .82rem; line-height: 1.35; font-weight: 650; }
.fsd-land-hero__facts a:nth-child(2) { background: color-mix(in srgb,var(--flow-teal) 7%,var(--bg-raised)); }
.fsd-land-hero__facts a:nth-child(3) { background: color-mix(in srgb,var(--flow-gold) 9%,var(--bg-raised)); }
.fsd-land-hero__facts a:nth-child(4) { background: color-mix(in srgb,var(--accent) 6%,var(--bg-raised)); }
.fsd-land-hero__facts a:hover { border-color: var(--accent); }
.fsd-mock { border-color: var(--line); box-shadow: var(--design-shadow); transform: none; }
.fsd-home-content { padding-top: 28px; }
.fsd-home-content #exams { margin: 32px 0 16px; }
.fsd-eacard { margin: 0 0 28px; background: var(--bg-raised); border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--design-shadow); }
.fsd-eacard__tile:nth-child(n) { --alert-accent: var(--flow-teal); background: color-mix(in srgb,var(--flow-teal) 4%,var(--bg-raised)); box-shadow: none; border-top: 1px solid var(--line); }
.fsd-eacard__tiledates span { background: color-mix(in srgb,var(--flow-gold) 10%,var(--bg-raised)); color: var(--ink-soft); border: 0; }
.fsd-eacard__tilelink { color: var(--accent); background: var(--accent-bg); border: 0; }
.fsd-eacard__tilelink--official { color: var(--ink); background: var(--bg-raised); border: 1px solid var(--line); }
.fsd-examtile:nth-child(n) { border: 1px solid var(--line); border-radius: 14px; background: var(--bg-raised); box-shadow: var(--design-shadow); }
.fsd-examtile:hover { border-color: var(--accent); transform: none; }
.fsd-examtile__icon { background: color-mix(in srgb,var(--accent) 5%,var(--bg-raised)); }
.fsd-catalogtabs, .fsd-subjectpicker { gap: 8px; flex-wrap: wrap; overflow: visible; }
.fsd-catalogtab, .fsd-subjectpick, .fsd-chooser__cell { background: var(--bg-raised); border: 1px solid var(--line); box-shadow: none; }
.fsd-catalogtab.is-active, .fsd-subjectpick.is-active, .fsd-chooser__cell.is-active {
 background: var(--accent-bg); color: var(--accent); border-color: var(--accent); box-shadow: inset 0 -2px var(--accent);
}
.fsd-catalogtab:hover, .fsd-subjectpick:hover { transform: none; }
.fsd-formatnav { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin: 24px 0; }
.fsd-formatnav a { display: flex; justify-content: space-between; align-items: center; gap: 8px; min-height: 48px; padding: 12px; color: var(--ink-soft); background: var(--bg-raised); border: 1px solid var(--line); border-radius: 10px; text-decoration: none; font-size: .8rem; font-weight: 650; }
.fsd-formatnav b { padding: 3px 6px; background: var(--bg-sunken); border-radius: 5px; font-size: .72rem; }
.fsd-formatnav a:hover, .fsd-formatnav a.is-active { color: var(--accent); border-color: var(--accent); background: var(--accent-bg); }
.fsd-grid, .fsd-rows--catalog { gap: 18px; grid-template-columns: repeat(auto-fill,minmax(min(100%,285px),1fr)); align-items: stretch; }
.fsd-grid > .fsd-card, .fsd-rows--catalog .fsd-row:nth-child(n) {
 --test-accent: var(--accent);
 padding: 22px; border: 1px solid var(--line); border-top: 3px solid var(--accent);
 border-radius: 16px; background: var(--bg-raised); box-shadow: var(--design-shadow);
 min-height: 265px; min-width: 0;
}
.fsd-grid > .fsd-card--bundle { background: color-mix(in srgb,var(--accent) 5%,var(--bg-raised)); }
.fsd-grid > .fsd-card:hover, .fsd-rows--catalog .fsd-row:hover { transform: none; border-color: var(--accent); box-shadow: 0 8px 24px rgb(40 25 30 / 9%); }
.fsd-rows--catalog .fsd-row { grid-template-columns: minmax(0,1fr) auto; grid-template-rows: minmax(0,1fr) auto; grid-template-areas: "main main" "price cta"; gap: 18px 12px; align-content: stretch; }
.fsd-rows--catalog .fsd-row__main { justify-content: flex-start; gap: 0; min-width: 0; }
.fsd-grid > .fsd-card .fsd-card__title, .fsd-rows--catalog .fsd-row__title { font-family: var(--font-display); font-size: 1.25rem; line-height: 1.25; margin: 10px 0 8px; }
.fsd-grid > .fsd-card .fsd-card__title { min-height: 3.15em; }
.fsd-rows--catalog .fsd-row__title { min-height: 3.15em; display: block; }
.fsd-grid > .fsd-card .fsd-card__meta, .fsd-rows--catalog .fsd-row__meta { font-size: .88rem; color: var(--ink-faint); line-height: 1.5; }
.fsd-grid > .fsd-card .fsd-card__blurb {
 display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
 overflow: hidden; min-height: 3em; margin-bottom: 0;
}
.fsd-testbadges { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; min-height: 30px; }
.fsd-testmetrics {
 display: grid; grid-template-columns: repeat(2,minmax(0,1fr));
 gap: 16px; margin: 10px 0 0; padding: 12px 0;
 border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft);
 color: var(--ink); text-align: left;
}
.fsd-testmetrics > span { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.fsd-testmetrics > span + span { border-left: 1px solid var(--line); padding-left: 16px; }
.fsd-testmetrics strong { font: 800 1.35rem/1.2 var(--font); font-variant-numeric: tabular-nums; white-space: nowrap; }
.fsd-testmetrics strong small { font: 700 .85rem/1.2 var(--font); }
.fsd-testmetrics > span > span { font: 600 .75rem/1.4 var(--font); color: var(--ink-soft); }
.fsd-testbadges > span, .fsd-typechip, .fsd-card__badge {
 display: inline-flex; padding: 4px 7px; border-radius: 5px; font: 650 .68rem/1.35 var(--font);
 letter-spacing: .02em; color: var(--ink-soft); background: var(--bg-sunken); border: 0;
}
.fsd-testbadges .fsd-typechip { color: var(--accent); background: var(--accent-bg); }
.fsd-grid > .fsd-card .fsd-card__foot { padding-top: 22px; margin-top: auto; align-items: flex-end; flex-wrap: wrap; gap: 12px; }
.fsd-grid > .fsd-card .fsd-card__foot { display: grid; grid-template-columns: minmax(0,1fr) auto; }
.fsd-card__foot .fsd-price { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 8px; }
.fsd-card__foot .fsd-price .fsd-off { flex-basis: auto; font-size: .62rem; }
.fsd-card__foot .fsd-price .fsd-was { font-size: 1rem; }
.fsd-grid > .fsd-card .fsd-price, .fsd-rows--catalog .fsd-row__price { font-size: 1.65rem; font-weight: 800; color: var(--ink); }
.fsd-rows--catalog .fsd-row__price.is-free { color: var(--ink); }
.fsd-rows--catalog .fsd-row__cta, .fsd-grid > .fsd-card .fsd-btn { min-height: 42px; padding: 10px 15px; border-radius: 9px; font-size: .85rem; background: var(--accent); color: var(--on-accent); gap: 10px; }
.fsd-rows--catalog .fsd-row__cta:hover { background: var(--accent-hi); }
.fsd-wrap--glossary, .fsd-wrap--term { max-width: 1180px; }
.fsd-glosshero { border: 0; border-radius: 20px; padding: 30px; background: color-mix(in srgb,var(--flow-teal) 9%,var(--bg-raised)); box-shadow: none; }
.fsd-glosshero__icon { color: var(--flow-teal); background: var(--bg-raised); border-color: var(--line-soft); }
.fsd-glosshero .fsd-eyebrow { color: var(--ink-soft); }
.fsd-glosshero__count { color: var(--ink); background: var(--bg-raised); border: 0; }
.fsd-glossary .fsd-gterm:nth-child(n) .fsd-gterm__cat { color: var(--ink-soft); }
.fsd-authcard, .fsd-paywallcard { border: 1px solid var(--line); border-top: 3px solid var(--accent); background: var(--bg-raised); box-shadow: var(--design-shadow); }
.fsd-authalternative { margin-top: 16px; border-top: 1px solid var(--line-soft); padding-top: 10px; }
.fsd-authalternative summary { cursor: pointer; color: var(--accent); font-size: .85rem; padding: 8px 0; }
.fsd-authalternative[open] summary { margin-bottom: 12px; }
.fsd-glossnudges { margin: 20px 0; }
.fsd-glossnudges a:nth-of-type(n) { color: var(--ink-soft); background: var(--bg-raised); border: 1px solid var(--line); }
.fsd-glossnudges a:hover, .fsd-glossnudges a.is-active { background: var(--accent-bg); color: var(--accent); border-color: var(--accent); }
.fsd-filters--glossary { padding: 18px; border-radius: 12px; background: var(--bg-raised); border: 1px solid var(--line); }
.fsd-glossary { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.fsd-glossary .fsd-gterm:nth-child(n) { display: flex; flex-direction: column; padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: var(--bg-raised); box-shadow: var(--design-shadow); transform: none; }
.fsd-glossary .fsd-gterm:hover { border-color: var(--flow-teal); background: color-mix(in srgb,var(--flow-teal) 3%,var(--bg-raised)); }
.fsd-gterm header { display: flex; flex-direction: column-reverse; align-items: flex-start; gap: 12px; }
.fsd-gterm header h2 { font-family: var(--font); font-size: 1.13rem; line-height: 1.4; color: var(--ink); }
.fsd-gterm__cat { color: var(--ink-soft); background: color-mix(in srgb,var(--flow-teal) 9%,var(--bg-raised)); padding: 4px 8px; border-radius: 5px; }
.fsd-gterm p { font-family: var(--font); font-size: .9rem; line-height: 1.65; }
.fsd-gterm__read { display: flex; justify-content: space-between; padding-top: 18px; margin-top: auto; color: var(--accent); font-size: .78rem; font-weight: 650; }
.fsd-termarticle { padding: clamp(22px,4vw,52px); border-radius: 20px; border: 1px solid var(--line); background: linear-gradient(120deg,color-mix(in srgb,var(--flow-teal) 6%,var(--bg-raised)),var(--bg-raised)); }
.fsd-termarticle .fsd-h1 { font-size: clamp(2rem,4vw,3.2rem); max-width: 24ch; }
.fsd-termarticle .fsd-lede { font: 400 1.15rem/1.8 var(--font); max-width: 76ch; }
.fsd-termarticle .fsd-why { margin-top: 26px; background: var(--bg-raised); border: 0; border-left: 3px solid var(--flow-gold); border-radius: 0 12px 12px 0; padding: 22px; max-width: 80ch; }
.fsd-termarticle .fsd-why p { font-family: var(--font); line-height: 1.75; }
.fsd-glosscta, .fsd-wrap--term .fsd-cta { background: var(--accent-bg); border: 0; border-radius: 16px; }
.fsd-appnav { background: var(--bg-raised); border-right: 1px solid var(--line-soft); }
.fsd-appnav__group { margin: 16px 12px 5px; font: 700 .65rem/1.4 var(--font); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-faint); }
.fsd-appshell.is-collapsed .fsd-appnav__group { display: none; }
.fsd-appnav__label { color: var(--ink-soft); }
.fsd-appnav__item, a.fsd-appnav__item { border-radius: 8px; margin: 2px 0; color: var(--ink-soft); }
a.fsd-appnav__item:hover { color: var(--accent); background: var(--accent-bg); }
a.fsd-appnav__item.is-active { color: var(--accent); background: var(--accent-bg); box-shadow: none; }
.fsd-appnav__promo { background: var(--accent-bg); border: 0; box-shadow: none; }
.fsd-insights { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 24px 0; }
/* Match visual order to DOM order, including keyboard and screen-reader navigation. */
.fsd-wrap--dash > * { order: 0 !important; }
.fsd-prepexams { margin: 16px 0; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--bg-raised); }
.fsd-prepexams .fsd-dsec__h { margin: 0 0 12px; }
.fsd-prepexams__links { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.fsd-prepexams__links a { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 12px; border: 1px solid var(--accent); border-radius: 8px; background: var(--accent-bg); color: var(--accent); font-weight: 700; text-decoration: none; }
.fsd-prepexams__links a:hover { text-decoration: underline; }
.fsd-prepexams .fsd-exammegamenu { border: 0; margin-top: 12px; }
.fsd-exammegamenu > summary { display: flex; align-items: center; gap: 10px; width: fit-content; min-height: 42px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 9px; background: var(--bg-raised); color: var(--ink); font-weight: 700; cursor: pointer; }
.fsd-exammegamenu > summary::after { content: "⌄"; margin-left: 12px; border: 0; transform: none; width: auto; height: auto; }
.fsd-exammegamenu[open] > summary { border-color: var(--accent); color: var(--accent); }
.fsd-exammegamenu[open] > summary::after { content: "⌃"; }
.fsd-prepexams { scroll-margin-top: 90px; }
.fsd-exammegamenu .fsd-fold__body { margin-top: 12px; padding: 20px; border: 1px solid var(--line); border-top: 3px solid var(--accent); border-radius: 14px; background: var(--bg-raised); box-shadow: 0 12px 30px rgb(30 20 30 / 10%); }
.fsd-exammegamenu .fsd-pickexams__grid { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0 18px; }
.fsd-exammegamenu .fsd-pickexam { display: inline-flex; align-items: center; gap: 8px; width: auto; min-height: 44px; padding: 10px 15px; border: 1px solid var(--line); border-radius: 24px; background: var(--bg-raised); box-shadow: 0 3px 8px rgb(30 20 30 / 5%); cursor: pointer; }
.fsd-exammegamenu .fsd-pickexam:has(input:checked) { border-color: var(--accent); background: var(--accent-bg); color: var(--accent); }
.fsd-exammegamenu .fsd-pickexam:focus-within { outline: 2px solid var(--accent); outline-offset: 2px; }
.fsd-exammegamenu .fsd-pickexam input { accent-color: var(--accent); flex: none; }
.fsd-exammegamenu .fsd-pickexam__name { white-space: normal; }
@media(max-width:600px) {
 .fsd-exammegamenu .fsd-fold__body { padding: 14px; }
 .fsd-exammegamenu .fsd-pickexam { flex: 1 1 135px; border-radius: 12px; }
}
.fsd-insight { padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: var(--bg-raised); }
.fsd-insight h2 { font-size: .95rem; margin: 0 0 16px; }
.fsd-insight__ring { display: flex; gap: 18px; align-items: center; }
.fsd-insight__ring svg { width: 92px; height: 92px; flex-shrink: 0; }
.fsd-insight strong { font-size: 1.7rem; display: block; }
.fsd-insight small { color: var(--ink-faint); }
.fsd-scorebars { display: flex; align-items: flex-end; gap: 8px; height: 105px; }
.fsd-scorebars > div { display: flex; flex: 1; flex-direction: column; justify-content: flex-end; align-items: center; height: 100%; gap: 4px; font-size: .65rem; }
.fsd-scorebars i { display: block; width: 100%; max-width: 32px; background: var(--flow-teal); border-radius: 4px 4px 0 0; min-height: 2px; }
.fsd-snap, .fsd-nextup, .fsd-timecard, .fsd-strip, .fsd-onboard { border-radius: 14px; box-shadow: var(--design-shadow); }
/* Discovery nudges belong in the page flow, never over test-card actions. */
.fsd-prompt { position: static; transform: none; margin: 24px auto; width: calc(100% - 32px); max-width: 720px; }
.fsd-prompt.is-in { animation: none; }
@media(min-width:1000px) { .fsd-land-hero .fsd-mock { max-width: 480px; justify-self: end; } }
@media(max-width:900px) {
 .fsd-appnav__group { flex-basis: 100%; margin: 10px 12px 2px; }
 .fsd-land-hero__facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .fsd-glossary { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .fsd-insights { grid-template-columns: 1fr 1fr; }
 .fsd-insight:last-child { grid-column: 1/-1; }
}
@media(max-width:600px) {
 .fsd-formatnav { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
 .fsd-land-hero { padding-top: 12px; }
 .fsd-land-hero__facts { gap: 8px; }
 .fsd-land-hero__facts a { padding: 12px; gap: 8px; grid-template-columns: auto 1fr; }
 .fsd-land-hero__facts a strong { font-size: 1.45rem; }
 .fsd-land-hero__facts a span { font-size: .7rem; }
 .fsd-land-hero__facts a span:last-child { display: none; }
 .fsd-land-hero__h1 { font-size: 2.35rem; }
 .fsd-glossary, .fsd-insights { grid-template-columns: 1fr; }
 .fsd-glosshero { padding: 22px; }
 .fsd-insight:last-child { grid-column: auto; }
 .fsd-grid > .fsd-card, .fsd-rows--catalog .fsd-row:nth-child(n) { padding: 18px; min-height: 240px; }
 .fsd-termarticle .fsd-lede { font-size: 1rem; }
}
/* Colour carries a stable meaning, not a card's position in a result list. */
[data-format] { --format-color: var(--solid-blue); --format-ink: #fff; }
[data-format="previous-year-paper"] { --format-color: var(--solid-teal); }
[data-format="subject-test"] { --format-color: var(--solid-green); }
[data-format="sectional-test"] { --format-color: var(--solid-purple); }
[data-format="full-mock-test"] { --format-color: var(--solid-orange); }
[data-format="bundle"] { --format-color: var(--solid-red); }
.fsd-format-icon { flex: none; vertical-align: middle; }
.fsd-formatnav a[data-format] { gap: 9px; }
.fsd-formatnav a > span { flex: 1; }
.fsd-formatnav a[data-format] .fsd-format-icon { color: var(--format-ink); background: var(--format-color); padding: 5px; width: 30px; height: 30px; border-radius: 8px; }
.fsd-formatnav a[data-format] b, .fsd-catalogtab[data-format] .fsd-tabcount {
 color: var(--ink); background: var(--bg-sunken);
}
.fsd-formatnav a[data-format].is-active, .fsd-catalogtab[data-format].is-active {
 color: var(--format-ink); border-color: var(--format-color);
 background: var(--format-color);
 box-shadow: 0 4px 12px color-mix(in srgb,var(--format-color) 20%,transparent);
}
.fsd-land-hero__facts a[data-format] {
 grid-template-columns: auto auto 1fr; gap: 10px;
 border-color: var(--line);
 border-top: 3px solid var(--format-color);
 background: var(--bg-raised);
}
.fsd-land-hero__facts a[data-format] > strong { color: var(--ink); }
.fsd-land-hero__facts a[data-format] > .fsd-format-icon {
 color: var(--format-ink); padding: 8px; width: 36px; height: 36px;
 border-radius: 10px; background: var(--format-color);
}
.fsd-land-hero__facts a[data-format] > span:last-child { display: none; }
.fsd-testbadges .fsd-typechip { color: var(--format-ink); background: var(--format-color); gap: 5px; align-items: center; padding: 5px 8px; }
.fsd-testbadges .fsd-typechip svg { width: 14px; height: 14px; }
.fsd-testbadges .fsd-badge-year, .fsd-card__badge:not(.fsd-card__badge--newpattern) { color: var(--ink-soft); background: var(--bg-sunken); }
.fsd-testbadges .fsd-badge-free, .fsd-testbadges [data-level="easy"], .fsd-lvl--easy { color: var(--flow-teal); background: color-mix(in srgb,var(--flow-teal) 11%,var(--bg-raised)); }
.fsd-testbadges .fsd-badge-free { color: var(--ink); background: var(--bg-sunken); box-shadow: none; }
.fsd-testbadges [data-level="medium"], .fsd-lvl--medium { color: var(--flow-gold); background: color-mix(in srgb,var(--flow-gold) 11%,var(--bg-raised)); }
.fsd-testbadges [data-level="hard"], .fsd-lvl--hard { color: var(--flow-pink); background: color-mix(in srgb,var(--flow-pink) 10%,var(--bg-raised)); }
.fsd-card__badge--newpattern { color: var(--flow-violet); background: color-mix(in srgb,var(--flow-violet) 11%,var(--bg-raised)); }
.fsd-card__badge--newpattern { background: var(--solid-orange); color: #fff; }
.fsd-grid > .fsd-card:has([data-format="subject-test"]) { border-top-color: var(--solid-green); }
.fsd-grid > .fsd-card:has([data-format="bundle"]) { border-top-color: var(--solid-red); background: var(--bg-raised); }
.fsd-grid > .fsd-card[data-format] { border-top-color: var(--format-color); }
.fsd-rows--catalog .fsd-row:has([data-format="previous-year-paper"]) { border-top-color: var(--solid-teal); }
.fsd-rows--catalog .fsd-row:has([data-format="sectional-test"]) { border-top-color: var(--solid-purple); }
.fsd-rows--catalog .fsd-row:has([data-format="full-mock-test"]) { border-top-color: var(--solid-orange); }
.fsd-price .fsd-now, .fsd-rows--catalog .fsd-row__price { color: var(--ink); }
.fsd-price .fsd-off { background: var(--flow-teal); color: var(--bg); padding: 4px 7px; border-radius: 6px; letter-spacing: .02em; }
.fsd-price .fsd-off { background: var(--solid-orange); color: #fff; font-weight: 800; }
.fsd-examtile__icon { background: color-mix(in srgb,var(--tile-ring,var(--flow-blue)) 10%,var(--bg-raised)); }
.fsd-examtile__go {
 color: var(--accent);
 font-weight: 760;
 text-decoration: underline;
 text-decoration-thickness: 1px;
 text-underline-offset: 2px;
}
.fsd-headerhub__exam small, .fsd-headerhub__format small { color: var(--ink-soft); }
.fsd-grid > .fsd-card .fsd-card__meta, .fsd-rows--catalog .fsd-row__meta { color: var(--ink-soft); }
.fsd-eacard__sub { color: var(--flow-teal); background: color-mix(in srgb,var(--flow-teal) 12%,var(--bg-raised)); }
.fsd-eacard__count { color: #fff; background: #bc430e; font-weight: 800; padding: 5px 9px; border: 1px solid #a4380a; box-shadow: 0 2px 7px rgb(188 67 14 / 18%); }
.fsd-eacard__count[data-urgency="closing"] { color: #fff; background: #b91c1c; border-color: #991b1b; box-shadow: 0 2px 7px rgb(185 28 28 / 22%); }
.fsd-eacard__tile:has([data-urgency="closing"]) { border-left: 3px solid #b91c1c; }
.fsd-eacard__tile:has([data-urgency="closing"]) .fsd-eacard__tilelink--official { background: #b91c1c; color: #fff; border-color: #b91c1c; }
.fsd-eacard__tiledates span { color: var(--ink); background: var(--bg-sunken); }
.fsd-eacard__tiledates span:last-child { color: var(--ink); background: var(--bg-sunken); }
.fsd-eacard__tilelink--official { color: var(--flow-teal); border-color: var(--flow-teal); }
.fsd-eacard__tile[data-status="OPEN"] { --alert-accent: #b84a0d; border-top: 5px solid #b84a0d; background: linear-gradient(145deg,color-mix(in srgb,#b84a0d 10%,var(--bg-raised)),var(--bg-raised) 58%); box-shadow: 0 10px 25px rgb(184 74 13 / 16%); }
.fsd-eacard__tile[data-status="CLOSING_SOON"] { --alert-accent: #8b1e52; border-top: 5px solid #8b1e52; background: linear-gradient(145deg,color-mix(in srgb,#8b1e52 10%,var(--bg-raised)),var(--bg-raised) 58%); box-shadow: 0 10px 25px rgb(139 30 82 / 16%); }
.fsd-eacard__tile[data-status="OPEN"] .fsd-eacard__tilelink--official { color: #fff; background: #8f1d36; border-color: #71162a; box-shadow: 0 5px 13px rgb(143 29 54 / 27%); font-weight: 800; }
.fsd-eacard__tile[data-status="OPEN"] .fsd-eacard__tilelink--official:hover { color: #fff; background: #71162a; border-color: #5d1122; text-decoration: none; }
.fsd-eacard__tile[data-status="CLOSING_SOON"] .fsd-eacard__tilelink--official { color: #fff; background: #8b1e52; border-color: #701641; box-shadow: 0 5px 13px rgb(139 30 82 / 27%); font-weight: 800; }
.fsd-eacard__tile[data-status="CLOSING_SOON"] .fsd-eacard__tilelink--official:hover { color: #fff; background: #701641; border-color: #591134; text-decoration: none; }
.fsd-eacard__tile[data-status="OPEN"] .fsd-eacard__count { color: #fff; background: #a92b45; border-color: #881f35; box-shadow: 0 4px 11px rgb(169 43 69 / 25%); }
.fsd-eacard__tiledates .fsd-eacard__date { color: #fff; border: 0; font-weight: 650; box-shadow: 0 3px 9px rgb(36 20 28 / 14%); }
.fsd-eacard__tiledates .fsd-eacard__date b { color: inherit; font-weight: 850; }
.fsd-eacard__tiledates span.fsd-eacard__date--open { background: #9a5b00; }
.fsd-eacard__tiledates span.fsd-eacard__date--close { background: #a92b45; }
.fsd-eacard__tiledates span.fsd-eacard__date--exam { color: #fff; background: #6f3b78; }
.fsd-eacard__tiledates .fsd-eacard__date[data-date-state="past"] { background-image: linear-gradient(rgb(0 0 0 / 13%),rgb(0 0 0 / 13%)); }
.fsd-eacard__grid { grid-auto-columns: minmax(360px, 31.5%); align-items: stretch; }
.fsd-eacard__tile {
 display: grid;
 grid-template-rows: minmax(94px,auto) minmax(92px,auto) auto;
 align-content: stretch;
 gap: 16px;
 min-height: 452px;
 padding: 26px 24px 24px;
}
.fsd-eacard__tilehead {
 display: grid;
 grid-template-columns: 42px minmax(0,1fr);
 align-items: start;
 gap: 10px 16px;
 min-height: 0;
}
.fsd-eacard__tilehead > .fsd-mark {
 grid-column: 1;
 grid-row: 1;
 width: 34px;
 height: 34px;
 margin-top: 1px;
}
.fsd-eacard__tilemain { grid-column: 2; grid-row: 1; min-width: 0; }
.fsd-eacard__tilemain b {
 display: -webkit-box;
 -webkit-line-clamp: 3;
 -webkit-box-orient: vertical;
 overflow: hidden;
 min-height: 0;
 font-size: .98rem;
 line-height: 1.3;
}
.fsd-eacard__tilemain .fsd-bnr__year {
 display: inline-flex;
 vertical-align: middle;
 margin-left: 8px;
 transform: translateY(-1px);
}
.fsd-eacard__tilehead .fsd-eacard__count {
 grid-column: 2;
 grid-row: 2;
 justify-self: start;
 align-self: end;
 max-width: 13ch;
 min-height: 36px;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 text-align: center;
 white-space: normal;
 line-height: 1.05;
 padding: 8px 13px;
}
.fsd-eacard__tiledates {
 display: grid;
 grid-template-columns: repeat(2,minmax(0,1fr));
 align-content: start;
 gap: 10px;
 min-height: 0;
 padding-left: 0;
}
.fsd-eacard__tiledates .fsd-eacard__date {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 gap: 4px;
 min-height: 42px;
 padding: 9px 12px;
 border-radius: 10px;
 text-align: center;
 line-height: 1.15;
 white-space: normal;
}
.fsd-eacard__tiledates .fsd-eacard__date b { margin-right: 1px; }
.fsd-eacard__tiledates .fsd-eacard__date--exam { grid-column: 1 / -1; width: fit-content; min-width: min(100%, 190px); }
.fsd-eacard__tileactions {
 display: grid;
 grid-template-columns: repeat(2,minmax(0,1fr));
 align-items: end;
 gap: 12px;
 padding-left: 0;
 margin-top: auto;
}
.fsd-eacard__tilelink {
 justify-content: center;
 min-height: 52px;
 padding: 10px 12px;
 text-align: center;
 white-space: normal;
 line-height: 1.2;
 font-size: .83rem;
}
.fsd-eacard__tilelink:only-child { grid-column: 1 / -1; justify-self: start; min-width: min(100%, 230px); }
@media(max-width:700px) {
 .fsd-eacard__grid { grid-auto-columns: minmax(286px,88%); }
 .fsd-eacard__tile { min-height: 430px; padding: 22px 18px; }
 .fsd-eacard__tilehead { grid-template-columns: 36px minmax(0,1fr); }
 .fsd-eacard__tilehead .fsd-eacard__count { grid-column: 2; grid-row: 2; justify-self: start; max-width: none; }
 .fsd-eacard__tiledates, .fsd-eacard__tileactions { grid-template-columns: 1fr; }
 .fsd-eacard__tiledates .fsd-eacard__date--exam { grid-column: auto; width: auto; min-width: 0; }
}

/* Apple-design pass: calm cards, stable grouping, color as recognition rather than decoration. */
.fsd-eacard { box-shadow: 0 10px 35px rgb(28 20 24 / 6%); }
.fsd-eacard__sub { color: var(--ink-soft); background: var(--bg-sunken); border-color: var(--line-soft); }
.fsd-eacard__grid {
 grid-auto-columns: minmax(300px,29%);
 gap: 12px;
 padding-bottom: 12px;
 scrollbar-color: color-mix(in srgb,var(--ink-faint) 40%,var(--line)) transparent;
}
.fsd-eacard__tile:nth-child(n),
.fsd-eacard__tile[data-status="OPEN"],
.fsd-eacard__tile[data-status="CLOSING_SOON"] {
 --alert-accent: var(--accent);
 min-height: 274px;
 grid-template-rows: minmax(62px,auto) auto auto;
 gap: 9px;
 padding: 15px 16px;
 border: 1px solid color-mix(in srgb,var(--accent) 18%,var(--line));
 border-left: 3px solid color-mix(in srgb,var(--accent) 72%,var(--line));
 border-top: 1px solid color-mix(in srgb,var(--accent) 18%,var(--line));
 border-radius: 14px;
 background: color-mix(in srgb,var(--accent) 3%,var(--bg-raised));
 box-shadow: 0 8px 22px rgb(30 20 24 / 6%);
}
.fsd-eacard__tile:has([data-urgency="closing"]) { border-left-color: #9f1d3a; }
.fsd-eacard__tilehead { grid-template-columns: 32px minmax(0,1fr); gap: 8px 12px; align-items: center; }
.fsd-eacard__tilehead > .fsd-mark { width: 27px; height: 27px; margin-top: 0; }
.fsd-eacard__tilemain b { -webkit-line-clamp: 2; font-size: .92rem; line-height: 1.25; font-weight: 760; }
.fsd-eacard__tilemain .fsd-bnr__year { margin-left: 6px; padding: 3px 7px; font-size: .76rem; box-shadow: none; }
.fsd-eacard__tilehead .fsd-eacard__count,
.fsd-eacard__tile[data-status="OPEN"] .fsd-eacard__count,
.fsd-eacard__count[data-urgency="closing"] {
 grid-column: 2;
 grid-row: 2;
 justify-self: start;
 max-width: 10ch;
 min-height: 27px;
 padding: 5px 9px;
 color: #b83812;
 background: color-mix(in srgb,#f05a24 13%,var(--bg-raised));
 border: 1px solid color-mix(in srgb,#d9480f 28%,var(--line));
 border-radius: 999px;
 box-shadow: none;
 font-size: .72rem;
 line-height: 1.05;
}
.fsd-eacard__tiledates {
 display: grid;
 grid-template-columns: 1fr;
 gap: 4px;
 padding: 7px 0;
 border-top: 1px solid var(--line-soft);
 border-bottom: 1px solid var(--line-soft);
}
.fsd-eacard__tiledates .fsd-eacard__date,
.fsd-eacard__tiledates span.fsd-eacard__date--open,
.fsd-eacard__tiledates span.fsd-eacard__date--close,
.fsd-eacard__tiledates span.fsd-eacard__date--exam {
 width: auto;
 min-width: 0;
 min-height: 0;
 justify-content: flex-start;
 gap: 6px;
 padding: 0;
 color: var(--ink-soft);
 background: transparent;
 border: 0;
 border-radius: 0;
 box-shadow: none;
 font-size: .76rem;
 line-height: 1.35;
 text-align: left;
}
.fsd-eacard__tiledates .fsd-eacard__date::before {
 content: "";
 width: 7px;
 height: 7px;
 flex: 0 0 auto;
 border-radius: 50%;
 background: color-mix(in srgb,var(--accent) 72%,var(--line));
}
.fsd-eacard__tiledates .fsd-eacard__date b { color: var(--ink); font-weight: 760; margin-right: 0; }
.fsd-eacard__tiledates .fsd-eacard__date--exam { grid-column: auto; }
.fsd-eacard__tiledates .fsd-eacard__date[data-date-state="past"] { background-image: none; opacity: .82; }
.fsd-eacard__tileactions { grid-template-columns: 1fr auto; gap: 8px; }
.fsd-eacard__tilelink,
.fsd-eacard__tile[data-status="OPEN"] .fsd-eacard__tilelink--official,
.fsd-eacard__tile[data-status="CLOSING_SOON"] .fsd-eacard__tilelink--official,
.fsd-eacard__tile:has([data-urgency="closing"]) .fsd-eacard__tilelink--official {
 min-height: 40px;
 padding: 7px 10px;
 color: var(--ink-soft);
 background: transparent;
 border: 1px solid var(--line);
 border-radius: 10px;
 box-shadow: none;
 font-size: .76rem;
 font-weight: 720;
}
.fsd-eacard__tilelink--official,
.fsd-eacard__tile[data-status="OPEN"] .fsd-eacard__tilelink--official,
.fsd-eacard__tile[data-status="CLOSING_SOON"] .fsd-eacard__tilelink--official {
 color: #8f1d36;
 background: color-mix(in srgb,#8f1d36 5%,var(--bg-raised));
 border-color: color-mix(in srgb,#8f1d36 32%,var(--line));
}
.fsd-eacard__tilelink:hover,
.fsd-eacard__tile[data-status="OPEN"] .fsd-eacard__tilelink--official:hover,
.fsd-eacard__tile[data-status="CLOSING_SOON"] .fsd-eacard__tilelink--official:hover {
 color: #8f1d36;
 background: color-mix(in srgb,#8f1d36 8%,var(--bg-raised));
 border-color: #8f1d36;
 text-decoration: none;
}

/* The general-purpose rail controls sit over their content. That is fine for
   image banners, but hides date rows in the Exam Alert Center. Reserve a
   small gutter for each control instead; touch users can simply swipe. */
@media (min-width: 641px) {
 .fsd-eacard .fsd-railwrap { padding-inline: 52px; }
 .fsd-eacard .fsd-railbtn.is-prev { left: 8px; }
 .fsd-eacard .fsd-railbtn.is-next { right: 8px; }
}
.fsd-eacard .fsd-bnrrail__track { animation: none; }
@media (max-width: 640px) {
 .fsd-eacard .fsd-railbtn { display: none; }
}

/* Alert status needs to be read in one glance. Keep both variants solid,
   roomy enough for their full label, and above the contrast threshold. */
.fsd-eacard__tilehead .fsd-eacard__count,
.fsd-eacard__tile[data-status="OPEN"] .fsd-eacard__count,
.fsd-eacard__count[data-urgency="closing"] {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 min-width: 126px;
 max-width: none;
 min-height: 36px;
 padding: 7px 12px;
 color: #fff;
 background: #b6381d;
 border-color: #8d2815;
 font-size: .8rem;
 font-weight: 780;
 line-height: 1.15;
 text-align: center;
 white-space: normal;
}
.fsd-eacard__notifbtn {
 min-width: 148px;
 min-height: 36px;
 justify-content: center;
 padding: 7px 12px;
 color: #3d2100;
 background: linear-gradient(135deg, #ffd166 0%, #ffad18 48%, #ff7a00 100%);
 border-color: #e07800;
 box-shadow: 0 4px 12px rgb(255 128 0 / 30%);
 font-size: .8rem;
 font-weight: 780;
 line-height: 1.15;
 text-align: center;
 white-space: nowrap;
}
@media(max-width:700px) {
 .fsd-eacard__grid { grid-auto-columns: minmax(278px,86%); }
 .fsd-eacard__tile:nth-child(n),
 .fsd-eacard__tile[data-status="OPEN"],
 .fsd-eacard__tile[data-status="CLOSING_SOON"] { min-height: 286px; padding: 14px; gap: 8px; }
 .fsd-eacard__tilehead { grid-template-columns: 30px minmax(0,1fr); }
 .fsd-eacard__tilemain b { -webkit-line-clamp: 3; }
 .fsd-eacard__tilehead .fsd-eacard__count { grid-column: 2; grid-row: 2; justify-self: start; max-width: none; }
 .fsd-eacard__tileactions { grid-template-columns: 1fr; }
}

/* Large exam preference picker: compact cards make every choice scannable,
   while the floating panel keeps the landing-page hero composed. */
.fsd-land-hero__b { overflow: visible; position: relative; z-index: 8; }
.fsd-examfinder { position: relative; }
.fsd-examfinder__label { font-size: var(--t-sm); font-weight: 750; color: var(--ink-soft); white-space: nowrap; }
.fsd-examfinder__toggle {
	flex: 1 1 260px; min-width: 0; min-height: 48px; padding: .7rem .95rem;
	display: flex; align-items: center; justify-content: space-between; gap: 1rem;
	font: inherit; font-size: var(--t-sm); font-weight: 650; text-align: left;
	color: var(--ink); background: var(--bg); border: 1px solid var(--line); border-radius: var(--r-sm); cursor: pointer;
}
.fsd-examfinder__toggle:hover, .fsd-examfinder__toggle:focus-visible { border-color: var(--accent); outline: none; box-shadow: 0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent); }
.fsd-examfinder.is-open .fsd-examfinder__toggle svg { transform: rotate(180deg); }
.fsd-examfinder__toggle svg { flex: none; transition: transform .18s ease; }
.fsd-examfinder__panel {
	position: absolute; left: 0; right: 0; top: calc(100% + 12px); z-index: 40;
	width: min(920px, calc(100vw - 32px)); max-height: min(620px, 72vh); overflow: hidden;
	background: var(--bg-raised); border: 1px solid color-mix(in srgb,var(--accent) 30%,var(--line)); border-radius: 18px;
	box-shadow: 0 22px 60px rgb(35 17 20 / 25%);
	transform-origin: top left;
	transition:
		opacity 200ms cubic-bezier(0.23, 1, 0.32, 1),
		transform 200ms cubic-bezier(0.23, 1, 0.32, 1);
}
.fsd-examfinder__panel.is-closing {
	opacity: 0;
	transform: translateY(-8px) scale(0.98);
	pointer-events: none;
}
@starting-style {
	.fsd-examfinder__panel:not([hidden]) {
		opacity: 0;
		transform: translateY(-8px) scale(0.98);
	}
}
.fsd-examfinder__panelhead, .fsd-examfinder__actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.15rem; }
.fsd-examfinder__panelhead { border-bottom: 1px solid var(--line-soft); }
.fsd-examfinder__panelhead b { display: block; font-size: 1.05rem; }
.fsd-examfinder__panelhead span { display: block; margin-top: 2px; color: var(--ink-soft); font-size: .84rem; }
.fsd-examfinder__close { width: 36px; height: 36px; flex: none; border: 0; border-radius: 50%; font-size: 1.6rem; line-height: 1; color: var(--ink-soft); background: var(--bg-sunken); cursor: pointer; }
.fsd-examfinder__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; padding: 1rem 1.15rem; max-height: 420px; overflow-y: auto; overscroll-behavior: contain; }
.fsd-examfinder__card {
	position: relative; min-height: 72px; padding: 10px 38px 10px 10px;
	display: flex; align-items: center; gap: 10px;
	white-space: normal;
	border: 1px solid var(--line); border-radius: 11px; background: var(--bg); cursor: pointer;
	transition: border-color .15s ease, background .15s ease, box-shadow .15s ease, transform .15s ease;
}
.fsd-examfinder__card:hover { border-color: color-mix(in srgb,var(--accent) 55%,var(--line)); transform: translateY(-1px); }
.fsd-examfinder__card.is-selected { border-color: var(--accent); background: var(--accent-bg); box-shadow: inset 0 0 0 1px var(--accent); }
.fsd-examfinder__card input { position: absolute; opacity: 0; pointer-events: none; }
.fsd-examfinder__card:has(input:focus-visible) { outline: 3px solid color-mix(in srgb,var(--accent) 24%,transparent); outline-offset: 2px; }
.fsd-examfinder__mark { width: 42px; height: 42px; flex: none; display: grid; place-items: center; border-radius: 9px; background: var(--bg-raised); border: 1px solid var(--line-soft); }
.fsd-examfinder__mark img { max-width: 34px; max-height: 34px; object-fit: contain; }
.fsd-examfinder__name { min-width: 0; overflow-wrap: anywhere; font-size: .86rem; line-height: 1.22; }
.fsd-examfinder__name b { min-height: 2.44em; display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; font-weight: 750; }
.fsd-examfinder__name small { display: block; margin-top: 4px; color: var(--ink-faint); font-size: .72rem; font-weight: 600; }
.fsd-examfinder__check { position: absolute; right: 10px; top: 50%; transform: translateY(-50%) scale(.75); width: 22px; height: 22px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 6px; color: transparent; background: var(--bg-raised); font-size: .78rem; font-weight: 900; }
.fsd-examfinder__card.is-selected .fsd-examfinder__check { color: #fff; border-color: var(--accent); background: var(--accent); transform: translateY(-50%) scale(1); }
.fsd-examfinder__actions { border-top: 1px solid var(--line-soft); background: var(--bg-sunken); }
.fsd-examfinder__actions > span { color: var(--ink-soft); font-size: .84rem; font-weight: 700; }
.fsd-examfinder__actions .fsd-btn { min-height: 44px; }

@media (max-width: 700px) {
	.fsd-examfinder__panel { position: fixed; left: 12px; right: 12px; top: auto; bottom: 12px; width: auto; max-height: calc(100dvh - 24px); transform-origin: bottom center; }
	.fsd-examfinder__grid { grid-template-columns: 1fr; max-height: min(56dvh,440px); padding: .8rem; }
	.fsd-examfinder__panelhead, .fsd-examfinder__actions { padding: .85rem; }
	.fsd-examfinder__panel.is-closing { transform: translateY(12px) scale(0.98); }
	@starting-style {
		.fsd-examfinder__panel:not([hidden]) {
			opacity: 0;
			transform: translateY(12px) scale(0.98);
		}
	}
}
@media (max-width: 430px) {
	.fsd-examfinder__grid { grid-template-columns: 1fr; }
	.fsd-examfinder__card { min-height: 64px; }
	.fsd-examfinder__actions { align-items: stretch; flex-direction: column; }
	.fsd-examfinder__actions .fsd-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
	.fsd-examfinder__toggle svg,
	.fsd-examfinder__panel {
		transition: opacity 120ms ease;
	}
	.fsd-examfinder__panel,
	.fsd-examfinder__panel.is-closing {
		transform: none;
	}
}
[data-category] { --category-color: var(--flow-blue); --category-solid: var(--solid-blue); }
[data-category="chem"], [data-category="qa"] { --category-color: var(--flow-violet); --category-solid: var(--solid-purple); }
[data-category="micro"], [data-category="nutri"] { --category-color: var(--flow-teal); --category-solid: var(--solid-green); }
[data-category="proc"] { --category-color: var(--flow-orange); --category-solid: var(--solid-orange); }
[data-category="safety"] { --category-color: var(--flow-pink); --category-solid: var(--solid-red); }
.fsd-glossary .fsd-gterm[data-category] { border-top: 3px solid var(--category-color); }
.fsd-glossary .fsd-gterm[data-category] .fsd-gterm__cat {
 color: #fff; background: var(--category-solid);
}
.fsd-glossnudges a[data-category] { color: var(--category-color); border-color: color-mix(in srgb,var(--category-color) 30%,var(--line)); }
.fsd-glossnudges a[data-category].is-active, .fsd-glossnudges a[data-category]:hover { background: var(--category-solid); border-color: var(--category-solid); color: #fff; }
.fsd-termarticle[data-category] { border-top: 4px solid var(--category-color); }
.fsd-termarticle[data-category] .fsd-eyebrow { color: var(--category-color); }
.fsd-glosshero__count strong { color: var(--ink); }
/* One confident colour surface per section, with quiet reading areas below. */
.fsd-glosshero { background: #142b54; border-bottom: 4px solid #3267d6; }
.fsd-glosshero .fsd-h1, .fsd-glosshero .fsd-eyebrow, .fsd-glosshero__copy > p:last-child { color: #fff; }
.fsd-glosshero__icon { color: #fff; background: #1747c9; border: 0; }
.fsd-glosshero__count { color: #142b54; background: #fff; }
.fsd-glosshero__count strong { color: #142b54; }
.fsd-land-hero { background: linear-gradient(120deg,color-mix(in srgb,var(--solid-blue) 4%,var(--bg)),var(--bg) 55%,color-mix(in srgb,var(--accent) 4%,var(--bg))); }
.fsd-land-hero::before, .fsd-land-hero::after { display: none; }
.fsd-insight { background: var(--bg-raised); }
.fsd-insight:nth-child(1) { --insight-color: var(--flow-teal); }
.fsd-insight:nth-child(2) { --insight-color: var(--flow-violet); }
.fsd-insight:nth-child(3) { --insight-color: var(--flow-blue); }
.fsd-insight { border-top: 3px solid var(--insight-color); background: linear-gradient(135deg,color-mix(in srgb,var(--insight-color) 5%,var(--bg-raised)),var(--bg-raised)); }
.fsd-insight strong, .fsd-insight .fsd-scorebars span { color: var(--ink); }
.fsd-scorebars i { background: linear-gradient(var(--flow-blue),var(--flow-teal)); }
.fsd-strip__i b { color: var(--ink); }
.fsd-appnav__item[data-nav-group="overview"] svg { color: var(--flow-blue); }
.fsd-appnav__item[data-nav-group="practice"] svg { color: var(--flow-teal); }
.fsd-appnav__item[data-nav-group="review"] svg { color: var(--flow-violet); }
.fsd-appnav__item[data-nav-group="community"] svg { color: var(--flow-pink); }
.fsd-appnav__item[data-nav-group="account"] svg { color: var(--flow-gold); }
@media(max-width:600px) {
 .fsd-land-hero__facts a[data-format] { grid-template-columns: auto 1fr; gap: 7px; padding: 12px; }
 .fsd-land-hero__facts a[data-format] > .fsd-format-icon { width: 28px; height: 28px; padding: 5px; }
 .fsd-land-hero__facts a[data-format] > span:not(:last-child) { grid-column: 1/-1; font-size: .75rem; }
 .fsd-formatnav a[data-format] { flex-wrap: wrap; }
 .fsd-formatnav a[data-format] > span { flex-basis: 65%; }
 .fsd-formatnav a[data-format] b { margin-left: auto; }
}
.fsd-feedback { margin-block: 24px; scroll-margin-top: 100px; }
#feedback.fsd-feedback { max-width: 960px; margin-inline: auto; padding: clamp(18px, 3vw, 30px); border: 1px solid var(--line, #dedad6); border-top: 3px solid #851c38; border-radius: 20px; box-shadow: 0 8px 28px #24131b08; }
#feedback .fsd-h2 { margin: 0 0 6px; font-size: 1.5rem; line-height: 1.2; }
.fsd-feedback__intro { margin: 0 0 22px; font-size: .9rem; color: var(--muted, #65615d); }
.fsd-feedback__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 28px; }
.fsd-feedback--logout .fsd-feedback__grid { grid-template-columns: minmax(0, 1fr); }
.fsd-feedback fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.fsd-feedback legend, .fsd-feedback__level, .fsd-feedback__experience { font-size: .92rem; line-height: 1.4; font-weight: 650; display: block; margin-bottom: 8px; }
.fsd-feedback__ratings { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; margin-top: 4px; }
.fsd-feedback__ratings label { position: relative; cursor: pointer; }
.fsd-feedback__ratings input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; }
.fsd-feedback__ratings [data-rating="1"] { --rating: #b42332; --rating-soft: #fff0f1; }
.fsd-feedback__ratings [data-rating="2"] { --rating: #ad430b; --rating-soft: #fff2e8; }
.fsd-feedback__ratings [data-rating="3"] { --rating: #856000; --rating-soft: #fff8db; }
.fsd-feedback__ratings [data-rating="4"] { --rating: #32733a; --rating-soft: #edf7e9; }
.fsd-feedback__ratings [data-rating="5"] { --rating: #087452; --rating-soft: #e5f7ef; }
.fsd-feedback__ratings span { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-height: 62px; border: 1px solid color-mix(in srgb, var(--rating) 30%, white); border-radius: 10px; color: var(--rating); background: var(--rating-soft); }
.fsd-feedback__ratings b { font-size: 1.25rem; line-height: 1; }
.fsd-feedback__ratings small { font-size: .63rem; line-height: 1.3; white-space: normal; text-align: center; overflow-wrap: anywhere; padding-inline: 2px; font-weight: 600; }
.fsd-feedback__ratings input:checked + span { background: var(--rating); color: #fff; border-color: var(--rating); box-shadow: 0 0 0 2px var(--paper, white), 0 0 0 4px var(--rating); }
.fsd-feedback__ratings input:focus-visible + span { outline: 3px solid var(--ink, #171717); outline-offset: 5px; }
.fsd-feedback__ratings label:hover span { border-color: var(--rating); }
.fsd-feedback textarea, .fsd-feedback select { width: 100%; box-sizing: border-box; border: 1px solid var(--line, #ccc); border-radius: 10px; padding: 12px; font: inherit; color: var(--ink, #171717); background: var(--paper, #fff); }
.fsd-feedback textarea { resize: vertical; min-height: 86px; font-size: .9rem; line-height: 1.5; }
.fsd-feedback__level select { margin-top: 12px; min-height: 52px; font-size: .9rem; }
.fsd-feedback__level small, .fsd-feedback__experience small { font-weight: 400; font-size: .75rem; color: var(--muted, #65615d); margin-left: 5px; }
.fsd-feedback__privacy { font-size: .75rem; line-height: 1.5; color: var(--muted, #65615d); margin: 8px 0 18px; }
.fsd-feedback__actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.fsd-feedback__experience { margin-top: 22px; }
@media(max-width:640px) { .fsd-feedback__grid { grid-template-columns: 1fr; gap: 18px; } #feedback.fsd-feedback { padding: 18px; border-radius: 14px; } .fsd-feedback__ratings span { min-height: 56px; } .fsd-feedback__actions .fsd-btn { font-size: .85rem; } }

/* Site-wide feedback leaf: icon-first at rest, explanatory copy on intent. */
.fsd-feedback-leaf { position: fixed; right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); z-index: 140; display: flex; flex-direction: column; align-items: flex-end; gap: 7px; }
.fsd-feedback-leaf__trigger { position: relative; display: grid; place-items: center; width: 36px; min-width: 36px; height: 36px; padding: 0; border: 1px solid color-mix(in srgb,var(--accent) 70%,var(--line)); border-radius: 19px 19px 7px 19px; background: var(--accent); color: #fff; box-shadow: 0 8px 18px color-mix(in srgb,var(--accent) 22%,transparent); cursor: pointer; overflow: visible; }
.fsd-feedback-leaf__trigger svg, .fsd-feedback-leaf__instagram svg { flex: 0 0 auto; width: 17px; height: 17px; }
.fsd-feedback-leaf__label { position: absolute; right: calc(100% + 8px); top: 50%; width: max-content; max-width: 150px; padding: 6px 9px; border: 1px solid color-mix(in srgb,var(--accent) 18%,var(--line)); border-radius: 999px; background: #f6eadc; color: #851c38; box-shadow: 0 8px 18px rgb(35 20 20 / 12%); opacity: 0; pointer-events: none; white-space: nowrap; overflow: visible; font-size: .76rem; font-weight: 800; line-height: 1; transform: translate(4px,-50%); transition: opacity .16s ease, transform .16s ease; }
.fsd-feedback-leaf__trigger:hover .fsd-feedback-leaf__label, .fsd-feedback-leaf__trigger:focus-visible .fsd-feedback-leaf__label { opacity: 1; transform: translate(0,-50%); }
.fsd-feedback-leaf__instagram { position: relative; display: grid; place-items: center; flex: none; width: 36px; min-width: 36px; height: 36px; padding: 0; overflow: visible; opacity: 1; color: #fff; background: radial-gradient(circle at 30% 105%,#ffd600 0 22%,#ff7a00 38%,#f50057 62%,#7b2cff 100%); border-radius: 19px 19px 19px 7px; box-shadow: 0 8px 18px rgb(105 27 76 / 22%); text-decoration: none; transform: none; transition: filter .16s ease, transform .16s ease; }
.fsd-feedback-leaf__instagram:hover .fsd-feedback-leaf__label, .fsd-feedback-leaf__instagram:focus-visible .fsd-feedback-leaf__label { opacity: 1; transform: translate(0,-50%); }
.fsd-feedback-leaf:hover .fsd-feedback-leaf__instagram, .fsd-feedback-leaf:focus-within .fsd-feedback-leaf__instagram { opacity: 1; transform: none; }
.fsd-feedback-leaf__instagram:hover { filter: saturate(1.12) brightness(1.04); }
.fsd-feedback-leaf__instagram:focus-visible { opacity: 1; transform: none; outline: 3px solid #fff; outline-offset: 2px; }
.fsd-site-feedback { width: min(680px, calc(100vw - 28px)); max-height: min(820px, calc(100dvh - 28px)); padding: 0; border: 0; border-top: 4px solid #851c38; border-radius: 20px; color: var(--ink); background: var(--bg-raised); box-shadow: 0 26px 80px #24131b52; }
.fsd-site-feedback::backdrop { background: #17101399; backdrop-filter: blur(3px); }
.fsd-site-feedback__form { display: grid; gap: 18px; padding: clamp(20px,4vw,34px); overflow-y: auto; max-height: inherit; }
.fsd-site-feedback__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.fsd-site-feedback__head h2 { margin: 3px 0 5px; font-size: clamp(1.6rem,4vw,2.15rem); line-height: 1.1; }
.fsd-site-feedback__head p:last-child { margin: 0; color: var(--ink-soft); }
.fsd-site-feedback__close { border: 0; background: var(--bg-sunken); color: var(--ink); width: 38px; height: 38px; border-radius: 50%; font: 500 1.7rem/1 var(--font); cursor: pointer; }
.fsd-site-feedback fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.fsd-site-feedback legend, .fsd-site-feedback__comments { font-size: .93rem; line-height: 1.4; font-weight: 700; }
.fsd-site-feedback__scale { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; margin-top: 9px; }
.fsd-site-feedback__scale label { position: relative; cursor: pointer; }
.fsd-site-feedback__scale input { position: absolute; opacity: 0; inset: 0; }
.fsd-site-feedback__scale [data-rating="1"] { --rating: #b42332; --rating-soft: #fff0f1; }
.fsd-site-feedback__scale [data-rating="2"] { --rating: #ad430b; --rating-soft: #fff2e8; }
.fsd-site-feedback__scale [data-rating="3"] { --rating: #856000; --rating-soft: #fff8db; }
.fsd-site-feedback__scale [data-rating="4"] { --rating: #32733a; --rating-soft: #edf7e9; }
.fsd-site-feedback__scale [data-rating="5"] { --rating: #087452; --rating-soft: #e5f7ef; }
.fsd-site-feedback__scale span { display: grid; place-items: center; min-height: 42px; border: 1px solid color-mix(in srgb,var(--rating) 30%,white); border-radius: 10px; background: var(--rating-soft); color: var(--rating); font-weight: 800; }
.fsd-site-feedback__scale input:checked + span { border-color: var(--rating); background: var(--rating); color: #fff; box-shadow: 0 0 0 2px var(--bg-raised),0 0 0 4px var(--rating); }
.fsd-site-feedback__scale input:focus-visible + span { outline: 3px solid var(--ink); outline-offset: 3px; }
.fsd-site-feedback__comments { display: grid; gap: 8px; }
.fsd-site-feedback__comments small { color: var(--ink-soft); font-weight: 500; }
.fsd-site-feedback__scale label:hover span { border-color: var(--rating); }
.fsd-site-feedback__comments textarea { width: 100%; box-sizing: border-box; resize: vertical; border: 1px solid var(--line); border-radius: 10px; padding: 12px; font: inherit; color: var(--ink); background: var(--bg); }
.fsd-site-feedback__status { min-height: 1.4em; margin: -7px 0; color: var(--ink-soft); font-size: .86rem; }
.fsd-site-feedback__status.is-error { color: #b42332; }
@media(max-width:600px) { .fsd-feedback-leaf { right: 10px; bottom: 10px; gap: 6px; } .fsd-feedback-leaf__trigger, .fsd-feedback-leaf__instagram { width: 36px; min-width: 36px; height: 36px; padding: 0; } .fsd-feedback-leaf__label { display: none; } .fsd-site-feedback__form { gap: 15px; } }
@media(prefers-reduced-motion:reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }

/* Resource-led polish: Pattern Monster's repeatable-SVG approach translated
   into a dependency-free CSS dot field using the existing brand tokens. */
.fsd-land-hero::before {
 display: block; inset: 0; width: auto; height: auto; border-radius: 0;
 background-image: radial-gradient(circle, color-mix(in srgb,var(--accent) 24%,transparent) 1.15px, transparent 1.3px);
 background-size: 22px 22px; background-position: 8px 7px;
 opacity: .34; filter: none;
 -webkit-mask-image: linear-gradient(100deg,#000 0%,transparent 44%,transparent 64%,#000 100%);
 mask-image: linear-gradient(100deg,#000 0%,transparent 44%,transparent 64%,#000 100%);
}
.fsd-land-hero::after { display: none; }
.fsd-land-hero .fsd-wrap { position: relative; z-index: 1; }

/* Animista-style micro-interactions, kept small enough for a study interface.
   Keyboard focus receives the same elevation as pointer hover. */
.fsd-land-hero__facts a,
.fsd-examtile,
.fsd-eacard__tile,
.fsd-grid > .fsd-card,
.fsd-rows--catalog .fsd-row {
 transition: transform .18s cubic-bezier(.2,.75,.25,1), border-color .18s ease, box-shadow .18s ease;
 will-change: transform;
}
@media (hover:hover) and (pointer:fine) {
 .fsd-land-hero__facts a:hover,
 .fsd-examtile:hover,
 .fsd-eacard__tile:hover,
 .fsd-grid > .fsd-card:hover,
 .fsd-rows--catalog .fsd-row:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgb(40 25 30 / 12%);
 }
}
.fsd-land-hero__facts a:focus-visible,
.fsd-examtile:focus-visible,
.fsd-grid > .fsd-card:focus-within,
.fsd-rows--catalog .fsd-row:focus-within {
 transform: translateY(-2px);
 box-shadow: 0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent),0 10px 24px rgb(40 25 30 / 10%);
}
@media (prefers-reduced-motion:reduce) {
 .fsd-land-hero__facts a,
 .fsd-examtile,
 .fsd-eacard__tile,
 .fsd-grid > .fsd-card,
 .fsd-rows--catalog .fsd-row { will-change: auto; transform: none !important; }
}
