.field textarea{resize:vertical;height:auto;padding:12px}.drop{text-align:center;cursor:pointer;transition:border-color .3s var(--ease-out), background .3s var(--ease-out);border:1px dashed #17140f59;gap:4px;padding:22px;font-size:.9rem;display:grid}.drop:hover{border-color:var(--ink);background:#ffffff59}.drop small{color:var(--ink-soft)}.files{gap:6px;margin:8px 0 0;padding:0;font-size:.85rem;list-style:none;display:grid}.files li{justify-content:space-between;gap:12px;display:flex}.files .is-error{color:#a3161f}.patch__poster{pointer-events:none;filter:saturate(.9);width:min(46%,380px);height:auto;transition:opacity .9s var(--ease-out), transform 1.2s var(--ease-out);margin:auto;position:absolute;inset:0}.patch__poster.is-hidden{opacity:0;transform:scale(.96)}.patch__source .presets{flex-wrap:wrap;gap:8px;display:flex}.patch__source .preset{border:1px solid var(--line);font:inherit;text-align:left;justify-items:start;gap:2px;padding:9px 14px;font-size:.9rem;transition:border-color .2s,box-shadow .2s;display:grid}.patch__source .preset:hover{border-color:var(--ink-soft)}.patch__source .preset.is-active{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.patch__qty{letter-spacing:.04em;color:var(--ink-soft);font-size:.72rem}
