.pc-theme-fractionforge .ff-cuis-rack{display:flex;flex-direction:column;gap:.4rem;align-items:flex-start;margin:.8rem 0;padding:.6rem;border-radius:12px;background:var(--ff-warm, #f4f8ff);border:2px solid var(--ff-outline)}.pc-theme-fractionforge .ff-cuis-rod{height:30px;min-width:26px;border:none;border-radius:6px;font-size:.78rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden;white-space:nowrap;box-shadow:0 2px #0000002e;transition:transform .06s,box-shadow .06s}.pc-theme-fractionforge .ff-cuis-rod:hover:not(:disabled){transform:translateY(-1px)}.pc-theme-fractionforge .ff-cuis-rod:disabled{cursor:default}.pc-theme-fractionforge .ff-cuis-rod--whole{outline:3px solid var(--pc-select);outline-offset:2px}.pc-theme-fractionforge .ff-cuis-q{margin-top:.6rem}.pc-theme-fractionforge .ff-cuis-options{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.pc-theme-fractionforge .ff-cuis-opt--right{background:var(--pc-correct-bg);color:var(--pc-correct);border-color:var(--pc-correct);box-shadow:0 0 0 2px var(--pc-correct) inset}.pc-theme-fractionforge .ff-cuis-opt--wrong{background:var(--pc-incorrect-bg);color:var(--pc-incorrect);border-color:var(--pc-incorrect)}.pc-theme-fractionforge .ff-wp-story{font-size:1.05rem;line-height:1.6;font-weight:600;padding:.7rem .9rem;margin:.4rem 0 .6rem;border-left:4px solid var(--ff-forge);background:var(--ff-warm, #f4f8ff);border-radius:8px}.pc-theme-fractionforge .ff-wp-bar{display:flex;gap:3px;margin:.6rem 0;max-width:30rem}.pc-theme-fractionforge .ff-wp-seg{flex:1 1 0;min-width:0;height:46px;border:2px solid var(--ff-outline);border-radius:4px;background:var(--ff-paper, #fff);cursor:pointer;transition:background .1s}.pc-theme-fractionforge .ff-wp-set{display:flex;flex-wrap:wrap;gap:.5rem;margin:.6rem 0;max-width:30rem}.pc-theme-fractionforge .ff-wp-dot{width:40px;height:40px;border-radius:50%;border:2px solid var(--ff-outline);background:var(--ff-paper, #fff);cursor:pointer;transition:background .1s}.pc-theme-fractionforge .ff-wp-seg.ff-wp-on,.pc-theme-fractionforge .ff-wp-dot.ff-wp-on{background:var(--pc-select)}.pc-theme-fractionforge .ff-wp-seg:disabled,.pc-theme-fractionforge .ff-wp-dot:disabled{cursor:default}.pc-theme-fractionforge .ff-wp-count{font-weight:600;margin:.2rem 0 .6rem}@media (prefers-reduced-motion: reduce){.pc-theme-fractionforge .ff-cuis-rod,.pc-theme-fractionforge .ff-cuis-rod:hover:not(:disabled){transition:none;transform:none}}.ff-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr))}.ff-badge--done{background:var(--pc-correct);color:#fff}.ff-stage{background:var(--ff-paper);border:2px solid var(--ff-outline);border-radius:1rem;padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}.ff-stage svg{max-width:100%;height:auto;display:block}.ff-seg{fill:var(--ff-empty);stroke:var(--ff-outline);stroke-width:2;cursor:pointer}.ff-seg--on{fill:var(--ff-shade)}.ff-seg--on-alt{fill:var(--ff-shade-alt)}.ff-seg:focus-visible{outline:3px solid var(--ff-focus);outline-offset:1px}.ff-seg:hover{filter:brightness(.96)}.ff-tickline{stroke:var(--ff-tick);stroke-width:3}.ff-tick{stroke:var(--ff-tick);stroke-width:2}.ff-ticklabel{font-size:12px;fill:var(--ff-anvil);font-weight:600}.ff-marker{fill:var(--ff-marker);stroke:var(--ff-outline);stroke-width:2.5;cursor:grab}.ff-marker:focus-visible{outline:3px solid var(--ff-focus);outline-offset:2px}.ff-benchmark{stroke:var(--ff-slate);stroke-width:2.5;stroke-dasharray:4 4;opacity:.85}.ff-benchmark-label{font-size:13px;font-weight:800;fill:var(--ff-slate-text)}.ff-readout{font-weight:800;font-size:1.15rem;text-align:center}.ff-q{font-size:1.2rem;font-weight:700;line-height:1.4;margin:.5rem 0 1rem}.ff-choices{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));margin-top:1rem}.ff-choice{font:inherit;font-weight:700;text-align:center;cursor:pointer;border:2px solid var(--ff-outline);border-radius:.7rem;padding:.8rem;background:var(--ff-warm);color:var(--ff-anvil);box-shadow:0 2px 0 var(--ff-outline)}.ff-choice:focus-visible{outline:3px solid var(--ff-focus);outline-offset:2px}.ff-choice--correct{background:var(--pc-correct);color:#fff}.ff-choice--wrong{background:var(--pc-incorrect);color:#fff}.ff-choice[disabled]{cursor:default}.ff-feedback{margin-top:1rem;padding:.9rem 1rem;border-radius:.7rem;border:2px solid var(--ff-outline)}.ff-feedback--ok{background:var(--pc-correct-bg)}.ff-feedback--no{background:var(--pc-incorrect-bg)}.ff-hintbox{margin-top:.75rem;font-size:.95rem}.ff-progressbar{height:10px;background:#e8e4df;border-radius:999px;overflow:hidden;border:1.5px solid var(--ff-outline)}.ff-progressbar>span{display:block;height:100%;background:var(--ff-forge);transition:width .25s ease}.ff-topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;font-weight:700}.ff-cameo{display:flex;gap:.75rem;align-items:center;background:var(--ff-paper);border:2px solid var(--ff-outline);border-radius:1rem;padding:.9rem 1rem;margin-top:1rem}.ff-cameo img{width:56px;height:56px;border-radius:999px;border:2px solid var(--ff-outline);background:#fff;flex:none}.ff-cameo .ff-cameo-name{font-weight:800}.ff-cameo--intro{border-left:5px solid var(--ff-forge)}.ff-result-hero{text-align:center}.ff-result-score{font-size:3rem;font-weight:800;color:var(--ff-forge-text)}.ff-stats{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin:1rem 0}.ff-stat{border:2px solid var(--ff-outline);border-radius:.8rem;padding:.6rem .9rem;background:var(--ff-paper);text-align:center;min-width:6rem}.ff-stat .ff-stat-n{font-size:1.5rem;font-weight:800}.ff-stat .ff-stat-l{font-size:.75rem;opacity:.7;text-transform:uppercase;letter-spacing:.03em}.ff-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ff-region-card{border-top-width:5px}.ff-region--unexplored{border-top-color:var(--ff-slate)}.ff-region--shaky{border-top-color:var(--ff-spark)}.ff-region--solid{border-top-color:#2f7d3a}.ff-region-trap{margin-top:.5rem;font-size:.92rem}.ff-region-fix{margin-top:.35rem;font-size:.92rem}.ff-avatar-row{display:flex;align-items:center;gap:.75rem;justify-content:center;margin-bottom:1rem}.ff-avatar-slot svg{display:block}.ff-avatar-editor{display:flex;flex-direction:column;gap:.6rem;align-items:flex-start}.ff-avatar-preview{align-self:center}.ff-avatar-preview svg{display:block}.ff-swatches{display:flex;flex-wrap:wrap;gap:.4rem}.ff-swatch{width:2rem;height:2rem;border-radius:999px;border:2px solid var(--ff-outline);cursor:pointer;padding:0}.ff-swatch--on{outline:3px solid var(--ff-focus);outline-offset:2px}.ff-swatch:focus-visible{outline:3px solid var(--ff-focus);outline-offset:2px}.ff-glyph-input{font:inherit;font-weight:800;text-align:center;width:4rem;padding:.4rem;border:2px solid var(--ff-outline);border-radius:.6rem;margin-left:.5rem;background:var(--ff-warm);color:var(--ff-anvil)}.ff-glyph-input:focus-visible{outline:3px solid var(--ff-focus);outline-offset:2px}.ff-glyph-picks{display:flex;flex-wrap:wrap;gap:.35rem}.ff-glyph-pick{font:inherit;font-size:1.1rem;line-height:1;cursor:pointer;min-width:2.2rem;padding:.35rem;border:2px solid var(--ff-outline);border-radius:.6rem;background:var(--ff-paper);color:var(--ff-anvil)}.ff-glyph-pick:hover{transform:translateY(-1px)}.ff-glyph-pick:focus-visible{outline:3px solid var(--ff-focus);outline-offset:2px}.ff-boss-card--cleared{border-color:#6b8e5a;box-shadow:0 3px #4c6b3e}.ff-boss-card--locked{opacity:.62;filter:grayscale(.55);cursor:not-allowed;box-shadow:none}.ff-boss-card--locked:hover{transform:none}.ff-boss-win{animation:ff-winpulse .6s ease}.ff-topbar-title{display:inline-flex;align-items:center;gap:.5rem}.ff-topbar-avatar svg{display:block;border-radius:999px}.ff-stage{border-top-width:5px;transition:border-color .2s ease}.ff-stage[data-mode=manipulative]{border-top-color:var(--ff-forge)}.ff-stage[data-mode=numberLine]{border-top-color:var(--ff-slate)}.ff-stage[data-mode=operationLab]{border-top-color:#2f7d3a}.ff-stage[data-mode=decimalBridge]{border-top-color:#6b3fa0}.ff-stage[data-mode=comparison]{border-top-color:var(--ff-forge-text)}.ff-seg{transition:fill .18s ease,filter .12s ease}.ff-choice--correct{animation:ff-pop .35s ease}.ff-result-hero{animation:ff-rise .4s ease both}.ff-cameo{animation:ff-rise .4s ease both;animation-delay:.1s}.ff-op--on{background:var(--ff-spark);box-shadow:0 2px 0 var(--ff-outline);font-weight:800}.ff-q--build{border-left:5px solid var(--ff-forge);padding-left:.7rem}.ff-remediation{margin-top:.6rem;padding:.6rem .75rem;border-radius:.6rem;background:#fff4e8;border:2px solid var(--ff-forge)}.ff-remediation-tag{display:inline-block;font-weight:800;font-size:.82rem;color:var(--ff-forge-text);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.02em}.ff-cra{border:2px dashed var(--ff-outline);border-radius:.7rem;padding:.4rem .7rem;margin-bottom:.5rem;background:var(--ff-warm)}.ff-cra>summary{cursor:pointer;font-weight:700;color:var(--ff-slate-text);padding:.25rem 0}.ff-cra>summary:focus-visible{outline:3px solid var(--ff-focus);outline-offset:2px}.ff-cra[open]{border-style:solid}.ff-pop{animation:ff-pop .35s ease}.ff-badges-won{margin-top:1rem;padding:.75rem;border-radius:.7rem;border:2px solid var(--ff-spark);background:#fffbe9;text-align:center}.ff-badges-won-title{font-weight:800;color:var(--ff-forge-text);margin-bottom:.4rem}.ff-badge-chip{display:inline-flex;align-items:center;gap:.35rem;margin:.2rem;padding:.35rem .7rem;border:2px solid var(--ff-outline);border-radius:999px;background:var(--ff-paper);font-weight:700;box-shadow:0 2px 0 var(--ff-outline)}.ff-badge-icon{font-size:1.1rem}.ff-dash-head{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.ff-dash-head svg{display:block;border-radius:999px}.ff-dash-level{flex:1 1 12rem;min-width:12rem}.ff-dash-level-n{font-weight:800;font-size:1.2rem;color:var(--ff-forge-text)}.ff-dash-h2{font-weight:800;font-size:1.2rem;margin:1.75rem 0 .6rem}.ff-dash-kits{display:flex;flex-direction:column;gap:.4rem}.ff-dash-kit{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.6rem .8rem;border:2px solid var(--ff-outline);border-radius:.6rem;background:var(--ff-paper);color:var(--ff-anvil);text-decoration:none;box-shadow:0 2px 0 var(--ff-outline)}.ff-dash-kit:hover,.ff-dash-kit:focus-visible{transform:translateY(-1px)}.ff-dash-kit-name{font-weight:700}.ff-dash-kit-meta{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}.ff-mastery{font-size:.75rem;font-weight:800;padding:.15rem .5rem;border-radius:999px;border:1.5px solid var(--ff-outline)}.ff-mastery--struggling{background:#ffe6d6;color:#9a3b12}.ff-mastery--steady{background:#e6eef8;color:var(--ff-slate-text)}.ff-mastery--racing{background:#e4f4e0;color:#3d6b2e}.ff-badge-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.6rem}.ff-badge-card{padding:.7rem;border:2px solid var(--ff-outline);border-radius:.7rem;background:var(--ff-paper);text-align:center;box-shadow:0 2px 0 var(--ff-outline)}.ff-badge-card--locked{opacity:.55;filter:grayscale(.7);box-shadow:none}.ff-badge-icon-lg{font-size:1.8rem}.ff-badge-card-title{font-weight:800;margin:.2rem 0}.ff-match-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-top:.75rem}.ff-match-card{aspect-ratio:3 / 2;font-size:1.15rem;font-weight:800;border:2px solid var(--ff-outline);border-radius:.6rem;background:var(--ff-slate);color:#fff;cursor:pointer;box-shadow:0 3px 0 var(--ff-outline);transition:transform .12s ease,background .15s ease}.ff-match-card:focus-visible{outline:3px solid var(--ff-focus);outline-offset:2px}.ff-match-card--up{background:var(--ff-paper);color:var(--ff-anvil)}.ff-match-card--done{background:#e4f4e0;color:#3d6b2e;cursor:default;box-shadow:none}.ff-war-cards{display:flex;gap:1rem;justify-content:center;margin:.75rem 0;flex-wrap:wrap}.ff-war-card{text-align:center;padding:.5rem;border:2px solid var(--ff-outline);border-radius:.7rem;background:var(--ff-paper);box-shadow:0 3px 0 var(--ff-outline)}.ff-war-label{font-weight:800;margin-bottom:.25rem}.ff-readout-txt{font-weight:800;font-size:1.3rem;color:var(--ff-forge-text);margin-top:.25rem}.ff-onboard{text-align:center;padding:.5rem}.ff-onboard-icon{font-size:2.6rem}.ff-onboard-title{font-weight:800;font-size:1.3rem;margin:.4rem 0}.ff-onboard-body{max-width:30rem;margin:0 auto .75rem;opacity:.9}.ff-onboard-dots{display:flex;gap:.35rem;justify-content:center;margin-bottom:.75rem}.ff-dot{width:.6rem;height:.6rem;border-radius:999px;background:var(--ff-warm);border:1.5px solid var(--ff-outline)}.ff-dot--on{background:var(--ff-forge)}
