/* ST8 Game Launcher — public styles */

.st8gl-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #0a0a12;
    border-radius: 8px;
    overflow: hidden;
    box-sizing: border-box;
}

/* Fullscreen mode */
.st8gl-wrapper.st8gl-fullscreen {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 99999;
    border-radius: 0;
}

/* Iframe fills the wrapper */
.st8gl-wrapper iframe.st8gl-frame {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}

/* ---- Loader ---- */
.st8gl-loader {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    color: #c8c8d4;
    font-family: system-ui, sans-serif;
    font-size: 14px;
}

.st8gl-loader p {
    margin: 0;
}

.st8gl-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid rgba(255, 255, 255, .12);
    border-top-color: #5b8af7;
    border-radius: 50%;
    animation: st8gl-spin .75s linear infinite;
}

@keyframes st8gl-spin {
    to { transform: rotate(360deg); }
}

/* ---- Error box ---- */
.st8gl-error-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 24px;
    text-align: center;
    color: #f87171;
    font-family: system-ui, sans-serif;
}

.st8gl-error-msg {
    margin: 0;
    font-size: 14px;
    max-width: 340px;
}

.st8gl-retry {
    padding: 8px 20px;
    background: #5b8af7;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 13px;
    cursor: pointer;
    transition: background .2s;
}

.st8gl-retry:hover {
    background: #3d6ee4;
}

/* ---- Inline error (shortcode misconfigured) ---- */
p.st8gl-error {
    color: #dc2626;
    font-size: 13px;
}
