.fraction-quest-shell{--fq-ink:#443d61;--fq-muted:#716a82;--fq-paper:#fffaf0;--fq-accent:#71529a;max-width:1140px;margin:auto;padding:clamp(12px,3vw,32px);color:var(--fq-ink);background:linear-gradient(160deg,#f6f0fc,#fdf8e9 65%,#edf7ef);border:1px solid #e4dbea;border-radius:28px;font-family:inherit;font-size:calc(1rem * var(--mw-font-scale,1));overflow-wrap:anywhere;line-height:1.6}
.fraction-quest-shell *{box-sizing:border-box;min-width:0}
.fraction-quest-shell button{font-family:inherit}
.fraction-quest-shell h1,.fraction-quest-shell h2,.fraction-quest-shell h3{line-height:1.4}
.fq-top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
.fq-top>div{flex:1}.fq-eyebrow{display:block;color:#7d618b;font-size:calc(.72rem * var(--mw-font-scale,1));font-weight:800;letter-spacing:.11em}
.fq-top h1{font-size:clamp(calc(1.7rem * var(--mw-font-scale,1)),4vw,calc(2.8rem * var(--mw-font-scale,1)));letter-spacing:-.035em;font-weight:900;margin:.35em 0 .2em}
.fq-subtitle{font-size:calc(.98rem * var(--mw-font-scale,1));color:var(--fq-muted);margin:0}
.fq-button{appearance:none;display:inline-flex;justify-content:center;align-items:center;gap:7px;padding:11px 17px;min-height:46px;border:2px solid #cfc3da;border-radius:14px;background:#f7f0fc;color:var(--fq-ink);font-size:calc(.92rem * var(--mw-font-scale,1));font-weight:750;line-height:1.45;cursor:pointer;white-space:normal;text-align:center;transition:background .15s,transform .15s}
.fq-button:enabled:hover{background:#ece0f5;transform:translateY(-1px)}.fq-button:enabled:active{transform:translateY(1px)}
.fq-button:disabled{background:#eeebef;color:#7b7481;border-color:#dcd6df;opacity:.65;cursor:default;box-shadow:none}
.fq-primary{background:#70509c;border-color:#70509c;color:#fff;box-shadow:0 4px 0 #4b326d}.fq-primary:enabled:hover{background:#5e3c89}
.fq-quiet{background:#fffcf5;border-color:#dfd4de}.fq-link{background:transparent;border-color:transparent;text-decoration:underline}
.fraction-quest-shell button:focus-visible,.fq-equation-scroll:focus-visible{outline:3px solid #ac6826;outline-offset:4px}
.fraction-quest-shell h1:focus,.fraction-quest-shell h2:focus{outline:none}
.fq-world-wrap{position:relative;isolation:isolate;margin:24px 0 14px;border-radius:24px;overflow:hidden;border:1px solid #e8dced;background:radial-gradient(ellipse at 50% 5%,#fff9df 5%,#e9dff5 55%,#d8ece9)}
.fq-world-host{position:relative;height:0}.fq-world-host[data-world3d=ready]{height:360px}.fq-world-host canvas{display:block;width:100%;height:100%;max-width:100%}
.fq-world-host[data-world3d=ready]~.fq-island-art{display:none}
.fq-island-art svg{display:block;width:100%;height:auto;max-height:340px}.fq-island-art{line-height:0}
.fq-world-caption{display:none;margin:0;padding:4px 16px 14px;text-align:center;font-size:calc(.74rem * var(--mw-font-scale,1));color:#645b75;line-height:1.5}.fq-world-host[data-world3d=ready]~.fq-world-caption{display:block}
.fq-guide{display:flex;align-items:center;gap:15px;margin:14px 0 22px;padding:17px 20px;border:1px solid #e1d2dd;border-radius:18px;background:#fffbf2;box-shadow:0 4px 0 #e9e1e6}
.fq-guide-avatar{display:grid;place-items:center;width:52px;height:57px;flex:0 0 52px;border-radius:50% 50% 40% 40%;background:#bea6d8;border:3px solid #f5e5f0;box-shadow:inset 0 -8px 0 #aa8dc7;color:#fff2b0;font-size:calc(2.2rem * var(--mw-font-scale,1))}
.fq-guide strong{display:block;font-size:calc(.78rem * var(--mw-font-scale,1));color:#8b6286}.fq-guide p{margin:5px 0 0;font-size:calc(.98rem * var(--mw-font-scale,1));line-height:1.7}
.fq-map-intro{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:25px 0 18px}
.fq-map-intro h2{margin:0;font-size:calc(1.4rem * var(--mw-font-scale,1))}.fq-map-intro p{margin:0;color:var(--fq-muted);font-size:calc(.84rem * var(--mw-font-scale,1))}
.fq-chapters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.fq-chapter{--fq-card-ink:#35735f;--fq-card-bg:#eff8ee;display:flex;flex-direction:column;align-items:flex-start;padding:22px 18px 14px;border:1px solid #cddfce;border-radius:22px;background:var(--fq-card-bg);box-shadow:0 6px 0 #dfe6d9}
.fq-theme-1{--fq-card-ink:#78569b;--fq-card-bg:#f5eefb;border-color:#ded1e9;box-shadow:0 6px 0 #e5dcec}.fq-theme-2{--fq-card-ink:#9a5665;--fq-card-bg:#fff1ef;border-color:#eed8d2;box-shadow:0 6px 0 #ecdfd5}
.fq-chapter-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:16px;background:#fff9e9;color:var(--fq-card-ink);font-size:calc(2rem * var(--mw-font-scale,1));line-height:1}
.fq-chapter-tag{display:block;margin-top:14px;color:var(--fq-card-ink);font-size:calc(.65rem * var(--mw-font-scale,1));font-weight:850;letter-spacing:.1em}
.fq-chapter h3{font-size:calc(1.2rem * var(--mw-font-scale,1));margin:5px 0 8px;color:var(--fq-card-ink)}
.fq-chapter>p{flex:1;color:#716779;font-size:calc(.86rem * var(--mw-font-scale,1));line-height:1.75;margin:0 0 18px}
.fq-stops{display:grid;gap:9px;width:100%}
.fq-stop{display:grid;grid-template-columns:34px minmax(0,1fr);gap:2px 10px;align-items:center;min-height:70px;width:100%;padding:11px 10px;text-align:left;border:1px solid #d6d5ce;border-radius:14px;background:#fffcf5;color:#53495f;cursor:pointer;font-size:calc(.86rem * var(--mw-font-scale,1));line-height:1.5}
.fq-stop-number{grid-row:span 2;display:grid;place-items:center;width:32px;height:32px;line-height:1;border-radius:50%;background:#ede9df;font-size:calc(.9rem * var(--mw-font-scale,1));font-weight:850}
.fq-stop-title{font-weight:800}.fq-stop-label{font-size:calc(.7rem * var(--mw-font-scale,1));color:#766f7e}
.fq-stop.ready{border:2px solid var(--fq-card-ink);background:#fffdf6}.fq-stop.ready .fq-stop-number{background:var(--fq-card-ink);color:#fff}.fq-stop.done .fq-stop-number{background:#c9dfb9;color:#3f673c}
.fq-stop.locked{opacity:.56;cursor:default}.fq-stop:enabled:hover{box-shadow:0 3px 0 #d9d2df;background:#fff}
.fq-chapter>.fq-chapter-count{flex:0 1 auto;align-self:center;color:var(--fq-card-ink);font-size:calc(.72rem * var(--mw-font-scale,1));font-weight:750;margin:14px 0 0}
.fq-storage,.fq-fine{margin:20px 0 8px;text-align:center;font-size:calc(.76rem * var(--mw-font-scale,1));line-height:1.7;color:#766b7b}
.fq-confirm{display:flex;flex-wrap:wrap;gap:12px;padding:18px;border-radius:16px;border:1px solid #e0cda2;background:#fff3da;margin-top:12px}.fq-confirm p{flex-basis:100%;margin:0 0 8px}
.fq-play-nav{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:20px 0 16px}.fq-progress-label{font-size:calc(.83rem * var(--mw-font-scale,1));color:var(--fq-muted);font-weight:750}
.fq-play-card{padding:clamp(14px,3vw,30px);border-radius:24px;border:1px solid #dfd2e5;background:var(--fq-paper);box-shadow:0 7px 0 #e9dfea}
.fq-play-card>h2{font-size:clamp(calc(1.3rem * var(--mw-font-scale,1)),3vw,calc(1.8rem * var(--mw-font-scale,1)));margin:0 0 16px}
.fq-equation-scroll{overflow-x:auto;max-width:100%;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#b8a1cd #f1e8f4;border-radius:16px;background:#f0e8f7;padding:14px 18px;margin:10px 0 22px}
.fq-equation{width:max-content;min-width:100%;text-align:center;font-size:clamp(calc(1.15rem * var(--mw-font-scale,1)),3vw,calc(1.65rem * var(--mw-font-scale,1)));font-weight:850;line-height:1.6;color:#715094;white-space:nowrap;overflow-wrap:normal;word-break:normal}
.fq-board{max-width:800px;margin:0 auto}.fq-model-group{margin:18px 0}.fq-model-label{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin:0 0 10px;font-size:calc(.93rem * var(--mw-font-scale,1));font-weight:750}
.fq-fraction{display:inline-block;white-space:nowrap;overflow-wrap:normal;word-break:normal;font-variant-numeric:tabular-nums;font-size:calc(1.25rem * var(--mw-font-scale,1));font-weight:850;line-height:1.5}
.fq-fraction-bar{display:grid;grid-template-columns:repeat(var(--fq-parts),minmax(0,1fr));height:54px;padding:4px;border:2px solid #b9abae;border-radius:12px;background:#f5eee2;overflow:hidden;gap:1px}
.fq-part{display:block;background:#fffaf0;border-right:1px solid #d6c9c1}.fq-part:last-child{border-right:0}.fq-part.filled{background:#91bea1;box-shadow:inset 0 -6px 0 #79a98b;animation:fq-light .25s ease-out}.fq-lilac .fq-part.filled{background:#bd9cd8;box-shadow:inset 0 -6px 0 #a782c4}.fq-amber .fq-part.filled{background:#ea8fa5;box-shadow:inset 0 -6px 0 #d67491}.fq-part.blue{background:#8ccce0;box-shadow:inset 0 -6px 0 #69b2ca}
.fq-board-caption,.fq-mixture-label{font-size:calc(.84rem * var(--mw-font-scale,1));text-align:center;color:#756b7e;margin:12px 0;line-height:1.75}
.fq-goal{font-size:calc(1rem * var(--mw-font-scale,1));font-weight:800;text-align:center;margin:20px 0;padding:14px;border:1px dashed #c1accf;border-radius:14px;background:#fcf5fb}
.fq-inventory{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,calc(8rem * var(--mw-font-scale,1))),1fr));gap:12px;margin:22px 0}
.fq-item{display:flex;flex-direction:column;gap:5px;min-height:116px;padding:14px 8px;background:#f4f7e7;border-color:#b4cbb7;box-shadow:0 4px 0 #d0ddc7;color:#3b725d}
.fq-item .fq-fraction{font-size:calc(1.65rem * var(--mw-font-scale,1))}.fq-item-name{font-size:calc(.76rem * var(--mw-font-scale,1));font-weight:750}.fq-item-status{font-size:calc(.72rem * var(--mw-font-scale,1));font-weight:650}.fq-item.used{background:#eceee7;border-color:#d2d7cc;color:#63765d;box-shadow:none}
.fq-amber-item{background:#fff0f1;border-color:#dca0b2;color:#95475e;box-shadow:0 4px 0 #ecd2d7}.fq-blue-item{background:#edf8fc;border-color:#9cc8d5;color:#39788c;box-shadow:0 4px 0 #cfE4e9}
.fq-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.fq-comparison .fq-fraction-bar{height:80px}
.fq-transform-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}
.fq-recipe{background:#fbf0ee;border:1px solid #ead4d6;border-radius:16px;padding:16px 20px;margin:12px 0 22px}.fq-recipe h3{font-size:calc(.97rem * var(--mw-font-scale,1));margin:0 0 10px}.fq-recipe-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.fq-recipe-values p{display:flex;align-items:baseline;gap:8px 14px;flex-wrap:wrap;margin:0}.fq-recipe-values strong{font-size:calc(.83rem * var(--mw-font-scale,1))}.fq-amber-text{color:#9e4c65}.fq-blue-text{color:#367489}
.fq-tools{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding-top:22px;margin-top:22px;border-top:1px solid #e3d9e6}.fq-tools>.fq-button{flex:1 1 140px}
.fq-hints{margin-top:20px;padding:16px 20px;border:1px solid #e4d1a7;border-radius:16px;background:#fff3d5;color:#7c6035;font-size:calc(.91rem * var(--mw-font-scale,1));line-height:1.8}.fq-hints p{margin:8px 0 0}
.fq-feedback{margin-top:18px;padding:17px 20px;border-radius:16px;background:#f1ebf6;color:#6b527e;font-size:calc(.94rem * var(--mw-font-scale,1));font-weight:700;line-height:1.75}.fq-feedback:empty{display:none}.fq-feedback.retry{background:#fff0da;color:#875c32}.fq-feedback.success{background:#e7f2dc;color:#456f44}.fq-feedback.hint{background:#fff3d7;color:#7c6035}
.fq-success{margin-top:26px;padding:24px 10px 8px;text-align:center;border-top:1px solid #e4dce6}.fq-success-light{display:inline-grid;place-items:center;width:60px;height:60px;border-radius:20px;background:#ffedac;color:#a47c37;font-size:calc(2.2rem * var(--mw-font-scale,1));animation:fq-light .4s ease-out}.fq-success>h3{font-size:calc(1.4rem * var(--mw-font-scale,1));margin:12px 0 8px}.fq-success>p{font-size:calc(.86rem * var(--mw-font-scale,1));color:#776c7c;margin:8px 0;line-height:1.7}
.fq-reasoning{max-width:650px;margin:24px auto;padding:20px;text-align:left;border:1px solid #e2d9e8;border-radius:18px;background:#f7f1fa}.fq-optional{margin:0 0 6px;color:#8b7499;font-size:calc(.74rem * var(--mw-font-scale,1));font-weight:750}.fq-reasoning h3{font-size:calc(1rem * var(--mw-font-scale,1));margin:0 0 14px;line-height:1.7}.fq-reason-options{display:grid;gap:10px}.fq-reason{text-align:left;justify-content:flex-start;background:#fffdf7;font-size:calc(.9rem * var(--mw-font-scale,1));font-weight:650}.fq-reason.selected{background:#e9dff3;border-color:#a082b7}
.fq-summary{text-align:center;padding:30px 22px;border:1px solid #ded1e8;border-radius:24px;background:#fffbef}.fq-summary-medal{display:block;font-size:calc(4rem * var(--mw-font-scale,1));color:#c29742}.fq-summary h2{font-size:clamp(calc(1.4rem * var(--mw-font-scale,1)),4vw,calc(2rem * var(--mw-font-scale,1)));margin:8px 0 14px}.fq-summary p{line-height:1.8}.fq-summary-topics{font-weight:750;color:#827095}.fq-summary>.fq-button{margin-top:20px}
@keyframes fq-light{from{opacity:.6;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
@media(max-width:900px){.fq-chapters{grid-template-columns:1fr}.fq-chapter{padding:22px}.fq-chapter-icon{width:48px;height:48px}.fq-stops{grid-template-columns:repeat(2,minmax(0,1fr))}.fq-world-host[data-world3d=ready]{height:320px}}
@media(max-width:600px){.fq-top{flex-direction:column;gap:14px}.fq-top>.fq-button{align-self:flex-start}.fq-guide{padding:15px 13px;gap:11px}.fq-guide-avatar{width:42px;height:48px;flex-basis:42px}.fq-comparison{grid-template-columns:1fr;gap:0}.fq-comparison .fq-model-group{margin:12px 0}.fq-world-host[data-world3d=ready]{height:270px}.fq-transform-tools{grid-template-columns:1fr}.fq-play-card{padding:16px 12px}.fq-recipe-values{grid-template-columns:1fr;gap:8px}}
@media(max-width:400px){.fraction-quest-shell{padding:12px;border-radius:18px}.fq-chapter{padding:18px 13px}.fq-stops{grid-template-columns:1fr}.fq-world-host[data-world3d=ready]{height:240px}.fq-top h1{font-size:calc(1.65rem * var(--mw-font-scale,1))}.fq-guide{align-items:flex-start}.fq-guide-avatar{width:32px;flex-basis:32px;height:42px}.fq-guide p{font-size:calc(.9rem * var(--mw-font-scale,1))}.fq-reasoning{padding:16px 10px}.fq-equation-scroll{padding:12px}.fq-tools{gap:9px}.fq-tools>.fq-button{flex-basis:100%}.fq-summary{padding:24px 12px}.fq-model-label{font-size:calc(.86rem * var(--mw-font-scale,1))}.fq-play-card>h2{font-size:calc(1.25rem * var(--mw-font-scale,1))}}
@media(prefers-reduced-motion:reduce){.fraction-quest-shell *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
