.modal{color:var(--color-text);width:calc(100% - var(--space-8));max-width:calc(var(--grid-min-card) * 2);max-height:calc(100dvh - var(--space-8));background:0 0;border:none;margin:auto;padding:0;overflow:visible}.modal::backdrop{background:var(--color-scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-body{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-8);max-height:calc(100dvh - var(--space-8));box-shadow:var(--shadow-lg);animation:.2s ease-out modal-fade-in;position:relative;overflow-y:auto}@keyframes modal-fade-in{0%{opacity:0;transform:translateY(var(--space-2))}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.modal-body{animation:none}}.modal-close{top:var(--space-3);right:var(--space-3);font-size:var(--font-size-2xl);color:var(--color-text-muted);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);min-width:var(--tap-target);min-height:var(--tap-target);background:0 0;border:none;line-height:1;transition:color .15s,background .15s;position:absolute}.modal-close:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-alt)}.modal-close:disabled{opacity:.4;cursor:not-allowed}.modal-title{font-family:var(--font-heading);font-size:var(--font-size-xl);margin:0 0 var(--space-md);padding-right:var(--space-10);line-height:1.25}html.modal-open{overflow:hidden}.visually-hidden{width:1px;height:1px;margin:calc(-1 * var(--space-px));clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;padding:0;position:absolute;overflow:hidden}@media (width<=480px){.modal-body{padding:var(--space-6) var(--space-5)}}
