.pattern-svg{width:100%;height:auto;display:block;max-height:365px;font:20px 'Yu Gothic','Hiragino Kaku Gothic ProN','Noto Sans CJK JP',sans-serif;fill:var(--ink)}.pattern-svg .small{font-size:17px}.pattern-svg .tiny{font-size:13px;fill:#658478}.pattern-svg .green{fill:#28684f}.svg-tap{cursor:pointer;outline:none}.svg-tap:focus-visible>rect,.svg-tap:focus-visible>circle{stroke:#976c17;stroke-width:3}.stage{padding-bottom:3px}.chart-head{min-height:46px;align-items:center;padding-bottom:8px;font-size:.875rem}.question-nav{max-width:640px}.notebook{margin-top:0;margin-bottom:17px}.nb-body .step{padding-top:10px;margin-top:10px}.nb-body .step h3{font-size:.9375rem}.expr-result:empty{display:none}.formula-help{font-size:.8125rem;color:var(--muted);margin:7px 0}.free-note{width:100%;min-height:94px;resize:vertical;font:inherit;font-size:.9375rem;border:1px solid var(--line);border-radius:8px;padding:10px;background:repeating-linear-gradient(#fffefa 0,#fffefa 31px,#e5e9df 32px);line-height:32px}.answer-box select{font:inherit;border:1px solid #a4c1b0;border-radius:8px;min-height:43px;background:white;padding:5px 12px;color:inherit}.save-note{font-size:.8125rem;color:var(--muted);margin-top:8px}.question-nav a.reviewed:after{content:'・';position:absolute;top:-8px;right:-4px;color:#658578}.btn[aria-pressed=true]{background:#fff6dd;border-color:#c6a458;color:#876426}.model-panel{position:static}.work-panel .solution summary{font-weight:500}.reward .medal-wrap{flex:none}.solution ol li{margin-bottom:12px}.solution p.formula{font-size:1.05rem}.page-selector{display:none;width:100%;font:inherit;border:1px solid var(--line);padding:7px;background:#fffefa;color:var(--ink);border-radius:8px;margin:12px auto}.chapter-toc .lesson-art svg{height:100%;width:100%}.toc-progress{font-size:14px;text-align:center;padding:8px;color:#4e7766}.thumb svg text{font-family:'Yu Gothic',sans-serif}.readout{min-height:65px;align-items:start;flex-direction:column;gap:2px}.model-foot{margin-top:12px;text-align:center}.model-foot .btn{width:100%}.empty-progress{color:var(--muted)}.answers-retry{font-size:.8125rem;text-decoration:underline;background:transparent;border:0;padding:7px 0;color:var(--muted)}
@media(max-width:850px){.model-panel{position:static}.pattern-svg{max-height:none}.question-nav{max-width:600px}.model-foot{display:block}.readout{min-height:60px}}
@media(max-width:480px){.question-nav{display:none}.page-selector{display:block}.pattern-svg{font-size:21px}.pattern-svg .small{font-size:18px}.pattern-svg .tiny{font-size:14px}.chart-head{min-height:0;padding:8px 10px}.title h1{font-size:1.17rem}.number{font-size:1.5rem}.level{font-size:.75rem}.controls .btn{flex-grow:1}.slider-row .btn{flex-grow:0}.model-panel{padding:9px}.instruction{font-size:.875rem}.lesson-card .lesson-art{flex-basis:76px}.solution .formula{font-size:1rem}.work-panel{padding:15px}.answer-box input{width:90px}}
.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}

@media(min-width:851px){.pattern-svg{max-height:330px}.model-panel{position:sticky;top:12px;align-self:start}}

/* A compact, single-step notebook keeps the diagram and the calculation close. */
.step-count{margin:12px 0 4px;color:var(--muted)}.nb-body .step{margin-top:4px;padding-top:3px}.nb-navigation{padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:12px}.formula-help{display:block}.free-note{min-height:70px;line-height:28px;background:repeating-linear-gradient(#fffefa 0,#fffefa 27px,#e5e9df 28px)}.nb-intro{font-size:.8125rem}.controls .btn{max-width:100%}.readout strong{overflow-wrap:anywhere}.btn:disabled{opacity:.5}.pattern-svg .svg-tap:focus-visible{outline:none}.svg-tap:focus-visible>line{stroke:#976c17;stroke-width:8}.expr-row{flex-wrap:nowrap}.expr-row input{flex:1 1 0}.notebook,.answer-label{scroll-margin-top:20px}.answer-box select:focus-visible,.free-note:focus-visible{outline:3px solid #ba923c;outline-offset:3px}
@media(max-width:480px){.shell{width:calc(100% - 20px)}.nb-navigation .btn{padding:7px 9px}.step h3{font-size:.9375rem}.model-foot{margin-top:10px}.free-note{font-size:16px}.expr-row input,.answer-box select{font-size:16px}.pattern-svg .tiny{font-size:15px}}

.top-nav{flex-wrap:wrap}.top-nav a{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
