/* ===== СБРОС И БАЗОВЫЕ СТИЛИ ===== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    user-select: none;
}

input, textarea, .message-bubble, .selectable {
    user-select: text;
}

:root {
    --bg-dark: #0a0e17;
    --bg-card: #131b2e;
    --border-color: rgba(255, 255, 255, 0.08);
    --glass-bg: rgba(19, 27, 46, 0.75);
    --glass-border: rgba(139, 92, 246, 0.2);
    --neon-purple: #8b5cf6;
    --neon-purple-dark: #6d28d9;
    --neon-green: #10b981;
    --shadow-glow: 0 4px 20px rgba(139, 92, 246, 0.15);

    --safe-area-top: env(safe-area-inset-top, 0px);
    --safe-area-bottom: env(safe-area-inset-bottom, 0px);
    --bottom-bar-height: calc(65px + var(--safe-area-bottom));
    --header-height: calc(56px + var(--safe-area-top));
}

html, body {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: fixed;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    background: var(--bg-dark);
    color: #e4edf5;
}

::-webkit-scrollbar {
    display: none;
}
* {
    scrollbar-width: none;
}

/* ===== ВСПОМОГАТЕЛЬНЫЕ КЛАССЫ ===== */
.hidden { display: none !important; }
.text-neonGreen { color: var(--neon-green) !important; }
.text-neonPurple { color: var(--neon-purple) !important; }
.text-yellow-400 { color: #fbbf24 !important; }
.text-slate-300 { color: #94a3b8 !important; }
.font-mono { font-family: monospace; }
.text-xl { font-size: 20px; }

#app-screen {
    position: fixed;
    inset: 0;
    display: none; /* изначально скрыт, показывается после загрузки */
}