.modal-backdrop.svelte-ta60gp{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:20px}.modal-backdrop.level-nested.svelte-ta60gp{z-index:var(--z-modal-nested)}.modal-backdrop.level-system.svelte-ta60gp{z-index:var(--z-system-modal)}.modal-panel.svelte-ta60gp{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column;width:100%;max-width:var(--panel-width);max-height:calc(100svh - 40px);outline:none}.modal-header.svelte-ta60gp{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:32px 32px 0}.modal-header.svelte-ta60gp h2{font-size:22px;font-weight:600;color:var(--text-primary);margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis}.modal-close.svelte-ta60gp{background:none;border:none;color:var(--text-secondary);font-size:24px;line-height:1;cursor:pointer;min-width:44px;min-height:44px;flex-shrink:0;border-radius:8px;padding:0}.modal-close.svelte-ta60gp:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body.svelte-ta60gp{padding:16px 32px 32px;overflow-y:auto;flex:1;min-width:0}.modal-footer.svelte-ta60gp{padding:0 32px 32px;display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.drag-handle.svelte-ta60gp{display:none}@media(max-width:640px){.modal-backdrop.svelte-ta60gp{padding:0;align-items:flex-end}.modal-panel.svelte-ta60gp{max-width:100%;border-radius:20px 20px 0 0;border-left:none;border-right:none;border-bottom:none;max-height:85vh;transform:translateY(var(--drag-offset));animation:svelte-ta60gp-slide-up .25s ease-out}.modal-panel.dragging.svelte-ta60gp{animation:none;transition:none}.drag-handle.svelte-ta60gp{display:block;width:36px;height:4px;margin:8px auto 0;border-radius:2px;background:var(--border);flex-shrink:0}.modal-header.svelte-ta60gp{padding:12px 20px 0;touch-action:none}.modal-header.svelte-ta60gp h2{font-size:18px}.modal-body.svelte-ta60gp{padding:12px 20px 20px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}.modal-footer.svelte-ta60gp{padding:0 20px 20px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));justify-content:stretch}.modal-footer.svelte-ta60gp button{flex:1;min-height:48px}}@keyframes svelte-ta60gp-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.modal-panel.svelte-ta60gp{animation:none!important;transition:none!important}}
