#launch-tab { position: fixed; left: 0; top: 70vh; z-index: 101; padding: 16px 9px; border: 1px solid #9cb7e8; border-radius: 0; background: #374490; color: darkorange; cursor: pointer; }
#launch-panel { position: fixed; left: 38px; bottom: 12px; width: min(980px, calc(100vw - 64px)); max-height: 85vh; display: flex; flex-direction: column; overflow: hidden; z-index: 100; background: #374490; color: #e8eefb; border: 1px solid #9cb7e8; border-radius: 0; padding: 16px; box-sizing: border-box; box-shadow: 0 8px 35px #0009; font: 14px Arial, sans-serif; }
#launch-panel[hidden] { display: none; }
.launch-title, .launch-actions { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.launch-title { flex-shrink: 0; padding-bottom: 8px; }
.launch-content { min-height: 0; overflow-y: auto; padding-right: 6px; }
.launch-actions { flex-shrink: 0; justify-content: flex-end; padding-top: 12px; }
#launch-panel h2 { margin: 0; font-size: 19px; }
#launch-panel h3 { font-size: 14px; }
#launch-panel p { font-size: 12px; color: #b7c8e5; line-height: 1.5; }
.launch-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 12px; }
#launch-panel fieldset { min-width: 0; border: 1px solid #97B4E0; padding: 10px; }
.launch-field { display: flex; flex-direction: column-reverse; gap: 5px; margin-bottom: 8px; }
.launch-toggle { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; }
#launch-panel input:not([type=checkbox]) { box-sizing: border-box; width: 100%; padding: 7px; border: 1px solid #607696; border-radius: 0; background: white; color: black; }
#launch-panel input::placeholder { color: #666; opacity: 1; }
#launch-panel input:focus, #launch-panel button:focus-visible, #launch-tab:focus-visible { outline: 2px solid #ffec75; outline-offset: 2px; }
#launch-panel button { padding: 8px 12px; background: #344e88; border: 1px solid #9cb7e8; border-radius: 0; color: white; cursor: pointer; }
#launch-panel .launch-close { font-size: 26px; line-height: 1; padding: 2px 5px; background: transparent; border: 0; color: darkorange; }
.launch-parameters .launch-field { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); align-items: center; gap: 10px; }
.launch-parameters .launch-field span { grid-column: 1; grid-row: 1; }
.launch-parameters .launch-field input { grid-column: 2; grid-row: 1; min-width: 0; }
.server-address { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.server-address button { border: 1px solid #9cb7e8; border-radius: 0; padding: 3px 6px; background: #374490; color: white; cursor: pointer; }
.server-address .server-join { color: darkorange; }
.ip-address { white-space: nowrap; }
.tracker-refresh-row { text-align: center; padding: 4px 0 0; }
#tracker-refresh { background: transparent; border: 0; border-radius: 0; color: darkorange; text-decoration: underline; font-size: 12px; cursor: pointer; }
#launch-panel button:disabled { opacity: .5; cursor: not-allowed; }
#launch-panel .launch-actions button:enabled { color: darkorange; }
#launch-preview { white-space: pre-wrap; overflow-wrap: anywhere; padding: 10px; background: #07090e; font-size: 12px; line-height: 1.5; }
#launch-preview > span { display: block; }
#launch-preview > span + span { margin-top: 12px; }
.launch-preview-guidance { color: #a0a0a0; }
@media (max-width: 600px) { .launch-columns { grid-template-columns: 1fr; } #launch-panel { left: 32px; width: calc(100vw - 40px); padding: 10px; } }
