body.modal-layer-open,html.modal-layer-open{overflow:hidden}.fum-backdrop{position:fixed;inset:0;z-index:2147483647;background:rgba(0,0,0,.45);display:grid;place-items:center;padding:24px}.fum-modal{width:min(860px,96vw);max-height:min(86vh,900px);background:#fff;border-radius:16px;box-shadow:0 18px 60px rgba(0,0,0,.22);display:grid;grid-template-rows:auto 1fr auto;gap:14px;padding:18px}.fum-header{display:flex;align-items:center;justify-content:space-between}.fum-title{font-size:1.12rem;font-weight:800;color:#0b1021;letter-spacing:-.01em}.fum-close{border:none;background:transparent;font-size:1.6rem;line-height:1;color:#667;cursor:pointer;padding:4px 8px;border-radius:8px}.fum-close:hover{background:#f2f4ff;color:#1f3fff}.fum-body{overflow:auto;padding:2px 2px 8px}.fum-notice{margin-top:12px;padding:12px 14px;border:1px solid #e6ecff;background:#fafbff;border-radius:12px}.fum-notice-title{display:flex;align-items:center;gap:6px;font-weight:800;font-size:.98rem;color:#1f3fff;letter-spacing:-.01em;margin-bottom:6px}.fum-notice ul{margin:0;padding-left:1.15em;color:#233655}.fum-notice li{margin:4px 0;line-height:1.55;font-size:.95rem}.fum-notice li strong{color:#0b1021}.fum-notice code{font-family:ui-monospace,Menlo,Consolas,SFMono-Regular,monospace;font-size:.9em;background:#f2f6ff;padding:0 .25em;border-radius:4px}.fum-dropzone{position:relative;border:2px dashed #c9d6ff;background:#fafbff;border-radius:14px;padding:28px 18px;display:grid;place-items:center;cursor:pointer;transition:border-color .18s,background .18s,box-shadow .18s}.fum-dropzone.is-over{border-color:#2972ff;background:#f4f7ff;box-shadow:inset 0 0 0 4px #cfe0ff77}.fum-file-input{position:absolute;inset:0;opacity:0;cursor:pointer}.fum-drop-text{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;color:#233655}.fum-drop-text strong{font-weight:800;font-size:1.02rem;color:#1d3a8a}.fum-drop-text span{font-size:.98rem;color:#445}.fum-drop-text em{font-size:.86rem;color:#667}.fum-filelist{margin-top:14px;border-top:1px solid #eef2ff;padding-top:10px}.fum-fileitem{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border:1px solid #eef2ff;border-radius:10px;background:#fff;margin-bottom:8px}.fum-filename{font-weight:600;color:#233;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:70%}.fum-filesize{color:#667;font-size:.92rem}.fum-meta{display:flex;align-items:center;gap:6px}.fum-remove{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 10px;min-width:48px;border-radius:10px;border:1px solid #e5e7eb;background:#fff;color:#ff8c8c;font-size:12px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .05s}.fum-remove:hover{background:#f3f4f6;border-color:#d1d5db;color:#ff1616}.fum-remove:active{transform:scale(.98)}.fum-remove:disabled{opacity:.5;cursor:not-allowed}.fum-remove:focus-visible{outline:2px solid #dbeafe;outline-offset:2px}.fum-progress{position:relative;height:12px;border-radius:10px;background:#eef2ff;margin-top:12px;overflow:hidden}.fum-bar{position:absolute;left:0;top:0;bottom:0;background:#2972ff;width:0;transition:width .2s ease}.fum-perc{display:block;text-align:right;font-size:.88rem;color:#2972ff;margin-top:6px}.fum-error{margin-top:10px;color:#d12;background:#fff2f2;border:1px solid #ffdede;padding:10px 12px;border-radius:10px;font-weight:600}.fum-footer{display:flex;justify-content:flex-end;gap:8px}.fum-btn{min-width:120px;height:42px;border-radius:10px;font-weight:700;cursor:pointer;border:1.5px solid transparent;background:#fff;color:#1b2a4a}.fum-btn.ghost{border-color:#c7d2fe}.fum-btn.primary{background:#2972ff;color:#fff;border-color:#2972ff}.fum-btn:disabled{opacity:.6;cursor:not-allowed}