.plan-thinking{position:relative;overflow:hidden}.plan-thinking:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 14%,transparent),transparent);animation:plan-shimmer 1.4s ease-in-out infinite}@keyframes plan-shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.plan-editor{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-md);animation:fade-slide-in .3s ease-out;transition:opacity .2s}.plan-editor.is-replanning{opacity:.6}.plan-editor-head{display:flex;flex-direction:column;gap:4px}.plan-editor-kicker{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-weight:600}.plan-editor-title{font:inherit;font-size:18px;font-weight:650;color:var(--text);border:1px solid transparent;background:transparent;border-radius:var(--r-sm);padding:2px 6px;margin-left:-6px}.plan-editor-title:focus,.plan-editor-title:hover{border-color:var(--border);background:var(--bg-subtle);outline:none}.plan-editor-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.plan-section{display:flex;flex-direction:column;gap:8px}.plan-section-title{font-size:12.5px;font-weight:600;color:var(--text-2)}.plan-section-title .muted{font-weight:400}.level-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px}.level-card{display:flex;flex-direction:column;gap:3px;text-align:left;padding:9px 10px;cursor:pointer;min-width:0;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);color:var(--text);font:inherit;transition:border-color .15s,box-shadow .15s,transform .15s}.level-card b{font-size:12.5px;overflow-wrap:anywhere}.level-card span{font-size:11.5px;color:var(--muted);line-height:1.35}.level-card:hover:not(:disabled){border-color:var(--border-strong);transform:translateY(-1px)}.level-card.active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.level-card:disabled{opacity:.6;cursor:default}.compare-bar select,.plan-correct input,.plan-goals,.plan-param input,.plan-step-title,.plan-steps textarea,.sim-settings input{font:inherit;font-size:13px;color:var(--text);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--r-sm);padding:6px 9px;min-width:0}.plan-goals{resize:vertical;line-height:1.5}.plan-params{display:flex;flex-direction:column;gap:6px}.plan-param{display:grid;grid-template-columns:minmax(0,2.4fr) repeat(3,minmax(0,.9fr)) minmax(0,.8fr) 30px;grid-gap:6px;gap:6px;align-items:center}.plan-param-head span{font-size:11px;color:var(--muted);padding-left:4px}.plan-chips{display:flex;flex-wrap:wrap;gap:6px}.plan-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;font-size:12px;background:var(--surface-2);border-radius:var(--r-pill)}.plan-chip em{font-style:normal;color:var(--muted);font-size:11px}.plan-chip button{border:none;background:none;color:var(--muted);cursor:pointer;display:grid;place-items:center;padding:2px;border-radius:50%}.plan-chip button:hover{background:var(--surface-3);color:var(--text)}.plan-steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}.plan-steps li{display:grid;grid-template-columns:minmax(0,1fr) 30px;grid-gap:6px;gap:6px}.plan-steps li textarea{grid-column:1;resize:vertical}.plan-steps li .icon-btn{grid-column:2;grid-row:1}.plan-step-title{font-weight:600}.plan-invariants{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--text-2)}.plan-invariants li{display:flex;gap:6px;align-items:baseline}.plan-invariants svg{color:var(--success);flex:none}.plan-wow{font-size:12.5px;padding:10px 12px;border-radius:var(--r);background:var(--accent-soft);color:var(--text-2)}.plan-physics-toggle{align-self:flex-start;border:none;background:none;color:var(--accent);font:inherit;font-size:12.5px;cursor:pointer;padding:0}.plan-physics{margin:0;font-size:12.5px;line-height:1.55;color:var(--text-2)}.plan-correct{display:flex;gap:6px;align-items:center}.plan-correct input{flex:1 1}.plan-actions{display:flex;gap:8px;align-items:center}@media (max-width:640px){.level-cards{grid-template-columns:1fr}.plan-param{grid-template-columns:minmax(0,1fr) repeat(3,minmax(0,.8fr)) 30px}.plan-param input:nth-child(5),.plan-param-head span:nth-child(5){display:none}}.build-card{display:flex;flex-direction:column;gap:6px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);animation:fade-slide-in .28s ease-out}.build-row{display:flex;align-items:center;gap:8px;font-size:12.5px}.build-dot{width:20px;height:20px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:700}.build-row.layer-ok .build-dot,.build-row.ok .build-dot{background:var(--success-soft);color:var(--success);animation:pop-in .28s ease-out}.build-row.warn .build-dot{background:var(--warn-soft);color:var(--warn)}.build-row.layer-start .build-dot{background:var(--accent-soft);animation:build-pulse 1.2s ease-in-out infinite}.build-row.layer-skipped{color:var(--muted)}@keyframes build-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 40%,transparent)}50%{box-shadow:0 0 0 6px transparent}}.build-title{border:none;background:none;font:inherit;color:var(--text);padding:0;text-align:left}button.build-title{cursor:pointer}button.build-title:hover{color:var(--accent)}.build-checks{margin:0 0 0 28px;padding:0;list-style:none;display:flex;flex-direction:column;gap:3px;font-size:11.5px}.build-checks li{display:flex;gap:6px;align-items:baseline}.build-checks li.ok{color:var(--success)}.build-checks li.fail{color:var(--warn)}.build-checks li.soft{color:var(--muted)}.build-checks li span{color:var(--text-2)}.param-chip.view{background:var(--accent-soft);color:var(--accent)}.param-chip.step{background:var(--success-soft);color:var(--success)}.check-row{display:flex;gap:8px;align-items:center;font-size:13px;cursor:pointer}.segmented-wrap{flex-wrap:wrap}.btn.on{background:var(--accent-soft)}.pick-hint{position:absolute;left:50%;top:14px;transform:translateX(-50%);z-index:5;padding:8px 14px;border-radius:var(--r-pill);background:var(--text);color:var(--bg);font-size:12.5px;box-shadow:var(--shadow-lg);animation:fade-slide-in .2s ease-out;pointer-events:none;max-width:calc(100% - 32px);text-align:center}.preview-pane{position:relative}.pick-note button{border:none;background:none;color:inherit;cursor:pointer;display:grid;place-items:center;padding:0 0 0 2px}.sim-settings{max-width:640px}.sim-settings-note{margin:-8px 0 0;font-size:12.5px}.sim-settings-params{display:flex;flex-direction:column;gap:10px}.sim-settings-param{position:relative;display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid var(--border);border-radius:var(--r)}.sim-settings-row{display:flex;gap:6px;align-items:flex-end;flex-wrap:wrap}.sim-settings-row .grow{flex:1 1 180px}.sim-settings-row .unit{width:80px}.sim-settings .mini{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--muted);width:84px}.sim-settings .mini input{width:100%}.sim-settings-name{position:absolute;right:10px;bottom:8px;font-size:10.5px;color:var(--muted)}.compare-modal{max-width:min(1400px,96vw);height:min(640px,90vh)}.compare-grid{flex:1 1;display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;min-height:0}.compare-col{display:flex;flex-direction:column;gap:8px;min-height:360px;border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.compare-stage{position:relative;flex:1 1;min-height:0;overflow:hidden;background:#101318}.compare-stage iframe{position:absolute;top:0;left:0;border:0;transform-origin:0 0}.compare-stage .preview-empty{position:absolute;inset:0}.compare-bar{display:flex;gap:8px;align-items:center;padding:8px 10px 0;font-size:13px}.compare-bar select{flex:1 1}@media (max-width:760px){.compare-grid{grid-template-columns:1fr}}.score-bar-fill.dim-depth{opacity:.36}.plan-invariants .markup,.plan-physics .markup,.plan-wow .markup{display:inline}.plan-invariants .markup p,.plan-wow .markup p{margin:0;display:inline}.plan-wow b{display:block;margin-bottom:2px}.plan-physics .markup p{margin:0 0 6px}.plan-editor .katex{font-size:1.02em}.quality-panel{max-width:560px}.quality-running{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--muted);padding:12px 0}.quality-spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--surface-3);border-top-color:var(--accent);animation:q-spin .8s linear infinite}@keyframes q-spin{to{transform:rotate(1turn)}}.quality-score{font-size:14px;font-weight:600;padding:10px 12px;border-radius:var(--r)}.quality-score.ok{background:var(--success-soft);color:var(--success)}.quality-score.warn{background:var(--warn-soft);color:var(--warn)}.quality-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.quality-list li{display:flex;gap:10px;align-items:flex-start;animation:fade-slide-in .25s ease-out both}.quality-list li div{display:flex;flex-direction:column;gap:2px;font-size:13px}.quality-list li span:not(.q-dot){color:var(--muted);font-size:12px;line-height:1.4}.q-dot{width:20px;height:20px;flex:none;display:grid;place-items:center;border-radius:50%;font-size:12px;font-weight:700;background:var(--surface-2);color:var(--muted)}.q-pass .q-dot{background:var(--success-soft);color:var(--success)}.q-fail .q-dot{background:var(--warn-soft);color:var(--warn)}.q-skip{opacity:.7}