.source-editor{width:min(940px,calc(100vw - 28px));max-width:940px}
.source-mode{max-width:300px;margin:14px 0 20px}
.source-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
.source-inputs .form-label{margin:0 0 15px;font-size:11px}
.source-inputs textarea{width:100%;min-height:160px;resize:vertical;font:11px/1.7 var(--mono)}
.source-inputs input[id^=source-formula-]{font:11px var(--mono)}
.source-inputs input[type=file]{height:auto;font:10px inherit;max-width:100%;padding:8px}
.source-preview{display:flex;flex-direction:column;gap:12px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:#171d14}
.source-preview canvas{display:block;width:100%;height:270px;border-radius:4px;touch-action:none}
.source-preview p{font:10px/1.7 var(--mono);color:var(--muted);min-height:34px}
.source-reference{font-size:10px;color:var(--muted);line-height:1.8;margin-top:18px}
.source-reference summary{cursor:pointer;color:var(--accent)}
.source-reference p{margin-top:10px}
.source-editor .form-error{margin-top:16px}
@media(max-width:650px){.source-layout{grid-template-columns:1fr;gap:20px}.source-preview canvas{height:190px}.source-editor{padding:22px}.source-mode{max-width:none}.source-inputs .form-columns{gap:12px}}
