/* Floating Launch Button */
#ssg-open-btn {
    position: fixed;
    right: 16px;
    top: 75px;
    z-index: 99999;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    border: 2px solid #4af;
    background: linear-gradient(135deg, #0a0a2e 0%, #1a1a5e 100%);
    color: #fff;
    font-size: 24px;
    cursor: pointer;
    box-shadow: 0 0 16px rgba(68,170,255,0.7), 0 2px 8px rgba(0,0,0,0.5);
    transition: transform 0.15s, box-shadow 0.15s;
    display: flex;
    align-items: center;
    justify-content: center;
}
#ssg-open-btn:hover {
    transform: scale(1.12);
    box-shadow: 0 0 28px rgba(68,170,255,1), 0 2px 12px rgba(0,0,0,0.6);
}

/* Modal Overlay */
#ssg-modal-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 999999;
    background: rgba(0,0,10,0.82);
    align-items: center;
    justify-content: center;
}
#ssg-modal-overlay.ssg-visible {
    display: flex;
}

/* Modal Box */
#ssg-modal {
    background: #05051a;
    border: 2px solid #4af;
    border-radius: 14px;
    box-shadow: 0 0 40px rgba(68,170,255,0.5), 0 8px 32px rgba(0,0,0,0.8);
    padding: 0;
    max-width: 96vw;
    max-height: 96vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: hidden;
    user-select: none;
}

/* Header */
#ssg-header {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 16px;
    background: linear-gradient(90deg, #0a0a2e, #10105e, #0a0a2e);
    border-bottom: 1px solid #4af;
    box-sizing: border-box;
}
#ssg-title {
    color: #7df;
    font-family: 'Courier New', monospace;
    font-size: 15px;
    font-weight: bold;
    letter-spacing: 2px;
    text-shadow: 0 0 8px #4af;
}
#ssg-close-btn {
    background: none;
    border: 1px solid #c44;
    color: #f77;
    border-radius: 50%;
    width: 28px;
    height: 28px;
    cursor: pointer;
    font-size: 13px;
    transition: background 0.15s;
    display: flex;
    align-items: center;
    justify-content: center;
}
#ssg-close-btn:hover { background: #c44; color: #fff; }

/* Canvas */
#ssg-canvas {
    display: block;
    background: #000010;
    max-width: 100%;
}

/* Controls */
#ssg-controls {
    padding: 10px 0 4px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}
#ssg-controls-row1,
#ssg-controls-row2,
#ssg-controls-row3 {
    display: flex;
    gap: 6px;
    justify-content: center;
}
.ssg-btn {
    width: 46px;
    height: 40px;
    border-radius: 8px;
    border: 1.5px solid #4af;
    background: linear-gradient(135deg, #0a0a2e, #151550);
    color: #7df;
    font-size: 18px;
    cursor: pointer;
    transition: background 0.1s, transform 0.08s, box-shadow 0.1s;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 6px rgba(68,170,255,0.3);
}
.ssg-btn:hover, .ssg-btn.ssg-active {
    background: linear-gradient(135deg, #1a2a6e, #2a3a9e);
    box-shadow: 0 0 12px rgba(68,170,255,0.8);
    transform: scale(1.08);
}
.ssg-btn-boost {
    width: 110px;
    font-size: 13px;
    letter-spacing: 1px;
    border-color: #fa0;
    color: #fd8;
    box-shadow: 0 0 6px rgba(255,170,0,0.3);
}
.ssg-btn-boost:hover, .ssg-btn-boost.ssg-active {
    background: linear-gradient(135deg, #3a2000, #6a4000);
    box-shadow: 0 0 14px rgba(255,170,0,0.8);
}
.ssg-btn-shoot {
    width: 110px;
    font-size: 13px;
    letter-spacing: 1px;
    border-color: #f44;
    color: #f99;
    box-shadow: 0 0 6px rgba(255,68,68,0.3);
}
.ssg-btn-shoot:hover, .ssg-btn-shoot.ssg-active {
    background: linear-gradient(135deg, #3a0000, #6a0000);
    box-shadow: 0 0 14px rgba(255,68,68,0.8);
}

/* Hint */
#ssg-hint {
    color: #456;
    font-family: 'Courier New', monospace;
    font-size: 11px;
    padding: 4px 0 10px;
    letter-spacing: 1px;
}
