.ascii-hero,.ascii-body{--silver-accent:var(--silver-violet);--silver-accent-text:var(--silver-violet-text);--silver-accent-hover:var(--silver-violet-hover);--silver-input-border:#858ba3}.ascii-hero{background:var(--silver-canvas);padding:48px 0 32px}.ascii-hero h1{letter-spacing:-.048em;max-width:900px;margin:24px 0 16px;font-size:clamp(36px,4.65vw,66px);line-height:1.02}.ascii-hero h1 span{color:var(--silver-accent)}.ascii-hero p{color:var(--silver-muted);font-size:18px}.ascii-body{padding-top:24px;padding-bottom:48px}.ascii-workbench{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:24px;display:grid}.ascii-panel{border:1px solid var(--silver-line);background:#fff;border-radius:8px;min-width:0;padding:28px}.ascii-panel h2{margin:0 0 12px;font-size:27px}.ascii-panel p{color:var(--silver-muted)}.ascii-panel label{margin:16px 0 6px;font-weight:650;display:block}.ascii-panel input:not([type=checkbox],[type=file]),.ascii-panel select{border:1px solid var(--silver-input-border);width:100%;min-width:0;min-height:44px;color:var(--silver-ink);font:inherit;background:#fff;border-radius:5px;padding:10px}.ascii-panel .ascii-file{border:1px dashed var(--silver-input-border);background:var(--silver-panel);border-radius:5px;padding:16px}.ascii-file{text-align:center;margin:16px 0 6px;position:relative}.ascii-panel .ascii-choose{border:1px solid var(--silver-accent);background:var(--silver-accent);color:#fff;cursor:pointer;border-radius:100px;justify-content:center;align-items:center;min-height:44px;margin:0;padding:10px 24px;display:inline-flex}.ascii-panel[data-loaded] .ascii-choose{border-color:var(--silver-input-border);color:var(--silver-accent-text);background:#fff}#ascii-file:focus-visible+.ascii-choose{outline:3px solid var(--silver-accent-text);outline-offset:3px}#ascii-file:disabled+.ascii-choose{opacity:.65;cursor:not-allowed}#ascii-source{overflow-wrap:anywhere;margin:12px 0 4px}.ascii-panel .ascii-file .ascii-hint{margin:0}.ascii-result{scroll-margin-top:16px}.ascii-fields{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.ascii-check{align-items:end;display:flex}.ascii-check label{align-items:center;gap:8px;min-height:44px;display:flex}.ascii-check input{width:20px;height:20px;accent-color:var(--silver-accent)}.ascii-panel .ascii-hint{margin:8px 0 12px;font-size:13px}.ascii-actions{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.ascii-actions button,.ascii-actions a{border:1px solid var(--silver-input-border);min-height:44px;color:var(--silver-accent-text);font:inherit;cursor:pointer;background:#fff;border-radius:100px;justify-content:center;align-items:center;padding:10px 18px;font-weight:650;text-decoration:none;display:inline-flex}.ascii-actions .ascii-primary{background:var(--silver-accent);border-color:var(--silver-accent);color:#fff}.ascii-actions .ascii-primary:hover:not(:disabled){background:var(--silver-accent-hover)}.ascii-actions [hidden],.ascii-panel [hidden]{display:none}.ascii-panel :disabled{opacity:.65;cursor:not-allowed}.ascii-panel :focus-visible{outline:3px solid var(--silver-accent-text);outline-offset:3px}.ascii-panel [aria-invalid=true]{border-color:var(--silver-error)}#ascii-status{overflow-wrap:anywhere;min-height:48px;margin-bottom:0}#ascii-status[data-error=true]{color:var(--silver-error)}#ascii-output{resize:vertical;white-space:pre;color:#1b1d33;border:1px solid var(--silver-input-border);tab-size:1;background:#fff;border-radius:5px;width:100%;min-width:0;height:560px;padding:16px;font:12px/1.2 Courier New,monospace;display:block;overflow:auto}.ascii-info{margin-top:40px}.ascii-guide{grid-template-columns:1fr 1fr;gap:32px;margin-bottom:32px;display:grid}.ascii-info p,.ascii-info li{color:var(--silver-muted)}.ascii-info li{margin:8px 0}.ascii-info details{border:1px solid var(--silver-line);background:#fff;border-radius:5px;margin:12px 0;padding:0 16px}.ascii-info summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:650}@media (width<=850px){.ascii-workbench{grid-template-columns:1fr}.ascii-guide{grid-template-columns:1fr;gap:16px}}@media (width<=500px){.ascii-panel{padding:20px}.ascii-fields{grid-template-columns:1fr}#ascii-output{height:400px}}
