*{box-sizing:border-box}html,body{height:100%}@supports (height:100dvh){html,body{height:100dvh}}body{margin:0;font:14px/1.55 system-ui,-apple-system,Segoe UI,Microsoft YaHei,sans-serif;color:#111827;background:#f5f6f8;display:flex;flex-direction:column;overflow:hidden}#app{flex:1;min-height:0;display:flex;flex-direction:column}button{font:inherit;border:1px solid #e5e7eb;background:#fff;color:#111827;border-radius:8px;padding:6px 12px;cursor:pointer;transition:.15s}button:hover{background:#f8fafc;border-color:#cbd5e1}button.primary{background:#2563eb;border-color:#2563eb;color:#fff}button.primary:hover{background:#1d4ed8;border-color:#1d4ed8}button.ghost{color:#6b7280}button:disabled{opacity:.55;cursor:not-allowed}.topbar{display:flex;align-items:center;gap:10px;padding:9px 16px;background:#fff;border-bottom:1px solid #e5e7eb;flex:none}.brand{font-weight:650;font-size:15px}.brand .sub{color:#6b7280;font-weight:400;font-size:12px;margin-left:8px}.spacer{flex:1}.badge{font-size:12px;color:#6b7280;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:999px;padding:3px 9px}.badge.ok{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(320px,400px) 1fr;gap:12px;padding:12px}.panel{min-height:0;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.chat-log{flex:1;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:10px}.msg{display:flex;flex-direction:column;gap:4px;max-width:100%}.msg .role{font-size:12px;color:#6b7280}.bubble{border:1px solid #e5e7eb;background:#f9fafb;border-radius:10px;padding:9px 11px;white-space:pre-wrap;word-break:break-word}.msg.user .bubble{background:#eff6ff;border-color:#dbeafe}.msg.assistant .bubble{padding:8px;background:#fff}.bubble .status{font-size:12.5px;color:#6b7280}.bubble .status.err{color:#dc2626}.thumb{margin-top:8px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;min-height:110px;overflow:hidden}.thumb svg{max-width:100%;max-height:150px;width:auto;height:auto}.msg-actions{display:flex;gap:6px;margin-top:8px}.msg-actions button{padding:3px 9px;font-size:12px;border-radius:7px}.composer{border-top:1px solid #e5e7eb;padding:10px;display:flex;flex-direction:column;gap:8px}#prompt{width:100%;min-height:86px;max-height:220px;resize:vertical;border:1px solid #e5e7eb;border-radius:10px;padding:10px;font:inherit;outline:none}#prompt:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.composer-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.chat-actions{display:flex;align-items:center;gap:10px;flex:none;margin-left:auto}.check{display:flex;align-items:center;gap:5px;font-size:12px;color:#6b7280;user-select:none}.canvas-toolbar{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;flex:none}.tabs{display:flex;gap:3px;background:#f3f4f6;border-radius:9px;padding:3px}.tab{border:none;background:transparent;padding:5px 12px;border-radius:7px;font-size:13px;color:#6b7280}.tab.active{background:#fff;color:#111827;box-shadow:0 1px 2px #00000014}.tools{display:flex;align-items:center;gap:6px;margin-left:auto;flex-wrap:wrap}.tools button{padding:5px 10px;font-size:13px}#btnUndo,#btnRedo{padding:5px 8px;min-width:30px;line-height:1}.zoom-label{font-size:12px;color:#6b7280;min-width:44px;text-align:center}.sep{width:1px;height:18px;background:#e5e7eb;margin:0 2px}.stage{position:relative;flex:1;min-height:0;overflow:hidden;cursor:grab;background-color:#fff;background-image:radial-gradient(#e5e7eb 1px,transparent 1px);background-size:20px 20px;-webkit-user-select:none;user-select:none}.stage:focus{outline:none}.stage *{-webkit-user-select:none;user-select:none}.stage.dragging{cursor:grabbing}.stage-inner{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}.stage-inner svg{display:block}.empty-hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:13px;pointer-events:none}.source-wrap{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px;padding:10px}.source-wrap textarea{flex:1;min-height:0;width:100%;resize:none;border:1px solid #e5e7eb;border-radius:10px;padding:10px;font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;outline:none}.source-wrap textarea:focus{border-color:#2563eb}.source-bar{display:flex;align-items:center;gap:8px}.status{font-size:12px;color:#6b7280}dialog{border:none;border-radius:14px;padding:0;width:min(700px,94vw);max-height:92vh;box-shadow:0 24px 70px #0f172a4d}dialog::backdrop{background:#0f172a73}.settings{display:flex;flex-direction:column;gap:12px;padding:18px}.settings h3{margin:0 0 2px}.settings-tabs{display:flex;gap:4px;background:#f3f4f6;border-radius:9px;padding:3px;align-self:flex-start}.settings-tabs button{border:none;background:transparent;padding:4px 12px;border-radius:7px;font-size:12.5px;color:#4b5563;cursor:pointer}.settings-tabs button:hover{color:#111827}.settings-tabs button.active{background:#fff;color:#1d4ed8;box-shadow:0 1px 3px #0f172a1f}.hint{font-size:12px;color:#6b7280;margin:0}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;color:#6b7280}.field input,.field textarea{border:1px solid #e5e7eb;border-radius:9px;padding:8px 10px;font:inherit;outline:none;background:#fff}.field textarea{font:12px/1.6 ui-monospace,Consolas,monospace;resize:vertical}.field input:focus,.field textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}dialog.library-dialog{width:80vw;max-width:80vw}.library-sheet{display:flex;flex-direction:column;max-height:92vh;min-height:0}.library-head{display:flex;align-items:center;gap:10px;padding:16px 42px 10px 18px}.library-head h3{margin:0;font-size:16px;flex:none}.library-source{flex:1;min-width:0;font-size:12px;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-filters{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding:10px 18px 12px;border-bottom:1px solid #eef2f7;background:#fcfdff}.lib-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#6b7280}.lib-field input,.lib-field select,.library-foot select{border:1px solid #e5e7eb;border-radius:8px;padding:6px 8px;font:inherit;font-size:13px;color:#111827;background:#fff;outline:none}.lib-field input:focus,.lib-field select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.lib-field.keyword input{width:220px}.lib-buttons{display:flex;gap:8px;margin-left:auto}.library-list{flex:1;min-height:220px;overflow:auto;padding:0 18px}.library-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px}.library-table th{position:sticky;top:0;z-index:1;background:#fff;text-align:left;font-weight:600;color:#6b7280;font-size:12px;padding:9px 8px;border-bottom:1px solid #e5e7eb;white-space:nowrap}.library-table td{padding:9px 8px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.library-table tbody tr:hover{background:#f8fafc}.library-table.busy{opacity:.55}.library-table th:first-child{width:40%}.col-stats{width:20%}.col-fig{width:8%;text-align:center;color:#475569}.col-date{width:18%;white-space:nowrap;color:#6b7280}.col-op{width:14%;text-align:right}.lib-title{font-weight:550;color:#111827;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lib-preview{margin-top:2px;font-size:12px;color:#6b7280;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;word-break:break-all}.lib-chip{display:inline-block;margin:1px 4px 1px 0;padding:0 6px;border:1px solid #e5e7eb;border-radius:999px;background:#f9fafb;color:#475569;font-size:11px;line-height:18px;white-space:nowrap}.lib-load{padding:4px 9px;font-size:12px}.library-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:220px;color:#6b7280;font-size:13px;text-align:center}.lib-empty-hint{font-size:12px;color:#9ca3af}.library-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 18px;border-top:1px solid #eef2f7;background:#fff;position:sticky;bottom:0}.library-foot .status{font-size:12px;color:#6b7280}.library-foot button{padding:5px 10px;font-size:12.5px}.lib-size{display:flex;align-items:center;gap:5px;font-size:12px;color:#6b7280}.lib-page{font-size:12px;color:#374151;min-width:56px;text-align:center}.dlg-footer{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dlg-footer.import-footer{flex-direction:column;align-items:stretch;gap:8px;position:sticky;bottom:0;background:#fff;padding-top:8px;border-top:1px solid #eef2f7;z-index:1}.import-footer .status-line{min-height:18px;font-size:12px;color:#6b7280;line-height:18px}.mode-row{display:flex;gap:16px;flex-wrap:wrap}.mode-row .check{margin:0}.import-footer .footer-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.preview-sheet{display:flex;flex-direction:column;gap:10px;padding:16px 18px 14px}.preview-paper{background:#fff;border:1px solid #eef2f7;border-radius:10px;padding:16px 22px 14px;max-height:72vh;overflow:auto;font-family:Georgia,Times New Roman,Songti SC,SimSun,serif;font-size:16px;line-height:2;color:#1e293b}.preview-line,.preview-line p{margin:0}.preview-figure{margin-top:4px;display:flex;justify-content:center}.preview-figure svg{width:100%;max-width:400px;height:auto;display:block}.preview-empty{margin:0;color:#94a3b8;font-size:13px;font-family:system-ui,sans-serif}.import{display:flex;flex-direction:column;gap:12px;padding:18px;max-height:88vh;overflow:auto}.import h3{margin:0 0 2px}.drop{border:1.5px dashed #cbd5e1;border-radius:10px;background:#f8fafc;min-height:150px;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;padding:10px}.drop:hover{border-color:#93c5fd}.drop.over{border-color:#2563eb;background:#eff6ff}.drop-tip{color:#94a3b8;font-size:13px;text-align:center;line-height:1.8;padding:0 20px}.drop img{max-width:100%;max-height:220px;display:block;border-radius:6px;box-shadow:0 1px 6px #0f172a1f}.json-head{display:flex;align-items:center;gap:8px}.json-out{width:100%;height:170px;resize:vertical;border:1px solid #e5e7eb;border-radius:9px;padding:8px 10px;font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;background:#f8fafc;outline:none;white-space:pre}.save{display:flex;flex-direction:column;gap:12px;padding:18px}.save h3{margin:0 0 2px}.id-row{display:flex;gap:8px}.id-row input{flex:1;min-width:0}.stream{margin:8px 0 0;padding:8px 10px;border-radius:8px;background:#0f172a;color:#e2e8f0;font:11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;word-break:break-all;max-height:170px;overflow:auto}.attachments{display:flex;gap:6px;flex-wrap:wrap}.attach{position:relative;width:52px;height:52px;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#fff;flex:none}.attach img{width:100%;height:100%;object-fit:cover;display:block}.attach-x{position:absolute;top:1px;right:1px;width:16px;height:16px;line-height:12px;padding:0;border-radius:50%;background:#111827b8;color:#fff;border:none;font-size:12px;cursor:pointer}.user-imgs{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.user-imgs img{width:56px;height:56px;object-fit:cover;border-radius:6px;border:1px solid #dbeafe;display:block}#objOverlay{position:absolute;pointer-events:none;border:1.5px dashed #2563eb;z-index:3}#objOverlay .sel-area{position:absolute;inset:0;pointer-events:auto;cursor:move;background:#2563eb05}#objOverlay .sel-handle{position:absolute;left:50%;top:-34px;width:18px;height:18px;margin-left:-9px;border-radius:50%;background:#fff;border:2px solid #2563eb;pointer-events:auto;cursor:grab;box-shadow:0 1px 4px #0000002e}#objOverlay .sel-handle:after{content:"";position:absolute;left:50%;top:100%;width:2px;height:16px;margin-left:-1px;background:#2563eb}#objOverlay .sel-end{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#fff;border:2px solid #2563eb;pointer-events:auto;cursor:crosshair;box-shadow:0 1px 4px #0003;display:none}#objOverlay.line-sel .sel-end{display:block}#hoverBox{position:absolute;pointer-events:none;border:1.5px dashed #f59e0b;z-index:4}.layers{position:absolute;top:8px;right:8px;z-index:5;width:186px;display:flex;flex-direction:column;max-height:calc(100% - 16px);background:#fffffff7;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 6px 20px #0f172a1a}.layers-head{display:flex;align-items:center;gap:8px;padding:7px 34px 7px 10px;border:none;background:transparent;border-radius:10px;font-size:12.5px;color:#374151;cursor:grab;flex:none;user-select:none;touch-action:none;text-align:left;width:100%}.layers-head:hover{background:#f8fafc}.layers.dragging .layers-head{cursor:grabbing}.layers-title{font-weight:600}.layers-count{color:#6b7280;font-weight:400;margin-left:5px}.layers-toggle{position:absolute;top:5px;right:5px;z-index:1;width:24px;height:24px;padding:0;border:none;border-radius:6px;background:transparent;color:#94a3b8;display:flex;align-items:center;justify-content:center;cursor:pointer}.layers-toggle:hover{background:#eef2f7;color:#334155}.layers-toggle:focus-visible{outline:2px solid #93c5fd;outline-offset:1px}.layers.collapsed .layers-body{display:none}.layers-body{overflow:auto;padding:2px 6px 6px;display:flex;flex-direction:column;gap:2px;min-height:0}.layer-row{display:flex;align-items:center;gap:6px;border:none;background:transparent;padding:4px 6px;border-radius:6px;font-size:12px;color:#374151;text-align:left;cursor:pointer;width:100%}.layer-row:hover{background:#f1f5f9}.layer-row.active{background:#e0ecff;color:#1d4ed8}.layer-row:focus-visible{outline:2px solid #93c5fd;outline-offset:1px}.layer-tag{font-size:10px;line-height:15px;color:#94a3b8;border:1px solid #e5e7eb;border-radius:4px;padding:0 4px;flex:none;background:#fff}.layer-row.active .layer-tag{border-color:#bfdbfe;color:#2563eb}.layer-id{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.layer-eye{flex:none;width:18px;height:18px;padding:0;border:none;border-radius:4px;background:transparent;color:#94a3b8;display:flex;align-items:center;justify-content:center;cursor:pointer}.layer-eye:hover{background:#e0f2fe;color:#0369a1}.layer-del{flex:none;width:18px;height:18px;padding:0;border:none;border-radius:4px;background:transparent;color:#94a3b8;font-size:15px;line-height:1;cursor:pointer}.layer-del:hover{background:#fee2e2;color:#dc2626}.layer-row.layer-hidden .layer-id{color:#9ca3af;text-decoration:line-through}.layer-row.layer-hidden .layer-tag{opacity:.55}.settings-dialog,.preview-dialog,.import-dialog,.latex-dialog,.ask-dialog,.save-dialog,.solution-preview-dialog{position:relative}.dlg-x{position:absolute;top:8px;right:8px;z-index:2;width:28px;height:28px;padding:0;border:none;border-radius:7px;background:transparent;color:#94a3b8;display:flex;align-items:center;justify-content:center;cursor:pointer}.dlg-x:hover{background:#f1f5f9;color:#334155}.dlg-head{display:flex;align-items:center;gap:10px;padding-right:40px}.dlg-head h3{margin:0;font-size:16px;font-weight:600}.dlg-x:focus{outline:none}.dlg-x:focus-visible{outline:2px solid #93c5fd;outline-offset:1px}.dlg-x .ico{margin:0}.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%) translateY(8px);background:#111827;color:#fff;padding:9px 16px;border-radius:10px;font-size:13px;opacity:0;pointer-events:none;transition:.25s;z-index:100}.toast.show{opacity:.96;transform:translate(-50%) translateY(0)}.canvas-size{display:flex;align-items:center;gap:4px}.canvas-size input{width:62px;padding:4px 6px;border:1px solid #e5e7eb;border-radius:7px;font:inherit;text-align:center;background:#fff}.canvas-size .size-x{color:#6b7280}.stage.adding,.stage.adding *{cursor:crosshair}.ask-dialog{width:min(420px,92vw)}.ask{display:flex;flex-direction:column;gap:12px;padding:18px}.ask h3{margin:0;font-size:16px}.ask-msg{margin:0;color:#374151;line-height:1.65;font-size:13.5px}.latex-dialog{width:min(760px,94vw)}.latex-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:12px;align-items:start}.latex-row{display:flex;align-items:center;gap:10px}.latex-row input{flex:1;min-width:0}.latex-prompt-actions{margin-top:2px}.latex-prompt-actions button{border:1px solid #e5e7eb;background:#fff;border-radius:7px;padding:3px 10px;font-size:12px;cursor:pointer}@media(max-width:720px){.latex-grid{grid-template-columns:1fr}}.ico{vertical-align:-2px;margin-right:5px;flex:none}.ico.only{margin-right:0}.drop-overlay{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;background:#2563eb14;pointer-events:none}.drop-overlay-box{padding:18px 30px;border:2px dashed #2563eb;border-radius:14px;background:#fffffff5;color:#1d4ed8;font-size:15px;box-shadow:0 12px 40px #0f172a2e}.hidden{display:none!important}@media(max-width:960px){body{overflow:hidden}.layout{display:flex;flex-direction:column;gap:10px;padding:10px;min-height:0}.chat-panel{flex:0 0 42dvh;min-height:260px}.canvas-panel{flex:1 1 auto;min-height:0}.topbar{padding:7px 12px;flex-wrap:nowrap}.brand .sub{display:none}.brand{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.canvas-toolbar{gap:6px;padding:6px 8px}#objInfo{display:none}}@media(max-width:560px){.chat-panel{flex:0 0 40dvh;min-height:240px}.composer-bar{gap:8px}.zoom-label{min-width:38px}}.global-toolbar button{font-size:13px;padding:5px 12px;border-radius:8px;flex:none}.stepbar{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;min-width:0}.step{display:inline-flex;align-items:center;gap:9px;padding:4px 8px;border:none;background:transparent;border-radius:10px;cursor:pointer;color:#6b7280;flex:none}.step:hover{background:#f8fafc}.step .num{width:30px;height:30px;border-radius:50%;border:2px solid #cbd5e1;background:#fff;color:#64748b;display:inline-flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;transition:.15s}.step .label{font-size:15px;font-weight:600;white-space:nowrap}.step .label .short{display:none}.step.active{color:#111827}.step.active .num{background:#2563eb;border-color:#2563eb;color:#fff;box-shadow:0 0 0 4px #2563eb1f}.step-line{width:64px;height:2px;background:#e5e7eb;border-radius:2px;flex:none}.step-line.done{background:#93c5fd}.step-main{flex:1;min-height:0;display:flex;padding:12px}.step-main>.panel{flex:1;min-width:0}.step-panel{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:auto}.step-empty{max-width:620px;width:100%;text-align:center;padding:32px 20px}.step-eyebrow{font-size:12px;letter-spacing:.08em;color:#2563eb;font-weight:600}.step-empty h2{margin:8px 0 6px;font-size:26px}.step-empty p{margin:0 auto 22px;color:#6b7280;font-size:14px;max-width:460px}.placeholder-box{border:1.5px dashed #cbd5e1;border-radius:12px;min-height:220px;display:flex;align-items:center;justify-content:center;color:#94a3b8;background:#fbfcfe;font-size:13px}.step-empty .actions{margin-top:20px;display:flex;justify-content:center;gap:10px}@media(max-width:960px){.step-main{padding:10px}.step-line{width:44px}}@media(max-width:760px){.brand,.badge{display:none}.stepbar{gap:8px}.step .label{font-size:14px}}@media(max-width:560px){.step .label .full{display:none}.step .label .short{display:inline}.stepbar{gap:6px}.step-line{width:26px}.step{padding:3px 6px;gap:7px}.step .num{width:26px;height:26px;font-size:14px}}@media(max-width:960px)and (max-height:640px){.chat-panel{flex:0 0 34dvh;min-height:200px}}.step.done:not(.active) .num{background:#ecfdf5;border-color:#34d399;color:#059669}.prompt-step{flex:1;min-height:0;display:flex;flex-direction:column}.prompt-head{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid #e5e7eb;flex:none;flex-wrap:wrap}.prompt-title{font-size:16px;font-weight:650}.prompt-pill{font-size:12px;line-height:18px;padding:1px 8px;border-radius:999px;border:1px solid #e5e7eb;color:#6b7280;background:#f8fafc;white-space:nowrap}.prompt-pill.stem{color:#1d4ed8;border-color:#bfdbfe;background:#eff6ff}.prompt-pill.question{color:#b45309;border-color:#fde68a;background:#fffbeb}.prompt-pill.option{color:#0f766e;border-color:#99f6e4;background:#f0fdfa}.prompt-pill.blank{color:#7c3aed;border-color:#ddd6fe;background:#f5f3ff}.prompt-head .primary{margin-left:auto}.prompt-body{flex:1;min-height:0;overflow:auto;padding:12px 14px;display:flex;flex-direction:column;gap:8px;background:#fbfcfe}.prompt-empty{border:1.5px dashed #cbd5e1;border-radius:12px;padding:28px 16px;text-align:center;color:#94a3b8;font-size:13px;background:#fff}.prompt-card{display:flex;align-items:flex-start;gap:8px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:8px 10px;transition:.12s}.prompt-card:hover{border-color:#cbd5e1;background:#fcfdff;box-shadow:0 4px 14px #0f172a12}.type-select{cursor:pointer;font:inherit;font-size:12px;line-height:18px;height:22px;padding:0 4px 0 8px;outline:none}.type-select:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #2563eb1a}.prompt-card.editing{border-color:#93c5fd;box-shadow:0 0 0 3px #2563eb14}.prompt-card.dragging{opacity:.5}.prompt-card.drag-over{border-color:#60a5fa;background:#f8fbff}.prompt-handle{cursor:grab;color:#cbd5e1;font-size:12px;line-height:1.6;user-select:none;padding:2px;letter-spacing:-2px;flex:none}.prompt-handle:active{cursor:grabbing}.prompt-content{flex:1;min-width:0;font-size:14px;line-height:1.7;color:#111827;word-break:break-word}.prompt-content{cursor:text;border-radius:6px;padding:1px 3px;outline:none}.prompt-content:focus{background:#f8faff;box-shadow:0 0 0 2px #2563eb24}.prompt-content [contenteditable=false]{cursor:default}.prompt-content p{margin:0 0 4px}.prompt-content p:last-child{margin-bottom:0}.prompt-content ul,.prompt-content ol{margin:4px 0;padding-left:20px}.prompt-actions{display:flex;gap:2px;flex:none}.icon-btn{border:none;background:transparent;color:#9ca3af;cursor:pointer;padding:2px 6px;border-radius:6px;font-size:13px;line-height:1.4}.icon-btn:hover:not(:disabled){background:#f1f5f9;color:#374151}.icon-btn.active{background:#eff6ff;color:#2563eb}.icon-btn.active:hover:not(:disabled){background:#dbeafe;color:#1d4ed8}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.prompt-composer{flex:none;border-top:1px solid #e5e7eb;background:#fff;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.composer-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.prompt-tip{font-size:12px;color:#9ca3af}.btn-add-question,.add-question{background:#fffbeb;border-color:#fde68a;color:#b45309}.add-option{background:#f0fdfa;border-color:#99f6e4;color:#0f766e}.add-option:hover{background:#ccfbf1;border-color:#5eead4}.add-blank{background:#f5f3ff;border-color:#ddd6fe;color:#7c3aed}.add-blank:hover{background:#ede9fe;border-color:#c4b5fd}.btn-add-question:hover,.add-question:hover{background:#fef3c7;border-color:#fcd34d}.prompt-tip.editing-tip{color:#2563eb}.composer-actions{display:flex;justify-content:flex-end;gap:8px}.rte{border:1px solid #e5e7eb;border-radius:10px;background:#fff;overflow:hidden}.rte-toolbar{display:flex;align-items:center;gap:4px;padding:5px 8px;border-bottom:1px solid #f1f5f9;flex-wrap:wrap}.rte-toolbar button{border:none;background:transparent;padding:3px 8px;border-radius:6px;font-size:13px;color:#4b5563;cursor:pointer;line-height:1.5}.rte-toolbar button:hover{background:#f1f5f9}.rte-toolbar button.active{background:#e0ecff;color:#1d4ed8}.rte-sep{width:1px;height:16px;background:#e5e7eb;margin:0 3px}.rte-palette{display:flex;align-items:center;gap:3px;padding:5px 8px;border-bottom:1px solid #f1f5f9;flex-wrap:wrap;background:#fcfdff}.rte-palette button{min-width:30px;padding:2px 7px;border:1px solid #e5e7eb;background:#fff;border-radius:6px;font-size:12.5px;color:#334155;cursor:pointer;line-height:1.6}.rte-palette button:hover{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.rte-mathbar{display:flex;align-items:center;gap:6px;padding:6px 8px;border-bottom:1px solid #f1f5f9;background:#f8fafc;flex-wrap:wrap}.rte-select{border:1px solid #e5e7eb;border-radius:7px;padding:3px 6px;font:inherit;font-size:12px;background:#fff}.rte-math-input{flex:1;min-width:120px;border:1px solid #e5e7eb;border-radius:7px;padding:4px 8px;font:12px/1.5 ui-monospace,Consolas,monospace;outline:none}.rte-math-input:focus{border-color:#2563eb}.rte-math-preview{min-width:24px;max-width:45%;overflow:hidden;color:#111827}.rte-mathbar button{border:1px solid #e5e7eb;background:#fff;border-radius:7px;padding:3px 10px;font-size:12px;cursor:pointer}.rte-mathbar button.primary{background:#2563eb;border-color:#2563eb;color:#fff}.rte-content{min-height:96px;max-height:200px;overflow:auto;padding:8px 12px;font-size:14px;line-height:1.7;outline:none}.rte-content p{margin:0 0 4px}.rte-content p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:#9ca3af;float:left;height:0;pointer-events:none}.rte-content .katex{font-size:1.05em}.prompt-content .katex{font-size:1.02em}@media(max-width:560px){.prompt-head{padding:8px 10px}.prompt-head .primary{padding:5px 9px;font-size:12px}.prompt-body,.prompt-composer{padding:8px 10px}.rte-content{min-height:80px;max-height:150px}}@media(max-width:560px){.global-toolbar{padding:5px 8px;gap:6px}.global-toolbar button{font-size:12px;padding:4px 9px}}.global-toolbar{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#fff;border-bottom:1px solid #e5e7eb;flex:none;overflow-x:auto}.tool-group{display:flex;align-items:center;gap:6px;padding:3px;border:1px solid #eef2f7;background:#f8fafc;border-radius:9px}.tool-sep{width:1px;height:22px;background:#e5e7eb;flex:none}.global-toolbar .tool-accent{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.global-toolbar .tool-accent:hover{background:#dbeafe;border-color:#93c5fd}.rte-content table{border-collapse:collapse;width:100%;margin:6px 0;table-layout:fixed}.rte-content th,.rte-content td{border:1px solid #cbd5e1;padding:4px 8px;min-width:40px;vertical-align:top}.rte-content th{background:#f8fafc;font-weight:600}.rte-content img{max-width:100%;height:auto;border-radius:6px;display:block;margin:6px 0}.preview-line table{border-collapse:collapse;margin:4px 0}.preview-line th,.preview-line td{border:1px solid #cbd5e1;padding:3px 8px;min-width:36px}.preview-line img{max-width:100%;height:auto}.solve-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(260px,3fr) minmax(300px,3fr) minmax(340px,4fr);gap:10px;padding:10px}.solve-question,.solve-result,.solve-editor{display:flex;flex-direction:column;min-height:0;border:1px solid #eef2f7;border-radius:10px;overflow:hidden;background:#fff}.solve-question{background:#fcfdff}.solve-col-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;font-size:12px;color:#6b7280;border-bottom:1px solid #eef2f7;background:#f8fafc;flex:none}.solve-col-head>span:first-child{flex:none}.solve-col-tip{font-size:11px;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.solve-item{border:1px solid #e2e8f0;border-radius:8px;padding:6px 10px;margin:0 0 6px;background:#fff;cursor:pointer;outline:none;transition:border-color .12s,box-shadow .12s}.solve-item:hover{border-color:#bfdbfe}.solve-item:focus-visible{box-shadow:0 0 0 3px #2563eb1f}.solve-item.active{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1f}.solve-item-points{margin-top:4px;font-size:12px;color:#2563eb;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.points-dialog{width:min(560px,92vw)}dialog.construct-dialog{width:min(1120px,95vw);max-height:92vh}.ct-sheet{display:flex;flex-direction:column;gap:10px;padding:16px 18px 14px;max-height:92vh;min-height:0}.ct-head{padding-right:40px;flex-wrap:wrap}.ct-requirement{font-size:12px;color:#6b7280}.ct-body{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(190px,.9fr);gap:12px;min-height:0;flex:1}.ct-col{display:flex;flex-direction:column;gap:6px;min-width:0;min-height:0}.ct-col-head{display:flex;align-items:center;gap:8px;font-size:12px;color:#6b7280}.ct-count{margin-left:auto;font-size:11px;color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:0 7px}.ct-preview{height:min(470px,calc(92vh - 190px));border:1px solid #e5e7eb;border-radius:10px;background:#fff;padding:8px;display:flex;align-items:center;justify-content:center;overflow:hidden}.ct-preview svg{width:100%;height:100%;display:block}.ct-nodes{height:min(470px,calc(92vh - 190px));overflow:auto;border:1px solid #e5e7eb;border-radius:10px;padding:6px;display:flex;flex-direction:column;gap:2px;background:#fff}.ct-node{display:flex;align-items:center;gap:7px;padding:5px 7px;border-radius:7px;font-size:12px;color:#374151;cursor:pointer}.ct-node:hover{background:#f8fafc}.ct-node.picked{background:#fff7ed;color:#b45309}.ct-node.off{opacity:.45;cursor:not-allowed}.ct-node input{flex:none;accent-color:#2563eb}.ct-tag{flex:none;font-size:10px;line-height:15px;color:#94a3b8;border:1px solid #e5e7eb;border-radius:4px;padding:0 4px;background:#fff}.ct-id{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ct-role{flex:none;font-size:11px;color:#94a3b8}.ct-node.picked .ct-role{color:#d97706}.ct-hidden{margin-left:5px;padding:0 3px;border:1px solid #fed7aa;border-radius:4px;background:#fff7ed;color:#b45309;font-size:10px;line-height:14px}.ct-empty{padding:22px 10px;text-align:center;color:#9ca3af;font-size:12px}.ct-props{height:min(470px,calc(92vh - 190px));overflow:auto;border:1px solid #e5e7eb;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:10px;background:#fff}.ct-props .field label{font-size:12px}.ct-props input[type=number]{border:1px solid #e5e7eb;border-radius:8px;padding:6px 8px;font:inherit;background:#fff;outline:none}.ct-props input[type=number]:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.ct-color{flex-direction:row;align-items:center;justify-content:space-between}.ct-color input[type=color]{width:56px;height:30px;padding:2px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;cursor:pointer}.ct-note{margin:0;font-size:11.5px;color:#94a3b8;line-height:1.6}.ct-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid #eef2f7;padding-top:10px}.ct-status{font-size:12px;color:#047857}.ct-status.bad{color:#b45309}.points{display:flex;flex-direction:column;gap:12px;padding:18px}.points-preview{border:1px solid #eef2f7;border-radius:8px;background:#f8fafc;padding:8px 10px;max-height:160px;overflow:auto;font-size:14px;line-height:1.8}.points-preview p{margin:0}.solve-q-text{padding:10px 12px;overflow:auto;font-size:14px;line-height:1.9;min-height:60px;max-height:45%}.solve-line{margin:0 0 4px}.solve-line p{margin:0}.solve-fig{flex:1;min-height:120px;display:flex;align-items:center;justify-content:center;padding:8px;overflow:auto;background:#fff}.solve-fig-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.solve-fig-inner svg{max-width:100%;max-height:100%;width:auto;height:auto;display:block}.solve-empty-tip{color:#9ca3af;font-size:12px}.solve-out{flex:1;overflow:auto;padding:14px}.solve-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#94a3b8;text-align:center}.solve-empty p{margin:0;font-size:13px}.solve-hint{font-size:12px;max-width:360px;line-height:1.7}.solve-foot{display:flex;justify-content:flex-end;gap:8px;padding:8px 12px;border-top:1px solid #eef2f7}.solve-actions{display:flex;align-items:center;gap:6px;padding:6px 10px;border-bottom:1px solid #eef2f7;background:#fcfdff;flex:none}.solve-actions .mini{flex:1;justify-content:center}.solve-actions .mini[draggable=true]{cursor:grab}.solve-actions .mini[draggable=true]:active{cursor:grabbing}.solve-editor-body{flex:1;min-height:0;overflow:auto;padding:10px 12px;display:flex;flex-direction:column}.editor-head{display:flex;align-items:center;gap:6px;margin-bottom:8px;flex:none}.editor-step{font-size:12px;color:#6b7280}.editor-dirty{font-size:11px;color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:999px;padding:1px 7px;flex:none}.editor-note{margin:0 0 6px;font-size:12px;color:#9ca3af}.editor-rich{font-size:14px;line-height:1.8;color:#111827}.editor-rich p{margin:0 0 4px}.editor-placeholder{border:1px dashed #cbd5e1;border-radius:8px;padding:24px;text-align:center;color:#9ca3af;font-size:12px}.editor-auto{font-size:11px;color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:999px;padding:1px 7px;flex:none}.anim-editor{display:flex;flex-direction:column;gap:8px;min-height:0}.anim-top{display:flex;align-items:center;gap:8px;font-size:12px;color:#6b7280}.anim-empty{border:1px dashed #cbd5e1;border-radius:8px;padding:18px;text-align:center;color:#9ca3af;font-size:12px}.anim-script{border:1px solid #e2e8f0;border-radius:9px;background:#fff;padding:8px 10px;display:flex;flex-direction:column;gap:8px}.anim-script-head{display:flex;align-items:center;gap:6px}.anim-no{flex:none;font-size:12px;font-weight:600;color:#475569}.anim-type{max-width:170px;border:1px solid #e5e7eb;border-radius:6px;padding:3px 6px;font:inherit;font-size:12px;color:#111827;background:#fff;outline:none}.anim-type:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.anim-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.anim-field{display:flex;flex-direction:column;gap:3px;min-width:0;font-size:11px;color:#6b7280}.anim-field select,.anim-field input{min-width:0;border:1px solid #e5e7eb;border-radius:6px;padding:4px 6px;font:inherit;font-size:12px;color:#111827;background:#fff;outline:none}.anim-field select:focus,.anim-field input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.anim-color{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between}.anim-color input[type=color]{width:64px;flex:none;height:27px;padding:2px;cursor:pointer}.anim-targets{border-top:1px dashed #eef2f7;padding-top:7px;display:flex;flex-direction:column;gap:5px}.anim-targets-head{display:flex;align-items:center;gap:6px;font-size:12px;color:#6b7280}.anim-targets-head b{color:#2563eb;font-weight:600}.anim-warn{border:1px solid #fde68a;border-radius:999px;background:#fffbeb;color:#b45309;font-size:10.5px;line-height:15px;padding:0 6px}.anim-missing{border:1px solid #fecaca;border-radius:999px;background:#fef2f2;color:#b91c1c;font-size:10.5px;line-height:15px;padding:0 6px;cursor:pointer}.anim-missing:hover{background:#fee2e2}.anim-targets-head .mini{padding:1px 7px;font-size:11px}.anim-chips{display:flex;flex-wrap:wrap;gap:4px}.anim-chip{display:inline-flex;align-items:center;gap:2px;padding:1px 4px 1px 7px;border:1px solid #dbeafe;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:11px;line-height:18px}.anim-chip.missing{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.anim-chip button{width:15px;height:15px;padding:0;border:none;border-radius:50%;background:transparent;color:inherit;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:.7}.anim-chip button:hover{background:#0f172a14;opacity:1}.anim-chip .ico{margin:0}.anim-target-empty{padding:6px;font-size:11.5px;color:#9ca3af}dialog.target-dialog{width:min(1000px,95vw);max-height:92vh}.tp-sheet{display:flex;flex-direction:column;gap:10px;padding:16px 18px 14px;max-height:92vh;min-height:0}.tp-head{padding-right:40px;flex-wrap:wrap}.tp-requirement{font-size:12px;color:#6b7280}.tp-body{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(190px,.85fr);gap:12px;min-height:0;flex:1}.tp-col{display:flex;flex-direction:column;gap:6px;min-width:0;min-height:0}.tp-col-head{display:flex;align-items:center;gap:8px;font-size:12px;color:#6b7280}.tp-col-head .mini{padding:1px 7px;font-size:11px}.tp-count{padding:0 7px;border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;color:#2563eb;font-size:11px}.tp-preview{height:min(460px,calc(92vh - 190px));overflow:hidden;border:1px solid #e5e7eb;border-radius:10px;background:#fff;padding:8px;display:flex;align-items:center;justify-content:center}.tp-preview svg{width:100%;height:100%;display:block}.tp-nodes,.tp-selected{height:min(460px,calc(92vh - 190px));overflow:auto;border:1px solid #e5e7eb;border-radius:10px;padding:6px;background:#fff;display:flex;flex-direction:column;gap:2px}.tp-node,.tp-selected-row{display:flex;align-items:center;gap:7px;padding:4px 6px;border-radius:6px;font-size:12px;color:#374151}.tp-node{cursor:pointer}.tp-node:hover,.tp-selected-row:hover{background:#f8fafc}.tp-node.picked{background:#fff7ed;color:#b45309}.tp-node input{flex:none;accent-color:#2563eb}.tp-tag{flex:none;font-size:10px;line-height:15px;color:#94a3b8;border:1px solid #e5e7eb;border-radius:4px;padding:0 4px;background:#fff}.tp-node.picked .tp-tag{border-color:#fed7aa;color:#b45309}.tp-id{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-hidden{margin-left:2px;padding:0 3px;border:1px solid #fed7aa;border-radius:4px;background:#fff7ed;color:#b45309;font-size:10px;line-height:14px}.tp-empty{padding:18px 8px;text-align:center;color:#9ca3af;font-size:12px}.tp-foot{border-top:1px solid #eef2f7;padding-top:10px}.tp-status{font-size:12px;color:#047857}@media(max-width:900px){.tp-body{grid-template-columns:1fr;overflow:auto}.tp-preview,.tp-nodes,.tp-selected{height:220px}}.solve-editor-body .rte{flex:1 0 auto;min-height:0;display:flex;flex-direction:column}.solve-editor-body .rte-content{flex:1;min-height:300px;max-height:none}@media(max-width:1100px){.solve-body{grid-template-columns:minmax(200px,28%) 1fr;grid-template-rows:minmax(0,1fr) auto}.solve-editor{grid-column:1/-1;max-height:340px}}@media(max-width:960px){.solve-body{grid-template-columns:1fr;grid-template-rows:minmax(160px,30%) 1fr minmax(200px,40%)}.solve-editor{grid-column:auto;max-height:none}}.solve-steps{display:flex;flex-direction:column;gap:8px}.s-step{border:1px solid #eef2f7;border-radius:10px;padding:8px 10px;background:#fff;transition:border-color .12s,box-shadow .12s,background .12s}.s-step.drag-over{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 2px #2563eb1f}.s-head{display:flex;align-items:center;gap:6px}.s-no{width:20px;height:20px;border-radius:50%;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;flex:none}.s-title-input{flex:1;min-width:0;border:1px solid #e5e7eb;border-radius:6px;padding:3px 8px;font:inherit;font-size:13px;font-weight:600;outline:none;background:#fff}.s-title-input:hover{border-color:#cbd5e1}.s-title-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.s-del{border:none;background:transparent;color:#94a3b8;cursor:pointer;padding:2px}.s-del:hover{color:#dc2626}.s-entries{display:flex;flex-direction:column;gap:3px;margin-top:6px}.s-entry{display:flex;align-items:center;gap:6px;padding:4px 6px;border:1px solid transparent;border-radius:6px;cursor:pointer}.s-entry:hover{background:#f8fafc}.s-entry.active{background:#eff6ff;border-color:#bfdbfe}.s-entry.drop-before{box-shadow:inset 0 2px #2563eb}.s-entry.drop-after{box-shadow:inset 0 -2px #2563eb}.s-entry-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:#374151}.s-entry-text p{display:inline;margin:0}.s-entry-text p+p:before{content:" "}.s-entry-text .katex{font-size:1em}.s-entry-text table,.s-entry-text img{display:none}.s-tag{font-size:10px;color:#475569;background:#f1f5f9;border-radius:4px;padding:0 5px;margin-right:4px;flex:none;line-height:1.7}.s-tag.t-stem{color:#1d4ed8;background:#e8efff}.s-tag.t-theorem{color:#7c3aed;background:#f3e8ff}.s-tag.t-animation{color:#047857;background:#d1fae5}.s-tag.t-conclusion{color:#b45309;background:#fef3c7}.s-tag.t-ref{color:#0369a1;background:#e0f2fe}.ref-src{margin-right:5px;padding:0 4px;border-radius:4px;background:#e0f2fe;color:#0369a1;font-size:.85em;white-space:nowrap}.s-x{border:none;background:none;color:#94a3b8;cursor:pointer;padding:0 2px;font-size:12px;line-height:1;flex:none}.s-x:hover{color:#dc2626}.s-drop-empty{border:1px dashed #cbd5e1;border-radius:8px;padding:10px;text-align:center;color:#9ca3af;font-size:12px;margin-top:6px}.solve-item[draggable=true]{cursor:grab}.solve-item[draggable=true]:active{cursor:grabbing}.mini{padding:3px 9px;font-size:12px}.solve-col-head .mini{margin-left:auto}.s-zone{border-top:1px dashed #e5e7eb;margin-top:6px;padding-top:4px}.s-step .s-zone:first-child{border-top:none;margin-top:4px}.s-zone-title{font-size:12px;color:#6b7280;text-align:left;margin-bottom:2px;font-weight:600}.s-zone-body{display:flex;flex-direction:column;gap:3px;min-height:22px}.s-zone.ref-target{border:1px dashed #93c5fd;border-radius:8px;background:#f8fbff;padding:4px 6px}.ref-hint{margin-left:6px;color:#2563eb;font-size:10px;font-weight:400}dialog.solution-preview-dialog{width:min(1280px,96vw);max-height:92vh}.sp-sheet{display:flex;flex-direction:column;gap:10px;padding:16px 18px 14px;max-height:92vh;min-height:0}.sp-head{padding-right:40px;flex-wrap:wrap}.sp-requirement{font-size:12px;color:#6b7280}.sp-body{display:grid;grid-template-columns:minmax(280px,4fr) minmax(360px,6fr);gap:12px;min-height:0;flex:1}.sp-left,.sp-right{display:flex;flex-direction:column;min-width:0;min-height:0;border:1px solid #eef2f7;border-radius:10px;background:#fff;overflow:hidden}.sp-left{background:#fcfdff}.sp-col-head{display:flex;align-items:center;gap:8px;padding:6px 10px;font-size:12px;color:#6b7280;border-bottom:1px solid #eef2f7;background:#f8fafc;flex:none}.sp-title{font-weight:600;color:#334155;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-paper{flex:1;min-height:0;overflow:auto;padding:14px 18px;font-family:Georgia,Times New Roman,Songti SC,SimSun,serif;font-size:15px;line-height:1.95;color:#1e293b}.sp-paper .preview-figure{margin-top:10px}.sp-item{border-radius:3px;transition:background .12s}.sp-item.marked{background-color:#fff1f2;background-image:linear-gradient(to right,#ef4444 0 100%),linear-gradient(to right,#ef4444 0 100%);background-size:100% 1px,100% 1px;background-position:0 calc(100% - .13em),0 calc(100% - .03em);background-repeat:no-repeat}.sp-paper .katex{font-size:1em}.sp-steps{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 10px;border-bottom:1px solid #eef2f7;background:#fcfdff;flex:none}.sp-step{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;color:#475569;font-size:12px;cursor:pointer}.sp-step:hover{border-color:#bfdbfe;color:#1d4ed8}.sp-step.active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8;font-weight:600}.sp-no{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#e2e8f0;color:#475569;font-size:11px}.sp-step.active .sp-no{background:#2563eb;color:#fff}.sp-stage{flex:1;min-height:180px;display:flex;align-items:center;justify-content:center;padding:10px;overflow:auto;background:#fff}.sp-anim{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.sp-anim svg{max-width:100%;max-height:100%;width:auto;height:auto;display:block}.sp-chain{flex:none;max-height:34%;overflow:auto;padding:8px 10px;border-top:1px solid #eef2f7;background:#fcfdff}.sp-node{display:flex;align-items:flex-start;gap:6px;padding:6px 8px;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:border-color .12s,background .12s}.sp-node:hover{border-color:#bfdbfe;background:#f8fbff}.sp-node.active{border-color:#2563eb;background:#eff6ff}.sp-node-text{flex:1;min-width:0;font-size:13px;line-height:1.7;color:#1e293b;word-break:break-word}.sp-node-text p{margin:0}.sp-chain-empty{color:#9ca3af;font-size:12px;padding:6px 2px}.sp-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#94a3b8;text-align:center;padding:20px}.sp-empty p{margin:0;font-size:13px}.sp-hint{font-size:12px;max-width:380px;line-height:1.7}.sp-foot{border-top:1px solid #eef2f7;padding-top:8px}@media(max-width:900px){.sp-body{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(140px,.8fr) minmax(0,1.2fr)}}
