/* === BLOCK 1 (urspr. Z 70-5559) === */
/* ════════════════════════════════════════════════════════════════════════
   EPOS-AI — LIQUID GLASS
   Echtes iOS 26 Material — Lensing, Refraction, Floating Navigation
═══════════════════════════════════════════════════════════════════════════ */

/* [AUDIT-FIX 2026-05-12 C] Auth-Modal versteckt bis Sprach-Entscheidung gefallen */
html:not(.lang-ready) #authScreen,
html:not(.lang-ready) .auth-screen {
    visibility: hidden !important;
}

:root, [data-theme="light"] {
    --bg-1: #F7F1E1;
    --bg-2: #EFE6CD;
    --bg-3: #E5D8B5;
    --canvas-warm: #FCF7E8;

    --ink: #1C1408;
    --ink-2: #3A2C18;
    --ink-3: #6B563A;
    --ink-4: #9C8662;

    --gold: #A07820;
    --gold-bright: #C49434;
    --gold-soft: #D4B568;
    --gold-pale: #EFE0B5;
    --gold-glow: rgba(196, 148, 52, 0.55);

    /* LIQUID GLASS — kritisch wichtig: höhere Transparenz, stärkere Saturation */
    --glass: rgba(255, 250, 235, 0.42);
    --glass-strong: rgba(255, 250, 235, 0.58);
    --glass-edge: rgba(255, 255, 255, 0.45);
    --glass-edge-bottom: rgba(160, 120, 32, 0.18);
    --glass-tint: rgba(196, 148, 52, 0.06);

    /* Spekulare — echtes Glanz-Highlight wie auf Glas */
    --specular-top: linear-gradient(180deg,
        rgba(255, 255, 255, 0.55) 0%,
        rgba(255, 255, 255, 0.15) 30%,
        transparent 50%);
    --specular-edge: rgba(255, 255, 255, 0.85);

    --shadow-float: 0 8px 32px rgba(31, 22, 8, 0.12),
                    0 2px 8px rgba(31, 22, 8, 0.06),
                    0 1px 0 rgba(255, 255, 255, 0.5) inset,
                    0 -1px 0 rgba(160, 120, 32, 0.08) inset;

    --shadow-deep:  0 24px 64px rgba(31, 22, 8, 0.20),
                    0 8px 16px rgba(31, 22, 8, 0.08),
                    0 1px 0 rgba(255, 255, 255, 0.6) inset;

    --r-pill: 999px;
    --r-lg: 28px;
    --r-md: 20px;
    --r-sm: 14px;

    --ease: cubic-bezier(0.32, 0.72, 0, 1);
    --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
    --ease-out: cubic-bezier(0.16, 1, 0.3, 1);

    /* Logo (eingebettet) */
    --logo-mark: url('data:image/png;base64,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');
}

[data-theme="dark"] {
    --bg-1: #0F0A04;
    --bg-2: #1A1308;
    --bg-3: #2A1F10;
    --canvas-warm: #14100A;

    --ink: #F8F0DA;
    --ink-2: #E8D5A8;
    --ink-3: #C2A878;
    --ink-4: #8E7A52;

    --gold: #D4A848;
    --gold-bright: #E8BC58;
    --gold-soft: #B68A30;
    --gold-pale: #4A3818;
    --gold-glow: rgba(232, 188, 88, 0.55);

    --glass: rgba(45, 32, 16, 0.72);
    --glass-strong: rgba(55, 40, 22, 0.85);
    --glass-edge: rgba(232, 188, 88, 0.22);
    --glass-edge-bottom: rgba(0, 0, 0, 0.5);
    --glass-tint: rgba(232, 188, 88, 0.08);

    --specular-top: linear-gradient(180deg,
        rgba(255, 240, 200, 0.18) 0%,
        rgba(255, 240, 200, 0.04) 30%,
        transparent 50%);
    --specular-edge: rgba(255, 240, 200, 0.30);

    --shadow-float: 0 8px 32px rgba(0, 0, 0, 0.55),
                    0 2px 8px rgba(0, 0, 0, 0.35),
                    0 1px 0 rgba(232, 188, 88, 0.15) inset,
                    0 -1px 0 rgba(0, 0, 0, 0.4) inset;

    --shadow-deep:  0 24px 64px rgba(0, 0, 0, 0.7),
                    0 8px 16px rgba(0, 0, 0, 0.45),
                    0 1px 0 rgba(232, 188, 88, 0.18) inset;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

html, body {
    height: 100%;
    overflow: hidden;
    font-family: 'Inter', -apple-system, system-ui, sans-serif;
}

body {
    background: var(--bg-1);
    color: var(--ink-2);
    font-size: 14px;
    line-height: 1.55;
    transition: background 600ms var(--ease), color 600ms var(--ease);
}

::selection {
    background: var(--gold-pale);
    color: var(--ink);
}

/* ═══════════════════════════════════════════════════════════════════════
   HINTERGRUND — der Inhalt, über dem das Glas schwebt
   Mehrschichtige radiale Verläufe + Papier-Textur
═══════════════════════════════════════════════════════════════════════════ */
.canvas {
    position: fixed;
    inset: 0;
    z-index: 0;
    background:
        radial-gradient(ellipse 1400px 900px at 8% 10%, rgba(196, 148, 52, 0.18), transparent 55%),
        radial-gradient(ellipse 1100px 800px at 95% 90%, rgba(212, 181, 104, 0.14), transparent 55%),
        radial-gradient(ellipse 700px 500px at 50% 50%, rgba(239, 224, 181, 0.20), transparent 70%),
        var(--bg-1);
    transition: background 600ms var(--ease);
}

[data-theme="dark"] .canvas {
    background:
        radial-gradient(ellipse 1400px 900px at 8% 10%, rgba(232, 188, 88, 0.10), transparent 55%),
        radial-gradient(ellipse 1100px 800px at 95% 90%, rgba(212, 168, 72, 0.08), transparent 55%),
        radial-gradient(ellipse 700px 500px at 50% 50%, rgba(180, 138, 48, 0.06), transparent 70%),
        var(--bg-1);
}

/* Paper grain — multiplikativ */
.canvas::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='250' height='250'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' seed='3'/%3E%3CfeColorMatrix values='0 0 0 0 0.55 0 0 0 0 0.42 0 0 0 0 0.18 0 0 0 0.5 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.45'/%3E%3C/svg%3E");
    mix-blend-mode: multiply;
    opacity: 0.4;
    pointer-events: none;
}

[data-theme="dark"] .canvas::after { mix-blend-mode: screen; opacity: 0.15; }


/* ═══════════════════════════════════════════════════════════════════════
   STAGE 1 — LOGO-INTRO mit echtem EPOS-AI Logo
═══════════════════════════════════════════════════════════════════════════ */
.intro {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: grid;
    place-items: center;
    background: var(--bg-1);
    background-image:
        radial-gradient(ellipse 1400px 1000px at 50% 50%, rgba(239, 224, 181, 0.55), transparent 65%),
        radial-gradient(ellipse 800px 600px at 50% 50%, rgba(255, 250, 235, 0.4), transparent 70%);
    pointer-events: none;
    overflow: hidden;
    /* [Step 6.2] Standard versteckt — Animationen ABGESCHALTET (none statt paused),
       damit sie beim Reaktivieren wirklich neu starten und nicht im End-State einfrieren */
    opacity: 0;
    visibility: hidden;
    animation: none !important;
}
.intro:not(.show) *,
.intro:not(.show) *::before,
.intro:not(.show) *::after {
    animation: none !important;
}
/* [Step 6.2] Wenn .show gesetzt: sichtbar — Animationen werden in den Original-Regeln definiert */
.intro.show {
    opacity: 1;
    visibility: visible;
    animation: introOut 0.9s var(--ease) 3.4s forwards;
}

[data-theme="dark"] .intro {
    background: var(--bg-1);
    background-image:
        radial-gradient(ellipse 1400px 1000px at 50% 50%, rgba(196, 148, 52, 0.18), transparent 65%);
}

@keyframes introOut {
    to { opacity: 0; transform: scale(1.06); visibility: hidden; }
}

/* Goldener Lichtkreis hinter dem Logo */
.intro::before {
    content: '';
    position: absolute;
    width: 600px; height: 600px;
    border-radius: 50%;
    background: radial-gradient(circle,
        rgba(196, 148, 52, 0.18) 0%,
        rgba(196, 148, 52, 0.08) 40%,
        transparent 70%);
    transform: scale(0);
    animation: haloOpen 1.6s var(--ease-out) 0.2s forwards,
               haloPulse 3s ease-in-out 1.8s infinite;
}

@keyframes haloOpen {
    0%   { transform: scale(0); opacity: 0; }
    60%  { transform: scale(1.1); opacity: 1; }
    100% { transform: scale(1); opacity: 1; }
}

@keyframes haloPulse {
    0%, 100% { transform: scale(1); opacity: 0.9; }
    50%      { transform: scale(1.06); opacity: 1; }
}

/* Das Logo selbst — taucht aus der Mitte auf, mit Glanz-Sweep */
.intro-logo {
    position: relative;
    width: clamp(280px, 38vw, 540px);
    height: auto;
    z-index: 2;
    opacity: 0;
    transform: scale(0.7) translateY(20px);
    animation: logoRise 1.4s var(--ease-spring) 0.4s forwards;
    filter: drop-shadow(0 12px 40px rgba(160, 120, 32, 0.45));
}

@keyframes logoRise {
    0%   { opacity: 0; transform: scale(0.7) translateY(20px); filter: drop-shadow(0 4px 8px rgba(160, 120, 32, 0)); }
    50%  { opacity: 1; }
    100% { opacity: 1; transform: scale(1) translateY(0); filter: drop-shadow(0 12px 40px rgba(160, 120, 32, 0.45)); }
}

/* Glanz-Sweep — wandert quer über das Logo */
.intro-shine {
    position: absolute;
    top: 0; left: -50%;
    width: 50%; height: 100%;
    background: linear-gradient(105deg,
        transparent 0%,
        rgba(255, 255, 255, 0.0) 35%,
        rgba(255, 255, 255, 0.55) 50%,
        rgba(255, 255, 255, 0.0) 65%,
        transparent 100%);
    pointer-events: none;
    z-index: 3;
    mix-blend-mode: overlay;
    animation: shine 1.4s var(--ease-out) 1.4s forwards;
}

@keyframes shine {
    0%   { left: -50%; opacity: 0; }
    20%  { opacity: 1; }
    80%  { opacity: 1; }
    100% { left: 100%; opacity: 0; }
}

/* Sterne/Sparkles um das Logo herum */
.intro-spark {
    position: absolute;
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--gold-bright);
    box-shadow: 0 0 12px var(--gold-glow);
    opacity: 0;
    z-index: 1;
    animation: sparkle 2.5s ease-out 1.0s forwards;
}

.intro-spark:nth-child(1) { top: 28%; left: 35%; animation-delay: 1.0s; }
.intro-spark:nth-child(2) { top: 32%; right: 32%; width: 4px; height: 4px; animation-delay: 1.2s; }
.intro-spark:nth-child(3) { top: 58%; left: 30%; width: 3px; height: 3px; animation-delay: 1.4s; }
.intro-spark:nth-child(4) { top: 40%; right: 28%; width: 5px; height: 5px; animation-delay: 1.1s; }
.intro-spark:nth-child(5) { top: 65%; right: 40%; width: 3px; height: 3px; animation-delay: 1.5s; }
.intro-spark:nth-child(6) { top: 50%; left: 25%; width: 4px; height: 4px; animation-delay: 1.3s; }

@keyframes sparkle {
    0%   { opacity: 0; transform: scale(0); }
    30%  { opacity: 1; transform: scale(1.4); }
    70%  { opacity: 0.7; transform: scale(1); }
    100% { opacity: 0; transform: scale(0.8) translateY(-20px); }
}


/* ═══════════════════════════════════════════════════════════════════════
   APP — erscheint nach Intro
═══════════════════════════════════════════════════════════════════════════ */
.app {
    position: relative;
    z-index: 1;
    min-height: 100vh;
    height: 100vh;
    overflow-y: auto;
    overflow-x: hidden;
    opacity: 0;
    animation: appIn 1.0s var(--ease) 3.2s forwards;
    scroll-behavior: smooth;
}

@keyframes appIn {
    from { opacity: 0; transform: scale(0.98); }
    to   { opacity: 1; transform: scale(1); }
}

::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(160,120,32,0.25); border-radius: 10px; border: 2px solid transparent; background-clip: padding-box; }
::-webkit-scrollbar-thumb:hover { background: var(--gold-soft); background-clip: padding-box; }


/* ═══════════════════════════════════════════════════════════════════════
   GLASS PRIMITIVE — die Basis aller schwebenden Elemente
═══════════════════════════════════════════════════════════════════════════ */
.glass {
    background: var(--glass);
    -webkit-backdrop-filter: blur(28px) saturate(180%);
    backdrop-filter: blur(28px) saturate(180%);
    border: 0.5px solid var(--glass-edge);
    border-bottom: 0.5px solid var(--glass-edge-bottom);
    box-shadow: var(--shadow-float);
    position: relative;
    overflow: hidden;
}

/* Specular top edge — der charakteristische Apple-Glanz */
.glass::before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 50%;
    background: var(--specular-top);
    pointer-events: none;
    border-radius: inherit;
}

/* Lensing — feine Lichtbrechung am oberen Rand */
.glass::after {
    content: '';
    position: absolute;
    top: 0; left: 10%; right: 10%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--specular-edge), transparent);
    pointer-events: none;
}


/* ═══════════════════════════════════════════════════════════════════════
   TOP-NAV — schwebende Glas-Pille oben
═══════════════════════════════════════════════════════════════════════════ */
/* Top-Bar Sichtgrenze — eine durchgehende Glas-Fläche oben,
   sodass beim Scrollen Inhalt sauber darunter verschwindet */
.topbar-veil {
    position: fixed;
    top: 0; left: 0; right: 0;
    height: 88px;
    z-index: 40;
    pointer-events: none;
    background: linear-gradient(180deg,
        rgba(247, 241, 225, 0.95) 0%,
        rgba(247, 241, 225, 0.85) 60%,
        transparent 100%);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    -webkit-mask-image: linear-gradient(180deg, black 65%, transparent 100%);
    mask-image: linear-gradient(180deg, black 65%, transparent 100%);
    opacity: 0;
    animation: veilIn 0.6s var(--ease) 3.3s forwards;
}

[data-theme="dark"] .topbar-veil {
    background: linear-gradient(180deg,
        rgba(15, 10, 4, 0.92) 0%,
        rgba(15, 10, 4, 0.80) 60%,
        transparent 100%);
}

@keyframes veilIn { to { opacity: 1; } }

/* Eine durchgehende Topbar — alles auf einer Glas-Leiste */
.topbar {
    position: fixed;
    top: 14px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 50;
    display: grid;
    grid-template-columns: auto auto auto;
    align-items: center;
    gap: 4px;
    padding: 6px 8px 6px 6px;
    border-radius: var(--r-pill);
    width: max-content;
    max-width: calc(100vw - 16px); /* [NAV-FIX 2026-06-03] mehr Breite erlaubt, damit nichts abgeschnitten wird */
    opacity: 0;
    animation: navDrop 0.9s var(--ease-spring) 3.4s forwards;
}

.topbar-left {
    display: flex; align-items: center; gap: 4px;
    flex-shrink: 0;
    padding-right: 6px;
    border-right: 1px solid var(--glass-edge-bottom);
}

.topbar-center {
    display: flex; align-items: center;
    flex-shrink: 0;
}

.topbar-right {
    display: flex; align-items: center; gap: 4px;
    flex-shrink: 0;
    padding-left: 6px;
    border-left: 1px solid var(--glass-edge-bottom);
}

@keyframes navDrop {
    0%   { opacity: 0; transform: translateX(-50%) translateY(-30px) scale(0.92); }
    100% { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); }
}

.nav-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 12px 6px 6px;
    margin-right: 4px;
}

.nav-brand-mark {
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    background-image: var(--logo-mark);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    filter: drop-shadow(0 1px 2px rgba(160, 120, 32, 0.25));
    transition: filter 0.3s var(--ease), transform 0.3s var(--ease-spring);
    cursor: pointer;
}

.nav-brand-mark:hover {
    filter: drop-shadow(0 2px 8px rgba(196, 148, 52, 0.55));
    transform: rotate(-3deg) scale(1.05);
}

[data-theme="dark"] .nav-brand-mark {
    filter: drop-shadow(0 1px 3px rgba(232, 188, 88, 0.3));
}

[data-theme="dark"] .nav-brand-mark:hover {
    filter: drop-shadow(0 2px 10px rgba(232, 188, 88, 0.6));
}

.nav-brand {
    display: flex;
    align-items: center;
    gap: 0;
    padding: 4px;
    border-radius: var(--r-pill);
    background: transparent;
    border: none;
    cursor: pointer;
    transition: background 0.22s var(--ease);
    font-family: inherit;
}

.nav-brand:hover {
    background: rgba(196, 148, 52, 0.08);
}

.nav-brand-name {
    display: none; /* Wir zeigen nur den Federkiel-Mark — der ist Logo genug */
}

/* Projekt-Pill in der Topbar */
.project-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 12px 7px 10px;
    border-radius: var(--r-pill);
    background: rgba(196, 148, 52, 0.10);
    border: 0.5px solid var(--glass-edge);
    cursor: pointer;
    color: var(--ink-2);
    font-size: 12.5px;
    font-weight: 500;
    transition: all 0.22s var(--ease);
    font-family: inherit;
    white-space: nowrap;
    margin-left: 6px;
    position: relative;
    overflow: hidden;
}

.project-pill::before {
    content: '';
    position: absolute;
    top: 0; left: -120%;
    width: 60%; height: 100%;
    background: linear-gradient(105deg, transparent, var(--specular-edge), transparent);
    transition: left 700ms var(--ease-out);
    pointer-events: none;
}

.project-pill:hover::before { left: 200%; }

.project-pill:hover {
    background: rgba(196, 148, 52, 0.20);
    color: var(--ink);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.4);
}

.project-pill .dot {
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--gold);
    box-shadow: 0 0 0 3px rgba(196, 148, 52, 0.18), 0 0 8px var(--gold-glow);
    flex-shrink: 0;
    animation: pulse 3s ease-in-out infinite;
}

.project-pill-name {
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-weight: 500;
    font-size: 13px;
    color: var(--gold);
}

.project-pill .caret svg {
    stroke: currentColor;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    opacity: 0.6;
}

/* Tabs */
.nav-tabs {
    display: flex;
    align-items: center;
    gap: 1px; /* [NAV-FIX 2026-06-03] minimal enger */
    border-left: 1px solid var(--glass-edge-bottom);
    padding-left: 4px;
}

.tab {
    display: inline-flex;
    align-items: center;
    gap: 6px; /* [NAV-FIX 2026-06-03] minimal enger: spart Platz, alles bleibt sichtbar */
    padding: 8px 10px; /* [NAV-FIX 2026-06-03] 13->10px horizontal */
    border-radius: var(--r-pill);
    color: var(--ink-2);
    font-size: 12.5px;
    font-weight: 500;
    cursor: pointer;
    border: none;
    background: transparent;
    transition: all 0.25s var(--ease);
    white-space: nowrap;
    position: relative;
    font-family: inherit;
}

.tab .ti {
    width: 18px; height: 18px;
    display: inline-grid; place-items: center;
    color: var(--ink-3);
    transition: color 0.25s var(--ease);
    flex-shrink: 0;
}

.tab .ti svg {
    width: 100%; height: 100%;
    stroke: currentColor;
    stroke-width: 1.7;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.tab:hover { color: var(--ink); background: rgba(255, 255, 255, 0.35); }
.tab:hover .ti { color: var(--gold); }

[data-theme="dark"] .tab:hover { background: rgba(232, 188, 88, 0.10); }

.tab.active {
    background: linear-gradient(180deg,
        rgba(255, 255, 255, 0.85),
        rgba(255, 255, 255, 0.65));
    color: var(--gold);
    font-weight: 600;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.7),
        inset 0 -1px 0 rgba(160, 120, 32, 0.10),
        0 2px 8px rgba(31, 22, 8, 0.10);
}

[data-theme="dark"] .tab.active {
    background: linear-gradient(180deg,
        rgba(74, 56, 24, 0.85),
        rgba(58, 44, 18, 0.65));
    box-shadow:
        inset 0 1px 0 rgba(232, 188, 88, 0.20),
        inset 0 -1px 0 rgba(0, 0, 0, 0.3),
        0 2px 8px rgba(0, 0, 0, 0.4);
}

.tab.active .ti { color: var(--gold); }

/* Dropdown caret */
/* [ASCHI-03 FIX 7] Pfeile ausgeblendet bis die Dropdown-Architektur
   (Body-Anhängen) wieder aktiviert wird. Pfeile, die kein Dropdown
   öffnen, sind eine UX-Lüge. Wenn Dropdowns reaktiviert: display: inline-flex. */
.tab .caret {
    display: none;
    font-size: 9px;
    opacity: 0.6;
    transform: translateY(1px);
}

/* Tab Dropdown Menu */
.tab-menu {
    position: absolute;
    top: calc(100% + 12px);
    left: 50%;
    transform: translateX(-50%) translateY(-8px);
    min-width: 280px;
    padding: 8px;
    border-radius: 22px;
    background: var(--glass-strong);
    -webkit-backdrop-filter: blur(36px) saturate(200%);
    backdrop-filter: blur(36px) saturate(200%);
    border: 0.5px solid var(--glass-edge);
    box-shadow: var(--shadow-deep);
    opacity: 0;
    visibility: hidden;
    transition: all 0.25s var(--ease);
    pointer-events: none;
    z-index: 100;
}

.tab-menu::before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 50%;
    background: var(--specular-top);
    pointer-events: none;
    border-radius: inherit;
}

.tab:hover .tab-menu,
.tab:focus-within .tab-menu,
.tab.menu-open .tab-menu {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
    pointer-events: auto;
}

.menu-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 14px;
    border-radius: 14px;
    color: var(--ink-2);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.18s var(--ease);
    text-decoration: none;
    position: relative;
    overflow: hidden;
}

.menu-item .mi {
    width: 36px; height: 36px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.45);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    border: 0.5px solid rgba(160, 120, 32, 0.15);
    display: grid; place-items: center;
    color: var(--gold);
    flex-shrink: 0;
    transition: all 0.25s var(--ease);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

[data-theme="dark"] .menu-item .mi {
    background: rgba(232, 188, 88, 0.10);
    border-color: rgba(232, 188, 88, 0.20);
    box-shadow: inset 0 1px 0 rgba(232, 188, 88, 0.15);
}

.menu-item .mi svg {
    width: 18px; height: 18px;
    stroke: currentColor;
    stroke-width: 1.5;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform 0.25s var(--ease-spring);
}

.menu-item:hover {
    background: rgba(255, 255, 255, 0.6);
    color: var(--ink);
    transform: translateX(2px);
}

[data-theme="dark"] .menu-item:hover { background: rgba(232, 188, 88, 0.12); }

.menu-item:hover .mi {
    background: rgba(196, 148, 52, 0.18);
    border-color: rgba(196, 148, 52, 0.35);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.55),
        0 0 16px rgba(196, 148, 52, 0.25);
}

.menu-item:hover .mi svg {
    transform: scale(1.1);
}

.menu-item .desc {
    font-size: 11px;
    color: var(--ink-4);
    font-weight: 400;
    margin-top: 1px;
}

.menu-item .text {
    flex: 1;
    min-width: 0;
}

.menu-item .badge {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1px;
    padding: 2px 7px;
    border-radius: var(--r-pill);
    background: var(--gold-pale);
    color: var(--gold);
    text-transform: uppercase;
}


/* ═══════════════════════════════════════════════════════════════════════
   TOOL DOCK — schwebende Pille oben rechts (Tokens, Theme, Lang, Hilfe, User)
═══════════════════════════════════════════════════════════════════════════ */
/* Tool-Container ist jetzt Teil der einheitlichen .topbar */
.tooldock {
    display: flex;
    align-items: center;
    gap: 6px;
}

.tool {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 11px;
    border-radius: var(--r-pill);
    background: transparent;
    border: none;
    cursor: pointer;
    color: var(--ink-2);
    font-size: 12px;
    font-weight: 500;
    transition: all 0.22s var(--ease);
    font-family: inherit;
    white-space: nowrap;
    position: relative;
    overflow: hidden;
}

.tool::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at center, rgba(255,255,255,0.6), transparent 70%);
    opacity: 0;
    transition: opacity 0.22s var(--ease);
    pointer-events: none;
    border-radius: inherit;
}

[data-theme="dark"] .tool::before {
    background: radial-gradient(circle at center, rgba(232,188,88,0.18), transparent 70%);
}

.tool:hover { color: var(--ink); transform: translateY(-1px); }
.tool:hover::before { opacity: 1; }

.tool.icon-only {
    width: 32px; height: 32px;
    padding: 0;
    justify-content: center;
}

.token-pill {
    background: linear-gradient(180deg,
        rgba(196, 148, 52, 0.18),
        rgba(196, 148, 52, 0.08));
    color: var(--gold);
    font-family: 'JetBrains Mono', monospace;
    font-weight: 600;
    font-size: 11.5px;
    padding: 7px 11px;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.4),
        inset 0 0 0 1px rgba(196,148,52,0.20);
    /* [TOKENPILL-FIX] .tool erbt overflow:hidden + nowrap → schnitt "3M" ab.
       Hier sichtbar lassen + nicht schrumpfen, damit der volle Wert passt. */
    overflow: visible;
    flex-shrink: 0;
    white-space: nowrap;
}

.token-pill span:nth-child(2) {
    overflow: visible;
    white-space: nowrap;
}

.token-pill .dot {
    width: 6px; height: 6px;
    border-radius: 50%;
    background: #4FA168;
    box-shadow: 0 0 6px #4FA168, 0 0 0 3px rgba(79, 161, 104, 0.20);
    animation: pulse 2.5s ease-in-out infinite;
}

@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

.lang-seg {
    display: flex;
    background: rgba(255,255,255,0.3);
    border-radius: var(--r-pill);
    padding: 3px;
    gap: 0;
}

[data-theme="dark"] .lang-seg { background: rgba(0,0,0,0.3); }

.lang-seg .l {
    padding: 4px 10px;
    border-radius: var(--r-pill);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.8px;
    color: var(--ink-3);
    cursor: pointer;
    transition: all 0.2s var(--ease);
}

.lang-seg .l.active {
    background: linear-gradient(180deg, var(--gold-bright), var(--gold));
    color: #FFF8E8;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.4), 0 1px 3px rgba(160,120,32,0.3);
}

.user-pill {
    padding: 5px 5px 5px 12px;
    gap: 10px;
}

.user-pill .tier {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.2px;
    padding: 4px 8px;
    border-radius: var(--r-pill);
    background: linear-gradient(180deg, var(--gold-bright), var(--gold));
    color: #FFF8E8;
    text-transform: uppercase;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.4),
        0 1px 3px rgba(160,120,32,0.25);
}


/* ═══════════════════════════════════════════════════════════════════════
   MAIN — der Inhalt, über den das Glas schwebt
═══════════════════════════════════════════════════════════════════════════ */
.main {
    padding: 132px 48px 120px;
    max-width: 1480px;
    margin: 0 auto;
    position: relative;
}

/* Hero */
.hero {
    text-align: center;
    margin-bottom: 56px;
}

@keyframes heroIn {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}

.hero-eyebrow {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.4px;
    text-transform: uppercase;
    color: var(--gold);
    padding: 6px 14px;
    border-radius: var(--r-pill);
    background: var(--gold-pale);
    margin-bottom: 24px;
}

[data-theme="dark"] .hero-eyebrow { background: var(--gold-pale); color: var(--gold-bright); }

.hero h1 {
    font-family: 'Fraunces', serif;
    font-size: clamp(40px, 5vw, 64px);
    font-weight: 400;
    color: var(--ink);
    line-height: 1.05;
    letter-spacing: -1.5px;
    margin-bottom: 16px;
    font-variation-settings: "opsz" 144;
}

.hero h1 em {
    font-style: italic;
    color: var(--gold);
    font-weight: 500;
}

.hero-sub {
    font-size: 16px;
    color: var(--ink-3);
    max-width: 540px;
    margin: 0 auto 32px;
    line-height: 1.6;
}

.hero-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 32px;
    border-radius: var(--r-pill);
    background:
        radial-gradient(circle at 30% 0%, rgba(255,255,255,0.4), transparent 50%),
        linear-gradient(180deg, var(--gold-bright), var(--gold) 90%);
    color: #FFF8E8;
    font-size: 15px;
    font-weight: 600;
    border: none;
    cursor: pointer;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.5),
        inset 0 -3px 6px rgba(80, 50, 0, 0.3),
        0 8px 24px rgba(196, 148, 52, 0.4),
        0 2px 6px rgba(160, 120, 32, 0.2);
    transition: all 0.25s var(--ease);
    position: relative;
    overflow: hidden;
    font-family: inherit;
}

.hero-cta::before {
    content: '';
    position: absolute;
    top: 0; left: -130%;
    width: 70%; height: 100%;
    background: linear-gradient(105deg, transparent, rgba(255,255,255,0.5), transparent);
    transition: left 800ms var(--ease-out);
    pointer-events: none;
}

.hero-cta:hover::before { left: 200%; }

.hero-cta:hover {
    transform: translateY(-2px);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.5),
        inset 0 -3px 6px rgba(80, 50, 0, 0.3),
        0 16px 36px rgba(196, 148, 52, 0.55),
        0 4px 10px rgba(160, 120, 32, 0.3);
}

.hero-cta:active { transform: translateY(0); }


/* ═══════════════════════════════════════════════════════════════════════
   STAT GRID — schwebende Glas-Karten
═══════════════════════════════════════════════════════════════════════════ */
.stat-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-bottom: 22px;
}

.stat {
    border-radius: var(--r-md);
    padding: 26px 28px;
    transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease);
    cursor: default;
}

.stat:hover {
    transform: translateY(-4px);
    box-shadow:
        0 16px 48px rgba(31, 22, 8, 0.16),
        0 4px 12px rgba(31, 22, 8, 0.08),
        0 1px 0 rgba(255, 255, 255, 0.55) inset;
}

[data-theme="dark"] .stat:hover {
    box-shadow:
        0 16px 48px rgba(0, 0, 0, 0.65),
        0 4px 12px rgba(0, 0, 0, 0.4),
        0 1px 0 rgba(232, 188, 88, 0.2) inset;
}

.stat-label {
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 1.6px;
    color: var(--ink-4);
    text-transform: uppercase;
    margin-bottom: 14px;
}

.stat-value {
    font-family: 'Fraunces', serif;
    font-size: 44px;
    font-weight: 400;
    color: var(--gold);
    line-height: 1;
    margin-bottom: 8px;
    letter-spacing: -1px;
    font-variation-settings: "opsz" 96;
}

.stat-empty {
    font-size: 24px;
    color: var(--ink-4);
    line-height: 1;
    margin-bottom: 12px;
    opacity: 0.4;
}

.stat-sub {
    font-size: 12.5px;
    color: var(--ink-3);
    margin-bottom: 14px;
}

.stat-bar {
    height: 4px;
    background: rgba(160, 120, 32, 0.15);
    border-radius: 4px;
    overflow: hidden;
}

.stat-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--gold), var(--gold-bright), var(--gold));
    background-size: 200% 100%;
    border-radius: 4px;
    box-shadow: 0 0 8px var(--gold-glow);
    animation: shimmer 3s linear infinite;
}

@keyframes shimmer {
    0%   { background-position: 100% 0; }
    100% { background-position: -100% 0; }
}


/* ═══════════════════════════════════════════════════════════════════════
   ROW (Letzte Kapitel + Schreibziel)
═══════════════════════════════════════════════════════════════════════════ */
.dash-row {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 18px;
    margin-bottom: 22px;
}

.card {
    border-radius: var(--r-md);
    padding: 26px 28px;
}

.card-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--glass-edge-bottom);
    position: relative;
}

.card-head::after {
    content: '';
    position: absolute;
    bottom: -1px; left: 0;
    width: 36px; height: 1px;
    background: linear-gradient(90deg, var(--gold), transparent);
}

.card-head h3 {
    font-family: 'Fraunces', serif;
    font-size: 18px;
    font-weight: 500;
    color: var(--ink);
    letter-spacing: -0.2px;
}

.card-head .icon {
    color: var(--gold);
    width: 18px; height: 18px;
    display: inline-grid; place-items: center;
    flex-shrink: 0;
}

.card-head .icon svg {
    width: 100%; height: 100%;
    stroke: currentColor;
    stroke-width: 1.6;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.chap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 14px;
    margin: 0 -14px;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s var(--ease);
}

.chap + .chap { margin-top: 2px; }

.chap:hover {
    background: rgba(255, 255, 255, 0.5);
    transform: translateX(2px);
}

[data-theme="dark"] .chap:hover { background: rgba(232, 188, 88, 0.08); }

.chap .name { font-weight: 500; color: var(--ink); font-size: 13.5px; }
.chap .w { font-family: 'JetBrains Mono', monospace; font-size: 12px; color: var(--ink-4); }

.goal-row {
    display: flex;
    gap: 10px;
    margin: 14px 0 12px;
}

.input {
    flex: 1;
    padding: 12px 16px;
    border-radius: var(--r-pill);
    background: rgba(255, 255, 255, 0.5);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    border: 1px solid var(--glass-edge-bottom);
    color: var(--ink);
    font-size: 14px;
    font-family: inherit;
    box-shadow: inset 0 1px 2px rgba(31, 22, 8, 0.04);
    transition: all 0.2s var(--ease);
    outline: none;
}

[data-theme="dark"] .input { background: rgba(0, 0, 0, 0.35); }

.input::placeholder { color: var(--ink-4); }

.input:focus {
    border-color: var(--gold);
    background: rgba(255, 252, 235, 0.8);
    box-shadow:
        0 0 0 4px var(--gold-pale),
        0 0 14px var(--gold-glow),
        inset 0 1px 2px rgba(31, 22, 8, 0.04);
}

.btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 22px;
    border-radius: var(--r-pill);
    background:
        radial-gradient(circle at 30% 0%, rgba(255,255,255,0.4), transparent 50%),
        linear-gradient(180deg, var(--gold-bright), var(--gold) 90%);
    color: #FFF8E8;
    font-weight: 600;
    font-size: 13px;
    border: none;
    cursor: pointer;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.45),
        inset 0 -2px 4px rgba(80,50,0,0.22),
        0 4px 12px rgba(196, 148, 52, 0.32);
    transition: all 0.22s var(--ease);
    position: relative;
    overflow: hidden;
    font-family: inherit;
}

.btn::before {
    content: '';
    position: absolute;
    top: 0; left: -130%;
    width: 70%; height: 100%;
    background: linear-gradient(105deg, transparent, rgba(255,255,255,0.45), transparent);
    transition: left 800ms var(--ease-out);
    pointer-events: none;
}

.btn:hover::before { left: 200%; }
.btn:hover {
    transform: translateY(-1px);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.45),
        inset 0 -2px 4px rgba(80,50,0,0.22),
        0 8px 20px rgba(196, 148, 52, 0.5);
}
.btn:active { transform: translateY(0); }

.goal-hint {
    font-size: 11.5px;
    color: var(--ink-4);
    font-family: 'JetBrains Mono', monospace;
    letter-spacing: -0.2px;
}


/* ═══════════════════════════════════════════════════════════════════════
   TILES — Schnellzugriff
═══════════════════════════════════════════════════════════════════════════ */
.tiles {
    border-radius: var(--r-md);
    padding: 28px 28px 26px;
    margin-bottom: 22px;
}

.tile-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 14px;
    margin-top: 18px;
}

.tile {
    background: rgba(255, 252, 235, 0.55);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    backdrop-filter: blur(20px) saturate(180%);
    border: 0.5px solid var(--glass-edge);
    border-bottom: 0.5px solid var(--glass-edge-bottom);
    border-radius: 18px;
    padding: 22px 16px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s var(--ease);
    position: relative;
    overflow: hidden;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.5),
        0 2px 8px rgba(31, 22, 8, 0.06);
}

[data-theme="dark"] .tile {
    background: rgba(50, 38, 20, 0.55);
    box-shadow:
        inset 0 1px 0 rgba(232, 188, 88, 0.15),
        0 2px 8px rgba(0, 0, 0, 0.35);
}

/* Specular top */
.tile::before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 50%;
    background: var(--specular-top);
    pointer-events: none;
    border-radius: inherit;
}

/* Sheen light */
.tile-sheen {
    position: absolute;
    top: -50%; left: -120%;
    width: 60%; height: 200%;
    background: linear-gradient(105deg,
        transparent 0%,
        rgba(255, 255, 255, 0.6) 45%,
        rgba(255, 255, 255, 0.85) 50%,
        rgba(255, 255, 255, 0.6) 55%,
        transparent 100%);
    transform: rotate(0deg);
    transition: left 900ms var(--ease-out);
    pointer-events: none;
}

[data-theme="dark"] .tile-sheen {
    background: linear-gradient(105deg,
        transparent 0%,
        rgba(232, 188, 88, 0.25) 50%,
        transparent 100%);
}

.tile:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.6),
        0 12px 36px rgba(31, 22, 8, 0.18),
        0 4px 10px rgba(196, 148, 52, 0.2);
}

.tile:hover .tile-sheen { left: 200%; }

.tile-icon {
    width: 44px;
    height: 44px;
    margin: 0 auto 14px;
    display: grid;
    place-items: center;
    color: var(--gold);
    line-height: 1;
    transition: transform 0.3s var(--ease-spring), filter 0.3s var(--ease);
    position: relative;
    z-index: 1;
}

.tile-icon svg {
    width: 100%;
    height: 100%;
    display: block;
    stroke: currentColor;
    stroke-width: 1.4;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    filter: drop-shadow(0 1px 2px rgba(160, 120, 32, 0.18));
    transition: filter 0.3s var(--ease);
}

.tile:hover .tile-icon {
    transform: scale(1.18) translateY(-3px);
    filter: drop-shadow(0 4px 12px var(--gold-glow));
}

.tile-name {
    font-weight: 600;
    color: var(--ink);
    font-size: 13px;
    margin-bottom: 4px;
    position: relative;
    z-index: 1;
}

.tile-desc {
    font-size: 11px;
    color: var(--ink-4);
    position: relative;
    z-index: 1;
}


/* ═══════════════════════════════════════════════════════════════════════
   FLOATING SUPPORT — unten rechts
═══════════════════════════════════════════════════════════════════════════ */
.support-fab {
    position: fixed;
    bottom: 18px;
    right: 18px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background:
        radial-gradient(circle at 35% 30%, rgba(255,255,255,0.5), transparent 50%),
        linear-gradient(135deg, var(--gold-bright), var(--gold) 75%);
    border: none;
    cursor: pointer;
    color: #FFF8E8;
    font-size: 20px;
    display: grid;
    place-items: center;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.5),
        inset 0 -2px 4px rgba(80,50,0,0.25),
        0 8px 24px rgba(196, 148, 52, 0.4);
    z-index: 90;
    opacity: 0;
    animation: navDrop 0.7s var(--ease-spring) 4.3s forwards;
    transition: transform 0.3s var(--ease-spring), box-shadow 0.3s var(--ease);
}

.support-fab::after {
    content: '';
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    background: var(--gold-glow);
    opacity: 0;
    z-index: -1;
    animation: halo 300s ease-in-out infinite 4.5s;
}

@keyframes halo {
    0%, 100% { opacity: 0; transform: scale(1); }
    /* Glüht nur in den ersten ~1.3% der 300s = ~4 Sekunden, dann lange Pause */
    0.5%  { opacity: 0; transform: scale(1); }
    0.8%  { opacity: 0.5; transform: scale(1.18); }
    1.2%  { opacity: 0; transform: scale(1); }
}

.support-fab:hover {
    transform: translateY(-4px) scale(1.08);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.5),
        inset 0 -2px 4px rgba(80,50,0,0.25),
        0 18px 44px rgba(196, 148, 52, 0.6);
}


/* Theme-Toggle ist im Tool-Dock integriert (kein separater Demo-Toggle mehr) */


/* ═══════════════════════════════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 1380px) {
    .stat-grid { grid-template-columns: repeat(4, 1fr); }
    /* Token-Pill kompakter */
    .token-pill span:nth-child(2) { font-size: 11.5px; }
    /* [NAV-FIX 2026-06-03] Name + Bug-Button NICHT mehr verstecken — alles soll sichtbar bleiben.
       (Frueher hier: .user-pill-name display:none und #reportBugBtn display:none) */
    .user-pill { padding: 4px 8px; }
}

/* [NAV-FIX 2026-06-03] Help-Button bleibt sichtbar (frueher hier display:none bei <=1200px) */

/* [Step 8.5] Topbar darf nicht über Viewport hinaus wachsen, Inhalt schrumpft */
/* [AUDIT-FIX 2026-05-12] flex-shrink:1 schnitt die user-pill rechts ab (STUDIO halb sichtbar).
   user-pill darf NICHT geschrumpft werden — stattdessen die Tools einzeln verstecken (siehe Media-Queries). */
.topbar {
    max-width: calc(100vw - 16px) !important;
}
.topbar-right {
    min-width: 0;
    flex-shrink: 0;
    overflow: visible;
}
.topbar-right .user-pill {
    flex-shrink: 0;
}
.topbar-right .user-pill .tier {
    flex-shrink: 0;
    white-space: nowrap;
}

/* [Step 8.5] margin-right-Versuch entfernt — war falscher Ansatz */

@media (max-width: 1280px) {
    .stat-grid { grid-template-columns: repeat(2, 1fr); }
    .tile-grid { grid-template-columns: repeat(3, 1fr); }
    .dash-row { grid-template-columns: 1fr; }
    /* [NAV-FIX 2026-06-03] User-Name bleibt sichtbar (frueher hier span:first-child display:none) */
    .user-pill { padding: 4px; }
    /* Tokens kompakter */
    .token-pill span:nth-child(2) { font-size: 11px; }
}

@media (max-width: 1180px) {
    /* Brand-Name verstecken bei Engpass */
    .nav-brand-name { display: none; }
}

@media (max-width: 1120px) {
    /* Project-Pill: nur Dot + Caret bei Engpass */
    .project-pill-name { display: none; }
    .project-pill { padding: 7px 8px; }
}

@media (max-width: 1080px) {
    /* [NAV-FIX 2026-06-03] Schwelle 980->1080: bei schmalen Displays (z.B. 981px) werden
       die Tab-Texte zu reinen Icons. Das verkleinert die Mitte (war 777px!) deutlich,
       damit der rechte Bereich (Name + Studio) wieder voll sichtbar ist. Nichts wird
       rechts versteckt - nur die Tab-Beschriftungen weichen Icons. */
    .topbar .tab-text { display: none; }
    .tab .caret { display: none; }
    .tab { padding: 8px 9px; } /* Icons brauchen weniger Rand */
}

/* ═══════════════════════════════════════════════════════════════════════
   MOBILE — alles unter 768px
═══════════════════════════════════════════════════════════════════════════ */

/* Burger nur auf Mobile sichtbar */
.mobile-burger {
    display: none;
    width: 38px; height: 38px;
    border-radius: 50%;
    border: 0.5px solid var(--glass-edge);
    background: rgba(255, 252, 235, 0.4);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    color: var(--ink);
    cursor: pointer;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 0;
}

.mobile-burger span {
    display: block;
    width: 16px;
    height: 1.5px;
    background: var(--ink-2);
    border-radius: 2px;
    transition: all 0.3s var(--ease);
    transform-origin: center;
}

[data-theme="dark"] .mobile-burger {
    background: rgba(40, 28, 14, 0.6);
}

[data-theme="dark"] .mobile-burger span { background: var(--ink-2); }

/* Mobile Drawer (Slide-In von links) */
.mobile-drawer {
    position: fixed;
    top: 0; left: 0; bottom: 0;
    width: 86%;
    max-width: 320px;
    z-index: 220;
    background: rgba(255, 252, 235, 0.94);
    -webkit-backdrop-filter: blur(40px) saturate(180%);
    backdrop-filter: blur(40px) saturate(180%);
    border-right: 0.5px solid var(--glass-edge);
    box-shadow: 8px 0 40px rgba(31, 22, 8, 0.25);
    transform: translateX(-100%);
    transition: transform 0.4s var(--ease);
    overflow-y: auto;
    padding: 20px 18px 24px;
    display: none;
}

[data-theme="dark"] .mobile-drawer {
    background: rgba(20, 14, 6, 0.96);
    border-right-color: rgba(232, 188, 88, 0.18);
}

.mobile-drawer.open {
    transform: translateX(0);
}

.mobile-drawer-backdrop {
    position: fixed;
    inset: 0;
    z-index: 215;
    background: rgba(31, 22, 8, 0.45);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s var(--ease), visibility 0.35s var(--ease);
}

.mobile-drawer-backdrop.open {
    opacity: 1;
    visibility: visible;
}

.mdrawer-head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 4px 4px 18px;
    border-bottom: 1px solid var(--glass-edge-bottom);
    margin-bottom: 16px;
}

.mdrawer-mark {
    width: 36px; height: 36px;
    background-image: var(--logo-mark);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    flex-shrink: 0;
}

.mdrawer-name {
    font-family: 'Fraunces', serif;
    font-size: 17px;
    font-weight: 600;
    color: var(--ink);
    letter-spacing: -0.2px;
}

.mdrawer-close {
    margin-left: auto;
    width: 32px; height: 32px;
    border-radius: 50%;
    border: none;
    background: rgba(196, 148, 52, 0.10);
    color: var(--ink-2);
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
}

.mdrawer-section {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.6px;
    color: var(--ink-4);
    text-transform: uppercase;
    padding: 14px 12px 8px;
}

.mdrawer-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 12px;
    border-radius: 12px;
    cursor: pointer;
    color: var(--ink-2);
    font-size: 14px;
    font-weight: 500;
    transition: all 0.2s var(--ease);
    background: transparent;
    border: none;
    width: 100%;
    text-align: left;
    font-family: inherit;
}

.mdrawer-item:hover, .mdrawer-item.active {
    background: rgba(196, 148, 52, 0.10);
    color: var(--gold);
}

.mdrawer-item .ti { width: 18px; height: 18px; color: var(--ink-3); }
.mdrawer-item .ti svg { width: 100%; height: 100%; stroke: currentColor; stroke-width: 1.6; fill: none; }

.mdrawer-item:hover .ti, .mdrawer-item.active .ti { color: var(--gold); }


@media (max-width: 768px) {
    /* App: Padding anpassen */
    .main { padding: 90px 16px 90px !important; max-width: 100%; }
    .hero { margin-bottom: 32px; }
    .hero h1 { font-size: 30px; }
    .hero-sub { font-size: 14px; }
    .stat-grid { grid-template-columns: 1fr; gap: 12px; margin-bottom: 14px; }
    .stat { padding: 20px 22px; }
    .stat-value { font-size: 36px; }
    .dash-row { grid-template-columns: 1fr; gap: 12px; margin-bottom: 14px; }
    .tile-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .tile { padding: 18px 12px; }
    .tiles { padding: 22px 18px 20px; }
    .card { padding: 20px 22px; }
    .greeting h1 { font-size: 28px; }

    /* Topbar: drastisch reduziert, Flex statt Grid wegen Burger als 4. Kind */
    .topbar {
        top: 10px;
        left: 12px; right: 12px;
        transform: none !important;
        animation: navDropMobile 0.6s var(--ease) 3.4s both !important;
        width: auto;
        max-width: none;
        padding: 5px 6px;
        gap: 4px;
        display: flex;
        grid-template-columns: none;
        align-items: center;
    }

    @keyframes navDropMobile {
        from { opacity: 0; transform: translateY(-20px); }
        to   { opacity: 1; transform: translateY(0); }
    }

    .topbar-left { padding-right: 0; border-right: none; gap: 4px; min-width: 0; }
    .topbar-center { display: none; } /* Tabs verschwinden */
    .topbar-right { padding-left: 0; border-left: none; gap: 3px; justify-content: flex-end; min-width: 0; margin-left: auto; }

    /* Burger zeigen */
    .mobile-burger { display: flex; }

    /* Brand-Mark auf Mobile etwas kleiner */
    .nav-brand-mark { width: 30px; height: 30px; }
    .nav-brand { padding: 2px; }

    /* Project-Pill: nur Dot + Caret */
    .project-pill-name { display: none; }
    .project-pill { padding: 6px 7px; margin-left: 2px; gap: 5px; }

    /* Tools weiter reduzieren */
    .tool.icon-only { width: 30px; height: 30px; }
    .tool { padding: 5px 7px; font-size: 11px; }
    .tool svg { width: 14px; height: 14px; }
    .lang-seg { display: none; }
    .token-pill { display: none; } /* Tokens nur im Drawer sichtbar */
    .topbar-right .tool[title="Fehler melden"],
    .topbar-right .tool[title="Report a bug"] { display: none; }
    .topbar-right .tool[title="Hilfe & Support"],
    .topbar-right .tool[title="Help & Support"] { display: none; }

    /* User-Pill kompakt: nur Tier-Badge sichtbar */
    .user-pill span:first-child { display: none; }
    .user-pill { padding: 3px 4px; }
    .user-pill .tier { font-size: 9px; padding: 3px 7px; letter-spacing: 0.8px; }

    /* Drawer auf Mobile */
    .mobile-drawer { display: block; }

    /* Modale: Vollbild */
    .modal-panel,
    .settings-modal {
        width: calc(100vw - 24px);
        max-height: calc(100vh - 24px);
        top: 12px;
        left: 12px;
        transform: none;
        border-radius: 22px;
    }
    .modal-panel.open,
    .settings-modal.open { transform: none; }
    .modal-panel { padding: 20px 22px; }
    .settings-modal { padding: 22px 20px; }
    .modal-actions { grid-template-columns: 1fr; }
    .modal-head h2 { font-size: 18px; }

    /* Settings auf Mobile: Save-Button untereinander, nicht nebeneinander */
    .settings-row { flex-direction: column; gap: 8px; }
    .settings-btn { width: 100%; min-width: 0; padding: 12px 20px; }
    .plan-banner { font-size: 13px; padding: 16px 18px; }
    .danger-zone { padding: 16px 16px; }

    /* Editor — Spalten ausblenden, nur Hauptbereich */
    .editor-shell {
        grid-template-columns: 1fr;
        height: calc(100vh - 120px);
        gap: 0;
    }
    .editor-shell .chapters-panel,
    .editor-shell .ai-panel { display: none; }
    .editor-shell .editor-main { border-radius: 18px; }
    .editor-canvas { padding: 28px 22px; }
    .editor-page { font-size: 16px; }
    .editor-page h2 { font-size: 22px; }
    .editor-toolbar { padding: 8px 10px; gap: 2px; flex-wrap: nowrap; overflow-x: auto; }
    .tb-info { display: none; }
    .tb-divider:nth-child(n+5) { display: none; }
    .editor-shell .tb-btn:nth-last-child(-n+5) { /* erste paar Toolbar-Buttons reichen */ }

    /* Floating Support kleiner */
    .support-fab { width: 48px; height: 48px; bottom: 18px; right: 18px; }

    /* Hero CTA */
    .hero-cta { padding: 13px 24px; font-size: 14px; width: 100%; max-width: 280px; }
}


@media (max-width: 480px) {
    .tile-grid { grid-template-columns: 1fr; }
    .hero h1 { font-size: 26px; }
    .editor-canvas { padding: 24px 16px; }
    .editor-page { font-size: 15px; }
    .modal-panel { padding: 18px 20px; }
}

/* ═══════════════════════════════════════════════════════════════════════
   PROJECT-MODAL — schwebende Glas-Karte für Projekte und Upload
═══════════════════════════════════════════════════════════════════════════ */
.modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 200;
    background: rgba(31, 22, 8, 0.55);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s var(--ease), visibility 0.35s var(--ease);
}

[data-theme="dark"] .modal-backdrop {
    background: rgba(0, 0, 0, 0.7);
}

.modal-backdrop.open {
    opacity: 1;
    visibility: visible;
}

.modal-panel {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.95);
    width: min(720px, calc(100vw - 48px));
    max-height: calc(100vh - 80px);
    overflow-y: auto;
    z-index: 210;
    border-radius: 28px;
    padding: 28px 32px;
    background: var(--glass-strong);
    -webkit-backdrop-filter: blur(40px) saturate(180%);
    backdrop-filter: blur(40px) saturate(180%);
    border: 0.5px solid var(--glass-edge);
    box-shadow: var(--shadow-deep);
    opacity: 0;
    visibility: hidden;
    transition: all 0.35s var(--ease-spring), visibility 0.35s var(--ease);
}

.modal-panel.open {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%) scale(1);
}

.modal-panel::before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 50%;
    background: var(--specular-top);
    pointer-events: none;
    border-radius: inherit;
}

.modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--glass-edge-bottom);
    position: relative;
}

.modal-head::after {
    content: '';
    position: absolute;
    bottom: -1px; left: 0;
    width: 36px; height: 1px;
    background: linear-gradient(90deg, var(--gold), transparent);
}

.modal-head h2 {
    font-family: 'Fraunces', serif;
    font-size: 22px;
    font-weight: 500;
    color: var(--ink);
    letter-spacing: -0.3px;
    font-variation-settings: "opsz" 96;
}

.modal-close {
    width: 32px; height: 32px;
    border-radius: 50%;
    border: none;
    background: rgba(255,255,255,0.4);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    color: var(--ink-2);
    font-size: 18px;
    cursor: pointer;
    display: grid;
    place-items: center;
    transition: all 0.2s var(--ease);
    line-height: 1;
}

[data-theme="dark"] .modal-close {
    background: rgba(232, 188, 88, 0.15);
}

.modal-close:hover {
    background: rgba(196, 148, 52, 0.25);
    color: var(--gold);
    transform: rotate(90deg);
}

.modal-section-title {
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 1.6px;
    color: var(--ink-4);
    text-transform: uppercase;
    margin: 18px 0 12px;
}

.modal-section-title:first-of-type { margin-top: 0; }

/* Projekt-Liste */
.project-row {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    border-radius: 14px;
    background: rgba(255, 252, 235, 0.4);
    border: 0.5px solid var(--glass-edge);
    cursor: pointer;
    transition: all 0.22s var(--ease);
    margin-bottom: 8px;
    position: relative;
    overflow: hidden;
}

[data-theme="dark"] .project-row {
    background: rgba(60, 44, 22, 0.4);
}

.project-row::before {
    content: '';
    position: absolute;
    top: 0; left: -120%;
    width: 60%; height: 100%;
    background: linear-gradient(105deg, transparent, var(--specular-edge), transparent);
    transition: left 700ms var(--ease-out);
    pointer-events: none;
}

.project-row:hover {
    background: rgba(255, 252, 235, 0.7);
    border-color: var(--glass-edge-2);
    transform: translateX(2px);
    box-shadow: 0 4px 12px rgba(31, 22, 8, 0.08);
}

[data-theme="dark"] .project-row:hover {
    background: rgba(80, 58, 30, 0.55);
}

.project-row:hover::before { left: 200%; }

.project-row.active {
    background: linear-gradient(135deg, rgba(239, 224, 181, 0.7), rgba(239, 224, 181, 0.5));
    border-color: var(--gold-soft);
    box-shadow: 0 0 0 1px var(--gold-pale), inset 0 1px 0 rgba(255,255,255,0.5);
}

[data-theme="dark"] .project-row.active {
    background: linear-gradient(135deg, rgba(140, 100, 40, 0.5), rgba(100, 70, 28, 0.4));
}

.project-icon {
    width: 40px; height: 40px;
    border-radius: 10px;
    background: rgba(196, 148, 52, 0.15);
    display: grid; place-items: center;
    color: var(--gold);
    flex-shrink: 0;
    transition: all 0.22s var(--ease);
}

.project-icon svg {
    width: 20px; height: 20px;
    stroke: currentColor;
    stroke-width: 1.5;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.project-row:hover .project-icon {
    background: rgba(196, 148, 52, 0.3);
    transform: scale(1.05);
}

.project-info { flex: 1; min-width: 0; }
.project-name {
    font-weight: 600;
    color: var(--ink);
    font-size: 14px;
    margin-bottom: 2px;
}

.project-meta {
    font-size: 11.5px;
    color: var(--ink-3);
    font-family: 'JetBrains Mono', monospace;
}

.project-active-pill {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1px;
    padding: 3px 8px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--gold-bright), var(--gold));
    color: #FFF8E8;
    text-transform: uppercase;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.4);
}

/* Neues Projekt + Upload */
.modal-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-top: 16px;
}

.modal-action {
    border-radius: 16px;
    padding: 22px 18px;
    border: 1.5px dashed var(--glass-edge-bottom);
    background: rgba(255, 252, 235, 0.25);
    text-align: center;
    cursor: pointer;
    transition: all 0.25s var(--ease);
    position: relative;
    overflow: hidden;
}

[data-theme="dark"] .modal-action {
    background: rgba(60, 44, 22, 0.25);
}

.modal-action:hover {
    border-color: var(--gold);
    background: rgba(239, 224, 181, 0.3);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(196, 148, 52, 0.18);
}

[data-theme="dark"] .modal-action:hover {
    background: rgba(140, 100, 40, 0.3);
}

.modal-action.dragover {
    border-color: var(--gold-bright);
    background: rgba(196, 148, 52, 0.18);
    border-style: solid;
    transform: scale(1.02);
    box-shadow: 0 0 0 4px var(--gold-pale), 0 8px 32px rgba(196, 148, 52, 0.3);
}

.action-icon {
    width: 44px; height: 44px;
    margin: 0 auto 10px;
    color: var(--gold);
    transition: transform 0.3s var(--ease-spring);
}

.action-icon svg {
    width: 100%; height: 100%;
    stroke: currentColor;
    stroke-width: 1.4;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    filter: drop-shadow(0 2px 4px rgba(196, 148, 52, 0.25));
}

.modal-action:hover .action-icon { transform: translateY(-2px) scale(1.1); }

.action-title {
    font-family: 'Fraunces', serif;
    font-size: 16px;
    font-weight: 500;
    color: var(--ink);
    margin-bottom: 4px;
}

.action-desc {
    font-size: 11.5px;
    color: var(--ink-3);
    line-height: 1.5;
}

.action-formats {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-top: 10px;
    flex-wrap: wrap;
}

.format-pill {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.8px;
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(196, 148, 52, 0.15);
    color: var(--gold);
    text-transform: uppercase;
}


/* ═══════════════════════════════════════════════════════════════════════
   SETTINGS-MODAL — dunkles, edles Konto-Panel mit Plan-Anzeige
═══════════════════════════════════════════════════════════════════════════ */
.settings-modal {
    width: min(560px, calc(100vw - 32px));
    background: linear-gradient(180deg, rgba(28, 22, 12, 0.92), rgba(20, 14, 6, 0.96));
    -webkit-backdrop-filter: blur(40px) saturate(180%);
    backdrop-filter: blur(40px) saturate(180%);
    border: 0.5px solid rgba(232, 188, 88, 0.18);
    color: var(--ink-2);
    padding: 26px 28px;
}

.settings-modal::before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 60%;
    background: linear-gradient(180deg, rgba(232, 188, 88, 0.06) 0%, transparent 60%);
    pointer-events: none;
    border-radius: inherit;
}

.settings-modal h2 {
    color: var(--gold);
    display: flex;
    align-items: center;
    gap: 10px;
}

.settings-modal h2 .settings-cog {
    color: var(--gold);
    animation: cogSpin 16s linear infinite;
}

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

.settings-modal .modal-head {
    border-bottom-color: rgba(232, 188, 88, 0.14);
    margin-bottom: 18px;
}

.settings-modal .modal-close {
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 248, 220, 0.6);
    border: 0.5px solid rgba(232, 188, 88, 0.15);
}

.settings-modal .modal-close:hover {
    background: rgba(232, 188, 88, 0.18);
    color: var(--gold-bright);
}

.settings-email {
    color: rgba(232, 188, 88, 0.75);
    font-size: 13px;
    margin-bottom: 18px;
    font-family: 'JetBrains Mono', monospace;
    letter-spacing: -0.2px;
}

/* Plan-Banner — heller Pergament-Streifen mit goldenem Glanz */
.plan-banner {
    background: linear-gradient(180deg, #FAF3DC 0%, #F4ECC8 100%);
    color: #2A1F0E;
    border-radius: 14px;
    padding: 18px 22px;
    margin-bottom: 26px;
    text-align: center;
    font-size: 14px;
    line-height: 1.6;
    position: relative;
    overflow: hidden;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.7),
        inset 0 -1px 0 rgba(160, 120, 32, 0.12),
        0 4px 16px rgba(0, 0, 0, 0.25);
}

.plan-banner strong {
    color: var(--gold);
    font-weight: 700;
    font-family: 'Fraunces', serif;
    font-size: 16px;
}

.plan-shine {
    position: absolute;
    top: 0; left: -100%;
    width: 50%; height: 100%;
    background: linear-gradient(105deg, transparent, rgba(255, 255, 255, 0.6), transparent);
    animation: planShine 5s ease-in-out 1.5s infinite;
}

@keyframes planShine {
    0%, 100% { left: -100%; }
    50%, 60% { left: 200%; }
}

.settings-section {
    margin-bottom: 22px;
}

.settings-section-title {
    color: rgba(255, 248, 220, 0.95);
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 12px;
    letter-spacing: -0.1px;
}

.settings-row {
    display: flex;
    gap: 10px;
}

.settings-input {
    flex: 1;
    padding: 13px 18px;
    border-radius: 12px;
    background: linear-gradient(180deg, #FAF3DC, #F4ECC8);
    color: #2A1F0E;
    font-size: 13.5px;
    font-family: inherit;
    border: none;
    outline: none;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.6),
        inset 0 -1px 0 rgba(160, 120, 32, 0.10);
    transition: box-shadow 0.2s var(--ease);
}

.settings-input::placeholder {
    color: rgba(160, 120, 32, 0.55);
    font-weight: 500;
}

.settings-input:focus {
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.6),
        0 0 0 3px rgba(196, 148, 52, 0.35),
        0 0 12px rgba(196, 148, 52, 0.25);
}

.settings-input.full {
    width: 100%;
    margin-bottom: 10px;
}

.settings-btn {
    padding: 13px 24px;
    border-radius: 12px;
    flex-shrink: 0;
    min-width: 140px;
}

.settings-btn-wide {
    width: 100%;
    padding: 14px 20px;
    border-radius: 12px;
    margin-top: 4px;
    font-size: 14px;
}

.settings-divider {
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(232, 188, 88, 0.18), transparent);
    margin: 24px 0;
}

/* Ghost-Button (Abmelden) */
.btn-ghost-wide {
    width: 100%;
    padding: 13px 20px;
    border-radius: 12px;
    background: transparent;
    border: 1px solid rgba(232, 188, 88, 0.20);
    color: rgba(255, 248, 220, 0.95);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s var(--ease);
    font-family: inherit;
    margin-bottom: 18px;
}

.btn-ghost-wide:hover {
    background: rgba(232, 188, 88, 0.10);
    border-color: rgba(232, 188, 88, 0.35);
    transform: translateY(-1px);
}

.settings-info {
    color: rgba(255, 248, 220, 0.55);
    font-size: 12.5px;
    line-height: 1.6;
    margin-bottom: 12px;
    text-align: center;
}

.btn-warning-wide {
    width: 100%;
    padding: 13px 20px;
    border-radius: 12px;
    background: transparent;
    border: 1px solid rgba(226, 153, 56, 0.35);
    color: #E29938;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s var(--ease);
    font-family: inherit;
    margin-bottom: 24px;
}

.btn-warning-wide:hover {
    background: rgba(226, 153, 56, 0.10);
    border-color: rgba(226, 153, 56, 0.55);
}

.danger-zone {
    border: 1px solid rgba(232, 76, 76, 0.30);
    border-radius: 14px;
    padding: 18px 20px;
    background: rgba(232, 76, 76, 0.04);
}

.danger-title {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #E75E5E;
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 10px;
}

.danger-text {
    color: rgba(255, 248, 220, 0.65);
    font-size: 12.5px;
    line-height: 1.6;
    margin-bottom: 14px;
}

.btn-danger-wide {
    width: 100%;
    padding: 12px 20px;
    border-radius: 10px;
    background: transparent;
    border: 1px solid rgba(232, 76, 76, 0.45);
    color: #E75E5E;
    font-size: 13.5px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s var(--ease);
    font-family: inherit;
}

.btn-danger-wide:hover {
    background: rgba(232, 76, 76, 0.12);
    border-color: rgba(232, 76, 76, 0.7);
}


/* ═══════════════════════════════════════════════════════════════════════
   SPARRING-CHAT — vollwertiges Chat-Interface mit der KI
═══════════════════════════════════════════════════════════════════════════ */
.sparring-modal {
    position: fixed;
    inset: 80px 24px 24px 24px;
    z-index: 180;
    background: var(--glass-strong);
    -webkit-backdrop-filter: blur(40px) saturate(180%);
    backdrop-filter: blur(40px) saturate(180%);
    border: 0.5px solid var(--glass-edge);
    border-radius: 28px;
    box-shadow: var(--shadow-deep);
    display: none;
    grid-template-columns: 240px 1fr 280px;
    overflow: hidden;
    opacity: 0;
    transform: scale(0.97) translateY(20px);
    transition: opacity 0.4s var(--ease), transform 0.4s var(--ease-spring);
}

.sparring-modal.open {
    display: grid;
    opacity: 1;
    transform: scale(1) translateY(0);
}

.sparring-modal::before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 60px;
    background: var(--specular-top);
    pointer-events: none;
    border-radius: inherit;
    z-index: 1;
}

/* Sessions-Sidebar links */
.sparring-sessions {
    border-right: 1px solid var(--glass-edge-bottom);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative;
    z-index: 2;
}

.sparring-head {
    padding: 18px 20px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--glass-edge-bottom);
}

.sparring-head h4 {
    font-family: 'Fraunces', serif;
    font-size: 15px;
    font-weight: 500;
    color: var(--ink);
    display: flex;
    align-items: center;
    gap: 8px;
}

.sparring-head h4 svg {
    width: 18px; height: 18px;
    color: var(--gold);
    stroke: currentColor;
    stroke-width: 1.6;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.sparring-sessions-list {
    flex: 1;
    overflow-y: auto;
    padding: 8px;
}

.sparring-session {
    padding: 11px 12px;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s var(--ease);
    margin-bottom: 3px;
    position: relative;
}

.sparring-session:hover {
    background: rgba(255, 252, 235, 0.6);
}

[data-theme="dark"] .sparring-session:hover {
    background: rgba(232, 188, 88, 0.10);
}

.sparring-session.active {
    background: linear-gradient(135deg, rgba(239, 224, 181, 0.7), rgba(239, 224, 181, 0.4));
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.5);
}

[data-theme="dark"] .sparring-session.active {
    background: linear-gradient(135deg, rgba(140, 100, 40, 0.45), rgba(100, 70, 28, 0.3));
}

.sparring-session.active::before {
    content: '';
    position: absolute;
    left: -8px;
    top: 50%;
    transform: translateY(-50%);
    width: 3px; height: 18px;
    background: var(--gold);
    border-radius: 0 3px 3px 0;
    box-shadow: 0 0 8px var(--gold-glow);
}

.session-title {
    font-size: 13px;
    font-weight: 600;
    color: var(--ink);
    margin-bottom: 3px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.session-meta {
    font-size: 10.5px;
    color: var(--ink-4);
    font-family: 'JetBrains Mono', monospace;
}

.new-session-btn {
    margin: 6px 8px 14px;
    padding: 11px 14px;
    border: 1px dashed var(--glass-edge-bottom);
    border-radius: 12px;
    background: transparent;
    color: var(--gold);
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.22s var(--ease);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: inherit;
}

.new-session-btn:hover {
    border-color: var(--gold);
    background: rgba(196, 148, 52, 0.10);
}

/* Chat-Mitte */
.sparring-chat {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative;
    z-index: 2;
}

.sparring-chat-head {
    padding: 16px 22px;
    border-bottom: 1px solid var(--glass-edge-bottom);
    display: flex;
    align-items: center;
    gap: 14px;
    flex-shrink: 0;
}

.sparring-chat-head .ai-avatar {
    width: 38px; height: 38px;
    border-radius: 12px;
    background:
        radial-gradient(circle at 30% 25%, rgba(255,255,255,0.55), transparent 50%),
        linear-gradient(135deg, var(--gold-bright), var(--gold) 70%);
    display: grid;
    place-items: center;
    color: #FFF8E8;
    flex-shrink: 0;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.4),
        0 2px 8px rgba(160,120,32,0.3);
    position: relative;
}

.sparring-chat-head .ai-avatar svg {
    width: 22px; height: 22px;
    stroke: currentColor;
    stroke-width: 1.6;
    fill: none;
}

.sparring-chat-head .ai-avatar::after {
    content: '';
    position: absolute;
    bottom: -1px; right: -1px;
    width: 12px; height: 12px;
    border-radius: 50%;
    background: #6FBE6F;
    border: 2px solid var(--bg-1);
    box-shadow: 0 0 8px rgba(111, 190, 111, 0.5);
}

.sparring-chat-head-info { flex: 1; }

.sparring-chat-head-info h3 {
    font-family: 'Fraunces', serif;
    font-size: 16px;
    font-weight: 600;
    color: var(--ink);
    margin-bottom: 2px;
}

.sparring-chat-head-info .subtitle {
    font-size: 11.5px;
    color: var(--ink-3);
    display: flex;
    align-items: center;
    gap: 6px;
}

.sparring-chat-head-info .subtitle::before {
    content: '';
    width: 6px; height: 6px;
    border-radius: 50%;
    background: #6FBE6F;
    box-shadow: 0 0 6px rgba(111, 190, 111, 0.5);
}

.sparring-close {
    width: 32px; height: 32px;
    border-radius: 50%;
    border: none;
    background: rgba(196, 148, 52, 0.10);
    color: var(--ink-2);
    cursor: pointer;
    font-size: 18px;
    display: grid;
    place-items: center;
    transition: all 0.22s var(--ease);
    flex-shrink: 0;
}

.sparring-close:hover {
    background: rgba(196, 148, 52, 0.22);
    color: var(--gold);
    transform: rotate(90deg);
}

/* Messages-Stream */
.sparring-stream {
    flex: 1;
    overflow-y: auto;
    padding: 24px 28px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.msg {
    display: flex;
    gap: 10px;
    animation: msgIn 0.4s var(--ease) both;
    max-width: 78%;
}

@keyframes msgIn {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}

.msg.user {
    align-self: flex-end;
    flex-direction: row-reverse;
}

.msg-avatar {
    width: 32px; height: 32px;
    border-radius: 10px;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    font-family: 'Fraunces', serif;
    font-weight: 600;
    font-size: 14px;
    color: #FFF8E8;
}

.msg.ai .msg-avatar {
    background:
        radial-gradient(circle at 30% 25%, rgba(255,255,255,0.55), transparent 50%),
        linear-gradient(135deg, var(--gold-bright), var(--gold) 70%);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.4),
        0 2px 6px rgba(160,120,32,0.25);
    background-image: var(--logo-mark);
    background-size: 70%;
    background-position: center;
    background-repeat: no-repeat;
    background-color: rgba(196, 148, 52, 0.15);
    border: 0.5px solid var(--glass-edge);
}

.msg.user .msg-avatar {
    background: linear-gradient(135deg, var(--ink), #4A3818);
    color: var(--gold-bright);
}

[data-theme="dark"] .msg.user .msg-avatar {
    background: linear-gradient(135deg, var(--ink-3), var(--ink-4));
    color: var(--bg-1);
}

.msg-bubble {
    padding: 12px 16px;
    border-radius: 18px;
    font-size: 14px;
    line-height: 1.55;
    color: var(--ink);
    position: relative;
}

.msg.ai .msg-bubble {
    background: rgba(255, 252, 235, 0.65);
    border: 0.5px solid var(--glass-edge);
    border-radius: 4px 18px 18px 18px;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.45),
        0 2px 8px rgba(31,22,8,0.06);
}

[data-theme="dark"] .msg.ai .msg-bubble {
    background: rgba(60, 44, 22, 0.7);
}

.msg.user .msg-bubble {
    background: linear-gradient(180deg, var(--gold-bright), var(--gold));
    color: #FFF8E8;
    border-radius: 18px 4px 18px 18px;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.45),
        inset 0 -1px 2px rgba(80,50,0,0.2),
        0 2px 8px rgba(160,120,32,0.25);
}

.msg-bubble p { margin-bottom: 0.6em; }
.msg-bubble p:last-child { margin-bottom: 0; }
.msg-bubble strong { font-weight: 700; }
.msg-bubble em { font-style: italic; }

.msg-bubble blockquote {
    border-left: 2px solid var(--gold);
    padding: 4px 0 4px 12px;
    margin: 8px 0;
    font-style: italic;
    color: var(--ink-2);
    font-size: 13px;
}

.msg.user .msg-bubble blockquote {
    border-left-color: rgba(255,248,220,0.65);
    color: rgba(255,248,220,0.9);
}

/* Typing-Indicator */
.msg-typing .msg-bubble {
    padding: 14px 18px;
    display: flex;
    gap: 4px;
    align-items: center;
}

.typing-dot {
    width: 7px; height: 7px;
    border-radius: 50%;
    background: var(--gold);
    opacity: 0.4;
    animation: typingPulse 1.4s ease-in-out infinite;
}

.typing-dot:nth-child(2) { animation-delay: 0.15s; }
.typing-dot:nth-child(3) { animation-delay: 0.3s; }

@keyframes typingPulse {
    0%, 60%, 100% { opacity: 0.3; transform: scale(0.85); }
    30%           { opacity: 1; transform: scale(1.1); }
}

/* Quick-Replies */
.sparring-quick-replies {
    padding: 0 28px 14px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    flex-shrink: 0;
}

.quick-reply {
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(255, 252, 235, 0.55);
    border: 0.5px solid var(--glass-edge);
    color: var(--ink-2);
    font-family: inherit;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.22s var(--ease);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.4);
}

[data-theme="dark"] .quick-reply { background: rgba(60, 44, 22, 0.55); }

.quick-reply:hover {
    background: rgba(196, 148, 52, 0.18);
    border-color: var(--gold);
    color: var(--gold);
    transform: translateY(-1px);
}

/* Input-Bar unten */
.sparring-input-bar {
    padding: 14px 22px 18px;
    border-top: 1px solid var(--glass-edge-bottom);
    flex-shrink: 0;
    display: flex;
    align-items: flex-end;
    gap: 10px;
    background: rgba(255, 252, 235, 0.3);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

[data-theme="dark"] .sparring-input-bar {
    background: rgba(40, 28, 14, 0.4);
}

.sparring-input-wrap {
    flex: 1;
    position: relative;
}

.sparring-input {
    width: 100%;
    padding: 12px 80px 12px 16px;
    border-radius: 18px;
    background: rgba(255, 252, 235, 0.85);
    border: 0.5px solid var(--glass-edge);
    color: var(--ink);
    font-size: 14px;
    font-family: inherit;
    outline: none;
    resize: none;
    min-height: 44px;
    max-height: 140px;
    transition: all 0.2s var(--ease);
    line-height: 1.5;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.5);
}

[data-theme="dark"] .sparring-input {
    background: rgba(60, 44, 22, 0.7);
    color: var(--ink);
}

.sparring-input::placeholder {
    color: var(--ink-4);
}

.sparring-input:focus {
    border-color: var(--gold);
    background: rgba(255, 252, 235, 0.95);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.5),
        0 0 0 3px rgba(196, 148, 52, 0.18);
}

.sparring-input-actions {
    position: absolute;
    right: 6px;
    bottom: 6px;
    display: flex;
    gap: 4px;
}

.sparring-action-btn {
    width: 32px; height: 32px;
    border-radius: 10px;
    background: transparent;
    border: none;
    cursor: pointer;
    color: var(--ink-3);
    display: grid;
    place-items: center;
    transition: all 0.18s var(--ease);
}

.sparring-action-btn:hover {
    background: rgba(196, 148, 52, 0.15);
    color: var(--gold);
}

.sparring-action-btn svg {
    width: 16px; height: 16px;
    stroke: currentColor;
    stroke-width: 1.6;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.sparring-send {
    width: 44px; height: 44px;
    border-radius: 14px;
    background: linear-gradient(180deg, var(--gold-bright), var(--gold));
    border: none;
    color: #FFF8E8;
    cursor: pointer;
    display: grid;
    place-items: center;
    transition: all 0.2s var(--ease);
    flex-shrink: 0;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.4),
        0 2px 8px rgba(160,120,32,0.3);
}

.sparring-send:hover {
    transform: translateY(-1px);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.5),
        0 4px 16px rgba(160,120,32,0.45);
}

.sparring-send svg {
    width: 18px; height: 18px;
    stroke: currentColor;
    stroke-width: 1.8;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Kontext rechts */
.sparring-context {
    border-left: 1px solid var(--glass-edge-bottom);
    overflow-y: auto;
    padding: 18px 20px;
    position: relative;
    z-index: 2;
}

.context-section { margin-bottom: 22px; }
.context-section:last-child { margin-bottom: 0; }

.context-section h5 {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.6px;
    color: var(--ink-4);
    text-transform: uppercase;
    margin-bottom: 10px;
}

.context-card {
    padding: 12px 14px;
    border-radius: 12px;
    background: rgba(255, 252, 235, 0.55);
    border: 0.5px solid var(--glass-edge);
    font-size: 12.5px;
    line-height: 1.55;
    color: var(--ink-2);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.4);
}

[data-theme="dark"] .context-card {
    background: rgba(60, 44, 22, 0.5);
}

.context-card .label {
    font-size: 10.5px;
    font-weight: 700;
    color: var(--gold);
    margin-bottom: 4px;
    letter-spacing: 0.4px;
}

.context-tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(196, 148, 52, 0.12);
    color: var(--gold);
    font-size: 11px;
    font-weight: 600;
    margin: 3px 4px 3px 0;
}

.context-tag-dot {
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--gold);
    box-shadow: 0 0 6px var(--gold-glow);
}

/* Sparring-Backdrop */
.sparring-backdrop {
    position: fixed;
    inset: 0;
    z-index: 175;
    background: rgba(31, 22, 8, 0.45);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s var(--ease), visibility 0.35s var(--ease);
}

[data-theme="dark"] .sparring-backdrop { background: rgba(0, 0, 0, 0.65); }

.sparring-backdrop.open { opacity: 1; visibility: visible; }


/* Mobile Sparring */
@media (max-width: 968px) {
    .sparring-modal { grid-template-columns: 1fr 280px; }
    .sparring-sessions { display: none; }
}

@media (max-width: 768px) {
    .sparring-modal {
        inset: 70px 8px 8px 8px;
        grid-template-columns: 1fr;
        border-radius: 22px;
    }
    .sparring-sessions, .sparring-context { display: none; }
    .sparring-stream { padding: 18px 16px; }
    .sparring-quick-replies { padding: 0 16px 12px; }
    .sparring-input-bar { padding: 12px 14px 14px; }
    .msg { max-width: 88%; }
    .sparring-chat-head { padding: 14px 16px; }
}


/* ═══════════════════════════════════════════════════════════════════════
   LEKTORAT-MODI MODAL — Wahl der Lektorat-Stufe
═══════════════════════════════════════════════════════════════════════════ */
.lektorat-modal {
    width: min(640px, calc(100vw - 32px));
}

.lektorat-modes {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 8px;
}

.lektorat-mode {
    padding: 18px 18px;
    border-radius: 16px;
    background: rgba(255, 252, 235, 0.55);
    border: 0.5px solid var(--glass-edge);
    cursor: pointer;
    transition: all 0.25s var(--ease);
    text-align: left;
    position: relative;
    overflow: hidden;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.4);
}

[data-theme="dark"] .lektorat-mode {
    background: rgba(60, 44, 22, 0.5);
}

.lektorat-mode::before {
    content: '';
    position: absolute;
    top: 0; left: -120%;
    width: 60%; height: 100%;
    background: linear-gradient(105deg, transparent, var(--specular-edge), transparent);
    transition: left 700ms var(--ease-out);
    pointer-events: none;
}

.lektorat-mode:hover {
    transform: translateY(-2px);
    border-color: var(--gold-soft);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.55),
        0 8px 24px rgba(196, 148, 52, 0.18);
}

.lektorat-mode:hover::before { left: 200%; }

.lektorat-mode.selected {
    background: linear-gradient(135deg, rgba(239, 224, 181, 0.8), rgba(239, 224, 181, 0.55));
    border-color: var(--gold);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.55),
        0 0 0 2px rgba(196, 148, 52, 0.22),
        0 8px 24px rgba(196, 148, 52, 0.25);
}

[data-theme="dark"] .lektorat-mode.selected {
    background: linear-gradient(135deg, rgba(140, 100, 40, 0.55), rgba(100, 70, 28, 0.4));
}

.mode-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

.mode-icon {
    width: 36px; height: 36px;
    border-radius: 10px;
    background: rgba(196, 148, 52, 0.14);
    color: var(--gold);
    display: grid;
    place-items: center;
    flex-shrink: 0;
    transition: all 0.2s var(--ease);
}

.mode-icon svg {
    width: 18px; height: 18px;
    stroke: currentColor;
    stroke-width: 1.6;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.lektorat-mode:hover .mode-icon {
    background: rgba(196, 148, 52, 0.28);
    transform: scale(1.05);
}

.lektorat-mode.selected .mode-icon {
    background: linear-gradient(180deg, var(--gold-bright), var(--gold));
    color: #FFF8E8;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.4),
        0 2px 8px rgba(160,120,32,0.3);
}

.mode-name {
    font-family: 'Fraunces', serif;
    font-size: 16px;
    font-weight: 600;
    color: var(--ink);
    flex: 1;
}

.mode-cost {
    font-size: 10.5px;
    font-weight: 700;
    color: var(--gold);
    font-family: 'JetBrains Mono', monospace;
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(196, 148, 52, 0.12);
}

.mode-desc {
    font-size: 12.5px;
    color: var(--ink-3);
    line-height: 1.55;
    margin-bottom: 10px;
}

.mode-features {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.mode-feature {
    font-size: 10.5px;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(196, 148, 52, 0.10);
    color: var(--gold);
    letter-spacing: 0.2px;
}

/* Optionen unter den Modi */
.lektorat-options {
    margin-top: 18px;
    padding: 14px 16px;
    border-radius: 14px;
    background: rgba(196, 148, 52, 0.06);
    border: 0.5px solid var(--glass-edge);
}

.lektorat-options h5 {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.6px;
    color: var(--ink-4);
    text-transform: uppercase;
    margin-bottom: 10px;
}

.option-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 0;
    font-size: 13px;
    color: var(--ink-2);
}

.option-row:not(:last-child) {
    border-bottom: 1px solid var(--glass-edge-bottom);
}

/* Toggle Switch */
.toggle {
    position: relative;
    width: 36px; height: 20px;
    border-radius: 999px;
    background: rgba(31, 22, 8, 0.18);
    cursor: pointer;
    transition: background 0.25s var(--ease);
    flex-shrink: 0;
}

.toggle::after {
    content: '';
    position: absolute;
    top: 2px; left: 2px;
    width: 16px; height: 16px;
    border-radius: 50%;
    background: #FFF8E8;
    transition: transform 0.25s var(--ease-spring);
    box-shadow: 0 1px 3px rgba(0,0,0,0.18);
}

.toggle.on {
    background: linear-gradient(180deg, var(--gold-bright), var(--gold));
}

.toggle.on::after {
    transform: translateX(16px);
}

/* AE/BE Segment */
.lang-variant-seg {
    display: inline-flex;
    background: rgba(196, 148, 52, 0.10);
    border-radius: 999px;
    padding: 3px;
    gap: 2px;
}

.lang-variant {
    padding: 5px 12px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    color: var(--ink-3);
    cursor: pointer;
    transition: all 0.2s var(--ease);
    border: none;
    background: transparent;
    font-family: inherit;
    letter-spacing: 0.5px;
}

.lang-variant.active {
    background: linear-gradient(180deg, #FFFCEF, #F4ECC8);
    color: var(--gold);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.6);
}

[data-theme="dark"] .lang-variant.active {
    background: linear-gradient(180deg, #4A3818, #3A2C12);
    color: var(--gold-bright);
}

/* Submit-Button */
.lektorat-submit {
    margin-top: 18px;
    width: 100%;
    padding: 14px 24px;
    border-radius: 14px;
    background: linear-gradient(180deg, var(--gold-bright) 0%, var(--gold) 80%);
    color: #FFF8E8;
    border: none;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.3px;
    cursor: pointer;
    transition: all 0.25s var(--ease);
    position: relative;
    overflow: hidden;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.45),
        0 4px 14px rgba(160,120,32,0.32);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.lektorat-submit:hover {
    transform: translateY(-1px);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.5),
        0 6px 22px rgba(160,120,32,0.4);
}

.lektorat-submit svg {
    width: 16px; height: 16px;
    stroke: currentColor;
    stroke-width: 1.8;
    fill: none;
}

.cost-display {
    text-align: center;
    margin-top: 10px;
    font-size: 11.5px;
    color: var(--ink-3);
    font-family: 'JetBrains Mono', monospace;
}

.cost-display b { color: var(--gold); }

@media (max-width: 768px) {
    .lektorat-modes { grid-template-columns: 1fr; }
}


/* ═══════════════════════════════════════════════════════════════════════
   AUTH-SCREEN — Login & Register im Liquid-Glass-Look
═══════════════════════════════════════════════════════════════════════════ */
.auth-screen {
    position: fixed;
    inset: 0;
    z-index: 95;
    display: grid;
    place-items: center;
    background: var(--bg-1);
    background-image:
        radial-gradient(ellipse 1400px 1000px at 30% 20%, rgba(239, 224, 181, 0.55), transparent 60%),
        radial-gradient(ellipse 1200px 800px at 75% 75%, rgba(196, 148, 52, 0.18), transparent 65%),
        radial-gradient(ellipse 800px 600px at 50% 50%, rgba(255, 250, 235, 0.4), transparent 70%);
    overflow: hidden;
}

[data-theme="dark"] .auth-screen {
    background: var(--bg-1);
    background-image:
        radial-gradient(ellipse 1400px 1000px at 30% 20%, rgba(196, 148, 52, 0.18), transparent 60%),
        radial-gradient(ellipse 1200px 800px at 75% 75%, rgba(140, 100, 40, 0.12), transparent 65%);
}

/* Floating goldene Partikel im Hintergrund */
.auth-particle {
    position: absolute;
    width: 4px; height: 4px;
    border-radius: 50%;
    background: var(--gold-bright);
    box-shadow: 0 0 14px var(--gold-glow);
    pointer-events: none;
    opacity: 0;
    animation: floatParticle 14s ease-in-out infinite;
}

.auth-particle:nth-child(1) { top: 18%; left: 12%; animation-delay: 0s; }
.auth-particle:nth-child(2) { top: 35%; right: 18%; width: 3px; height: 3px; animation-delay: 2.5s; }
.auth-particle:nth-child(3) { top: 65%; left: 22%; width: 5px; height: 5px; animation-delay: 5s; }
.auth-particle:nth-child(4) { top: 80%; right: 30%; width: 3px; height: 3px; animation-delay: 7s; }
.auth-particle:nth-child(5) { top: 25%; left: 65%; width: 4px; height: 4px; animation-delay: 9.5s; }
.auth-particle:nth-child(6) { top: 70%; right: 10%; width: 3px; height: 3px; animation-delay: 11s; }

@keyframes floatParticle {
    0%, 100% { opacity: 0; transform: translateY(0) scale(0.8); }
    20%      { opacity: 0.8; transform: translateY(-20px) scale(1); }
    50%      { opacity: 0.4; transform: translateY(-40px) scale(0.9); }
    80%      { opacity: 0.8; transform: translateY(-60px) scale(1); }
}

.auth-card {
    width: min(440px, calc(100vw - 32px));
    max-height: calc(100vh - 32px);
    overflow-y: auto;
    background: var(--glass-strong);
    -webkit-backdrop-filter: blur(40px) saturate(180%);
    backdrop-filter: blur(40px) saturate(180%);
    border: 0.5px solid var(--glass-edge);
    border-radius: 28px;
    padding: 36px 36px 32px;
    box-shadow: var(--shadow-deep);
    position: relative;
    z-index: 2;
}

.auth-card::before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 60%;
    background: var(--specular-top);
    pointer-events: none;
    border-radius: inherit;
}

/* Logo-Bereich oben in der Karte */
.auth-logo-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 26px;
    position: relative;
    z-index: 1;
}

.auth-logo {
    width: 64px;
    height: 64px;
    background-image: var(--logo-mark);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    filter: drop-shadow(0 4px 12px rgba(196, 148, 52, 0.4));
    margin-bottom: 14px;
    animation: logoFloat 6s ease-in-out infinite;
}

@keyframes logoFloat {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-4px); }
}

.auth-title {
    font-family: 'Fraunces', serif;
    font-size: 26px;
    font-weight: 500;
    letter-spacing: -0.4px;
    color: var(--ink);
    text-align: center;
    margin-bottom: 4px;
    font-variation-settings: "opsz" 96;
}

.auth-title em {
    font-style: italic;
    color: var(--gold);
    font-weight: 400;
}

.auth-sub {
    color: var(--ink-3);
    font-size: 13.5px;
    text-align: center;
    line-height: 1.5;
}

/* Tabs Login/Register */
.auth-tabs {
    display: flex;
    gap: 4px;
    background: rgba(196, 148, 52, 0.08);
    padding: 4px;
    border-radius: 999px;
    margin-bottom: 24px;
    position: relative;
    z-index: 1;
}

.auth-tab {
    flex: 1;
    padding: 10px 16px;
    border-radius: 999px;
    background: transparent;
    border: none;
    cursor: pointer;
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    color: var(--ink-3);
    transition: all 0.25s var(--ease);
    letter-spacing: 0.2px;
}

.auth-tab.active {
    background: linear-gradient(180deg, #FFFCEF 0%, #F4ECC8 100%);
    color: var(--ink);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.7),
        0 2px 8px rgba(160, 120, 32, 0.15);
}

[data-theme="dark"] .auth-tab.active {
    background: linear-gradient(180deg, #4A3818 0%, #3A2C12 100%);
    color: var(--gold-bright);
    box-shadow:
        inset 0 1px 0 rgba(232, 188, 88, 0.2),
        0 2px 8px rgba(0, 0, 0, 0.3);
}

/* Form Felder */
.auth-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: relative;
    z-index: 1;
}

.auth-form.hidden { display: none; }

.auth-field {
    position: relative;
}

.auth-input {
    width: 100%;
    padding: 14px 16px 14px 44px;
    border-radius: 14px;
    background: rgba(255, 252, 235, 0.55);
    border: 0.5px solid var(--glass-edge);
    color: var(--ink);
    font-size: 14px;
    font-family: inherit;
    outline: none;
    transition: all 0.2s var(--ease);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

[data-theme="dark"] .auth-input {
    background: rgba(60, 44, 22, 0.5);
    color: var(--ink);
    box-shadow: inset 0 1px 0 rgba(232, 188, 88, 0.10);
}

.auth-input::placeholder {
    color: var(--ink-4);
    font-weight: 500;
}

.auth-input:focus {
    border-color: var(--gold);
    background: rgba(255, 252, 235, 0.85);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.5),
        0 0 0 4px rgba(196, 148, 52, 0.18);
}

[data-theme="dark"] .auth-input:focus {
    background: rgba(80, 58, 30, 0.7);
    box-shadow:
        inset 0 1px 0 rgba(232, 188, 88, 0.18),
        0 0 0 4px rgba(196, 148, 52, 0.25);
}

.auth-field-icon {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px; height: 18px;
    color: var(--ink-4);
    pointer-events: none;
    transition: color 0.2s var(--ease);
}

.auth-field-icon svg {
    width: 100%; height: 100%;
    stroke: currentColor;
    stroke-width: 1.6;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.auth-input:focus ~ .auth-field-icon { color: var(--gold); }

/* Eye-Toggle für Passwort */
.auth-pw-toggle {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 32px; height: 32px;
    border-radius: 8px;
    border: none;
    background: transparent;
    color: var(--ink-4);
    cursor: pointer;
    display: grid;
    place-items: center;
    transition: all 0.2s var(--ease);
}

.auth-pw-toggle svg {
    width: 16px; height: 16px;
    stroke: currentColor;
    stroke-width: 1.6;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.auth-pw-toggle:hover {
    background: rgba(196, 148, 52, 0.15);
    color: var(--gold);
}

/* Checkbox-Reihe */
.auth-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    font-size: 12.5px;
    margin: 4px 2px;
}

.auth-checkbox-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    color: var(--ink-2);
    user-select: none;
}

.auth-checkbox-wrap input { display: none; }

.auth-cb {
    width: 16px; height: 16px;
    border-radius: 5px;
    border: 1.5px solid var(--ink-4);
    background: rgba(255, 252, 235, 0.4);
    display: grid;
    place-items: center;
    transition: all 0.2s var(--ease);
    flex-shrink: 0;
}

.auth-cb svg {
    width: 11px; height: 11px;
    stroke: #FFF8E8;
    stroke-width: 2.5;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    opacity: 0;
    transform: scale(0.6);
    transition: all 0.2s var(--ease);
}

.auth-checkbox-wrap input:checked ~ .auth-cb {
    background: linear-gradient(180deg, var(--gold-bright), var(--gold));
    border-color: var(--gold);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.4);
}

.auth-checkbox-wrap input:checked ~ .auth-cb svg {
    opacity: 1;
    transform: scale(1);
}

.auth-link {
    color: var(--gold);
    text-decoration: none;
    font-weight: 600;
    transition: color 0.2s var(--ease);
}

.auth-link:hover { color: var(--gold-bright); text-decoration: underline; }

/* Submit Button */
.auth-submit {
    margin-top: 12px;
    padding: 14px 24px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--gold-bright) 0%, var(--gold) 80%);
    color: #FFF8E8;
    border: none;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.3px;
    cursor: pointer;
    transition: all 0.25s var(--ease);
    position: relative;
    overflow: hidden;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.45),
        inset 0 -2px 4px rgba(80,50,0,0.25),
        0 4px 14px rgba(160,120,32,0.32),
        0 1px 3px rgba(160,120,32,0.18);
}

.auth-submit::before {
    content: '';
    position: absolute;
    top: 0; left: -120%;
    width: 60%; height: 100%;
    background: linear-gradient(105deg, transparent, rgba(255,255,255,0.5), transparent);
    transition: left 700ms var(--ease-out);
}

.auth-submit:hover::before { left: 200%; }

.auth-submit:hover {
    transform: translateY(-1px);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.5),
        0 6px 22px rgba(160,120,32,0.4),
        0 2px 4px rgba(160,120,32,0.25);
}

.auth-submit:active { transform: translateY(0); }

/* Trenner mit OR */
.auth-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 22px 0 16px;
    color: var(--ink-4);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    position: relative;
    z-index: 1;
}

.auth-divider::before,
.auth-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--glass-edge-bottom), transparent);
}

/* OAuth Buttons */
.auth-oauth {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    position: relative;
    z-index: 1;
}

.auth-oauth-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 11px 14px;
    border-radius: 12px;
    background: rgba(255, 252, 235, 0.55);
    border: 0.5px solid var(--glass-edge);
    color: var(--ink-2);
    font-family: inherit;
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s var(--ease);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.4);
}

[data-theme="dark"] .auth-oauth-btn {
    background: rgba(60, 44, 22, 0.5);
}

.auth-oauth-btn:hover {
    transform: translateY(-1px);
    background: rgba(255, 252, 235, 0.85);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.5),
        0 4px 12px rgba(31,22,8,0.08);
}

[data-theme="dark"] .auth-oauth-btn:hover {
    background: rgba(80, 58, 30, 0.7);
}

.auth-oauth-btn svg {
    width: 16px; height: 16px;
}

/* Footer der Auth-Karte */
.auth-footer-note {
    text-align: center;
    color: var(--ink-4);
    font-size: 11.5px;
    margin-top: 22px;
    line-height: 1.6;
    position: relative;
    z-index: 1;
}

.auth-footer-note a {
    color: var(--ink-3);
    text-decoration: underline;
    text-decoration-color: var(--glass-edge-bottom);
}
.auth-footer-note a:hover { color: var(--gold); }

/* Mobile Auth */
@media (max-width: 768px) {
    .auth-card {
        padding: 28px 22px;
        width: calc(100vw - 24px);
        border-radius: 22px;
    }
    .auth-title { font-size: 22px; }
    .auth-logo { width: 56px; height: 56px; }
    .auth-oauth { grid-template-columns: 1fr; }
    .auth-tab { padding: 9px 14px; font-size: 12.5px; }
}


/* ═══════════════════════════════════════════════════════════════════════
   HILFE-MODAL — Schnellstart, Kontakt, Tastenkürzel
═══════════════════════════════════════════════════════════════════════════ */
.help-modal {
    width: min(620px, calc(100vw - 32px));
    max-height: calc(100vh - 60px);
}

.help-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 8px;
}

.help-card {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 14px;
    border-radius: 14px;
    background: rgba(255, 252, 235, 0.5);
    border: 0.5px solid var(--glass-edge);
    cursor: pointer;
    transition: all 0.22s var(--ease);
    text-decoration: none;
    color: inherit;
    font-family: inherit;
    text-align: left;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.4);
    position: relative;
    overflow: hidden;
}

[data-theme="dark"] .help-card { background: rgba(60, 44, 22, 0.5); }

.help-card::before {
    content: '';
    position: absolute;
    top: 0; left: -120%;
    width: 50%; height: 100%;
    background: linear-gradient(105deg, transparent, var(--specular-edge), transparent);
    transition: left 700ms var(--ease-out);
    pointer-events: none;
}

.help-card:hover {
    transform: translateY(-1px);
    border-color: var(--gold-soft);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.5),
        0 6px 18px rgba(196, 148, 52, 0.15);
}

.help-card:hover::before { left: 200%; }

.help-card-icon {
    width: 36px; height: 36px;
    border-radius: 10px;
    background: rgba(196, 148, 52, 0.14);
    color: var(--gold);
    display: grid;
    place-items: center;
    flex-shrink: 0;
    transition: all 0.22s var(--ease);
}

.help-card-icon svg { width: 18px; height: 18px; }

.help-card:hover .help-card-icon {
    background: rgba(196, 148, 52, 0.28);
    transform: scale(1.05);
}

.help-card-body { flex: 1; min-width: 0; }

.help-card-title {
    font-family: 'Fraunces', serif;
    font-size: 14px;
    font-weight: 600;
    color: var(--ink);
    margin-bottom: 3px;
    letter-spacing: -0.1px;
}

.help-card-desc {
    font-size: 11.5px;
    color: var(--ink-3);
    line-height: 1.55;
}

.help-footer {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--glass-edge-bottom);
}

.help-shortcut-list .kbd-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 5px 0;
    font-size: 12.5px;
    color: var(--ink-2);
}

kbd {
    font-family: 'JetBrains Mono', monospace;
    font-size: 10.5px;
    padding: 3px 8px;
    border-radius: 5px;
    background: rgba(196, 148, 52, 0.10);
    border: 0.5px solid var(--glass-edge);
    color: var(--gold);
    box-shadow: inset 0 -1px 0 rgba(160, 120, 32, 0.15);
    letter-spacing: 0.5px;
    font-weight: 600;
}

.help-version {
    font-size: 11px;
    color: var(--ink-4);
    text-align: center;
    line-height: 1.6;
    padding-top: 12px;
    border-top: 1px solid var(--glass-edge-bottom);
}

.help-version a {
    color: var(--gold);
    text-decoration: none;
    font-weight: 600;
}

.help-version a:hover { text-decoration: underline; }

@media (max-width: 768px) {
    .help-cards { grid-template-columns: 1fr; }
}


/* ═══════════════════════════════════════════════════════════════════════
   AUTOPILOT — Echte Werkzeuge: Buch-Scanner, Ideen-Bewerter, Launch-Planer, Hilfe-Scanner
═══════════════════════════════════════════════════════════════════════════ */

/* Upgrade-Box für Starter */
.ap-upgrade-box {
    padding: 28px 32px;
    margin-bottom: 22px;
    display: flex;
    gap: 24px;
    align-items: flex-start;
}

.ap-upgrade-icon {
    width: 56px; height: 56px;
    border-radius: 16px;
    background: rgba(196, 148, 52, 0.12);
    color: var(--gold);
    display: grid;
    place-items: center;
    flex-shrink: 0;
    border: 0.5px solid var(--glass-edge);
}

.ap-upgrade-icon svg { width: 26px; height: 26px; }

.ap-upgrade-body { flex: 1; }

.ap-upgrade-eyebrow {
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 1.6px;
    color: var(--gold);
    text-transform: uppercase;
    margin-bottom: 6px;
}

.ap-upgrade-title {
    font-family: 'Fraunces', serif;
    font-size: 24px;
    font-weight: 600;
    color: var(--ink);
    margin-bottom: 8px;
    letter-spacing: -0.3px;
    font-variation-settings: "opsz" 96;
}

.ap-upgrade-text {
    color: var(--ink-3);
    font-size: 14px;
    line-height: 1.65;
    margin-bottom: 16px;
}

.ap-upgrade-btn {
    display: inline-flex;
    align-items: center;
    padding: 11px 20px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--gold-bright), var(--gold));
    color: #FFF8E8;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.3px;
    border: none;
    cursor: pointer;
    transition: all 0.22s var(--ease);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.45),
        0 4px 14px rgba(160,120,32,0.32);
    font-family: inherit;
}

.ap-upgrade-btn:hover {
    transform: translateY(-1px);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.5),
        0 6px 22px rgba(160,120,32,0.4);
}

/* Usage-Anzeige (3 Items in einer Zeile, klein und dezent) */
.ap-usage {
    display: flex;
    gap: 14px;
    margin-bottom: 22px;
    flex-wrap: wrap;
}

.ap-usage-item {
    flex: 1;
    min-width: 180px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    border-radius: 14px;
    background: var(--glass);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    backdrop-filter: blur(20px) saturate(180%);
    border: 0.5px solid var(--glass-edge);
    box-shadow: var(--shadow-float);
}

.ap-usage-icon {
    width: 32px; height: 32px;
    border-radius: 10px;
    background: rgba(196, 148, 52, 0.12);
    color: var(--gold);
    display: grid;
    place-items: center;
    flex-shrink: 0;
}

.ap-usage-icon svg { width: 16px; height: 16px; }

.ap-usage-meta { flex: 1; min-width: 0; }

.ap-usage-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    color: var(--ink-4);
    text-transform: uppercase;
    margin-bottom: 2px;
}

.ap-usage-count {
    font-family: 'JetBrains Mono', monospace;
    font-size: 16px;
    font-weight: 700;
    color: var(--gold);
    letter-spacing: -0.2px;
}

/* Tool-Cards-Grid (2x2) */
.ap-tools {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 22px;
}

.ap-tool-card {
    text-align: left;
    padding: 28px 30px 30px;
    border-radius: 22px;
    background: var(--glass);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    backdrop-filter: blur(20px) saturate(180%);
    border: 0.5px solid var(--glass-edge);
    box-shadow: var(--shadow-float);
    cursor: pointer;
    transition: all 0.32s var(--ease);
    position: relative;
    overflow: hidden;
    font-family: inherit;
    color: inherit;
    min-height: 240px;
    display: flex;
    flex-direction: column;
}

.ap-tool-card::before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 60%;
    background: var(--specular-top);
    pointer-events: none;
    border-radius: inherit;
}

.ap-tool-card::after {
    content: '';
    position: absolute;
    top: 0; left: -120%;
    width: 50%; height: 100%;
    background: linear-gradient(105deg, transparent, var(--specular-edge), transparent);
    transition: left 800ms var(--ease-out);
    pointer-events: none;
}

.ap-tool-card:hover {
    transform: translateY(-3px);
    border-color: var(--gold-soft);
    box-shadow:
        0 14px 40px rgba(31, 22, 8, 0.12),
        0 4px 12px rgba(31, 22, 8, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

.ap-tool-card:hover::after { left: 200%; }

.ap-tool-num {
    font-family: 'JetBrains Mono', monospace;
    font-size: 12px;
    font-weight: 700;
    color: var(--gold);
    letter-spacing: 1.5px;
    margin-bottom: 4px;
    position: relative; z-index: 1;
}

.ap-tool-eyebrow {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    color: var(--gold);
    text-transform: uppercase;
    margin-bottom: 16px;
    position: relative; z-index: 1;
}

.ap-tool-headline {
    font-family: 'Fraunces', serif;
    font-size: 24px;
    font-weight: 500;
    color: var(--ink);
    line-height: 1.2;
    letter-spacing: -0.4px;
    margin-bottom: 14px;
    font-variation-settings: "opsz" 96;
    position: relative; z-index: 1;
}

.ap-tool-headline em {
    font-style: italic;
    color: var(--gold);
    font-weight: 400;
}

.ap-tool-desc {
    font-size: 14px;
    line-height: 1.65;
    color: var(--ink-3);
    flex: 1;
    margin-bottom: 0;
    position: relative; z-index: 1;
}

.ap-tool-desc strong {
    color: var(--ink);
    font-weight: 600;
}

.ap-tool-arrow {
    position: absolute;
    bottom: 24px;
    right: 24px;
    width: 36px; height: 36px;
    border-radius: 50%;
    background: rgba(196, 148, 52, 0.12);
    color: var(--gold);
    display: grid;
    place-items: center;
    transition: all 0.32s var(--ease);
    z-index: 1;
}

.ap-tool-card:hover .ap-tool-arrow {
    background: linear-gradient(135deg, var(--gold-bright), var(--gold));
    color: #FFF8E8;
    transform: translateX(4px);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.4),
        0 4px 12px rgba(160,120,32,0.35);
}

/* Workspace */
.ap-workspace {
    padding: 28px 32px 32px;
    margin-bottom: 22px;
}

.ap-workspace-head {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--glass-edge-bottom);
}

.ap-back-btn {
    width: 36px; height: 36px;
    border-radius: 50%;
    background: rgba(196, 148, 52, 0.10);
    border: 0.5px solid var(--glass-edge);
    color: var(--ink-2);
    cursor: pointer;
    display: grid;
    place-items: center;
    transition: all 0.22s var(--ease);
    flex-shrink: 0;
}

.ap-back-btn:hover {
    background: rgba(196, 148, 52, 0.22);
    color: var(--gold);
    transform: translateX(-2px);
}

.ap-workspace-title {
    font-family: 'Fraunces', serif;
    font-size: 24px;
    font-weight: 500;
    color: var(--ink);
    letter-spacing: -0.3px;
    font-variation-settings: "opsz" 96;
}

.ap-tool-hint {
    font-size: 14px;
    line-height: 1.65;
    color: var(--ink-3);
    margin-bottom: 20px;
}

/* Dropzone */
.ap-dropzone {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px 24px;
    border-radius: 18px;
    border: 2px dashed rgba(196, 148, 52, 0.35);
    background: rgba(255, 252, 235, 0.35);
    cursor: pointer;
    transition: all 0.25s var(--ease);
    text-align: center;
    margin-bottom: 16px;
}

[data-theme="dark"] .ap-dropzone {
    background: rgba(60, 44, 22, 0.35);
}

.ap-dropzone:hover {
    border-color: var(--gold);
    background: rgba(196, 148, 52, 0.08);
    transform: translateY(-1px);
}

.ap-dropzone-icon {
    width: 64px; height: 64px;
    border-radius: 18px;
    background: rgba(196, 148, 52, 0.14);
    color: var(--gold);
    display: grid;
    place-items: center;
    margin-bottom: 14px;
    transition: all 0.25s var(--ease);
}

.ap-dropzone-icon svg { width: 28px; height: 28px; }

.ap-dropzone:hover .ap-dropzone-icon {
    background: linear-gradient(135deg, var(--gold-bright), var(--gold));
    color: #FFF8E8;
    transform: scale(1.05);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.4),
        0 6px 18px rgba(160,120,32,0.35);
}

.ap-dropzone-title {
    font-family: 'Fraunces', serif;
    font-size: 17px;
    font-weight: 600;
    color: var(--ink);
    margin-bottom: 4px;
}

.ap-dropzone-sub {
    font-size: 12px;
    color: var(--ink-4);
    font-family: 'JetBrains Mono', monospace;
}

/* Form-Felder */
.ap-form-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    margin-bottom: 14px;
}

.ap-form-row.two-cols {
    grid-template-columns: 1fr 1fr;
}

.ap-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ap-field-label {
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 1.2px;
    color: var(--ink-3);
    text-transform: uppercase;
}

.ap-field-optional {
    font-weight: 500;
    color: var(--ink-4);
    text-transform: none;
    letter-spacing: 0;
    font-size: 11px;
    margin-left: 4px;
}

.ap-input,
.ap-textarea {
    padding: 12px 16px;
    border-radius: 12px;
    background: rgba(255, 252, 235, 0.7);
    border: 0.5px solid var(--glass-edge);
    color: var(--ink);
    font-size: 14px;
    font-family: inherit;
    outline: none;
    transition: all 0.2s var(--ease);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.4);
    line-height: 1.55;
}

[data-theme="dark"] .ap-input,
[data-theme="dark"] .ap-textarea {
    background: rgba(60, 44, 22, 0.6);
    color: var(--ink);
}

.ap-input::placeholder,
.ap-textarea::placeholder {
    color: var(--ink-4);
    font-weight: 500;
}

.ap-input:focus,
.ap-textarea:focus {
    border-color: var(--gold);
    background: rgba(255, 252, 235, 0.92);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.5),
        0 0 0 3px rgba(196, 148, 52, 0.18);
}

.ap-textarea {
    resize: vertical;
    min-height: 120px;
    font-family: inherit;
}

.ap-submit-btn {
    margin-top: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 13px 28px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--gold-bright) 0%, var(--gold) 80%);
    color: #FFF8E8;
    border: none;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.3px;
    cursor: pointer;
    transition: all 0.25s var(--ease);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.45),
        0 4px 14px rgba(160,120,32,0.32);
    position: relative;
    overflow: hidden;
}

.ap-submit-btn::before {
    content: '';
    position: absolute;
    top: 0; left: -120%;
    width: 60%; height: 100%;
    background: linear-gradient(105deg, transparent, rgba(255,255,255,0.5), transparent);
    transition: left 700ms var(--ease-out);
}

.ap-submit-btn:hover::before { left: 200%; }

.ap-submit-btn:hover {
    transform: translateY(-1px);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.5),
        0 6px 22px rgba(160,120,32,0.4);
}

.ap-submit-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

/* Result-Container */
.ap-result {
    margin-top: 22px;
    padding: 20px 22px;
    border-radius: 16px;
    background: rgba(255, 252, 235, 0.45);
    border: 0.5px solid var(--glass-edge);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.4);
    animation: apResultIn 0.45s var(--ease) both;
}

[data-theme="dark"] .ap-result {
    background: rgba(60, 44, 22, 0.55);
}

@keyframes apResultIn {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Mobile Autopilot — alle Cards untereinander, kompakter */
@media (max-width: 768px) {
    .ap-tools { grid-template-columns: 1fr; gap: 12px; }
    .ap-tool-card { padding: 22px 22px 24px; min-height: 0; }
    .ap-tool-headline { font-size: 21px; }
    .ap-tool-arrow { bottom: 18px; right: 18px; width: 32px; height: 32px; }
    .ap-upgrade-box { flex-direction: column; padding: 22px; gap: 18px; }
    .ap-upgrade-icon { width: 48px; height: 48px; }
    .ap-upgrade-title { font-size: 20px; }
    .ap-usage { gap: 10px; }
    .ap-usage-item { min-width: 0; flex-basis: 100%; padding: 12px 14px; }
    .ap-workspace { padding: 22px; }
    .ap-form-row.two-cols { grid-template-columns: 1fr; }
    .ap-dropzone { padding: 36px 20px; }
    .ap-dropzone-icon { width: 52px; height: 52px; }
}


/* ═══════════════════════════════════════════════════════════════════════
   TOAST-SYSTEM — Glas-Notifications oben rechts, stapeln sich
═══════════════════════════════════════════════════════════════════════════ */
.toast-stack {
    position: fixed;
    top: 80px;
    right: 24px;
    z-index: 300;
    display: flex;
    flex-direction: column;
    gap: 10px;
    pointer-events: none;
    max-width: 380px;
}

.toast {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px 14px 14px;
    border-radius: 16px;
    background: var(--glass-strong);
    -webkit-backdrop-filter: blur(28px) saturate(180%);
    backdrop-filter: blur(28px) saturate(180%);
    border: 0.5px solid var(--glass-edge);
    box-shadow:
        0 10px 32px rgba(31, 22, 8, 0.18),
        0 2px 8px rgba(31, 22, 8, 0.10),
        inset 0 1px 0 rgba(255, 255, 255, 0.5);
    pointer-events: auto;
    position: relative;
    overflow: hidden;
    min-width: 280px;
    max-width: 380px;
    transform: translateX(120%);
    opacity: 0;
    animation: toastIn 0.5s var(--ease-spring) forwards;
}

[data-theme="dark"] .toast {
    box-shadow:
        0 10px 32px rgba(0, 0, 0, 0.55),
        0 2px 8px rgba(0, 0, 0, 0.35),
        inset 0 1px 0 rgba(232, 188, 88, 0.12);
}

.toast.removing {
    animation: toastOut 0.35s var(--ease) forwards;
}

@keyframes toastIn {
    0%   { transform: translateX(120%); opacity: 0; }
    60%  { transform: translateX(-6px); opacity: 1; }
    100% { transform: translateX(0); opacity: 1; }
}

@keyframes toastOut {
    0%   { transform: translateX(0); opacity: 1; max-height: 200px; margin-bottom: 10px; }
    100% { transform: translateX(120%); opacity: 0; max-height: 0; padding-top: 0; padding-bottom: 0; margin-bottom: 0; }
}

/* Specular highlight oben */
.toast::before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 50%;
    background: var(--specular-top);
    pointer-events: none;
    border-radius: inherit;
}

/* Linke Akzent-Linie pro Typ */
.toast::after {
    content: '';
    position: absolute;
    top: 12px; bottom: 12px; left: 0;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: var(--gold);
}

.toast.success::after { background: linear-gradient(180deg, #6FBE6F, #4A8F4A); }
.toast.error::after   { background: linear-gradient(180deg, #E75E5E, #B84545); }
.toast.warning::after { background: linear-gradient(180deg, #E29938, #B57628); }
.toast.info::after    { background: linear-gradient(180deg, var(--gold-bright), var(--gold)); }

.toast-icon {
    width: 32px; height: 32px;
    border-radius: 10px;
    display: grid; place-items: center;
    flex-shrink: 0;
    color: var(--gold);
    background: rgba(196, 148, 52, 0.12);
}

.toast.success .toast-icon { color: #4A8F4A; background: rgba(111, 190, 111, 0.14); }
.toast.error .toast-icon   { color: #B84545; background: rgba(231, 94, 94, 0.14); }
.toast.warning .toast-icon { color: #B57628; background: rgba(226, 153, 56, 0.14); }

.toast-icon svg {
    width: 18px; height: 18px;
    stroke: currentColor;
    stroke-width: 1.7;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.toast-body {
    flex: 1;
    min-width: 0;
    padding-top: 1px;
}

.toast-title {
    font-weight: 600;
    color: var(--ink);
    font-size: 13.5px;
    line-height: 1.35;
    margin-bottom: 2px;
}

.toast-msg {
    color: var(--ink-3);
    font-size: 12px;
    line-height: 1.5;
}

.toast-close {
    width: 24px; height: 24px;
    border: none;
    background: transparent;
    color: var(--ink-3);
    cursor: pointer;
    border-radius: 6px;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    font-size: 16px;
    line-height: 1;
    transition: all 0.18s var(--ease);
    margin: -2px -4px 0 0;
}

.toast-close:hover {
    background: rgba(196, 148, 52, 0.15);
    color: var(--ink);
}

/* Mobile: Toasts oben-mitte, weniger Breite */
@media (max-width: 768px) {
    .toast-stack {
        top: 72px;
        right: 12px;
        left: 12px;
        max-width: none;
        align-items: stretch;
    }
    .toast { min-width: 0; max-width: none; }
}


/* ═══════════════════════════════════════════════════════════════════════
   EDITOR — das Herzstück
═══════════════════════════════════════════════════════════════════════════ */
.editor-shell {
    display: grid;
    grid-template-columns: 240px 1fr 280px;
    gap: 16px;
    height: calc(100vh - 132px - 80px);
    margin: 0;
    transition: grid-template-columns 0.3s ease;
}

.editor-shell .panel {
    background: var(--glass);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    backdrop-filter: blur(20px) saturate(180%);
    border: 0.5px solid var(--glass-edge);
    border-radius: 22px;
    box-shadow: var(--shadow-float);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative;
}

.editor-shell .panel::before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 80px;
    background: var(--specular-top);
    pointer-events: none;
    border-radius: inherit;
}

/* Linke Spalte: Kapitel-Navigation */
.chapters-panel {
    padding: 0;
}

.panel-head {
    padding: 18px 20px 14px;
    border-bottom: 1px solid var(--glass-edge-bottom);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
}

.panel-head h4 {
    font-family: 'Fraunces', serif;
    font-size: 15px;
    font-weight: 500;
    color: var(--ink);
    letter-spacing: -0.2px;
    display: flex; align-items: center; gap: 8px;
}

.panel-head h4 svg {
    width: 16px; height: 16px;
    color: var(--gold);
    stroke: currentColor;
    stroke-width: 1.6;
    fill: none;
}

.icon-btn-mini {
    width: 26px; height: 26px;
    border-radius: 8px;
    background: rgba(196, 148, 52, 0.1);
    border: none;
    cursor: pointer;
    color: var(--gold);
    display: grid; place-items: center;
    transition: all 0.2s var(--ease);
    font-size: 14px;
    line-height: 1;
    position: relative;
}

.icon-btn-mini:hover {
    background: rgba(196, 148, 52, 0.25);
    transform: scale(1.08);
}

/* Mehr-Menü Popover (für Drei-Punkte-Buttons)
   position: fixed, damit es nicht von overflow:hidden Eltern abgeschnitten wird */
.more-menu {
    position: fixed;
    min-width: 220px;
    padding: 6px;
    border-radius: 14px;
    background: var(--glass-strong);
    -webkit-backdrop-filter: blur(28px) saturate(180%);
    backdrop-filter: blur(28px) saturate(180%);
    border: 0.5px solid var(--glass-edge);
    box-shadow:
        0 12px 36px rgba(31, 22, 8, 0.18),
        0 4px 12px rgba(31, 22, 8, 0.10),
        inset 0 1px 0 rgba(255, 255, 255, 0.5);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px) scale(0.96);
    transform-origin: top right;
    transition: opacity 0.22s var(--ease), transform 0.22s var(--ease-spring), visibility 0.22s var(--ease);
    z-index: 250;
    text-align: left;
}

[data-theme="dark"] .more-menu {
    box-shadow:
        0 12px 36px rgba(0, 0, 0, 0.55),
        0 4px 12px rgba(0, 0, 0, 0.35),
        inset 0 1px 0 rgba(232, 188, 88, 0.12);
}

.more-menu.open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}

.more-menu::before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 50%;
    background: var(--specular-top);
    pointer-events: none;
    border-radius: inherit;
}

.more-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    border-radius: 9px;
    cursor: pointer;
    color: var(--ink-2);
    font-size: 13px;
    font-weight: 500;
    transition: all 0.18s var(--ease);
    background: transparent;
    border: none;
    width: 100%;
    text-align: left;
    font-family: inherit;
    position: relative;
    z-index: 1;
}

.more-item:hover {
    background: rgba(196, 148, 52, 0.12);
    color: var(--ink);
}

.more-item .mi-ico {
    width: 16px; height: 16px;
    color: var(--ink-3);
    flex-shrink: 0;
    transition: color 0.18s var(--ease);
}

.more-item .mi-ico svg {
    width: 100%; height: 100%;
    stroke: currentColor;
    stroke-width: 1.6;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.more-item:hover .mi-ico { color: var(--gold); }

.more-item.danger { color: #C84545; }
.more-item.danger .mi-ico { color: #C84545; }
.more-item.danger:hover { background: rgba(231, 94, 94, 0.12); color: #E75E5E; }
.more-item.danger:hover .mi-ico { color: #E75E5E; }

.more-divider {
    height: 1px;
    margin: 4px 6px;
    background: var(--glass-edge-bottom);
}

.more-item .mi-shortcut {
    margin-left: auto;
    font-family: 'JetBrains Mono', monospace;
    font-size: 10.5px;
    color: var(--ink-4);
    letter-spacing: 0.3px;
}

.chapters-list {
    flex: 1;
    overflow-y: auto;
    padding: 8px;
}

.chapter-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 12px;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s var(--ease);
    margin-bottom: 2px;
    position: relative;
}

.chapter-item:hover {
    background: rgba(255, 252, 235, 0.6);
}

[data-theme="dark"] .chapter-item:hover {
    background: rgba(232, 188, 88, 0.10);
}

.chapter-item.active {
    background: linear-gradient(135deg, rgba(239, 224, 181, 0.7), rgba(239, 224, 181, 0.4));
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.5);
}

[data-theme="dark"] .chapter-item.active {
    background: linear-gradient(135deg, rgba(140, 100, 40, 0.45), rgba(100, 70, 28, 0.3));
}

.chapter-item.active::before {
    content: '';
    position: absolute;
    left: -8px;
    top: 50%;
    transform: translateY(-50%);
    width: 3px; height: 18px;
    background: var(--gold);
    border-radius: 0 3px 3px 0;
    box-shadow: 0 0 8px var(--gold-glow);
}

.ch-bullet {
    width: 8px; height: 8px;
    border-radius: 50%;
    border: 1.5px solid var(--ink-4);
    flex-shrink: 0;
    transition: all 0.2s var(--ease);
}

.chapter-item.active .ch-bullet {
    background: var(--gold);
    border-color: var(--gold);
    box-shadow: 0 0 6px var(--gold-glow);
}

.chapter-item.completed .ch-bullet {
    background: var(--ink-4);
    border-color: var(--ink-4);
}

.chapter-item .ch-info { flex: 1; min-width: 0; }
.chapter-item .ch-title {
    font-size: 13px;
    font-weight: 500;
    color: var(--ink-2);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.chapter-item.active .ch-title { color: var(--gold); font-weight: 600; }

.chapter-item .ch-words-mini {
    font-size: 10.5px;
    color: var(--ink-4);
    font-family: 'JetBrains Mono', monospace;
    margin-top: 1px;
}

.add-chapter-btn {
    margin: 6px 4px 12px;
    padding: 11px 12px;
    border: 1px dashed var(--glass-edge-bottom);
    border-radius: 10px;
    background: transparent;
    color: var(--gold);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.22s var(--ease);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: calc(100% - 8px);
    font-family: inherit;
}

.add-chapter-btn:hover {
    border-color: var(--gold);
    background: rgba(196, 148, 52, 0.1);
}

/* Mitte: Editor */
.editor-main {
    display: flex;
    flex-direction: column;
}

.editor-toolbar {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 10px 16px;
    border-bottom: 1px solid var(--glass-edge-bottom);
    background: rgba(255, 252, 235, 0.4);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    flex-wrap: wrap;
    flex-shrink: 0;
    z-index: 2;
}

[data-theme="dark"] .editor-toolbar {
    background: rgba(40, 28, 14, 0.5);
}

.tb-btn {
    width: 32px; height: 32px;
    border-radius: 8px;
    background: transparent;
    border: none;
    cursor: pointer;
    color: var(--ink-2);
    display: grid; place-items: center;
    transition: all 0.18s var(--ease);
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
}

.tb-btn:hover {
    background: rgba(196, 148, 52, 0.15);
    color: var(--gold);
}

.tb-btn.active {
    background: rgba(196, 148, 52, 0.22);
    color: var(--gold);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.4);
}

.tb-btn svg {
    width: 16px; height: 16px;
    stroke: currentColor;
    stroke-width: 1.7;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.tb-divider {
    width: 1px;
    height: 18px;
    background: var(--glass-edge-bottom);
    margin: 0 4px;
}

.tb-spacer { flex: 1; }

.tb-info {
    font-family: 'JetBrains Mono', monospace;
    font-size: 11.5px;
    color: var(--ink-3);
    padding: 0 8px;
}

.tb-info b { color: var(--gold); }

/* Schreibfläche */
.editor-canvas {
    flex: 1;
    overflow-y: auto;
    padding: 60px 80px;
    background:
        linear-gradient(180deg, transparent, transparent 100%),
        radial-gradient(ellipse 800px 600px at 50% 30%, rgba(255, 250, 235, 0.5), transparent 70%);
}

[data-theme="dark"] .editor-canvas {
    background: radial-gradient(ellipse 800px 600px at 50% 30%, rgba(50, 38, 18, 0.4), transparent 70%);
}

.editor-page {
    max-width: 680px;
    margin: 0 auto;
    font-family: 'Fraunces', serif;
    font-size: 18px;
    line-height: 1.85;
    color: var(--ink);
    outline: none;
    caret-color: var(--gold);
    min-height: 100%;
    font-variation-settings: "opsz" 24;
}

.editor-page h2 {
    font-size: 28px;
    font-weight: 500;
    margin: 32px 0 20px;
    letter-spacing: -0.3px;
    color: var(--ink);
    font-variation-settings: "opsz" 96;
}

.editor-page h2:first-child { margin-top: 0; }

/* [Step 16.8] Inline-Format-Regeln — Fraunces ist Variable Font, daher font-variation-settings
   und explizites font-weight nötig um <b>/<strong>, <i>/<em> wirklich sichtbar zu machen.
   !important weil im DOM auch <span style=""> oder <b> innerhalb <h2 font-weight:500> landen kann. */
.editor-page b,
.editor-page strong {
    font-weight: 800 !important;
    font-variation-settings: "opsz" 24, "wght" 800 !important;
}
.editor-page i,
.editor-page em {
    font-style: italic !important;
    font-variation-settings: "opsz" 24, "ital" 1 !important;
}
.editor-page u {
    text-decoration: underline !important;
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.18em;
}
.editor-page h1 b, .editor-page h1 strong,
.editor-page h2 b, .editor-page h2 strong {
    font-weight: 900 !important;
    font-variation-settings: "opsz" 96, "wght" 900 !important;
}

.editor-page h3 {
    font-size: 21px;
    font-weight: 500;
    margin: 24px 0 14px;
    color: var(--ink);
}

.editor-page p,
/* [RUNDE 3e] Neu getippte Absätze: contenteditable erzeugt <div> statt <p>.
   Damit alt (importiert, <p>) und neu (<div>) identisch aussehen, gelten
   die Absatz-Regeln auch für direkte <div>-Kinder des Editors. */
/* [ASCHI-03 FIX 8] margin-bottom von 1.1em auf 0.6em reduziert.
   Aschi fand den Abstand nach Enter zu groß. Indent (text-indent) bleibt,
   weil das echter Belletristik-Buchsatz ist. */
.editor-page > div {
    margin-bottom: 0.6em;
    text-indent: 1.6em;
}

.editor-page p:first-of-type,
.editor-page > div:first-of-type,
.editor-page h2 + p,
.editor-page h2 + div,
.editor-page h3 + p,
.editor-page h3 + div { text-indent: 0; }

/* [RUNDE 3e] Reine <br>-Umbrüche (manche Browser/Einfügungen) sollen keinen
   doppelten Abstand erzeugen — leere Block-Container nicht aufblähen. */
.editor-page > div:empty { margin-bottom: 0; }

.editor-page blockquote {
    border-left: 3px solid var(--gold);
    margin: 20px 0;
    padding: 8px 0 8px 20px;
    font-style: italic;
    color: var(--ink-2);
    background: rgba(196, 148, 52, 0.06);
    border-radius: 0 6px 6px 0;
}

.editor-page::selection,
.editor-page *::selection {
    background: var(--gold-pale);
    color: var(--ink);
}

/* Rechte Spalte: KI-Werkzeuge */
.ai-panel { padding: 0; }

.ai-tools {
    flex: 1;
    overflow-y: auto;
    padding: 8px;
}

.ai-tool {
    padding: 14px 14px;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.22s var(--ease);
    margin-bottom: 6px;
    background: transparent;
    border: 0.5px solid transparent;
}

.ai-tool:hover {
    background: rgba(255, 252, 235, 0.6);
    border-color: var(--glass-edge);
    transform: translateX(-2px);
}

[data-theme="dark"] .ai-tool:hover {
    background: rgba(232, 188, 88, 0.08);
}

.ai-tool-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 6px;
}

.ai-tool-icon {
    width: 32px; height: 32px;
    border-radius: 9px;
    background: rgba(196, 148, 52, 0.12);
    display: grid; place-items: center;
    color: var(--gold);
    transition: all 0.22s var(--ease);
}

.ai-tool-icon svg {
    width: 16px; height: 16px;
    stroke: currentColor;
    stroke-width: 1.6;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ai-tool:hover .ai-tool-icon {
    background: rgba(196, 148, 52, 0.25);
    box-shadow: 0 0 12px rgba(196, 148, 52, 0.3);
    transform: scale(1.05);
}

.ai-tool-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--ink);
}

.ai-tool-desc {
    font-size: 11.5px;
    color: var(--ink-3);
    line-height: 1.5;
    padding-left: 42px;
}

.ai-stats {
    border-top: 1px solid var(--glass-edge-bottom);
    padding: 14px 16px;
    flex-shrink: 0;
    background: rgba(255, 252, 235, 0.3);
}

[data-theme="dark"] .ai-stats {
    background: rgba(40, 28, 14, 0.4);
}

.ai-stat {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 11.5px;
    margin-bottom: 5px;
}

.ai-stat:last-child { margin-bottom: 0; }
.ai-stat-label { color: var(--ink-3); letter-spacing: 0.5px; text-transform: uppercase; font-size: 9.5px; font-weight: 700; }
.ai-stat-value { color: var(--gold); font-family: 'JetBrains Mono', monospace; font-weight: 600; font-size: 12.5px; }

/* Editor-Mode Tweaks */
.view[data-view="schreiben"].editor-mode .main-content-wrap {
    padding-top: 0 !important;
}

.editor-mode-active .main {
    padding: 110px 24px 24px !important;
    max-width: 100% !important;
}

@media (max-width: 1180px) {
    .editor-shell {
        grid-template-columns: 200px 1fr 240px;
    }
}

@media (max-width: 968px) {
    .editor-shell {
        grid-template-columns: 1fr;
        height: auto;
    }
    .chapters-panel,
    .ai-panel { max-height: 240px; }
}


@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
    .intro { animation: introOut 0.3s linear 0.5s forwards; }
    .intro-mark { animation: none; transform: scale(1); }
}

/* ═══════════════════════════════════════════════════════════════════════
   VIEW SWITCHING — Tabs zeigen/verbergen Sektionen mit gestaffeltem Eingang
═══════════════════════════════════════════════════════════════════════════ */
.view {
    display: none;
}

.view.active {
    display: block;
}

.view.active > * {
    animation: viewIn 0.55s var(--ease) both;
}

.view.active > *:nth-child(1) { animation-delay: 0.05s; }
.view.active > *:nth-child(2) { animation-delay: 0.13s; }
.view.active > *:nth-child(3) { animation-delay: 0.21s; }
.view.active > *:nth-child(4) { animation-delay: 0.29s; }

@keyframes viewIn {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Beim ersten Laden: zusätzliche Verzögerung damit Intro vorbei ist */
.view.initial-load.active > *:nth-child(1) { animation-delay: 3.7s; }
.view.initial-load.active > *:nth-child(2) { animation-delay: 3.85s; }
.view.initial-load.active > *:nth-child(3) { animation-delay: 4.0s; }
.view.initial-load.active > *:nth-child(4) { animation-delay: 4.15s; }

/* Hero-CTA SVG */
.hero-cta svg {
    stroke: currentColor;
    stroke-width: 1.7;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex-shrink: 0;
}

/* Tool-SVGs */
.tool svg {
    stroke: currentColor;
    stroke-width: 1.6;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex-shrink: 0;
    /* [ASCHI-SVG-SIZE 2026-06-03] Briefumschlag + Fragezeichen fielen ohne feste CSS-Groesse
       auf 0x0 zusammen -> sie verschwanden hinter den Nachbar-Icons. Feste Groesse stellt
       alle Tool-Icons zuverlaessig dar. */
    width: 16px;
    height: 16px;
}

/* Caret SVG */
.tab .caret svg {
    stroke: currentColor;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    opacity: 0.6;
}

/* [Step 9] Rechtschreibung-Highlights im Editor */
.spell-error {
    text-decoration: wavy underline #c44a4a;
    text-decoration-skip-ink: none;
    text-underline-offset: 3px;
    cursor: text; /* [ASCHI-CSS-FIX] kein help-Cursor, kein versehentliches U beim Klick */
}
.spell-error:hover {
    background: rgba(196, 74, 74, 0.08);
    border-radius: 2px;
}
.glass-spell-result-card {
    background: var(--bg-2);
    border: 1px solid var(--bg-4);
    border-left: 4px solid #c44a4a;
    border-radius: 8px;
    padding: 14px 16px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.15s ease;
}
.glass-spell-result-card:hover {
    background: var(--bg-3);
    transform: translateX(2px);
}
.glass-spell-result-card .word {
    font-size: 16px;
    font-weight: 700;
    color: var(--ink);
    margin-bottom: 4px;
}
.glass-spell-result-card .suggestion {
    font-size: 14px;
    color: var(--ink-2);
    margin-bottom: 4px;
}
.glass-spell-result-card .suggestion b {
    color: var(--gold);
}
.glass-spell-result-card .message {
    font-size: 12px;
    color: var(--ink-3);
    font-style: italic;
}
.glass-spell-actions {
    display: flex;
    gap: 6px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--bg-4);
}
.glass-spell-actions button {
    background: transparent;
    border: 1px solid var(--bg-4);
    border-radius: 999px;
    padding: 5px 12px;
    font-size: 11px;
    font-weight: 500;
    color: var(--ink-2);
    cursor: pointer;
    transition: all 0.15s ease;
}
.glass-spell-actions button:hover {
    background: var(--bg-3);
    border-color: var(--gold);
    color: var(--ink);
}
.glass-spell-actions button.primary {
    background: var(--gold);
    color: white;
    border-color: var(--gold);
}
.glass-spell-actions button.primary:hover {
    background: var(--gold-bright);
    color: white;
}

/* Neu-Kunden-CTA (Step 2.1) */
.auth-newuser-cta {
    margin-top: 18px;
    padding: 18px;
    border-radius: var(--r-md);
    background: linear-gradient(135deg, var(--gold-pale) 0%, rgba(196, 148, 52, 0.08) 100%);
    border: 1px solid rgba(160, 120, 32, 0.18);
    text-align: center;
}
.auth-newuser-text {
    font-size: 14px;
    color: var(--ink-3);
    margin-bottom: 10px;
    font-weight: 500;
}
.auth-newuser-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 22px;
    border-radius: 999px;
    background: var(--gold);
    color: white;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s var(--ease);
    box-shadow: 0 2px 8px rgba(160, 120, 32, 0.25);
    letter-spacing: 0.01em;
}
.auth-newuser-btn:hover {
    background: var(--gold-bright);
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(160, 120, 32, 0.35);
}
.auth-newuser-btn svg {
    transition: transform 0.2s var(--ease);
}
.auth-newuser-btn:hover svg {
    transform: translateX(3px);
}
.auth-newuser-hint {
    margin-top: 10px;
    font-size: 11px;
    color: var(--ink-4);
    letter-spacing: 0.02em;
}
[data-theme="dark"] .auth-newuser-cta {
    background: linear-gradient(135deg, rgba(232, 188, 88, 0.10) 0%, rgba(232, 188, 88, 0.04) 100%);
    border-color: rgba(232, 188, 88, 0.20);
}
[data-theme="dark"] .auth-newuser-text { color: var(--ink-2); }
[data-theme="dark"] .auth-newuser-hint { color: var(--ink-3); }

/* === BLOCK 2 (urspr. Z 17481-17607) === */
.free-use-banner {
    display: flex;
    align-items: flex-start;
    gap: 22px;
    padding: 22px 26px;
    margin: 12px 0 24px;
    background: linear-gradient(90deg, rgba(201,169,97,0.04), rgba(201,169,97,0.10), rgba(201,169,97,0.04));
    border-top: 1px solid rgba(201,169,97,0.3);
    border-bottom: 1px solid rgba(201,169,97,0.3);
    position: relative;
}
.free-use-banner-sigil {
    color: var(--gold, #C9A961);
    font-size: 24px;
    line-height: 1;
    flex-shrink: 0;
    padding-top: 4px;
}
.free-use-banner-body { flex: 1; min-width: 0; }
.free-use-banner-eyebrow {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--gold, #C9A961);
    margin-bottom: 6px;
}
.free-use-banner-title {
    font-size: 16px;
    font-weight: 500;
    color: var(--ink, #1a1a1a);
    margin-bottom: 6px;
    letter-spacing: 0.1px;
}
.free-use-banner-title strong { color: var(--gold, #C9A961); font-weight: 600; }
.free-use-banner-sub {
    font-size: 13px;
    color: var(--ink-3, #666);
    line-height: 1.55;
    margin-bottom: 12px;
    font-style: italic;
}
.free-use-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 18px;
    font-size: 12px;
    color: var(--ink-2, #333);
}
.free-use-chip {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    padding: 0;
    background: transparent;
    border: none;
    font-size: 12.5px;
    color: var(--ink-2, #333);
    letter-spacing: 0.1px;
}
.free-use-chip::before {
    content: "✦";
    color: var(--gold, #C9A961);
    font-size: 10px;
}

/* Modal-Overlay für 413 */
.free-use-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    backdrop-filter: blur(8px);
}
.free-use-modal-backdrop.open { display: flex; }
.free-use-modal {
    background: var(--bg, #fff);
    border-radius: 20px;
    max-width: 480px;
    width: calc(100% - 32px);
    padding: 32px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3);
    position: relative;
    text-align: center;
}
.free-use-modal-icon {
    font-size: 48px;
    margin-bottom: 12px;
}
.free-use-modal h3 {
    margin: 0 0 12px;
    font-size: 20px;
    color: var(--ink, #1a1a1a);
}
.free-use-modal p {
    font-size: 14px;
    color: var(--ink-3, #666);
    line-height: 1.6;
    margin: 0 0 8px;
}
.free-use-modal .free-use-numbers {
    background: var(--bg-2, #f7f7f7);
    padding: 14px 18px;
    border-radius: 12px;
    margin: 16px 0;
    font-family: var(--font-mono, monospace);
    font-size: 13px;
    color: var(--ink-2, #333);
}
.free-use-modal .free-use-numbers strong { color: var(--gold, #C9A961); }
.free-use-modal-close {
    margin-top: 8px;
    background: var(--gold, #C9A961);
    color: white;
    border: none;
    padding: 10px 28px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}
.free-use-modal-close:hover { opacity: 0.9; }

/* ═══════════════════════════════════════════════════════════════════════
   [ASCHI-ICON-ROBUST 2026-06-03] Topbar-Icons (Mond/Briefumschlag/Fragezeichen)
   wurden auf manchen Bildschirmen abgeschnitten/ueberdeckt dargestellt. Dieser
   Block erzwingt feste Groesse, sichtbares Overflow und saubere Zentrierung mit
   hoher Spezifitaet + !important, damit keine andere Regel sie verzerren kann.
═══════════════════════════════════════════════════════════════════════════ */
.topbar-right .tool.icon-only {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    flex: 0 0 auto !important;
    overflow: visible !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.topbar-right .tool.icon-only svg {
    width: 18px !important;
    height: 18px !important;
    overflow: visible !important;
    display: block !important;
}

/* ─── EPOS Verbrauchs-Banner (Token-Limit-Warnung, 2026-06-08) ─── */
.usage-banner {
    display: flex;
    align-items: flex-start;
    gap: 22px;
    padding: 22px 26px;
    margin: 12px 0 24px;
    position: relative;
    border-radius: 2px;
}
.usage-banner.level-warn {
    background: linear-gradient(90deg, rgba(201,169,97,0.05), rgba(201,169,97,0.12), rgba(201,169,97,0.05));
    border-top: 1px solid rgba(201,169,97,0.35);
    border-bottom: 1px solid rgba(201,169,97,0.35);
}
.usage-banner.level-critical {
    background: linear-gradient(90deg, rgba(224,112,0,0.05), rgba(224,112,0,0.13), rgba(224,112,0,0.05));
    border-top: 1px solid rgba(224,112,0,0.4);
    border-bottom: 1px solid rgba(224,112,0,0.4);
}
.usage-banner-sigil {
    font-size: 24px;
    line-height: 1;
    flex-shrink: 0;
    padding-top: 2px;
}
.usage-banner.level-warn .usage-banner-sigil { color: var(--gold, #C9A961); }
.usage-banner.level-critical .usage-banner-sigil { color: #E07000; }
.usage-banner-body { flex: 1; min-width: 0; }
.usage-banner-eyebrow {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    margin-bottom: 6px;
}
.usage-banner.level-warn .usage-banner-eyebrow { color: var(--gold, #C9A961); }
.usage-banner.level-critical .usage-banner-eyebrow { color: #E07000; }
.usage-banner-title {
    font-size: 16px;
    font-weight: 500;
    color: var(--ink, #1a1a1a);
    margin-bottom: 6px;
    letter-spacing: 0.1px;
}
.usage-banner-title strong { font-weight: 600; }
.usage-banner.level-warn .usage-banner-title strong { color: var(--gold, #C9A961); }
.usage-banner.level-critical .usage-banner-title strong { color: #E07000; }
.usage-banner-sub {
    font-size: 13px;
    color: var(--ink-3, #666);
    line-height: 1.55;
}
.usage-banner-cta {
    margin-top: 14px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 18px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.3px;
    color: #fff;
    background: #E07000;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    transition: background 0.18s ease, box-shadow 0.18s ease;
}
.usage-banner-cta:hover {
    background: #C96200;
    box-shadow: 0 0 12px rgba(224,112,0,0.4);
}
/* ─── Ende Verbrauchs-Banner ─── */

/* ─── EPOS Limit-Modal (Monatskontingent erreicht, tier-abhaengig, 2026-06-08) ─── */
.limit-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    backdrop-filter: blur(8px);
}
.limit-modal-backdrop.open { display: flex; }
.limit-modal {
    background: var(--bg, #fff);
    border-radius: 20px;
    max-width: 500px;
    width: calc(100% - 32px);
    padding: 32px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3);
    position: relative;
    text-align: center;
}
.limit-modal-icon {
    font-size: 46px;
    line-height: 1;
    margin-bottom: 14px;
    color: #E07000;
}
.limit-modal h3 {
    margin: 0 0 12px;
    font-size: 20px;
    color: var(--ink, #1a1a1a);
}
.limit-modal p {
    font-size: 14px;
    color: var(--ink-3, #666);
    line-height: 1.6;
    margin: 0 0 18px;
}
.limit-modal-options {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 18px 0 20px;
    text-align: left;
}
.limit-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 18px;
    border-radius: 14px;
    border: 1px solid rgba(201,169,97,0.35);
    background: var(--bg-2, #f7f7f7);
    cursor: pointer;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.1s ease;
    width: 100%;
    text-align: left;
    font-family: inherit;
}
.limit-option:hover {
    border-color: var(--gold, #C9A961);
    box-shadow: 0 0 0 3px rgba(201,169,97,0.12);
}
.limit-option:active { transform: scale(0.99); }
.limit-option-text { flex: 1; min-width: 0; }
.limit-option-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--ink, #1a1a1a);
    margin-bottom: 2px;
}
.limit-option-sub {
    font-size: 12px;
    color: var(--ink-3, #666);
    line-height: 1.45;
}
.limit-option-arrow {
    color: var(--gold, #C9A961);
    font-size: 18px;
    flex-shrink: 0;
}
.limit-option.primary {
    border-color: #E07000;
    background: rgba(224,112,0,0.06);
}
.limit-option.primary:hover {
    border-color: #C96200;
    box-shadow: 0 0 0 3px rgba(224,112,0,0.14);
}
.limit-option.primary .limit-option-arrow { color: #E07000; }
.limit-modal-close {
    margin-top: 4px;
    background: transparent;
    color: var(--ink-3, #666);
    border: none;
    padding: 8px 24px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
}
.limit-modal-close:hover { color: var(--ink, #1a1a1a); }
/* ─── Ende Limit-Modal ─── */
