.sg-card .mini .fm-mini{display:inline-flex;flex-direction:column;align-items:flex-end;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.3;color:#1F2933;border-left:3px solid #1F2933;padding-left:8px}
.sg-card .mini .fm-mini i{font-style:normal;animation:none}
.fm-hero{max-width:300px;width:100%;margin:auto;text-align:center;color:#1F2933}
.fm-hero-row{display:grid;grid-template-columns:repeat(4,26px) auto;gap:8px;align-items:center;width:fit-content;margin:0 auto 8px;opacity:.25}
.fm-hero-row i{box-sizing:border-box;width:26px;height:26px;border-radius:50%;background:#93B8F2;border:1.5px solid #2F6FEB}
.fm-hero-row span{margin-left:4px;font-size:17px;font-weight:700;color:#2F6FEB;font-variant-numeric:tabular-nums}
.fm-hero-eq{font-size:20px;font-weight:800;opacity:.25}
.fm-hero-lines{font-size:15px;line-height:1.5;opacity:.25}
.fm-hero.fm-enter .fm-hero-row,.fm-hero.fm-enter .fm-hero-eq,.fm-hero.fm-enter .fm-hero-lines{animation:fm-hero-reveal .3s ease-out forwards}
.fm-hero.fm-enter .fm-hero-row:nth-child(2){animation-delay:.5s}
.fm-hero.fm-enter .fm-hero-row:nth-child(3){animation-delay:1s}
.fm-hero.fm-enter .fm-hero-eq{animation-delay:1.6s}
.fm-hero.fm-enter .fm-hero-lines{animation-delay:2.1s}
@keyframes fm-hero-reveal{to{opacity:1}}
.fm-tabs,.fm-controls,.fm-stepper{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.fm-tabs{margin-bottom:16px}
.fm-stepper{margin-top:16px}
.fm-lad .sg-btn,.fm-cm .sg-btn,.fm-pack .sg-btn,.fm-cf .sg-btn{box-sizing:border-box;min-height:44px}
.fm-lad .sg-btn:disabled,.fm-cm .sg-btn:disabled,.fm-pack .sg-btn:disabled{opacity:.5;cursor:default;transform:none}
.fm-cnt{--d:11px;--g:3px;display:grid;gap:var(--g);grid-auto-rows:var(--d);height:98px;align-content:start;width:fit-content;margin:auto}
.fm-cnt span{box-sizing:border-box;width:var(--d);height:var(--d);border-radius:50%;background:#93B8F2;border:1px solid #2F6FEB}
.fm-cnt span.fm-left{background:#FFFFFF;border:1.5px solid #67757F}
.fm-cnt.fm-reflow{animation:fm-reflow .3s ease-out}
@keyframes fm-reflow{0%,100%{opacity:1}50%{opacity:.3}}
.fm-rungs{font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;color:#1F2933;line-height:1.7;text-align:left;width:fit-content;margin:16px auto 0}
.fm-rungs>div{display:grid;grid-template-columns:3ch auto;border-radius:8px}
.fm-rungs>div.fm-new{animation:fm-arrive .25s ease-out}
.fm-rungs>div.fm-turn{outline:2px solid #2F6FEB}
@keyframes fm-arrive{from{opacity:0}to{opacity:1}}
.fm-not{font-size:15px;color:#67757F;text-align:center;margin-top:8px}
.fm-all{font-size:17px;font-weight:700;color:#4A7A1E;text-align:center;margin-top:8px}
.fm-dots{display:flex;gap:8px}
.fm-dots i{width:8px;height:8px;border-radius:50%;background:#E5E0D6}
.fm-dots i.on{background:#2F6FEB}
.fm-cf-cols{display:flex;justify-content:center;gap:16px}
.fm-cf-col{max-width:200px;min-width:0}
.fm-cf-title{font-size:15px;font-weight:700;color:#1F2933;text-align:center;margin-bottom:8px}
.fm-cf-rungs{display:grid;gap:8px}
.fm-cf-rungs>div{display:flex;align-items:center;justify-content:center}
.fm-cf-rungs button{box-sizing:border-box;cursor:pointer;min-width:44px;min-height:44px;padding:0 8px;border-radius:10px;background:#FFFFFF;border:2px solid #E5E0D6;font:700 17px var(--u-font);font-variant-numeric:tabular-nums;color:#1F2933;transition:background .2s,border-color .2s}
.fm-cf-rungs>div>span{font-size:17px;color:#67757F;margin:0 6px}
.fm-cf-rungs button.fm-found{border:3px solid #4A7A1E;background:#EEF4E6}
.fm-cf-rungs button.fm-checked{border:2px dashed #67757F}
.fm-cf-rungs button.fm-greatest{outline:2px solid #4A7A1E;outline-offset:3px}
.fm-cf-res{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;margin-top:16px;text-align:center;font-size:17px;font-weight:700;color:#1F2933}
.fm-cf-slots{display:flex;gap:8px}
.fm-cf-slots span{box-sizing:border-box;width:40px;height:36px;border:2px dashed #E5E0D6;border-radius:8px;display:grid;place-items:center}
.fm-cf-slots span.fm-filled{color:#4A7A1E;border:2px solid #4A7A1E}
.fm-cf-gcf{font-size:17px;font-weight:800;color:#4A7A1E;text-align:center;margin-top:16px}
.fm-cf .fm-controls{margin-top:16px}
.fm-cm svg,.fm-pack svg{display:block;width:100%;max-width:460px;height:auto;margin:auto}
.fm-cm svg text,.fm-pack svg text{font-family:var(--u-font);font-variant-numeric:tabular-nums}
.fm-disc.fm-new{transform-box:fill-box;transform-origin:center;animation:fm-disc-in .25s ease-out}
@keyframes fm-disc-in{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}
.fm-match.fm-new{stroke-dasharray:1;animation:fm-ring-in .3s ease-out}
@keyframes fm-ring-in{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.fm-progress{font-size:13px;color:#67757F}
.fm-stem{font-size:15px;color:#1F2933}
.fm-pack-count{text-align:center;font-size:20px;font-weight:800;color:#1F2933;font-variant-numeric:tabular-nums}
.fm-pack-controls{display:flex;justify-content:center;align-items:center;gap:10px;margin:16px auto}
.fm-pack-controls .sg-btn{width:44px;height:44px;padding:0;text-align:center}
.fm-pack-controls input{width:200px;min-width:0;accent-color:#2F6FEB;min-height:44px;margin:0}
.fm-pack-frame{animation:fm-arrive .2s ease-out}
.sg-main:has(.fm-lad) .sg-btn:focus-visible,.sg-main:has(.fm-lad) .sg-opts button:focus-visible,.fm-cf button:focus-visible,.fm-pack input:focus-visible{outline:3px solid #2F6FEB;outline-offset:2px}
.sg-main:has(.fm-lad) .sg-opts button.not{background:#FFFFFF;box-shadow:inset 0 0 0 1.5px #67757F}
.sg-main:has(.fm-lad) .sg-opts button.yes,.sg-main:has(.fm-lad) .sg-ex .ans{background:#FFFFFF}
.sg-main:has(.fm-lad) .sg-ex .hint{background:#FFFFFF}
.sg-main:has(.fm-lad) .sg-ex .w.hl{background:#EAF1FE;border-radius:4px;padding:0 3px}
@media(max-width:480px){
.fm-hero-row{grid-template-columns:repeat(4,22px) auto}
.fm-hero-row i{width:22px;height:22px}
.fm-cnt{--d:7px;--g:1px;height:56px}
.fm-pack-controls input{flex:1}
}
@media(prefers-reduced-motion:reduce){
.fm-hero-row,.fm-hero-eq,.fm-hero-lines{opacity:1}
.fm-hero.fm-enter .fm-hero-row,.fm-hero.fm-enter .fm-hero-eq,.fm-hero.fm-enter .fm-hero-lines,.fm-cnt.fm-reflow,.fm-rungs>div.fm-new,.fm-disc.fm-new,.fm-match.fm-new,.fm-pack-frame{animation:none}
.fm-cf-rungs button{transition:none}
.sg-main:has(.fm-lad) .sg-step,.sg-main:has(.fm-lad) .sg-ex *,.sg-main:has(.fm-lad) .sg-btn,.sg-main:has(.fm-lad) .sg-opts button,.sg-main:has(.fm-lad) .sg-hint::before{animation:none;transition:none}
}
