:root{--lab-accent:#059669;--lab-accent-bg:#ECFDF5;--lab-accent-border:#A7F3D0;--lab-accent-dark-bg:#0A1A0F;--lab-accent-dark-border:#065F46}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,SF Pro Display,Inter,PingFang SC,sans-serif;background:#f0f1f5;color:#1d1d1f}.topbar{background:#ffffffeb;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,0,0,.06);padding:0 24px;height:48px;display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:20}.topbar .back{width:28px;height:28px;border-radius:6px;border:none;background:#0000000a;cursor:pointer;display:flex;align-items:center;justify-content:center}.topbar .back svg{width:14px;height:14px;color:#374151}.topbar h1{font-size:15px;font-weight:700}.breadcrumb{font-size:13px;color:#6b7280;display:flex;align-items:center;gap:6px}.breadcrumb a{color:var(--lab-accent);text-decoration:none;font-weight:500}.purpose-bar{background:#fff9;border-bottom:1px solid rgba(0,0,0,.04);padding:6px 24px;display:flex;align-items:center;gap:10px}.purpose-tag{display:inline-flex;align-items:center;gap:5px;background:var(--lab-accent-bg);color:var(--lab-accent);border:1px solid var(--lab-accent-border);padding:3px 12px;border-radius:100px;font-size:12px;font-weight:600}.purpose-tag svg{width:12px;height:12px}.purpose-tag.highlight{background:#fef3c7;color:#b45309;border-color:#fde68a}.lab-container{display:flex;height:calc(100vh - 80px);overflow:hidden}.canvas-area{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:16px;min-width:0}.canvas-wrapper{background:#fff;border-radius:14px;box-shadow:0 1px 3px #0000000f,0 6px 20px #0000000a;overflow:hidden;width:100%;position:relative;-webkit-user-select:none;user-select:none}.canvas-wrapper svg{width:100%;height:100%}.status-badge{position:absolute;top:16px;left:50%;transform:translate(-50%);padding:6px 20px;border-radius:100px;font-size:12px;font-weight:700;pointer-events:none;z-index:10;transition:all .3s}.status-badge.idle{background:#6b72801a;color:#6b7280}.status-badge.progress{background:#eab30826;color:#b45309}.status-badge.success{background:#05966926;color:var(--lab-accent)}.panel{width:280px;background:#ffffffe0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-left:1px solid rgba(0,0,0,.06);padding:14px;display:flex;flex-direction:column;gap:12px;flex-shrink:0;overflow-y:auto}.panel-section{background:#fff;border-radius:10px;padding:14px;box-shadow:0 1px 2px #0000000a}.panel-section h3{font-size:11px;font-weight:700;color:#8e8e93;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;display:flex;align-items:center;gap:5px}.panel-section h3 svg{width:12px;height:12px;color:#8e8e93}.data-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid rgba(0,0,0,.04);font-size:12px}.data-row:last-child{border-bottom:none}.data-label{color:#6b7280}.data-value{font-family:JetBrains Mono,monospace;font-weight:600;color:#1d1d1f;font-size:12px}.data-table{width:100%;border-collapse:collapse;font-size:11px;margin-top:8px}.data-table th{background:#f9fafb;padding:4px 6px;text-align:center;font-weight:600;color:#6b7280;border:1px solid #E5E7EB;font-size:10px}.data-table td{padding:4px 6px;text-align:center;border:1px solid #E5E7EB;font-family:JetBrains Mono,monospace;font-size:11px}.data-table td.empty{color:#d1d5db;font-family:inherit;font-style:italic;font-size:10px}.chart-area{background:#f9fafb;border-radius:8px;border:1px solid #F3F4F6;margin-top:8px;position:relative;height:120px;cursor:crosshair}.chart-area svg{width:100%;height:100%}.reset-btn{width:100%;padding:9px;border-radius:8px;border:none;background:#f3f4f6;color:#374151;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:5px;margin-top:auto}.reset-btn svg{width:13px;height:13px}.reset-btn:hover{background:#e5e7eb}.knowledge-section{width:100%;padding:24px 16px 40px}.knowledge-card{background:#fff;border-radius:14px;box-shadow:0 1px 3px #0000000f,0 4px 12px #00000008;padding:0;margin-bottom:20px;overflow:hidden;border:1px solid rgba(0,0,0,.04)}.knowledge-card .card-header{padding:16px 24px 12px;border-bottom:1px solid rgba(0,0,0,.04);display:flex;align-items:center;gap:10px}.knowledge-card .card-header .accent{width:4px;height:24px;border-radius:2px;background:var(--lab-accent);flex-shrink:0}.knowledge-card .card-header h2{font-size:16px;font-weight:700;color:#1d1d1f;margin:0}.knowledge-card .card-body{padding:16px 24px 20px}.knowledge-card p{font-size:13px;line-height:1.8;color:#4b5563;margin-bottom:8px}.knowledge-card .formula-lg{background:linear-gradient(135deg,var(--lab-accent-bg),#F0FDF4);border-radius:10px;padding:20px;text-align:center;margin:16px 0;border:1px solid var(--lab-accent-border)}.knowledge-card ul{font-size:13px;line-height:2;color:#4b5563;padding-left:20px}.knowledge-card.example{background:linear-gradient(180deg,#fafffe,#f0fdf4)}.knowledge-card.example .card-header .accent{background:#2563eb}.knowledge-card.example .solve{background:#fff;border-radius:8px;padding:14px 16px;margin-top:10px;border:1px solid #E5E7EB;font-family:JetBrains Mono,monospace;font-size:12px;line-height:2;color:#374151}html[data-theme=dark] body{background:#0a0a0f;color:#e5e7eb}html[data-theme=dark] .topbar{background:#0f0f14eb;border-bottom-color:#ffffff0f}html[data-theme=dark] .topbar .back{background:#ffffff0f}html[data-theme=dark] .topbar .back svg{color:#9ca3af}html[data-theme=dark] .topbar h1{color:#e5e7eb}html[data-theme=dark] .purpose-bar{background:#0f0f1499;border-bottom-color:#ffffff0a}html[data-theme=dark] .canvas-wrapper{background:#1a1a2e;box-shadow:0 1px 3px #0000004d}html[data-theme=dark] .panel{background:#14141ee0;border-left-color:#ffffff0f}html[data-theme=dark] .panel-section{background:#1e1e2e;box-shadow:0 1px 2px #0003}html[data-theme=dark] .panel-section h3{color:#6b7280}html[data-theme=dark] .data-label{color:#9ca3af}html[data-theme=dark] .data-value{color:#e5e7eb}html[data-theme=dark] .data-table th{background:#1a1a2e;color:#9ca3af;border-color:#374151}html[data-theme=dark] .data-table td{border-color:#374151;color:#e5e7eb}html[data-theme=dark] .chart-area{background:#1a1a2e;border-color:#374151}html[data-theme=dark] .reset-btn{background:#1e1e2e;color:#9ca3af}html[data-theme=dark] .reset-btn:hover{background:#2a2a3e}html[data-theme=dark] .knowledge-card{background:#1e1e2e;border-color:#ffffff0f}html[data-theme=dark] .knowledge-card .card-header{border-bottom-color:#ffffff0a}html[data-theme=dark] .knowledge-card .card-header h2{color:#e5e7eb}html[data-theme=dark] .knowledge-card p,html[data-theme=dark] .knowledge-card ul{color:#9ca3af}html[data-theme=dark] .knowledge-card .formula-lg{background:linear-gradient(135deg,var(--lab-accent-dark-bg),#0F1F14);border-color:var(--lab-accent-dark-border)}html[data-theme=dark] .knowledge-card.example{background:linear-gradient(180deg,#0F0F1A,var(--lab-accent-dark-bg))}html[data-theme=dark] .knowledge-card.example .solve{background:#0a0a0f;border-color:#374151;color:#d1d5db}.guide-num{width:16px;height:16px;border-radius:50%;background:var(--lab-accent-bg);color:var(--lab-accent);font-size:9px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.guide-step{display:flex;gap:6px;padding:3px 0;font-size:11px;color:#4b5563}.guide-step strong{color:var(--lab-accent)}.reading-card{flex:1;border-radius:8px;padding:8px;text-align:center;background:#f9fafb;border:1px solid #E5E7EB}.reading-card .label{font-size:9px;color:#6b7280}.reading-card .val{font-size:18px;font-weight:800;font-family:JetBrains Mono,monospace}.reading-card .unit{font-size:10px}.ctrl-btn{padding:5px 14px;border-radius:6px;border:none;background:var(--lab-accent);color:#fff;font-size:11px;font-weight:600;cursor:pointer}.ctrl-btn:hover{opacity:.9}.ctrl-btn:disabled{background:#d1d5db;cursor:not-allowed}.ctrl-btn.secondary{background:#6b7280}.toggle-row{display:flex;align-items:center;gap:6px;font-size:11px;padding:2px 0}.toggle-row input{accent-color:var(--lab-accent)}html[data-theme=dark] .reading-card{background:#1f2937;border-color:#374151}html[data-theme=dark] .reading-card .label,html[data-theme=dark] .guide-step{color:#9ca3af}html[data-theme=dark] .toggle-row{color:#d1d5db}
