/**
 * Lobby Screen CSS
 * Styles for session joining and character creation
 */

.lobby-screen {
    max-width: 600px;
    width: 100%;
    margin: 0 auto;
    padding: var(--spacing-2xl, 48px);
    background: var(--surface-0, #121418);

.lobby-header {
    text-align: center;
    margin-bottom: var(--spacing-2xl, 48px);

.lobby-title {
    font-size: 32px;
    font-weight: bold;
    color: var(--signal-cyan, #00F0FF);
    text-transform: uppercase;
    margin-bottom: var(--spacing-xs, 8px);
    font-family: var(--font-display, 'Orbitron', sans-serif);

.lobby-subtitle {
    font-size: 16px;
    color: var(--text-secondary, #A1A7B3);
    text-transform: uppercase;
    letter-spacing: 0.1em;

/* Session Join Panel */
.session-join-panel,
.character-panel {
    background: var(--surface-1, #1A1D23);
    border: 2px solid var(--signal-cyan, #00F0FF);
    border-radius: 12px;
    padding: var(--spacing-xl, 32px);
    margin-bottom: var(--spacing-lg, 24px);

.panel-title {
    font-size: 20px;
    font-weight: bold;
    color: var(--text-primary, #EDEDED);
    margin-bottom: var(--spacing-lg, 24px);

/* Form Styles */
.form-group {
    margin-bottom: var(--spacing-lg, 24px);

.form-label {
    display: block;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--text-secondary, #A1A7B3);
    margin-bottom: var(--spacing-xs, 8px);

.form-input {
    width: 100%;
    padding: var(--spacing-sm, 12px);
    background: var(--surface-2, #252A33);
    border: 1px solid var(--text-tertiary, #6E7687);
    border-radius: 6px;
    color: var(--text-primary, #EDEDED);
    font-size: 16px;
    font-family: var(--font-ui, 'Courier New', monospace);
    transition: border-color 0.2s ease;

.form-input:focus {
    outline: none;
    border-color: var(--signal-cyan, #00F0FF);
    box-shadow: 0 0 0 2px rgba(0, 240, 255, 0.2);

.form-hint {
    font-size: 11px;
    color: var(--text-tertiary, #6E7687);
    margin-top: var(--spacing-xs, 8px);

.session-code-input {
    text-transform: uppercase;
    letter-spacing: 0.2em;
    text-align: center;
    font-size: 24px;
    font-weight: bold;

/* Buttons */
.primary-button,
.secondary-button,
.text-button {
    padding: var(--spacing-md, 16px) var(--spacing-xl, 32px);
    border-radius: 6px;
    font-size: 16px;
    font-weight: bold;
    font-family: var(--font-ui, 'Courier New', monospace);
    cursor: pointer;
    transition: all 0.2s ease;
    border: 2px solid;

.primary-button {
    background: var(--signal-cyan, #00F0FF);
    border-color: var(--signal-cyan, #00F0FF);
    color: var(--surface-0, #121418);
    width: 100%;

.primary-button:hover {
    background: var(--signal-cyan, #00F0FF);
    box-shadow: 0 0 20px rgba(0, 240, 255, 0.4);
    transform: translateY(-2px);

.primary-button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;

.secondary-button {
    background: transparent;
    border-color: var(--signal-cyan, #00F0FF);
    color: var(--signal-cyan, #00F0FF);

.secondary-button:hover {
    background: var(--signal-cyan, #00F0FF);
    color: var(--surface-0, #121418);

.text-button {
    background: transparent;
    border: none;
    color: var(--text-secondary, #A1A7B3);
    text-decoration: underline;
    padding: var(--spacing-sm, 12px);

.text-button:hover {
    color: var(--signal-cyan, #00F0FF);

/* Character Preview */
.character-preview {
    padding: var(--spacing-md, 16px);
    background: var(--surface-2, #252A33);
    border-radius: 6px;
    margin-bottom: var(--spacing-md, 16px);

.character-name {
    font-size: 18px;
    font-weight: bold;
    color: var(--text-primary, #EDEDED);
    margin-bottom: var(--spacing-sm, 12px);

.character-stats {
    display: flex;
    gap: var(--spacing-md, 16px);
    font-size: 14px;
    color: var(--text-secondary, #A1A7B3);

/* Stat Allocation */
.stat-allocation-panel {
    margin-top: var(--spacing-lg, 24px);

.stat-allocation-title {
    font-size: 16px;
    font-weight: bold;
    color: var(--text-primary, #EDEDED);
    margin-bottom: var(--spacing-md, 16px);

.stat-allocation-info {
    display: flex;
    justify-content: space-between;
    margin-bottom: var(--spacing-md, 16px);
    font-size: 12px;
    color: var(--text-secondary, #A1A7B3);

.points-remaining strong {
    color: var(--signal-cyan, #00F0FF);
    font-size: 16px;

.stat-allocation-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-md, 16px);
    background: var(--surface-2, #252A33);
    border-radius: 6px;
    margin-bottom: var(--spacing-sm, 12px);

.stat-allocation-label {
    flex: 1;

.stat-allocation-label .stat-name {
    display: block;
    font-size: 14px;
    font-weight: bold;
    color: var(--signal-cyan, #00F0FF);
    margin-bottom: var(--spacing-xs, 8px);

.stat-allocation-label .stat-description {
    display: block;
    font-size: 11px;
    color: var(--text-tertiary, #6E7687);

.stat-controls {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm, 12px);

.stat-button {
    width: 32px;
    height: 32px;
    background: var(--surface-1, #1A1D23);
    border: 2px solid var(--signal-cyan, #00F0FF);
    border-radius: 4px;
    color: var(--signal-cyan, #00F0FF);
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;

.stat-button:hover {
    background: var(--signal-cyan, #00F0FF);
    color: var(--surface-0, #121418);

.stat-button:disabled {
    opacity: 0.5;
    cursor: not-allowed;

.stat-input {
    width: 60px;
    padding: var(--spacing-xs, 8px);
    background: var(--surface-1, #1A1D23);
    border: 1px solid var(--text-tertiary, #6E7687);
    border-radius: 4px;
    color: var(--text-primary, #EDEDED);
    font-size: 18px;
    font-weight: bold;
    font-family: var(--font-ui, 'Courier New', monospace);
    text-align: center;

/* Form Actions */
.form-actions {
    display: flex;
    gap: var(--spacing-md, 16px);
    margin-top: var(--spacing-lg, 24px);

.form-actions .primary-button {
    flex: 1;

.form-actions .secondary-button {
    flex: 1;

/* Import Section */
.import-section {
    margin-top: var(--spacing-lg, 24px);
    padding-top: var(--spacing-lg, 24px);
    border-top: 1px solid var(--text-tertiary, #6E7687);
    text-align: center;

/* Loading State */
.lobby-loading {
    text-align: center;
    padding: var(--spacing-2xl, 48px);

.loading-spinner {
    width: 48px;
    height: 48px;
    border: 4px solid var(--text-tertiary, #6E7687);
    border-top-color: var(--signal-cyan, #00F0FF);
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin: 0 auto var(--spacing-md, 16px);

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

.loading-message {
    font-size: 16px;
    color: var(--text-secondary, #A1A7B3);

/* Responsive */
@media (max-width: 768px) {
    .lobby-screen {
        padding: var(--spacing-lg, 24px);

    .stat-allocation-row {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--spacing-sm, 12px);

    .stat-controls {
        width: 100%;
        justify-content: center;

}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}