.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:100001;overflow:hidden;padding:20px;animation:fadeIn .3s ease-out;transition:opacity .2s ease-out}.modal-overlay.closing{opacity:0}.modal-content{background:var(--card-background);color:var(--text-main);border-radius:1rem;max-width:1000px;max-height:95vh;min-height:600px;width:100%;position:relative;overflow:hidden;display:flex;flex-direction:column;animation:fadeInUp .5s cubic-bezier(.25,.46,.45,.94);margin:auto;transform-origin:center;transition:all .2s ease-out}.modal-content.closing{opacity:0;transform:translateY(20px) scale(.95)}.modal-close-btn{position:absolute;top:1rem;right:1rem;width:50px;height:50px;padding:0!important;z-index:100001;display:flex;align-items:center;justify-content:center;border-radius:50%!important;min-width:unset!important;min-height:unset!important;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);box-shadow:0 2px 8px rgba(0,0,0,.1)}.modal-close-btn:hover{background:rgba(255,255,255,1);transform:scale(1.1);box-shadow:0 4px 16px rgba(0,0,0,.15)}.modal-close-btn:active{transform:scale(.95)}.close-line{position:absolute;width:28px;height:4px;background:currentColor;border-radius:2px;transition:all .3s cubic-bezier(.25,.46,.45,.94);transform-origin:center;top:50%;left:50%;margin-left:-14px;margin-top:-2px}.close-line:first-child{transform:rotate(45deg)}.close-line:nth-child(2){transform:rotate(-45deg)}.modal-close-btn:hover .close-line{transform:rotate(45deg) scale(1.1)}.modal-close-btn:hover .close-line:nth-child(2){transform:rotate(-45deg) scale(1.1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-body{display:flex;flex-direction:column;flex:1;min-height:0;position:relative;padding:1rem;overflow-y:auto;overflow-x:hidden;align-items:stretch;justify-content:flex-start;text-align:left;width:100%}.modal-open-link-btn{display:inline-block;align-self:center;flex:1;min-width:120px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;border-bottom:1px solid #e5e7eb;margin-bottom:24px}.modal-header.center{justify-content:center}.modal-header.left{justify-content:flex-start}.modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-main);padding-bottom:16px}.modal-actions{display:flex;flex-direction:row;gap:1rem;width:100%;margin-top:1rem;justify-content:center;align-items:center;padding-left:50px;padding-right:50px}.modal-share-btn{padding:12px 24px;font-size:1rem;font-weight:600;background:#6b7280;color:white;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s ease;height:-moz-fit-content;height:fit-content;flex:1;min-width:120px}.modal-share-btn:hover{background:#4b5563}.modal-share-btn:disabled{background:#9ca3af;cursor:not-allowed}@media (max-width:768px){.modal-share-btn{padding:10px 20px;font-size:.9rem}.share-message{font-size:.8rem;padding:.4rem}}.share-message{position:absolute;top:1rem;left:50%;transform:translateX(-50%);text-align:center;padding:.75rem 1rem;border-radius:8px;font-size:.9rem;font-weight:500;background:#d1fae5;color:#065f46;border:1px solid #a7f3d0;box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:1000;max-width:300px;word-wrap:break-word;overflow-wrap:break-word;animation:slideIn .3s ease-out}.share-message.error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}@keyframes slideIn{0%{transform:translateX(-50%) translateY(-100%);opacity:0}to{transform:translateX(-50%) translateY(0);opacity:1}}.modal-divider{width:100%;height:1px;background-color:#e5e7eb;margin:1.5rem 0 0;border:none}.modal-image-container{position:relative;width:100%;min-height:300px;max-height:none;overflow:visible;background:transparent;flex-shrink:0;display:flex;justify-content:center;align-items:center}.modal-image{max-width:100%;max-height:80vh;-o-object-fit:contain;object-fit:contain;padding:8px;border-top-left-radius:1rem;border-top-right-radius:1rem}@media (max-width:768px){.modal-image-container{min-height:250px}}@media (max-width:480px){.modal-image-container{min-height:200px}}@media (max-width:1024px){.modal-content{max-width:95vw}.modal-open-link-btn{align-self:center;display:inline-block!important}}@media (max-width:768px){.modal-overlay{padding:10px}.modal-content{max-width:95vw;max-height:95vh;height:80%}.modal-body{padding:.8rem}.modal-header{padding:20px 20px 0}.modal-close-btn{width:44px;height:44px}.close-line{width:24px;height:3.5px;margin-left:-12px;margin-top:-1.75px}.modal-open-link-btn{padding:.8rem 1.5rem;font-size:1rem;align-self:center;display:inline-block!important}.modal-actions{flex-direction:column;gap:.8rem}.modal-open-link-btn,.modal-share-btn{flex:1;min-width:120px;width:100%}}@media (max-width:480px){.modal-content{min-height:400px}.modal-body{padding:.8rem}.modal-close-btn{width:38px;height:38px}.close-line{width:22px;height:3px;margin-left:-11px;margin-top:-1.5px}.modal-open-link-btn{align-self:center;display:inline-block!important}.modal-actions{flex-direction:column;gap:.8rem}.modal-open-link-btn,.modal-share-btn{flex:1;min-width:120px;width:100%}}