/* Timetable Screen – Dark Hero + Session-Cards analog SEO-Day / Home */
/* Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Raum-2-TBA Platzhalter */
/* Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Tag-1-Ueberschrift entfernt (nur ein Tag) */
/* Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Name/Firma/Tags unterhalb Avatar */
/* Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Slot-Uhrzeit oberhalb vom Titel */
/* Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Slot-Titel volle Main-Breite ueber Avatar */
/* Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Vortragssprache-Badge */
/* Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | SEO-Day Zwei-Spalten-Raum-Grid */
/* Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Raum-1/Raum-2-Überschriften */
/* Änderungsprotokoll: 2026-10-05 | parent-agent | @skill-css-rules, @skill-change-provenance | Speaker-Kreisavatar mit Ring-Effekt */

/* .screen-timetable-page | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Alle Zeilen gleiche Breite: 100% Content-Box, kein calc-28px-Schrumpfen */
/* .screen-timetable-page | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Mobile/iPad volle Breite (3px nur via base-layout) */
/* .screen-timetable-page | Änderungsprotokoll: 2026-10-01 | agent-router | @skill-css-rules, @skill-change-provenance | Page Root */
.screen-timetable-page {
    width: 100%;
    max-width: 100%;
    margin: 0;
    color: var(--color-home-text);
    padding: 24px 0 64px;
    box-sizing: border-box;
    min-width: 0;
    overflow-x: clip;
}

/* .screen-timetable-hero | Änderungsprotokoll: 2026-10-01 | agent-router | @skill-css-rules, @skill-change-provenance | Hero */
.screen-timetable-hero {
    margin-bottom: 40px;
}

/* .screen-timetable-hero-shell | Änderungsprotokoll: 2026-10-01 | agent-router | @skill-css-rules, @skill-change-provenance | Hero Shell */
.screen-timetable-hero-shell {
    display: grid;
    grid-template-columns: 1fr;
    gap: 22px;
    align-items: start;
}

/* .screen-timetable-hero-kicker | Änderungsprotokoll: 2026-10-01 | agent-router | @skill-css-rules, @skill-change-provenance | Kicker */
.screen-timetable-hero-kicker {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--color-home-cyan);
    font: 750 13px/1.2 ui-monospace, SFMono-Regular, Menlo, monospace;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin: 0 0 12px;
}

.screen-timetable-hero-kicker::before {
    content: "";
    width: 29px;
    height: 1px;
    background: currentColor;
}

/* .screen-timetable-hero-headline | Änderungsprotokoll: 2026-10-01 | agent-router | @skill-css-rules, @skill-change-provenance | H1 */
.screen-timetable-hero-headline {
    font-size: clamp(32px, 5vw, 52px);
    font-weight: 900;
    letter-spacing: -0.04em;
    margin: 0 0 14px;
    color: var(--color-home-text);
}

/* .screen-timetable-hero-teaser | Änderungsprotokoll: 2026-10-01 | agent-router | @skill-css-rules, @skill-change-provenance | Teaser */
.screen-timetable-hero-teaser {
    margin: 0;
    color: var(--color-home-lead);
    font-size: 16px;
    line-height: 1.65;
    max-width: 54ch;
}

/* .screen-timetable-date-card | Änderungsprotokoll: 2026-10-01 | agent-router | @skill-css-rules, @skill-change-provenance | Date Card */
.screen-timetable-date-card {
    border: 1px solid var(--color-home-line);
    border-radius: 14px;
    background: var(--color-home-panel);
    padding: 22px 24px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.screen-timetable-date-weekday {
    font: 750 12px ui-monospace, monospace;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-home-cyan);
}

/* .screen-timetable-date-date | Änderungsprotokoll: 2026-10-28 | parent-agent | @skill-css-rules, @skill-change-provenance | Datum einzeilig ohne Umbruch */
.screen-timetable-date-date {
    font-size: 26px;
    font-weight: 900;
    color: var(--color-home-text);
    white-space: nowrap;
}

.screen-timetable-date-venue {
    color: var(--color-home-muted);
    font-size: 14px;
}

/* .screen-timetable-day | Änderungsprotokoll: 2026-10-01 | agent-router | @skill-css-rules, @skill-change-provenance | Day Section */
.screen-timetable-day {
    margin-bottom: 40px;
}

/* .screen-timetable-grid | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Grid volle Content-Breite, kein Overflow */
.screen-timetable-grid {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.screen-timetable-thead {
    margin-bottom: 12px;
}

.screen-timetable-header-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}

.screen-timetable-header-row[data-columns="2"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* .screen-timetable-moderator-bars | Änderungsprotokoll: 2026-11-12 | parent-agent | @skill-css-rules, @skill-change-provenance | Moderator-Leiste unter den Raum-Headern */
.screen-timetable-moderator-bars[data-columns="2"] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 8px;
}

/* .screen-timetable-moderator-bar | Änderungsprotokoll: 2026-11-12 | parent-agent | @skill-css-rules, @skill-change-provenance | Zwei Halbtage je Raum */
.screen-timetable-moderator-bar {
    display: flex;
    gap: 8px;
    min-width: 0;
}

/* .screen-timetable-moderator-entry | Änderungsprotokoll: 2026-11-12 | parent-agent | @skill-css-rules, @skill-change-provenance | Kompakter Moderator-Link */
.screen-timetable-moderator-entry {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    padding: 8px 10px;
    border-radius: 10px;
    background: color-mix(in srgb, var(--color-home-cyan) 16%, #061018);
    color: #fff;
    text-decoration: none;
}

/* .screen-timetable-moderator-daypart | Änderungsprotokoll: 2026-11-12 | parent-agent | @skill-css-rules, @skill-change-provenance | Halbtags-Kicker */
.screen-timetable-moderator-daypart {
    font-size: 11px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--color-home-cyan);
}

/* .screen-timetable-moderator-name | Änderungsprotokoll: 2026-11-12 | parent-agent | @skill-css-rules, @skill-change-provenance | Moderator-Name */
.screen-timetable-moderator-name {
    font-size: 14px;
    font-weight: 600;
    color: #fff;
}

/* .screen-timetable-moderator-entry-empty | Änderungsprotokoll: 2026-11-12 | parent-agent | @skill-css-rules, @skill-change-provenance | Leere Moderator-Zelle ohne Namen */
.screen-timetable-moderator-entry-empty {
    display: none;
}

/* .screen-timetable-header-room | Änderungsprotokoll: 2026-11-04 | parent-agent | @skill-css-rules, @skill-change-provenance | Raum-Reiter darf in der Spalte schrumpfen, langer Track-Titel umbricht */
.screen-timetable-header-room {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 14px 18px;
    border: 0;
    border-radius: 13px;
    color: #fff;
    text-align: left;
    cursor: pointer;
    font: inherit;
    appearance: none;
    -webkit-appearance: none;
    transition: 0.18s opacity, 0.18s box-shadow, 0.18s transform;
}

.screen-timetable-header-room:focus-visible {
    outline: 2px solid var(--color-home-cyan);
    outline-offset: 3px;
}

/* .screen-timetable-header-room-1 | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Raum-1-Button dunkler fuer weissen Textkontrast */
.screen-timetable-header-room-1 {
    background: color-mix(in srgb, var(--color-home-cyan) 42%, #061018);
}

/* .screen-timetable-header-room-2 | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Raum-2-Button dunkler fuer weissen Textkontrast */
.screen-timetable-header-room-2 {
    background: color-mix(in srgb, var(--color-home-purple) 42%, #0c0614);
}

/* .screen-timetable-track-name | Änderungsprotokoll: 2026-11-04 | parent-agent | @skill-css-rules, @skill-change-provenance | Langer Track-Titel AI Coding Days - Deepdives umbricht in der Spalte */
.screen-timetable-track-name {
    margin: 0;
    max-width: 100%;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1.35;
    text-transform: uppercase;
    overflow-wrap: break-word;
    color: #fff;
}

/* .screen-timetable-room-livestream-note | Änderungsprotokoll: 2026-11-04 | parent-agent | @skill-css-rules, @skill-change-provenance | Hinweis umbricht unter dem langen Track-Titel */
.screen-timetable-room-livestream-note {
    display: block;
    max-width: 100%;
    margin: 0;
    padding: 0;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.35;
    overflow-wrap: break-word;
    color: var(--color-home-text);
}

/* .screen-timetable-room-livestream-note-off | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Off-Hinweis hell auf Purple-Button */
.screen-timetable-room-livestream-note-off {
    color: var(--color-home-muted);
}

/* .screen-timetable-tbody | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Tbody gleiche Breite wie Page */
.screen-timetable-tbody {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

/* .screen-timetable-row | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Jede Zeile exakt 100% Parent-Breite */
.screen-timetable-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    align-items: start;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.screen-timetable-row[data-columns="2"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* .screen-timetable-row-span | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Pause/Keynote gleiche Content-Box-Breite */
/* .screen-timetable-row-span | Änderungsprotokoll: 2026-11-01 | parent-agent | @skill-css-rules, @skill-change-provenance, @skill-briefing-first | Superpanel wieder Span wie Keynote */
.screen-timetable-row-span {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.screen-timetable-row-span[data-columns="2"] {
    grid-template-columns: minmax(0, 1fr);
}

.screen-timetable-cell {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.screen-timetable-cell-empty {
    min-height: 0;
}

/* .screen-timetable-cell-span | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Span-Zelle max 100% Parent, kein Overflow */
.screen-timetable-cell-span {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

/* .screen-timetable-slot | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Uhrzeit immer oberhalb vom Titel/Main; max 100% auch Span/Break */
.screen-timetable-slot {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    padding: 18px;
    border: 1px solid var(--color-home-line);
    border-radius: 14px;
    background: var(--color-home-panel);
    align-items: start;
    height: 100%;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.screen-timetable-slot-break {
    background: color-mix(in srgb, var(--color-home-cyan) 8%, var(--color-home-panel));
}

/* .screen-timetable-slot-tba | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Unbesetzter Raum-2-Slot */
.screen-timetable-slot-tba {
    border-style: dashed;
    opacity: 0.92;
}

/* .screen-timetable-slot-community | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Community-Callout Cyan-Akzent, kein Leerraum */
.screen-timetable-slot-community {
    border-style: solid;
    border-color: color-mix(in srgb, var(--color-home-cyan) 55%, var(--color-home-line));
    border-left-width: 3px;
    border-left-color: var(--color-home-cyan);
    background: linear-gradient(
        160deg,
        color-mix(in srgb, var(--color-home-cyan) 12%, var(--color-home-panel)) 0%,
        var(--color-home-panel) 55%
    );
    opacity: 1;
    box-sizing: border-box;
}

/* .screen-timetable-speaker-row-community | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Keine Avatar-Spalte, Meta als Block */
.screen-timetable-speaker-row-community {
    display: block;
    grid-template-columns: minmax(0, 1fr);
    margin-block: 2px 0;
}

/* .screen-timetable-community-meta | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Meta-Stack Info-Box + CTA */
.screen-timetable-community-meta {
    gap: 12px;
    width: 100%;
}

/* .screen-timetable-slot-community-info | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-teaser-info-box, @skill-css-rules, @skill-change-provenance | Dark-Glass Info-Box Teaser/Vote/Reward */
.screen-timetable-slot-community-info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 14px 16px 14px 14px;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    border: 1.5px solid color-mix(in srgb, var(--color-home-cyan) 32%, var(--color-home-line));
    border-left: 5px solid var(--color-home-cyan);
    background: color-mix(in srgb, var(--color-home-cyan) 10%, var(--color-home-panel-2));
    box-shadow: none;
}

/* .screen-timetable-slot-community-info::before | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-teaser-info-box, @skill-css-rules, @skill-change-provenance | 3px Cyan-Akzentstreifen oben */
.screen-timetable-slot-community-info::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(
        90deg,
        var(--color-home-cyan) 0%,
        color-mix(in srgb, var(--color-home-cyan) 55%, transparent) 70%,
        transparent 100%
    );
    pointer-events: none;
    z-index: 1;
}

/* .screen-timetable-slot-community-teaser | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Teaser 18px weiss lesbar in Info-Box */
.screen-timetable-slot-community-teaser {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 750;
    line-height: 1.5;
    color: var(--color-home-text);
}

/* .screen-timetable-slot-community-vote | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Abstimmungs-Badge Pill in Info-Box */
.screen-timetable-slot-community-vote {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    margin: 0;
    padding: 5px 11px;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--color-home-cyan) 50%, transparent);
    background: color-mix(in srgb, var(--color-home-cyan) 16%, var(--color-home-panel));
    color: var(--color-home-cyan);
    font-size: 0.78rem;
    font-weight: 750;
    letter-spacing: 0.02em;
    line-height: 1.3;
}

/* .screen-timetable-slot-community-reward | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Belohnung hell lesbar in Info-Box */
.screen-timetable-slot-community-reward {
    margin: 0;
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.45;
    color: var(--color-home-text);
}

/* .screen-timetable-slot-community-cta-row | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | CTA volle Breite */
.screen-timetable-slot-community-cta-row {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 8px;
    margin: 4px 0 0;
    width: 100%;
}

/* .screen-timetable-slot-community-cta | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Button volle Kachelbreite */
.screen-timetable-slot-community-cta.screen-timetable-btn {
    display: inline-flex;
    margin: 0;
    width: 100%;
    min-height: 44px;
    padding: 0 18px;
    font-size: 0.95rem;
    text-decoration: none;
    box-sizing: border-box;
}

.screen-timetable-slot-community-cta-primary {
    color: var(--color-home-btn-text);
}

/* .screen-timetable-slot-community-tag | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Community Tag wie Slot-Tags */
.screen-timetable-slot-community-tag {
    border-color: color-mix(in srgb, var(--color-home-cyan) 50%, transparent);
    background: color-mix(in srgb, var(--color-home-cyan) 16%, var(--color-home-panel));
    color: var(--color-home-cyan);
}

/* .screen-timetable-speaker-avatar-tba | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | TBA-Portrait ohne Link */
.screen-timetable-speaker-avatar-tba {
    cursor: default;
    pointer-events: none;
}

/* Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Raum-Reiter nur Mobile max 767px; ab iPad Spalten */
@media (max-width: 767px) {
    /* .screen-timetable-header-row | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Zwei Raum-Reiter in einer Zeile */
    .screen-timetable-header-row[data-columns="2"] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .screen-timetable-header-room {
        padding: 12px 14px;
        min-height: 64px;
        justify-content: center;
    }

    .screen-timetable-header-room[aria-selected="false"] {
        opacity: 0.58;
        box-shadow: none;
    }

    .screen-timetable-header-room-is-active {
        opacity: 1;
        box-shadow: 0 0 0 2px color-mix(in srgb, #fff 55%, transparent);
        transform: translateY(-1px);
    }

    .screen-timetable-row[data-columns="2"] {
        grid-template-columns: 1fr;
    }

    .screen-timetable-cell-empty {
        display: none;
    }

    /* .screen-timetable-grid | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Nur aktiver Raum auf Mobile */
    .screen-timetable-grid[data-active-room="1"] .screen-timetable-cell[data-room="2"],
    .screen-timetable-grid[data-active-room="2"] .screen-timetable-cell[data-room="1"] {
        display: none;
    }

    /* .screen-timetable-moderator-bars | Änderungsprotokoll: 2026-11-12 | parent-agent | @skill-css-rules, @skill-change-provenance | Mobile nur die Leiste des aktiven Raums */
    .screen-timetable-moderator-bars[data-columns="2"] {
        grid-template-columns: 1fr;
    }

    .screen-timetable-grid[data-active-room="1"] .screen-timetable-moderator-bar[data-room="2"],
    .screen-timetable-grid[data-active-room="2"] .screen-timetable-moderator-bar[data-room="1"] {
        display: none;
    }

}

/* Parallel-Zeilen ab iPad: keine Reiter, Subgrid fuer gleiche Portrait-Hoehe */
@media (min-width: 768px) {
    /* .screen-timetable-header-room | Änderungsprotokoll: 2026-11-04 | parent-agent | @skill-css-rules, @skill-change-provenance | Ab iPad kein Tab-Cursor; Trefferfläche bleibt, damit der Element-Picker AI Coding Days - Deepdives einzeln trifft */
    .screen-timetable-header-room {
        cursor: default;
    }

    /* .screen-timetable-row | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Zwei Raum-Spalten immer 1fr/1fr gleich breit + Subgrid-Tracks */
    .screen-timetable-row[data-columns="2"]:not(.screen-timetable-row-span) {
        align-items: stretch;
        column-gap: 12px;
        row-gap: 8px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: auto auto auto auto;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    /* .screen-timetable-cell | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Subgrid an Row-Tracks */
    .screen-timetable-row[data-columns="2"]:not(.screen-timetable-row-span) > .screen-timetable-cell {
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 4;
        min-width: 0;
    }

    /* .screen-timetable-slot | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Subgrid: kein padding-block (frisst row-gap); Abstand via Item-Margins */
    .screen-timetable-row[data-columns="2"]:not(.screen-timetable-row-span) .screen-timetable-slot {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: subgrid;
        grid-row: span 4;
        gap: 0;
        align-items: stretch;
        height: auto;
        min-height: 100%;
        padding-top: 0;
        padding-bottom: 0;
        padding-left: 18px;
        padding-right: 18px;
    }

    /* .screen-timetable-slot-main | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | contents fuer Subgrid-Kinder */
    .screen-timetable-row[data-columns="2"]:not(.screen-timetable-row-span) .screen-timetable-slot-main {
        display: contents;
    }

    /* .screen-timetable-slot-time | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Track 1 + oberer Karten-Innenabstand + Abstand zum Titel */
    .screen-timetable-row[data-columns="2"]:not(.screen-timetable-row-span) .screen-timetable-slot-time {
        grid-row: 1;
        align-self: start;
        margin-top: 18px;
        margin-bottom: 8px;
    }

    /* .screen-timetable-slot-title | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Track 2 height auto; Abstand zum Portrait */
    .screen-timetable-row[data-columns="2"]:not(.screen-timetable-row-span) .screen-timetable-slot-title {
        grid-row: 2;
        order: initial;
        align-self: start;
        height: auto;
        box-sizing: border-box;
        margin-bottom: 10px;
    }

    /* .screen-timetable-speaker-row | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Track 3 Portrait+Meta buendig */
    .screen-timetable-row[data-columns="2"]:not(.screen-timetable-row-span) .screen-timetable-speaker-row {
        grid-row: 3;
        order: initial;
        align-self: start;
        margin-bottom: 10px;
    }

    /* .screen-timetable-slot-tags | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Track 4 + unterer Karten-Innenabstand */
    .screen-timetable-row[data-columns="2"]:not(.screen-timetable-row-span) .screen-timetable-slot-tags {
        grid-row: 4;
        order: initial;
        align-self: start;
        min-height: 0;
        margin-bottom: 18px;
    }

    /* .screen-timetable-speaker-meta > .screen-timetable-slot-tags | Änderungsprotokoll: 2026-11-01 | parent-agent | @skill-css-rules, @skill-change-provenance | Speaker-Tags rechts neben dem Portrait, nicht in der vollen Tag-Zeile */
    .screen-timetable-row[data-columns="2"]:not(.screen-timetable-row-span) .screen-timetable-speaker-meta > .screen-timetable-slot-tags {
        grid-row: auto;
        margin-top: 0;
        margin-bottom: 0;
        width: 100%;
    }

    /* Doppel-Slot Tags unter Portraits | Änderungsprotokoll: 2026-11-08 | parent-agent | @skill-css-rules, @skill-change-provenance, @skill-briefing-first | Subgrid Track 4 nicht erzwingen */
    .screen-timetable-row[data-columns="2"]:not(.screen-timetable-row-span) .screen-timetable-speaker-row:has(.screen-timetable-speaker-photos-dual) > .screen-timetable-slot-tags {
        grid-row: auto;
        margin-bottom: 0;
        width: 100%;
    }

    .screen-timetable-row[data-columns="2"]:not(.screen-timetable-row-span) .screen-timetable-speaker-row:not(:has(.screen-timetable-speaker-photos-dual)) > .screen-timetable-slot-tags {
        grid-row: auto;
        margin-bottom: 0;
        width: 100%;
    }

    /* Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Community Meta vertikal zentriert als Einheit, kein margin-top auto Gap */
    .screen-timetable-row[data-columns="2"]:not(.screen-timetable-row-span) .screen-timetable-slot-community .screen-timetable-speaker-row-community {
        align-self: stretch;
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-height: 0;
        box-sizing: border-box;
    }

    .screen-timetable-row[data-columns="2"]:not(.screen-timetable-row-span) .screen-timetable-slot-community .screen-timetable-community-meta {
        flex: 0 1 auto;
        display: flex;
        flex-direction: column;
        gap: 10px;
        min-height: 0;
        width: 100%;
    }

    .screen-timetable-row[data-columns="2"]:not(.screen-timetable-row-span) .screen-timetable-slot-community .screen-timetable-slot-tags {
        visibility: visible;
        min-height: 0;
    }

    /* .screen-timetable-slot-time-row | Änderungsprotokoll: 2026-11-01 | parent-agent | @skill-css-rules, @skill-change-provenance | Zeitzeile inkl. Chip auf Track 1 */
    .screen-timetable-row[data-columns="2"]:not(.screen-timetable-row-span) .screen-timetable-slot-time-row {
        grid-row: 1;
        align-self: start;
        margin-top: 18px;
        margin-bottom: 8px;
    }

    /* .screen-timetable-slot-time-row .screen-timetable-slot-time | Änderungsprotokoll: 2026-11-01 | parent-agent | @skill-css-rules, @skill-change-provenance | Abstand sitzt an der Zeile, Chip bleibt auf der Uhrzeit-Linie */
    .screen-timetable-row[data-columns="2"]:not(.screen-timetable-row-span) .screen-timetable-slot-time-row .screen-timetable-slot-time {
        margin-top: 0;
        margin-bottom: 0;
        width: auto;
    }
}


/* .screen-timetable-slot-time-row | Änderungsprotokoll: 2026-11-01 | parent-agent | @skill-css-rules, @skill-change-provenance | Uhrzeit links, Raum-Chip rechts */
.screen-timetable-slot-time-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    width: 100%;
    min-width: 0;
    grid-column: 1;
    grid-row: 1;
}

/* #timetable-day-1-slot-2-time | Änderungsprotokoll: 2026-11-01 | parent-agent | @skill-css-rules, @skill-change-provenance | Uhrzeit gleich hoch wie die Chip-Zeile */
#timetable-day-1-slot-2-time {
    font-size: 16px;
    line-height: 22px;
}

/* #timetable-day-1-slot-16-time | Änderungsprotokoll: 2026-11-01 | parent-agent | @skill-css-rules, @skill-change-provenance | Uhrzeit gleich hoch wie die Chip-Zeile */
#timetable-day-1-slot-16-time {
    font-size: 16px;
    line-height: 22px;
}

/* .screen-timetable-slot-time-row .screen-timetable-slot-time | Änderungsprotokoll: 2026-11-01 | parent-agent | @skill-css-rules, @skill-change-provenance | Uhrzeit schrumpft, Chip bleibt rechts daneben */
.screen-timetable-slot-time-row .screen-timetable-slot-time {
    width: auto;
    flex: 0 0 auto;
}

/* .screen-timetable-room-chip | Änderungsprotokoll: 2026-11-01 | parent-agent | @skill-css-rules, @skill-change-provenance | Raum-Chip rechts neben der Uhrzeit */
.screen-timetable-room-chip {
    display: inline-flex;
    align-items: center;
    flex: 0 1 auto;
    max-width: 100%;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.3;
    white-space: nowrap;
    color: #fff;
}

/* .screen-timetable-room-chip-1 | Änderungsprotokoll: 2026-11-01 | parent-agent | @skill-css-rules, @skill-change-provenance | Chip Raum AI Coding Days in Cyan */
.screen-timetable-room-chip-1 {
    border: 1px solid color-mix(in srgb, var(--color-home-cyan) 55%, transparent);
    background: color-mix(in srgb, var(--color-home-cyan) 42%, #061018);
}

/* .screen-timetable-room-chip-2 | Änderungsprotokoll: 2026-11-04 | parent-agent | @skill-css-rules, @skill-change-provenance | Chip AI Coding Days - Deepdives umbricht neben der Uhrzeit */
.screen-timetable-room-chip-2 {
    border: 1px solid color-mix(in srgb, var(--color-home-purple) 55%, transparent);
    background: color-mix(in srgb, var(--color-home-purple) 42%, #0c0614);
    white-space: normal;
}

/* .screen-timetable-slot-time | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Zeitzeile oberhalb Titel volle Breite */
.screen-timetable-slot-time {
    grid-column: 1;
    grid-row: 1;
    display: block;
    width: 100%;
    font: 750 14px ui-monospace, monospace;
    color: var(--color-home-cyan);
}

/* .screen-timetable-slot-time-row > .screen-timetable-slot-time | Änderungsprotokoll: 2026-11-01 | parent-agent | @skill-css-rules, @skill-change-provenance | Alle Uhrzeiten neben dem Raum-Chip gleich hoch wie die Chip-Zeile */
.screen-timetable-slot-time-row > .screen-timetable-slot-time {
    font-size: 16px;
    line-height: 22px;
}

/* .screen-timetable-slot-main | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Mehr Abstand Titel/Portrait/Tags */
.screen-timetable-slot-main {
    grid-column: 1;
    grid-row: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    row-gap: 18px;
    align-items: start;
    justify-items: start;
    min-width: 0;
    width: 100%;
}

/* .screen-timetable-slot-copy | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | display contents: Kinder in Slot-Main-Stack */
.screen-timetable-slot-copy {
    display: contents;
}

/* .screen-timetable-slot-title | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Titel zuerst, volle Breite */
.screen-timetable-slot-title {
    grid-column: 1;
    order: 1;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    font-size: 17px;
    margin: 0;
    color: var(--color-home-text);
    font-weight: 700;
    line-height: 1.35;
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* .screen-timetable-speaker-row | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Portrait Abstand oben/unten */
.screen-timetable-speaker-row {
    grid-column: 1;
    order: 2;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: 14px;
    align-items: center;
    width: 100%;
    min-width: 0;
    margin-block: 4px;
}

/* .screen-timetable-speaker-meta | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Mehr Abstand Name/Firma/URL */
.screen-timetable-speaker-meta {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.screen-timetable-slot-type {
    font-size: 12px;
    color: var(--color-home-vat);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

/* .screen-timetable-speaker-meta > .screen-timetable-slot-tags | Änderungsprotokoll: 2026-11-01 | parent-agent | @skill-css-rules, @skill-change-provenance | Speaker-Tags rechts neben dem Portrait */
.screen-timetable-speaker-meta > .screen-timetable-slot-tags {
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
}

/* #timetable-day-1-slot-2-speaker-meta > #timetable-day-1-slot-2-tags | Änderungsprotokoll: 2026-11-01 | parent-agent | @skill-css-rules, @skill-change-provenance | Slot-2-Tags rechts neben dem Portrait */
#timetable-day-1-slot-2-speaker-meta > #timetable-day-1-slot-2-tags {
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
}

/* .screen-timetable-slot-tags | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Tags unter Speaker-Row volle Breite */
.screen-timetable-slot-tags {
    grid-column: 1;
    order: 3;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 2px;
    width: 100%;
}

/* .screen-timetable-slot-session-format | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Keynote-Badge helles Gold, Text tiefes Bronze */
.screen-timetable-slot-session-format {
    display: inline-flex;
    align-items: center;
    padding: 4px 12px;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, #e8d39a 68%, #c9ae5c);
    background:
        linear-gradient(
            118deg,
            color-mix(in srgb, #ffffff 55%, #fff4d4) 0%,
            #fff6dd 14%,
            #f3e2a8 32%,
            #e8cb74 48%,
            #f7ebc2 64%,
            #e4c56e 82%,
            #d4b25a 100%
        );
    color: #5c4216;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.14em;
    line-height: 1.25;
    text-transform: uppercase;
    text-shadow: 0 1px 0 color-mix(in srgb, #ffffff 72%, transparent);
    box-shadow:
        0 0 0 1px color-mix(in srgb, #fff4d0 42%, transparent),
        0 1px 6px color-mix(in srgb, #d4b25a 22%, transparent),
        0 0 10px color-mix(in srgb, #f0dfa0 18%, transparent),
        inset 0 1px 0 color-mix(in srgb, #ffffff 82%, transparent),
        inset 0 -1px 0 color-mix(in srgb, #c9ae5c 22%, transparent);
}

/* .screen-timetable-slot-talk-language | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | DE/EN Badge inkl. slot-tag Klasse */
.screen-timetable-slot-talk-language {
    display: inline-flex;
    align-items: center;
    padding: 3px 9px;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--color-home-cyan) 45%, transparent);
    background: color-mix(in srgb, var(--color-home-cyan) 12%, var(--color-home-panel));
    color: var(--color-home-cyan);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.3;
    text-transform: none;
    box-shadow: none;
    text-shadow: none;
}

/* .screen-timetable-slot-talk-language-de | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Semantik-Hook; Optik wie slot-tag */
.screen-timetable-slot-talk-language-de {
    border: 1px solid color-mix(in srgb, var(--color-home-cyan) 45%, transparent);
    box-shadow: none;
    background: color-mix(in srgb, var(--color-home-cyan) 12%, var(--color-home-panel));
    color: var(--color-home-cyan);
    text-shadow: none;
}

/* .screen-timetable-slot-talk-language-en | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Semantik-Hook; Optik wie slot-tag */
.screen-timetable-slot-talk-language-en {
    border: 1px solid color-mix(in srgb, var(--color-home-cyan) 45%, transparent);
    box-shadow: none;
    background: color-mix(in srgb, var(--color-home-cyan) 12%, var(--color-home-panel));
    color: var(--color-home-cyan);
    text-shadow: none;
}

/* .screen-timetable-slot-tag | Änderungsprotokoll: 2026-10-05 | parent-agent | @skill-css-rules, @skill-change-provenance | Kompakte Tag-Pills */
.screen-timetable-slot-tag {
    display: inline-flex;
    align-items: center;
    padding: 3px 9px;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--color-home-cyan) 45%, transparent);
    background: color-mix(in srgb, var(--color-home-cyan) 12%, var(--color-home-panel));
    color: var(--color-home-cyan);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.3;
    text-transform: none;
}

/* .screen-timetable-speaker-name | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Name neben Avatar */
.screen-timetable-speaker-name {
    display: inline-block;
    margin: 0;
    color: var(--color-home-cyan);
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    letter-spacing: -0.01em;
    transition: 0.2s color, 0.2s transform;
}

.screen-timetable-speaker-name:hover {
    color: var(--color-home-purple);
    transform: translateY(-1px);
}

/* .screen-timetable-owner-edit | Änderungsprotokoll: 2026-11-01 | parent-agent | @skill-css-rules, @skill-change-provenance | Link zum eigenen Profil trotz Timetable-Aus */
.screen-timetable-owner-edit {
    display: inline-flex;
    align-items: center;
    margin: 4px 0 0;
    padding: 2px 8px;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--color-home-cyan) 55%, transparent);
    background: color-mix(in srgb, var(--color-home-cyan) 14%, var(--color-home-panel));
    color: var(--color-home-cyan);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
}

.screen-timetable-owner-edit:hover {
    color: var(--color-home-purple);
    border-color: color-mix(in srgb, var(--color-home-purple) 55%, transparent);
}

/* .screen-timetable-speaker-job-title | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Position unter Name */
.screen-timetable-speaker-job-title {
    margin: 0;
    font-size: 12px;
    line-height: 1.35;
    font-weight: 500;
    color: color-mix(in srgb, var(--color-home-text) 78%, transparent);
}

/* a.screen-timetable-speaker-company | Änderungsprotokoll: 2026-11-01 | parent-agent | @skill-css-rules, @skill-change-provenance | Slot-2-Firma verlinkt auf Speaker-Profil */
a.screen-timetable-speaker-company {
    display: block;
    text-decoration: none;
    color: var(--color-home-text);
}

a.screen-timetable-speaker-company:hover {
    color: var(--color-home-cyan);
}

/* .screen-timetable-speaker-company | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Firma neben Avatar */
.screen-timetable-speaker-company {
    margin: 0;
    font-size: 13px;
    line-height: 1.35;
    font-weight: 600;
    color: var(--color-home-text);
}

/* .screen-timetable-speaker-moderator | Änderungsprotokoll: 2026-11-12 | subagent-update-screen | @skill-css-rules, @skill-change-provenance | Moderator-Zeile unter Firma in Slot-Meta */
.screen-timetable-speaker-moderator {
    margin-block: 4px 0;
    margin-inline: 0;
    font-size: 12px;
    line-height: 1.35;
    font-weight: 500;
    color: color-mix(in srgb, var(--color-home-text) 72%, transparent);
}

/* .screen-timetable-speaker-moderator-link | Änderungsprotokoll: 2026-11-12 | subagent-update-screen | @skill-css-rules, @skill-change-provenance | Moderator-Name-Link in Slot-Meta */
.screen-timetable-speaker-moderator-link {
    color: var(--color-home-cyan);
    text-decoration: none;
    font-weight: 600;
}

/* .screen-timetable-speaker-moderator-link:hover | Änderungsprotokoll: 2026-11-12 | subagent-update-screen | @skill-css-rules, @skill-change-provenance | Hover Moderator-Link Slot-Meta */
.screen-timetable-speaker-moderator-link:hover {
    text-decoration: underline;
}

/* .screen-timetable-speaker-company-url | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | URL max 100% damit Zeilen nicht breiter werden */
.screen-timetable-speaker-company-url {
    display: block;
    margin-block: 4px;
    margin-inline: 0;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    font-size: 11px;
    line-height: 1.35;
    color: var(--color-home-cyan);
    text-decoration: none;
    word-break: break-all;
    overflow-wrap: anywhere;
}

.screen-timetable-speaker-company-url:hover {
    text-decoration: underline;
}

/* .screen-timetable-speaker-photos | Änderungsprotokoll: 2026-11-08 | parent-agent | @skill-css-rules, @skill-change-provenance, @skill-briefing-first | Dual-Speaker Portraits nebeneinander */
.screen-timetable-speaker-photos {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 8px;
    flex-shrink: 0;
}

/* .screen-timetable-speaker-photos-dual | Änderungsprotokoll: 2026-11-08 | parent-agent | @skill-css-rules, @skill-change-provenance, @skill-briefing-first | Doppel-Slot Foto-Paar */
.screen-timetable-speaker-photos-dual {
    align-items: center;
}

/* .screen-timetable-speaker-row:has(.screen-timetable-speaker-photos-dual) | Änderungsprotokoll: 2026-11-08 | parent-agent | @skill-css-rules, @skill-change-provenance, @skill-briefing-first | Doppel-Slot Mobile-first: Portraits, darunter Meta, darunter Chips */
.screen-timetable-speaker-row:has(.screen-timetable-speaker-photos-dual) {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
        "photos"
        "meta"
        "tags";
    column-gap: 0;
    row-gap: 10px;
    align-items: start;
}

.screen-timetable-speaker-row:has(.screen-timetable-speaker-photos-dual) > .screen-timetable-speaker-photos {
    grid-area: photos;
    align-self: start;
    width: 100%;
    justify-content: flex-start;
}

.screen-timetable-speaker-row:has(.screen-timetable-speaker-photos-dual) > .screen-timetable-speaker-meta {
    grid-area: meta;
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
    width: 100%;
    align-self: start;
}

.screen-timetable-speaker-row:has(.screen-timetable-speaker-photos-dual) > .screen-timetable-slot-tags {
    grid-area: tags;
    grid-row: auto;
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
}

/* Solo: Tags bleiben in der Meta-Spalte neben dem Portrait */
.screen-timetable-speaker-row:not(:has(.screen-timetable-speaker-photos-dual)) > .screen-timetable-slot-tags {
    grid-column: 2;
    grid-row: auto;
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
}

/* Doppel-Slot ab iPad: Meta rechts neben Portraits, Chips darunter | Änderungsprotokoll: 2026-11-08 | parent-agent | @skill-css-rules, @skill-change-provenance, @skill-briefing-first */
@media (min-width: 768px) {
    .screen-timetable-speaker-row:has(.screen-timetable-speaker-photos-dual) {
        grid-template-columns: auto minmax(0, 1fr);
        grid-template-areas:
            "photos meta"
            "tags tags";
        column-gap: 14px;
        row-gap: 8px;
    }

    .screen-timetable-speaker-row:has(.screen-timetable-speaker-photos-dual) > .screen-timetable-speaker-photos {
        width: auto;
    }

    .screen-timetable-speaker-row:has(.screen-timetable-speaker-photos-dual) > .screen-timetable-speaker-meta {
        width: auto;
    }
}

/* .screen-timetable-speaker-names-dual | Änderungsprotokoll: 2026-11-08 | parent-agent | @skill-css-rules, @skill-change-provenance, @skill-briefing-first | Zwei Namens-Links */
.screen-timetable-speaker-names-dual {
    display: inline;
}

/* .screen-timetable-speaker-name-link | Änderungsprotokoll: 2026-11-08 | parent-agent | @skill-css-rules, @skill-change-provenance, @skill-briefing-first | Dual-Name Link */
.screen-timetable-speaker-name-link {
    color: inherit;
    text-decoration: none;
}

.screen-timetable-speaker-name-link:hover {
    text-decoration: underline;
}

/* .screen-timetable-speaker-avatar | Änderungsprotokoll: 2026-11-08 | parent-agent | @skill-css-rules, @skill-change-provenance | Portrait in Speaker-Row inkl. Dual */
.screen-timetable-speaker-avatar {
    align-self: center;
    display: inline-flex;
    flex-shrink: 0;
    text-decoration: none;
    transition: 0.22s transform, 0.22s filter;
}

.screen-timetable-speaker-avatar:hover {
    transform: translateY(-2px) scale(1.02);
    filter: brightness(1.06);
}

/* .screen-timetable-speaker-avatar-image | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Groesseres Portrait */
.screen-timetable-speaker-avatar-image {
    display: block;
    width: 112px;
    height: 112px;
    border-radius: 12px;
    object-fit: cover;
    object-position: center center;
    border: 1px solid color-mix(in srgb, var(--color-home-cyan) 28%, transparent);
    box-shadow:
        0 0 0 1px color-mix(in srgb, var(--color-home-line) 40%, transparent),
        0 10px 24px color-mix(in srgb, var(--color-home-bg) 70%, transparent);
    background: var(--color-home-panel-2);
}

.screen-timetable-note {
    margin-top: 14px;
    color: var(--color-home-muted);
    font-size: 14px;
    line-height: 1.55;
}

/* .screen-timetable-footer-cta | Änderungsprotokoll: 2026-10-03 | parent-agent | @skill-css-rules, @skill-change-provenance | Footer CTA zentriert */
.screen-timetable-footer-cta {
    margin-top: 12px;
    padding: 36px 28px;
    border-radius: 14px;
    border: 1px solid color-mix(in srgb, var(--color-home-cyan) 20%, transparent);
    background: linear-gradient(135deg, #0d2a2c 0%, var(--color-home-panel) 55%, #1a1230 100%);
    text-align: center;
}

.screen-timetable-footer-cta-headline {
    margin: 0 0 10px;
    font-size: 28px;
    font-weight: 900;
    color: var(--color-home-text);
}

.screen-timetable-footer-cta-text {
    margin: 0 auto 20px;
    color: var(--color-home-lead);
    max-width: 50ch;
    line-height: 1.55;
}

/* .screen-timetable-btn | Änderungsprotokoll: 2026-10-03 | parent-agent | @skill-css-rules, @skill-change-provenance | CTA dunkles Türkis + weisse Schrift */
.screen-timetable-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 22px;
    border-radius: 8px;
    background: var(--color-primary-button);
    color: var(--color-home-btn-text);
    font-weight: 850;
    text-decoration: none;
    box-shadow: var(--shadow-sm);
    transition: 0.22s transform, 0.22s box-shadow, 0.22s background-color;
}

.screen-timetable-btn:hover {
    transform: translateY(-2px);
    background: var(--color-primary-button-hover);
    color: var(--color-home-btn-text);
    box-shadow: var(--shadow-md);
}

@media (min-width: 769px) {
    /* .screen-timetable-hero-shell | Änderungsprotokoll: 2026-10-28 | parent-agent | @skill-css-rules, @skill-change-provenance | Date-Card-Spalte fuer einzeiliges Datum */
    .screen-timetable-hero-shell {
        grid-template-columns: minmax(0, 1fr) max-content;
        gap: 28px;
        align-items: center;
    }

    /* .screen-timetable-speaker-avatar-image | Änderungsprotokoll: 2026-10-30 | parent-agent | @skill-css-rules, @skill-change-provenance | Desktop Portrait 148px */
    .screen-timetable-speaker-avatar-image {
        width: 148px;
        height: 148px;
    }
}

