/*!
 * FPC Slide Engine — stylesheet
 * The Fine Art of Fingering · FingeringSchool.com
 * v1.1.2-pilot
 *
 * v1.1.2 — five changes on top of 1.1.1:
 *   1. Text-size rebase (JS side): Standard is now the old Large.
 *   2. Narration off by default (JS side); `.fpc-no-audio` already hides the
 *      Listen/Autoplay chips, so a fresh student simply never sees them.
 *   3. HARD margin reset — the deck mounts inside the theme's .entry-content
 *      and Kadence's `p{margin-bottom:32px}` was beating `.fpc-slide-inner>*`.
 *      The reset below is `!important`, so every intentional margin further
 *      down this file is `!important` too. Base rhythm tightened as well.
 *   4. Practice-round gate at 80%: pass/fail ruling, the missed-question
 *      review panel (.fpc-review-panel) and the result action row.
 *   5. End-of-lesson action bar (.fpc-endbar) for students who have no
 *      LifterLMS "Mark Complete" form.
 *
 * Install once, site-wide (child theme or WPCode). Every class and custom
 * property is namespaced `fpc-`; nothing here styles the host theme except
 * `body.fpc-active` (scroll lock) and the opt-in `body.fpc-focus` rules.
 *
 * Palette: navy #16223a/#1e2e4f · gold #c9a44e/#e0c27c ·
 *          crimson #7a1f2b · cream #faf6ee/#fdfaf2 · ink #2b2b33
 */
:root{
  --fpc-navy:#16223a; --fpc-navy2:#1e2e4f; --fpc-gold:#c9a44e; --fpc-gold2:#e0c27c;
  --fpc-cream:#faf6ee; --fpc-cream2:#fdfaf2; --fpc-crimson:#7a1f2b; --fpc-ink:#2b2b33;
  --fpc-paper:#fffdf8; --fpc-rule:#e5d9bd; --fpc-brass:#a3823c;
  --fpc-sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --fpc-serif:Georgia,'Times New Roman',Times,serif;
  /* v1.1.2 — the ramp itself is unchanged; TEXT_SIZES in the JS was rebased
     so Standard now sits where Large used to (--fpc-text starts at 1.12).
     --fpc-text is the learner's Text size choice (Standard/Large/Extra-large);
     --fpc-damp holds the small sans micro-labels back so they grow far less
     than the reading copy. Both are set on :root by the engine.           */
  --fpc-fs-base: clamp(16px, calc(1.22vh + 0.37vw), 19.6px);
  --fpc-text: 1;
  --fpc-damp: 1;
  --fpc-fs: calc(var(--fpc-fs-base) * var(--fpc-text));
}
/* the deck is an overlay: the host page keeps its own styling, it just stops scrolling */
body.fpc-active{overflow:hidden}
.fpc-app *,.fpc-app *::before,.fpc-app *::after{box-sizing:border-box}
.fpc-app{
  background:#e9e2d1;
  font-family:var(--fpc-serif);
  color:var(--fpc-ink);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
/* ---------- v1.1.2 · HARD MARGIN RESET ----------------------------------
   The deck is mounted inside the theme's .entry-content, so Kadence's own
   `.entry-content p{margin-bottom:32px}` (and its list/heading siblings)
   out-specify `.fpc-slide-inner>*{margin:0}` and blow the packer's height
   maths apart. Nothing inside the deck may carry a theme margin.
   EVERY intentional margin later in this file is therefore !important too —
   if you add one, add the !important with it, or the reset will eat it. */
.fpc-app p,.fpc-app ul,.fpc-app ol,.fpc-app li,.fpc-app h1,.fpc-app h2,
.fpc-app h3,.fpc-app h4,.fpc-app blockquote,.fpc-app figure{margin:0!important}

/* :where() keeps these at zero-class specificity so component rules win */
:where(.fpc-app) button{font:inherit;margin:0}
:where(.fpc-app) ::selection{background:rgba(201,164,78,.35)}

.fpc-app{position:fixed;left:0;top:0;right:0;z-index:9990;display:flex;flex-direction:column;
  height:100dvh;                       /* modern browsers */
  height:var(--fpc-vh,100dvh);         /* JS keeps this on the visual viewport */
}
@supports not (height:100dvh){ .fpc-app{height:var(--fpc-vh,100%)} }
.fpc-css-probe{--fpc-css-loaded:1;position:absolute;left:-9999px;width:1px;height:1px}

.fpc-topbar{
  flex:0 0 auto;height:44px;
  background:linear-gradient(180deg,#1c2a45,#16223a);
  color:#f4ead2;display:flex;align-items:center;gap:12px;
  padding:0 16px;position:relative;
  border-bottom:1px solid rgba(201,164,78,.32);
  z-index:8;
}
.fpc-tb-mark{width:26px;height:26px;flex:0 0 auto}
.fpc-tb-title{font-family:var(--fpc-sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--fpc-gold2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto}
.fpc-tb-spacer{flex:1 1 auto;min-width:8px}
.fpc-tb-sec{font-family:var(--fpc-sans);font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;
  color:rgba(244,234,210,.62);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  max-width:44vw;text-align:right;flex:0 1 auto}
.fpc-prog{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(201,164,78,.15)}
.fpc-prog i{display:block;height:100%;width:0;
  background:linear-gradient(90deg,#8f7233,#c9a44e 45%,#e0c27c);
  transition:width .38s cubic-bezier(.4,0,.2,1)}

.fpc-stage{flex:1 1 auto;position:relative;overflow:hidden;background:#e9e2d1}
.fpc-stage::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 80% at 50% 0%,rgba(255,255,255,.55),rgba(255,255,255,0) 70%)}
.fpc-stage.fpc-stage-dark{background:#16223a}
.fpc-stage.fpc-stage-dark::before{background:radial-gradient(110% 80% at 50% 10%,rgba(201,164,78,.10),rgba(0,0,0,0) 65%)}

.fpc-slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  padding:46px 40px 26px;overflow:hidden}
.fpc-slide-inner{
  width:100%;max-width:1000px;margin:0 auto;
  display:flex;flex-direction:column;gap:.62em;      /* v1.1.2 tighter rhythm */
  font-size:calc(var(--fpc-fs) * var(--fpc-fit,1));
  line-height:1.52;
  transform-origin:top center;
}
.fpc-slide-inner>*{flex:0 0 auto;margin:0}
.fpc-slide-inner.fpc-anim{animation:slidein .34s cubic-bezier(.16,.8,.3,1) both}
@keyframes slidein{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .fpc-slide-inner.fpc-anim{animation:fadein .2s both}
  @keyframes fadein{from{opacity:0}to{opacity:1}}
}

.fpc-slide.fpc-measure{display:block;visibility:hidden;pointer-events:none;height:auto;
  bottom:auto;overflow:visible;z-index:-1}
.fpc-slide.fpc-measure .fpc-slide-inner{animation:none!important;transform:none!important}
.fpc-is-measuring .fpc-sc-verdict{max-height:none!important;opacity:1!important}
.fpc-is-measuring .fpc-q-feedback{max-height:none!important;opacity:1!important}

.fpc-tools{position:absolute;top:8px;right:14px;z-index:6;display:flex;gap:8px;align-items:center}
.fpc-listen{font-family:var(--fpc-sans);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  font-weight:600;color:#5a4a1e;
  background:linear-gradient(180deg,#fbf5e6,#f1e5c6);
  border:1px solid var(--fpc-gold);border-radius:999px;padding:6px 14px;cursor:pointer;
  display:inline-flex;gap:7px;align-items:center;
  box-shadow:0 1px 4px rgba(22,34,58,.14);transition:.18s}
.fpc-listen:hover:not(:disabled){background:#f8efdc;transform:translateY(-1px)}
.fpc-listen.fpc-playing{background:linear-gradient(180deg,#24365b,#16223a);color:var(--fpc-gold2);border-color:var(--fpc-gold2)}
.fpc-listen:disabled{opacity:.4;cursor:not-allowed}
.fpc-stage.fpc-stage-dark .fpc-listen{background:rgba(201,164,78,.14);color:var(--fpc-gold2);border-color:rgba(201,164,78,.6)}
.fpc-stage.fpc-stage-dark .fpc-listen.fpc-playing{background:var(--fpc-gold);color:#16223a;border-color:var(--fpc-gold2)}
.fpc-listen .fpc-ic{font-size:11px;line-height:1}
.fpc-listen.fpc-auto .fpc-dot{width:7px;height:7px;border-radius:50%;background:rgba(90,74,30,.3);
  box-shadow:inset 0 0 0 1px rgba(90,74,30,.45);transition:.18s}
.fpc-listen.fpc-auto.fpc-on{background:linear-gradient(180deg,#e2c176,#c9a44e);color:#16223a;
  border-color:#e0c27c;box-shadow:0 2px 9px rgba(201,164,78,.45)}
.fpc-listen.fpc-auto.fpc-on .fpc-dot{background:#16223a;box-shadow:0 0 0 3px rgba(22,34,58,.18)}
.fpc-stage.fpc-stage-dark .fpc-listen.fpc-auto .fpc-dot{background:rgba(224,194,124,.35);box-shadow:inset 0 0 0 1px rgba(224,194,124,.5)}
.fpc-stage.fpc-stage-dark .fpc-listen.fpc-auto.fpc-on{background:var(--fpc-gold);color:#16223a;border-color:var(--fpc-gold2)}
.fpc-stage.fpc-stage-dark .fpc-listen.fpc-auto.fpc-on .fpc-dot{background:#16223a;box-shadow:0 0 0 3px rgba(22,34,58,.2)}

.fpc-navbar{flex:0 0 auto;height:calc(52px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:linear-gradient(180deg,#16223a,#131e33);
  border-top:1px solid rgba(201,164,78,.32);
  display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 14px;z-index:8}
.fpc-nav-btn{font-family:var(--fpc-sans);font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  padding:9px 20px;border-radius:999px;border:1px solid rgba(201,164,78,.55);
  background:transparent;color:#f4ead2;cursor:pointer;transition:.18s;white-space:nowrap}
.fpc-nav-btn:hover:not(:disabled){background:rgba(201,164,78,.16);border-color:var(--fpc-gold2)}
.fpc-nav-btn:disabled{opacity:.28;cursor:default}
.fpc-nav-btn.fpc-primary{background:linear-gradient(180deg,#d9b667,#c39d47);color:#16223a;
  border-color:#e0c27c;font-weight:700}
.fpc-nav-btn.fpc-primary:hover:not(:disabled){filter:brightness(1.07);background:linear-gradient(180deg,#e2c176,#c9a44e)}
.fpc-counter{font-family:var(--fpc-sans);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--fpc-gold2);text-align:center;flex:1 1 auto;overflow:hidden;white-space:nowrap}
.fpc-counter b{color:#fff;font-weight:600}

.fpc-cont{font-family:var(--fpc-sans);font-size:.6em;letter-spacing:.24em;text-transform:uppercase;
  color:var(--fpc-brass);border-bottom:1px solid var(--fpc-rule);padding-bottom:.55em}
.fpc-stage.fpc-stage-dark .fpc-cont{color:var(--fpc-gold);border-color:rgba(201,164,78,.3)}

.fpc-h2{font-family:var(--fpc-serif);font-weight:400;color:var(--fpc-navy);font-size:1.6em;line-height:1.18;
  padding-bottom:.34em;border-bottom:1px solid var(--fpc-rule);position:relative}
.fpc-h2::after{content:"";position:absolute;left:0;bottom:-1px;width:64px;height:3px;background:var(--fpc-gold)}
.fpc-h2 .fpc-eb{display:block;font-family:var(--fpc-sans);font-size:.35em;letter-spacing:.26em;
  text-transform:uppercase;color:var(--fpc-gold);margin-bottom:.75em;font-weight:600}
.fpc-h3{color:var(--fpc-navy2);font-size:1.13em;line-height:1.3;font-weight:700}
.fpc-p{font-size:1em}
.fpc-p.fpc-lead{font-size:1.13em;color:#39394a;line-height:1.55}
.fpc-p.fpc-kicker{font-style:italic;color:var(--fpc-navy2);font-size:1.07em}
.fpc-p.fpc-dc::first-letter{float:left;font-family:var(--fpc-serif);font-size:3.3em;line-height:.82;
  padding:.06em .12em 0 0;color:var(--fpc-navy)}
.fpc-p strong,.fpc-p b{color:var(--fpc-navy)}
.fpc-ul{padding-left:1.3em}
.fpc-ul li{margin-bottom:.3em!important;padding-left:.15em}
.fpc-ul li::marker{color:var(--fpc-gold)}
.fpc-ul.fpc-two-col{column-count:2;column-gap:2.6em}
.fpc-ul.fpc-two-col li{break-inside:avoid}
.fpc-ul.fpc-danger li::marker{color:var(--fpc-crimson)}
.fpc-ol{padding-left:1.6em}
.fpc-ol li{margin-bottom:.32em!important}
.fpc-ol li::marker{color:var(--fpc-brass);font-family:var(--fpc-serif)}
.fpc-obj{list-style:none;padding-left:0}
.fpc-obj li{position:relative;padding-left:2.9em;margin-bottom:.55em!important}
.fpc-obj li::before{content:counter(list-item);position:absolute;left:0;top:.05em;
  width:1.85em;height:1.85em;border-radius:50%;background:var(--fpc-navy);color:var(--fpc-gold2);
  font-family:var(--fpc-serif);font-size:.85em;display:flex;align-items:center;justify-content:center}
.fpc-quote{padding:.85em 1.2em;background:var(--fpc-cream);border-left:4px solid var(--fpc-gold);
  border-radius:0 6px 6px 0;font-style:italic;color:#4a4433;font-size:1.04em}
.fpc-quote p{margin:0}
.fpc-divider{height:1px;background:linear-gradient(90deg,transparent,var(--fpc-rule),transparent)}

.fpc-notice{position:relative;padding:1.1em 1.6em 1em;background:var(--fpc-cream2);
  border:1px solid var(--fpc-gold);
  box-shadow:inset 0 0 0 3px var(--fpc-cream2),inset 0 0 0 4px rgba(201,164,78,.5);
  border-radius:6px;text-align:center;font-style:italic;color:#4a4433;overflow:hidden}
.fpc-notice::before{content:"Official Academy Notice";display:block;font-family:var(--fpc-sans);
  font-style:normal;font-size:.6em;letter-spacing:.3em;text-transform:uppercase;
  color:var(--fpc-brass);margin-bottom:.55em}
.fpc-notice p{margin:0;position:relative;z-index:1}
.fpc-notice .fpc-wm{position:absolute;right:-26px;bottom:-34px;width:120px;height:120px;
  opacity:.09;pointer-events:none}

.fpc-tip{padding:1.05em 1.5em;background:linear-gradient(120deg,#fbf5e6,#f6eed9);
  border:1px solid #d9c48d;border-left:6px solid var(--fpc-gold);border-radius:0 8px 8px 0}
.fpc-tip::before{content:"★ Professional Tip";display:block;font-family:var(--fpc-sans);
  font-size:.62em;letter-spacing:.24em;text-transform:uppercase;color:var(--fpc-brass);margin-bottom:.55em}
.fpc-tip p{margin:0 0 .5em!important}
.fpc-tip p:last-child{margin-bottom:0!important}
.fpc-tip .fpc-quote{margin-top:.6em!important;background:#fffaf0}

.fpc-warn{padding:1.05em 1.5em;background:#fbf1f0;border:1px solid #d9a8a0;
  border-left:6px solid var(--fpc-crimson);border-radius:0 8px 8px 0}
.fpc-warn::before{content:"⚑ Safety & Ethics";display:block;font-family:var(--fpc-sans);
  font-size:.62em;letter-spacing:.24em;text-transform:uppercase;color:var(--fpc-crimson);margin-bottom:.55em}
.fpc-warn p{margin:0 0 .45em!important;color:#4a3336}
.fpc-warn p:last-child{margin-bottom:0!important}
.fpc-warn p.fpc-hard,.fpc-warn .fpc-hard{font-style:italic;color:var(--fpc-crimson);font-weight:600}

.fpc-tile{display:flex;gap:1em;align-items:baseline;background:var(--fpc-paper);
  border:1px solid #e6ddc6;border-left:4px solid var(--fpc-gold);border-radius:0 7px 7px 0;
  padding:.72em 1.1em}
.fpc-tile .fpc-term{font-family:var(--fpc-serif);font-weight:700;color:var(--fpc-navy);flex:0 0 auto;
  min-width:9.5em;font-size:1.02em}
.fpc-tile .fpc-def{flex:1 1 auto;color:#4a4a55;font-size:.98em}

.fpc-mcard{background:var(--fpc-paper);border:1px solid #e3dac2;border-radius:8px;
  padding:.9em 1.2em;box-shadow:0 2px 8px rgba(22,34,58,.05)}
.fpc-mcard .fpc-lbl{font-family:var(--fpc-sans);font-size:.6em;letter-spacing:.2em;text-transform:uppercase;
  color:var(--fpc-brass);margin-bottom:.45em}
.fpc-mcard .fpc-lbl.fpc-hot{color:var(--fpc-crimson)}
.fpc-mcard p{margin:0 0 .45em!important}
.fpc-mcard .fpc-resp{margin:0!important;font-style:italic;color:var(--fpc-navy2)}
.fpc-mcard .fpc-resp b{font-style:normal;color:var(--fpc-navy);font-family:var(--fpc-sans);
  font-size:.72em;letter-spacing:.14em;text-transform:uppercase}

.fpc-rcard{display:flex;gap:1.1em;align-items:flex-start;background:var(--fpc-paper);
  border:1px solid #e6ddc6;border-radius:8px;padding:.75em 1.1em}
.fpc-rcard .fpc-rn{flex:0 0 auto;width:2.2em;height:2.2em;border-radius:50%;background:var(--fpc-navy);
  color:var(--fpc-gold2);font-family:var(--fpc-serif);font-size:1.05em;font-weight:700;
  display:flex;align-items:center;justify-content:center}
.fpc-rcard.fpc-r0 .fpc-rn{background:var(--fpc-crimson);color:#f6e3e0}
.fpc-rcard.fpc-r4 .fpc-rn{background:linear-gradient(160deg,#d9b667,#a3823c);color:#16223a}
.fpc-rcard .fpc-rl{font-family:var(--fpc-serif);font-weight:700;color:var(--fpc-navy);margin-bottom:.15em}
.fpc-rcard p{margin:0;color:#4a4a55;font-size:.98em}

.fpc-sc{background:#fff;border:1px solid #e3dac2;border-radius:8px;
  box-shadow:0 2px 10px rgba(22,34,58,.06);padding:1em 1.3em 1.05em 4.2em;position:relative}
.fpc-sc .fpc-num{position:absolute;left:1em;top:.95em;width:2.2em;height:2.2em;border-radius:50%;
  border:2px solid var(--fpc-gold);color:var(--fpc-navy);font-family:var(--fpc-serif);font-weight:700;
  display:flex;align-items:center;justify-content:center;font-size:.95em;background:#fffdf6}
.fpc-sc .fpc-sc-eb{font-family:var(--fpc-sans);font-size:.58em;letter-spacing:.22em;text-transform:uppercase;
  color:var(--fpc-brass);margin-bottom:.4em}
.fpc-sc .fpc-sc-sit{margin:0 0 .85em!important}
.fpc-reveal-btn{font-family:var(--fpc-sans);font-size:.66em;letter-spacing:.14em;text-transform:uppercase;
  font-weight:700;background:linear-gradient(180deg,#d9b667,#c39d47);color:#16223a;
  border:1px solid #b8933f;border-radius:999px;padding:.8em 1.6em;cursor:pointer;
  transition:.18s;box-shadow:0 2px 7px rgba(163,130,60,.35)}
.fpc-reveal-btn:hover{filter:brightness(1.07);transform:translateY(-1px)}
.fpc-reveal-btn:active{transform:translateY(0)}
.fpc-sc-verdict{max-height:0;opacity:0;overflow:hidden;
  transition:max-height .5s cubic-bezier(.4,0,.2,1),opacity .4s ease .05s}
.fpc-sc-verdict.fpc-open{max-height:32em;opacity:1}
.fpc-sc-verdict .fpc-in{padding-top:.75em}
.fpc-rating{display:inline-block;font-family:var(--fpc-sans);font-size:.64em;letter-spacing:.12em;
  text-transform:uppercase;font-weight:700;background:var(--fpc-navy);color:var(--fpc-gold2);
  border-radius:4px;padding:.45em .95em;margin-bottom:.6em}
.fpc-rating.fpc-r0{background:var(--fpc-crimson);color:#f7e6e3}
.fpc-rating.fpc-r3{background:#2c5a38;color:#dcf0e0}
.fpc-rating.fpc-rs{background:linear-gradient(160deg,#c9a44e,#a3823c);color:#16223a}
.fpc-sc-verdict p{margin:0 0 .45em!important;color:#4a4a55}
.fpc-sc-verdict p:last-child{margin-bottom:0!important}

.fpc-acc{border-top:1px solid var(--fpc-rule)}
.fpc-acc-item{border-bottom:1px solid var(--fpc-rule)}
.fpc-acc-head{width:100%;display:flex;align-items:center;gap:.85em;background:none;border:0;
  padding:.72em .3em;cursor:pointer;text-align:left;font-family:var(--fpc-serif);
  font-size:1em;color:var(--fpc-navy);transition:.18s}
.fpc-acc-head:hover{background:rgba(201,164,78,.09)}
.fpc-acc-head .fpc-n{font-family:var(--fpc-sans);font-size:.64em;letter-spacing:.1em;color:var(--fpc-brass);
  flex:0 0 auto;width:1.9em;font-weight:700}
.fpc-acc-head .fpc-q{flex:1 1 auto;font-weight:700;line-height:1.3}
.fpc-acc-ind{flex:0 0 auto;width:1.6em;height:1.6em;border:1px solid var(--fpc-gold);border-radius:50%;
  color:var(--fpc-brass);display:flex;align-items:center;justify-content:center;
  font-family:var(--fpc-sans);font-size:.8em;line-height:1;transition:.2s}
.fpc-acc-item.fpc-open .fpc-acc-ind{background:var(--fpc-gold);color:#fff;border-color:var(--fpc-gold)}
.fpc-acc-item.fpc-open .fpc-acc-head{color:var(--fpc-navy)}
.fpc-acc-panel{max-height:0;overflow:hidden;transition:max-height .38s cubic-bezier(.4,0,.2,1)}
.fpc-acc-item.fpc-open .fpc-acc-panel{max-height:24em}
.fpc-acc-panel .fpc-in{padding:0 .4em .95em 3.4em;color:#4a4433}
.fpc-acc-panel p{margin:0 0 .45em!important;font-size:.99em}
.fpc-acc-panel p:last-child{margin-bottom:0!important}

.fpc-quiz{background:#fff;border:1px solid #d9c48d;border-top:7px solid var(--fpc-navy);
  border-radius:8px;padding:1.25em 1.6em 1.35em;box-shadow:0 3px 14px rgba(22,34,58,.08)}
.fpc-q-eb{font-family:var(--fpc-sans);font-size:.6em;letter-spacing:.26em;text-transform:uppercase;
  color:var(--fpc-brass);text-align:center;border-bottom:1px solid #ecdfc0;padding-bottom:.7em;margin-bottom:1em}
.fpc-q-text{font-size:1.15em;color:var(--fpc-navy);margin:0 0 .95em!important;line-height:1.35}
.fpc-q-opts{display:flex;flex-direction:column;gap:.5em}
.fpc-q-opt{display:flex;gap:.85em;align-items:flex-start;text-align:left;font-family:var(--fpc-serif);
  font-size:1em;color:var(--fpc-ink);background:var(--fpc-cream2);border:1px solid #e3dac2;
  border-radius:7px;padding:.68em 1em;cursor:pointer;transition:.16s;width:100%}
.fpc-q-opt:hover:not(.fpc-locked){border-color:var(--fpc-gold);background:#faf3e2;transform:translateX(3px)}
.fpc-q-opt.fpc-locked{cursor:default}
.fpc-q-opt .fpc-k{font-family:var(--fpc-sans);font-size:.72em;font-weight:700;width:1.7em;height:1.7em;
  flex:0 0 auto;border-radius:50%;border:1px solid var(--fpc-gold);color:var(--fpc-brass);
  display:flex;align-items:center;justify-content:center;margin-top:.12em;background:#fff}
.fpc-q-opt .fpc-lab{flex:1 1 auto;line-height:1.4}
.fpc-q-opt.fpc-correct{background:linear-gradient(180deg,#fbf3dd,#f4e8c6);border-color:var(--fpc-gold);
  box-shadow:inset 0 0 0 1px var(--fpc-gold)}
.fpc-q-opt.fpc-correct .fpc-k{background:var(--fpc-gold);color:#fff;border-color:var(--fpc-gold)}
.fpc-q-opt.fpc-wrong{background:#fbf1f0;border-color:#c98d84}
.fpc-q-opt.fpc-wrong .fpc-k{background:var(--fpc-crimson);color:#fff;border-color:var(--fpc-crimson)}
.fpc-q-opt.fpc-dim{opacity:.55}
.fpc-shake{animation:shk .42s cubic-bezier(.36,.07,.19,.97) both}
@keyframes shk{10%,90%{transform:translateX(-2px)}20%,80%{transform:translateX(4px)}
  30%,50%,70%{transform:translateX(-7px)}40%,60%{transform:translateX(7px)}}
.fpc-q-feedback{max-height:0;opacity:0;overflow:hidden;transition:max-height .45s ease,opacity .35s ease}
.fpc-q-feedback.fpc-open{max-height:18em;opacity:1}
.fpc-q-feedback .fpc-in{padding-top:.85em;margin-top:.85em;border-top:1px solid #ecdfc0}
.fpc-q-status{font-family:var(--fpc-sans);font-size:.7em;letter-spacing:.16em;text-transform:uppercase;
  font-weight:700;margin-bottom:.4em}
.fpc-q-status.fpc-ok{color:#7a6420}
.fpc-q-status.fpc-no{color:var(--fpc-crimson)}
.fpc-q-clarify{font-style:italic;color:#6b6553;font-size:.99em;margin:0}

.fpc-dark{color:#f4ead2;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.7em}
.fpc-dark .fpc-eb{font-family:var(--fpc-sans);font-size:.62em;letter-spacing:.32em;text-transform:uppercase;
  color:var(--fpc-gold);margin:0}
.fpc-dark h1{font-family:var(--fpc-serif);font-weight:400;color:#fff;margin:0;line-height:1.14;
  font-size:2.5em;letter-spacing:.01em}
.fpc-dark h1 em{color:var(--fpc-gold2);font-style:italic}
.fpc-dark h2{font-family:var(--fpc-serif);font-weight:400;color:#fff;margin:0;font-size:2.1em;line-height:1.15}
.fpc-dark .fpc-copy{max-width:34em;color:#ddd3bd;font-size:1.02em;line-height:1.62;margin:0}
.fpc-dark .fpc-motto{font-style:italic;color:var(--fpc-gold2);letter-spacing:.09em;font-size:1.02em;margin:0}
.fpc-dark .fpc-rule{width:120px;height:1px;background:linear-gradient(90deg,transparent,var(--fpc-gold),transparent)}
.fpc-dark .fpc-credit{font-family:var(--fpc-sans);font-size:.62em;letter-spacing:.13em;
  color:rgba(244,234,210,.5);max-width:44em;line-height:1.7;margin:0}
.fpc-dark .fpc-seal-lg{width:calc(clamp(104px,16vh,168px) * var(--fpc-fit,1));
  height:calc(clamp(104px,16vh,168px) * var(--fpc-fit,1));
  filter:drop-shadow(0 6px 18px rgba(0,0,0,.4))}
.fpc-begin{font-family:var(--fpc-sans);font-size:.78em;letter-spacing:.18em;text-transform:uppercase;
  font-weight:700;background:linear-gradient(180deg,#e2c176,#c9a44e);color:#16223a;
  border:1px solid #e0c27c;border-radius:999px;padding:.95em 2.4em;cursor:pointer;
  box-shadow:0 6px 20px rgba(201,164,78,.28);transition:.18s;margin-top:.2em}
.fpc-begin:hover{filter:brightness(1.08);transform:translateY(-2px);
  box-shadow:0 9px 26px rgba(201,164,78,.38)}
.fpc-dark .fpc-chipline{display:flex;gap:.5em;flex-wrap:wrap;justify-content:center}
.fpc-chip{font-family:var(--fpc-sans);font-size:.63em;letter-spacing:.07em;color:#f4ead2;
  background:rgba(201,164,78,.14);border:1px solid rgba(201,164,78,.55);border-radius:999px;
  padding:.42em 1em;white-space:nowrap}
.fpc-chip b{color:var(--fpc-gold2);font-weight:600}

.fpc-plate{background:linear-gradient(160deg,#16223a 0%,#1e2e4f 100%);
  border:1px solid var(--fpc-gold);
  box-shadow:inset 0 0 0 4px #16223a, inset 0 0 0 5px rgba(201,164,78,.55),0 14px 40px rgba(0,0,0,.3);
  border-radius:10px;padding:1.6em 1.9em 1.4em;color:#f4ead2;position:relative;overflow:hidden}
.fpc-plate .fpc-seal{float:right;width:calc(clamp(70px,11vh,110px) * var(--fpc-fit,1));
  height:calc(clamp(70px,11vh,110px) * var(--fpc-fit,1));
  margin:-.1em -.2em .6em 1.1em;opacity:.96}
.fpc-plate .fpc-eb{font-family:var(--fpc-sans);font-size:.63em;letter-spacing:.22em;text-transform:uppercase;
  color:var(--fpc-gold);margin:0 0 .7em!important}
.fpc-plate h1{font-family:var(--fpc-serif);font-weight:400;font-size:1.85em;line-height:1.15;
  color:#fff;margin:0 0 .3em!important}
.fpc-plate .fpc-sub{font-style:italic;color:var(--fpc-gold2);font-size:1.04em;margin:0 0 1em!important}
.fpc-plate .fpc-chips{display:flex;flex-wrap:wrap;gap:.5em}

.fpc-complete{background:linear-gradient(160deg,#16223a,#1e2e4f);border:1px solid var(--fpc-gold);
  border-radius:10px;padding:1.5em 2em;color:#f4ead2;text-align:center;
  box-shadow:0 14px 40px rgba(0,0,0,.28)}
.fpc-complete h2{font-family:var(--fpc-serif);font-weight:400;color:#fff;margin:0 0 .5em!important;font-size:1.7em}
.fpc-complete p{margin:0 0 .5em!important}
.fpc-complete p:last-child{margin-bottom:0!important}
.fpc-complete strong,.fpc-complete em{color:var(--fpc-gold2)}
.fpc-complete ul{list-style:none;padding:0;margin:.6em 0!important;display:flex;flex-direction:column;gap:.3em}
.fpc-complete ul li{color:#e9dfc8}
.fpc-complete .fpc-four{display:flex;justify-content:center;gap:1.6em;flex-wrap:wrap;margin:.7em 0;
  font-family:var(--fpc-sans);font-size:.66em;letter-spacing:.2em;text-transform:uppercase;color:var(--fpc-gold2)}
.fpc-complete .fpc-sealrow{display:flex;justify-content:center;margin-bottom:.6em}
.fpc-complete .fpc-sealrow svg{width:calc(clamp(66px,10vh,104px) * var(--fpc-fit,1));
  height:calc(clamp(66px,10vh,104px) * var(--fpc-fit,1))}

.fpc-next{padding:1em 1.5em;border:1px dashed var(--fpc-gold);border-radius:8px;background:var(--fpc-cream2)}
.fpc-next::before{content:"Next Lesson →";display:block;font-family:var(--fpc-sans);font-size:.62em;
  letter-spacing:.24em;text-transform:uppercase;color:var(--fpc-brass);margin-bottom:.5em}
.fpc-next h3{font-family:var(--fpc-serif);font-weight:400;color:var(--fpc-navy);font-size:1.5em;margin:0 0 .35em!important}
.fpc-next p{margin:0;font-style:italic;color:#5c5647}

.fpc-result{background:linear-gradient(160deg,#16223a,#1e2e4f);border:1px solid var(--fpc-gold);
  border-radius:12px;padding:1.6em 2em;color:#f4ead2;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:.6em;
  box-shadow:0 14px 40px rgba(0,0,0,.28)}
.fpc-result .fpc-eb{font-family:var(--fpc-sans);font-size:.62em;letter-spacing:.3em;text-transform:uppercase;
  color:var(--fpc-gold);margin:0}
.fpc-result .fpc-score{font-family:var(--fpc-serif);font-size:3em;color:var(--fpc-gold2);line-height:1}
.fpc-result .fpc-score small{font-size:.36em;color:#c3b795;letter-spacing:.1em}
.fpc-result .fpc-verdict{max-width:36em;margin:0;color:#e4dac4;line-height:1.6;font-size:1.04em}
.fpc-result .fpc-retry{font-family:var(--fpc-sans);font-size:.7em;letter-spacing:.16em;text-transform:uppercase;
  background:transparent;border:1px solid rgba(201,164,78,.6);color:var(--fpc-gold2);
  border-radius:999px;padding:.7em 1.6em;cursor:pointer;transition:.18s}
.fpc-result .fpc-retry:hover{background:rgba(201,164,78,.16)}
.fpc-result .fpc-bar{width:min(340px,80%);height:6px;border-radius:3px;background:rgba(201,164,78,.2);overflow:hidden}
.fpc-result .fpc-bar i{display:block;height:100%;background:linear-gradient(90deg,#a3823c,#e0c27c)}

/* ---------- v1.1.2 · the 80% gate on the result card ---------- */
.fpc-result .fpc-gateline{max-width:36em;margin:0!important;font-style:italic;
  letter-spacing:.02em;font-size:1em;line-height:1.5}
.fpc-result.fpc-gate-pass .fpc-gateline{color:var(--fpc-gold2)}
.fpc-result.fpc-gate-fail .fpc-gateline{color:#e8b3ab}
.fpc-result-acts{display:flex;flex-wrap:wrap;gap:.7em;align-items:center;justify-content:center}
.fpc-result-go{font-family:var(--fpc-sans);font-size:.72em;letter-spacing:.16em;text-transform:uppercase;
  font-weight:700;background:linear-gradient(180deg,#e2c176,#c9a44e);color:#16223a;
  border:1px solid #e0c27c;border-radius:999px;padding:.78em 1.9em;cursor:pointer;
  box-shadow:0 4px 14px rgba(201,164,78,.3);transition:.18s}
.fpc-result-go:hover{filter:brightness(1.08);transform:translateY(-1px)}
.fpc-review-btn{font-family:var(--fpc-sans);font-size:.68em;letter-spacing:.14em;text-transform:uppercase;
  background:rgba(201,164,78,.1);border:1px solid rgba(201,164,78,.55);color:var(--fpc-gold2);
  border-radius:999px;padding:.72em 1.5em;cursor:pointer;transition:.18s}
.fpc-review-btn:hover{background:rgba(201,164,78,.22)}
/* the one deliberate scroller in the deck: capped in CSS at 40vh and capped
   again in JS by the room left on the slide, so it can never overflow */
.fpc-review-panel{display:none;width:100%;max-height:40vh;overflow-y:auto;
  -webkit-overflow-scrolling:touch;text-align:left;
  background:rgba(10,17,30,.42);border:1px solid rgba(201,164,78,.35);border-radius:8px;
  padding:.9em 1.1em;font-size:.94em}
.fpc-review-panel.fpc-open{display:block}
.fpc-rv-item{padding:.65em 0;border-bottom:1px solid rgba(201,164,78,.18)}
.fpc-rv-item:first-child{padding-top:0}
.fpc-rv-item:last-child{border-bottom:0;padding-bottom:0}
.fpc-rv-q{margin:0 0 .35em!important;color:#fff;font-weight:700;line-height:1.4}
.fpc-rv-yours{margin:0 0 .12em!important;color:#e8b3ab}
.fpc-rv-right{margin:0 0 .3em!important;color:var(--fpc-gold2)}
.fpc-rv-clar{margin:0!important;font-style:italic;color:#c9c0aa;font-size:.96em;line-height:1.45}
.fpc-page-doc .fpc-review-panel{max-height:none;overflow:visible}

/* ---------- v1.1.2 · end-of-lesson action bar ----------
   Only drawn when the page has no .llms-complete-lesson-form; otherwise the
   LifterLMS pill above does the job. Same cream-pill family as that float. */
.fpc-endbar{position:fixed;left:50%;transform:translateX(-50%);z-index:9995;
  bottom:calc(68px + env(safe-area-inset-bottom,0px));
  display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;
  max-width:min(680px,92vw);
  background:rgba(253,250,242,.97);border:1px solid var(--fpc-gold);border-radius:999px;
  padding:10px 20px;box-shadow:0 12px 34px rgba(22,34,58,.26);
  animation:fpc-rise .5s cubic-bezier(.16,.8,.3,1) both}
.fpc-endbar-t{font-family:var(--fpc-sans);font-size:11px;letter-spacing:.1em;color:#5a4a1e;
  max-width:24em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fpc-endbar-btn{font-family:var(--fpc-sans);font-size:11.5px;letter-spacing:.14em;
  text-transform:uppercase;font-weight:700;text-decoration:none;white-space:nowrap;
  background:linear-gradient(180deg,#d9b667,#c39d47);color:#16223a;
  border:1px solid #e0c27c;border-radius:999px;padding:9px 20px;
  box-shadow:0 2px 8px rgba(163,130,60,.3);transition:.18s}
.fpc-endbar-btn:hover,.fpc-endbar-btn:focus{filter:brightness(1.07);color:#16223a;text-decoration:none}

@media (max-width:700px){
  .fpc-slide{padding:42px 18px 18px;align-items:flex-start}
  .fpc-slide.fpc-measure{overflow:visible}
  .fpc-ul.fpc-two-col{column-count:1}
  .fpc-tb-sec{display:none}
  .fpc-nav-btn{padding:8px 14px;font-size:11px}
  .fpc-dark h1{font-size:1.9em}
  .fpc-plate .fpc-seal{width:64px;height:64px}
}
@media (max-height:600px){
  .fpc-topbar{height:38px}.fpc-navbar{height:46px}
  .fpc-slide{padding:38px 30px 16px}
  .fpc-tools{top:5px}
  .fpc-listen{padding:4px 11px;font-size:9.5px}
}

/* ============================================================
   PILOT ADDITIONS — one-page view, LifterLMS hand-off,
   focus mode, restart link
   ============================================================ */

/* ---------- "View as single page" toggle in the nav bar ---------- */
.fpc-navbar{position:relative}
.fpc-pagelink{
  font-family:var(--fpc-sans);font-size:10px;letter-spacing:.13em;text-transform:uppercase;
  color:rgba(244,234,210,.62);background:none;border:0;padding:6px 4px;cursor:pointer;
  border-bottom:1px solid transparent;transition:.18s;white-space:nowrap}
.fpc-pagelink:hover{color:var(--fpc-gold2);border-bottom-color:rgba(201,164,78,.5)}
.fpc-navright{display:flex;align-items:center;gap:14px;flex:0 0 auto}

/* ---------- one-page (scrolling) view ---------- */
.fpc-page{position:absolute;inset:0;overflow-y:auto;-webkit-overflow-scrolling:touch;
  background:#e9e2d1;display:none;z-index:5}
.fpc-app.fpc-onepage .fpc-page{display:block}
.fpc-app.fpc-onepage .fpc-slide:not(.fpc-measure),
.fpc-app.fpc-onepage .fpc-tools{display:none}
.fpc-page-doc{
  max-width:860px;margin:34px auto 70px;background:var(--fpc-paper);
  border:1px solid #e3dac2;border-radius:12px;box-shadow:0 8px 30px rgba(22,34,58,.10);
  padding:52px 50px;
  display:flex;flex-direction:column;gap:.85em;      /* v1.1.2 tighter rhythm */
  font-size:var(--fpc-fs);line-height:1.55}
.fpc-page-doc>*{margin:0}
.fpc-page-doc .fpc-h2{margin-top:.8em!important}
.fpc-page-doc .fpc-h2:first-child{margin-top:0!important}
.fpc-page-doc .fpc-dark{background:linear-gradient(160deg,#16223a,#1e2e4f);
  border:1px solid var(--fpc-gold);border-radius:10px;padding:2em}
.fpc-page-doc .fpc-ul.fpc-two-col{column-count:1}
.fpc-page-doc .fpc-sc-verdict{max-height:none;opacity:1}
.fpc-page-doc .fpc-reveal-btn{display:none}
.fpc-page-doc .fpc-acc-panel{max-height:none}
.fpc-page-doc .fpc-acc-ind{display:none}
.fpc-page-doc .fpc-begin{display:none}
.fpc-page-eb{font-family:var(--fpc-sans);font-size:.62em;letter-spacing:.28em;
  text-transform:uppercase;color:var(--fpc-brass);text-align:center;
  border-bottom:1px solid var(--fpc-rule);padding-bottom:1em;margin-bottom:.4em}
@media (max-width:700px){ .fpc-page-doc{padding:26px 20px;margin:14px} }

/* ---------- restart link on the completion card ---------- */
.fpc-restart{
  font-family:var(--fpc-sans);font-size:.66em;letter-spacing:.14em;text-transform:uppercase;
  background:none;border:0;border-bottom:1px solid rgba(201,164,78,.45);
  color:var(--fpc-gold2);cursor:pointer;padding:.3em 0;margin-top:.9em;transition:.18s}
.fpc-restart:hover{color:#fff;border-bottom-color:var(--fpc-gold2)}

/* ---------- LifterLMS "Mark Complete" hand-off ----------
   The deck is a fixed overlay, so the theme's button wrap is hidden while the
   student is working and floated above the nav bar once they reach the end. */
body.fpc-active .llms-lesson-button-wrap,
body.fpc-active .llms-complete-lesson-form{visibility:hidden;opacity:0}
body.fpc-active.fpc-show-complete .llms-lesson-button-wrap,
body.fpc-active.fpc-show-complete .llms-complete-lesson-form{
  visibility:visible;opacity:1;
  position:fixed;left:50%;transform:translateX(-50%);z-index:9995;bottom:calc(68px + env(safe-area-inset-bottom,0px));
  display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;
  width:auto;max-width:min(680px,92vw);margin:0;
  background:rgba(253,250,242,.97);border:1px solid var(--fpc-gold);border-radius:999px;
  padding:10px 20px;box-shadow:0 12px 34px rgba(22,34,58,.26);
  animation:fpc-rise .5s cubic-bezier(.16,.8,.3,1) both}
body.fpc-active.fpc-show-complete .llms-lesson-button-wrap .llms-complete-lesson-form{
  position:static;transform:none;background:none;border:0;box-shadow:none;padding:0;
  animation:none;bottom:auto;left:auto}
@keyframes fpc-rise{from{opacity:0;transform:translate(-50%,14px)}
  to{opacity:1;transform:translate(-50%,0)}}
@media (max-width:700px){
  body.fpc-active.fpc-show-complete .llms-lesson-button-wrap,
  body.fpc-active.fpc-show-complete .llms-complete-lesson-form{bottom:calc(60px + env(safe-area-inset-bottom,0px));padding:8px 14px}
  .fpc-endbar{bottom:calc(60px + env(safe-area-inset-bottom,0px));padding:8px 14px;gap:10px}
  .fpc-endbar-t{display:none}
}

/* ---------- focus mode (opt-in via payload meta.focusMode) ----------
   Theme-dependent by nature: broad, guarded selectors that hide page chrome
   on lesson pages only. See INSTALL_GUIDE.md if your theme needs another one. */
body.single-lesson.fpc-focus #wpadminbar,
body.single-lesson.fpc-focus header,
body.single-lesson.fpc-focus .site-header,
body.single-lesson.fpc-focus #masthead,
body.single-lesson.fpc-focus .site-branding,
body.single-lesson.fpc-focus footer,
body.single-lesson.fpc-focus .site-footer,
body.single-lesson.fpc-focus #colophon,
body.single-lesson.fpc-focus aside,
body.single-lesson.fpc-focus .sidebar,
body.single-lesson.fpc-focus #secondary,
body.single-lesson.fpc-focus .widget-area,
body.single-lesson.fpc-focus .llms-course-navigation,
body.single-lesson.fpc-focus .llms-lesson-preview,
body.single-lesson.fpc-focus .entry-header,
body.single-lesson.fpc-focus .page-header{display:none!important}
body.single-lesson.fpc-focus{margin-top:0!important;padding-top:0!important}
html.fpc-focus{margin-top:0!important}



/* ============================================================
   v1.1 — watchdog notice, view settings, a11y, reduced motion
   ============================================================ */

/* ---------- visually-hidden live status ---------- */
.fpc-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* ---------- focus visibility (keyboard only) ---------- */
.fpc-app :focus{outline:none}
.fpc-app :focus-visible{outline:2px solid var(--fpc-gold);outline-offset:2px;border-radius:4px}
.fpc-slide-inner>[tabindex="-1"]:focus{outline:none}
.fpc-slide-inner>[tabindex="-1"]:focus-visible{outline:2px solid var(--fpc-gold);outline-offset:6px}

/* ---------- overflow-watchdog notice ---------- */
.fpc-noticebar{position:absolute;left:50%;transform:translateX(-50%);top:10px;z-index:7;
  display:flex;align-items:center;gap:14px;max-width:min(760px,94vw);
  background:#fdfaf2;border:1px solid var(--fpc-gold);border-left:5px solid var(--fpc-gold);
  border-radius:6px;padding:9px 12px 9px 16px;box-shadow:0 8px 26px rgba(22,34,58,.18);
  font-family:var(--fpc-serif);font-size:14px;line-height:1.45;color:#4a4433}
.fpc-noticebar[hidden]{display:none}
.fpc-notice-act,.fpc-notice-x{font-family:var(--fpc-sans);cursor:pointer;background:none;
  border:0;white-space:nowrap}
.fpc-notice-act{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;
  color:#5a4a1e;border-bottom:1px solid rgba(201,164,78,.7);padding:2px 0}
.fpc-notice-act:hover{color:var(--fpc-navy)}
.fpc-notice-act[hidden]{display:none}
.fpc-notice-x{font-size:20px;line-height:1;color:#a3823c;padding:0 2px}
.fpc-notice-x:hover{color:var(--fpc-crimson)}
@media (max-width:700px){ .fpc-noticebar{font-size:13px;gap:10px;padding:8px 10px 8px 12px} }

/* ---------- view settings ---------- */
.fpc-gear{font-family:var(--fpc-sans);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--fpc-gold2);background:none;border:1px solid rgba(201,164,78,.45);border-radius:999px;
  padding:5px 12px;margin-left:12px;cursor:pointer;flex:0 0 auto;transition:.18s}
.fpc-gear:hover{background:rgba(201,164,78,.16);border-color:var(--fpc-gold2)}
.fpc-settings{position:absolute;top:calc(100% + 8px);right:12px;z-index:20;width:230px;
  background:#fdfaf2;border:1px solid var(--fpc-gold);border-radius:8px;padding:12px;
  box-shadow:0 14px 34px rgba(22,34,58,.28);display:flex;flex-direction:column;gap:7px}
.fpc-settings[hidden]{display:none}
.fpc-set-h{font-family:var(--fpc-sans);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--fpc-brass);margin:2px 0 1px!important}
.fpc-set-row{display:flex;gap:5px}
.fpc-set-row .fpc-set-txt{flex:1 1 0;text-align:center;padding:8px 4px;font-size:11px}
.fpc-set-opt,.fpc-set-audio,.fpc-set-txt{font-family:var(--fpc-sans);font-size:12px;letter-spacing:.04em;
  text-align:left;background:#fff;border:1px solid #e3dac2;border-radius:6px;padding:8px 11px;
  color:var(--fpc-ink);cursor:pointer;transition:.16s}
.fpc-set-opt:hover,.fpc-set-audio:hover,.fpc-set-txt:hover{border-color:var(--fpc-gold);background:#faf3e2}
.fpc-set-opt.fpc-on,.fpc-set-audio.fpc-on,.fpc-set-txt.fpc-on{background:linear-gradient(180deg,#e2c176,#c9a44e);
  border-color:#b8933f;color:#16223a;font-weight:700}

/* audio switched off in the learner's settings */
.fpc-app.fpc-no-audio .fpc-tools{display:none}
.fpc-listen.fpc-failed{background:#fbf1f0;border-color:#c98d84;color:var(--fpc-crimson)}

/* fallback mode: the scroll is the lesson, so hide the slide-only affordances.
   The notice stays floating above the scroll (z-index beats .fpc-page) and the
   document is nudged down so it never covers the opening lines. */
.fpc-app.fpc-fallback .fpc-navbar .fpc-nav-btn,
.fpc-app.fpc-fallback .fpc-counter{visibility:hidden}
.fpc-app.fpc-fallback .fpc-noticebar{z-index:9}
.fpc-app.fpc-fallback .fpc-page-doc{margin-top:74px}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .fpc-app *,.fpc-app *::before,.fpc-app *::after{
    animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important}
  .fpc-slide-inner.fpc-anim{animation:none!important}
  .fpc-shake{animation:none!important}
  body.fpc-active.fpc-show-complete .llms-lesson-button-wrap,
  body.fpc-active.fpc-show-complete .llms-complete-lesson-form{animation:none!important}
  .fpc-endbar{animation:none!important}
}

/* ============================================================
   v1.1.1 · TEXT SIZE DAMPING
   The learner's Text size grows the reading copy via --fpc-text.
   These micro-labels (eyebrows, chips, rating badges, option keys)
   are already deliberately small; --fpc-damp scales them back so the
   v1.1.2 46% Extra-large reading bump lifts them by only ~18%.
   ============================================================ */
.fpc-cont{font-size:calc(.6em * var(--fpc-damp,1))}
.fpc-h2 .fpc-eb{font-size:calc(.35em * var(--fpc-damp,1))}
.fpc-notice::before{font-size:calc(.6em * var(--fpc-damp,1))}
.fpc-tip::before{font-size:calc(.62em * var(--fpc-damp,1))}
.fpc-warn::before{font-size:calc(.62em * var(--fpc-damp,1))}
.fpc-mcard .fpc-lbl{font-size:calc(.6em * var(--fpc-damp,1))}
.fpc-mcard .fpc-resp b{font-size:calc(.72em * var(--fpc-damp,1))}
.fpc-sc .fpc-sc-eb{font-size:calc(.58em * var(--fpc-damp,1))}
.fpc-reveal-btn{font-size:calc(.66em * var(--fpc-damp,1))}
.fpc-rating{font-size:calc(.64em * var(--fpc-damp,1))}
.fpc-acc-head .fpc-n{font-size:calc(.64em * var(--fpc-damp,1))}
.fpc-acc-ind{font-size:calc(.8em * var(--fpc-damp,1))}
.fpc-q-eb{font-size:calc(.6em * var(--fpc-damp,1))}
.fpc-q-opt .fpc-k{font-size:calc(.72em * var(--fpc-damp,1))}
.fpc-q-status{font-size:calc(.7em * var(--fpc-damp,1))}
.fpc-dark .fpc-eb{font-size:calc(.62em * var(--fpc-damp,1))}
.fpc-dark .fpc-credit{font-size:calc(.62em * var(--fpc-damp,1))}
.fpc-begin{font-size:calc(.78em * var(--fpc-damp,1))}
.fpc-chip{font-size:calc(.63em * var(--fpc-damp,1))}
.fpc-plate .fpc-eb{font-size:calc(.63em * var(--fpc-damp,1))}
.fpc-complete .fpc-four{font-size:calc(.66em * var(--fpc-damp,1))}
.fpc-next::before{font-size:calc(.62em * var(--fpc-damp,1))}
.fpc-result .fpc-eb{font-size:calc(.62em * var(--fpc-damp,1))}
.fpc-result .fpc-retry{font-size:calc(.7em * var(--fpc-damp,1))}
.fpc-result-go{font-size:calc(.72em * var(--fpc-damp,1))}
.fpc-review-btn{font-size:calc(.68em * var(--fpc-damp,1))}
.fpc-page-eb{font-size:calc(.62em * var(--fpc-damp,1))}
.fpc-restart{font-size:calc(.66em * var(--fpc-damp,1))}
