:root{--bg:#2b1340;--text:#fff4e8;--muted:#cbb7d9;--accent:#ffc24b;--accent-text:#2b1340;--surface:#3d1f57;--border:#5a3577;--coral:#ff7a59;--pink:#ff4f8b}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.button{border:1px solid var(--border);min-height:44px;color:var(--text);font:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:0 18px;font-weight:700;display:inline-flex}.button.primary{border-color:var(--accent);background:var(--accent);color:var(--accent-text)}.button.big{min-height:56px;padding:0 32px;font-size:1.125rem;font-weight:800}.sources{flex-direction:column;gap:10px;width:min(100%,340px);display:flex}.sources .button{width:100%}.dropzone{border:2px dashed var(--border);background:0 0;border-radius:16px;flex-direction:column;align-items:center;gap:8px;width:min(100%,520px);padding:36px 24px;transition:border-color .15s,background .15s;display:flex}.dropzone.dragging{border-color:var(--accent);background:var(--surface)}.dropzone-title{font-size:1.125rem;font-weight:700}.button.disabled{opacity:.55;cursor:default}.button:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}.hint{color:var(--muted);text-align:center;font-size:.875rem}