.modal-overlay{background-color:var(--gr-scrim);z-index:1000;justify-content:center;align-items:center;padding:1rem;animation:.2s ease-out modalFadeIn;display:flex;position:fixed;inset:0}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background-color:var(--gr-bg-elev);border:1px solid var(--gr-line);border-radius:var(--radius-md,12px);width:100%;max-height:90vh;font-family:var(--gr-font-sans);box-shadow:0 20px 60px -20px color-mix(in oklab, var(--gr-ink), transparent 70%);flex-direction:column;animation:.3s ease-out modalSlideUp;display:flex}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-sm{max-width:400px}.modal-md{max-width:600px}.modal-lg{max-width:800px}.modal-xl{max-width:1000px}.modal-header{border-bottom:1px solid var(--gr-line);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.modal-title{font-family:var(--gr-font-serif);font-size:var(--text-xl,1.25rem);letter-spacing:-.01em;color:var(--gr-ink-strong);margin:0;font-weight:400;line-height:1.25}.modal-close-button{color:var(--gr-ink-mute);cursor:pointer;border-radius:var(--radius-sm,6px);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:.5rem;transition:background-color .15s,color .15s;display:flex}.modal-close-button:hover{background-color:var(--gr-bg-sunken);color:var(--gr-ink)}.modal-close-button:focus-visible{outline:2px solid var(--gr-focus);outline-offset:2px}.modal-body{color:var(--gr-ink);flex:1;padding:1.5rem;overflow-y:auto}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:var(--gr-bg-elev)}.modal-body::-webkit-scrollbar-thumb{background:var(--gr-line);border-radius:var(--radius-sm,4px)}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--gr-ink-mute)}.modal-footer{border-top:1px solid var(--gr-line);flex-shrink:0;justify-content:flex-end;gap:.75rem;padding:1.5rem;display:flex}@media (max-width:768px){.modal-overlay{padding:.5rem}.modal-content{max-height:95vh}.modal-header,.modal-body,.modal-footer{padding:1rem}.modal-title{font-size:var(--text-lg,1.125rem)}.modal-footer{flex-direction:column-reverse}.modal-footer>*{width:100%}}@media (prefers-reduced-motion:reduce){.modal-overlay,.modal-content{animation:none}}