:root{--fmj-bg:#f8fafc;--fmj-surface:#fff;--fmj-surface-soft:#f1f5f9;--fmj-border:#dbe4ef;--fmj-text:#0f172a;--fmj-muted:#64748b;--fmj-primary:#2563eb;--fmj-primary-dark:#1d4ed8;--fmj-radius:18px;--fmj-shadow:0 18px 45px #0f172a14}*{box-sizing:border-box}body{background:var(--fmj-bg);color:var(--fmj-text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit}.fmj-site-header,.fmj-site-footer,.fmj-page{width:min(1180px,100% - 32px);margin:0 auto}.fmj-site-header{justify-content:space-between;align-items:center;gap:16px;padding:22px 0;display:flex}.fmj-logo{align-items:center;gap:12px;text-decoration:none;display:inline-flex}.fmj-logo-mark{background:var(--fmj-primary);color:#fff;border-radius:14px;place-items:center;width:42px;height:42px;font-size:26px;font-weight:800;display:grid}.fmj-logo strong,.fmj-logo small{display:block}.fmj-logo small{color:var(--fmj-muted);margin-top:2px}.fmj-nav{flex-wrap:wrap;gap:8px;display:flex}.fmj-nav a{color:var(--fmj-muted);border-radius:999px;padding:9px 12px;text-decoration:none}.fmj-nav a.active,.fmj-nav a:hover{background:var(--fmj-surface-soft);color:var(--fmj-text)}.fmj-page{padding:28px 0 56px}.fmj-page-heading{margin-bottom:24px}.fmj-page-heading h1,.fmj-hero h1{letter-spacing:-.06em;margin:0 0 16px;font-size:clamp(2.1rem,5vw,4.4rem);line-height:.95}.fmj-page-heading p,.fmj-hero p{color:var(--fmj-muted);max-width:760px;font-size:1.05rem;line-height:1.65}.fmj-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--fmj-primary)!important;font-size:.78rem!important}.fmj-hero{grid-template-columns:minmax(0,1.6fr) minmax(280px,.75fr);align-items:stretch;gap:28px;margin-top:30px;display:grid}.fmj-hero-card,.fmj-card{background:var(--fmj-surface);border:1px solid var(--fmj-border);border-radius:var(--fmj-radius);box-shadow:var(--fmj-shadow)}.fmj-hero-card{padding:28px}.fmj-hero-card ul{color:var(--fmj-muted);padding-left:20px;line-height:1.8}.fmj-hero-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.fmj-card{padding:22px}.fmj-button{cursor:pointer;border:0;border-radius:999px;padding:11px 16px;font-weight:800;transition:transform .12s,background .12s}.fmj-button:hover{transform:translateY(-1px)}.fmj-button-primary{color:#fff;background:var(--fmj-primary)}.fmj-button-primary:hover{background:var(--fmj-primary-dark)}.fmj-button-secondary{color:var(--fmj-text);background:var(--fmj-surface-soft);border:1px solid var(--fmj-border)}.fmj-button-ghost{color:var(--fmj-text);background:0 0}.fmj-attribution-notice{color:#1e3a8a;border-radius:var(--fmj-radius);background:#eff6ff;border:1px solid #bfdbfe;margin:18px 0;padding:16px 18px;line-height:1.55}.fmj-progress-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0;display:grid}.fmj-progress-summary article{background:var(--fmj-surface);border:1px solid var(--fmj-border);border-radius:var(--fmj-radius);padding:18px}.fmj-progress-summary strong{letter-spacing:-.05em;font-size:2rem;display:block}.fmj-progress-summary span{color:var(--fmj-muted);font-size:.9rem}.fmj-filter-panel{background:var(--fmj-surface);border:1px solid var(--fmj-border);border-radius:var(--fmj-radius);box-shadow:var(--fmj-shadow);grid-template-columns:2fr repeat(3,1fr);gap:12px;margin:24px 0;padding:16px;display:grid}.fmj-filter-panel label{gap:7px;display:grid}.fmj-filter-panel span{color:var(--fmj-muted);font-size:.85rem;font-weight:700}.fmj-filter-panel input,.fmj-filter-panel select{border:1px solid var(--fmj-border);width:100%;font:inherit;background:#fff;border-radius:12px;padding:11px 12px}.fmj-two-column{grid-template-columns:minmax(0,.92fr) minmax(360px,1.08fr);align-items:start;gap:22px;display:grid}.fmj-result-count{color:var(--fmj-muted);margin-bottom:12px;font-weight:700}.fmj-problem-grid{gap:14px;display:grid}.fmj-problem-card{appearance:none;text-align:left;background:var(--fmj-surface);border:1px solid var(--fmj-border);border-radius:var(--fmj-radius);cursor:pointer;width:100%;box-shadow:none;padding:18px;transition:transform .12s,box-shadow .12s,border .12s}.fmj-problem-card:hover,.fmj-problem-card.selected{box-shadow:var(--fmj-shadow);border-color:#93c5fd;transform:translateY(-2px)}.fmj-problem-card h3{margin:12px 0 6px;font-size:1.1rem}.fmj-problem-card-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fmj-badge,.fmj-tag{border-radius:999px;align-items:center;padding:5px 9px;font-size:.78rem;font-weight:800;display:inline-flex}.fmj-category-badge{color:#155e75;background:#ecfeff}.fmj-difficulty-badge{color:#334155;border:1px solid var(--fmj-border);background:#f8fafc}.fmj-difficulty-badge.level-4,.fmj-difficulty-badge.level-5{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.fmj-problem-meta,.fmj-source-compact,.fmj-small-text,.fmj-problem-preview{color:var(--fmj-muted)}.fmj-problem-preview{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:10px 0;line-height:1.5;display:-webkit-box;overflow:hidden}.fmj-tag-row{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.fmj-tag{background:var(--fmj-surface-soft);color:var(--fmj-muted)}.fmj-source-compact{margin-bottom:0;font-size:.78rem}.fmj-sticky-panel{gap:18px;display:grid;position:sticky;top:18px}.fmj-problem-viewer{gap:20px;display:grid}.fmj-problem-statement h2{letter-spacing:-.03em;margin:14px 0;font-size:1.7rem}.fmj-statement-text{font-size:1.05rem;line-height:1.7}.fmj-choice-list{gap:8px;margin:18px 0;padding-left:20px;list-style:none;display:grid}.fmj-choice-list li{line-height:1.5}.fmj-source-box{border:1px dashed var(--fmj-border);background:var(--fmj-surface-soft);border-radius:14px;margin-top:18px;padding:14px}.fmj-source-box p{color:var(--fmj-muted);margin:5px 0}.fmj-section-heading-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.fmj-section-heading-row h3{margin:0 0 4px}.fmj-section-heading-row p{color:var(--fmj-muted);margin:0}.fmj-solution-panel,.fmj-animation-panel{border-top:1px solid var(--fmj-border);padding-top:18px}.fmj-answer-line{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:14px;padding:12px}.fmj-solution-steps{gap:14px;padding-left:20px;display:grid}.fmj-solution-steps h4{margin:0 0 4px}.fmj-solution-steps p{color:var(--fmj-muted);margin:0 0 8px;line-height:1.6}.fmj-solution-steps code{color:#fff;white-space:normal;background:#0f172a;border-radius:10px;padding:8px 10px;display:inline-block}.fmj-animation-frames{gap:12px;margin-top:16px;display:grid}.fmj-animation-frame{background:var(--fmj-surface-soft);border:1px solid var(--fmj-border);border-radius:14px;grid-template-columns:38px 1fr;gap:12px;padding:13px;display:grid}.fmj-frame-number{background:var(--fmj-primary);color:#fff;border-radius:12px;place-items:center;width:32px;height:32px;font-weight:900;display:grid}.fmj-animation-frame h4,.fmj-animation-frame p{margin:0 0 5px}.fmj-animation-frame small{color:var(--fmj-muted)}.fmj-next-row{justify-content:flex-end;display:flex}.fmj-topic-map{background:var(--fmj-surface);border:1px solid var(--fmj-border);border-radius:var(--fmj-radius);padding:18px}.fmj-topic-map h3{margin-top:0}.fmj-topic-list{gap:9px;display:grid}.fmj-topic-row{background:var(--fmj-surface-soft);border-radius:12px;justify-content:space-between;padding:10px 12px;display:flex}.fmj-empty-state{background:var(--fmj-surface);border:1px dashed var(--fmj-border);border-radius:var(--fmj-radius);text-align:center;color:var(--fmj-muted);padding:28px}.fmj-readable-page{gap:16px;max-width:860px;display:grid}.fmj-readable-page .fmj-card p{color:var(--fmj-muted);line-height:1.7}.fmj-site-footer{border-top:1px solid var(--fmj-border);color:var(--fmj-muted);gap:14px;padding:26px 0 36px;display:grid}.fmj-footer-links{flex-wrap:wrap;gap:12px;display:flex}.fmj-footer-links a{color:var(--fmj-primary);font-weight:800}.fmj-footer-disclaimer{font-size:.86rem;line-height:1.6}@media (width<=900px){.fmj-site-header,.fmj-hero,.fmj-two-column{grid-template-columns:1fr}.fmj-site-header{display:grid}.fmj-filter-panel,.fmj-progress-summary{grid-template-columns:1fr 1fr}.fmj-sticky-panel{position:static}}@media (width<=560px){.fmj-filter-panel,.fmj-progress-summary{grid-template-columns:1fr}.fmj-section-heading-row{flex-direction:column;align-items:flex-start}}.fmj-diagram-note{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;padding:10px 12px;line-height:1.45}.fmj-problem-images{gap:12px;margin:18px 0;display:grid}.fmj-problem-image-frame{border:1px solid var(--fmj-border);background:#fff;border-radius:14px;margin:0;padding:12px}.fmj-problem-image-frame img{max-width:100%;height:auto;margin:0 auto;display:block}.fmj-problem-image-frame figcaption{color:var(--fmj-muted);text-align:center;margin-top:8px;font-size:.82rem}.fmj-solution-locked{background:var(--fmj-surface-soft);border:1px dashed var(--fmj-border);color:var(--fmj-muted);border-radius:14px;gap:4px;margin-top:16px;padding:14px;display:grid}.fmj-solution-locked strong{color:var(--fmj-text)}.fmj-animated-explainer{gap:14px;margin-top:16px;display:grid}.fmj-animation-stage{border:1px solid var(--fmj-border);background:radial-gradient(circle at 0 0,#2563eb14,#0000 35%),linear-gradient(#fff,#f8fafc);border-radius:18px;place-items:center;min-height:315px;padding:18px;display:grid;overflow:hidden}.fmj-animation-controls{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.fmj-animation-dots{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.fmj-animation-dots button{border:1px solid var(--fmj-border);color:var(--fmj-muted);cursor:pointer;background:#fff;border-radius:14px;padding:9px;font-weight:700}.fmj-animation-dots button.active{color:var(--fmj-primary);background:#eff6ff;border-color:#93c5fd}.fmj-animation-dots span{background:var(--fmj-surface-soft);border-radius:999px;place-items:center;width:22px;height:22px;margin-right:6px;display:inline-grid}.fmj-scene{place-items:center;gap:16px;width:min(100%,680px);display:grid}.fmj-stage-caption{border:1px solid var(--fmj-border);text-align:center;background:#ffffffeb;border-radius:14px;gap:4px;width:min(100%,560px);padding:12px 14px;display:grid;box-shadow:0 12px 30px #0f172a14}.fmj-stage-caption span{color:var(--fmj-muted);line-height:1.45}.fmj-equation-large{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;font-size:clamp(1.35rem,4vw,2.2rem);font-weight:900;display:flex}.fmj-operation-token{color:#991b1b;background:#fee2e2;border-radius:16px;place-items:center;width:54px;height:54px;animation:1.2s infinite fmjPulse;display:inline-grid}.fmj-operation-token.solved{color:#166534;background:#dcfce7}.fmj-equation-small,.fmj-answer-pop{color:#fff;background:#0f172a;border-radius:14px;padding:10px 14px;font-weight:900;animation:.26s ease-out fmjPop}.fmj-clock{width:220px;height:220px;box-shadow:var(--fmj-shadow);background:#fff;border:8px solid #0f172a;border-radius:999px;position:relative}.fmj-clock .mark{font-weight:900;position:absolute;transform:translate(-50%,-50%)}.mark-12{top:8%;left:50%}.mark-1{top:14%;left:72%}.mark-2{top:31%;left:88%}.mark-3{top:50%;left:93%}.mark-4{top:72%;left:86%}.mark-5{top:88%;left:70%}.mark-6{top:93%;left:50%}.mark-7{top:88%;left:30%}.mark-8{top:72%;left:14%}.mark-9{top:50%;left:7%}.mark-10{top:30%;left:13%}.mark-11{top:13%;left:30%}.fmj-clock .hand{background:var(--fmj-primary);transform-origin:bottom;border-radius:999px;width:6px;position:absolute;bottom:50%;left:calc(50% - 3px)}.fmj-clock .minute{height:86px;transform:rotate(0)}.fmj-clock .hour{background:#ef4444;height:62px;transform:rotate(-60deg)}.angle-wedge{color:#f97316;font-size:1.3rem;font-weight:900;animation:.26s ease-out fmjPop;position:absolute;top:20%;left:32%}.fmj-triplet-table{gap:8px;width:min(100%,520px);display:grid}.fmj-triplet-row{border:1px solid var(--fmj-border);background:#fff;border-radius:12px;grid-template-columns:38px 1fr 52px;align-items:center;gap:10px;padding:9px 12px;display:grid}.fmj-triplet-row.highlight{background:#fff7ed;border-color:#f97316;transform:scale(1.02)}.fmj-triplet-row em{justify-self:end;font-style:normal;font-weight:900}.fmj-svg-stage{border:1px solid var(--fmj-border);background:#fff;border-radius:16px;width:min(100%,520px);height:auto}.axis{stroke:#0f172a;stroke-width:3px}.line-a{fill:none;stroke:#2563eb;stroke-width:5px}.line-b{fill:none;stroke:#f97316;stroke-width:5px}.guide{stroke:#64748b;stroke-dasharray:6 5;stroke-width:3px;animation:.8s ease-out fmjDraw}.dot-a{fill:#2563eb}.dot-b{fill:#f97316}.svg-label{fill:#334155;font-size:13px}.svg-label.bold{font-weight:900}.svg-answer{fill:#16a34a;font-size:19px;font-weight:900}.shape-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;display:flex}.rect-garden,.square-garden{color:#14532d;box-shadow:var(--fmj-shadow);background:#dcfce7;border:3px solid #16a34a;place-items:center;gap:6px;font-weight:900;display:grid}.rect-garden{width:220px;height:72px}.square-garden{width:130px;height:130px}.rect-garden em,.square-garden em{font-size:.9rem;font-style:normal}.arrow{color:var(--fmj-primary);font-size:2.4rem;font-weight:900}.money-ladder{gap:8px;width:min(100%,380px);display:grid}.money-card{border:1px solid var(--fmj-border);text-align:center;background:#fff;border-radius:14px;padding:11px;font-weight:900;box-shadow:0 8px 18px #0f172a0f}.money-card.least{color:#991b1b;background:#fee2e2;border-color:#fecaca;animation:1s infinite fmjPulse}.number-line{border-bottom:6px solid #0f172a;width:min(100%,520px);height:96px;margin:25px 0;position:relative}.endpoint,.marker{font-weight:900;position:absolute;transform:translate(-50%)}.endpoint{bottom:-35px}.endpoint.left{left:0%}.endpoint.right{left:100%}.marker{background:var(--fmj-primary);color:#fff;border-radius:999px;padding:7px 10px;animation:.26s ease-out fmjPop;bottom:16px}.marker.three-fourths{opacity:.55;left:75%}.marker.answer{background:#16a34a;bottom:54px;left:75%}.cube-net{width:250px;height:210px;position:relative}.face{background:#fff;border:3px solid #0f172a;border-radius:8px;place-items:center;width:62px;height:62px;font-weight:900;transition:transform .3s,background .2s;display:grid;position:absolute}.face.r{background:#fee2e2;top:0;left:0}.face.b{background:#dbeafe;top:0;left:62px}.face.g{background:#dcfce7;top:62px;left:62px}.face.y{background:#fef9c3;top:62px;left:124px}.face.o{background:#ffedd5;top:62px;left:186px}.face.w{background:#fff;top:124px;left:124px}.face.focus{box-shadow:0 0 0 6px #2563eb2e}.face.opposite{transform:translateY(-8px);box-shadow:0 0 0 6px #16a34a33}.face.dim{opacity:.55}.venn-stage{width:360px;height:220px;position:relative}.overlap{color:#fff;background:#0f172a;border-radius:999px;padding:7px 10px;font-weight:900;animation:.26s ease-out fmjPop;position:absolute}.overlap-ab{top:85px;left:250px}.overlap-ac{top:85px;left:74px}.traffic-bar{width:min(100%,540px);height:72px;box-shadow:var(--fmj-shadow);border:3px solid #0f172a;border-radius:16px;grid-template-columns:25fr 5fr 30fr;display:grid;overflow:hidden}.traffic-bar span{color:#fff;text-align:center;place-items:center;font-weight:900;display:grid}.traffic-bar .green{background:#16a34a}.traffic-bar .yellow{color:#422006;background:#eab308}.traffic-bar .red{background:#dc2626}.traffic-bar .selected{outline-offset:-5px;outline:5px solid #0f172a52;animation:1s infinite fmjPulse}.generic-board{grid-template-columns:repeat(3,1fr);gap:10px;width:min(100%,520px);display:grid}.generic-board span{border:1px solid var(--fmj-border);text-align:center;background:#fff;border-radius:14px;padding:24px 10px;font-weight:900}.generic-board span.active{color:var(--fmj-primary);background:#eff6ff;border-color:#93c5fd}@keyframes fmjPulse{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}@keyframes fmjPop{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fmjDraw{0%{stroke-dashoffset:80px;opacity:0}to{stroke-dashoffset:0;opacity:1}}@media (width<=640px){.fmj-animation-dots{grid-template-columns:1fr}.fmj-animation-stage{min-height:360px}.traffic-bar{font-size:.82rem}.rect-garden{width:170px}.venn-stage{transform:scale(.82)}}.fmj-mode-grid,.fmj-learn-grid,.fmj-practice-grid,.fmj-dashboard-stats{gap:16px;margin:24px 0;display:grid}.fmj-mode-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.fmj-mode-card,.fmj-learn-card,.fmj-practice-grid button,.fmj-dashboard-card,.fmj-dashboard-stats article,.fmj-workspace{background:var(--fmj-surface);border:1px solid var(--fmj-border);border-radius:var(--fmj-radius);box-shadow:var(--fmj-shadow)}.fmj-mode-card,.fmj-learn-card,.fmj-practice-grid button{color:inherit;text-align:left;cursor:pointer;padding:20px;text-decoration:none}.fmj-mode-card strong,.fmj-learn-card strong,.fmj-practice-grid button strong{margin-bottom:6px;font-size:1.18rem;display:block}.fmj-mode-card span,.fmj-learn-card span,.fmj-practice-grid button span,.fmj-learn-card p{color:var(--fmj-muted);line-height:1.55}.fmj-learn-grid,.fmj-practice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fmj-difficulty-row{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.fmj-difficulty-pill{border:1px solid var(--fmj-border);background:var(--fmj-surface);min-width:98px;color:inherit;border-radius:999px;justify-content:space-between;align-items:center;padding:8px 10px;font-size:.88rem;text-decoration:none;display:inline-flex}.fmj-difficulty-pill span{white-space:nowrap}.fmj-difficulty-pill small{color:var(--fmj-muted);margin-left:8px}.fmj-difficulty-pill.empty{opacity:.55}.fmj-learn-card-link{color:inherit;text-decoration:none;display:block}.fmj-problem-bank-shell{grid-template-columns:260px minmax(310px,.88fr) minmax(420px,1.25fr);align-items:start;gap:18px;display:grid}.fmj-bank-filters,.fmj-bank-list,.fmj-bank-workspace{min-width:0}.fmj-bank-filters,.fmj-bank-list,.fmj-bank-workspace,.fmj-archive-layout>aside,.fmj-archive-layout>section{position:sticky;top:16px}.fmj-advanced-filters{background:var(--fmj-surface);border:1px solid var(--fmj-border);border-radius:var(--fmj-radius);box-shadow:var(--fmj-shadow);gap:12px;padding:16px;display:grid}.fmj-advanced-filters>div:first-child{justify-content:space-between;align-items:center;display:flex}.fmj-advanced-filters h3{margin:0}.fmj-small-link-button{color:var(--fmj-primary);cursor:pointer;background:0 0;border:0;font-weight:800}.fmj-advanced-filters label{gap:6px;display:grid}.fmj-advanced-filters label span{color:var(--fmj-muted);font-size:.84rem;font-weight:800}.fmj-advanced-filters input,.fmj-advanced-filters select{border:1px solid var(--fmj-border);width:100%;font:inherit;background:#fff;border-radius:12px;padding:10px 11px}.fmj-compact-list{gap:9px;max-height:calc(100vh - 120px);padding-right:4px;display:grid;overflow:auto}.fmj-compact-row{border:1px solid var(--fmj-border);background:var(--fmj-surface);text-align:left;cursor:pointer;border-radius:14px;gap:8px;width:100%;padding:12px;display:grid}.fmj-compact-row.selected,.fmj-compact-row:hover{background:#eff6ff;border-color:#93c5fd}.fmj-compact-row strong,.fmj-compact-row span{display:block}.fmj-compact-row span{color:var(--fmj-muted);margin-top:2px;font-size:.88rem}.fmj-compact-row-meta{color:var(--fmj-muted);justify-content:space-between;align-items:center;gap:10px;font-size:.8rem;display:flex}.fmj-compact-row-meta em{background:var(--fmj-surface-soft);color:var(--fmj-muted);border-radius:999px;padding:4px 8px;font-style:normal;font-weight:900}.status-solved{color:#166534!important;background:#dcfce7!important}.status-missed{color:#991b1b!important;background:#fee2e2!important}.status-bookmarked{color:#92400e!important;background:#fef3c7!important}.fmj-workspace{gap:18px;padding:20px;display:grid}.fmj-workspace-header{border-bottom:1px solid var(--fmj-border);justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:14px;display:flex}.fmj-workspace-header h2{letter-spacing:-.03em;margin:0}.fmj-source-mini{color:var(--fmj-muted);margin:0 0 6px;font-size:.86rem;font-weight:800}.fmj-bookmark{border:1px solid var(--fmj-border);color:var(--fmj-muted);cursor:pointer;background:#fff;border-radius:999px;width:42px;height:42px;font-size:1.2rem}.fmj-bookmark.active{color:#d97706;background:#fef3c7;border-color:#f59e0b}.fmj-answer-picker{border-top:1px solid var(--fmj-border);gap:12px;padding-top:16px;display:grid}.fmj-answer-picker h3{margin:0}.fmj-answer-buttons{flex-wrap:wrap;gap:8px;display:flex}.fmj-answer-buttons button{border:1px solid var(--fmj-border);cursor:pointer;background:#fff;border-radius:12px;width:48px;height:42px;font-weight:900}.fmj-answer-buttons button.selected{background:var(--fmj-primary);color:#fff;border-color:var(--fmj-primary)}.fmj-workspace-actions{flex-wrap:wrap;gap:8px;display:flex}.fmj-attempt-result,.fmj-hint-box,.fmj-solution-reveal{border:1px solid var(--fmj-border);border-radius:14px;padding:14px}.fmj-attempt-result.correct{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.fmj-attempt-result.incorrect{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.fmj-hint-box{background:#f8fafc}.fmj-hint-box h3{margin-top:0}.fmj-hint-box li{color:var(--fmj-muted);margin:6px 0}.fmj-animation-collapsible{border-top:1px solid var(--fmj-border);padding-top:16px}.fmj-animation-toggle{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:14px;width:100%;padding:13px;font-weight:900}.fmj-template-animation{gap:14px;margin-top:14px;display:grid}.fmj-template-stage{border:1px solid var(--fmj-border);background:radial-gradient(circle at 0 0,#2563eb1a,#0000 36%),#fff;border-radius:18px;place-items:center;min-height:240px;padding:16px;display:grid;overflow:hidden}.fmj-template-caption{background:var(--fmj-surface-soft);border:1px solid var(--fmj-border);border-radius:14px;padding:12px}.fmj-template-caption p{color:var(--fmj-muted);margin:5px 0;line-height:1.5}.fmj-template-caption small{color:var(--fmj-muted)}.fmj-template-generic{text-align:center;grid-template-columns:repeat(3,1fr);gap:9px;width:min(100%,460px);display:grid}.fmj-template-generic span,.fmj-template-area .area-shape{border:1px solid var(--fmj-border);background:var(--fmj-surface-soft);border-radius:14px;padding:18px;font-weight:900}.fmj-template-generic span.active,.fmj-template-area .area-shape.active{color:var(--fmj-primary);background:#eff6ff;border-color:#93c5fd}.fmj-template-clock .clock-circle{background:#fff;border:7px solid #0f172a;border-radius:999px;width:190px;height:190px;position:relative}.clock-top,.clock-hour{font-weight:900;position:absolute}.clock-top{top:8px;left:50%;transform:translate(-50%)}.clock-hour{top:48px;left:20px}.clock-hand{transform-origin:bottom;border-radius:999px;width:6px;position:absolute;bottom:50%;left:calc(50% - 3px)}.clock-angle-label{color:#f97316;font-size:1.25rem;font-weight:900;position:absolute;top:42px;left:58px}.fmj-template-numberline{width:min(100%,430px)}.fmj-template-numberline .line{border-bottom:5px solid #0f172a;height:90px;position:relative}.fmj-template-numberline span{font-weight:900;position:absolute;bottom:-36px;transform:translate(-50%)}.fmj-template-numberline .start{left:0}.fmj-template-numberline .mid{color:var(--fmj-primary);left:70%}.fmj-template-numberline .end{color:#16a34a;left:100%}.fmj-template-venn{place-items:center;width:320px;height:190px;display:grid;position:relative}.fmj-template-venn .circle{background:#dbeafead;border:3px solid #0f172a;border-radius:999px;place-items:center;width:155px;height:155px;font-weight:900;display:grid;position:absolute}.fmj-template-venn .left{left:35px}.fmj-template-venn .right{background:#fed7aaad;right:35px}.venn-overlap{color:#fff;background:#0f172a;border-radius:999px;padding:7px 10px;font-weight:900;position:absolute}.fmj-template-area{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;display:flex}.fmj-template-area span{color:var(--fmj-primary);font-size:2rem;font-weight:900}.fmj-template-probability{text-align:center;gap:16px;width:min(100%,420px);display:grid}.prob-bar{border:3px solid #0f172a;border-radius:16px;grid-template-columns:3fr 2fr;height:64px;display:grid;overflow:hidden}.prob-bar span{background:#e2e8f0;place-items:center;font-weight:900;display:grid}.prob-bar span.selected{color:#166534;background:#bbf7d0}.fmj-template-graph{background:#fff;border-radius:16px;width:min(100%,440px)}.fmj-template-graph .axis{stroke:#0f172a;stroke-width:3px}.graph-line{fill:none;stroke-width:5px}.graph-line.one{stroke:#2563eb}.graph-line.two{stroke:#f97316}.fmj-archive-layout{grid-template-columns:120px minmax(300px,.85fr) minmax(420px,1.15fr);align-items:start;gap:18px;display:grid}.fmj-year-rail{gap:8px;display:grid}.fmj-year-rail button{border:1px solid var(--fmj-border);cursor:pointer;background:#fff;border-radius:14px;justify-content:space-between;padding:11px;font-weight:900;display:flex}.fmj-year-rail button.active{background:var(--fmj-primary);color:#fff}.fmj-session-status{color:var(--fmj-muted);font-weight:900}.fmj-dashboard-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.fmj-dashboard-stats article{padding:18px}.fmj-dashboard-stats strong{letter-spacing:-.05em;font-size:2rem;display:block}.fmj-dashboard-stats span{color:var(--fmj-muted)}.fmj-dashboard-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.fmj-dashboard-card{padding:20px}.fmj-attempt-row,.fmj-topic-row{background:var(--fmj-surface-soft);border-radius:12px;justify-content:space-between;gap:12px;margin:8px 0;padding:10px 12px;display:flex}.fmj-reset-progress{color:#991b1b;cursor:pointer;background:#fee2e2;border:1px solid #fecaca;border-radius:999px;margin-top:18px;padding:10px 14px;font-weight:900}@media (width<=1120px){.fmj-problem-bank-shell,.fmj-archive-layout{grid-template-columns:1fr}.fmj-bank-filters,.fmj-bank-list,.fmj-bank-workspace,.fmj-archive-layout>aside,.fmj-archive-layout>section{position:static}.fmj-compact-list{max-height:420px}.fmj-year-rail{grid-template-columns:repeat(auto-fit,minmax(95px,1fr))}}@media (width<=760px){.fmj-mode-grid,.fmj-learn-grid,.fmj-practice-grid,.fmj-dashboard-stats,.fmj-dashboard-grid,.fmj-template-generic{grid-template-columns:1fr}}.fmj-fixed-animation{gap:14px;margin-top:14px;display:grid}.fmj-fixed-stage{border:1px solid var(--fmj-border);background:radial-gradient(circle at 0 0,#2563eb14,#0000 34%),linear-gradient(#fff,#f8fafc);border-radius:22px;place-items:center;min-height:330px;padding:20px;display:grid;overflow:hidden}.fmj-fixed-caption{border:1px solid var(--fmj-border);background:#f8fafc;border-radius:16px;padding:14px}.fmj-fixed-caption strong{margin-bottom:5px;font-size:1.08rem;display:block}.fmj-fixed-caption p{color:var(--fmj-muted);margin:0 0 6px;line-height:1.5}.fmj-fixed-caption small{color:var(--fmj-muted)}.fmj-visual-card{text-align:center;place-items:center;gap:18px;width:min(100%,650px);min-height:245px;display:grid}.template-visual .template-card,.template-card{border:1px solid var(--fmj-border);background:#fff;border-radius:20px;gap:16px;width:min(100%,640px);padding:22px;display:grid}.template-card-heading{color:var(--fmj-primary);font-size:1.1rem;font-weight:900}.template-card-body{gap:14px;display:grid}.template-equation{letter-spacing:-.02em;font-size:clamp(1.4rem,4vw,2.4rem);font-weight:900}.template-equation code{border:1px solid var(--fmj-border);background:#f8fafc;border-radius:18px;padding:18px 20px;display:block}.template-answer{color:#16a34a;font-weight:900}.template-number-line,.template-bar-card,.template-probability-card,.template-ranking-card,.template-area-card,.template-clock-card,.template-number-line{gap:12px;display:grid}.template-line{background:linear-gradient(90deg,#dbeafe 0%,#93c5fd 100%);border-radius:999px;height:6px;position:relative}.template-marker{color:#1d4ed8;background:#eef2ff;border-radius:999px;padding:6px 10px;font-weight:900;position:absolute;top:-16px;left:45%;transform:translate(-50%)}.template-note{color:#475569;font-size:.98rem}.template-clock-face{background:radial-gradient(circle,#fff 0%,#e2e8f0 100%);border:8px solid #0f172a;border-radius:999px;width:180px;height:180px;margin:0 auto;position:relative}.template-clock-center{background:#0f172a;border-radius:999px;width:12px;height:12px;position:absolute;top:calc(50% - 6px);left:calc(50% - 6px)}.template-clock-hand{transform-origin:bottom;background:#0f172a;border-radius:999px;width:6px;position:absolute;bottom:50%;left:calc(50% - 3px)}.template-clock-hand.minute{height:78px}.template-clock-hand.hour{height:56px;transform:rotate(-65deg)}.template-bar{background:linear-gradient(90deg,#d1fae5 0%,#34d399 100%);border-radius:999px;height:34px;display:grid;overflow:hidden}.template-bar-segment{color:#065f46;place-items:center;padding:0 14px;font-weight:900;display:inline-grid}.template-probability-fraction{font-size:clamp(1.3rem,3vw,1.9rem);font-weight:900}.template-probability-text{color:#475569}.template-data-list{gap:10px;display:grid}.template-data-entry{border:1px solid var(--fmj-border);background:#f8fafc;border-radius:14px;justify-content:space-between;gap:10px;padding:12px 14px;display:flex}.template-data-key{color:#0f172a;font-weight:700}.template-data-value{color:#475569;text-align:right}.template-empty{color:#475569}.equation-line{letter-spacing:-.03em;flex-wrap:wrap;justify-content:center;align-items:center;gap:11px;font-size:clamp(1.35rem,4vw,2.35rem);font-weight:900;display:flex}.operator-chip{color:#991b1b;background:#fee2e2;border-radius:18px;place-items:center;width:58px;height:58px;animation:1.2s ease-in-out infinite fmjFixPulse;display:inline-grid}.operator-chip.solved{color:#166534;background:#dcfce7}.work-line{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.work-line span{border:1px solid var(--fmj-border);background:#fff;border-radius:999px;padding:9px 12px;font-weight:800}.answer-ribbon{color:#fff;background:#0f172a;border-radius:14px;padding:11px 15px;font-weight:900;animation:.24s ease-out fmjFixPop}.clean-clock{width:220px;height:220px;box-shadow:var(--fmj-shadow);background:#fff;border:8px solid #0f172a;border-radius:999px;position:relative}.clock-num,.clock-center,.clock-hand,.clock-gap,.clock-answer{position:absolute}.clock-num{font-weight:900}.n12{top:10px;left:50%;transform:translate(-50%)}.n10{top:56px;left:22px}.clock-center{z-index:3;background:#0f172a;border-radius:999px;width:12px;height:12px;top:calc(50% - 6px);left:calc(50% - 6px)}.clock-hand{transform-origin:bottom;border-radius:999px;width:6px;bottom:50%;left:calc(50% - 3px)}.clock-hand.minute{background:var(--fmj-primary);height:84px}.clock-hand.hour{background:#ef4444;height:62px;transform:rotate(-60deg)}.clock-gap{color:#f97316;font-size:.95rem;font-weight:900}.clock-gap.one{top:22px;left:68px}.clock-gap.two{top:58px;left:38px}.clock-answer{color:#16a34a;font-size:1.5rem;font-weight:900;animation:.24s ease-out fmjFixPop;top:62px;left:78px}.triplet-visual{align-content:center}.triplet-row{border:1px solid var(--fmj-border);text-align:left;background:#fff;border-radius:14px;grid-template-columns:44px 1fr 52px;align-items:center;gap:10px;width:min(100%,520px);padding:10px 12px;display:grid}.triplet-row em{justify-self:end;font-style:normal;font-weight:900}.triplet-row.wrong-sum{background:#fff7ed;border-color:#fb923c;transform:scale(1.02)}.clean-graph{border:1px solid var(--fmj-border);background:#fff;border-radius:16px;width:min(100%,560px);height:auto}.clean-graph .axis{stroke:#0f172a;stroke-width:3px}.graph-label{fill:#475569;font-size:13px}.graph-label.bold{font-weight:900}.graph-label.blue{fill:#2563eb;font-weight:900}.graph-label.orange{fill:#f97316;font-weight:900}.alberto-line,.bjorn-line{fill:none;stroke-width:5px;stroke-linecap:round}.alberto-line{stroke:#2563eb}.bjorn-line{stroke:#f97316}.graph-guide{stroke:#64748b;stroke-dasharray:7 6;stroke-width:3px}.blue-dot{fill:#2563eb}.orange-dot{fill:#f97316}.graph-answer{fill:#16a34a;font-size:20px;font-weight:900}.garden-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;display:flex}.old-garden,.new-garden{color:#14532d;box-shadow:var(--fmj-shadow);background:#dcfce7;border:3px solid #16a34a;border-radius:12px;place-items:center;gap:7px;font-weight:900;display:grid}.old-garden{width:235px;height:74px}.new-garden{width:135px;height:135px}.garden-arrow{color:var(--fmj-primary);font-weight:900}.ranking-ladder{gap:8px;width:min(100%,360px);display:grid}.ranking-card{border:1px solid var(--fmj-border);background:#fff;border-radius:14px;padding:11px;font-weight:900}.ranking-card.least{color:#991b1b;background:#fee2e2;border-color:#fecaca;animation:1s ease-in-out infinite fmjFixPulse}.relation-list{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.relation-list span{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:7px 10px;font-weight:800}.mile-line{border-bottom:6px solid #0f172a;width:min(100%,500px);height:110px;position:relative}.mile-line span{font-weight:900;position:absolute}.mile-start{bottom:-34px;left:0}.mile-end{bottom:-34px;right:0}.mile-marker{border-radius:999px;padding:7px 10px;left:75%;transform:translate(-50%)}.mile-marker.fraction{color:#1d4ed8;background:#dbeafe;bottom:18px}.mile-marker.answer{color:#fff;background:#16a34a;bottom:56px}.clean-net{width:270px;height:225px;position:relative}.net-face{border:3px solid #0f172a;border-radius:10px;place-items:center;width:64px;height:64px;font-weight:900;transition:transform .2s,box-shadow .2s;display:grid;position:absolute}.net-face.r{background:#fee2e2;top:0;left:0}.net-face.b{background:#dbeafe;top:0;left:64px}.net-face.g{background:#dcfce7;top:64px;left:64px}.net-face.y{background:#fef9c3;top:64px;left:128px}.net-face.o{background:#ffedd5;top:64px;left:192px}.net-face.w{background:#fff;top:128px;left:128px}.net-face.focus,.net-face.opposite{box-shadow:0 0 0 7px #2563eb2e}.net-face.opposite{transform:translateY(-8px)}.flower-stage{width:360px;height:220px;position:relative}.bed{text-align:center;background:#dbeafeb8;border:3px solid #0f172a;place-items:center;font-weight:900;display:grid;position:absolute}.bed-a{width:210px;height:100px;top:40px;left:75px}.bed-b,.bed-c{background:#fed7aabd;border-radius:999px;width:118px;height:145px}.bed-b{top:54px;right:0}.bed-c{top:54px;left:0}.overlap{color:#fff;background:#0f172a;border-radius:999px;padding:7px 10px;font-weight:900;position:absolute}.overlap.ab{top:84px;left:250px}.overlap.ac{top:84px;left:74px}.traffic-strip{width:min(100%,540px);height:75px;box-shadow:var(--fmj-shadow);border:3px solid #0f172a;border-radius:16px;grid-template-columns:25fr 5fr 30fr;display:grid;overflow:hidden}.traffic-strip span{color:#fff;text-align:center;place-items:center;font-weight:900;display:grid}.traffic-strip .green{background:#16a34a}.traffic-strip .yellow{color:#422006;background:#eab308}.traffic-strip .red{background:#dc2626}.traffic-strip .selected{outline-offset:-5px;outline:5px solid #0f172a59}.storyboard-visual{align-content:start;gap:18px;width:min(100%,640px);display:grid}.storyboard-track{grid-auto-columns:1fr;grid-auto-flow:column;gap:10px;width:100%;display:grid}.storyboard-step{border:1px solid var(--fmj-border);text-align:left;background:#fff;border-radius:14px;grid-template-columns:32px 1fr;align-items:center;gap:10px;padding:10px 12px;transition:background .2s,border-color .2s,transform .2s;display:grid}.storyboard-step-num{color:#475569;background:#f1f5f9;border-radius:999px;place-items:center;width:30px;height:30px;font-size:.95rem;font-weight:900;display:grid}.storyboard-step-title{color:#0f172a;font-size:.95rem;font-weight:800;line-height:1.2}.storyboard-step.done{background:#ecfdf5;border-color:#6ee7b7}.storyboard-step.done .storyboard-step-num{color:#fff;background:#10b981}.storyboard-step.active{box-shadow:var(--fmj-shadow);background:#eff6ff;border-color:#93c5fd;transform:translateY(-2px)}.storyboard-step.active .storyboard-step-num{background:var(--fmj-primary);color:#fff;animation:1.2s ease-in-out infinite fmjFixPulse}.storyboard-board{border:1px solid var(--fmj-border);background:#fff;border-radius:18px;gap:14px;width:100%;min-height:150px;padding:20px;display:grid}.storyboard-explainer{border:1px solid var(--fmj-border);text-align:left;background:#f8fafc;border-radius:14px;gap:10px;padding:16px 18px;animation:.28s ease-out fmjFixPop;display:grid}.storyboard-explainer-label{color:var(--fmj-primary);letter-spacing:-.01em;font-size:.95rem;font-weight:900}.storyboard-explainer p{color:#1f2937;margin:0;font-weight:500;line-height:1.55}.storyboard-equation-row{justify-content:flex-start;margin-top:4px;display:flex}.storyboard-equation-row code{border:1px solid var(--fmj-border);color:#0f172a;background:#fff;border-radius:12px;padding:10px 16px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:clamp(1rem,2.4vw,1.25rem);font-weight:800;display:inline-block}.storyboard-answer-ribbon{color:#fff;background:#0f172a;border-radius:14px;grid-template-columns:auto auto 1fr;align-items:center;gap:12px;padding:13px 16px;animation:.28s ease-out fmjFixPop;display:grid}.storyboard-answer-label{text-transform:uppercase;letter-spacing:.1em;color:#94a3b8;font-size:.72rem;font-weight:800}.storyboard-answer-ribbon strong{color:#fff;background:#16a34a;border-radius:10px;padding:2px 12px;font-size:1.5rem;font-weight:900;line-height:1.3}.storyboard-answer-text{text-align:left;font-weight:700}@media (width<=640px){.storyboard-track{grid-auto-columns:auto;grid-auto-flow:row}}.fallback-steps{grid-template-columns:repeat(3,1fr);gap:10px;width:min(100%,460px);display:grid}.fallback-steps span{border:1px solid var(--fmj-border);background:#fff;border-radius:14px;padding:20px 10px;font-weight:900}.fallback-steps span.active{color:var(--fmj-primary);background:#eff6ff;border-color:#93c5fd}@keyframes fmjFixPulse{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}@keyframes fmjFixPop{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=640px){.fmj-fixed-stage{min-height:390px}.garden-row{flex-direction:column}.flower-stage{transform:scale(.82)}.traffic-strip{font-size:.78rem}.fallback-steps{grid-template-columns:1fr}}
