/* Token map */
.fpa-app, .fpa-printable, .fpa-modal-overlay {
  --fpa-frame: var(--a22-surface);
  --fpa-frame-2: var(--a22-surface);
  --fpa-frame-line: var(--a22-line);
  --fpa-sheet: var(--a22-white);
  --fpa-cream: var(--a22-surface-2);
  --fpa-paper: var(--a22-white);
  --fpa-ink: var(--a22-ink);
  --fpa-ink-soft: var(--a22-soft);
  --fpa-muted: var(--a22-muted);
  --fpa-on-dark: var(--a22-on-dark);
  --fpa-on-dark-2: var(--a22-on-dark-mut);
  --fpa-teal: var(--a22-navy);
  --fpa-teal-hover: var(--a22-navy-deep);
  --fpa-teal-border: var(--a22-navy);
  --fpa-teal-soft: var(--a22-on-dark-mut);
  --fpa-teal-light: var(--a22-line);
  --fpa-link: var(--a22-navy);
  --fpa-link-dark: var(--a22-on-dark);
  --fpa-orange: var(--a22-orange);
  --fpa-ok: var(--a22-ok);
  --fpa-ok-bg: var(--a22-ok-bg);
  --fpa-bad: var(--a22-bad);
  --fpa-bad-bg: var(--a22-bad-bg);
  --fpa-line: var(--a22-line);
  --fpa-radius: var(--a22-r-card);
  --fpa-sans: var(--a22-font);
}

/* The app shell */

body.a22-app { background: var(--a22-surface); }
body.a22-app .a22-header, body.a22-app .a22-footer { display: none; }

.a22-appbar { position: sticky; top: 0; z-index: 40; height: 76px; background: var(--a22-white); border-bottom: 2px solid var(--a22-navy); }
.a22-appbar__in { max-width: var(--a22-max-wide); margin: 0 auto; height: 100%; padding: 0 var(--a22-gutter); display: flex; align-items: center; gap: var(--a22-s4); }
@media (min-width: 600px) { .a22-appbar__in { padding: 0 var(--a22-gutter-lg); } }
.a22-appbar__mark { display: flex; align-items: center; gap: 10px; color: var(--a22-navy); text-decoration: none; font-weight: 700; letter-spacing: .12em; font-size: 14px; font-family: var(--a22-font); }
.a22-appbar__mark img { height: 40px; width: auto; }
.a22-appbar__mark .a22-logo { display: none; height: 44px; }
@media (min-width: 900px) { .a22-appbar__mark img { display: none; } .a22-appbar__mark .a22-logo { display: block; } }
.a22-appbar__course { min-width: 0; }
.cchip { display: inline-block; max-width: 320px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: middle; background: var(--a22-navy); color: #fff; border-radius: var(--a22-r-pill); padding: 4px 12px; font-size: 14px; font-weight: 700; }
.a22-appbar__right { margin-left: auto; display: flex; align-items: center; gap: var(--a22-s4); }
.sess-chip { cursor: pointer; display: inline-flex; align-items: center; gap: 6px; background: var(--a22-surface); border-radius: var(--a22-r-pill); padding: 4px 10px 4px 4px; font-size: 14px; color: var(--a22-soft); flex: none; }
.sess-chip:hover { background: var(--a22-surface); }
.sess-chip svg { display: block; width: 26px; height: 26px; }
.sess-chip b { font-size: 15px; font-weight: 700; color: var(--a22-navy); font-variant-numeric: tabular-nums; }
.sess-chip span { font-size: 12px; color: var(--a22-muted); }
.sess-chip.is-timeup svg circle:last-child { stroke: var(--a22-orange); }
.sess-chip.is-timeup b { color: var(--a22-orange); }
@media (max-width: 599px) {
  .sess-chip span { display: none; }
}
.a22-appbar__nav { display: flex; gap: 2px; }
.a22-appbar__nav a { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; min-width: 44px; padding: 0 var(--a22-s3); border-radius: var(--a22-r-control); color: var(--a22-soft); text-decoration: none; font-size: 15px; font-weight: 500; }
.a22-appbar__nav svg { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; stroke-linecap: round; }
.a22-appbar__nav a:hover { background: var(--a22-surface); color: var(--a22-ink); }
.a22-appbar__nav a[aria-current="page"] { color: var(--a22-navy); font-weight: 600; }
.a22-appbar__nav a[aria-current="page"]::after { content: ""; position: absolute; left: var(--a22-s3); right: var(--a22-s3); bottom: -10px; height: 2px; background: var(--a22-navy); border-radius: 2px; }

@media (max-width: 599px) {
  .a22-appbar__nav a { padding: 0; }
  .a22-appbar__nav a span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .a22-appbar__nav a[aria-current="page"]::after { left: 10px; right: 10px; }
}

.fpa-app { padding: var(--a22-s4) var(--a22-gutter) var(--a22-s8) !important; min-height: calc(100vh - 64px) !important; color: var(--a22-ink) !important; font-family: var(--a22-font) !important; font-size: 18px !important; }
@media (min-width: 600px) { .fpa-app { padding-left: var(--a22-gutter-lg) !important; padding-right: var(--a22-gutter-lg) !important; } }

.fpa-app { padding-left: 0 !important; padding-right: 0 !important; }
.fpa-single .fpa-main { padding-left: 0 !important; padding-right: 0 !important; }
.fpa-sheet { max-width: var(--a22-max-wide) !important; margin: 0 auto !important; border-radius: 0 !important; box-shadow: none !important; background: transparent !important; overflow: visible !important; grid-template-columns: var(--a22-rail) 1fr !important; gap: var(--a22-s6) !important; align-items: start; }
.fpa-single .fpa-sheet { grid-template-columns: 1fr !important; }
.fpa-side { background: transparent !important; border-right: 0 !important; padding: 0 !important; }
.fpa-main { background: transparent !important; padding: 0 !important; }
@media (max-width: 899px) { .fpa-sheet { grid-template-columns: 1fr !important; } }

.fpa-navrow { display: none !important; }

/* Literal colours in the plugin that no token reaches */

.fpa-app .fpa-btn:hover { background: var(--a22-surface-2) !important; color: var(--a22-navy) !important; }
.fpa-app .fpa-btn:active { background: var(--a22-navy) !important; color: var(--a22-white) !important; transform: translateY(1px); }

.fpa-app .fpa-opt.fpa-selected { background: var(--a22-surface-2) !important; border-color: var(--a22-navy) !important; }

.fpa-app .fpa-head-inline h2 { color: var(--a22-navy) !important; }

.fpa-modal-overlay { background: rgba(15, 29, 51, .72) !important; }

#fpa-tree .fpa-dot { width: 14px !important; height: 7.9px !important; border-radius: 0 !important; border: 0 !important; background: var(--a22-muted) !important;
  -webkit-mask: url(22a-diamond-bullet.svg) no-repeat center / contain; mask: url(22a-diamond-bullet.svg) no-repeat center / contain; }
#fpa-tree .fpa-state-completed .fpa-dot { background: var(--a22-navy) !important; -webkit-mask-image: none; mask-image: none; clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); }
#fpa-tree .fpa-state-in_progress .fpa-dot, #fpa-tree .fpa-node.fpa-current .fpa-dot { background: var(--a22-orange) !important; }
#fpa-tree .fpa-state-completed_flagged .fpa-dot, #fpa-tree .fpa-node.fpa-has-flag .fpa-dot { background: var(--a22-orange) !important; }
#fpa-tree .fpa-state-not_started .fpa-dot { background: var(--a22-line) !important; }
#fpa-tree .fpa-domain { background: transparent !important; border: 0 !important; padding: 8px 0 !important; color: var(--a22-navy) !important; }

/* Hierarchy */
.fpa-card, .fpa-qcard, .fpa-concept-card, .fpa-scenario-card, .fpa-state-card { border: 0 !important; box-shadow: none !important; background: var(--a22-white) !important; border-radius: var(--a22-r-card) !important; padding: var(--a22-s5) !important; margin: 0 0 var(--a22-s4) !important; }
.fpa-card h2, .fpa-main h2 { font-size: 21px !important; line-height: 1.25 !important; color: var(--a22-navy) !important; font-weight: 700 !important; }
@media (min-width: 900px) { .fpa-card h2, .fpa-main h2 { font-size: 27px !important; } }
.fpa-kicker { font-size: 12px !important; font-weight: 700 !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: var(--a22-muted) !important; }

.fpa-metric { background: var(--a22-white) !important; border: 0 !important; border-radius: var(--a22-r-card) !important; padding: var(--a22-s4) var(--a22-s5) !important; }
.fpa-mlabel { font-size: 12px !important; font-weight: 700 !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: var(--a22-muted) !important; margin: 0 0 var(--a22-s1) !important; }
.fpa-mvalue { font-size: 34px !important; line-height: 1.1 !important; font-weight: 700 !important; color: var(--a22-navy) !important; font-variant-numeric: tabular-nums !important; margin: 0 !important; }
@media (min-width: 900px) { .fpa-mvalue { font-size: 40px !important; } }
.fpa-mexp { font-size: 14px !important; color: var(--a22-soft) !important; margin: var(--a22-s1) 0 0 !important; }

.fpa-btn, .fpa-primary, .fpa-next, .fpa-session button[type="submit"] { min-height: 48px !important; padding: 0 var(--a22-s5) !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; border-radius: var(--a22-r-control) !important; font-weight: 600 !important; font-size: 16px !important; }
@media (min-width: 900px) { .fpa-btn, .fpa-primary, .fpa-next, .fpa-session button[type="submit"] { min-height: 44px !important; } }
.fpa-btn { border: 1.5px solid var(--a22-navy) !important; color: var(--a22-navy) !important; background: var(--a22-white) !important; }
.fpa-primary, .fpa-next, .fpa-session button[type="submit"], .fpa-app .fpa-btn.fpa-primary { background: var(--a22-blue-btn) !important; border-color: var(--a22-blue-btn) !important; color: var(--a22-navy-deep) !important; }
.fpa-primary:hover, .fpa-next:hover, .fpa-session button[type="submit"]:hover, .fpa-app .fpa-btn.fpa-primary:hover { background: var(--a22-blue-btn-hover) !important; border-color: var(--a22-blue-btn-hover) !important; color: var(--a22-navy-deep) !important; }
.fpa-primary:active, .fpa-next:active, .fpa-session button[type="submit"]:active, .fpa-app .fpa-btn.fpa-primary:active { background: var(--a22-blue-btn-active) !important; border-color: var(--a22-blue-btn-active) !important; color: var(--a22-navy-deep) !important; transform: translateY(1px); }
.fpa-app .fpa-btn.fpa-ghost, .fpa-app span.fpa-btn.fpa-sm.fpa-ghost, .fpa-app a.fpa-btn.fpa-sm.fpa-ghost { border: 0 !important; background: transparent !important; color: var(--a22-navy) !important; text-decoration: underline !important; text-underline-offset: 3px !important; min-height: 44px !important; padding: 0 var(--a22-s2) !important; }
.fpa-app .fpa-btn.fpa-ghost:hover { background: var(--a22-surface-2) !important; color: var(--a22-navy) !important; }
.fpa-app .fpa-btn.fpa-ghost:active { background: var(--a22-line) !important; color: var(--a22-navy-deep) !important; transform: none; }
.fpa-btn.fpa-sm { font-size: 15px !important; }
.fpa-locked-btn, .fpa-btn.fpa-disabled, .fpa-btn:disabled { opacity: .4 !important; cursor: not-allowed !important; }

.fpa-opt { min-height: 48px !important; display: grid !important; grid-template-columns: 28px 1fr !important; align-items: center !important; gap: var(--a22-s3) !important; padding: var(--a22-s3) var(--a22-s4) !important; border-radius: var(--a22-r-control) !important; line-height: 1.4 !important; }
.fpa-opt:hover:not(:disabled) { border-color: var(--a22-navy) !important; }
.fpa-opt-letter { width: 28px !important; height: 28px !important; border-radius: 50% !important; border-color: var(--a22-line) !important; margin: 0 !important; color: var(--a22-soft) !important; }
.fpa-opt.fpa-selected .fpa-opt-letter { background: var(--a22-navy) !important; border-color: var(--a22-navy) !important; color: var(--a22-white) !important; }
.fpa-opt-correct .fpa-opt-letter { background: var(--a22-ok) !important; border-color: var(--a22-ok) !important; color: var(--a22-white) !important; }
.fpa-opt-wrong .fpa-opt-letter { background: var(--a22-bad) !important; border-color: var(--a22-bad) !important; color: var(--a22-white) !important; }
.fpa-opt-tag { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; }

.fpa-feedback { min-height: 72px !important; }
.fpa-feedback:not(:empty), .fpa-explain { background: var(--a22-surface) !important; border: 0 !important; border-radius: var(--a22-r-control) !important; padding: var(--a22-s4) !important; }

.fpa-feedback.fb:not(:empty) { background: unset !important; border: unset !important; border-radius: unset !important; padding: unset !important; }

.fpa-bar, .fpa-dombar-track, .fpa-progress-thin { background: var(--a22-surface-2) !important; height: 8px !important; border-radius: 4px !important; overflow: hidden !important; }
.fpa-fill, .fpa-dombar-fill { background: var(--a22-navy) !important; height: 8px !important; border-radius: 4px !important; }
.fpa-fill-pale { background: var(--a22-line) !important; }
.fpa-qtype-low .fpa-qtype-vb, .fpa-qtype-vb.fpa-qtype-low { background: var(--a22-orange) !important; }
.fpa-pct { font-variant-numeric: tabular-nums !important; font-weight: 600 !important; color: var(--a22-ink) !important; }

.fpa-test-row { background: var(--a22-white) !important; border: 0 !important; border-radius: var(--a22-r-card) !important; padding: var(--a22-s4) var(--a22-s5) !important; margin: 0 0 var(--a22-s2) !important; }
.fpa-test-pass { color: var(--a22-ok) !important; }
.fpa-test-fail { color: var(--a22-bad) !important; }

.fpa-locked { opacity: .4 !important; }

.fpa-course-tile, .fpa-test-row, .fpa-scenario-card { position: relative !important; transition: transform .2s ease !important; }
.fpa-course-tile::after, .fpa-test-row::after { content: ""; position: absolute; left: var(--a22-s5); bottom: 0; height: 2px; width: 0; background: var(--a22-orange); transition: width .25s ease; }
.fpa-course-tile:hover, .fpa-test-row:hover { transform: translateY(-2px) !important; }
.fpa-course-tile:hover::after, .fpa-test-row:hover::after { width: calc(100% - 2 * var(--a22-s5)); }

.fpa-app :focus-visible { outline: 2px solid var(--a22-blue) !important; outline-offset: 2px !important; }

/* The timer */
.a22-exam-head { position: sticky; top: 0; z-index: 30; background: var(--a22-white); border-bottom: var(--a22-border); padding: var(--a22-s3) var(--a22-gutter); }
.a22-exam-head__in { max-width: var(--a22-max-wide); margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: var(--a22-s4); }
.a22-exam-grid-fold > .fpa-qtype-fold-head { cursor: pointer; }
.fpa-flag-btn, .fpa-bookmark { color: var(--a22-orange) !important; }
.fpa-exam-timer, .fpa-timer { font-size: 22px !important; color: var(--a22-navy) !important; }
.fpa-exam-timer.fpa-exam-low { color: var(--a22-bad) !important; }
.a22-timerline { height: 3px; background: var(--a22-surface-2); border-radius: 2px; overflow: hidden; margin-top: 6px; }
.a22-timerline__fill { height: 100%; width: 100%; background: var(--a22-navy); transition: width 1s linear; }
.a22-timerline--low .a22-timerline__fill { background: var(--a22-bad); }
.a22-timer-low { color: var(--a22-bad) !important; }
.a22-timerline--pulse .a22-timerline__fill { animation: a22-pulse 1s ease-in-out infinite; }

/* The level ladder */
.a22-ladder { display: flex; flex-direction: column-reverse; gap: 4px; align-items: flex-start; }
.fpa-metric.a22-has-ladder { display: flex !important; gap: var(--a22-s4) !important; align-items: flex-start !important; }
.a22-ladder svg { width: 26px; height: 14.6px; display: block; }
.a22-ladder__on { fill: var(--a22-navy); stroke: var(--a22-navy); }
.a22-ladder__now { fill: none; stroke: var(--a22-orange); }
.a22-ladder__off { fill: none; stroke: var(--a22-line); }
.a22-ladder__text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Milestone */
.a22-milestone { display: flex; justify-content: center; margin: var(--a22-s3) 0 var(--a22-s4); }
.a22-milestone svg { width: 96px; height: 54px; }
.a22-milestone path { fill: none; stroke: var(--a22-orange); stroke-width: 2.26; stroke-linejoin: round; stroke-dasharray: 260; stroke-dashoffset: 260; animation: a22-draw .7s ease-out forwards; }

/* Toasts, bottom right, three seconds */
.a22-toasts { position: fixed; right: var(--a22-s4); bottom: var(--a22-s4); z-index: 60; display: flex; flex-direction: column; gap: var(--a22-s2); pointer-events: none; }
.a22-toast { background: var(--a22-navy-deep); color: var(--a22-on-dark); padding: var(--a22-s3) var(--a22-s4); border-radius: var(--a22-r-control); box-shadow: var(--a22-shadow); font-size: 15px; max-width: 320px; animation: a22-toast-in .2s ease-out; }
.a22-toast--out { animation: a22-toast-out .2s ease-in forwards; }

/* The skill card panel, dark register */

.a22-skill-btn { display: inline-flex; align-items: center; gap: var(--a22-s2); min-height: 44px; padding: 0 var(--a22-s3); border: 1.5px solid var(--a22-line); border-radius: var(--a22-r-control); background: var(--a22-white); color: var(--a22-navy); font-weight: 600; font-size: 15px; cursor: pointer; }
.a22-skill-btn svg { width: 16px; height: 9px; }
.a22-skill-btn--unread svg { stroke: var(--a22-blue) !important; }
.a22-skill-btn--unread svg polygon { stroke: var(--a22-blue); }
.a22-skill-btn--read svg { stroke: var(--a22-line) !important; }
.a22-skill-btn:hover { border-color: var(--a22-navy); }

/* Session Section Css */

#fpa-session{background:var(--a22-white)!important;border-radius:var(--a22-r-card)!important;padding:var(--a22-s5)!important;margin:0 0 var(--a22-s4)!important}
#fpa-session>p:first-child{font-weight:600!important;margin:0 0 var(--a22-s3)!important;color:var(--a22-navy)}
#fpa-session-row{display:flex!important;flex-wrap:wrap!important;gap:var(--a22-s2)!important;margin-bottom:var(--a22-s4)!important}
#fpa-session-row .fpa-btn{min-height:44px!important;padding:0 var(--a22-s4)!important;border:1.5px solid var(--a22-line)!important;border-radius:var(--a22-r-pill)!important;background:#fff!important;color:var(--a22-navy)!important;font-size:15px!important;font-weight:600!important;box-shadow:none!important}
#fpa-session-row .fpa-btn:hover{border-color:var(--a22-navy)!important;background:#fff!important;color:var(--a22-navy)!important}
#fpa-session-row .fpa-btn.fpa-primary{background:var(--a22-navy)!important;border-color:var(--a22-navy)!important;color:#fff!important}
#fpa-session-suggestion {
    background: var(--a22-surface) !important;
    border-radius: var(--a22-r-control) !important;
    padding: var(--a22-s3) var(--a22-s4) !important;
    margin: 0 0 var(--a22-s3) !important;
    font-size: 18px !important;
    color: var(--a22-ink) !important;
    width: 100% !important;
    box-sizing: border-box;
    max-width: 100%;
}
#fpa-session-suggestion b{display:block;margin-bottom:6px;color:var(--a22-navy);font-size:18px}
.sess__fit-list {
    list-style: none;
    padding-left: 22px;
    margin: 0;
    width: 100%;
    max-width: 100ch !important;
}
.sess__fit-list li{position:relative;margin-bottom:6px;font-size:18px;color:var(--a22-ink)}
.sess__fit-list li::before{content:"";position:absolute;left:-22px;top:.6em;width:14px;height:8px;mask:none;-webkit-mask:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1648 928'%3E%3Cpolygon points='168.1,464 824,94.7 1479.9,464 824,833.3' fill='none' stroke='%23172A46' stroke-width='165' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain}
#fpa-session-suggestion b{display:block;margin-bottom:6px;color:var(--a22-navy)}
#fpa-session .fpa-muted{margin:0;font-size:13px;color:var(--a22-soft)}

/* Video/Next Card Css */

.hometop{display:grid;gap:var(--a22-s4);margin:0 0 var(--a22-s4);grid-template-columns:1.4fr 1fr;align-items:stretch}
@media(max-width:899px){.hometop{grid-template-columns:1fr}}
.hometop .video{margin:0;max-width:none}
.video__ph{aspect-ratio:16/9;border-radius:var(--a22-r-card);background:linear-gradient(135deg,var(--a22-navy) 0%,var(--a22-navy-deep) 100%);display:grid;place-items:center;align-content:center;gap:10px;color:var(--a22-on-dark);font-size:15px}
.video__ph svg{width:72px;height:72px}
.vrow{display:flex;align-items:center;gap:var(--a22-s3);background:#fff;border-radius:var(--a22-r-card);padding:10px var(--a22-s4);margin:0 0 var(--a22-s3)}
.vrow__play{width:36px;height:36px;border-radius:50%;background:var(--a22-navy);display:grid;place-items:center;flex:none}

#fpa-course-video-holder>.next{display:flex;flex-wrap:wrap;align-items:center;gap:var(--a22-s3) var(--a22-s5);background:var(--a22-white);border-left:4px solid var(--a22-blue);border-radius:0 var(--a22-r-card) var(--a22-r-card) 0;padding:var(--a22-s4) var(--a22-s5);margin:0 0 var(--a22-s4)}

.hometop .next{display:grid;align-content:center;gap:var(--a22-s4);margin:0;background:var(--a22-white);border-left:4px solid var(--a22-blue);border-radius:0 var(--a22-r-card) var(--a22-r-card) 0;padding:var(--a22-s4) var(--a22-s5)}
.next__t{flex:1;min-width:0;display:grid;gap:2px}
.next__t b{color:var(--a22-navy);font-size:17px}
.fpa-sheet[data-context="course_home"] #fpa-position-sentence {     font-size: 18px !important;     color: var(--a22-navy) !important;     line-height: 1.5 !important; }
h1#fpa-welcome {     color: var(--a22-navy) 1i;     font-weight: 700 !important;     line-height: 1.2 !important; }
.vrow{align-items:center}
.vrow>span:first-child+span{flex:1}

.a22-skill-panel { background: transparent; color: var(--a22-ink); border-top: var(--a22-border); padding: var(--a22-s4) 0 0; margin-top: var(--a22-s3); }
.a22-skill-panel .a22-micro { color: var(--a22-muted); }
.a22-skill-panel h3 { color: var(--a22-navy); font-size: 20px; margin: var(--a22-s2) 0 var(--a22-s3); }
.a22-skill-panel p { color: var(--a22-ink); max-width: 68ch; }
.a22-skill-panel__meta { font-size: 13px; color: var(--a22-muted); margin-bottom: var(--a22-s4); }
.a22-skill-panel__close { display: none; width: 44px; height: 44px; border: 0; background: transparent; color: var(--a22-navy); cursor: pointer; border-radius: var(--a22-r-control); }

.a22-skill-panel__prompt { background: var(--a22-surface); border: 0; border-radius: var(--a22-r-control); padding: var(--a22-s3) var(--a22-s4); font-family: ui-monospace, "Cascadia Mono", Consolas, monospace; font-size: 14px; white-space: pre-wrap; }
.a22-skill-panel__video { aspect-ratio: 16 / 9; background: var(--a22-navy); border-radius: var(--a22-r-control); margin-bottom: var(--a22-s4); }

/* Keyframes */
@keyframes a22-shake { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-3px); } 75% { transform: translateX(3px); } }
.a22-shake { animation: a22-shake .25s ease-in-out 1; }
@keyframes a22-check-in { from { opacity: 0; transform: translateY(-50%) translateX(6px); } to { opacity: 1; transform: translateY(-50%) translateX(0); } }
.fpa-opt-correct .fpa-opt-tag { animation: a22-check-in .2s ease-out; }
@keyframes a22-draw { to { stroke-dashoffset: 0; } }
@keyframes a22-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
@keyframes a22-toast-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes a22-toast-out { to { opacity: 0; transform: translateY(8px); } }
.a22-bar-animate { transition: width .6s cubic-bezier(.2, .7, .2, 1); }

.fpa-skel-spin .fpa-spinner { display: none !important; }
.fpa-skel-bar, .fpa-skel-tile { background: linear-gradient(90deg, var(--a22-surface-2) 25%, var(--a22-line) 50%, var(--a22-surface-2) 75%) !important; background-size: 200% 100% !important; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .a22-bar-animate, .a22-timerline__fill, .fpa-course-tile, .fpa-test-row,   .a22-shake, .a22-milestone path, .fpa-opt-correct .fpa-opt-tag, .a22-toast, .a22-timerline--pulse .a22-timerline__fill, .fpa-skel-bar, .fpa-skel-tile { animation: none !important; }
  .a22-milestone path { stroke-dashoffset: 0; }
}

/* Print */
@media print { .a22-appbar, .a22-toasts, .a22-skill-host, .a22-timerline { display: none !important; } }

/* P7 detail rows under the question-type folds */
.a22-qtype-detail { margin-top: var(--a22-s3); padding-top: var(--a22-s3); border-top: var(--a22-border); }
.a22-qtype-line { display: grid; grid-template-columns: minmax(0, 1fr) 120px 64px; gap: var(--a22-s3); align-items: center; font-size: 14px; margin: 6px 0; }
.a22-qtype-line .fpa-fill.a22-weak { background: var(--a22-orange) !important; }
.a22-qtype-count { text-align: right; font-variant-numeric: tabular-nums; color: var(--a22-soft); }
.a22-qtype-detail .a22-skill-btn { margin-top: var(--a22-s2); }
.a22-skill-row { margin: var(--a22-s3) 0; }
.a22-skill-btn:disabled { opacity: .5; cursor: progress; }

/* Charts on the progress page */
.fpa-progress .fpa-card { background: var(--a22-white) !important; }
.fpa-progress .fpa-card.a22-chart--focus { background: var(--a22-surface-2) !important; }
.fpa-progress .fpa-card.a22-chart--types { background: var(--a22-warm, #FDF1E9) !important; }
.fpa-progress .fpa-card.a22-chart--confidence { background: var(--a22-blue-soft, #E3F1FE) !important; }
.fpa-progress .fpa-card.a22-chart--confidence .fpa-fill:first-child { background: var(--a22-blue) !important; }
.fpa-qtype-col { background: var(--a22-blue) !important; }
.fpa-qtype-col.fpa-qtype-low { background: var(--a22-orange) !important; }
.a22-chip--blue { border-color: var(--a22-blue) !important; background: var(--a22-blue-soft, #E3F1FE) !important; }

/* Account Page Css */

.a22-wrap.a22-wrap--wide{padding-left:var(--a22-gutter);padding-right:var(--a22-gutter)}
@media(min-width:600px){.a22-wrap.a22-wrap--wide{padding-left:var(--a22-gutter-lg);padding-right:var(--a22-gutter-lg)}}
.acgrid{display:grid;gap:var(--a22-s5)}
@media(min-width:900px){.acgrid{grid-template-columns:200px minmax(0,1fr);gap:var(--a22-s7)}}
.acnav{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}
.acnav a{white-space:nowrap;text-decoration:none;color:var(--a22-soft);font-weight:600;font-size:15px;padding:8px 12px;border-radius:var(--a22-r-control)}
.acnav a.is-on{background:#fff;color:var(--a22-navy)}
@media(min-width:900px){.acnav{flex-direction:column;position:sticky;top:96px;align-self:start}}
@media(max-width:899px){.acnav{position:sticky;top:76px;z-index:5;background:var(--a22-surface);margin:0 calc(var(--a22-gutter)*-1);padding:6px var(--a22-gutter)}}
.asec{margin:0 0 var(--a22-s7)}
.asec h2{font-size:21px;margin:0 0 var(--a22-s3)}
.acard{background:#fff;border-radius:var(--a22-r-card);padding:var(--a22-s5);margin:0 0 var(--a22-s3)}
.acard h3{margin:0;font-size:18px}
.acard__h{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}
.acard--add{border:1.5px dashed var(--a22-line);background:transparent}
.acard--row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--a22-s3)}
.asub{color:var(--a22-soft);margin:6px 0 12px;font-size:15px}
.abar{height:8px;border-radius:4px;background:var(--a22-surface-2);overflow:hidden;margin:12px 0 0}
.abar i{display:block;height:100%;background:var(--a22-navy);border-radius:4px}
.chip{display:inline-block;border-radius:var(--a22-r-pill);padding:3px 10px;font-size:13px;font-weight:700;background:var(--a22-surface-2);color:var(--a22-soft)}
.chip--ok{background:var(--a22-ok-bg);color:var(--a22-ok)}
.chip--blue{background:var(--a22-blue-soft);color:var(--a22-navy)}
.chip--mut{background:var(--a22-surface-2);color:var(--a22-muted)}
.agrid2{display:grid;gap:var(--a22-s3)}
@media(min-width:600px){.agrid2{grid-template-columns:1fr 1fr}}
.agrid2 .acard{margin:0}
.refcode{display:flex;align-items:center;gap:10px;background:var(--a22-surface);border-radius:var(--a22-r-control);padding:8px 12px}
.refcode b{font-family:ui-monospace,Consolas,monospace;font-size:17px;letter-spacing:.06em;color:var(--a22-navy);flex:1}
.edate{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.a22-datebox{position:relative}
.a22-datebox input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.adel{margin-top:var(--a22-s4);border-top:var(--a22-border);padding-top:var(--a22-s3)}
.adel summary{cursor:pointer;color:var(--a22-bad);font-weight:600}
.adel div{margin-top:var(--a22-s3)}
.adel__b{background:var(--a22-bad);color:#fff}
.cband{display:grid;gap:0;background:#fff;border-radius:var(--a22-r-card);margin:0 0 var(--a22-s4);overflow:hidden}
@media(min-width:900px){.cband{grid-template-columns:2fr 1fr 1fr 1fr}}
.cb{padding:var(--a22-s4) var(--a22-s5);border-top:var(--a22-border)}
.cb:first-child{border-top:0}
@media(min-width:900px){.cb{border-top:0;border-left:var(--a22-border)}.cb:first-child{border-left:0}}
.cb__h{display:flex;align-items:center;justify-content:space-between;gap:8px}
.cb__h h3{margin:0;font-size:22px}
.cb__s{margin:6px 0 12px;color:var(--a22-soft);font-size:14px}
.cb__big{font-size:34px;line-height:1.1;font-weight:700;color:var(--a22-navy);margin:6px 0 0;font-variant-numeric:tabular-nums}
.cb__big+.cb__s{margin-top:0}
.cb__v{font-weight:700;color:var(--a22-navy);margin:6px 0 0}
.cb__v+.cb__s{margin-top:0}
.cb--course .abar{margin-top:14px}
.cband--ended .cb__h h3{color:var(--a22-soft)}
.cb .a22-btn--quiet{display:inline-flex}
.pgrid2{display:grid;gap:var(--a22-s4);grid-template-columns:1fr}
@media(min-width:900px){.pgrid2{grid-template-columns:1fr 1fr}}
.pgrid2 .acard{margin:0}
.cstrip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--a22-s3);background:#fff;border-radius:var(--a22-r-card);padding:var(--a22-s3) var(--a22-s5);margin:0 0 var(--a22-s3)}
.cstrip--new{border:2px solid var(--a22-orange)}
.cstrip__t{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;min-width:0}
.cstrip__t b{font-size:19px;color:var(--a22-navy)}
.cstrip__l{color:var(--a22-soft);font-size:15px}
.astrip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--a22-s3);background:var(--a22-blue-soft);border-radius:var(--a22-r-card);padding:var(--a22-s3) var(--a22-s5);margin-top:var(--a22-s5)}
.astrip b{color:var(--a22-navy)}
.acsec{font-size:21px;margin:var(--a22-s7) 0 var(--a22-s3)}
.cpct{color:var(--a22-navy);font-size:15px}
.pwtoggle summary{list-style:none;cursor:pointer}
.pwtoggle summary::-webkit-details-marker{display:none}
.pwform{display:none;margin-top:var(--a22-s4)}
.acard:has(.pwtoggle[open]) .pwform{display:block}

/* Arrival Flow Css */

.fpa-app h1.sheet-heading{color:var(--a22-navy)!important;font-weight:700!important;font-size:21px!important;line-height:1.25!important;margin:0 0 var(--a22-s3)!important}
@media(min-width:900px){.fpa-app h1.sheet-heading{font-size:27px!important}}
.fpa-video{aspect-ratio:16/9;border-radius:var(--a22-r-card);overflow:hidden;background:var(--a22-navy-deep);margin:var(--a22-s4) 0}
.fpa-video iframe{width:100%;height:100%;display:block;border:0}
.fpa-metrics{display:grid;gap:var(--a22-s3);margin:var(--a22-s5) 0}
.fpa-metrics-3{grid-template-columns:1fr}
@media(min-width:600px){.fpa-metrics-3{grid-template-columns:repeat(3,1fr)}}
.fpa-metrics-4{grid-template-columns:1fr 1fr}
@media(min-width:900px){.fpa-metrics-4{grid-template-columns:repeat(4,1fr)}}

.tip__row{display:flex;align-items:center;gap:var(--a22-s4);padding:var(--a22-s4) var(--a22-s5)}
.tip__m{display:flex;flex-direction:column;align-items:center;gap:4px;flex:none;width:auto;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--a22-muted)}
.tip__m .pair{width:22px;height:10.7px}
.tip__t{flex:1;min-width:0}
.tip__t b{color:var(--a22-navy);font-weight:600}
.prompt2{background:var(--a22-surface);border-radius:var(--a22-r-control);padding:var(--a22-s3) var(--a22-s4);font-family:ui-monospace,Consolas,monospace;font-size:14px;white-space:pre-wrap;margin-bottom:var(--a22-s3)}

.fpa-sheet[data-context="course_home"] .tip{display:block;background:var(--a22-white);border-radius:var(--a22-r-card);border:2px solid var(--a22-blue);margin-top:var(--a22-s4)}
.fpa-sheet[data-context="course_home"] .tip--open{display:block;padding:0}
.fpa-sheet[data-context="course_home"] .tip__body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}
.fpa-sheet[data-context="course_home"] .tip--open .tip__body{grid-template-rows:1fr}
.fpa-sheet[data-context="course_home"] .tip__body-in{overflow:hidden;border-top:var(--a22-border);padding:0 var(--a22-s5)}
.fpa-sheet[data-context="course_home"] .tip--open .tip__body-in{padding:var(--a22-s4) var(--a22-s5) var(--a22-s5)}
.fpa-sheet[data-context="course_home"] .tip__t p{margin:0;color:var(--a22-soft);font-size:18px;max-width:60ch}
.fpa-sheet[data-context="course_home"] .tip__body p:not(.a22-micro){margin:0 0 var(--a22-s3);color:var(--a22-ink);font-size:18px;max-width:60ch}
.fpa-sheet[data-context="course_home"] .tip__step{margin:0 0 var(--a22-s3) var(--a22-s3);color:var(--a22-ink);font-size:18px;max-width:60ch}

.fpa-sheet[data-context="welcome"] .a22-plan-card,.fpa-sheet[data-context="gap_map"] .a22-plan-card{background:var(--a22-white)!important;border:2px solid var(--a22-blue)!important;border-radius:var(--a22-r-card)!important;padding:0!important}
.fpa-sheet[data-context="welcome"] .tip__body,.fpa-sheet[data-context="gap_map"] .tip__body{display:block!important;border-top:var(--a22-border)!important;padding:var(--a22-s4) var(--a22-s5) var(--a22-s5)!important}
.fpa-sheet[data-context="welcome"] .tip__t p,.fpa-sheet[data-context="gap_map"] .tip__t p{margin:0!important;color:var(--a22-soft)!important;font-size:18px!important;max-width:none!important}
.fpa-sheet[data-context="welcome"] .tip__body p,.fpa-sheet[data-context="gap_map"] .tip__body p{margin:0 0 var(--a22-s3)!important;color:var(--a22-ink)!important;font-size:18px!important;max-width:none!important}
.fpa-sheet[data-context="welcome"] .tip__body ul,.fpa-sheet[data-context="welcome"] .tip__body ol,.fpa-sheet[data-context="gap_map"] .tip__body ul,.fpa-sheet[data-context="gap_map"] .tip__body ol{margin:0 0 var(--a22-s3)!important;padding-left:20px!important;max-width:none!important}
.fpa-sheet[data-context="welcome"] .tip__body li,.fpa-sheet[data-context="gap_map"] .tip__body li{font-size:18px!important;color:var(--a22-ink)!important;margin-bottom:6px!important}
@media(max-width:599px){
	.tip__row{display:grid;grid-template-columns:auto 1fr;column-gap:var(--a22-s4);row-gap:4px}
	.tip__m{grid-column:1;grid-row:1;align-self:start}
	.tip__t{grid-column:2;grid-row:1}
	.tip__row .a22-skill-btn{grid-column:2;grid-row:2;justify-self:stretch;width:100%;justify-content:center;margin-top:4px}
}
.fpa-muted{color:var(--a22-soft);font-size:15px}
.fpa-arrival-points{list-style:none;padding-left:26px;margin:var(--a22-s3) 0}
.fpa-arrival-points li{position:relative;margin-bottom:8px;font-size:15px;color:var(--a22-ink)}
.fpa-arrival-points li::before{content:"";position:absolute;left:-26px;top:.62em;width:14px;height:7.9px;background:var(--a22-orange);-webkit-mask:url(22a-diamond-bullet.svg) no-repeat center/contain;mask:url(22a-diamond-bullet.svg) no-repeat center/contain}
.fpa-sheet[data-context="welcome"] .fpa-arrival{max-width:100ch}

#fpa-gapmap-bars{background:var(--a22-white)!important;border-radius:var(--a22-r-card)!important;padding:var(--a22-s4) var(--a22-s5)!important;margin-top:var(--a22-s3)!important}
.fpa-domainrow-gm{display:grid!important;grid-template-columns:minmax(0,1fr) 44px!important;gap:4px var(--a22-s3)!important;align-items:center!important;margin:0 0 var(--a22-s3)!important;font-size:15px!important}
@media(min-width:900px){.fpa-domainrow-gm{grid-template-columns:260px minmax(0,1fr) 44px!important}}
.fpa-domainname-gm{grid-column:1/-1!important;color:var(--a22-ink)!important;font-size:15px!important}
@media(min-width:900px){.fpa-domainname-gm{grid-column:auto!important}}
.fpa-bar{height:8px!important;background:var(--a22-surface-2)!important;border-radius:4px!important}
.fpa-fill{height:8px!important;background:var(--a22-navy)!important;border-radius:4px!important}
.fpa-pct-gm{font-variant-numeric:tabular-nums!important;font-weight:600!important;text-align:right!important;color:var(--a22-ink)!important}
p#fpa-gapmap-explain{max-width:unset!important;width:100%!important}

/* Sidebar Rail Css */

.fpa-side { position: static !important; top: auto !important; left: auto !important; transform: none !important; width: auto !important; max-width: none !important; height: auto !important; z-index: auto !important; box-shadow: none !important; overflow-y: visible !important; display: block !important; }
.fpa-side {
    padding: var(--a22-s3) var(--a22-s2) !important;
    transition: width .15s ease, padding .15s ease;
    background: var(--a22-white) !important;
    border-radius: var(--a22-r-card) !important;
}
.fpa-side .fpa-kicker { color: var(--a22-muted) !important; }
.fpa-side h1 { color: var(--a22-navy) !important; font-size: 20px !important; }
.fpa-side-bar { background: var(--a22-surface-2) !important; }
.fpa-side-bar > div { background: var(--a22-navy) !important; }
.fpa-side-progress { color: var(--a22-soft) !important; }

.fpa-dom {
    color: var(--a22-navy) !important;
    font-weight: 700 !important;
    min-height: 44px !important;
    height: auto !important;
    margin: 0 0 4px !important;
    align-items: center !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    border: none !important;
    background: var(--a22-surface-2) !important;
    gap: 5px !important;
}
.fpa-dom span:not(.fpa-dom-dm) { flex: 1 1 auto !important; min-width: 22px !important; white-space: normal !important; word-break: break-word !important; line-height: 1.3 !important; }
.fpa-dom:hover { background: var(--a22-surface) !important; }
.fpa-dom.fpa-open, .fpa-dom.fpa-active {
    background: var(--a22-surface) !important;
    color: var(--a22-navy) !important;
    border: none !important;
    background: var(--a22-surface-2) !important;
}
.fpa-dom.fpa-open:hover {
	background: var(--a22-surface-2) !important;
}

.fpa-node-children .fpa-dom {
    font-weight: 600 !important;
    min-height: 40px !important;
    margin: 2px 0 !important;
    padding-left: 16px !important;
    color: var(--a22-soft) !important;
    background: var(--a22-surface) !important;
    margin: 2px 0;
}

.fpa-node-children a.fpa-dom.fpa-open,
.fpa-node-children a.fpa-dom.fpa-active
{
	color: var(--a22-navy) !important;
	background: var(--a22-surface) !important;
}
.fpa-node-children .fpa-dom:hover,
.fpa-node-children .fpa-dom.fpa-open:hover,
.fpa-node-children .fpa-dom.fpa-open {
    background: var(--a22-surface) !important;
}
.fpa-dom-pct { color: var(--a22-muted) !important; }
.fpa-fold-toggle { color: var(--a22-muted) !important; }
.fpa-fold-toggle:hover { color: var(--a22-navy) !important; }
.fpa-chev { width: 22px; height: 22px; flex: none; transition: transform .15s ease; }
.fpa-chev path { fill: none; stroke: var(--a22-soft); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.fpa-dom.fpa-open .fpa-chev { transform: rotate(0deg); }
.fpa-dom:not(.fpa-open) .fpa-chev { transform: rotate(-90deg); }

.fpa-leaf { color: var(--a22-soft) !important; font-size: 13px !important; min-height: 36px !important; }
.fpa-node-children .fpa-node-children .fpa-leaf { padding-left: 26px !important; }

.fpa-leaf.fpa-now { color: var(--a22-navy) !important; font-weight: 600 !important; background: var(--a22-surface-2) !important; border-left: 0 !important; border-radius: var(--a22-r-control) !important; padding-left: 14px !important; }
.fpa-node-children { margin-left: 0 !important; }
.fpa-railfoot a { color: var(--a22-navy) !important; }

.fpa-st { width: 16px !important; height: 9.3px !important; flex: 0 0 16px !important; border-radius: 0 !important; background: none !important; border: 0 !important; }
.fpa-st .fpa-dm,.fpa-legend .fpa-dm { width: 100%; height: 100%; display: block; }
.fpa-dom-dm { width: 16px; height: 9px; flex: none; margin-right: 4px; }

.fpa-rail-fold > summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; padding: 0 0 var(--a22-s2); }
.fpa-rail-fold > summary span { font-size: 12px !important; font-weight: 700 !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: var(--a22-muted) !important; }
@media(max-width:899px){
	.fpa-rail-fold > summary span {
		font-weight: 600 !important;
		color: var(--a22-navy) !important;
		text-transform: capitalize !important;
		font-size: 14px !important;
		padding-left: 5px;
		letter-spacing: 0px !important;
	}
}
.fpa-rail-fold > summary::-webkit-details-marker { display: none; }

.fpa-rail-fold-btn { display: none; }
@media(min-width:900px){
	.fpa-rail-fold-btn { width: 36px; height: 36px; border: 1.5px solid var(--a22-line); border-radius: var(--a22-r-control); background: #fff; display: grid; place-items: center; cursor: pointer; flex: none; }
}

.fpa-rail-mobile-chev { width: 20px; height: 20px; flex: none; fill: none; stroke: var(--a22-soft); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s ease; }
.fpa-rail-fold.fpa-rail-menu-open .fpa-rail-mobile-chev { transform: rotate(0deg); }
.fpa-rail-fold:not(.fpa-rail-menu-open) .fpa-rail-mobile-chev { transform: rotate(180deg); }
@media(min-width:900px){ .fpa-rail-mobile-chev { display: none; } }

.fpa-rail-content { overflow: hidden; transition: max-height .25s ease; }
@media(max-width:899px){
	.fpa-rail-content { padding-left: 5px; }
}
.fpa-rail-fold-btn svg { width: 18px; height: 18px; fill: none; stroke: var(--a22-soft); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }

.fpa-legend { padding: 10px; }
.fpa-legend .fpa-dm { width: 16px; height: 9.3px; flex: none; display: block; }

/* Course index collapse */
@media(min-width:900px){
	.fpa-sheet { transition: grid-template-columns .35s ease; }
	.fpa-app:not(.fpa-single) .fpa-sheet.fpa-rail-collapsed { grid-template-columns: 64px 1fr !important; }
	.fpa-sheet.fpa-rail-collapsed .fpa-side { padding: var(--a22-s4) 10px !important; overflow: hidden; }
	.fpa-sheet.fpa-rail-collapsed .fpa-rail-fold > summary span,
	.fpa-sheet.fpa-rail-collapsed .fpa-side-progress,
	.fpa-sheet.fpa-rail-collapsed .fpa-dom span:not(.fpa-dom-dm),
	.fpa-sheet.fpa-rail-collapsed .fpa-dom-pct,
	.fpa-sheet.fpa-rail-collapsed .fpa-fold-toggle,
	.fpa-sheet.fpa-rail-collapsed .fpa-node-children,
	.fpa-sheet.fpa-rail-collapsed .fpa-rail-chev { display: none !important; }
	.fpa-sheet.fpa-rail-collapsed .fpa-rail-fold > summary { justify-content: center; }
	.fpa-sheet.fpa-rail-collapsed .fpa-dom { justify-content: center !important; padding: 7px 0 !important; margin: 0 0 6px !important; }
	.fpa-sheet.fpa-rail-collapsed .fpa-dom-dm { margin-right: 0; width: 20px; height: 11.5px; }
}
.fpa-sheet.fpa-rail-collapsed .fpa-legend { display: none; }
.fpa-rail-expand { display: none; }
@media(min-width:900px){
	.fpa-sheet.fpa-rail-collapsed .fpa-rail-expand { display: flex !important; align-items: center; justify-content: center; width: 100%; height: 44px; margin: var(--a22-s3) auto 0; border: 1.5px solid var(--a22-line); border-radius: var(--a22-r-control); background: #fff; cursor: pointer; }
	.fpa-sheet.fpa-rail-collapsed .fpa-rail-expand svg { width: 16px; height: 16px; fill: none; stroke: var(--a22-navy); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
	.fpa-sheet.fpa-rail-collapsed .fpa-rail-expand:hover { background: var(--a22-surface-2); }
}
.fpa-row-actions{display:flex;flex-wrap:wrap;gap:var(--a22-s3);margin-top:var(--a22-s4)}

.fpa-sheet[data-context="profile"] .fpa-opt{display:block!important;padding:var(--a22-s3) var(--a22-s4)!important}
p.fpa-mvalue.fpa-welcome-mvalue{font-size:22px!important;margin:10px 0!important}
@media(min-width:900px){p.fpa-mvalue.fpa-welcome-mvalue{font-size:28px!important}}

.fpa-qgrid { display: grid !important; grid-template-columns: repeat(15,1fr) !important; gap: 6px !important; margin-top: var(--a22-s3) !important; }
.fpa-qgrid button { width: auto !important; height: 32px !important; border-radius: 6px !important; border: 1.5px solid var(--a22-line) !important; background: #fff !important; color: var(--a22-soft) !important; font-size: 12px !important; font-weight: 600 !important; font-variant-numeric: tabular-nums; box-shadow: none !important; }
.fpa-qgrid button:hover:not(:disabled) { border-color: var(--a22-navy) !important; }
.fpa-qgrid button.fpa-qg-answered { background: var(--a22-navy) !important; border-color: var(--a22-navy) !important; color: #fff !important; }
.fpa-qgrid button.fpa-qg-now { outline: 2px solid var(--a22-blue) !important; outline-offset: 2px; box-shadow: none !important; }
.fpa-qgrid button.fpa-qg-bookmarked { box-shadow: inset 0 0 0 2px var(--a22-orange) !important; border-color: var(--a22-orange) !important; }
@media(max-width:599px){.fpa-qgrid{grid-template-columns:repeat(8,1fr)!important}}

#fpa-diag-skip:hover,#fpa-skip-arrival:hover{background:var(--a22-surface-2)!important;color:var(--a22-navy)!important}
button#fpa-diag-skip:hover,button#fpa-skip-arrival:hover{background:var(--a22-surface-2)!important;color:var(--a22-navy)!important}
#fpa-diag-skip:active,#fpa-skip-arrival:active{background:var(--a22-navy)!important;color:#fff!important;transform:translateY(1px)!important}
button#fpa-diag-skip:active,button#fpa-skip-arrival:active{background:var(--a22-navy)!important;color:#fff!important;transform:translateY(1px)!important}

#fpa-diag-bookmark{display:inline-flex!important;align-items:center!important;gap:6px!important}
#fpa-diag-bookmark svg.fpa-chip-flag{width:16px;height:9px;flex:none}
#fpa-diag-bookmark svg.fpa-chip-flag polygon{stroke:#7A8694}
#fpa-diag-bookmark.fpa-chip-flagged svg.fpa-chip-flag polygon{stroke:var(--a22-orange)!important}

/* Arrival Flow Css */

.fpa-sheet[data-context="profile"] #fpa-profile-step1,
.fpa-sheet[data-context="profile"] #fpa-profile-step2 {
	float: left;
	width: 100%;
}
.fpa-sheet[data-context="profile"] #fpa-profile-step-label {
	margin-bottom: 10px;
	float: left;
	width: 100%;
}
.fpa-sheet[data-context="diagnostic"] .fpa-head {
	display: flex;
	align-items: flex-start !important;
}
.fpa-exam-date-input {
	margin-top: 8px;
	width: 100%;
	box-sizing: border-box;
	min-height: 40px;
	padding: 0 var(--a22-s3);
	border: 1.5px solid var(--a22-line);
	border-radius: var(--a22-r-control);
	background: #fff;
	color: var(--a22-ink);
	font-size: 15px;
	font-family: var(--a22-font);
}
.fpa-exam-date-input:focus {
	border-color: var(--a22-navy);
	outline: 2px solid var(--a22-blue);
	outline-offset: 1px;
}
.fpa-app .fpa-btn.a22-btn--secondary {
	background: #fff !important;
	color: var(--a22-navy) !important;
	border: 1.5px solid var(--a22-navy) !important;
}
.fpa-app .fpa-btn.a22-btn--secondary:hover {
	background: var(--a22-surface-2) !important;
}
.fpa-app .fpa-btn.a22-btn--secondary:active {
	background: var(--a22-navy) !important;
	color: #fff !important;
	transform: translateY(1px) !important;
}

.ainote{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--a22-s2) var(--a22-s4);font-size:14px;color:var(--a22-soft);margin:var(--a22-s5) 0 0;padding:var(--a22-s3) var(--a22-s4);background:var(--a22-white);border-radius:var(--a22-r-control)}
.ainote[hidden]{display:none!important}
.ainote a{color:var(--a22-navy)}
.sw{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-weight:600;color:var(--a22-ink)}
.sw input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.sw i{width:44px;height:26px;border-radius:13px;background:var(--a22-line);position:relative;transition:background .15s;flex:none}
.sw i::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(15,29,51,.3);transition:transform .15s}
.sw input:checked+i{background:var(--a22-navy)}
.sw input:checked+i::after{transform:translateX(18px)}
#fpa-how-ai-panel.a22-plan-card{background:var(--a22-white)!important;border:2px solid var(--a22-blue)!important;border-radius:var(--a22-r-card)!important;padding:0!important}
#fpa-how-ai-panel .tip__body{display:block!important;border-top:var(--a22-border)!important;padding:var(--a22-s4) var(--a22-s5) var(--a22-s5)!important}
#fpa-how-ai-panel .tip__t p{margin:0!important;color:var(--a22-soft)!important;font-size:18px!important;max-width:none!important}
#fpa-how-ai-panel .tip__body p{margin:0!important;color:var(--a22-ink)!important;font-size:18px!important;max-width:none!important}

.fpa-next { width: fit-content !important; display: flex !important; margin-left: auto !important; }

.fpa-render { border-top: 0 !important; margin-top: 0 !important; padding-top: 0 !important; }
.fpa-render, .fpa-content-text { font-size: 18px !important; color: var(--a22-ink) !important; max-width: none !important; width: 100% !important; }
.fpa-content-text p { margin: 0 0 1.2em !important; }

.fpa-depths { display: flex; flex-wrap: wrap; gap: var(--a22-s2); }
.fpa-depths-label { flex-basis: 100%; max-width: none; margin: 0 0 var(--a22-s2) !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: var(--a22-muted) !important; }
.fpa-depth { border: 0 !important; min-height: 40px !important; padding: 0 var(--a22-s3) !important; border-radius: var(--a22-r-control) !important; background: var(--a22-surface) !important; color: var(--a22-soft) !important; font-size: 14px !important; text-transform: none !important; }
.fpa-depth:hover { background: var(--a22-surface) !important; color: var(--a22-soft) !important; border: 0 !important; }
.fpa-depth.fpa-active { background: var(--a22-navy) !important; border: 0 !important; color: #fff !important; }

.fpa-raterow { display: block !important; padding: var(--a22-s3) var(--a22-s4) !important; background: var(--a22-surface) !important; border-radius: var(--a22-r-control) !important; margin: 0 0 var(--a22-s3) !important; }
.fpa-raterow-lbl { display: block !important; font-size: 15px !important; font-weight: 600 !important; margin-bottom: var(--a22-s2) !important; color: var(--a22-ink) !important; }
.fpa-raterow .fpa-mini { margin: 0 var(--a22-s2) var(--a22-s2) 0; }
.fpa-mini { min-height: 44px !important; padding: 0 var(--a22-s4) !important; border: 1.5px solid var(--a22-line) !important; border-radius: var(--a22-r-pill) !important; background: #fff !important; color: var(--a22-navy) !important; font-size: 15px !important; text-transform: capitalize !important; }
.fpa-mini:hover { border-color: var(--a22-navy) !important; background: #fff !important; color: var(--a22-navy) !important; }
.fpa-mini.fpa-selected { background: var(--a22-navy) !important; border-color: var(--a22-navy) !important; color: #fff !important; }

.pn { display: flex !important; justify-content: space-between !important; gap: var(--a22-s3) !important; flex-wrap: nowrap !important; margin-top: var(--a22-s4) !important; }
.pn .a22-btn { flex: 1; max-width: 50%; min-width: 0; justify-content: flex-start; gap: 10px; padding: 8px var(--a22-s4); min-height: 56px; }
.pn .pn__next { justify-content: flex-end; text-align: right; margin-left: auto; }
.pn svg { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.pn .pn__t { min-width: 0; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.3; }
.pn .pn__t small { display: block; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--a22-muted); }
@media (max-width: 580px) {
	.pn { flex-wrap: nowrap !important; }
}

.fpa-ainote { border-top: 0 !important; margin-top: 0 !important; padding-top: 0 !important; }

.fpa-sheet[data-context="lesson_browse"] .check { background: var(--a22-white) !important; border-radius: var(--a22-r-card) !important; padding: var(--a22-s5) !important; margin: var(--a22-s5) 0 !important; display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: var(--a22-s3) var(--a22-s5) !important; }
.fpa-sheet[data-context="lesson_browse"] .check .n { flex: none; font-size: 34px; font-weight: 700; color: var(--a22-navy); line-height: 1; font-variant-numeric: tabular-nums; }
.fpa-sheet[data-context="lesson_browse"] .check .x { flex: 1; min-width: 0; }
.fpa-sheet[data-context="lesson_browse"] .check .x b { display: block; color: var(--a22-navy); font-size: 17px; }
.fpa-sheet[data-context="lesson_browse"] .check .x span { font-size: 14px; color: var(--a22-soft); }
@media(max-width:599px){
	.fpa-sheet[data-context="lesson_browse"] .check .x { min-width: 0; flex-basis: 100%; }
	.fpa-sheet[data-context="lesson_browse"] .check .a22-btn { width: 100%; }
}

.fpa-sheet[data-context="lesson_browse"] .fpa-linerow,
.fpa-sheet[data-context="lesson_check"] .fpa-linerow,
.fpa-sheet[data-context="repetition"] .fpa-linerow,
.fpa-sheet[data-context="domain_intro"] .fpa-linerow,
.fpa-sheet[data-context="module_intro"] .fpa-linerow { display: flex !important; align-items: center !important; flex-direction: row !important; gap: var(--a22-s3) !important; }
.fpa-sheet[data-context="lesson_browse"] .fpa-linerow .fpa-st,
.fpa-sheet[data-context="lesson_check"] .fpa-linerow .fpa-st,
.fpa-sheet[data-context="repetition"] .fpa-linerow .fpa-st { flex: none !important; }
.fpa-sheet[data-context="lesson_browse"] .fpa-linerow .t,
.fpa-sheet[data-context="lesson_check"] .fpa-linerow .t,
.fpa-sheet[data-context="repetition"] .fpa-linerow .t { flex: 1; min-width: 0; font-weight: 600; color: var(--a22-ink); }
.fpa-sheet[data-context="lesson_browse"] .fpa-linerow .t small,
.fpa-sheet[data-context="lesson_check"] .fpa-linerow .t small,
.fpa-sheet[data-context="repetition"] .fpa-linerow .t small { display: block; font-weight: 400; color: var(--a22-soft); font-size: 14px; }
.fpa-sheet[data-context="lesson_browse"] .fpa-linerow .a22-btn,
.fpa-sheet[data-context="lesson_check"] .fpa-linerow .a22-btn,
.fpa-sheet[data-context="repetition"] .fpa-linerow .a22-btn { flex: none; }

.fpa-sheet[data-context="lesson_check"] .ask,
.fpa-sheet[data-context="repetition"] .ask,
.fpa-sheet[data-context="module_assessment"] .ask,
.fpa-sheet[data-context="domain_exam"] .ask,
.fpa-sheet[data-context="final_exam"] .ask { padding: var(--a22-s3) var(--a22-s4); background: var(--a22-surface); border-radius: var(--a22-r-control); margin: 0 0 var(--a22-s3); }
.fpa-sheet[data-context="lesson_browse"] .ask { padding: var(--a22-s3) var(--a22-s4); background: var(--a22-surface); border-radius: var(--a22-r-control); margin: 0 0 var(--a22-s3); }
.fpa-sheet[data-context="lesson_check"] .ask > span,
.fpa-sheet[data-context="repetition"] .ask > span,
.fpa-sheet[data-context="module_assessment"] .ask > span,
.fpa-sheet[data-context="domain_exam"] .ask > span,
.fpa-sheet[data-context="final_exam"] .ask > span { display: block; font-size: 15px; font-weight: 600; margin-bottom: var(--a22-s2); color: var(--a22-ink); }
.fpa-sheet[data-context="lesson_browse"] .ask > span { display: block; font-size: 15px; font-weight: 600; margin-bottom: var(--a22-s2); color: var(--a22-ink); }
.fpa-sheet[data-context="lesson_check"] .ask .row,
.fpa-sheet[data-context="repetition"] .ask .row,
.fpa-sheet[data-context="module_assessment"] .ask .row,
.fpa-sheet[data-context="domain_exam"] .ask .row,
.fpa-sheet[data-context="final_exam"] .ask .row { display: flex; flex-wrap: wrap; gap: var(--a22-s2); }
.fpa-sheet[data-context="lesson_browse"] .ask .row { display: flex; flex-wrap: wrap; gap: var(--a22-s2); }
.fpa-sheet[data-context="lesson_check"] .m-mini,
.fpa-sheet[data-context="repetition"] .m-mini,
.fpa-sheet[data-context="module_assessment"] .m-mini,
.fpa-sheet[data-context="domain_exam"] .m-mini,
.fpa-sheet[data-context="final_exam"] .m-mini { min-height: 44px; padding: 0 var(--a22-s4); border: 1.5px solid var(--a22-line); border-radius: var(--a22-r-pill); background: #fff; color: var(--a22-navy); font: inherit; font-size: 15px; font-weight: 600; text-transform: capitalize; cursor: pointer; }
.fpa-sheet[data-context="flashcards"] .m-mini { min-height: 44px; padding: 0 var(--a22-s4); border: 1.5px solid var(--a22-line); border-radius: var(--a22-r-pill); background: #fff; color: var(--a22-navy); font: inherit; font-size: 15px; font-weight: 600; text-transform: capitalize; cursor: pointer; }
.fpa-sheet[data-context="lesson_browse"] .m-mini { min-height: 44px; padding: 0 var(--a22-s4); border: 1.5px solid var(--a22-line); border-radius: var(--a22-r-pill); background: #fff; color: var(--a22-navy); font: inherit; font-size: 15px; font-weight: 600; text-transform: capitalize; cursor: pointer; }
.fpa-sheet[data-context="lesson_check"] .m-mini:hover,
.fpa-sheet[data-context="repetition"] .m-mini:hover,
.fpa-sheet[data-context="module_assessment"] .m-mini:hover,
.fpa-sheet[data-context="domain_exam"] .m-mini:hover,
.fpa-sheet[data-context="final_exam"] .m-mini:hover { border-color: var(--a22-navy); }
.fpa-sheet[data-context="flashcards"] .m-mini:hover { border-color: var(--a22-navy); }
.fpa-sheet[data-context="lesson_browse"] .m-mini:hover { border-color: var(--a22-navy); }
.fpa-sheet[data-context="lesson_check"] .m-mini.is-on,
.fpa-sheet[data-context="repetition"] .m-mini.is-on,
.fpa-sheet[data-context="module_assessment"] .m-mini.is-on,
.fpa-sheet[data-context="domain_exam"] .m-mini.is-on,
.fpa-sheet[data-context="final_exam"] .m-mini.is-on { background: var(--a22-navy); border-color: var(--a22-navy); color: #fff; }
.fpa-sheet[data-context="flashcards"] .m-mini.is-on { background: var(--a22-navy); border-color: var(--a22-navy); color: #fff; }
.fpa-sheet[data-context="lesson_browse"] .m-mini.is-on { background: var(--a22-navy); border-color: var(--a22-navy); color: #fff; }
.fpa-sheet[data-context="lesson_check"] .m-mini.is-flag,
.fpa-sheet[data-context="repetition"] .m-mini.is-flag,
.fpa-sheet[data-context="module_assessment"] .m-mini.is-flag,
.fpa-sheet[data-context="domain_exam"] .m-mini.is-flag,
.fpa-sheet[data-context="final_exam"] .m-mini.is-flag { border-color: var(--a22-orange); color: var(--a22-navy); }
.fpa-sheet[data-context="flashcards"] .m-mini.is-flag { border-color: var(--a22-orange); color: var(--a22-navy); }
.fpa-sheet[data-context="lesson_browse"] .m-mini.is-flag { border-color: var(--a22-orange); color: var(--a22-navy); }
.fpa-sheet[data-context="lesson_check"] .verdict,
.fpa-sheet[data-context="repetition"] .verdict,
.fpa-sheet[data-context="module_assessment"] .verdict,
.fpa-sheet[data-context="domain_exam"] .verdict,
.fpa-sheet[data-context="final_exam"] .verdict { display: flex; align-items: center; gap: 8px; font-weight: 600; margin: 0 0 var(--a22-s3); font-size: 17px; }
.fpa-sheet[data-context="lesson_browse"] .verdict { display: flex; align-items: center; gap: 8px; font-weight: 600; margin: 0 0 var(--a22-s3); font-size: 17px; }
.fpa-sheet[data-context="lesson_check"] .verdict--ok,
.fpa-sheet[data-context="repetition"] .verdict--ok,
.fpa-sheet[data-context="module_assessment"] .verdict--ok,
.fpa-sheet[data-context="domain_exam"] .verdict--ok,
.fpa-sheet[data-context="final_exam"] .verdict--ok { color: var(--a22-ok); }
.fpa-sheet[data-context="lesson_browse"] .verdict--ok { color: var(--a22-ok); }
.fpa-sheet[data-context="lesson_check"] .verdict--bad,
.fpa-sheet[data-context="repetition"] .verdict--bad,
.fpa-sheet[data-context="module_assessment"] .verdict--bad,
.fpa-sheet[data-context="domain_exam"] .verdict--bad,
.fpa-sheet[data-context="final_exam"] .verdict--bad { color: var(--a22-bad); }
.fpa-sheet[data-context="lesson_browse"] .verdict--bad { color: var(--a22-bad); }
.fpa-sheet[data-context="lesson_check"] .verdict svg,
.fpa-sheet[data-context="repetition"] .verdict svg,
.fpa-sheet[data-context="module_assessment"] .verdict svg,
.fpa-sheet[data-context="domain_exam"] .verdict svg,
.fpa-sheet[data-context="final_exam"] .verdict svg { width: 18px; height: 18px; flex: none; }
.fpa-sheet[data-context="lesson_browse"] .verdict svg { width: 18px; height: 18px; flex: none; }
.fpa-sheet[data-context="lesson_check"] .fb,
.fpa-sheet[data-context="repetition"] .fb,
.fpa-sheet[data-context="module_assessment"] .fb,
.fpa-sheet[data-context="domain_exam"] .fb,
.fpa-sheet[data-context="final_exam"] .fb { min-height: 72px; margin-top: var(--a22-s3); }
.fpa-sheet[data-context="lesson_browse"] .fb { min-height: 72px; margin-top: var(--a22-s3); }
.fpa-sheet[data-context="lesson_check"] .cbody,
.fpa-sheet[data-context="repetition"] .cbody,
.fpa-sheet[data-context="module_assessment"] .cbody,
.fpa-sheet[data-context="domain_exam"] .cbody,
.fpa-sheet[data-context="final_exam"] .cbody { margin-top: var(--a22-s4); padding-top: var(--a22-s4); border-top: var(--a22-border); }
.fpa-sheet[data-context="lesson_browse"] .cbody { margin-top: var(--a22-s4); padding-top: var(--a22-s4); border-top: var(--a22-border); }
.fpa-sheet[data-context="lesson_check"] .cbody p,
.fpa-sheet[data-context="repetition"] .cbody p,
.fpa-sheet[data-context="module_assessment"] .cbody p,
.fpa-sheet[data-context="domain_exam"] .cbody p,
.fpa-sheet[data-context="final_exam"] .cbody p { font-size: 18px; color: var(--a22-ink); max-width: none; margin: 0 0 1em; }
.fpa-sheet[data-context="lesson_browse"] .cbody p { font-size: 18px; color: var(--a22-ink); max-width: none; margin: 0 0 1em; }

.fpa-sheet[data-context="lesson_check"] .m-deeper,
.fpa-sheet[data-context="repetition"] .m-deeper,
.fpa-sheet[data-context="module_assessment"] .m-deeper,
.fpa-sheet[data-context="domain_exam"] .m-deeper,
.fpa-sheet[data-context="final_exam"] .m-deeper { display: flex; flex-wrap: wrap; gap: var(--a22-s2); margin: 0 0 var(--a22-s3); }
.fpa-sheet[data-context="lesson_browse"] .m-deeper { display: flex; flex-wrap: wrap; gap: var(--a22-s2); margin: 0 0 var(--a22-s3); }
.fpa-sheet[data-context="lesson_check"] .m-label,
.fpa-sheet[data-context="repetition"] .m-label,
.fpa-sheet[data-context="module_assessment"] .m-label,
.fpa-sheet[data-context="domain_exam"] .m-label,
.fpa-sheet[data-context="final_exam"] .m-label { flex-basis: 100%; max-width: none; margin: 0 0 var(--a22-s2) !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: var(--a22-muted) !important; }
.fpa-sheet[data-context="lesson_browse"] .m-label { flex-basis: 100%; max-width: none; margin: 0 0 var(--a22-s2) !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: var(--a22-muted) !important; }
.fpa-sheet[data-context="lesson_check"] .m-tab,
.fpa-sheet[data-context="repetition"] .m-tab,
.fpa-sheet[data-context="module_assessment"] .m-tab,
.fpa-sheet[data-context="domain_exam"] .m-tab,
.fpa-sheet[data-context="final_exam"] .m-tab { min-height: 40px; padding: 0 var(--a22-s3); border: 0; border-radius: var(--a22-r-control); background: var(--a22-surface); color: var(--a22-soft); font: inherit; font-size: 14px; font-weight: 600; text-transform: none; cursor: pointer; }
.fpa-sheet[data-context="lesson_browse"] .m-tab { min-height: 40px; padding: 0 var(--a22-s3); border: 0; border-radius: var(--a22-r-control); background: var(--a22-surface); color: var(--a22-soft); font: inherit; font-size: 14px; font-weight: 600; text-transform: none; cursor: pointer; }
.fpa-sheet[data-context="lesson_check"] .m-tab.is-on,
.fpa-sheet[data-context="repetition"] .m-tab.is-on,
.fpa-sheet[data-context="module_assessment"] .m-tab.is-on,
.fpa-sheet[data-context="domain_exam"] .m-tab.is-on,
.fpa-sheet[data-context="final_exam"] .m-tab.is-on { background: var(--a22-navy); color: #fff; }
.fpa-sheet[data-context="lesson_browse"] .m-tab.is-on { background: var(--a22-navy); color: #fff; }

.fpa-next-row { display: flex !important; justify-content: space-between !important; align-items: center !important; gap: var(--a22-s3) !important; flex-wrap: wrap !important; }

.fpa-sheet[data-context="lesson_check"] .tip--open,
.fpa-sheet[data-context="repetition"] .tip--open,
.fpa-sheet[data-context="module_assessment"] .tip--open,
.fpa-sheet[data-context="domain_exam"] .tip--open,
.fpa-sheet[data-context="final_exam"] .tip--open { display: block; padding: 0; }
.fpa-sheet[data-context="lesson_browse"] .tip--open { display: block; padding: 0; }
.fpa-sheet[data-context="lesson_check"] .tip__body,
.fpa-sheet[data-context="repetition"] .tip__body,
.fpa-sheet[data-context="module_assessment"] .tip__body,
.fpa-sheet[data-context="domain_exam"] .tip__body,
.fpa-sheet[data-context="final_exam"] .tip__body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s ease; }
.fpa-sheet[data-context="lesson_browse"] .tip__body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s ease; }
.fpa-sheet[data-context="lesson_check"] .tip__body-in,
.fpa-sheet[data-context="repetition"] .tip__body-in,
.fpa-sheet[data-context="module_assessment"] .tip__body-in,
.fpa-sheet[data-context="domain_exam"] .tip__body-in,
.fpa-sheet[data-context="final_exam"] .tip__body-in,
.fpa-sheet[data-context="lesson_browse"] .tip__body-in { overflow: hidden; border-top: var(--a22-border); }
.fpa-sheet[data-context="lesson_check"] .tip--open .tip__body,
.fpa-sheet[data-context="repetition"] .tip--open .tip__body,
.fpa-sheet[data-context="module_assessment"] .tip--open .tip__body,
.fpa-sheet[data-context="domain_exam"] .tip--open .tip__body,
.fpa-sheet[data-context="final_exam"] .tip--open .tip__body { grid-template-rows: 1fr; }
.fpa-sheet[data-context="lesson_browse"] .tip--open .tip__body { grid-template-rows: 1fr; }
.fpa-sheet[data-context="lesson_check"] .tip--open .tip__body-in,
.fpa-sheet[data-context="repetition"] .tip--open .tip__body-in,
.fpa-sheet[data-context="module_assessment"] .tip--open .tip__body-in,
.fpa-sheet[data-context="domain_exam"] .tip--open .tip__body-in,
.fpa-sheet[data-context="final_exam"] .tip--open .tip__body-in { padding: var(--a22-s4) var(--a22-s5) var(--a22-s5); }
.fpa-sheet[data-context="lesson_browse"] .tip--open .tip__body-in { padding: var(--a22-s4) var(--a22-s5) var(--a22-s5); }
.fpa-sheet[data-context="lesson_check"] .tip,
.fpa-sheet[data-context="repetition"] .tip,
.fpa-sheet[data-context="module_assessment"] .tip,
.fpa-sheet[data-context="domain_exam"] .tip,
.fpa-sheet[data-context="final_exam"] .tip { display: block; background: var(--a22-white); border: 2px solid var(--a22-blue); border-radius: var(--a22-r-card); margin-top: var(--a22-s4); margin-bottom: var(--a22-s4); }
.fpa-sheet[data-context="lesson_browse"] .tip { display: block; background: var(--a22-white); border: 2px solid var(--a22-blue); border-radius: var(--a22-r-card); margin-top: var(--a22-s4); }

.a22-skill-btn.is-focus { outline: 2px solid var(--a22-blue); outline-offset: 2px; }
.a22-skill-btn.is-focus svg { stroke: var(--a22-blue) !important; }
.a22-skill-btn.is-focus svg polygon { stroke: var(--a22-blue) !important; }

.fpa-sheet[data-context="lesson_check"] .fpa-banner-teal { background: #fff !important; border-left: 3px solid var(--a22-blue) !important; border-radius: 0 !important; }

.fpa-sheet[data-context="flashcards"] .main { display: block; }
.fpa-sheet[data-context="flashcards"] .kick { margin-bottom: var(--a22-s4); }
.fpa-sheet[data-context="flashcards"] .kick h1 { font-size: 24px; font-weight: 700; color: var(--a22-navy); margin: var(--a22-s2) 0 0; }
.fpa-sheet[data-context="flashcards"] .kick h1 span { font-size: 15px; font-weight: 400; color: var(--a22-muted); margin-left: 6px; }

.fpa-sheet[data-context="flashcards"] .thin { height: 4px; background: var(--a22-line); border-radius: 2px; overflow: hidden; margin-bottom: var(--a22-s4); }
.fpa-sheet[data-context="flashcards"] .thin i { display: block; height: 100%; background: var(--a22-navy); border-radius: 2px; transition: width .2s ease; }

.fpa-sheet[data-context="flashcards"] .fcard { display: grid; align-content: center; justify-items: center; gap: 10px; width: 100%; min-height: 280px; background: #fff; border: 0; border-radius: var(--a22-r-card); box-shadow: var(--a22-shadow); padding: var(--a22-s6) var(--a22-s5); font: inherit; text-align: center; cursor: pointer; margin: 0 0 var(--a22-s4); }
.fpa-sheet[data-context="flashcards"] .fcard--front { cursor: pointer; }
.fpa-sheet[data-context="flashcards"] .fcard .a22-micro { display: block; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--a22-muted); }
.fpa-sheet[data-context="flashcards"] .fcard b { display: block; font-weight: 700; color: var(--a22-ink); margin: 0px; font-size: 40px; }
.fpa-sheet[data-context="flashcards"] .fcard__hint { display: block; font-size: 13px; color: var(--a22-muted); }
.fpa-sheet[data-context="flashcards"] .fcard--back p { color: var(--a22-ink); max-width: 52ch; margin: 0; font-size: 22px; }
.fpa-sheet[data-context="flashcards"] .fcard__from { font-size: 14px; color: var(--a22-soft); }
.fpa-sheet[data-context="flashcards"] .fcard__from a { color: var(--a22-navy); }
.fpa-sheet[data-context="flashcards"] .fcard--msg { display: flex; flex-direction: column; align-items: center; gap: var(--a22-s3); }
.fpa-sheet[data-context="flashcards"] .fcard--msg p { max-width: 44ch; margin: 0; }
.fpa-sheet[data-context="flashcards"] .fcard--skel { padding: 40px var(--a22-s5); }
.fpa-sheet[data-context="flashcards"] .fcard--skel .fpa-skel-bar { margin: 0 auto; }

.fpa-sheet[data-context="flashcards"] .fask { margin-top: var(--a22-s4); text-align: center; }
.fpa-sheet[data-context="flashcards"] .fask .row { display: flex; justify-content: center; gap: var(--a22-s3); flex-wrap: wrap; }
.fpa-sheet[data-context="flashcards"] .fask p { margin-top: var(--a22-s3); max-width: 52ch; margin-left: auto; margin-right: auto; }

.fpa-sheet[data-context="flashcards"] .fdone { text-align: center; margin-top: var(--a22-s5); background: #fff; border-radius: var(--a22-r-card); padding: var(--a22-s6) var(--a22-s5); display: flex; flex-wrap: wrap; align-items: center; gap: var(--a22-s5); justify-content: space-between; }
.fpa-sheet[data-context="flashcards"] .fdone__n { margin-bottom: 0; text-align: left; }
.fpa-sheet[data-context="flashcards"] .fdone__n span { display: block; font-size: 18px; color: var(--a22-soft); }
.fpa-sheet[data-context="flashcards"] .fdone__n b { font-weight: 600; display: block; font-size: 40px; line-height: 1.1; color: var(--a22-navy); }
.fpa-sheet[data-context="flashcards"] .a22-row { display: flex; justify-content: center; gap: var(--a22-s3); flex-wrap: wrap; }
@media (max-width: 599px) {
	.fpa-sheet[data-context="flashcards"] .fcard b { font-size: 30px; line-height: 1.2; color: var(--a22-navy); }
	.fpa-sheet[data-context="flashcards"] .a22-row { display: flex; justify-content: flex-start; gap: var(--a22-s3); flex-wrap: wrap; }
}

@media (max-width: 599px) {
	.fpa-sheet[data-context="module_intro"] .fpa-assess-card .fpa-linerow { display: block !important; flex-direction: column !important; }
}
.fpa-sheet[data-context="flashcards"] .a22-empty,
.fpa-sheet[data-context="progress"] .a22-empty { display: flex; flex-direction: column; align-items: center; gap: var(--a22-s3); background: #fff; border-radius: var(--a22-r-card); box-shadow: var(--a22-shadow); padding: var(--a22-s6) var(--a22-s5); text-align: center; }
.fpa-sheet[data-context="flashcards"] .a22-empty p,
.fpa-sheet[data-context="progress"] .a22-empty p { max-width: 44ch; margin: 0; color: var(--a22-ink); }

.fpa-head[hidden]{display:none!important}

.fpa-sheet[data-context="progress"] .pc--white { background: var(--a22-white) !important; border-radius: var(--a22-r-card) !important; padding: var(--a22-s2) var(--a22-s5) !important; margin: 0 0 var(--a22-s4); }
.fpa-sheet[data-context="completion"] .pc--white { background: var(--a22-white) !important; border-radius: var(--a22-r-card) !important; padding: var(--a22-s2) var(--a22-s5) !important; margin: 0 0 var(--a22-s4); }
.fpa-sheet[data-context="progress"] .d { border-bottom: var(--a22-border); }
.fpa-sheet[data-context="progress"] #fpa-domains > .d:last-child { border-bottom: 0; }
.fpa-sheet[data-context="progress"] .dh { display: grid; grid-template-columns: 1fr 250px 80px 22px; align-items: center; gap: var(--a22-s3); width: 100%; background: none; border: 0; padding: var(--a22-s4) 0; font: inherit; text-align: left; cursor: pointer; }
.fpa-sheet[data-context="progress"] .mb { display: grid; grid-template-columns: 1fr 284px 80px; align-items: center; gap: var(--a22-s3); padding: var(--a22-s2) 0; }
.fpa-sheet[data-context="progress"] .mb > span:first-child { padding-left: var(--a22-s5); }
.fpa-sheet[data-context="progress"] .dh .n { font-size: 15px; font-weight: 600; color: var(--a22-ink); }
.fpa-sheet[data-context="progress"] .chev { width: 22px; height: 22px; flex: none; fill: none; stroke: var(--a22-soft); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; transition: transform .15s ease; }
.fpa-sheet[data-context="progress"] .d.is-open .chev { transform: rotate(180deg); }
.fpa-sheet[data-context="progress"] .db { padding: 0 0 var(--a22-s4); }
.fpa-sheet[data-context="progress"] .mb > span:first-child { font-size: 14px; color: var(--a22-ink); }
.fpa-sheet[data-context="progress"] .dh .t, .fpa-sheet[data-context="progress"] .mb .t { height: 8px; border-radius: 4px; background: var(--a22-surface-2); overflow: hidden; display: block; }
.fpa-sheet[data-context="progress"] .dh .t i, .fpa-sheet[data-context="progress"] .mb .t i { display: block; height: 100%; background: var(--a22-navy); border-radius: 4px; }
.fpa-sheet[data-context="progress"] .dh .p, .fpa-sheet[data-context="progress"] .mb .p { text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; font-size: 15px; color: #000; }

.fpa-sheet[data-context="progress"] .pc--white h2 { margin: var(--a22-s3) 0 var(--a22-s2) !important; font-size: 21px !important; color: var(--a22-navy) !important; }
.fpa-sheet[data-context="completion"] .pc--white h2 { margin: var(--a22-s3) 0 var(--a22-s2) !important; font-size: 21px !important; color: var(--a22-navy) !important; }

.fpa-no-scores .d .fpa-score, .fpa-no-scores .mb .fpa-score { display: inline-block !important; visibility: hidden !important; }
.fpa-arrival {
	max-width: 100% !important;
	margin: unset !important;
}

@media (max-width: 599px) {
	.fpa-sheet[data-context="progress"] .dh { display: flex !important; flex-wrap: wrap !important; align-items: center !important; justify-content: space-between !important; gap: var(--a22-s2) var(--a22-s3) !important; }
	.fpa-sheet[data-context="progress"] .dh .n { order: 1; flex: 1 1 0; min-width: 0; overflow-wrap: break-word; word-break: break-word; white-space: normal; }
	.fpa-sheet[data-context="progress"] .dh .chev { order: 2; flex: none !important; }
	.fpa-sheet[data-context="progress"] .dh .t { order: 3; flex-basis: 100%; max-width: none; }
	.fpa-sheet[data-context="progress"] .dh .p { order: 4; flex: 1 1 auto; text-align: left; }

	.fpa-sheet[data-context="progress"] .mb { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: var(--a22-s2) var(--a22-s3) !important; padding-left: var(--a22-s5) !important; }
	.fpa-sheet[data-context="progress"] .mb > span:first-child { flex: 1 1 100%; min-width: 0; padding-left: 0 !important; }
	.fpa-sheet[data-context="progress"] .mb .t { flex-basis: 100%; max-width: none; }
	.fpa-sheet[data-context="progress"] .mb .p { flex: 1 1 100%; text-align: center; }
}

.fpa-sheet[data-context="progress"] .pc--focus { border-radius: var(--a22-r-card) !important; padding: var(--a22-s5) !important; margin-bottom: var(--a22-s4) !important; background: var(--a22-surface-2); margin: 0 0 var(--a22-s4); }
.fpa-sheet[data-context="completion"] .pc--focus { border-radius: var(--a22-r-card) !important; padding: var(--a22-s5) !important; margin-bottom: var(--a22-s4) !important; background: var(--a22-surface-2); margin: 0 0 var(--a22-s4); }
.fpa-sheet[data-context="progress"] .fhead { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--a22-s4); flex-wrap: wrap; margin-bottom: var(--a22-s4); }
h2#fpa-p-modules-answer { font-size: 21px !important; margin: 0px !important; margin-bottom: 15px !important; color: var(--a22-navy); }
.fpa-sheet[data-context="progress"] .fhead p { margin: 0; max-width: 52ch; }
.fpa-sheet[data-context="progress"] .pc--focus .mb { padding-left: 0 !important; }
.fpa-sheet[data-context="progress"] .pc--focus .mb > span:first-child { padding-left: 0 !important; }

.fpa-sheet[data-context="progress"] .fpa-p-grid2 { grid-template-columns: 1.4fr 1fr !important; }
.fpa-sheet[data-context="progress"] span.fpa-kicker {
    font-size: 21px !important;
    color: var(--a22-navy) !important;
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 var(--a22-s3);
    text-transform: capitalize !important;
    letter-spacing: 0em !important;
}
.fpa-sheet[data-context="progress"] div#fpa-p-qtypes {
    background: var(--a22-warm) !important;
    border-radius: var(--a22-r-card) !important;
    padding: var(--a22-s5) !important;
}
.fpa-sheet[data-context="progress"] .fpa-qtype-val {
    font-weight: 700;
    color: var(--a22-navy) !important;
    margin-bottom: 6px !important;
    font-variant-numeric: tabular-nums;
    font-size: 15px !important;
}
.fpa-sheet[data-context="progress"] .fpa-qtype-col { width: 60% !important; }
.fpa-sheet[data-context="progress"] .fpa-qtype-bars { padding-bottom: 25px !important; height: 170px !important; }
.fpa-sheet[data-context="progress"] .fpa-qtype-labels {
    margin-top: -23px !important;
    color: var(--a22-soft) !important;
    font-size: 13px !important;
}
.fpa-sheet[data-context="progress"] .fpa-qtype-fold {
    border-radius: 0px !important;
    margin-top: 0px !important;
    overflow: hidden !important;
    border: none !important;
    border-top: 1px solid var(--fpa-line) !important;
}
.fpa-sheet[data-context="progress"] .fpa-qtype-fold-head {
    padding: 10px 0px !important;
    font-size: 18px !important;
    font-weight: 600;
    color: var(--a22-navy);
    text-align: left;
    border-bottom: 0px solid var(--fpa-line) !important;
}
.fpa-sheet[data-context="progress"] .fpa-qtype-fold-pct {
    white-space: nowrap !important;
    font-size: 18px !important;
    font-weight: 600;
    color: var(--a22-navy);
    text-align: left;
}
.fpa-sheet[data-context="progress"] section#fpa-p-modules-wrap div#fpa-p-modules span.t { background: white; }
.fpa-sheet[data-context="progress"] div#fpa-p-qtypes-folds { margin-top: 20px; }
.fpa-sheet[data-context="progress"] .fpa-qtype-fold > div:last-child { padding: 0 0px 12px !important; }
.fpa-sheet[data-context="progress"] .fpa-linesub {
    display: block !important;
    font-size: 18px !important;
    margin-top: 3px !important;
    color: var(--a22-soft) !important;
    margin: 0 0 var(--a22-s3);
}
.fpa-sheet[data-context="progress"] div#fpa-p-confidence {
    background: var(--a22-blue-soft) !important;
    border-radius: var(--a22-r-card) !important;
    padding: var(--a22-s5) !important;
}
.fpa-sheet[data-context="progress"] div#fpa-p-confidence .fpa-domainrow {
    margin-bottom: 8px !important;
    display: grid !important;
    grid-template-columns: 140px minmax(0, 1fr) 40px;
    gap: 10px var(--a22-s3) !important;
    align-items: center;
}
.fpa-sheet[data-context="progress"] div#fpa-p-confidence .fpa-domainrow .fpa-pct {
    text-align: left !important;
    white-space: nowrap !important;
    font-size: 17px !important;
}
.fpa-sheet[data-context="progress"] div#fpa-p-confidence .fpa-domainrow .fpa-bar { background: white !important; }
.fpa-sheet[data-context="progress"] div#fpa-p-confidence .fpa-domainname {
    width: unset !important;
    font-size: 18px !important;
    color: var(--a22-ink) !important;
    line-height: 1.6;
}
.fpa-sheet[data-context="progress"] div#fpa-p-confidence p#fpa-p-understanding { font-size: 14px !important; line-height: 1.5; }
.fpa-sheet[data-context="progress"] div#fpa-p-confidence p#fpa-p-conf-based-on { font-size: 14px !important; line-height: 1.5; }

@media (max-width: 599px) {
	.fpa-sheet[data-context="progress"] .fpa-p-grid2 { grid-template-columns: 1fr !important; }
	.fpa-sheet[data-context="progress"] .fpa-qtype-labels { font-size: 12px !important; gap: 0px !important; }
}

.fpa-sheet[data-context="progress"] .pc--white.rev2 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--a22-s4);
    padding: var(--a22-s5) !important;
    margin: 0 0 var(--a22-s4);
    border-left: 4px solid var(--a22-orange);
    border-radius: 0 var(--a22-r-card) var(--a22-r-card) 0 !important;
}

.fpa-sheet[data-context="progress"] section#fpa-continue-row {
    border: none !important;
    border-left: 4px solid var(--a22-blue) !important;
    border-radius: 0 var(--a22-r-card) var(--a22-r-card) 0 !important;
    padding: var(--a22-s5) !important;
    margin: 0 0 var(--a22-s4);
}
.fpa-sheet[data-context="progress"] #fpa-continue-row b {
    display: block;
    font-size: 18px;
    color: var(--a22-navy);
}
.fpa-sheet[data-context="progress"] .pc--white.rev2 .big2 { font-size: 32px; font-weight: 700; color: var(--a22-navy); line-height: 1; margin-right: var(--a22-s3); }
.fpa-sheet[data-context="progress"] .pc--white.rev2 > div:first-child { display: flex; align-items: center; }
.fpa-sheet[data-context="progress"] .pc--white.rev2 #fpa-flag-text { color: var(--a22-soft); font-size: 15px; }
.fpa-sheet[data-context="progress"] section#fpa-continue-row div {
    justify-content: flex-start;
    flex: 1;
    display: flex;
    align-items: center;
    gap: 10px;
}

.fpa-sheet[data-context="progress"] .tr { display: flex; align-items: center; gap: var(--a22-s3); padding: var(--a22-s3) 0; border-bottom: var(--a22-border); }
.fpa-sheet[data-context="progress"] .tr:last-child { border-bottom: 0; }
.fpa-sheet[data-context="progress"] .tc { flex: none; width: 32px; font-weight: 600; color: var(--a22-muted); font-variant-numeric: tabular-nums; }
.fpa-sheet[data-context="progress"] .tn { flex: 1; min-width: 0; font-size: 15px; color: var(--a22-ink); }
.fpa-sheet[data-context="progress"] .tn b { color: var(--a22-navy); margin-right: 6px; }
.fpa-sheet[data-context="progress"] .ts { flex: none; width: 90px; text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; font-size: 15px; }
.fpa-sheet[data-context="progress"] .ts--ok { color: var(--a22-ok);font-size: 18px; }
.fpa-sheet[data-context="progress"] .ts--bad { color: var(--a22-bad);font-size: 18px; }
.fpa-sheet[data-context="progress"] .unl { flex: none; width: 140px; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.fpa-sheet[data-context="progress"] .unl .t { width: 100%; height: 8px; border-radius: 3px; background: var(--a22-line); overflow: hidden; }
.fpa-sheet[data-context="progress"] .unl .t i { display: block; height: 100%; background: var(--a22-navy); border-radius: 3px; }
.fpa-sheet[data-context="progress"] .unl small { font-size: 12px; color: var(--a22-muted); }
.fpa-sheet[data-context="progress"] .tbtn { flex: none; }
.fpa-sheet[data-context="progress"] .tr .tn { font-size: 18px; color: var(--a22-ink); line-height: 1.6; }
.fpa-sheet[data-context="progress"] .tr .tn b { color: var(--a22-navy); margin-right: 4px; font-size: 18px; }

@media (max-width: 599px) {
	.fpa-sheet[data-context="progress"] .tr { flex-wrap: wrap; }
	.fpa-sheet[data-context="progress"] .tn { flex-basis: 80%; order: 1; }
	.fpa-sheet[data-context="progress"] .tc { order: 0; flex-basis: 10%; }
	.fpa-sheet[data-context="progress"] .tr .tn b { font-size: 16px; line-height: 1.3; }
	.fpa-sheet[data-context="progress"] .tr .tn { font-size: 16px; line-height: 1.3; }
	.fpa-sheet[data-context="progress"] .ts, .fpa-sheet[data-context="progress"] .unl { order: 2; flex: 1 1 auto; width: auto; }
	.fpa-sheet[data-context="progress"] .tbtn { order: 3; }
}
.fpa-sheet[data-context="progress"] .fold-caret { display: inline-flex; align-items: center; justify-content: center; flex: none; }
.fpa-sheet[data-context="progress"] .fold-caret .chev { width: 20px; height: 20px; fill: none; stroke: var(--a22-soft); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; transition: transform .15s ease; }
.fpa-sheet[data-context="progress"] .fold-caret.is-open .chev { transform: rotate(180deg); }

.fpa-sheet[data-context="progress"] .a22-locked { position: relative; background: #fff; border-radius: var(--a22-r-card); box-shadow: none; padding: var(--a22-s6) var(--a22-s5); text-align: center; overflow: hidden; }
.fpa-sheet[data-context="progress"] .a22-locked__inner { max-width: 100%; margin: 0 auto; text-align: left; }
.fpa-sheet[data-context="progress"] .a22-locked__cta { position: relative; z-index: 1; padding: 0; margin-top: -60px; }
.fpa-sheet[data-context="progress"] .a22-empty { box-shadow: none !important; }

.fpa-sheet[data-context="progress"] .lc { width: 100%; display: block; max-width: 100%; height: auto; font-family: inherit; }
.fpa-sheet[data-context="progress"] .lgd { display: flex; align-items: center; gap: var(--a22-s2); flex-wrap: wrap; margin: var(--a22-s3) 0 var(--a22-s4); }
.fpa-sheet[data-context="progress"] .lgd .k { display: inline-block; width: 12px; height: 3px; border-radius: 2px; margin-left: var(--a22-s3); }
.fpa-sheet[data-context="progress"] .lgd .k:first-child { margin-left: 0; }
.fpa-sheet[data-context="progress"] .lgd .k--y { background: var(--a22-navy); }
.fpa-sheet[data-context="progress"] .lgd .k--p { background: none; border-top: 2px dashed var(--a22-muted); display: inline-block; width: 18px; height: 3px; vertical-align: middle; margin-right: 6px; }

.fpa-sheet[data-context="progress"] .od { display: flex; align-items: center; gap: var(--a22-s3); flex-wrap: wrap; margin-top: var(--a22-s4); }
.fpa-sheet[data-context="progress"] .a22-datebox { position: relative; display: inline-flex; align-items: center; gap: 8px; padding: var(--a22-s2) var(--a22-s3); border: var(--a22-border); border-radius: var(--a22-r-control); cursor: pointer; color: var(--a22-navy); font-weight: 600; font-size: 14px; }
.fpa-sheet[data-context="progress"] .a22-datebox svg,
.fpa-sheet[data-context="progress"] .a22-datebox span { position: relative; z-index: 1; }
.fpa-sheet[data-context="progress"] .a22-datebox input[type="date"] { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; z-index: 2; }

.fpa-sheet[data-context="progress"] .od--empty .a22-datebox { border: 0; padding: 0; }
.fpa-sheet[data-context="progress"] .od--empty .a22-datebox svg,
.fpa-sheet[data-context="progress"] .od--empty .a22-datebox span { display: none; }
.fpa-sheet[data-context="progress"] .od--empty .a22-datebox input[type="date"] { position: static; opacity: 1; width: auto; height: auto; z-index: auto; border: var(--a22-border); border-radius: var(--a22-r-control); padding: var(--a22-s2) var(--a22-s3); font-size: 14px; color: var(--a22-navy); }

.fpa-sheet[data-context="progress"] .behind { margin: 0 !important; color: var(--a22-warn) !important; font-weight: 600 !important; font-size: 18px !important; margin-top: 5px !important; }
#fpa-p-od-save[hidden] { display: none !important; }
.fpa-sheet[data-context="progress"] .od > span:first-child { font-size: 12px !important; font-weight: 700 !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: var(--a22-muted) !important; }

.exam-intro { max-width: none; width: 100%; }
.exam-intro .kick { margin-bottom: var(--a22-s5); }
.exam-intro .kick h1 { margin: var(--a22-s2) 0 0 !important; font-size: 32px !important; line-height: 1.2 !important; font-weight: 700 !important; color: var(--a22-navy) !important; }

.exam-intro .m-tiles { display: grid; gap: var(--a22-s3); grid-template-columns: 1fr 1fr; margin-bottom: var(--a22-s4); }
@media (min-width: 900px) {
	.exam-intro .m-tiles--3 { grid-template-columns: repeat(3, 1fr); }
	.exam-intro .m-tiles--4 { grid-template-columns: repeat(4, 1fr); }
}
.exam-intro .m-metric { background: var(--a22-white); border-radius: var(--a22-r-card); padding: var(--a22-s4) var(--a22-s5); }
.exam-intro .m-metric p { margin: 0; }
.exam-intro .m-metric .l { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--a22-muted); }
.exam-intro .m-metric .v { margin-top: var(--a22-s2); font-size: 32px; font-weight: 700; line-height: 1.1; color: var(--a22-navy); font-variant-numeric: tabular-nums; }
.exam-intro .m-metric .x { margin-top: var(--a22-s1); font-size: 14px; color: var(--a22-soft); }

.exam-intro .rules { background: var(--a22-white); border-radius: var(--a22-r-card); padding: var(--a22-s5); margin-bottom: var(--a22-s4); }
.exam-intro .a22-list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--a22-s3); }
.exam-intro .a22-list li { position: relative; padding-left: var(--a22-s5); font-size: 16px; line-height: 1.5; color: var(--a22-ink); }
.exam-intro .a22-list li::before { content: ''; position: absolute; left: 4px; top: .55em; width: 7px; height: 7px; background: var(--a22-orange); transform: rotate(45deg); }
.exam-intro .rules .a22-skill-row { margin: var(--a22-s4) 0 0; }

.exam-intro .guar { display: flex; gap: var(--a22-s3); align-items: center; background: var(--a22-blue-soft); border-radius: var(--a22-r-card); padding: var(--a22-s4) var(--a22-s5); margin: 0 0 var(--a22-s4); }
.exam-intro .guar .pair { flex: none; width: 48px; height: auto; }
.exam-intro .guar p { margin: 0; font-size: 18px; line-height: 1.5; color: var(--a22-ink); }
.exam-intro .guar a { color: var(--a22-navy); font-weight: 600; text-decoration: underline; }

.exam-intro .pn2 { display: flex; align-items: center; gap: var(--a22-s3); flex-wrap: wrap; margin-top: var(--a22-s5); }
@media (max-width: 599px) {
	.exam-intro .kick h1 { font-size: 26px !important; }
	.exam-intro .m-metric .v { font-size: 26px; }
	.exam-intro .pn2 { flex-direction: column; align-items: stretch; }
	.exam-intro .pn2 .a22-btn { justify-content: center; text-align: center; }
	.exam-intro .guar { align-items: flex-start; }
}
.exam-intro .fpa-c1-rules { margin: 0 !important; padding: 0 !important; color: var(--a22-ink) !important; font-size: 16px !important; }
.exam-intro .fpa-c1-rules li { margin: 0 !important; padding-left: var(--a22-s5) !important; font-size: 16px !important; }

.ex-sitting { width: 100%; }
.ex-sitting .ex-head { display: flex; align-items: baseline; flex-wrap: wrap; gap: var(--a22-s3); margin-bottom: var(--a22-s4); }
.ex-sitting .ex-head b { font-size: 24px; line-height: 1.2; color: var(--a22-navy); font-variant-numeric: tabular-nums; }
.ex-sitting .ex-count { margin-left: auto; font-size: 14px; color: var(--a22-soft); }

.ex-sitting .ex-grid { display: grid; grid-template-columns: 1fr; gap: var(--a22-s4); align-items: start; }
@media (min-width: 900px) { .ex-sitting .ex-grid--scen { grid-template-columns: 1fr 1fr; } }
.ex-sitting .qcard { background: var(--a22-white); border-radius: var(--a22-r-card); padding: var(--a22-s5); }
.ex-sitting .scen { background: var(--a22-surface) !important; border-left: 4px solid var(--a22-line) !important; border-radius: 0 var(--a22-r-control) var(--a22-r-control) 0 !important; padding: var(--a22-s3) var(--a22-s4) !important; margin: 0 0 var(--a22-s4) !important; }
.ex-sitting .scen .a22-micro { display: block; margin-bottom: var(--a22-s2); }
.ex-sitting .scen p { margin: 0; font-size: 16px; line-height: 1.6; color: var(--a22-ink); white-space: pre-line; }
.ex-sitting .stem { margin: 0 0 var(--a22-s4); font-size: 18px; line-height: 1.5; font-weight: 600; color: var(--a22-ink); }
.ex-sitting .fpa-opts { display: grid; gap: var(--a22-s3); }

.ex-sitting .ex-foot { display: flex; align-items: center; justify-content: space-between; gap: var(--a22-s3); margin-top: var(--a22-s4); }
.ex-sitting .m-flag { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border: 1.5px solid var(--a22-line); border-radius: var(--a22-r-pill); background: var(--a22-white); font: inherit; font-size: 14px; font-weight: 600; color: var(--a22-soft); cursor: pointer; }
.ex-sitting .m-flag svg { width: 16px; height: 9px; flex: none; }
.ex-sitting .m-flag:hover { border-color: var(--a22-navy); }
.ex-sitting .m-flag.is-flagged { border-color: var(--a22-orange); color: var(--a22-navy); }

.ex-sitting .ex-nav { margin-top: var(--a22-s5); background: var(--a22-white); border-radius: var(--a22-r-card); padding: var(--a22-s4) var(--a22-s5); }
.ex-sitting .ex-nav summary { cursor: pointer; list-style: none; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--a22-muted); }
.ex-sitting .ex-nav summary::-webkit-details-marker { display: none; }
.ex-sitting .ex-nav summary::marker { content: ''; }

.a22-appbar.ex-bar .a22-appbar__in { gap: var(--a22-s4); }
.ex-bar .a22-appbar__mark { cursor: default; }
.ex-bar .ex-bar__t { flex: 1; min-width: 0; display: flex; align-items: center; gap: var(--a22-s3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 16px; font-weight: 600; color: var(--a22-ink); }
.ex-bar .cchip { flex: none; display: inline-flex; align-items: center; padding: 3px 10px; border-radius: var(--a22-r-pill); background: var(--a22-blue-soft); color: var(--a22-navy); font-size: 12px; font-weight: 700; letter-spacing: .06em; }
.ex-bar .ex-timer { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 3px; min-width: 132px; }
.ex-bar .ex-timer b { font-size: 22px; line-height: 1; font-weight: 700; color: var(--a22-navy); font-variant-numeric: tabular-nums; }
.ex-bar .ex-line { display: block; width: 100%; height: 3px; border-radius: 2px; background: var(--a22-surface-2); overflow: hidden; }
.ex-bar .ex-line i { display: block; height: 100%; width: 100%; background: var(--a22-navy); border-radius: 2px; transition: width 1s linear; }
.ex-bar .ex-timer.is-low b { color: var(--a22-bad); }
.ex-bar .ex-timer.is-low .ex-line i { background: var(--a22-bad); }
@media (max-width: 599px) {
	.a22-appbar.ex-bar .a22-appbar__in { gap: var(--a22-s3); }
	.ex-bar .ex-bar__t { font-size: 13px; }
	.ex-bar .ex-timer { min-width: 84px; }
	.ex-bar .ex-timer .a22-micro { display: none; }
	.ex-bar .ex-timer b { font-size: 18px; }
}

.fpa-modal.fpa-modal--exam h2 { font-size: 20px !important; line-height: 1.3 !important; font-weight: 700 !important; color: var(--a22-navy) !important; margin: 0 0 var(--a22-s3) !important; }
.fpa-modal.fpa-modal--exam p { font-size: 18px !important; line-height: 1.5 !important; color: var(--a22-soft) !important; margin: 0 0 var(--a22-s5) !important; }
.fpa-modal.fpa-modal--exam { max-width: 520px !important; }

.res { width: 100%; }
.res .kick { margin-bottom: var(--a22-s4); }
.res .kick h1 { margin: var(--a22-s2) 0 0 !important; font-size: 28px !important; line-height: 1.2 !important; font-weight: 700 !important; color: var(--a22-navy) !important; }
.res .a22-micro { display: block; }

.res-card { background: var(--a22-white); border-radius: var(--a22-r-card); padding: var(--a22-s5); margin-bottom: var(--a22-s4); }
.res-card > .a22-micro { margin-bottom: var(--a22-s4); }

.res-dom { display: grid; grid-template-columns: minmax(120px, 280px) 1fr 56px; align-items: center; gap: var(--a22-s4); padding: 7px 0; }
.res-dom__n { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 15px; color: var(--a22-ink); }
.res-track { display: block; height: 8px; border-radius: 4px; background: var(--a22-surface-2); overflow: hidden; }
.res-track i { display: block; height: 100%; border-radius: 4px; background: var(--a22-navy); }
.res-track i.is-weak { background: var(--a22-orange); }
.res-dom__p { text-align: right; font-size: 16px; color: var(--a22-navy); font-variant-numeric: tabular-nums; }

.res-bars { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--a22-s4); padding-bottom: var(--a22-s3); margin-bottom: var(--a22-s3); }
.res-bar__a { height: 150px; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 6px; }
.res-bar__v { font-size: 13px; font-weight: 700; color: var(--a22-navy); font-variant-numeric: tabular-nums; }
.res-bar__f { display: block; width: 44px; border-radius: 3px 3px 0 0; background: var(--a22-navy); }
.res-bar__f.is-weak { background: var(--a22-orange); }
.res-bar__l { display: block; margin-top: 6px; text-align: center; font-size: 12px; color: var(--a22-muted); }

.res-fold { border-top: var(--a22-border); }
.res-fold__h { display: flex; align-items: center; gap: var(--a22-s3); width: 100%; padding: 14px 0; background: none; border: 0; font: inherit; font-size: 18px; font-weight: 600; color: var(--a22-navy); text-align: left; cursor: pointer; }
.res-fold__h > span:first-child { flex: 1; }
.res-fold__p { font-size: 18px; font-weight: 600; color: var(--a22-navy); font-variant-numeric: tabular-nums; }
.res-fold__p.is-weak { color: var(--a22-orange); }
.res-fold__c .chev, .rr__c .chev { display: block; width: 20px; height: 20px; fill: none; stroke: var(--a22-soft); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; transition: transform .15s ease; }
.res-fold.is-open .res-fold__c .chev { transform: rotate(180deg); }
.res-fold__b { padding: 0 0 var(--a22-s4); }
.res-fold__b p { margin: 0; max-width: 68ch; font-size: 16px; line-height: 1.5; color: var(--a22-soft); }
.res-fold__b .res-fold__l { margin-top: var(--a22-s3); font-size: 14px; color: var(--a22-soft); }
.res-fold__l b { color: var(--a22-ink); }

.res-skill { display: flex; align-items: center; gap: var(--a22-s5); background: var(--a22-white); border: 1.5px solid var(--a22-blue); border-radius: var(--a22-r-card); padding: var(--a22-s4) var(--a22-s5); margin-bottom: var(--a22-s4); }
.res-skill__i { flex: none; display: flex; flex-direction: column; align-items: center; gap: 4px; width: 84px; }
.res-skill__i .pair { width: 44px; height: auto; }
.res-skill__t { flex: 1; min-width: 0; }
.res-skill__t b { display: block; font-size: 18px; color: var(--a22-navy); }
.res-skill__t p { margin: 4px 0 0; font-size: 15px; line-height: 1.5; color: var(--a22-soft); }
.res-skill .a22-btn { flex: none; }
.res-skill .a22-btn svg { width: 18px; height: 10px; margin-right: 6px; color: var(--a22-blue); }

.res .pn2 { display: flex; align-items: center; gap: var(--a22-s3); flex-wrap: wrap; margin: var(--a22-s4) 0 var(--a22-s5); }

.res-h { margin: var(--a22-s5) 0 var(--a22-s3) !important; font-size: 22px !important; font-weight: 700 !important; color: var(--a22-navy) !important; }
.rr { background: var(--a22-white); border-radius: var(--a22-r-card); margin-bottom: var(--a22-s3); overflow: hidden; }
.rr.is-bookmarked { box-shadow: inset 0 0 0 2px var(--a22-orange); }
.rr__h { display: flex; align-items: center; gap: var(--a22-s3); width: 100%; padding: var(--a22-s3) var(--a22-s4); background: none; border: 0; font: inherit; text-align: left; }
button.rr__h { cursor: pointer; }
.rr__x { flex: none; width: 20px; height: 20px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--a22-bad-bg); color: var(--a22-bad); font-size: 14px; font-weight: 700; line-height: 1; }
.rr--ok .rr__x { background: var(--a22-ok-bg); color: var(--a22-ok); }
.rr__t { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.rr__t b { font-size: 15px; font-weight: 700; color: var(--a22-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rr.is-open .rr__t b { white-space: normal; }
.rr__t small { font-size: 12px; color: var(--a22-muted); }
.rr.is-open .rr__c .chev { transform: rotate(90deg); }
.rr__b { padding: 0 var(--a22-s4) var(--a22-s4); }
.ans { display: flex; align-items: center; gap: var(--a22-s3); margin-top: var(--a22-s3); padding: var(--a22-s3) var(--a22-s4); border-radius: var(--a22-r-control); font-size: 15px; line-height: 1.4; color: var(--a22-ink); }
.ans--wrong { background: var(--a22-bad-bg); border: 1px solid rgba(180, 67, 47, .35); }
.ans--ok { background: var(--a22-ok-bg); border: 1px solid rgba(43, 116, 72, .35); }
.ans__k { flex: none; width: 24px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; color: #fff; font-size: 12px; font-weight: 700; }
.ans--wrong .ans__k { background: var(--a22-bad); }
.ans--ok .ans__k { background: var(--a22-ok); }
.res-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: var(--a22-s3); }
.res-tab { min-height: 32px; padding: 0 14px; border: 0; border-radius: var(--a22-r-pill); background: var(--a22-surface-2); font: inherit; font-size: 13px; font-weight: 600; color: var(--a22-navy); cursor: pointer; }
.res-tab.is-on { background: var(--a22-navy); color: #fff; }
.res-out { margin-top: var(--a22-s4); max-width: 68ch; font-size: 16px; line-height: 1.55; color: var(--a22-soft); }
.res-out p { margin: 0 0 var(--a22-s3); }
.res-out .fpa-ainote { display: inline-block; padding: 2px 10px; border: 1px solid var(--a22-line); border-radius: var(--a22-r-pill); background: var(--a22-white); font-size: 12px; color: var(--a22-soft); }
.rr__b > .a22-btn { margin-top: var(--a22-s4); }
.res-foot { margin: var(--a22-s3) 0 0; font-size: 13px; color: var(--a22-soft); }
.res-link { padding: 0; border: 0; background: none; font: inherit; color: var(--a22-navy); text-decoration: underline; cursor: pointer; }
.res-correct { margin-top: var(--a22-s3); }

@media (max-width: 599px) {
	.rhead { flex-direction: column; align-items: flex-start; }
	.res-dom { grid-template-columns: 1fr auto; row-gap: 6px; }
	.res-dom .res-track { grid-column: 1 / -1; grid-row: 2; }
	.res-bars { gap: var(--a22-s2); }
	.res-bar__f { width: 30px; }
	.res-skill { flex-wrap: wrap; }
	.res .rhead__t p.big { font-size: 28px; }
}

.res .rhead { display: flex; align-items: center; gap: var(--a22-s5); background: var(--a22-white); border-radius: var(--a22-r-card); padding: var(--a22-s5); margin-bottom: var(--a22-s4); }
.res .rhead__n { position: relative; flex: none; width: 96px; height: 96px; }
.res .rring { display: block; width: 96px; height: 96px; }
.res .rhead__n b { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 24px; font-weight: 700; color: var(--a22-navy); font-variant-numeric: tabular-nums; }
.res .rhead__t { min-width: 0; }
.res .rhead__t p { margin: var(--a22-s2) 0 0; font-size: 16px; line-height: 1.5; color: var(--a22-ink); }
.res .rhead__t p.big { margin: 0; font-size: 34px; line-height: 1.1; font-weight: 700; color: var(--a22-navy); }
.res .rhead__t a { color: var(--a22-navy); font-weight: 600; text-decoration: underline; }
.res .pill { display: inline-block; padding: 2px 10px; border-radius: var(--a22-r-pill); font-size: 12px; font-weight: 700; }
.res .pill--ok { background: var(--a22-ok-bg); color: var(--a22-ok); }
.res .pill--bad { background: var(--a22-warn-bg); color: var(--a22-warn); }
.exam-intro .rules .a22-skill-row:empty { display: none; margin: 0; }

.fpa-sheet[data-context="completion"] .a22-row { display: flex; justify-content: flex-start; gap: var(--a22-s3); flex-wrap: wrap; margin-top: var(--a22-s4); }
.fpa-sheet[data-context="completion"] .res-dom-trend { margin: -2px 0 var(--a22-s3); font-size: 13px; }
.fpa-sheet[data-context="completion"] .pc--focus > div:first-child { max-width: 62ch; }
.fpa-sheet[data-context="completion"] .pn2 { display: flex; flex-wrap: wrap; gap: var(--a22-s3); }
.fpa-modal .pn2 { display: flex; flex-wrap: wrap; gap: var(--a22-s3); }

.fpa-sheet[data-context="scenario"] .fpa-head-inline { display: flex !important; align-items: flex-start !important; justify-content: space-between !important; gap: var(--a22-s4) !important; margin: 0 0 var(--a22-s4) !important; }
.fpa-sheet[data-context="scenario"] .fpa-kicker { display: block !important; margin: 0 0 var(--a22-s2) !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: var(--a22-muted) !important; }
.fpa-sheet[data-context="scenario"] .fpa-head-inline h2 { margin: 0 !important; font-size: 28px !important; line-height: 1.2 !important; font-weight: 700 !important; color: var(--a22-navy) !important; }
.fpa-sheet[data-context="scenario"] .fpa-chip-plain { flex: none !important; display: inline-flex !important; align-items: center !important; padding: 5px 14px !important; border-radius: var(--a22-r-pill) !important; background: var(--a22-blue-soft) !important; color: var(--a22-navy) !important; font-size: 13px !important; font-weight: 700 !important; }

.fpa-sheet[data-context="scenario"] .fpa-card.fpa-situation {background: var(--a22-ok-bg) !important;border: 0 !important;border-radius: var(--a22-r-card) !important;padding: var(--a22-s4) var(--a22-s5) !important;margin: 0 0 var(--a22-s4) !important;}
.fpa-sheet[data-context="scenario"] .fpa-situation .fpa-linesub { font-size: 15px !important; line-height: 1.55 !important; color: var(--a22-ink) !important; }

.fpa-sheet[data-context="scenario"] .fpa-card.fpa-bubble {background: var(--a22-blue-soft) !important;border: 0 !important;border-radius: var(--a22-r-card) !important;padding: var(--a22-s4) var(--a22-s5) !important;margin: 0 0 var(--a22-s3) !important;max-width: 80%;}
.fpa-sheet[data-context="scenario"] .fpa-card.fpa-bubble-you,.fpa-sheet[data-context="scenario"] .fpa-card.fpa-bubble-you p ,.fpa-sheet[data-context="scenario"] .fpa-card.fpa-bubble-you div {background: white !important;color: var(--a22-navy) !important;margin-left: auto !important;}
.fpa-sheet[data-context="scenario"] .fpa-card.fpa-bubble-you strong,
.fpa-sheet[data-context="scenario"] .fpa-card.fpa-bubble-you b {color: var(--a22-navy) !important;}
.fpa-sheet[data-context="scenario"] .fpa-card.fpa-bubble p { margin: 0 !important; font-size: 15px !important; line-height: 1.55 !important; }
.fpa-sheet[data-context="scenario"] .fpa-card.fpa-bubble strong:first-child { display: block; margin-bottom: 2px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; opacity: .65; }

.fpa-sheet[data-context="scenario"] .fpa-row-actions { display: flex !important; align-items: center !important; gap: var(--a22-s3) !important; flex-wrap: wrap !important; margin: var(--a22-s4) 0 !important; }
.fpa-sheet[data-context="scenario"] .fpa-date-input { flex: 1 1 260px !important; min-height: 44px !important; padding: 0 var(--a22-s4) !important; border: var(--a22-border) !important; border-radius: var(--a22-r-control) !important; font: inherit !important; font-size: 15px !important; }
.fpa-sheet[data-context="scenario"] .fpa-btn.fpa-sm { display: inline-flex !important; align-items: center !important; justify-content: center !important; min-height: 44px !important; padding: 0 var(--a22-s5) !important; border-radius: var(--a22-r-pill) !important; font: inherit !important; font-size: 15px !important; font-weight: 600 !important; cursor: pointer !important; border: 0 !important; }
.fpa-sheet[data-context="scenario"] .fpa-btn.fpa-sm.fpa-primary { background: var(--a22-blue) !important; color: #0F1D33 !important; }
.fpa-sheet[data-context="scenario"] .fpa-btn.fpa-sm.fpa-ghost { background: none !important; border: 0 !important; padding: 0 !important; min-height: auto !important; color: var(--a22-navy) !important; font-weight: 600 !important; text-decoration: underline !important; }

.fpa-sheet[data-context="scenario"] .fpa-linesub { display: block !important; margin: 0 0 var(--a22-s2) !important; font-size: 13px !important; line-height: 1.5 !important; color: var(--a22-muted) !important; max-width: 100%; }
.fpa-sheet[data-context="scenario"] .fpa-linkbtn { color: var(--a22-navy) !important; font-weight: 600 !important; text-decoration: underline !important; }
.fpa-sheet[data-context="scenario"] .fpa-ainote { display: inline-block !important; margin-top: var(--a22-s3) !important; padding: 2px 10px !important; border: 1px solid var(--a22-line) !important; border-radius: var(--a22-r-pill) !important; font-size: 12px !important; color: var(--a22-soft) !important; }

.fpa-sheet[data-context="scenario"] .fpa-card:not(.fpa-bubble):not(.fpa-situation) { background: var(--a22-white) !important; border: 0 !important; border-radius: var(--a22-r-card) !important; padding: var(--a22-s5) !important; margin: 0 0 var(--a22-s4) !important; }
.fpa-sheet[data-context="scenario"] .fpa-card h2 { margin: 0 0 var(--a22-s3) !important; font-size: 22px !important; font-weight: 700 !important; color: var(--a22-navy) !important; }
.fpa-sheet[data-context="scenario"] .fpa-card p { font-size: 15px !important; line-height: 1.6 !important; color: var(--a22-ink) !important; }
@media (max-width: 599px) {
	.fpa-sheet[data-context="scenario"] .fpa-card.fpa-bubble { max-width: 100%; }
	.fpa-sheet[data-context="scenario"] .fpa-row-actions { flex-direction: column; align-items: stretch; }
}

.fpa-sheet[data-context="module_test"] .qcard { background: var(--a22-white); border-radius: var(--a22-r-card); padding: var(--a22-s5); margin: 0 0 var(--a22-s4); }
.fpa-sheet[data-context="module_test"] .qcard .big { font-size: 28px; font-weight: 700; color: var(--a22-navy); }

.fpa-verify-wrap { max-width: 560px !important; margin: 48px auto !important; padding: var(--a22-s6) !important; background: var(--a22-white) !important; border-radius: var(--a22-r-card) !important; border: 0 !important; box-shadow: var(--a22-shadow); }
.fpa-verify-wrap .fpa-kicker { display: block; margin: 0 0 var(--a22-s2); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--a22-muted); }
.fpa-verify-wrap .sheet-heading { margin: 0 0 var(--a22-s5); font-size: 26px; line-height: 1.25; font-weight: 700; color: var(--a22-navy); }

.fpa-verify-wrap form.fpa-verify { display: flex !important; align-items: flex-end !important; gap: var(--a22-s4) !important; margin-top: 0 !important; flex-wrap: wrap; }
.fpa-verify-wrap form.fpa-verify label { flex: 1 1 220px; display: block; font-size: 13px; font-weight: 600; color: var(--a22-ink); }
.fpa-verify-wrap form.fpa-verify input,
.fpa-verify-wrap form.fpa-verify input[name="ref"]:focus { height: 44px !important; margin-top: 6px !important; width: 100% !important; padding: 0 var(--a22-s4) !important; border: var(--a22-border) !important; border-radius: var(--a22-r-control) !important; background: var(--a22-white) !important; color: var(--a22-ink) !important; font: inherit; font-size: 15px !important; box-sizing: border-box; }
.fpa-verify-wrap form.fpa-verify .fpa-btn { flex: none; display: inline-flex; align-items: center; justify-content: center; height: 44px !important; margin-top: 0 !important; padding: 0 var(--a22-s5); border-radius: var(--a22-r-pill); background: var(--a22-blue); color: #0F1D33; font-weight: 600; font-size: 15px; border: 0; cursor: pointer; }

.fpa-verify-wrap .fpa-notice { padding: var(--a22-s4) var(--a22-s5); border-radius: var(--a22-r-control); background: var(--a22-warn-bg); color: var(--a22-warn); font-size: 15px; }

.fpa-verify-table { width: 100% !important; border-collapse: collapse !important; margin: 0 !important; }
.fpa-verify-table th, .fpa-verify-table td { text-align: left !important; padding: var(--a22-s3) 0 !important; border-bottom: 1px solid var(--a22-line) !important; font-size: 15px !important; }
.fpa-verify-table tr:last-child th, .fpa-verify-table tr:last-child td { border-bottom: 0 !important; }
.fpa-verify-table th { width: 130px !important; color: var(--a22-muted) !important; font-weight: 600 !important; vertical-align: top !important; }
.fpa-verify-table td { color: var(--a22-ink) !important; }
@media (max-width: 599px) {
	.fpa-verify-wrap { margin: var(--a22-s5) var(--a22-s4) !important; padding: var(--a22-s5) !important; }
	.fpa-verify-wrap form.fpa-verify { flex-direction: column; align-items: stretch; }
	.fpa-verify-wrap form.fpa-verify .fpa-btn { width: 100%; margin-top: var(--a22-s2) !important; }
}

body:not(.a22-app) > .fpa-notice,
.a22-page > .fpa-notice { max-width: 560px !important; margin: 48px auto !important; background: var(--a22-white) !important; border: 0 !important; border-left: 3px solid var(--a22-orange) !important; padding: var(--a22-s5) var(--a22-s6) !important; box-shadow: var(--a22-shadow); font-size: 15px !important; color: var(--a22-ink) !important; }
.fpa-notice a { color: var(--a22-navy); font-weight: 600; text-decoration: underline; }
.a22-btn .tag { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: var(--a22-r-pill); background: rgba(255,255,255,.55); font-size: 12px; font-weight: 700; }
.a22-btn--secondary .tag { background: var(--a22-blue-soft); color: var(--a22-navy); }

body .fpa-certificate {
	background: var(--a22-surface) !important;
	padding: var(--a22-s6) var(--a22-s4) !important;
	font-family: var(--a22-font) !important;
}
body .fpa-certificate .fpa-cert-sheet {
	box-sizing: border-box !important;
	max-width: 960px !important;
	aspect-ratio: 297 / 210;
	margin: 0 auto !important;
	padding: var(--a22-s7) var(--a22-s8) !important;
	display: flex !important; flex-direction: column !important;
	align-items: center !important; justify-content: center !important;
	text-align: center !important;
	background: var(--a22-white) !important;
	border: 2px solid var(--a22-blue) !important;
	border-radius: var(--a22-r-card) !important;
	box-shadow: var(--a22-shadow) !important;
	color: var(--a22-ink) !important;
	font-family: var(--a22-font) !important;
}
body .fpa-certificate .fpa-cert-sheet p,
body .fpa-certificate .fpa-cert-sheet .fpa-cert-signature { max-width: none !important; width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; text-align: center !important; }
body .fpa-certificate .fpa-cert-mark { display: flex !important; justify-content: center !important; margin: 0 0 var(--a22-s3) !important; }
body .fpa-certificate .fpa-cert-mark img { height: 56px !important; width: auto !important; display: block !important; }
body .fpa-certificate .fpa-cert-brand-text { color: var(--a22-navy) !important; font-weight: 700 !important; letter-spacing: .28em !important; margin: 0 0 var(--a22-s3) !important; }
body .fpa-certificate .fpa-cert-caption { font-size: 12px !important; letter-spacing: .16em !important; text-transform: uppercase !important; color: var(--a22-muted) !important; margin: 0 0 var(--a22-s6) !important; }
body .fpa-certificate .fpa-cert-title { font-size: 16px !important; font-weight: 600 !important; letter-spacing: .18em !important; text-transform: uppercase !important; color: var(--a22-navy) !important; margin: 0 0 var(--a22-s3) !important; }
body .fpa-certificate .fpa-cert-rule { width: 56px !important; height: 3px !important; background: var(--a22-orange) !important; border-radius: 2px !important; margin: 0 auto var(--a22-s6) !important; }
body .fpa-certificate .fpa-cert-name { font-size: 40px !important; line-height: 1.15 !important; font-weight: 700 !important; letter-spacing: -.01em !important; color: var(--a22-navy) !important; margin: 0 0 var(--a22-s2) !important; text-transform: capitalize; }
body .fpa-certificate .fpa-cert-line { font-size: 15px !important; color: var(--a22-soft) !important; margin: 0 0 var(--a22-s1) !important; }
body .fpa-certificate .fpa-cert-course { font-size: 26px !important; font-weight: 700 !important; color: var(--a22-navy) !important; margin: 0 0 var(--a22-s3) !important; }
body .fpa-certificate .fpa-cert-meta { font-size: 14px !important; color: var(--a22-soft) !important; margin: 0 !important; }
body .fpa-certificate .fpa-cert-signature { margin: var(--a22-s6) 0 var(--a22-s4) !important; }
body .fpa-certificate .fpa-cert-signature-issuedby { font-size: 12px !important; color: var(--a22-muted) !important; margin: 0 0 var(--a22-s2) !important; }
body .fpa-certificate .fpa-cert-signature-img { max-width: 160px !important; max-height: 60px !important; margin: 0 auto var(--a22-s2) !important; display: block !important; }
body .fpa-certificate .fpa-cert-signature-name { font-size: 16px !important; font-weight: 600 !important; color: var(--a22-navy) !important; margin: 0 !important; }
body .fpa-certificate .fpa-cert-signature-role { font-size: 13px !important; color: var(--a22-soft) !important; margin: 2px 0 0 !important; }
body .fpa-certificate .fpa-cert-ref { font-size: 12px !important; color: var(--a22-muted) !important; margin: 0 !important; }
body .fpa-certificate .fpa-cert-privacy-note { font-size: 12px !important; color: var(--a22-muted) !important; font-style: italic !important; margin: var(--a22-s1) 0 0 !important; }
body .fpa-certificate .fpa-cert-actions { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: var(--a22-s3) !important; margin: var(--a22-s5) 0 0 !important; }
@media (max-width: 759px) {
	body .fpa-certificate { padding: var(--a22-s4) 0 !important; }
	body .fpa-certificate .fpa-cert-sheet { aspect-ratio: auto; padding: var(--a22-s6) var(--a22-s5) !important; }
	body .fpa-certificate .fpa-cert-name { font-size: 30px !important; }
	body .fpa-certificate .fpa-cert-course { font-size: 21px !important; }
	body .fpa-certificate .fpa-cert-actions .a22-btn { width: 100%; }
}

@media print {
	@page { size: A4 landscape; margin: 0; }
	body .fpa-certificate {
		position: absolute !important; left: 0 !important; top: 0 !important;
		width: 297mm !important; height: 210mm !important; padding: 0 !important;
		display: flex !important; align-items: center !important; justify-content: center !important;
		background: #fff !important;
		-webkit-print-color-adjust: exact !important; print-color-adjust: exact !important;
	}
	body .fpa-certificate .fpa-cert-sheet {
		width: 277mm !important; height: 190mm !important; max-width: none !important; min-height: 0 !important;
		aspect-ratio: auto; margin: 0 !important; padding: 14mm 20mm !important;
		box-shadow: none !important; border: 2px solid var(--a22-blue) !important; border-radius: var(--a22-r-card) !important;
		page-break-inside: avoid; break-inside: avoid;
	}
	body .fpa-certificate .fpa-noprint { display: none !important; }
}

.fpa-state-card .fpa-state-mark { display: flex !important; justify-content: center !important; margin: 0 auto var(--a22-s4) !important; }
.fpa-state-card .fpa-state-mark img { display: block !important; }

.ex-sitting .a22-scen-row:empty { display: none; }
.ex-sitting .a22-scen-row { margin: 0 0 var(--a22-s3); }
[data-context="domain_exam"] .ex-sitting .ex-grid--scen { grid-template-columns: 1fr !important; }
@media (min-width: 900px) {
	[data-context="final_exam"] .ex-sitting .ex-grid--scen > .qcard { position: sticky; top: calc(76px + var(--a22-s4)); }
}
.ex-sitting .scen p { max-width: 100%; }

#fpa-gapmap-explain .est { display: block; margin-top: var(--a22-s3); }
#fpa-gapmap-explain .est b, #fpa-gapmap-explain .est span, #fpa-gapmap-explain .est small { display: block; }
.fpa-sheet[data-context="lesson_browse"] .ask { margin-top: 10px; }

@media (min-width: 600px) { .fpa-sheet[data-context="welcome"] .fpa-metrics-3.a22-metrics-2 { grid-template-columns: repeat(2, 1fr) !important; } }

/* Mobile buttons */
@media(max-width:599px){
	.a22-btn { width: 100% !important; text-align: center !important; }
}

/* Tip cards on lesson, repetition, result and progress pages (B22), same design as course home */
.fpa-sheet[data-context="lesson_browse"] #fpa-question-box + .tip,
.fpa-sheet[data-context="repetition"] #fpa-question-box + .tip,
.fpa-sheet[data-context="module_test"] #fpa-question-box + .tip,
.fpa-sheet[data-context="domain_exam"] #fpa-question-box + .tip,
.fpa-sheet[data-context="final_exam"] #fpa-question-box + .tip,
.fpa-sheet[data-context="progress"] #fpa-p-metrics + .tip { display: block; background: var(--a22-white); border-radius: var(--a22-r-card); border: 2px solid var(--a22-blue); margin-top: var(--a22-s4); margin-bottom: var(--a22-s4); }
.fpa-sheet[data-context="lesson_browse"] #fpa-question-box + .tip.tip--open,
.fpa-sheet[data-context="repetition"] #fpa-question-box + .tip.tip--open,
.fpa-sheet[data-context="module_test"] #fpa-question-box + .tip.tip--open,
.fpa-sheet[data-context="domain_exam"] #fpa-question-box + .tip.tip--open,
.fpa-sheet[data-context="final_exam"] #fpa-question-box + .tip.tip--open,
.fpa-sheet[data-context="progress"] #fpa-p-metrics + .tip.tip--open { display: block; padding: 0; }
.fpa-sheet[data-context="lesson_browse"] #fpa-question-box + .tip .tip__body,
.fpa-sheet[data-context="repetition"] #fpa-question-box + .tip .tip__body,
.fpa-sheet[data-context="module_test"] #fpa-question-box + .tip .tip__body,
.fpa-sheet[data-context="domain_exam"] #fpa-question-box + .tip .tip__body,
.fpa-sheet[data-context="final_exam"] #fpa-question-box + .tip .tip__body,
.fpa-sheet[data-context="progress"] #fpa-p-metrics + .tip .tip__body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s ease; }
.fpa-sheet[data-context="lesson_browse"] #fpa-question-box + .tip.tip--open .tip__body,
.fpa-sheet[data-context="repetition"] #fpa-question-box + .tip.tip--open .tip__body,
.fpa-sheet[data-context="module_test"] #fpa-question-box + .tip.tip--open .tip__body,
.fpa-sheet[data-context="domain_exam"] #fpa-question-box + .tip.tip--open .tip__body,
.fpa-sheet[data-context="final_exam"] #fpa-question-box + .tip.tip--open .tip__body,
.fpa-sheet[data-context="progress"] #fpa-p-metrics + .tip.tip--open .tip__body { grid-template-rows: 1fr; }
.fpa-sheet[data-context="lesson_browse"] #fpa-question-box + .tip .tip__body-in,
.fpa-sheet[data-context="repetition"] #fpa-question-box + .tip .tip__body-in,
.fpa-sheet[data-context="module_test"] #fpa-question-box + .tip .tip__body-in,
.fpa-sheet[data-context="domain_exam"] #fpa-question-box + .tip .tip__body-in,
.fpa-sheet[data-context="final_exam"] #fpa-question-box + .tip .tip__body-in,
.fpa-sheet[data-context="progress"] #fpa-p-metrics + .tip .tip__body-in { overflow: hidden; border-top: var(--a22-border); padding: 0 var(--a22-s5); }
.fpa-sheet[data-context="lesson_browse"] #fpa-question-box + .tip.tip--open .tip__body-in,
.fpa-sheet[data-context="repetition"] #fpa-question-box + .tip.tip--open .tip__body-in,
.fpa-sheet[data-context="module_test"] #fpa-question-box + .tip.tip--open .tip__body-in,
.fpa-sheet[data-context="domain_exam"] #fpa-question-box + .tip.tip--open .tip__body-in,
.fpa-sheet[data-context="final_exam"] #fpa-question-box + .tip.tip--open .tip__body-in,
.fpa-sheet[data-context="progress"] #fpa-p-metrics + .tip.tip--open .tip__body-in { padding: var(--a22-s4) var(--a22-s5) var(--a22-s5); }
.fpa-sheet[data-context="lesson_browse"] #fpa-question-box + .tip .tip__t p,
.fpa-sheet[data-context="repetition"] #fpa-question-box + .tip .tip__t p,
.fpa-sheet[data-context="module_test"] #fpa-question-box + .tip .tip__t p,
.fpa-sheet[data-context="domain_exam"] #fpa-question-box + .tip .tip__t p,
.fpa-sheet[data-context="final_exam"] #fpa-question-box + .tip .tip__t p,
.fpa-sheet[data-context="progress"] #fpa-p-metrics + .tip .tip__t p { margin: 0; color: var(--a22-soft); font-size: 18px; max-width: 60ch; }
.fpa-sheet[data-context="lesson_browse"] #fpa-question-box + .tip .tip__body p:not(.a22-micro),
.fpa-sheet[data-context="repetition"] #fpa-question-box + .tip .tip__body p:not(.a22-micro),
.fpa-sheet[data-context="module_test"] #fpa-question-box + .tip .tip__body p:not(.a22-micro),
.fpa-sheet[data-context="domain_exam"] #fpa-question-box + .tip .tip__body p:not(.a22-micro),
.fpa-sheet[data-context="final_exam"] #fpa-question-box + .tip .tip__body p:not(.a22-micro),
.fpa-sheet[data-context="progress"] #fpa-p-metrics + .tip .tip__body p:not(.a22-micro) { margin: 0 0 var(--a22-s3); color: var(--a22-ink); font-size: 18px; max-width: 60ch; }
.fpa-sheet[data-context="lesson_browse"] #fpa-question-box + .tip .tip__step,
.fpa-sheet[data-context="repetition"] #fpa-question-box + .tip .tip__step,
.fpa-sheet[data-context="module_test"] #fpa-question-box + .tip .tip__step,
.fpa-sheet[data-context="domain_exam"] #fpa-question-box + .tip .tip__step,
.fpa-sheet[data-context="final_exam"] #fpa-question-box + .tip .tip__step,
.fpa-sheet[data-context="progress"] #fpa-p-metrics + .tip .tip__step { margin: 0 0 var(--a22-s3) var(--a22-s3); color: var(--a22-ink); font-size: 18px; max-width: 60ch; }

/* Account: payment received, buyer not logged in */
.a22-paid { padding: var(--a22-s8) var(--a22-s4); }
.a22-paid__card { max-width: 640px; margin: 0 auto; padding: var(--a22-s7) var(--a22-s6); background: var(--a22-white); border: var(--a22-border); border-radius: var(--a22-r-card); box-shadow: var(--a22-shadow); text-align: center; }
.a22-paid__kick { margin: 0 0 var(--a22-s2); color: var(--a22-orange); font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.a22-paid__h { margin: 0 0 var(--a22-s4); color: var(--a22-navy); font-size: 32px; line-height: 1.2; }
.a22-paid__card p { margin: 0 auto var(--a22-s3); max-width: 52ch; color: var(--a22-ink); font-size: 17px; }
.a22-paid__card .a22-paid__note { color: var(--a22-soft); font-size: 15px; }
.a22-paid__btns { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--a22-s3); margin-top: var(--a22-s5); }
@media(max-width:599px){ .a22-paid__card { padding: var(--a22-s6) var(--a22-s4); } .a22-paid__h { font-size: 26px; } }

/* Tip card numbered list and paragraph wrapping */
.tip__list { margin: 0 0 var(--a22-s3); padding-left: 1.4em; color: var(--a22-ink); }
.tip__list li { margin: 0 0 var(--a22-s2); }
.fpa-sheet[data-context="course_home"] .tip__list, .fpa-sheet #fpa-question-box + .tip .tip__list, .fpa-sheet #fpa-p-metrics + .tip .tip__list { font-size: 18px; max-width: 60ch; }
p { text-wrap: pretty; }

/* State card: space between logo and heading */
.fpa-state-card .fpa-state-mark { float: left; width: 100%; height: unset !important; }

/* Course index: domain rows one point larger */
.fpa-dom:not(.fpa-node-children .fpa-dom) { font-size: calc(1em + 1px) !important; }

/* Start screen tip card (B76), same design as course home */
.exam-intro > .tip { display: block; background: var(--a22-white); border-radius: var(--a22-r-card); border: 2px solid var(--a22-blue); margin: var(--a22-s4) 0; }
.exam-intro > .tip.tip--open { display: block; padding: 0; }
.exam-intro > .tip .tip__body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s ease; }
.exam-intro > .tip.tip--open .tip__body { grid-template-rows: 1fr; }
.exam-intro > .tip .tip__body-in { overflow: hidden; border-top: var(--a22-border); padding: 0 var(--a22-s5); }
.exam-intro > .tip.tip--open .tip__body-in { padding: var(--a22-s4) var(--a22-s5) var(--a22-s5); }
.exam-intro > .tip .tip__t p { margin: 0; color: var(--a22-soft); font-size: 18px; max-width: 60ch; }
.exam-intro > .tip .tip__body p:not(.a22-micro), .exam-intro > .tip .tip__list { margin: 0 0 var(--a22-s3); color: var(--a22-ink); font-size: 18px; max-width: 60ch; }

/* Free account: locked links (B106) */
.fpa-locked { opacity: .4 !important; pointer-events: none !important; cursor: default !important; }
.a22-unlock-btn { margin-left: var(--a22-s2); }

/* Phone layout (B96, B97, B99, B100) */
.a22-appbar__mark img { flex-shrink: 0; }
@media(max-width:599px){
	.sess-chip { display: none !important; }
	.fpa-linerow .a22-btn { width: auto !important; }
	.fpa-linerow .fpa-concept-toggle { background: none !important; border: 0 !important; box-shadow: none !important; min-height: 0 !important; padding: 4px 0 4px 8px !important; color: var(--a22-navy) !important; text-decoration: underline; font-weight: 600; }
}

/* Test status rows under every lesson (B120) */
.fpa-test-status { gap: var(--a22-s2); margin-top: var(--a22-s3); }
.fpa-test-status > div { flex: 1; min-width: 0; }

/* Account: switch plan confirm step (B103) */
.a22-switch { margin-top: 6px; }
.a22-switch > summary { list-style: none; cursor: pointer; display: inline-flex; }
.a22-switch > summary::-webkit-details-marker { display: none; }
.a22-switch[open] > summary { display: none; }
.a22-switch__box { margin-top: var(--a22-s2); padding: var(--a22-s3); border: var(--a22-border); border-radius: var(--a22-r-control); background: var(--a22-white); }
.a22-switch__box p { margin: 0 0 var(--a22-s2); font-size: 15px; }