.surplus-lesson .shell{max-width:1210px}.surplus-lesson .lesson-nav{flex-wrap:wrap}.surplus-lesson .lesson-nav a{width:33px;min-height:36px}.surplus-lesson .page-title h1{font-size:clamp(21px,2.4vw,29px)}.surplus-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:17px;align-items:start}.surplus-model{grid-column:auto;grid-row:auto;min-width:0}.surplus-problem{padding:18px 23px;margin-bottom:16px;font-size:16px}.surplus-problem strong{color:var(--deep)}.surplus-work{padding:20px 23px;min-width:0}.surplus-note{font-size:13px;color:var(--muted);line-height:1.8;margin:8px 0}.surplus-board{background:radial-gradient(ellipse at 50% 18%,#fffef5,#eaf2e9);border:1px solid #d3e1d6;border-radius:15px;overflow:hidden}.surplus-board svg{display:block;width:100%;height:auto;font-family:inherit}.surplus-board text{fill:#426356;font-size:15px}.surplus-board .main-label{font-size:18px;font-weight:600}.surplus-board .small-label{font-size:13px}.surplus-board .blue-label{fill:#427492}.surplus-board .gold-label{fill:#926d27}.surplus-board .stone{transition:opacity .25s}.surplus-controls{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:12px}.surplus-controls .primary{min-width:225px}.surplus-legend{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;font-size:12px;margin:9px 0}.surplus-legend span{display:inline-flex;gap:5px;align-items:center}.surplus-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;background:#6da28c}.surplus-legend .extra i{background:#d2b15b}.surplus-legend .missing i{background:#76a2bd}.surplus-status{min-height:29px;text-align:center;color:var(--deep);font-size:15px;font-weight:600;margin-top:10px}.surplus-count{border:1px solid #d9e4d7;background:#f1f6ed;border-radius:11px;padding:10px 12px;font-size:14px;line-height:1.8;margin-top:10px;min-height:74px}.surplus-count b{font-size:17px;color:var(--deep);font-weight:600}.surplus-count .em{color:#997027}.surplus-count .blue{color:#477a9a}.surplus-steps{list-style:none;padding:0;margin:12px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.surplus-steps li{text-align:center;font-size:11px;padding:6px 2px;border:1px solid var(--line);border-radius:7px;color:var(--muted);background:#fafcf8}.surplus-steps .active{border-color:#83aa91;background:#e5f0e7;color:var(--deep)}.surplus-steps .done{color:#537e60}.surplus-question{margin-top:17px;padding-top:14px;border-top:1px solid var(--line)}.surplus-question h3{font-size:15px;line-height:1.8;margin-bottom:8px}.surplus-question label.memo-label{display:block;font-size:12px;color:var(--muted)}.surplus-question textarea{display:block;width:100%;min-height:65px;font-family:inherit;font-size:15px;line-height:1.75;color:var(--ink);padding:7px 10px;border:1px solid #c3d4c9;border-radius:9px;background:#fffffc;resize:vertical;margin:4px 0 9px}.surplus-question .answer-line{flex-wrap:wrap;font-size:14px}.surplus-question .answer-line input{width:88px}.surplus-question .feedback{font-size:13px;line-height:1.8;min-height:25px;margin:7px 0 0}.surplus-question .feedback.good{color:#276b52}.surplus-question .feedback.wrong{color:#93602d}.surplus-hint{font-size:13px;margin-top:4px}.surplus-hint summary{cursor:pointer;color:#87642d;padding:4px 0}.surplus-hint p{background:#fff7e5;border-radius:9px;padding:9px 12px;margin-top:5px}.surplus-lesson .btn{min-height:42px}.surplus-lesson .solution li+li{margin-top:13px}.surplus-check{font-size:13px;line-height:1.8;background:#edf4eb;border-radius:10px;padding:10px;margin-top:10px}.surplus-retry{margin-top:14px}.surplus-small{font-size:12px;color:var(--muted);margin-top:6px}.surplus-work .solution{margin-top:16px}.surplus-question textarea:focus-visible{outline:3px solid #bc9144;outline-offset:2px}.surplus-question input[aria-invalid=true]{border-color:#b87a46;background:#fffbf2}.surplus-question input[aria-invalid=false]{border-color:#72a58d}.surplus-model .model-top{flex-wrap:wrap}.surplus-completion{font-size:14px;color:var(--deep);margin:12px 0}.surplus-diagram-piece{animation:piece-arrive .55s ease-out both;transform-origin:350px 210px}.surplus-model .quiet-button{min-height:34px}@keyframes piece-arrive{from{opacity:.3;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:820px){.surplus-layout{grid-template-columns:1fr}.surplus-model{max-width:680px;width:100%;margin:auto}.surplus-work{padding:18px}.surplus-problem{padding:16px 18px}}
@media(max-width:430px){.surplus-lesson .shell{width:calc(100% - 22px)}.surplus-lesson .page-title{gap:7px}.surplus-lesson .page-title h1{font-size:21px}.surplus-lesson .lesson-nav{gap:4px}.surplus-lesson .lesson-nav a{width:30px;font-size:12px}.surplus-problem{font-size:15px}.surplus-model{padding:13px 10px}.surplus-model .model-top h2{font-size:14px}.surplus-legend{gap:8px;font-size:11px}.surplus-steps li{font-size:10px}.surplus-count{font-size:13px}.surplus-count b{font-size:16px}.surplus-status{font-size:14px}}
@media(prefers-reduced-motion:reduce){.surplus-diagram-piece{animation:none}.surplus-board .stone{transition:none}}
