.solver-page{background:var(--bg-2)}@keyframes spin-pulse{0%,to{transform:scale(.6);opacity:.5}50%{transform:scale(1);opacity:1}}@keyframes content-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.solver-fade-in{animation:content-in .35s var(--ease) both}.solver-top{position:sticky;top:0;z-index:40;display:flex;align-items:center;height:56px;padding:0 24px;gap:20px;background:#ffffffc7;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line-2)}.top-back{display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 10px 0 8px;border-radius:8px;font-size:14px;color:var(--ink-2);transition:background .15s var(--ease)}.top-back:hover{background:var(--bg-3);color:var(--ink)}.top-title{display:inline-flex;align-items:center;gap:10px;font-weight:500;letter-spacing:-.01em}.top-name{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:360px}.top-actions{margin-left:auto;display:flex;gap:4px;flex-shrink:0}.show-mobile{display:none}@media (max-width: 768px){.hide-mobile{display:none!important}.show-mobile{display:inline}.solver-top{height:52px;padding:0 12px;gap:6px}.top-back{padding:0 8px}.top-title{gap:6px;min-width:0;flex:1}.top-name{font-size:13px;max-width:none;overflow:hidden;text-overflow:ellipsis}.solver-top .btn-sm{height:36px;padding:0 12px;font-size:13px;min-width:44px}.solver-top .solver-print-btn span,.solver-top .star-btn{font-size:13px}.solver-top .solver-print-btn{height:36px;padding:0 10px;min-width:36px}.solver-top .star-btn{height:36px;min-width:36px}.top-back{height:36px;min-width:44px;display:inline-flex;align-items:center}}.solver-grid{display:grid;grid-template-columns:1fr;gap:0;min-height:calc(100vh - 56px);align-items:stretch}.solution-panel{padding:40px 5% 96px;overflow-y:auto;background:var(--bg-2)}.solution-panel>*{max-width:1100px;margin-left:auto;margin-right:auto}.prob-block{background:var(--bg);border:1px solid var(--line-2);border-radius:18px;padding:24px 28px;margin-bottom:32px;display:flex;flex-direction:column;gap:16px}.prob-block-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4)}.prob-image-wrap{border-radius:12px;overflow:hidden;border:1px solid var(--line-2);background:var(--bg-3)}.prob-text{font-size:15px;line-height:1.75;color:var(--ink)}.prob-formula{border-top:1px solid var(--line-2);padding-top:16px}.prob-formula-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);margin-bottom:12px}.prob-formula-body{background:var(--bg-3);border-radius:12px;padding:20px 24px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.prob-formula-body .katex-display{margin:0;overflow-x:auto;overflow-y:hidden}.prob-formula-body .katex{font-size:1.25em}.prob-structure{border-top:1px solid var(--line-2);padding-top:16px}.struct-block{display:flex;flex-direction:column;gap:10px}.struct-section{display:flex;align-items:baseline;gap:12px}.struct-label{font-size:12px;font-weight:600;color:var(--ink-3);min-width:28px;flex-shrink:0}.struct-list{margin:0;padding-left:16px;font-size:14px;line-height:1.7;color:var(--ink)}.struct-list li::marker{color:var(--ink-4)}.struct-list li+li{margin-top:2px}.prob-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-top:1px solid var(--line-2);padding-top:14px}.prob-difficulty{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--ink-3)}.prob-img-thumb{border:1px solid var(--line-2);border-radius:10px;overflow:hidden}.prob-img-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:9px 14px;background:var(--bg-3);font-size:12px;font-weight:500;color:var(--ink-3);text-align:left;transition:background .14s}.prob-img-toggle:hover{background:var(--line-2);color:var(--ink)}.prob-img-body{padding:12px;background:var(--bg-3);border-top:1px solid var(--line-2)}.solution-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--line-2)}.solution-progress{display:flex;gap:6px}.prog-dot{width:22px;height:4px;border-radius:2px;background:var(--line);transition:background .2s var(--ease)}.prog-dot.is-done{background:var(--ink)}.prog-dot.is-active,.prog-dot.is-active.is-done{background:var(--blue)}.steps{display:flex;flex-direction:column}.step-card{display:grid;grid-template-columns:32px 1fr;gap:16px;padding:14px 0;cursor:pointer;position:relative;scroll-margin-top:80px}.step-rail{display:flex;flex-direction:column;align-items:center;position:relative;padding-top:4px}.step-bullet{width:26px;height:26px;border-radius:50%;background:var(--bg);border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--ink-3);transition:all .18s var(--ease)}.step-bullet.is-active{border-color:var(--blue);background:var(--blue);color:#fff}.step-bullet.is-done{border-color:var(--ink);background:var(--ink);color:#fff}.step-rail-line{flex:1;width:1.5px;background:var(--line-2);margin-top:6px;margin-bottom:-14px;min-height:24px}.step-card.is-done .step-rail-line{background:var(--ink);opacity:.18}.step-content{padding-bottom:8px;min-width:0}.step-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:4px 0}.step-title{font-size:16px;font-weight:600;letter-spacing:-.01em;margin:0;color:var(--ink);line-height:1.4}.step-summary{font-size:13px;color:var(--ink-3);line-height:1.5;margin-top:var(--s-1)}.step-card:not(.is-active) .step-summary{display:none}.step-card:not(.is-active):hover .step-title{color:var(--blue)}.step-card.is-active .step-title{color:var(--ink)}.step-body{margin-top:14px;padding:18px 20px;background:var(--bg);border:1px solid var(--line-2);border-radius:14px;display:flex;flex-direction:column;gap:12px}.step-text{margin:0;font-size:15px;line-height:1.6;color:var(--ink)}.step-list{margin:0;padding-left:18px;font-size:14.5px;line-height:1.7;color:var(--ink)}.step-list li::marker{color:var(--ink-4)}.step-formula{font-family:SF Pro Display,Times New Roman,"STIX Two Math",serif;font-size:18px;letter-spacing:0;font-weight:500;padding:14px 18px;background:var(--bg-3);border-radius:10px;color:var(--ink);text-align:left;font-style:normal;overflow-x:auto;overflow-y:hidden}.step-formula .katex-display{margin:0}@media (max-width: 480px){.step-formula{font-size:15px;padding:12px 14px}}.step-hint{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--ink-2);padding:12px 14px;background:var(--blue-soft);border-radius:10px;line-height:1.5}.step-hint svg{color:var(--blue);flex-shrink:0;margin-top:2px}.final-answer{margin-top:36px;padding:28px 32px;border:1px solid var(--ink);border-radius:18px;background:var(--bg)}@media (max-width: 480px){.final-answer{padding:18px 20px;margin-top:24px;border-radius:14px}}.final-eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin-bottom:14px}.final-eyebrow svg{background:var(--ink);color:#fff;padding:3px;border-radius:50%;width:18px;height:18px;box-sizing:border-box}.final-formula{font-size:15px;font-weight:500;line-height:1.6;color:var(--ink)}.final-verify{margin-top:12px;font-size:13px;color:var(--ink-3);display:flex;align-items:center;gap:6px}.solver-grid.anim-collapsed{grid-template-columns:1fr 40px}.anim-panel{border-left:1px solid var(--line-2);background:var(--bg);padding:24px;position:sticky;top:56px;align-self:start;height:calc(100vh - 56px);display:flex;flex-direction:column;overflow:visible;transition:padding .35s var(--ease)}.anim-panel.is-collapsed{padding:0}.anim-panel-content{display:flex;flex-direction:column;gap:16px;flex:1;min-width:0;overflow:hidden;opacity:1;transition:opacity .2s var(--ease);pointer-events:auto}.anim-panel.is-collapsed .anim-panel-content{opacity:0;pointer-events:none}.anim-panel-expand{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--ink-4);border-radius:0;padding:0;opacity:0;pointer-events:none;transition:opacity .2s var(--ease),color .15s,background .15s}.anim-panel.is-collapsed .anim-panel-expand{opacity:1;pointer-events:auto;transition:opacity .2s .15s var(--ease),color .15s,background .15s}.anim-panel-expand:hover{color:var(--ink-2);background:var(--bg-2)}.anim-panel-expand-label{font-size:11px;font-weight:500;letter-spacing:.12em;writing-mode:vertical-rl}.anim-panel-tab{position:absolute;left:-24px;top:50%;transform:translateY(-50%);width:24px;height:56px;background:var(--bg);border:1px solid var(--line-2);border-right:none;border-radius:8px 0 0 8px;display:flex;align-items:center;justify-content:center;color:var(--ink-4);cursor:pointer;z-index:10;opacity:1;transition:opacity .2s var(--ease),color .15s,background .15s}.anim-panel.is-collapsed .anim-panel-tab{opacity:0;pointer-events:none}.anim-panel-tab:hover{color:var(--ink-2);background:var(--bg-2)}.anim-head{display:flex;align-items:center;justify-content:space-between}.anim-stage{position:relative;flex:1;background:var(--bg-3);border-radius:16px;padding:0;display:flex;align-items:center;justify-content:center;min-height:460px;overflow:hidden}.anim-step-tag{position:absolute;top:14px;left:16px;font-size:11px;letter-spacing:.06em;color:var(--ink-3);font-weight:500}.diagram-svg{max-width:100%;max-height:100%}.anim-controls{display:flex;align-items:center;gap:12px}.anim-btn{width:36px;height:36px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;transition:background .15s var(--ease),transform .15s var(--ease);flex-shrink:0}.anim-btn:hover{background:#000}.anim-btn:active{transform:scale(.95)}.anim-btn-ghost{background:transparent;color:var(--ink-2);border:1px solid var(--line)}.anim-btn-ghost:hover{background:var(--bg-3);color:var(--ink)}.anim-track{flex:1;height:4px;background:var(--line-2);border-radius:2px;overflow:hidden}.anim-track-fill{height:100%;background:var(--ink);border-radius:2px;transition:width .05s linear}.anim-meta{display:flex;gap:8px}.anim-meta-btn{display:inline-flex;align-items:center;gap:6px;flex:1;height:36px;padding:0 12px;border-radius:10px;background:var(--bg-3);color:var(--ink-2);font-size:13px;font-weight:500;transition:background .15s var(--ease),color .15s var(--ease);justify-content:center}.anim-meta-btn:hover{background:var(--line-2);color:var(--ink)}@keyframes appear{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.appear{animation:appear .45s var(--ease) both;transform-origin:center;transform-box:fill-box}@keyframes lineGrow{0%{stroke-dashoffset:300}to{stroke-dashoffset:0}}.line-grow{stroke-dasharray:4 4;animation:lineGrow .6s var(--ease) both}@media (max-width: 1200px){.solution-panel{padding:32px 4% 80px}}@media (max-width: 960px){.solution-panel{padding:24px 3% 80px}.step-toc{width:160px}}@media (max-width: 768px){.solver-grid{min-height:auto}.solution-panel{padding:20px 16px 80px}}@media (max-width: 480px){.solution-panel{padding:16px 12px 80px}.prob-formula-body{font-size:14px}}.step-inline-anim{margin-top:20px;border-radius:14px;overflow:hidden}.step-inline-anim .anim-stage{min-height:unset;aspect-ratio:16 / 9;width:100%;height:auto;border-radius:14px}.step-inline-anim .anim-stage--na,.step-inline-anim .anim-stage--loading{display:none}@media (max-width: 768px){.step-inline-anim .anim-stage{aspect-ratio:4 / 3}.step-inline-anim{margin-top:14px}}.quick-answer-banner{max-width:1100px;margin:12px auto 0;padding:16px 20px;background:linear-gradient(135deg,#eff6ff,#ecfdf5);border:1.5px solid #2D6CDF33;border-radius:14px;animation:qa-in .5s cubic-bezier(.22,1,.36,1) both}@keyframes qa-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.qa-eyebrow{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--blue);letter-spacing:.04em;margin-bottom:8px}.qa-pulse{width:8px;height:8px;border-radius:50%;background:#1f9d55;box-shadow:0 0 #1f9d5566;animation:qa-pulse 1.6s ease-in-out infinite}@keyframes qa-pulse{0%,to{box-shadow:0 0 #1f9d5580}50%{box-shadow:0 0 0 6px #1f9d5500}}.qa-stage{color:var(--ink-3);font-weight:400}.qa-content{font-size:15px;color:var(--ink);line-height:1.6;padding:4px 0}.qa-tip{font-size:11px;color:var(--ink-3);margin-top:8px}.progress-strip-compact{max-width:1100px;margin:12px auto 24px;padding:18px 24px;background:var(--bg);border:1px solid var(--line-2);border-radius:14px}.ps-tip{font-size:14px;font-weight:500;color:var(--ink-1);line-height:1.5;transition:opacity .3s ease;animation:ps-tip-in .4s ease both;margin-bottom:6px}@keyframes ps-tip-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.ps-meta{font-size:12px;color:var(--ink-3);margin-bottom:14px}.ps-meta-value{color:var(--ink-1);font-weight:500;font-variant-numeric:tabular-nums}.ps-meta-sep{margin:0 8px;color:var(--ink-4)}.ps-pills{display:flex;flex-wrap:wrap;gap:8px;row-gap:8px}.ps-pill{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap;transition:background .2s,color .2s}.ps-pill.is-done{background:#e6f7ed;color:#1f7a3f}.ps-pill.is-done .ps-pill-dot{color:#1f9d55;font-weight:700}.ps-pill.is-done .ps-pill-time{color:#1f7a3f;opacity:.7;font-size:11px}.ps-pill.is-active{background:#eff6ff;color:var(--blue);font-weight:500;animation:ps-pulse 1.4s ease-in-out infinite}.ps-pill.is-active .ps-pill-dot{width:6px;height:6px;border-radius:50%;background:var(--blue);display:inline-block}.ps-pill.is-active .ps-pill-time{font-size:11px;opacity:.85}.ps-pill.is-pending{background:var(--bg-3);color:var(--ink-4)}.ps-pill.is-pending .ps-pill-dot{display:none}@keyframes ps-pulse{0%,to{box-shadow:0 0 #2d6cdf2e}50%{box-shadow:0 0 0 4px #2d6cdf00}}@media (max-width: 640px){.progress-strip-compact{padding:14px 16px}.ps-pill-time{display:none}}.verifier-badge{display:flex;align-items:center;gap:10px;width:100%;max-width:1100px;padding:12px 18px;margin:4px auto 24px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .1s var(--ease),box-shadow .15s var(--ease);text-align:left;line-height:1.4;-webkit-tap-highlight-color:transparent}.verifier-badge:hover{transform:translateY(-1px);box-shadow:0 4px 16px -8px #0000001f}.verifier-badge:active{transform:scale(.99)}.verifier-badge-icon{flex-shrink:0}.verifier-badge-text{flex:1;min-width:0}.verifier-badge-pct{font-variant-numeric:tabular-nums;font-size:15px;font-weight:700;letter-spacing:0}.verifier-badge-cta{font-size:12px;font-weight:500;opacity:.75;margin-left:12px;white-space:nowrap}@media (max-width: 640px){.verifier-badge{padding:10px 14px;gap:8px;font-size:13px}.verifier-badge-pct{font-size:14px}.verifier-badge-cta{display:none}}.mobile-tabs{display:none}@media (max-width: 768px){.mobile-tabs{display:flex;gap:4px;margin:16px 0 12px;background:var(--bg-3);padding:4px;border-radius:10px;position:sticky;top:0;z-index:10}.mobile-tab{flex:1;height:36px;font-size:14px;font-weight:500;color:var(--ink-3);background:transparent;border:0;border-radius:7px;cursor:pointer;transition:all .15s}.mobile-tab.is-active{background:var(--bg);color:var(--ink-1);font-weight:600;box-shadow:0 1px 3px #00000014}.solver-step-content[data-mobile-tab=steps] .step-inline-anim{display:none}.solver-step-content[data-mobile-tab=anim] .step-card:not(.is-active){display:none}.solver-step-content[data-mobile-tab=anim] .step-card .step-body>.step-text,.solver-step-content[data-mobile-tab=anim] .step-card .step-body>.step-formula{display:none}.solver-step-content[data-mobile-tab=anim] .step-inline-anim{margin-top:8px}.solver-step-content[data-mobile-tab=anim] .step-inline-anim .anim-stage{aspect-ratio:3 / 4;max-height:70vh}}.step-anim-badge{display:inline-flex;align-items:center;margin-left:6px;opacity:.75;flex-shrink:0}.final-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px}.final-footer .final-verify{margin-top:0}.final-copy-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:1px solid var(--line-2);border-radius:var(--r-pill);font-size:11px;color:var(--ink-4);padding:3px 9px;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.final-copy-btn:hover{background:var(--bg-3);color:var(--ink-2);border-color:var(--line)}.share-url-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:200;background:var(--ink);color:#fff;border-radius:8px;padding:8px 10px;display:flex;align-items:center;gap:8px;white-space:nowrap;box-shadow:0 6px 20px -4px #0000004d;font-size:12px;min-width:200px;max-width:min(380px,calc(100vw - 48px))}.share-url-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;opacity:.85;font-size:11px;font-family:SF Mono,ui-monospace,monospace}.share-url-copy{background:#ffffff26;border:none;border-radius:5px;color:#fff;padding:3px 6px;cursor:pointer;font-size:11px;display:inline-flex;align-items:center;transition:background .12s;flex-shrink:0}.share-url-copy:hover{background:#ffffff40}.kbd-hint{font-size:11px;color:var(--ink-4);background:var(--bg-3);border:1px solid var(--line-2);border-radius:5px;padding:2px 7px;letter-spacing:.02em;white-space:nowrap;-webkit-user-select:none;user-select:none}.step-nav-bar{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 0 4px}.step-nav-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 14px;border-radius:8px;border:1px solid var(--line);background:var(--bg-2);color:var(--ink-2);font-size:13px;cursor:pointer;transition:background .12s,border-color .12s,color .12s;-webkit-user-select:none;user-select:none}.step-nav-btn:hover:not(:disabled){background:var(--bg-3);border-color:var(--line-2);color:var(--ink)}.step-nav-btn:disabled{opacity:.32;cursor:default}.step-nav-counter{font-size:12px;color:var(--ink-3);min-width:56px;text-align:center;letter-spacing:.02em}.solver-stall-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px;background:#b45309;color:#fff;font-size:13px;font-weight:500;flex-wrap:wrap}.anim-stage--na{display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--ink-4)}.anim-na-msg{font-size:12px;font-weight:500;letter-spacing:.01em}.anim-stage--loading{display:flex;align-items:center;justify-content:center;flex-direction:column}.anim-spinner{width:24px;height:24px;border:2.5px solid var(--line-2);border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.anim-stage--failed{display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--warning);background:var(--warning-bg)}.similar-problems{margin-top:32px;padding-top:24px;border-top:1px solid var(--line-2)}.similar-title{font-size:13px;font-weight:600;color:var(--ink-3);letter-spacing:.02em;margin-bottom:12px}.similar-list{display:flex;flex-direction:column;gap:8px}.similar-card{display:block;padding:12px 14px;border:1px solid var(--line-2);border-radius:10px;background:var(--bg-2);transition:background .12s,border-color .12s;text-decoration:none}.similar-card:hover{background:var(--bg-3);border-color:var(--line)}.similar-card-text{font-size:13px;color:var(--ink);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:6px}.similar-card-meta{display:flex;align-items:center;gap:6px}@media (max-width: 768px){.solver-layout{padding:0 12px}.step-list{padding:8px 0}.step-item{padding:12px}.anim-stage{height:220px}.step-nav-bar{gap:8px}.similar-list{grid-template-columns:1fr}.solver-topbar{padding:0 12px;gap:8px}.solver-topbar-right{gap:8px}}@media print{.nav,.solver-topbar,.step-nav-bar,.anim-stage,.solver-stall-banner,.feedback-trigger-row,.similar-problems,.btn,footer,.lib-sidebar{display:none!important}.solver-layout{max-width:100%;padding:0}.step-item{break-inside:avoid;border:1px solid #ddd;margin-bottom:12px;page-break-inside:avoid}body{background:#fff;color:#000}}.solver-print-btn{display:flex;align-items:center;gap:4px;padding:0 10px;height:30px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;border:1px solid var(--line-2);background:var(--bg-2);color:var(--ink-2);transition:background .15s}.solver-print-btn:hover{background:var(--bg-3)}.problem-note-area{margin:12px 0 0;display:flex;flex-direction:column;gap:6px}.problem-note-display{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;background:var(--bg-2);border-radius:8px;border:1px solid var(--line-2);font-size:13px;color:var(--ink-2);line-height:1.5}.problem-note-edit{display:flex;flex-direction:column;gap:6px}.problem-note-textarea{width:100%;min-height:64px;resize:vertical;padding:8px 10px;border:1px solid var(--line-2);border-radius:8px;font-size:13px;font-family:inherit;background:var(--bg);color:var(--ink);outline:none;box-sizing:border-box}.problem-note-textarea:focus{border-color:var(--blue);box-shadow:0 0 0 2px #3b82f626}.problem-note-actions{display:flex;gap:6px}.note-add-btn{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--ink-4);cursor:pointer;background:none;border:none;padding:4px 0}.note-add-btn:hover{color:var(--blue)}.problem-edit-area{margin-top:10px}.problem-edit-textarea{width:100%;min-height:80px;resize:vertical;padding:8px 10px;border:1px solid var(--blue);border-radius:8px;font-size:14px;font-family:inherit;background:var(--bg);color:var(--ink);outline:none;box-sizing:border-box;box-shadow:0 0 0 2px #3b82f626}.problem-edit-actions{display:flex;gap:8px;margin-top:8px}.solver-step-area{display:flex;gap:16px;align-items:flex-start}.solver-step-content{flex:1;min-width:0}.step-toc{width:192px;flex-shrink:0;position:sticky;top:20px;display:flex;flex-direction:column;gap:1px;padding:4px 0 12px}.step-toc-header{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);padding:0 10px 8px}.step-toc-item{display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:8px;border:none;background:transparent;cursor:pointer;text-align:left;width:100%;transition:background .12s,color .12s;color:var(--ink-4);font-size:12px;line-height:1.35}.step-toc-item:hover{background:var(--bg-3);color:var(--ink-2)}.step-toc-item.is-active{background:var(--blue-soft);color:var(--blue)}.step-toc-num{width:20px;height:20px;border-radius:50%;background:var(--bg-3);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0;transition:background .12s,color .12s}.step-toc-item.is-active .step-toc-num{background:var(--blue);color:#fff}.step-toc-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1}@media (max-width: 768px){.solver-step-area{flex-direction:column;gap:0}.step-toc{display:none}}
