@import"/assets/fonts/fredoka.css";
.fcm{--n:#15233c;--sun:#ffd23f;--sky:#3fb6ff;--grape:#7b5cff;--mint:#22c08a;--ink:#1d2b45;--mut:#4c5a75;--disp:"Fredoka","Baloo 2","Trebuchet MS",system-ui,sans-serif}
.fcm [hidden]{display:none!important}
.fcm .vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fcm-hero{background:#e8f4ff;background-image:radial-gradient(#cfe6ff 2px,transparent 2px);background-size:26px 26px;border-bottom:1.5px solid var(--line,#a7b5cc);padding-block:40px 34px}
.fcm-hero h1{font:700 clamp(30px,5vw,50px)/1.08 var(--disp);color:var(--n);max-width:20ch;margin:10px 0 0;text-wrap:balance}
.fcm-hero h1 span{display:block;font-size:.58em;font-weight:600;color:#2f4fc4;margin-top:6px}
.fcm-hero .lead{margin:14px 0 0;max-width:62ch;font-size:1.1rem;color:var(--n)}
.fcm-prom{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.fcm-prom li{display:inline-flex;align-items:center;gap:8px;background:#fff;border:2px solid var(--n);border-radius:999px;padding:7px 14px;font:600 15px/1.2 var(--disp);color:var(--n)}
.fcm-prom li::before{content:"";width:18px;height:18px;border-radius:50%;flex:none;background:var(--n) url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27%3E%3Cpath d=%27M6 12.5l4 4 8-9%27 fill=%27none%27 stroke=%27%23ffd23f%27 stroke-width=%273%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E") center/13px no-repeat}
.fcm-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0 0;max-width:760px}
.fcm-nav a{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:62px;padding:8px 14px;border-radius:14px;border:2px solid var(--n);background:#fff;color:var(--n);text-decoration:none;box-shadow:0 4px 0 var(--n);font:700 16px/1.15 var(--disp)}
.fcm-nav a small{font:500 13px/1.25 var(--body,system-ui);color:var(--mut)}
.fcm-nav a:first-child{background:var(--n);color:#fff;box-shadow:0 4px 0 var(--sun)}.fcm-nav a:first-child small{color:#d6deec}
.fcm-nav a:focus-visible,.fcm-btn:focus-visible,.fcm-link:focus-visible,.fcm-card:focus-visible{outline:3px solid var(--sun);outline-offset:3px}
.fcm-sec{padding-block:40px}.fcm-sec>h2{font:700 clamp(24px,3.4vw,32px)/1.15 var(--disp);color:var(--n);margin:0 0 8px}.fcm-sec>.intro{margin:0 0 18px;color:var(--mut);max-width:64ch}
.fcm-box{background:#fff;border:2px solid var(--n);border-radius:20px;padding:20px;box-shadow:0 6px 0 var(--n)}
.fcm-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:10px 18px;border-radius:14px;border:2.5px solid var(--n);background:var(--n);color:#fff;font:700 16px/1.15 var(--disp);text-decoration:none;cursor:pointer;box-shadow:0 4px 0 var(--sun);touch-action:manipulation}
.fcm-btn:active{transform:translateY(2px);box-shadow:0 2px 0 var(--sun)}
.fcm-btn.ghost{background:#fff;color:var(--n);box-shadow:0 4px 0 var(--n)}.fcm-btn.ghost:active{box-shadow:0 2px 0 var(--n)}
.fcm-btn.alt{background:var(--sun);color:var(--n);box-shadow:0 4px 0 var(--n)}
.fcm-btn.sm{min-height:44px;padding:8px 14px;font-size:15px}
.fcm-btn:disabled{opacity:.45;cursor:default;transform:none}
.fcm-link{background:none;border:0;padding:8px 2px;min-height:44px;font:600 15px/1.2 var(--body,system-ui);color:#1d3fb5;text-decoration:underline;cursor:pointer}
.fcm-link.danger{color:#b42318}
.fcm-acts{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 0}.fcm-acts.big .fcm-btn{min-height:56px;font-size:18px;padding-inline:24px}
.fcm-dim{color:var(--mut);font-size:15px;margin:6px 0 0}.fcm-msg{min-height:1.4em;margin:8px 0 0;font-weight:600;color:var(--good,#1d7a4f)}.fcm-msg.bad{color:#b42318}
.fcm-note{border:2px solid var(--n);background:#eef6ff;border-radius:16px;padding:12px 16px;margin:0 0 16px}.fcm-note p{margin:0}.fcm-note.warn{background:#fff6d3;border-color:#c99a00}
.fcm-listhead{display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:space-between}
.fcm-decks{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px}
.fcm-deck{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;border:2px solid var(--n);border-radius:16px;padding:10px 12px;background:#fff}
.fcm-chip{width:38px;height:28px;border-radius:7px;border:2px solid var(--n);background:linear-gradient(135deg,var(--ta),var(--tb))}
.fcm-dn{display:flex;flex-direction:column;min-width:0}.fcm-dn b{font:700 17px/1.2 var(--disp);color:var(--n);overflow-wrap:anywhere}.fcm-dn small{color:var(--mut)}
.fcm-da{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.fcm-empty{margin:16px 0 0;padding:18px;border:2px dashed var(--line,#a7b5cc);border-radius:16px;color:var(--mut);text-align:center}
.t-sky{--ta:#7b5cff;--tb:#3fb6ff;--tink:#fff}.t-sun{--ta:#ffd23f;--tb:#ffa62b;--tink:#15233c}.t-mint{--ta:#22c08a;--tb:#139c9c;--tink:#fff}.t-berry{--ta:#b44bd8;--tb:#ff5c8a;--tink:#fff}.t-coral{--ta:#ffb25e;--tb:#ff7a59;--tink:#fff}.t-bw{--ta:#fff;--tb:#fff;--tink:#000}
.fcm-back{margin:0 0 6px}
.fcm-steps{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.fcm-step{border:2px solid var(--n);border-radius:18px;padding:16px 18px;background:#fff}
.fcm-step h3{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 10px;font:700 20px/1.2 var(--disp);color:var(--n)}
.fcm-step h3 b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--sun);color:var(--n);font-size:16px;flex:none}
.fcm-count{margin-left:auto;font:600 14px/1 var(--body,system-ui);color:var(--mut)}
.fcm-lbl{display:block;font-weight:700;font-size:14px;margin:0 0 4px;color:var(--n)}
.fcm-in,.fcm-step textarea{width:100%;font:inherit;font-size:16px;padding:10px 12px;border:2px solid #9fb3d6;border-radius:12px;background:#fff;color:var(--ink);min-height:48px}
.fcm-in:focus,.fcm-step textarea:focus{outline:none;border-color:var(--n);box-shadow:0 0 0 3px #ffd23f88}
.fcm-hint{margin:0 0 8px;color:var(--mut);font-size:15px}
.fcm-quick{background:#f4f8ff;border-radius:14px;padding:12px;margin:0 0 12px}
.fcm-qrow{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}
.fcm-rows{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.fcm-row{display:grid;grid-template-columns:28px 1fr 1fr 44px;gap:8px;align-items:start}
.fcm-num{font:700 14px/48px var(--disp);color:var(--mut);text-align:right}
.fcm-side{position:relative;display:block;min-width:0}
.fcm-row textarea{resize:vertical;min-height:52px;line-height:1.35}
.fcm-cc{position:absolute;right:8px;bottom:6px;font-size:12px;color:var(--mut);background:#fff;padding:0 4px}.fcm-cc.bad{color:#b42318;font-weight:700}
.fcm-x{width:44px;height:48px;border-radius:12px;border:2px solid #d0d8e8;background:#fff;color:#b42318;font-size:24px;line-height:1;cursor:pointer}
.fcm-x:hover{border-color:#b42318}
.fcm-paste{margin:12px 0 0}.fcm-paste textarea{min-height:130px}
.fcm-ptable{margin:8px 0 0;padding:0 0 0 24px;max-height:220px;overflow:auto;font-size:15px}.fcm-ptable li{padding:3px 0}.fcm-ptable li span:first-child{font-weight:700}.fcm-ptable li span+span::before{content:" → ";color:var(--mut);font-weight:400}
.fcm-look{display:grid;grid-template-columns:1fr minmax(180px,260px);gap:16px;align-items:center}
.fcm-sws{border:0;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.fcm-sw{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;font-size:14px;font-weight:600;color:var(--n);text-align:center}
.fcm-sw input{position:absolute;opacity:0;width:1px;height:1px}
.fcm-swc{display:grid;place-items:center;width:100%;max-width:96px;height:48px;border-radius:12px;border:2px solid var(--n);background:linear-gradient(135deg,var(--ta),var(--tb));color:var(--tink);font:700 18px/1 var(--disp)}
.fcm-sw input:checked+.fcm-swc{outline:4px solid var(--sun);outline-offset:2px}.fcm-sw input:focus-visible+.fcm-swc{outline:4px solid var(--grape);outline-offset:2px}
.fcm-mini .fcm-mf{position:relative;aspect-ratio:3/2;border-radius:16px;border:3px solid var(--n);box-shadow:0 5px 0 var(--n);background:linear-gradient(145deg,var(--ta),var(--tb));color:var(--tink);display:grid;place-items:center;padding:12px 12px 26px;text-align:center;font:700 20px/1.2 var(--disp);overflow:hidden}
.fcm-mini .fcm-mf span{overflow-wrap:anywhere;max-height:100%;overflow:hidden}
.fcm-tog{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:center;margin:14px 0 0;cursor:pointer}.fcm-tog input{width:24px;height:24px;grid-row:span 2}.fcm-tog span{font-weight:700;color:var(--n)}.fcm-tog small{color:var(--mut)}
.fcm-layout{border:2px solid #d0d8e8;border-radius:14px;padding:10px 14px;margin:16px 0 0;display:grid;gap:8px}.fcm-layout legend{font-weight:700;color:var(--n);padding:0 6px}
.fcm-layout label{display:grid;grid-template-columns:auto minmax(0,46ch) auto;justify-content:start;gap:12px 18px;align-items:center;line-height:1.4;cursor:pointer;padding:8px;border-radius:12px;border:2px solid transparent}.fcm-layout label:has(input:checked){border-color:var(--grape);background:#f6f3ff}.fcm-lpic{display:block;flex:none}@media (max-width:480px){.fcm-layout label{grid-template-columns:auto 1fr;align-items:start}.fcm-lpic{grid-column:2;justify-self:start}}.fcm-layout input{width:22px;height:22px;margin-top:2px}.fcm-layout b{display:block;color:var(--n);line-height:1.25;margin-bottom:2px}.fcm-layout small{display:block;color:var(--mut);font-size:14px;line-height:1.45}
/* the card (practice) */
.fcm-brand{position:absolute;left:14px;bottom:10px;z-index:1;display:flex;align-items:center;gap:6px;font:600 11px/1 var(--disp);letter-spacing:.02em;color:#7a869c}.fcm-brand svg{width:14px;height:14px}
.fcm-mini .fcm-brand{left:10px;bottom:7px;font-size:10px;color:var(--tink);opacity:.9}.fcm-mini .fcm-brand svg{width:12px;height:12px}
.fcm-pmeta{display:flex;align-items:center;gap:10px;justify-content:space-between;font:600 15px/1.2 var(--disp);color:var(--mut);margin:0 0 12px}
.fcm-bar{flex:1;height:12px;max-width:260px;border:2px solid var(--n);border-radius:999px;background:#fff;overflow:hidden}.fcm-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--mint),var(--sky));transition:width .3s}
.fcm-known{color:#0f6b45}
.fcm-stage{perspective:1400px;max-width:720px;margin:0 auto}
.fcm-card{position:relative;width:100%;aspect-ratio:3/2;cursor:pointer;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.3,1.3,.5,1);touch-action:pan-y;-webkit-tap-highlight-color:transparent;user-select:none;border-radius:26px}
.fcm-card.flipped{transform:rotateY(180deg)}
.fcm-face{position:absolute;inset:0;border-radius:26px;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;align-items:center;justify-content:center;padding:34px 26px 44px;text-align:center;border:4px solid var(--n);box-shadow:0 10px 0 var(--n);overflow:hidden}
.fcm-front{background:linear-gradient(145deg,var(--ta),var(--tb));color:var(--tink)}
.fcm-card.t-bw .fcm-front{border-color:#000;box-shadow:0 10px 0 #000}
.fcm-front .fcm-brand{color:var(--tink);opacity:.9}
.fcm-backf{transform:rotateY(180deg);background:#fff;color:var(--ink)}
.fcm-sl{position:absolute;left:16px;top:12px;font:600 12px/1 var(--disp);text-transform:none;opacity:.85}
.fcm-tx{font-family:var(--disp);font-weight:700;line-height:1.2;white-space:pre-wrap;overflow-wrap:anywhere;max-height:100%;overflow:auto}
.fcm-tx.x1{font-size:clamp(34px,7vw,56px)}.fcm-tx.x2{font-size:clamp(26px,5vw,40px)}.fcm-tx.x3{font-size:clamp(20px,3.6vw,28px)}.fcm-tx.x4{font-size:clamp(17px,2.8vw,22px)}.fcm-tx.x5{font-size:clamp(15px,2.3vw,18px)}
.fcm-pact{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:720px;margin:24px auto 0;position:sticky;bottom:max(10px,env(safe-area-inset-bottom));z-index:3;padding:8px;border-radius:20px;background:rgba(255,255,255,.94);box-shadow:0 8px 24px rgba(21,35,60,.16)}
.fcm-pact .fcm-btn{min-height:68px;font-size:20px;color:var(--n);box-shadow:0 5px 0 var(--n)}
.fcm-btn.still{background:#ffe1d6}.fcm-btn.knew{background:#c9f5e4}
.fcm-prow{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;max-width:720px;margin:10px auto 0}
.fcm-free{max-width:720px;margin:12px auto 0;text-align:center;font-weight:700;color:var(--n)}
.fcm-done{position:relative;max-width:720px;margin:0 auto;border:4px solid var(--n);border-radius:26px;box-shadow:0 10px 0 var(--n);background:#fff;padding:28px 22px 44px;text-align:center}
.fcm-done h3{font:700 30px/1.1 var(--disp);color:var(--n);margin:0 0 10px}.fcm-done .fcm-acts{justify-content:center}
.fcm-toast{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:2147483600;display:flex;align-items:center;gap:12px;background:var(--n,#15233c);color:#fff;border-radius:14px;padding:8px 10px 8px 16px;box-shadow:0 8px 24px rgba(0,0,0,.25);max-width:calc(100% - 32px)}
.fcm-toast .fcm-link{color:#ffd23f;font-weight:700}
.fcm-owned{list-style:none;margin:0;padding:0;display:grid;gap:8px}.fcm-owned li{display:flex;justify-content:space-between;align-items:center;gap:10px;border:2px solid var(--n);border-radius:14px;padding:8px 12px}.fcm-owned li span{display:flex;flex-direction:column}.fcm-owned small{color:var(--mut)}
.fcm-three{display:grid;gap:18px}
.fcm-free-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;list-style:none;margin:12px 0 0;padding:0}
.fcm-free-list a{display:flex;align-items:center;min-height:52px;padding:8px 14px;border:2px solid var(--n);border-radius:14px;background:#fff;color:var(--n);font:700 16px/1.2 var(--disp);text-decoration:none;box-shadow:0 3px 0 var(--n)}
.fcm-how{counter-reset:s;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.fcm-how li{border:2px solid var(--n);border-radius:18px;padding:16px;background:#fff}.fcm-how h3{font:700 19px/1.2 var(--disp);color:var(--n);margin:0 0 6px;display:flex;align-items:center;gap:10px}
.fcm-how h3::before{counter-increment:s;content:counter(s);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--sun);font-size:15px;flex:none}
.fcm-how p{margin:0;color:var(--mut)}
.fcm-why{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;list-style:none;margin:0;padding:0}.fcm-why li{background:#f4f8ff;border-radius:16px;padding:14px 16px}.fcm-why b{display:block;font:700 17px/1.2 var(--disp);color:var(--n);margin:0 0 4px}.fcm-why span{color:var(--mut)}
.fcm-faq details{border:2px solid var(--n);border-radius:16px;background:#fff;margin:0 0 10px}.fcm-faq summary{cursor:pointer;padding:14px 16px;font:700 17px/1.3 var(--disp);color:var(--n);min-height:48px}.fcm-faq details p{margin:0;padding:0 16px 14px;color:var(--ink)}
@media (max-width:719px){
  .fcm-nav{grid-template-columns:1fr}
  .fcm-qrow{grid-template-columns:1fr}.fcm-qrow .fcm-btn{width:100%}
  .fcm-row{grid-template-columns:1fr 44px;grid-template-areas:"f x" "b x";column-gap:8px;row-gap:6px;border-bottom:1px solid #e3e8f2;padding-bottom:8px}
  .fcm-row .fcm-num{display:none}.fcm-row .fcm-side:nth-of-type(1){grid-area:f}.fcm-row .fcm-side:nth-of-type(2){grid-area:b}.fcm-row .fcm-x{grid-area:x;align-self:center}
  .fcm-look{grid-template-columns:1fr}.fcm-mini{max-width:260px}
  .fcm-deck{grid-template-columns:auto 1fr}.fcm-da{grid-column:1/-1;justify-content:stretch}.fcm-da .fcm-btn{flex:1}
  .fcm-card{aspect-ratio:4/3}.fcm-step{padding:14px}.fcm-box{padding:14px}
  .fcm-acts .fcm-btn{flex:1 1 auto}
}

.fcm-tier{margin:10px 0 0;padding:10px 14px;border:2px dashed #c9b8ff;border-radius:14px;background:#f8f5ff;color:var(--n);font-size:15px;line-height:1.45}.fcm-tier a{font-weight:700;color:#1d3fb5}

/* v162 sign-in pop-up (Save / Print / PDF / CSV signed out or not verified) */
.fcm-gate{--n:#15233c;--sun:#ffd23f;--ink:#1d2b45;--mut:#4c5a75;--disp:"Fredoka","Baloo 2","Trebuchet MS",system-ui,sans-serif;position:fixed;inset:0;z-index:2147483646;background:rgba(21,35,60,.55);display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}
.fcm-gbox{position:relative;background:#fff;color:#15233c;border:2.5px solid #15233c;border-radius:18px;box-shadow:0 6px 0 #ffd23f;max-width:460px;width:100%;max-height:calc(100vh - 32px);overflow:auto;padding:22px 20px 18px;box-sizing:border-box}
.fcm-gbox h3{margin:0 40px 10px 0;font-size:22px;line-height:1.25}.fcm-gbox p{margin:0 0 10px}.fcm-gbox .fcm-in{width:100%;box-sizing:border-box;margin:4px 0 6px}
.fcm-gx{position:absolute;top:6px;right:6px;width:44px;height:44px;border:0;background:none;font-size:28px;line-height:1;cursor:pointer;color:#15233c}
.fcm-gerr{color:#b42318;font-weight:700}.fcm-gst{min-height:1.4em}
