.ut{max-width:1100px;margin-inline:auto}
.ut-drop{display:grid;gap:8px;justify-items:center;text-align:center;padding:38px 20px;border:2px dashed rgba(91,77,255,.4);border-radius:22px;background:var(--glass-strong,#fff);cursor:pointer;transition:.15s}
.ut-drop:hover,.ut-drop.on{border-color:var(--brand);background:#fff}
.ut-drop h2{font-size:22px;margin:0}.ut-drop p{margin:0;color:var(--muted)}
.ut-btn{font:600 14.5px var(--body);border-radius:12px;padding:10px 16px;cursor:pointer;border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none;display:inline-block}
.ut-btn:hover{border-color:var(--brand);color:var(--brand)}
.ut-btn.pri{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;border:0;box-shadow:0 10px 24px -12px rgba(91,77,255,.8)}
.ut-btn.pri:hover{color:#fff;filter:brightness(1.06)}
.ut-btn[disabled]{opacity:.5;pointer-events:none}
.ut-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px;align-items:start}
@media(max-width:860px){.ut-grid{grid-template-columns:1fr}}
.ut-card{background:var(--glass-strong,#fff);border:1px solid var(--edge,var(--line));border-radius:18px;padding:18px;min-width:0}
.ut-card h2{font-size:18px;margin:0 0 12px}
.ut-f{display:grid;gap:6px;margin:0 0 14px}
.ut-f>span{font:600 13.5px var(--body);color:var(--ink-2)}
.ut-f input[type=text],.ut-f input[type=number],.ut-f input[type=password],.ut-f select,.ut-f textarea{font:15px var(--body);padding:9px 11px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--ink);width:100%}
.ut-f input[type=range]{width:100%}
.ut-f textarea{min-height:110px;resize:vertical;font-family:Consolas,Menlo,monospace;font-size:14px}
.ut-f input[type=color]{width:56px;height:38px;padding:2px;border:1px solid var(--line);border-radius:10px;background:#fff}
.ut-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ut-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ut-pane textarea{width:100%;min-height:360px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font:14px/1.5 Consolas,Menlo,monospace;background:#fff;color:var(--ink);resize:vertical}
.ut-seg{display:inline-flex;background:rgba(21,20,43,.06);border-radius:12px;padding:3px;flex-wrap:wrap}
.ut-seg button{border:0;background:transparent;padding:7px 14px;border-radius:9px;font:600 14px var(--body);color:var(--ink-2);cursor:pointer}
.ut-seg button[aria-pressed=true]{background:#fff;color:var(--brand);box-shadow:0 1px 4px rgba(20,20,60,.15)}
.ut-stage{background:repeating-conic-gradient(#eceaf7 0 25%,#fff 0 50%) 0 0/18px 18px;border-radius:14px;display:grid;place-items:center;padding:10px;overflow:auto;max-height:78vh}
.ut-stage canvas,.ut-stage img{max-width:100%;height:auto;display:block}
.ut-status{margin:10px 0;color:var(--ink-2);min-height:1.4em}
.ut-status.err{color:#c0183f}
.ut-note{font-size:13.5px;color:var(--muted)}
.ut-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.ut-th{background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px;display:grid;gap:6px;font-size:12.5px;color:var(--muted)}
.ut-th .im{background:repeating-conic-gradient(#eceaf7 0 25%,#fff 0 50%) 0 0/14px 14px;border-radius:8px;height:110px;display:grid;place-items:center;overflow:hidden}
.ut-th img{max-width:100%;max-height:110px}
.ut-th a{color:var(--brand);font-weight:600;text-decoration:none}
.ut-out{width:100%;min-height:120px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font:13px/1.45 Consolas,Menlo,monospace;background:#fff;color:var(--ink);resize:vertical}
.ut-bar{height:8px;border-radius:99px;background:rgba(21,20,43,.08);overflow:hidden;margin:8px 0}.ut-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--brand),var(--brand-2));transition:width .2s}
