:root{--ink:#252d42;--muted:#626b80;--blue:#3c518f;--blue-light:#edf0fa;--paper:#fff;--bg:#f4f6fa;--line:#dce1ec;--green:#24715a;--orange:#99552c}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font-family:'Malgun Gothic','Apple SD Gothic Neo',sans-serif;line-height:1.65}button,input,select{font:inherit}button{cursor:pointer;min-height:44px;padding:9px 15px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);font-weight:700}button:hover{border-color:var(--blue);background:var(--blue-light)}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #ba7b24;outline-offset:3px}[hidden]{display:none!important}.primary{background:var(--blue);color:white;border-color:var(--blue)}.primary:hover{background:#2e4075;color:white}.text-button{background:transparent;border-color:transparent;color:var(--muted)}.app-header{max-width:1160px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-size:19px}.brand-mark{display:grid;place-items:center;position:relative;font-size:30px;font-weight:800;color:white;background:var(--blue);width:45px;height:45px;border-radius:12px 12px 3px 12px}.brand-mark span{position:absolute;right:4px;top:0;font-size:15px}.header-actions{display:flex;align-items:center;gap:20px}.version{font-size:12px;color:var(--muted)}main{max-width:1160px;margin:auto;padding:26px 24px 40px;min-height:72vh}h1,h2,h3,p{margin-top:0}h1{font-size:32px;line-height:1.4;letter-spacing:-1px;margin-bottom:8px}h2{font-size:23px;line-height:1.45;letter-spacing:-.5px}h3{font-size:17px;margin-bottom:8px}p{margin-bottom:14px}.muted{color:var(--muted)}.home-intro{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:8px 0 26px}.home-intro p{color:var(--muted);margin:0}.continue{min-width:170px}.course-layout{display:grid;grid-template-columns:220px 1fr;gap:26px}.summary{align-self:start;padding:22px 20px;background:#e8ecf7;border-radius:12px 12px 36px 12px}.summary strong{font-size:36px;color:var(--blue)}.summary h2{font-size:16px;margin:0 0 8px}.summary p{font-size:13px;margin:8px 0}.bar{height:6px;background:#d5dced;overflow:hidden;border-radius:4px}.bar>span{display:block;height:100%;background:var(--blue);transition:width .2s}.unit-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.unit{background:white;display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:12px;padding:15px;border:1px solid var(--line);border-radius:10px}.unit-no{font-size:22px;font-weight:700;color:#7785a8}.unit h3{margin:0;font-size:16px}.unit p{font-size:12px;color:var(--muted);margin:4px 0 0}.unit button{font-size:13px;min-height:38px;padding:6px 11px}.unit.done{border-color:#82b19d}.picker{margin-top:20px;border-top:1px solid var(--line);padding:16px 0}.picker summary{cursor:pointer;font-weight:700}.question-grid{display:grid;grid-template-columns:repeat(16,1fr);gap:6px;margin-top:14px}.question-grid button{padding:4px;min-width:0;font-size:13px}.question-grid .done,.jump-dot.done{color:var(--green);background:#e5f3ec;border-color:#9bc8b5}.scope{font-size:12px;color:var(--muted);margin-top:14px}.lesson-top{display:flex;align-items:center;gap:12px;margin-bottom:18px}.lesson-top .home{border:2px solid #45846b;color:#245940;background:#e7f3ec}.lesson-top .context{flex:1;color:var(--muted);font-size:13px}.lesson-top select{max-width:200px;min-height:40px;padding:6px;border:1px solid var(--line);border-radius:6px;background:white}.lesson-layout{display:grid;grid-template-columns:1fr 1.08fr;gap:24px;align-items:start}.problem{padding:26px;background:white;border:1px solid var(--line);border-radius:12px}.question-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);margin-bottom:15px}.question-meta b{background:var(--blue-light);padding:3px 9px;border-radius:4px;color:var(--blue)}.problem h1{font-size:25px;line-height:1.65;letter-spacing:-.5px;margin-bottom:22px;overflow-wrap:anywhere}.working-label{font-size:12px;color:var(--muted);margin:12px 0 5px}.current-expression,#referenceExpressionResult{border-left:3px solid var(--blue);padding:12px 15px;background:#f4f6fc;font-size:21px;font-weight:700;overflow-wrap:anywhere}.steps-track{display:flex;gap:6px;margin:0 0 22px}.steps-track span{display:flex;align-items:center;gap:6px;flex:1;color:var(--muted);font-size:12px;padding-bottom:8px;border-bottom:3px solid var(--line)}.steps-track span.active{color:var(--blue);border-color:var(--blue);font-weight:800}.steps-track span.passed{color:var(--green);border-color:#77a58c}.workshop{padding:25px;background:white;border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:4px 4px 12px 12px;min-width:0}.step-heading{font-size:22px;line-height:1.55;margin-bottom:18px;overflow-wrap:anywhere}.choices{display:grid;gap:9px;margin:18px 0}.choice{display:flex;align-items:center;gap:12px;text-align:left;font-weight:500;min-height:54px;padding:12px 14px;line-height:1.55;overflow-wrap:anywhere}.choice .letter{display:grid;place-items:center;flex:none;width:26px;height:26px;border:1px solid var(--line);border-radius:50%;font-size:12px;font-weight:800;color:var(--muted)}.choice.wrong{border-color:#b9714d;background:#fff4eb}.choice.correct{border:2px solid var(--green);background:#edf7f1;color:#18533d}.choice:disabled{opacity:1}.feedback{font-size:14px;color:var(--orange);margin:14px 0;min-height:23px}.feedback.success{color:var(--green)}.feedback p{margin:5px 0 0}.hint-text{padding:12px 0 12px 14px;border-left:3px solid #d4a64d;font-size:14px;color:#79531c;margin-top:10px}.controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.controls .primary{margin-left:auto}.answer-form label{display:block;font-size:13px;margin-bottom:8px;color:var(--muted)}.answer-row{display:flex;gap:8px}.answer-row input{width:100%;min-width:0;padding:12px;border:1px solid #9ba8c5;border-radius:7px;font-size:24px;background:#fafbff;color:var(--ink)}.answer-row button{flex-shrink:0}.history{list-style:none;margin:20px 0 0;padding:0}.history li{border-top:1px solid var(--line);padding:13px 0;font-size:14px;overflow-wrap:anywhere}.history small{display:block;font-size:12px;color:var(--green)}.history b{display:block;margin:4px 0}.history p{font-size:12px;color:var(--muted);margin:0}.empty-history{font-size:13px;color:var(--muted);margin-top:20px}.diagram{margin:14px 0 0;background:#f8f9fc;border-radius:6px;padding:6px}.diagram svg{width:100%;max-height:170px;display:block}.diagram text{font-family:inherit;fill:var(--ink)}.diagram figcaption{font-size:11px;color:var(--muted);text-align:center}.finish-badge{display:inline-block;color:var(--green);background:#e7f3ec;border-radius:6px;padding:4px 10px;font-size:13px;font-weight:700;margin-bottom:16px}.final-answer{font-size:22px;color:var(--blue);font-weight:800;white-space:pre-line;overflow-wrap:anywhere}.finish p{font-size:15px}.finish .controls{margin-top:24px}.completion-note{font-size:13px!important;color:var(--muted)}.jump-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:20px}.jump-dot{min-width:40px;padding:5px 8px;min-height:36px}.jump-dot.active{border:2px solid var(--blue)}footer{max-width:1112px;margin:auto;padding:14px 0 24px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:12px}dialog{max-width:550px;width:calc(100% - 32px);max-height:85vh;overflow:auto;border:1px solid var(--line);border-radius:14px;padding:28px;color:var(--ink)}dialog::backdrop{background:#222e4660}dialog p,dialog li{font-size:14px}.save-warning{margin:10px 24px;padding:10px;color:#8b4e23;background:#fff1db;font-size:13px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:900px){.unit-list{grid-template-columns:1fr}.course-layout{grid-template-columns:195px 1fr}.lesson-layout{gap:14px;grid-template-columns:1fr 1fr}.problem,.workshop{padding:20px}.question-grid{grid-template-columns:repeat(10,1fr)}}
@media(max-width:650px){.app-header{padding:10px 14px}.brand{font-size:15px;gap:8px}.brand-mark{width:34px;height:34px;font-size:24px}.version{display:none}.header-actions{gap:0}.header-actions button{font-size:12px;padding:5px 8px}main{padding:18px 12px 28px}h1{font-size:25px}.home-intro{display:block;margin:0 0 18px}.home-intro p{font-size:13px}.continue{margin-top:14px;width:100%}.course-layout{display:block}.summary{padding:14px;margin-bottom:14px;border-radius:10px;display:grid;grid-template-columns:1fr auto;gap:3px 14px;align-items:center}.summary h2{margin:0}.summary .bar{grid-column:1/-1;grid-row:3}.summary p{margin:0}.summary .summary-number{grid-column:2;grid-row:1/3}.summary strong{font-size:28px}.summary .smallprint{display:none}.unit-list{grid-template-columns:1fr 1fr;gap:8px}.unit{padding:12px 10px;grid-template-columns:1fr auto;gap:5px}.unit-no{display:none}.unit h3{font-size:14px}.unit p{font-size:11px}.unit button{min-height:36px;font-size:12px;padding:5px 8px}.question-grid{grid-template-columns:repeat(8,1fr)}.lesson-top{gap:8px;flex-wrap:wrap;margin-bottom:12px}.lesson-top .context{font-size:12px;min-width:90px}.lesson-top select{max-width:140px;font-size:12px}.lesson-layout{grid-template-columns:1fr;gap:12px}.problem{padding:17px}.problem h1{font-size:20px;line-height:1.55;margin-bottom:12px}.question-meta{margin-bottom:10px}.current-expression,#referenceExpressionResult{font-size:18px;padding:8px 12px}.workshop{padding:18px}.step-heading{font-size:20px}.steps-track{margin-bottom:14px}.controls button{font-size:13px;padding:8px 11px}.controls .primary{min-width:120px}.diagram svg{max-height:130px}.history{margin-top:12px}.history li{padding:9px 0}.history p{display:none}.empty-history{display:none}.choice{min-height:52px;font-size:15px}.lesson-layout:has(.finish) .problem{order:1}.lesson-layout:has(.finish) .workshop{order:0}.scope{font-size:11px}footer{margin:0 14px;display:block;font-size:11px}footer span{display:block}.final-answer{font-size:20px}.answer-row input{font-size:22px}.jump-row{margin-top:14px}}
@media(max-width:370px){.unit-list{grid-template-columns:1fr}.lesson-top select{max-width:125px}.lesson-top button{font-size:12px;padding:7px 9px}.question-grid{grid-template-columns:repeat(8,1fr)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
h1[tabindex]:focus,h2[tabindex]:focus{outline:none}.feedback:focus{outline:none}.feedback:empty{min-height:0;margin:8px 0}
.factor-picker{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:20px 0 10px;padding:12px 15px;background:#e8ecf7;border-radius:8px;font-size:13px}.factor-picker label{font-weight:700}.factor-picker select{font:inherit;min-width:110px;padding:8px;border:1px solid #a3b0cf;border-radius:6px;background:white}.factor-picker span{color:var(--muted);font-size:12px}.factor-board{margin:15px 0}.factor-ladder{padding:12px 4px}.factor-row{display:grid;grid-template-columns:32px 65px 1fr;align-items:center;min-height:38px;font-size:22px}.factor-row b{font-size:20px;font-weight:600;color:var(--blue);border-right:2px solid var(--blue);border-bottom:2px solid var(--blue);text-align:center;align-self:stretch;display:grid;place-items:center}.factor-row span{padding-left:18px}.factor-row small{color:var(--muted);font-size:12px;padding-left:12px}.factor-current b{border:0}.factor-current span{font-weight:800;color:var(--green)}.factor-product{font-size:17px;font-weight:700;overflow-wrap:anywhere;color:var(--blue);padding-top:8px;border-top:1px solid var(--line)}
.problem:has(.factor-board) .history,.problem:has(.factor-board) .empty-history{display:none}.factor-home{margin-top:12px;width:100%;font-size:13px;padding:8px}
.summary .factor-home{grid-column:1/-1}
.update-tools{max-width:1112px;margin:0 auto;padding:10px 0;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);flex-wrap:wrap}.update-tools>span{font-size:12px;color:var(--muted)}.update-actions{display:flex;gap:7px;margin-left:auto;flex-wrap:wrap}.update-actions button{font-size:12px;min-height:34px;padding:5px 12px}.update-tools>p{width:100%;font-size:13px;margin:0;color:var(--muted)}.update-tools>p:empty{display:none}
@media(max-width:1160px){.update-tools{margin:0 24px}}@media(max-width:650px){.update-tools{margin:0 14px;padding:8px 0;gap:6px}.update-tools>span{font-size:11px;width:100%}.update-actions{margin-left:0;width:100%;gap:6px}.update-actions button{font-size:11px;padding:5px 10px;min-height:34px}.update-tools>p{font-size:12px}}
.answer-instruction{font-size:13px;color:var(--muted)}.direct-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.direct-title h2{margin:0}.direct-title span{font-size:12px;color:var(--muted)}.direct-intro{font-size:13px;margin:8px 0 18px}.direct-current{display:flex;align-items:center;gap:12px;padding:10px 0}.direct-current strong{font-size:30px;color:var(--blue)}.direct-current span{font-size:13px}.prime-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}.prime-buttons button{font-size:20px;border-color:#a7b4d3;min-height:50px;color:var(--blue)}.direct-complete{border-top:1px solid var(--line);padding-top:15px;color:var(--green)}.direct-complete p{margin:6px 0;font-size:14px}.direct-complete p:first-of-type{font-size:23px;font-weight:700}.direct-workshop .factor-board{margin:8px 0}.direct-workshop .controls{gap:6px}.direct-workshop .controls button{font-size:12px;padding:8px 10px}#directFeedback:focus,#finalFeedback:focus{outline:none}
@media(max-width:650px){.factor-layout:has(.finish) .problem{order:0}.prime-buttons{gap:6px}.prime-buttons button{padding:8px;font-size:18px}.direct-title h2{font-size:21px}}
.interpretation{margin:18px 0 22px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.interpretation h2{font-size:17px;margin:0 0 12px;color:var(--blue)}.interpretation p{font-size:14px;line-height:1.75;margin:0 0 12px;overflow-wrap:anywhere}.interpretation p:last-child{margin:0}.interpretation b{display:block;font-size:12px;color:var(--muted);margin-bottom:3px}
@media(max-width:650px){.interpretation{margin:14px 0 18px;padding:13px 0}.interpretation p{font-size:13px}.interpretation h2{font-size:16px}}
.geometry-figure{margin:18px 0 22px;padding:14px 0;border-bottom:1px solid var(--line)}.geometry-figure>figcaption{font-size:15px;font-weight:700;color:var(--blue);margin-bottom:8px}.geometry-figure svg{display:block;width:100%;height:auto;max-height:280px;background:#f7f9fd;border-radius:8px}.geometry-note{font-size:11px;color:var(--muted);margin:8px 0 14px}.geometry-reading{margin:0;padding-left:23px;font-size:13px;line-height:1.8}.geometry-reading li{padding:4px 6px;margin:0 0 5px;color:var(--muted)}.geometry-reading li.current{color:var(--ink);background:#edf1fa;border-radius:4px}.geometry-figure[data-geo-stage="0"] [data-part="0"],.geometry-figure[data-geo-stage="1"] [data-part="1"],.geometry-figure[data-geo-stage="2"] [data-part="2"]{stroke:#a45228}.geometry-figure svg text{stroke:none}
@media(max-width:650px){.geometry-figure{padding:10px 0}.geometry-figure svg{max-height:none}.geometry-reading{font-size:12px}.geometry-figure>figcaption{font-size:14px}}
@media(max-width:650px){.factor-picker{padding:10px;font-size:12px}.factor-picker span{flex-basis:100%}.factor-row{min-height:34px;font-size:20px}.factor-row small{font-size:11px}.factor-board{margin:10px 0}}
.journey-count{font-size:14px;color:var(--muted);margin:0 0 10px}.journey-route{display:flex;list-style:none;padding:0;margin:0 0 22px;gap:8px}.journey-route li{flex:1;line-height:1.45;font-size:13px;color:var(--muted);padding-bottom:10px;border-bottom:3px solid var(--line)}.journey-route li span{display:inline-block;margin-right:5px}.journey-route li.active{border-color:var(--blue);color:var(--blue);font-weight:800}.journey-route li.passed{border-color:var(--green);color:var(--green)}.journey-label{font-size:13px;color:var(--muted);margin:14px 0 7px}.journey-source{font-size:25px;line-height:1.6;overflow-wrap:anywhere;font-weight:700;padding:12px 0 18px;border-bottom:1px solid var(--line);margin-bottom:20px}.journey-rule{font-size:16px;line-height:1.8;margin:14px 0 20px;padding-left:14px;border-left:3px solid #889dc5;color:var(--ink)}.journey-rule b{display:block;font-size:13px;color:var(--blue);margin-bottom:4px}.journey-result{font-size:27px;line-height:1.65;font-weight:800;color:var(--green);overflow-wrap:anywhere}.journey-why{font-size:16px!important;color:var(--ink);line-height:1.85;margin:12px 0!important}.journey-choices .choice{font-size:17px;min-height:58px}.journey-controls{padding-top:12px;border-top:1px solid var(--line)}.journey-controls .primary{font-size:16px}.journey-history,.journey-tools{margin-top:22px;padding-top:14px;border-top:1px solid var(--line);font-size:14px}.journey-history summary,.journey-tools summary,.geometry-more summary{cursor:pointer;color:var(--muted)}.journey-history .history p{display:block}.geometry-reading li:not(.current){display:none}.geometry-reading li.current{font-size:15px;line-height:1.8}.geometry-more{font-size:13px;margin-top:10px}.geometry-more p{line-height:1.8;margin-top:10px}.direct-current{display:block;margin:8px 0 0}.direct-current>span{display:block;font-size:13px;color:var(--muted)}.direct-current>strong{display:block;font-size:42px;line-height:1.5}.direct-workshop .prime-buttons button{font-size:24px;min-height:60px}.direct-workshop .direct-intro{font-size:15px}.direct-workshop .controls button{font-size:14px}.factor-history .factor-board{margin-top:15px}.interpretation p{font-size:15px}.workshop .step-heading{font-size:22px;line-height:1.65;margin:16px 0}
@media(min-width:900px){.workshop{position:sticky;top:16px}}
@media(max-width:650px){.journey-route{gap:6px}.journey-route li{font-size:12px}.journey-source{font-size:22px}.journey-rule,.journey-why{font-size:15px!important}.journey-result{font-size:24px}.journey-choices .choice{font-size:16px}.interpretation p{font-size:14px}.geometry-reading li.current{font-size:14px}.workshop .step-heading{font-size:20px}.direct-workshop .controls button{font-size:12px}.direct-workshop .prime-buttons button{font-size:22px}}
.geometry-figure[data-geo-stage="3"] [data-part="3"]{stroke:#a45228;fill:#f6e5d6}.geometry-figure[data-geo-stage="2"] circle[data-part="2"]{fill:#f6e5d6;stroke:none}.journey-route li{min-width:0;overflow-wrap:anywhere}
.geometry-figure[data-geo-stage="4"] [data-part="4"]{stroke:#a45228;stroke-width:3}
.whole-answer{margin:20px 0}.whole-answer h2{font-size:17px}.whole-answer .choice{white-space:pre-line}.apply-step{width:100%;font-size:18px;min-height:56px;margin:8px 0 18px}.journey-source{white-space:pre-line}
.word-help{margin:16px 0 22px;padding:0 0 6px;border-bottom:1px solid var(--line)}.word-help h3{font-size:16px;color:var(--blue)}.word-help p{font-size:15px;line-height:1.8;margin:10px 0}.word-help b{display:inline-block;margin-right:9px;color:var(--blue)}.tutor-card{margin:18px 0}.tutor-card h3{font-size:21px}.tutor-card p{font-size:16px;line-height:1.9}.tutor-card .tutor-caption{font-size:12px;color:var(--muted);margin:0 0 5px}.tutor-equation{font-size:24px;line-height:1.8;font-weight:700;overflow-wrap:anywhere;padding:10px 0}.tutor-next{font-size:15px;color:var(--blue);line-height:1.8}
.solution-overview{padding-bottom:18px;margin-bottom:22px;border-bottom:2px solid var(--line)}.solution-overview h3{font-size:20px;margin:0 0 10px}.overview-goal{font-size:16px;line-height:1.75;font-weight:700;color:var(--blue);margin-bottom:14px}.solution-overview ol{list-style:none;padding:0;margin:0;display:grid;gap:9px}.solution-overview li{display:flex;gap:12px;padding:10px 12px;border-left:3px solid var(--line)}.solution-overview li.current{background:#edf1fa;border-color:var(--blue)}.solution-overview li.done{border-color:var(--green)}.order-number{font-size:19px;font-weight:800;min-width:20px;color:var(--blue)}.solution-overview li b{display:block;font-size:16px}.solution-overview li small{display:block;font-size:14px;line-height:1.7;color:var(--muted);margin:3px 0}.order-result{font-size:13px;color:var(--muted)}.done .order-result{color:var(--green);font-size:16px;font-weight:700}.overview-position{font-size:14px;line-height:1.8;margin:13px 0 0}.workshop:has(.solution-overview) .journey-route{display:none}.workshop:has(.solution-overview) .journey-count{font-size:16px;font-weight:700;color:var(--blue)}
@media(max-width:650px){.solution-overview li{padding:8px 7px;gap:8px}.solution-overview li b{font-size:15px}.solution-overview li small{font-size:13px}.overview-goal{font-size:15px}}
@media(max-width:650px){.journey-route:has(li:nth-child(5)){display:grid;grid-template-columns:repeat(3,1fr);row-gap:9px}}
/* 전체 순서와 현재 계산에 공간을 우선 배정한다. */
.compact-learning .app-header{padding:7px 24px}.compact-learning .brand-mark{width:34px;height:34px;font-size:24px}.compact-learning .update-tools{padding:4px 0}.compact-learning main{padding-top:12px;padding-bottom:20px}.compact-learning .lesson-top{margin-bottom:10px}.compact-learning .lesson-layout{gap:16px}.compact-learning .problem,.compact-learning .workshop{padding:16px 18px}.compact-learning .problem h1{font-size:22px;line-height:1.5;margin-bottom:10px}.compact-learning .question-meta{margin-bottom:8px}.compact-learning .geometry-figure{margin:8px 0 10px;padding:4px 0 8px}.compact-learning .geometry-figure>figcaption{font-size:13px;margin-bottom:3px}.compact-learning .geometry-figure svg{max-height:174px}.compact-learning .geometry-note{margin:3px 0 5px;font-size:10px}.compact-learning .geometry-reading li.current{font-size:13px;line-height:1.6;padding:3px 5px;margin:0}.compact-learning .geometry-more{font-size:12px;margin-top:4px}.compact-interpretation,.compact-words{font-size:13px;margin:8px 0}.compact-interpretation summary,.compact-words summary{cursor:pointer;color:var(--blue);padding:5px 0}.compact-interpretation .interpretation{padding:8px 0;margin:4px 0}.compact-interpretation .interpretation h2{display:none}.compact-interpretation .interpretation p{font-size:14px;margin-bottom:8px}.compact-words .word-help{margin:5px 0 8px;padding:0}.compact-words .word-help h3{display:none}.compact-words .word-help p{font-size:14px;line-height:1.65;margin:6px 0}.compact-learning .whole-answer{margin:10px 0 0}.compact-learning .whole-answer h2{font-size:14px;margin-bottom:6px}.compact-learning .choices{margin:8px 0;gap:6px}.compact-learning .choice{min-height:42px;padding:7px 10px;font-size:15px;line-height:1.5}.compact-learning .solution-overview{padding-bottom:10px;margin-bottom:10px;border-bottom-width:1px}.compact-learning .solution-overview h3{font-size:17px;margin-bottom:5px}.compact-learning .overview-goal{font-size:14px;line-height:1.5;margin-bottom:7px}.compact-learning .solution-overview ol{gap:3px}.compact-learning .solution-overview li{padding:4px 7px;gap:7px}.compact-learning .order-number{font-size:14px;min-width:15px}.compact-learning .solution-overview li>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;width:100%;align-items:center}.compact-learning .solution-overview li b{font-size:14px;line-height:1.5}.compact-learning .solution-overview li.done small,.compact-learning .solution-overview li.pending small,.compact-learning .solution-overview li.pending .order-result,.compact-learning .solution-overview li.current .order-result{display:none}.compact-learning .solution-overview li.current small{grid-column:1/-1;font-size:13px;line-height:1.5;margin:0}.compact-learning .done .order-result{font-size:14px;white-space:pre-line;max-width:210px;overflow-wrap:anywhere}.compact-learning .overview-position{display:none}.compact-learning .journey-count{font-size:13px!important;margin-bottom:5px}.compact-learning .workshop .step-heading{font-size:19px;line-height:1.5;margin:6px 0}.compact-learning .journey-label{font-size:12px;margin:6px 0 3px}.compact-learning .journey-source{font-size:21px;line-height:1.5;padding:4px 0 8px;margin-bottom:6px}.compact-learning .tutor-card{margin:8px 0}.compact-learning .tutor-card h3{font-size:16px;margin-bottom:3px}.compact-learning .tutor-card p{font-size:15px;line-height:1.65;margin-bottom:5px}.compact-learning .tutor-equation{font-size:22px;padding:3px 0;line-height:1.5}.compact-learning .apply-step{min-height:43px;font-size:16px;margin:6px 0 8px}.compact-learning .controls{margin-top:8px;gap:6px}.compact-learning .controls button{min-height:36px;padding:6px 10px;font-size:13px}.compact-learning .journey-tools,.compact-learning .journey-history{margin-top:9px;padding-top:7px;font-size:12px}.compact-learning .journey-history .history{margin:5px 0}.compact-learning .journey-history .history li{padding:5px 0;display:flex;align-items:baseline;gap:10px;font-size:14px}.compact-learning .journey-history .history li p{display:none}.compact-learning .journey-history .history li b{margin:0}.compact-learning .journey-result{font-size:23px;line-height:1.5}.compact-learning .journey-why{font-size:15px!important;line-height:1.65;margin:5px 0!important}.compact-learning .tutor-next{font-size:13px;line-height:1.5;margin:5px 0}.compact-learning .jump-row{margin-top:10px;gap:5px}.compact-learning .jump-dot{min-height:30px;font-size:12px}.compact-learning .factor-picker{margin-top:10px;padding:7px 10px}.compact-learning .direct-current>strong{font-size:32px}.compact-learning .journey-rule{font-size:15px!important;line-height:1.65;margin:7px 0;padding-left:10px}.compact-learning .direct-workshop .prime-buttons button{min-height:43px;font-size:22px}.compact-learning .direct-intro{margin:5px 0 8px;font-size:13px}.compact-learning .direct-title h2{font-size:20px}
@media(max-width:650px){.compact-learning .app-header{padding:6px 12px}.compact-learning .problem,.compact-learning .workshop{padding:12px}.compact-learning main{padding:10px}.compact-learning .geometry-figure svg{max-height:165px}.compact-learning .problem h1{font-size:19px}.compact-learning .solution-overview li>div{grid-template-columns:minmax(0,1fr)}.compact-learning .done .order-result{grid-column:1;font-size:13px;max-width:none}.compact-learning .solution-overview li.done>div{display:flex;justify-content:space-between;gap:6px;flex-wrap:wrap}.compact-learning .solution-overview li b{font-size:13px}}
@media(min-width:900px){.compact-learning .header-actions button{min-height:30px;padding:3px 9px}.compact-learning .update-actions button{min-height:28px;padding:3px 9px}.compact-learning .lesson-top button,.compact-learning .lesson-top select{min-height:34px;padding:4px 10px}.compact-learning .geometry-figure svg{max-height:140px}.compact-learning .geometry-note{font-size:10px;margin:2px 0}.compact-learning .choice{min-height:37px;padding:5px 9px}.compact-learning .whole-answer>#answerRestart{min-height:27px;padding:2px 9px;font-size:12px}.compact-learning .workshop .journey-count,.compact-learning .workshop .journey-label{display:none}.compact-learning .tutor-card .tutor-caption{float:right;margin:0 0 0 8px;font-size:11px}.compact-learning .journey-tools,.compact-learning .journey-history{display:inline-block;margin:8px 12px 0 0;padding-top:5px;border-top:0;vertical-align:top}.compact-learning .journey-history[open],.compact-learning .journey-tools[open]{display:block}.compact-learning .journey-source{margin-top:6px}.compact-learning .problem h1{font-size:20px}.compact-learning .feedback{margin:8px 0}}
.number-practice{margin:8px 0;padding:10px 0;border-top:1px solid var(--line)}.number-progress{font-size:12px;color:var(--muted);margin:0 0 5px}.number-practice h3{font-size:16px;line-height:1.6;margin-bottom:8px}.number-practice input{font:inherit;font-size:24px;width:100%;padding:7px 10px;border:2px solid #8398c4;border-radius:6px;background:#fff;min-width:0}.number-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:7px 0}.number-pad button{min-height:34px;font-size:17px;padding:4px}.number-pad button[data-key="지우기"],.number-pad button[data-key="모두 지우기"]{font-size:12px}.number-check{width:100%;min-height:38px;padding:5px 10px}.number-feedback{font-size:13px;line-height:1.6;color:#965023;margin:6px 0 0}.compact-learning .number-pad{grid-template-columns:repeat(5,1fr)}.compact-learning .number-practice{padding-top:7px}.compact-learning .number-pad button{min-height:34px}
@media(min-width:900px){#numberForm{display:grid;grid-template-columns:minmax(110px,1fr) 245px;gap:7px}#numberInput{grid-column:1;grid-row:1;align-self:start;max-height:48px}.number-pad{grid-column:2;grid-row:1/3;margin:0}.number-check{grid-column:1;grid-row:2;align-self:start}}
.number-pad,.compact-learning .number-pad{grid-template-columns:repeat(4,minmax(0,1fr))}.number-pad button{overflow-wrap:normal;word-break:keep-all}
.number-equation{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 10px;margin-bottom:7px;background:var(--blue-light);border-radius:6px;font-size:22px;font-weight:700;line-height:1.7}.number-equation #numberInput{width:92px;max-width:100%;text-align:center;flex:none;grid-column:auto;grid-row:auto;font-size:24px;padding:4px 6px}.number-equation span{overflow-wrap:anywhere}
@media(min-width:900px){#numberForm .number-equation{grid-column:1/-1;grid-row:1;margin:0}#numberForm .number-pad{grid-column:2;grid-row:2;margin:0}#numberForm .number-check{grid-column:1;grid-row:2;align-self:start}}
@media(max-width:650px){.number-equation{font-size:20px}.number-equation #numberInput{width:80px}}

/* 숫자 입력과 확인을 같은 줄에 붙인다. */
#numberForm{display:block}.number-entry{display:inline-flex;align-items:center;gap:7px;flex-wrap:nowrap;max-width:100%}#numberForm .number-entry .number-check{width:auto;flex:none;min-height:44px;padding:5px 14px;font-size:15px;align-self:center}#numberForm .number-pad{width:245px;max-width:100%;margin:7px 0 0 auto}#numberForm .number-equation{gap:7px;margin:0}.number-entry>span:empty{display:none}
@media(max-width:650px){#numberForm .number-entry{gap:5px}#numberForm .number-entry .number-check{padding:5px 11px}#numberForm .number-pad{width:100%}}
.formula-guide{padding:0 0 10px;margin:0 0 10px;border-bottom:1px solid var(--line)}.formula-guide h3{font-size:16px;margin:0 0 5px;color:var(--blue)}.formula-main{font-size:19px;font-weight:800;line-height:1.6;margin:0 0 3px;overflow-wrap:anywhere}.formula-detail{font-size:14px;line-height:1.6;margin:0 0 6px;color:var(--muted);overflow-wrap:anywhere}.formula-needs{font-size:13px;line-height:1.65;margin:5px 0}.formula-needs b{margin-right:6px;color:var(--blue)}.formula-tip{font-size:13px;margin-top:5px}.formula-tip summary{cursor:pointer;color:var(--blue);padding:3px 0}.formula-tip ol{margin:6px 0 0;padding-left:22px}.formula-tip li{margin:5px 0;line-height:1.75}.current-formula{font-size:14px;line-height:1.7;background:var(--blue-light);padding:5px 8px;border-left:3px solid var(--blue);margin:5px 0 8px;overflow-wrap:anywhere}.compact-learning .workshop:has(.formula-guide) .solution-overview h3{font-size:14px}.compact-learning .workshop:has(.formula-guide) .overview-goal{display:none}
@media(max-width:650px){.formula-main{font-size:17px}.formula-detail{font-size:13px}.formula-needs span{display:block}}
.formula-discovery{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.formula-discovery .formula-needs{margin:0}.formula-discovery .formula-needs>span{display:block}.formula-tip-button{display:flex;align-items:center;gap:5px;padding:5px 9px;min-height:54px;border:2px solid #d2a24b;border-radius:10px;background:#fff5d7;color:#785018;box-shadow:0 2px 0 #e7cf9c;line-height:1.3;font-size:14px;white-space:nowrap}.formula-tip-button svg{flex:none}.formula-tip-button small{display:block;font-size:10px;font-weight:500;margin-top:3px}.formula-tip-button:hover,.formula-tip-button[aria-expanded="true"]{background:#ffe9a4;border-color:#a97622}.formula-tip{padding:9px 11px;margin:9px 0 0;background:#fffaf0;border:1px solid #ecd6a9;border-radius:8px}.formula-tip h4{font-size:14px;color:#785018;margin:0 0 5px}.formula-tip ol{margin-top:0}.formula-tip li:last-child{margin-bottom:0}
@media(max-width:650px){.formula-discovery{gap:6px}.formula-tip-button{padding:4px 7px;font-size:13px}.formula-tip-button svg{width:27px;height:32px}}
.multi-equation{display:flex;flex-wrap:wrap;align-items:center;gap:6px 4px;padding:10px 8px;background:var(--blue-light);border-radius:6px;font-size:20px;font-weight:700;line-height:1.7}.multi-entry{display:inline-flex;align-items:center;gap:4px;flex:none}.multi-equation input,.multi-equation #numberInput{width:42px;padding:5px 2px;text-align:center;font-size:20px;min-height:42px;background:#fff;border:1px solid #c3cce0;border-radius:5px}.multi-entry.active input{border:2px solid var(--blue);background:#fff9e5}.multi-entry.done input{color:var(--green);border-color:#96b8a7;background:#f0f8f3}.multi-entry.pending input{opacity:1;color:var(--muted);background:#f9faff}.multi-entry .number-check{width:auto;min-height:42px;padding:4px 9px;font-size:13px}.number-practice>.number-equation{white-space:pre-line}.multi-practice #numberForm .number-pad{margin-top:10px}
@media(max-width:650px){.multi-equation{font-size:18px;gap:7px 3px;padding:8px 6px}.multi-equation input,.multi-equation #numberInput{width:38px;font-size:19px}.multi-entry .number-check{padding:4px 7px}}
#numberForm .multi-equation>.number-check{width:auto;min-height:42px;padding:5px 10px;font-size:14px;flex:none;align-self:center}.multi-practice .next-number-field{grid-column:1/-1;font-size:13px;color:var(--blue)}
.stem-tip-example{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 6px;margin:8px 0;background:#f1f7ef;border-radius:8px;color:#265b3b}.stem-tip-example>b{font-size:26px}.stem-tip-example>div{text-align:center}.stem-tip-example small{display:block;font-size:11px}.stem-tip-example strong{display:block;font-size:28px;line-height:1.5}.stem-tip-divider{font-size:38px;color:#568264}.stem-tip-leaf strong{background:#d8edce;border-radius:16px 0 16px 0;margin-top:3px}
@media(max-width:650px){.stem-tip-example{gap:8px}.stem-tip-example small{font-size:10px}}
/* 문제의 조건과 요구를 항상 펼쳐 보여 준다. */
.compact-learning .interpretation{margin:10px 0 12px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.compact-learning .interpretation h2{display:block;font-size:16px;line-height:1.5;margin:0 0 8px;color:var(--blue)}.compact-learning .interpretation p{font-size:13px;line-height:1.65;margin:0 0 7px}.compact-learning .interpretation b{font-size:11px;display:block;margin:0 0 2px;color:var(--muted)}.compact-learning .interpretation .reading-target{padding:8px 10px;border-left:4px solid var(--blue);background:#edf1fb;border-radius:0 5px 5px 0;margin:7px 0}.compact-learning .reading-target strong{font-size:16px;line-height:1.55;color:#293f7d}.compact-learning .reading-target b{color:var(--blue)}.reading-tip,.reading-concepts{font-size:12px;margin:5px 0 0}.reading-tip summary,.reading-concepts summary{cursor:pointer;color:var(--blue);padding:4px 0}.reading-tip[open]{background:#fff8e6;border:1px solid #ead49e;border-radius:6px;padding:2px 8px}.reading-tip[open]>p{padding:3px 0;color:#77521c}.reading-concepts[open]>p{margin-top:6px}.reading-tip summary{font-weight:700}.reading-given{color:var(--muted)}
@media(max-width:650px){.compact-learning .interpretation h2{font-size:15px}.compact-learning .reading-target strong{font-size:15px}}
.multi-entry.ratio-entry{position:relative;display:inline-grid;grid-template-rows:auto auto;gap:2px;text-align:center}.ratio-entry small{font-size:11px;font-weight:500;color:var(--muted)}.multi-equation .ratio-entry input,.multi-equation .ratio-entry #numberInput{width:65px}.ratio-summary{margin:8px 0;padding:9px 10px;background:#f2f7f4;border:1px solid #d3e3d8;border-radius:7px}.ratio-summary h3{font-size:14px;margin:0 0 5px;color:var(--green)}.ratio-summary>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ratio-summary p{margin:0;font-size:14px}.ratio-summary b{font-size:12px;margin-right:7px}.ratio-summary strong{font-size:16px}.ratio-summary small{font-size:12px;color:var(--muted)}.ratio-summary .ratio-conclusion{border-top:1px solid #d3e3d8;margin-top:6px;padding-top:5px;font-size:13px;font-weight:700;color:var(--green)}
@media(max-width:650px){.ratio-summary>div{gap:6px}.ratio-summary strong{font-size:14px}}
.show-full-solution{min-height:30px;padding:3px 10px;color:var(--blue);border-color:#9aaacf;background:#edf1fb;font-size:13px;white-space:nowrap}.question-meta:has(.show-full-solution){flex-wrap:wrap;gap:5px 8px}.question-meta:has(.show-full-solution)>span{margin-left:auto}.solution-dialog{padding:0;width:720px;max-width:calc(100vw - 24px);max-height:88vh;overflow:auto;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:#fff;box-shadow:0 18px 70px #18264640}.solution-dialog::backdrop{background:#18233e99}.solution-dialog-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;background:#fff;border-bottom:1px solid var(--line)}.solution-dialog-header h2{font-size:20px;margin:0}.solution-dialog-header button{min-height:34px;padding:4px 10px;font-size:13px}.solution-dialog-body{padding:16px 20px}.solution-question{font-size:19px;font-weight:700;line-height:1.65;white-space:pre-line}.solution-reading,.solution-rule{padding:10px 12px;margin-bottom:12px;border-radius:7px;background:#f2f5fb}.solution-dialog h3{font-size:15px;margin:0 0 6px;color:var(--blue)}.solution-dialog p{font-size:14px;line-height:1.75;margin-bottom:7px;overflow-wrap:anywhere}.solution-worked-steps{list-style:none;padding:0;margin:14px 0}.solution-worked-steps>li{border-top:1px solid var(--line);padding:12px 0}.solution-worked-steps h3 span{display:inline-grid;place-items:center;min-width:24px;height:24px;background:var(--blue-light);border-radius:50%;margin-right:8px}.solution-dialog .solution-calculation{padding:8px 10px;border-left:3px solid var(--green);background:#f0f7f3;font-size:17px;font-weight:700;white-space:pre-line}.solution-dialog .solution-reason{font-size:13px;color:var(--muted)}.solution-dialog .solution-formula{font-weight:700;color:var(--blue)}.solution-answer{border:2px solid #83ad95;border-radius:7px;padding:12px;margin:8px 0 16px;background:#f0f8f3}.solution-answer strong{font-size:21px;color:var(--green);white-space:pre-line;overflow-wrap:anywhere}
@media(max-width:650px){.solution-dialog-body{padding:12px}.solution-dialog-header{padding:10px 12px}.solution-dialog-header h2{font-size:18px}.solution-dialog .solution-calculation{font-size:16px}.solution-dialog .solution-question{font-size:17px}.show-full-solution{font-size:12px}}
.solution-dialog .geometry-figure{margin:10px 0 12px;padding:10px 12px;background:#f5f7fc;border:1px solid var(--line);border-radius:8px}.solution-dialog .geometry-figure svg{display:block;width:100%;max-height:240px;min-height:170px}.solution-dialog .geometry-figure>figcaption{font-size:14px;font-weight:700;margin-bottom:6px;color:var(--blue)}.solution-dialog .geometry-reading{margin:5px 0 0;padding-left:20px}.solution-dialog .geometry-reading li.current{font-size:13px;line-height:1.7;padding:0}.solution-dialog .geometry-note{font-size:10px;margin:4px 0;color:var(--muted)}
@media(max-width:650px){.solution-dialog .geometry-figure{padding:8px 4px}.solution-dialog .geometry-figure svg{max-height:200px;min-height:140px}}
.step-task{font-size:16px;font-weight:700;line-height:1.6;margin:6px 0}.step-brief{font-size:14px;line-height:1.7;padding:6px 9px;background:#f3f5fa;border-left:3px solid #98a9ca;margin:6px 0 10px}.step-options{display:grid;gap:6px;margin:8px 0}.step-options button{text-align:left;font-size:14px;line-height:1.6;font-weight:500;padding:7px 10px;min-height:38px;white-space:pre-line;overflow-wrap:anywhere}.step-options button.wrong{border-color:#bd8a64;background:#fff1e5}.step-error{color:#9b4e26;font-size:13px}.step-detail{margin:9px 0;padding:8px 10px;background:#f6f7fb;border:1px solid var(--line);border-radius:6px}.step-detail p{font-size:13px;line-height:1.7;margin:4px 0}.solution-route-title{margin-top:12px!important}.compact-learning .workshop .step-heading{font-size:18px;margin:8px 0}.compact-learning .workshop .word-help{margin:6px 0}.compact-learning .workshop .solution-overview li>div{grid-template-columns:minmax(0,1fr) auto}.compact-learning .workshop .solution-overview li.current{font-weight:700}.compact-learning .workshop .solution-overview .order-result{font-size:13px;max-width:240px;line-height:1.5}.compact-learning .number-practice h3{font-size:15px;margin-bottom:6px}.compact-learning .number-practice{border-top:0;margin-top:3px;padding-top:0}.compact-learning .current-formula{margin-top:3px}.compact-learning .journey-result{font-size:20px}.compact-learning .workshop .feedback:empty{display:none}
@media(max-width:650px){.compact-learning .workshop .solution-overview .order-result{max-width:100%;font-size:12px}.step-task{font-size:15px}}
.answer-actions{display:flex;gap:8px;margin:10px 0 0}.answer-actions button{flex:1;min-height:40px;padding:6px 12px;font-size:14px}.choice.selected{border:2px solid var(--blue);background:#edf1fb}.whole-answer #finalFeedback:empty{display:none}.whole-answer #answerRestart{margin-top:6px}.compact-learning .whole-answer .answer-actions{margin-top:8px}
.correct-celebration{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px;background:#162b3b70;backdrop-filter:blur(3px)}.correct-celebration-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;width:330px;max-width:100%;padding:30px 20px;border:2px solid #b5d8c1;border-radius:22px;background:#fff;box-shadow:0 18px 60px #102a3140;animation:correct-pop .32s cubic-bezier(.2,1.4,.5,1) both}.correct-celebration-card strong{font-size:32px;color:#24734c}.correct-celebration-card>span{font-size:14px;color:var(--muted)}.correct-celebration-card svg path{stroke-dasharray:60;stroke-dashoffset:60;animation:correct-check .35s .12s ease forwards}.correct-sparkles{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:20px}.correct-sparkles i{position:absolute;left:50%;top:36%;width:7px;height:13px;border-radius:3px;background:#e2b54c;transform:rotate(calc(var(--spark)*45deg)) translateY(-70px);animation:correct-spark .8s ease-out both}.correct-sparkles i:nth-child(even){background:#68ac89}
@keyframes correct-pop{from{opacity:0;transform:scale(.78) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes correct-check{to{stroke-dashoffset:0}}@keyframes correct-spark{from{opacity:0;transform:rotate(calc(var(--spark)*45deg)) translateY(-40px) scale(.5)}35%{opacity:1}to{opacity:0;transform:rotate(calc(var(--spark)*45deg)) translateY(-130px) scale(1)}}
@media(prefers-reduced-motion:reduce){.correct-celebration-card,.correct-celebration-card svg path,.correct-sparkles i{animation:none}.correct-celebration-card svg path{stroke-dashoffset:0}.correct-sparkles{display:none}}
.bank-filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0;font-size:13px}.bank-filters select{padding:5px 7px;border:1px solid var(--line);border-radius:6px;background:#fff;max-width:100%}.bank-question-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.bank-question-grid button{display:flex;align-items:flex-start;gap:8px;padding:8px;text-align:left;line-height:1.6;font-size:12px;font-weight:500;overflow-wrap:anywhere}.bank-question-grid b{color:var(--blue);min-width:24px}.bank-question-grid small{display:block;font-size:11px;color:var(--muted);margin-bottom:3px}.lesson-top select{max-width:320px}
@media(max-width:650px){.bank-question-grid{grid-template-columns:1fr}.lesson-top select{max-width:180px}.bank-filters label{max-width:100%}}
.route-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}.route-header h3{margin:0!important}.route-header button{min-height:28px;padding:3px 8px;font-size:12px;color:var(--blue);background:#f4f6fb}.solution-overview.route-collapsed>ol>li:nth-child(n+2){display:none}
.factor-menu{color:var(--green);background:#e8f4ec;border-color:#8ab59a;white-space:nowrap;font-size:13px}.header-actions{flex-wrap:wrap}.compact-learning .header-actions .factor-menu{border-width:2px}
@media(max-width:650px){.header-actions{gap:6px}.header-actions .factor-menu{font-size:12px;padding:5px 7px}.app-header .header-actions .version{display:none}}
.embedded-factor{margin:8px 0}.embedded-factor-history{list-style:none;padding:0;margin:8px 0}.embedded-factor-history li{padding:4px 10px;border-left:3px solid #9bbbaf;color:var(--green);font-size:17px;font-weight:700}.embedded-factor-current{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--muted);margin:10px 0}.embedded-factor-current strong{font-size:32px;line-height:1.4;color:var(--ink)}.embedded-factor .prime-buttons{display:flex;flex-wrap:wrap;gap:7px}.embedded-factor .prime-buttons button{font-size:21px;min-height:43px;flex:1;min-width:55px}.embedded-factor-feedback{font-size:13px;color:var(--muted);line-height:1.7;margin:8px 0}.embedded-factor-undo{font-size:12px;min-height:30px;padding:4px 8px}
.common-factor-practice{margin:8px 0}.common-factor-row{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:6px;margin:10px 0}.common-factor-row>b{font-size:18px}.common-factor-row>div{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.common-factor-row button{position:relative;min-width:42px;min-height:43px;padding:5px 8px;font-size:22px;border:2px solid #a5b4ce}.common-factor-row button.pending{background:#fff2bd;border-color:#b48225}.common-factor-row button.matched{background:#dff2e5;border-color:#4f9972;color:#25603e;opacity:1}.common-factor-row button small{position:absolute;top:0;right:2px;font-size:10px}.factor-times{font-size:17px;color:var(--muted)}.common-factor-product{padding:9px 12px;background:#edf5ef;border-radius:7px;margin:12px 0}.common-factor-product small{display:block;font-size:12px;color:var(--green)}.common-factor-product strong{display:block;font-size:20px;color:#265f3e;line-height:1.7}.common-factor-feedback{font-size:13px;line-height:1.7;color:var(--muted);margin:8px 0}.common-factor-undo{font-size:12px;min-height:30px;padding:4px 8px}.solution-prime-products{padding:8px 12px;background:#edf5ef;border-radius:6px;margin:8px 0}.solution-prime-products p{font-weight:700;font-size:18px;margin:3px 0}
@media(max-width:650px){.common-factor-row{grid-template-columns:50px minmax(0,1fr);gap:4px}.common-factor-row>b{font-size:16px}.common-factor-row>div{gap:4px}.common-factor-row button{min-width:35px;min-height:40px;font-size:20px;padding:4px 7px}.factor-times{font-size:14px}}

.common-factor-row button.excluded{color:#a24646;background:#fff0ef;border-color:#d68a85;text-decoration:line-through;opacity:1}.common-factor-row button.excluded small{text-decoration:none;font-size:9px;top:-2px;background:#fff0ef}

.divisor-power-row{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin:9px 0}.divisor-power-row button{padding:7px 10px}.divisor-power-row button[aria-pressed="true"]{background:#dff2e5;border-color:#398365;color:#205b42}.divisor-power-row small{font-size:12px}.collected-divisors{padding:10px;background:#f2f4fa;border-radius:6px}.collected-divisors p{line-height:1.8;margin:5px 0}

.divisor-power-row button small{display:block;font-size:10px;color:var(--muted)}.divisor-grid-wrap{overflow-x:auto;margin:8px 0}.divisor-grid{width:100%;border-collapse:collapse;font-size:13px;text-align:center}.divisor-grid th,.divisor-grid td{border:1px solid #d9e0ee;padding:5px}.divisor-grid th{background:#edf0f8;color:#344b87}.divisor-grid td.found{background:#e6f5eb;color:#25603e;font-weight:700}.divisor-grid td.current{outline:2px solid #465a9d;outline-offset:-2px}

.divisor-grid td{padding:0}.divisor-grid td button{display:block;width:100%;min-height:38px;padding:5px;border:0;border-radius:0;background:transparent;color:inherit;font-size:13px}.divisor-grid td button:hover{background:#e5eafb}.divisor-grid td button:focus-visible{outline:2px solid #465a9d;outline-offset:-2px}

.square-factor-pairs>div{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:7px 0}.square-factor-pairs b{font-size:13px;min-width:48px}.square-pair{border:1px solid #93b6a3;background:#edf7f0;border-radius:6px;padding:5px 9px}.square-loose{border:1px dashed #c58c37;background:#fff6df;border-radius:6px;padding:5px 9px}.square-factor-selection .prime-buttons .selected{background:#dff2e5;border-color:#398365;color:#205b42}

.algebra-display{padding:10px 12px;background:#edf0f8;border-left:3px solid #465a9d;font-size:20px;font-weight:700;line-height:1.6;margin:10px 0}.algebra-display small{display:block;font-size:11px;color:var(--muted);font-weight:400}.algebra-term-list{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.algebra-term{padding:7px 12px;border:1px solid #c5cfe4;border-radius:6px;font-size:20px}.algebra-term.active{background:#fff2bd;border:2px solid #b48225}.algebra-term.sorted{opacity:.5}.algebra-bins{display:grid;grid-template-columns:1fr 1fr;gap:8px}.algebra-bins>div{border:1px solid #c5cfe4;border-radius:6px;padding:8px;background:#f5f7fc}.algebra-bins b{font-size:12px}.algebra-bins p{font-size:18px;margin:7px 0}.algebra-sort-actions{display:flex;flex-wrap:wrap;gap:8px}.undo-like-term{font-size:12px;padding:5px 8px}

.interactive-expression{display:flex;align-items:center;flex-wrap:wrap;gap:6px;line-height:2}.interactive-expression button{font-size:inherit;font-weight:700;border:2px dashed #566ab0;background:#fff;padding:7px 10px;color:#293e83}.interactive-expression button:hover{background:#e2e9ff;border-style:solid}.expanded-part{color:#216b4d;background:#e3f3e9;border-radius:5px;padding:3px 6px;animation:expand-term .25s ease-out}.bracket-explanation{font-size:16px;padding:8px 10px;border-left:3px solid #398365;background:#f0f8f3;margin:8px 0}.undo-bracket{margin-top:9px;font-size:12px;padding:5px 8px}@keyframes expand-term{from{opacity:.3;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}

.like-term-practice .algebra-term-list{min-height:55px;padding:8px;border:1px dashed #aebbd5;border-radius:6px}.like-term-practice .algebra-term{position:relative;cursor:grab;padding:8px 24px 8px 12px;user-select:none;background:white;font-weight:700;min-height:45px}.algebra-term small{position:absolute;right:5px;top:11px;font-size:14px;color:#8290ab}.like-term-practice .algebra-term:active{cursor:grabbing}.like-term-practice .algebra-term.sorted{opacity:1;background:#e5f3ea;color:#205b42}.like-term-practice .algebra-term.dragging{opacity:.35}.algebra-bins .algebra-dropzone{border:2px dashed #aebbd5;min-height:135px;padding:8px;transition:background .15s,border-color .15s}.algebra-bins .algebra-dropzone.drag-over{border-color:#398365;background:#e0f2e8;box-shadow:inset 0 0 0 2px #95c5a7}.bin-title{width:100%;padding:3px;border:0;background:transparent;font-weight:700;color:#293e83;text-align:left}.bin-title small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:3px}.bin-terms{display:flex;flex-wrap:wrap;gap:6px;min-height:64px;align-content:flex-start;margin-top:8px}.drop-placeholder,.all-terms-sorted{font-size:12px;color:var(--muted);padding:8px 0}.term-move-feedback{min-height:20px;font-size:13px;line-height:1.6}.drag-in-progress .algebra-dropzone{border-color:#6c83ba}

.inline-expression{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:15px 10px;border:1px solid #bdc9df;border-radius:7px;background:#f2f5fb;min-height:74px}.inline-term{font-size:24px;font-weight:700;padding:8px 12px;border:1px solid #b3c1de;background:white;cursor:grab;user-select:none;opacity:1}.inline-term.active{border:2px solid #5267aa;background:#e9edfa}.inline-term.dragging{opacity:.35}.inline-term.drop-before{box-shadow:-5px 0 #398365}.inline-term.drop-after{box-shadow:5px 0 #398365}.inline-move-actions{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.inline-move-actions .check-inline-terms{margin-left:auto;min-width:95px}.inline-feedback{font-size:13px;line-height:1.7;min-height:22px}.inline-calculations{padding:10px 12px;background:#edf7f0;border-radius:7px;margin:10px 0}.inline-calculations p{margin:5px 0;font-size:18px}.inline-calculations strong{font-size:23px;color:#205b42}.reset-inline-terms{font-size:12px;padding:5px 8px;margin-top:10px}
/* Three-number workbook factor selection. */
.multi-factor-rows{display:grid;gap:12px;margin:12px 0}.multi-factor-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.multi-factor-row>div{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.multi-factor-row button{min-width:40px;padding:10px}.multi-factor-row button.chosen{background:#e0f2eb;border-color:#31846b;color:#15533f}.multi-factor-row button.excluded{text-decoration:line-through;background:#fbe6e6;border-color:#b56d6d;color:#8b3232}.multi-factor-feedback{color:#b34d12}.document-source{margin-top:12px}.document-source a{text-decoration:underline}

.factor-expanded,.factor-exponent{display:block;line-height:1.65;overflow-wrap:anywhere}.factor-exponent{font-size:.9em;color:var(--muted);margin-top:3px}

.exam-panel{max-width:800px;margin:20px auto}.exam-panel .choices{margin:20px 0}.exam-review{padding:18px 0;border-bottom:1px solid var(--line)}.exam-results{margin:20px 0}.exam-panel details{margin:20px 0}


.question-number-picker{position:relative}.question-number-picker>button{min-height:40px}.question-number-list:not([hidden]){position:absolute;z-index:30;top:calc(100% + 6px);left:0;display:grid;grid-template-columns:repeat(5,minmax(44px,1fr));gap:5px;width:min(360px,calc(100vw - 32px));max-height:320px;overflow:auto;padding:10px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #17253a22}.question-number-list button{min-height:38px;padding:5px}.question-number-list button[aria-current="page"]{background:var(--blue);color:#fff}

.system-equation-stage{margin:8px 0;padding:10px;border:1px solid #d5dfed;border-radius:8px}.system-equation-stage p{margin:3px 0}.system-equation-pair{display:flex;justify-content:space-between;align-items:center;gap:12px}.system-equation-open{margin:0;padding:8px 12px;white-space:nowrap}.system-equation-dialog{width:min(620px,calc(100vw - 28px));box-sizing:border-box;padding:14px}.system-equation-dialog header{display:flex;justify-content:space-between;align-items:center}.system-equation-dialog header h2{margin:0}.system-equation-source,.system-equation-result{padding:8px 10px;background:#f1f4fa;border-radius:6px;font-size:18px}.system-equation-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:end}.system-equation-controls label{display:grid;gap:4px}.system-equation-controls input{width:80px;min-height:38px}.system-equation-controls select{min-height:38px}.system-equation-status{min-height:24px}
.system-equation-dialog.system-equation-sum-only{width:min(520px,calc(100vw - 24px))!important;max-width:520px!important;padding:10px}.system-equation-dialog.system-equation-sum-only .system-equation-operation-row{display:none!important}.system-equation-sum-only>p,.system-equation-sum-only .system-equation-status{display:none!important}.system-equation-sum-only .system-equation-result{margin:8px 0;padding:4px;background:transparent}.system-equation-sum-only .system-equation-column-work{box-sizing:border-box;width:100%;max-width:none;margin:0;padding:8px;overflow-x:auto}.system-equation-sum-only .system-equation-column-grid{box-sizing:border-box;min-width:0;width:100%;max-width:420px;margin-inline:auto;padding:0}.system-equation-sum-only .system-equation-column-row{grid-template-columns:24px 48px minmax(35px,1fr) minmax(22px,1fr) 35px 22px minmax(30px,1fr);gap:2px}.system-equation-sum-only .system-equation-column-row [data-combine]{width:48px;min-width:48px}.system-equation-sum-only [data-open-system-calculator]{margin-top:4px}
html:has(body.system-equation-sum-open),body.system-equation-sum-open{overflow:hidden!important}.system-equation-dialog.system-equation-sum-only{position:fixed!important;box-sizing:border-box!important;overflow-x:auto!important}.system-equation-dialog.system-equation-sum-only:not(.is-window-positioned){left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;margin:0!important}.system-equation-dialog.system-equation-sum-only.is-window-positioned{transform:none!important}


/* 연립방정식 단계에서는 자유 입력용 공통 입력 UI를 감춤 */
.system-equation-clean-active .solution-overview,.system-equation-clean-active .step-task,.system-equation-clean-active .step-brief,.system-equation-clean-active label[for='stepWork'],.system-equation-clean-active #stepWork,.system-equation-clean-active .number-pad,.system-equation-clean-active .number-pad-tools{display:none!important}


.system-equation-operation-row{display:flex;align-items:center;gap:10px}.system-equation-operation-row>p{flex:1 1 auto;min-width:120px;margin:0}.system-equation-operation-row>div{flex:0 0 auto;flex-wrap:nowrap}.system-equation-operation-row small{flex-basis:100%}@media(max-width:680px){.system-equation-operation-row{flex-wrap:wrap}.system-equation-operation-row>p{flex-basis:100%}.system-equation-operation-row>div{flex-wrap:wrap}}

.system-equation-dialog{width:min(1100px,calc(100vw - 28px));max-width:1100px}.system-equation-operation-row{display:grid!important;grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:10px;min-width:0}.system-equation-operation-row>p{margin:0;min-width:0;white-space:nowrap}.system-equation-operation-row>div{display:flex;flex-wrap:nowrap;align-items:center;gap:8px}.system-equation-operation-row input{width:240px}.system-equation-operation-row small{grid-column:1/-1}@media(max-width:680px){.system-equation-operation-row{grid-template-columns:minmax(0,1fr)}.system-equation-operation-row>p{white-space:normal}.system-equation-operation-row>div{flex-wrap:wrap}}

.system-equation-alignment{margin:10px 0;padding:12px 14px;background:#f1f4fa;border-radius:7px;font-size:18px;font-variant-numeric:tabular-nums}.system-equation-alignment-row{display:grid;grid-template-columns:104px minmax(0,1fr);gap:10px;align-items:center;min-height:34px}.system-equation-alignment-row>span{font-weight:700;text-align:right}.system-equation-alignment-row>b{font-weight:600;white-space:nowrap}.system-equation-alignment-rule{height:2px;margin:3px 0 5px 114px;background:#405995}.system-equation-alignment-answer{margin-left:114px;font-weight:750;font-size:20px}@media(max-width:600px){.system-equation-alignment{overflow-x:auto}.system-equation-alignment-row{min-width:480px}.system-equation-alignment-rule,.system-equation-alignment-answer{min-width:366px}}

.system-equation-inline-tools{display:inline-flex;gap:4px}.system-equation-inline-tools button{min-height:36px;padding:5px 8px;font-size:13px}.system-equation-operation-row>div{flex-wrap:nowrap;white-space:nowrap}.system-equation-operation-row input{width:120px}@media(max-width:900px){.system-equation-inline-tools{flex-wrap:wrap}}

.system-equation-alignment-row [data-combine]{width:44px;min-width:44px;height:34px;padding:2px;font-size:18px;font-weight:700;color:#304f93;border:1px solid #b9c9e2;border-radius:5px;background:#fff}.system-equation-alignment-row>span{display:flex;align-items:center;justify-content:flex-end;gap:5px}

.system-equation-column-work{margin:10px 0;padding:12px 14px;background:#f1f4fa;border-radius:7px;overflow-x:auto;font-size:18px;font-variant-numeric:tabular-nums}.system-equation-column-grid{min-width:400px;max-width:540px}.system-equation-column-row{display:grid;grid-template-columns:52px 42px minmax(54px,1fr) 26px minmax(54px,1fr) 22px 54px;align-items:center;min-height:36px;gap:2px}.system-equation-column-row b{font-weight:600;white-space:nowrap}.system-equation-marker,.system-equation-outer,.system-equation-y-sign,.system-equation-equals{text-align:center;font-weight:700}.system-equation-column-row .system-equation-x,.system-equation-column-row .system-equation-y,.system-equation-column-row .system-equation-constant{text-align:right}.system-equation-column-row [data-combine]{width:40px;min-width:40px;height:32px;padding:1px;font-size:20px;font-weight:700;color:#304f93;border:1px solid #b9c9e2;border-radius:5px;background:#fff}.system-equation-column-rule{grid-column:3/8;height:2px;margin:3px 0 5px;background:#405995}.system-equation-column-row.is-answer{font-size:20px;color:#24488a}

.system-equation-dialog.symbolic-system-dialog{width:min(620px,calc(100vw - 24px));max-width:620px}.symbolic-system-row{display:flex;align-items:center;gap:12px;padding:6px 0;font-size:19px}.symbolic-system-row>span,.symbolic-system-row>label{flex:0 0 90px}.symbolic-system-row p{margin:0;min-width:0;overflow-wrap:anywhere}.symbolic-system-row select{width:60px;min-height:36px;padding:2px}.symbolic-system-dialog .system-equation-result{margin:8px 0;overflow-wrap:anywhere;font-weight:650}.symbolic-system-dialog [data-symbolic-status]{margin:4px 0}

.equation-zero-sides{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.equation-zero-sides>section{flex:1 1 210px;min-width:0;border:1px solid #d5dfed;border-radius:7px;padding:8px}.equation-zero-sides p{margin:6px 0;overflow-wrap:anywhere}.equation-zero-sides button{white-space:normal}

.travel-conditions,.mixture-conditions,.price-conditions,.game-conditions{margin:8px 0;font-size:14px}.travel-conditions p,.mixture-conditions p,.price-conditions p,.game-conditions p{margin:6px 0}.travel-condition-table,.mixture-condition-table,.price-condition-table,.game-condition-table{width:100%;border-collapse:collapse;font-size:14px}.travel-condition-table th,.travel-condition-table td,.mixture-condition-table th,.mixture-condition-table td,.price-condition-table th,.price-condition-table td,.game-condition-table th,.game-condition-table td{padding:6px 4px;border-bottom:1px solid #d5dfed;text-align:center;overflow-wrap:anywhere}.travel-condition-table thead,.mixture-condition-table thead,.price-condition-table thead,.game-condition-table thead{background:#f1f4fa}

.symbolic-system-scales{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.symbolic-system-scales label{display:flex;align-items:center;gap:6px}.symbolic-system-scales input{width:72px;min-height:36px}

.independent-conditions{margin:8px 0;font-size:14px}.independent-conditions p{margin:5px 0}.independent-condition-table{width:100%;border-collapse:collapse;font-size:14px}.independent-condition-table td,.independent-condition-table th{padding:6px 4px;border-bottom:1px solid #d5dfed;text-align:center;overflow-wrap:anywhere}.independent-condition-table thead{background:#f1f4fa}.independent-trials{gap:4px}.independent-trials button{min-width:36px;padding:5px}.independent-pair-sums>div{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:5px 0}


/* CH04 equation-pair appearance shared by the common system tool. */
.written-system{max-width:100%;overflow-x:auto;padding:8px 0;font:23px Cambria,serif;font-variant-numeric:tabular-nums;color:#17243a}
.written-system table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:0!important;margin:0;background:transparent}
.written-system td{border:0;background:transparent;padding:8px 2px;text-align:center;font-weight:400;overflow-wrap:anywhere}
.written-system tr:nth-child(2) td{border-bottom:1px solid #68758c}
.written-system .is-answer td{padding-top:10px}
.written-system select{box-sizing:border-box;width:42px;min-width:0;min-height:36px;padding:0;font:24px Cambria,serif;text-align:center;background:white;border:1px solid #9eafc8;border-radius:4px}
.symbolic-system-dialog .system-equation-result{background:transparent;padding:0;margin:8px 0;font-weight:400}
.system-equation-dialog.symbolic-system-dialog{width:min(340px,calc(100vw - 28px));max-width:340px}
.symbolic-system-scales{font-size:14px}
.symbolic-system-scales input{width:64px}
