﻿ @keyframes slideup{from { transform: translateY(100%); opacity: 0; } to { transform: translateY(0); opacity: 1; }}@keyframes slideDown{from{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}.launch-modal-overlay{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.6);display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.launch-modal-overlay.slide-in .launch-modal-panel{animation:slideUp .35s cubic-bezier(.25,.46,.45,.94)forwards}.launch-modal-overlay.slide-out .launch-modal-panel{animation:slideDown .25s ease-in forwards}.launch-modal-panel{width:100%;max-width:480px;max-height:92vh;background:#1a1a2e;border-radius:20px 20px 0 0;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 -8px 40px rgba(0,0,0,.6);transform:translateY(0)}.launch-modal-panel::before{content:"";display:block;width:40px;height:4px;background:rgba(255,255,255,.2);border-radius:2px;margin:10px auto 0;flex-shrink:0}.launch-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 16px 12px;background:rgba(255,255,255,5%);border-bottom:1px solid rgba(255,255,255,8%);flex-shrink:0}.modal-header-left{display:flex;align-items:center;gap:12px;flex:1}.modal-title{font-size:1.05rem;font-weight:700;color:#fff}.modal-close-btn{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,8%);color:#ccc;font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0;margin-left:8px}.modal-close-btn:hover{background:rgba(255,80,80,.3);border-color:rgba(255,80,80,.5);color:#fff}.launch-modal-body{flex:1;overflow-y:auto;padding:0 0 8px;-webkit-overflow-scrolling:touch}.launch-modal-body::-webkit-scrollbar{width:4px}.launch-modal-body::-webkit-scrollbar-track{background:0 0}.launch-modal-body::-webkit-scrollbar-thumb{background:rgba(0,212,255,.3);border-radius:2px}.refresh-btn.refresh-confirmed{border-color:rgba(249,115,22,.6);background:rgba(249,115,22,.15);color:var(--accent-orange)}