/* Status Bar */
#status-bar { height: var(--footer-height); background: var(--bg-dark); border-top: 1px solid var(--border); display: flex; align-items: center; padding: 0 10px; font-size: 11px; color: var(--text-muted); gap: 16px; }
#status-msg { white-space: nowrap; }
.start-footer-bar { display: none; width: 100%; }
.start-footer-shell {
    width: min(100%, 1280px);
    margin: 0 auto;
    padding: 48px 0 0;
    border-top: 1px solid var(--start-page-topbar-border, #2a2d30);
    display: grid;
    grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
    align-items: start;
    gap: 56px;
}
.start-footer-meta { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; min-width: 0; }
.start-footer-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--start-page-title, #f9fafb);
    text-decoration: none;
    font-size: 18px;
    font-weight: 700;
    white-space: nowrap;
}
.start-footer-brand:hover { color: var(--start-page-title, #f9fafb); }
.start-footer-monogram {
    width: 24px;
    height: 24px;
    border-radius: 6px;
    background: var(--start-page-accent, #3b82f6);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    flex-shrink: 0;
}
.start-footer-copy {
    max-width: 280px;
    font-size: 14px;
    line-height: 1.6;
    color: var(--start-page-subtle, #6b7280);
}
.start-footer-columns {
    display: grid;
    grid-template-columns: repeat(3, minmax(110px, max-content));
    align-items: start;
    justify-content: end;
    justify-self: end;
    margin-left: auto;
    gap: 56px;
}
.start-footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; min-width: 0; }
.start-footer-column a {
    color: var(--start-page-subtle, #6b7280);
    text-decoration: none;
    font-size: 14px;
    white-space: nowrap;
    transition: color 0.15s ease;
}
.start-footer-column a:hover { color: var(--start-page-accent, #60a5fa); }
.start-footer-heading {
    color: var(--start-page-muted, #9ca3af);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 6px;
}

#app.start-mode #status-bar {
    height: auto;
    min-height: 0;
    padding: 0 clamp(24px, 3vw, 40px) 32px;
    align-items: flex-start;
    background: var(--start-page-bg, #1a1c1e);
    border-top: 0;
}
#app.start-mode #status-bar #status-msg { display: none; }
#app.start-mode #status-bar .start-footer-bar { display: block; }

@media (max-width: 1100px) {
    .start-footer-shell {
        width: min(100%, 1080px);
        gap: 40px;
    }
    .start-footer-columns { gap: 36px; }
}

@media (max-width: 900px) {
    #app.start-mode #status-bar { padding: 0 20px 24px; }
    .start-footer-shell {
        grid-template-columns: 1fr;
        gap: 28px;
        padding-top: 32px;
    }
    .start-footer-columns { grid-template-columns: repeat(2, minmax(110px, max-content)); gap: 28px; }
}

@media (max-width: 640px) {
    .start-footer-columns {
        grid-template-columns: 1fr;
        justify-content: start;
        justify-self: start;
        margin-left: 0;
        gap: 22px;
    }
}

/* Toast Notifications */
#toast-container, .toast-container { position: fixed; top: 7vh; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 10px; z-index: 1000; }
.toast { color: #fff; padding: 10px 15px; border-radius: var(--radius); box-shadow: 0 4px 12px rgba(0,0,0,0.35); font-size: 13px; max-width: min(520px, 90vw); text-align: center; animation: slideIn 0.3s ease; }
.toast-success { background: #2e7d32; border: 1px solid #1b5e20; }
.toast-error { background: #850f0f; border: 1px solid #b71c1c; }
@keyframes slideIn { from { transform: translateY(-20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }

/* Screen Size Warning Overlay */
.screen-size-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 99999;
    background: var(--bg-dark);
    align-items: center;
    justify-content: center;
}
.screen-size-content {
    text-align: center;
    padding: 40px;
    max-width: 440px;
}
.screen-size-title {
    font-size: 22px;
    font-weight: 600;
    color: var(--text-main);
    margin: 20px 0 10px;
}
.screen-size-message {
    font-size: 14px;
    color: var(--text-main);
    line-height: 1.6;
    margin: 0 0 8px;
}
.screen-size-hint {
    font-size: 12px;
    color: var(--text-muted);
    margin: 0;
}

@media (max-width: 999px), (max-height: 799px) {
    .screen-size-overlay { display: flex; }
    #app { display: none !important; }

    html.canvas-fullscreen-active .screen-size-overlay,
    html.canvas-fullscreen-active #screen-size-overlay {
        display: none !important;
    }

    html.canvas-fullscreen-active #app {
        display: flex !important;
    }
}
