:root {
    --bg: #08090a;
    --surface: rgba(20, 21, 22, .94);
    --surface-2: #1b1c1e;
    --surface-3: #242529;
    --text: #fff8df;
    --muted: #bdb8a5;
    --yellow: #ffe600;
    --orange: #ff6a00;
    --line: rgba(255, 230, 0, .18);
    --line-strong: rgba(255, 230, 0, .42);
    --shadow: 0 14px 38px rgba(0, 0, 0, .3);
    --radius: 14px;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color-scheme: dark;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--bg); }
body { position: relative; isolation: isolate; display: flex; min-height: 100vh; margin: 0; color: var(--text); background: var(--bg); flex-direction: column; }
body::before,
body::after { position: fixed; inset: 0; pointer-events: none; content: ''; }
body::before { z-index: -2; background: url('../img/Background.jpg') center center / cover no-repeat; transform: translateZ(0); }
body::after { z-index: -1; background: linear-gradient(180deg, rgba(8,9,10,.9), rgba(8,9,10,.975) 58%, rgba(8,9,10,.99)); }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button, .button { cursor: pointer; }

.site-header { position: sticky; top: 0; z-index: 40; display: flex; align-items: center; justify-content: space-between; min-height: 60px; padding: 7px clamp(14px, 3vw, 42px); border-bottom: 1px solid var(--line); background: rgba(8,9,10,.9); backdrop-filter: blur(16px); }
.brand { display: inline-flex; align-items: center; gap: 11px; min-width: 0; }
.brand img { width: 42px; height: 42px; object-fit: contain; filter: drop-shadow(0 0 10px rgba(255,106,0,.3)); }
.brand span { display: grid; line-height: 1.05; }
.brand strong { color: var(--yellow); font-size: .92rem; letter-spacing: .035em; }
.brand small { margin-top: 3px; color: var(--muted); font-size: .61rem; text-transform: uppercase; letter-spacing: .13em; }
.site-nav { display: flex; align-items: center; gap: 6px; }
.site-nav a, .site-nav button { min-height: 33px; padding: 7px 10px; color: var(--muted); border: 1px solid transparent; border-radius: 8px; background: transparent; font-size: .84rem; }
.site-nav a:hover, .site-nav a:focus-visible, .site-nav button:hover, .site-nav button:focus-visible, .site-nav a.is-active { color: var(--text); border-color: var(--line); background: rgba(255,230,0,.07); }
.site-nav form { margin: 0; }
.user-chip { max-width: 210px; overflow: hidden; padding: 6px 9px; color: var(--yellow); text-overflow: ellipsis; white-space: nowrap; }
.nav-toggle { display: none; padding: 7px 10px; color: var(--text); border: 1px solid var(--line); border-radius: 8px; background: var(--surface-2); }
.site-main { width: min(1480px, calc(100% - 28px)); min-height: 0; margin: 0 auto; padding: clamp(20px, 3.2vw, 42px) 0; flex: 1 0 auto; }
.site-footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; width: min(1480px, calc(100% - 28px)); margin: 0 auto; padding: 14px 0 18px; color: var(--muted); border-top: 1px solid var(--line); font-size: .74rem; }
.site-footer a { color: var(--muted); }
.site-footer a:hover,
.site-footer a:focus-visible { color: var(--yellow); }

.eyebrow { margin: 0 0 6px; color: var(--yellow); font-size: .65rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 10px; font-size: clamp(1.75rem, 3vw, 3rem); line-height: 1.05; letter-spacing: -.03em; }
h2 { margin-bottom: 7px; font-size: clamp(1.15rem, 1.9vw, 1.65rem); }
p { color: var(--muted); line-height: 1.52; }

.calendar-toolbar, .page-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin: clamp(22px, 3.4vw, 38px) 0 13px; }
.calendar-toolbar--public { margin-top: 0; }
.calendar-toolbar h2, .page-heading h1 { margin: 0; }
.page-heading h1 { font-size: clamp(1.7rem, 2.8vw, 2.6rem); }
.page-heading p:last-child { margin-bottom: 0; }
.calendar-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 36px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 9px; font-size: .82rem; font-weight: 800; white-space: nowrap; }
.button--primary { color: #121100; border-color: var(--yellow); background: linear-gradient(135deg, var(--yellow), #ffb000); box-shadow: 0 8px 24px rgba(255,106,0,.15); }
.button--primary:hover { filter: brightness(1.08); transform: translateY(-1px); }
.button--quiet { color: var(--text); background: rgba(255,255,255,.035); }
.button--quiet:hover { border-color: var(--line-strong); background: rgba(255,230,0,.08); }

.status-legend { display: flex; flex-wrap: wrap; gap: 13px; margin: 0 0 11px; padding: 7px 10px; color: var(--muted); border-left: 2px solid var(--line-strong); list-style: none; }
.status-legend > li { display: inline-flex; align-items: center; gap: 7px; font-size: .83rem; }
.status-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: #777; box-shadow: 0 0 12px currentColor; }
.status-dot--idea { color: #b1b1b1; background: #b1b1b1; }
.status-dot--preparation { color: #59b8ff; background: #59b8ff; }
.status-dot--recording { color: #ff5b68; background: #ff5b68; }
.status-dot--editing { color: #bb83ff; background: #bb83ff; }
.status-dot--scheduled { color: #ffcf4a; background: #ffcf4a; }
.status-dot--published { color: #61d38b; background: #61d38b; }
.status-dot--cancelled { color: #ff747d; background: #ff747d; }
.status-dot--archived { color: #777; background: #777; }

.upload-calendar { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #0b0c0e; box-shadow: var(--shadow); }
.calendar-weekday { padding: 8px; color: var(--muted); border-right: 1px solid var(--line); background: rgba(255,230,0,.055); font-size: .68rem; font-weight: 900; text-align: center; text-transform: uppercase; }
.calendar-day { min-width: 0; min-height: 128px; padding: 7px; border-top: 1px solid var(--line); border-right: 1px solid var(--line); background: #151619; }
.calendar-day:nth-child(7n+7), .calendar-weekday:nth-child(7) { border-right: 0; }
.calendar-day.is-outside { background: #0b0c0e; }
.calendar-day.is-outside > header time { opacity: .42; }
.calendar-day.is-today { background: linear-gradient(145deg, rgba(255,230,0,.12), rgba(17,18,19,.9)); box-shadow: inset 0 0 0 1px var(--yellow); }
.calendar-day > header { display: flex; justify-content: flex-end; margin-bottom: 7px; }
.calendar-day > header time { display: grid; width: 27px; height: 27px; place-items: center; color: var(--muted); border-radius: 50%; font-size: .77rem; font-weight: 900; }
.is-today > header time { color: #111; background: var(--yellow); }
.calendar-events { display: grid; gap: 6px; }
.calendar-event { min-width: 0; padding: 6px 7px; border: 1px solid rgba(255,255,255,.12); border-left: 3px solid var(--yellow); border-radius: 7px; background: #292a2e; box-shadow: 0 4px 12px rgba(0,0,0,.22); }
.calendar-event--youtube { border-color: #ff4b4b; }
.calendar-event--twitch { border-color: #a970ff; }
.calendar-event--both { border-color: var(--yellow); }
.calendar-event.is-cancelled { border-color: rgba(255,116,125,.72); background: linear-gradient(135deg, rgba(92,30,35,.72), #292a2e 72%); }
.calendar-event > div { display: flex; justify-content: space-between; gap: 6px; color: var(--muted); font-size: .75rem; }
.calendar-event strong { display: -webkit-box; margin: 4px 0 3px; overflow: hidden; font-size: .78rem; line-height: 1.25; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.calendar-event__series,
.calendar-event__game { display: block; overflow: hidden; font-size: .68rem; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.calendar-event__series { margin: 0 0 2px; overflow: visible; color: var(--muted); overflow-wrap: anywhere; text-overflow: clip; white-space: normal; }
.calendar-event__game { margin: 0 0 6px; color: #f2d982; }
.calendar-event.is-cancelled strong { color: #ffd6d9; text-decoration: line-through; text-decoration-thickness: 1.5px; }
.status-badge { display: inline-flex; width: fit-content; padding: 4px 8px; border: 1px solid currentColor; border-radius: 999px; background: #111214; font-size: .72rem; font-weight: 900; white-space: nowrap; }
.status-badge--idea { color: #c1c1c1; }
.status-badge--preparation { color: #79c7ff; }
.status-badge--recording { color: #ff828b; }
.status-badge--editing { color: #cba2ff; }
.status-badge--scheduled { color: #ffda69; }
.status-badge--published { color: #7be3a1; }
.status-badge--cancelled { color: #ff9ca3; }
.status-badge--archived { color: #949494; }
.watch-link { display: inline-flex; width: fit-content; margin-top: 8px; padding: 5px 8px; color: #161300; border-radius: 7px; background: linear-gradient(135deg, var(--yellow), #ffb000); font-size: .72rem; font-weight: 900; }
.watch-link:hover { filter: brightness(1.08); }
.mobile-agenda { display: none; }
.agenda-item.is-cancelled { border-color: rgba(255,116,125,.5); background: linear-gradient(135deg, rgba(77,27,31,.7), #191a1d 68%); }
.agenda-item.is-cancelled h3,
.agenda-item.is-cancelled p { color: #ffd6d9; text-decoration: line-through; text-decoration-thickness: 1.5px; }
.agenda-item__series,
.agenda-item__game,
.planning-agenda__series,
.planning-agenda__game { display: block; font-size: .72rem; line-height: 1.45; }
.agenda-item__series { color: var(--muted); }
.agenda-item__series,
.planning-agenda__series { overflow-wrap: anywhere; white-space: normal; }
.planning-agenda__series { color: var(--muted); }
.agenda-item__game, .planning-agenda__game { color: #f2d982 !important; }

.notice { margin: 0 0 13px; padding: 10px 12px; color: #d8ecff; border: 1px solid rgba(89,184,255,.35); border-radius: 9px; background: rgba(89,184,255,.1); font-size: .84rem; }
.notice--success { color: #b9f4ce; border-color: rgba(97,211,139,.35); background: rgba(97,211,139,.1); }
.notice--error { color: #ffd2d5; border-color: rgba(255,91,104,.4); background: rgba(255,91,104,.1); }
.empty-state { display: grid; gap: 5px; padding: 20px; border: 1px dashed var(--line-strong); border-radius: var(--radius); color: var(--muted); background: #111315; text-align: center; }
.empty-state strong { color: var(--text); }

.auth-shell { display: grid; grid-template-columns: minmax(0, 1fr) minmax(330px, 440px); align-items: center; gap: clamp(28px, 6vw, 82px); min-height: calc(100vh - 180px); }
.auth-copy h1 { max-width: 780px; }
.auth-copy p { max-width: 620px; font-size: .96rem; }
.auth-copy ul { display: grid; gap: 7px; padding: 0; color: var(--muted); font-size: .88rem; list-style: none; }
.auth-copy li::before { margin-right: 10px; color: var(--yellow); content: '✓'; font-weight: 900; }
.auth-card { display: grid; gap: 13px; padding: clamp(19px, 3vw, 30px); border: 1px solid var(--line); border-radius: 16px; background: var(--surface); box-shadow: var(--shadow); }
.auth-card h2 { margin: 0; }
.auth-card label, .pipeline-filter label { display: grid; gap: 5px; color: var(--muted); font-size: .74rem; font-weight: 800; }
.auth-card input, .pipeline-filter input, .pipeline-filter select { width: 100%; min-height: 39px; padding: 8px 10px; color: var(--text); border: 1px solid rgba(255,255,255,.14); border-radius: 8px; outline: none; background: #0e0f10; font-size: .86rem; }
.auth-card input:focus, .pipeline-filter input:focus, .pipeline-filter select:focus { border-color: var(--yellow); box-shadow: 0 0 0 3px rgba(255,230,0,.09); }
.auth-card small { color: var(--muted); line-height: 1.5; }

.pipeline-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 13px; }
.pipeline-stats article { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 2px 7px; padding: 10px 11px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.pipeline-stats .status-dot { grid-row: 1 / 3; }
.pipeline-stats strong { font-size: 1.05rem; }
.pipeline-stats small { color: var(--muted); font-size: .72rem; }
.pipeline-filter { display: grid; grid-template-columns: minmax(240px, 2fr) repeat(2, minmax(150px, 1fr)) auto auto; align-items: end; gap: 8px; margin-bottom: 13px; padding: 11px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); }
.pipeline-board { display: grid; grid-auto-columns: minmax(250px, 1fr); grid-auto-flow: column; gap: 9px; overflow-x: auto; padding-bottom: 9px; scrollbar-color: var(--orange) #191919; }
.pipeline-lane { min-width: 0; border: 1px solid var(--line); border-radius: 12px; background: rgba(13,14,15,.9); }
.pipeline-lane > header { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 7px; padding: 10px 11px; border-bottom: 1px solid var(--line); }
.pipeline-lane h2 { margin: 0; font-size: .92rem; }
.pipeline-lane > header > span:last-child { color: var(--muted); font-size: .77rem; }
.pipeline-lane > div { display: grid; align-content: start; gap: 7px; max-height: 68vh; overflow-y: auto; padding: 8px; scrollbar-color: var(--orange) #191919; }
.pipeline-card { padding: 10px; border: 1px solid rgba(255,255,255,.09); border-radius: 9px; background: var(--surface-2); }
.pipeline-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--muted); font-size: .67rem; }
.pipeline-card h3 { margin: 8px 0 5px; font-size: .86rem; line-height: 1.28; }
.pipeline-card p { margin-bottom: 10px; font-size: .77rem; line-height: 1.35; }
.platform { display: inline-flex; padding: 4px 7px; border-radius: 999px; font-size: .65rem; font-weight: 900; }
.platform--youtube { color: #ffb7b7; background: rgba(255,75,75,.14); }
.platform--twitch { color: #d7bcff; background: rgba(169,112,255,.15); }
.platform--both { color: #fff099; background: rgba(255,230,0,.12); }
.pipeline-card dl { display: grid; gap: 7px; margin: 0 0 9px; }
.pipeline-card dl div { display: flex; justify-content: space-between; gap: 8px; color: var(--muted); font-size: .7rem; }
.pipeline-card dd { max-width: 72%; margin: 0; color: var(--text); overflow-wrap: anywhere; text-align: right; white-space: normal; }
.progress { height: 4px; overflow: hidden; border-radius: 999px; background: #0b0b0c; }
.progress span { display: block; height: 100%; background: linear-gradient(90deg, var(--orange), var(--yellow)); }
.lane-empty { margin: 0; padding: 18px 10px; color: var(--muted); font-size: .78rem; text-align: center; }

.heading-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.planning-view-switch { display: inline-flex; gap: 3px; margin-bottom: 13px; padding: 3px; border: 1px solid var(--line); border-radius: 9px; background: #111214; }
.planning-view-switch a { padding: 7px 10px; color: var(--muted); border-radius: 7px; font-size: .78rem; font-weight: 800; }
.planning-view-switch a:hover, .planning-view-switch a.is-active { color: #171300; background: linear-gradient(135deg, var(--yellow), #ffb000); }
.planning-calendar-toolbar { margin-top: 12px; }
.planning-calendar { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--line-strong); border-radius: var(--radius); background: #0b0c0e; box-shadow: var(--shadow); }
.planning-calendar__weekday { padding: 8px; color: var(--muted); border-right: 1px solid var(--line); background: #17181a; font-size: .67rem; font-weight: 900; text-align: center; text-transform: uppercase; }
.planning-calendar__day { min-width: 0; min-height: 148px; padding: 6px; border-top: 1px solid var(--line); border-right: 1px solid var(--line); background: #151619; }
.planning-calendar__day:nth-child(7n+7), .planning-calendar__weekday:nth-child(7) { border-right: 0; }
.planning-calendar__day.is-outside { background: #0b0c0e; }
.planning-calendar__day.is-outside > header { opacity: .48; }
.planning-calendar__day.is-today { box-shadow: inset 0 0 0 1px var(--yellow); }
.planning-calendar__day > header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 7px; }
.planning-calendar__day > header time { display: grid; width: 27px; height: 27px; place-items: center; color: var(--muted); border-radius: 50%; font-size: .76rem; font-weight: 900; }
.planning-calendar__day.is-today > header time { color: #111; background: var(--yellow); }
.planning-calendar__day > header a { display: grid; width: 27px; height: 27px; place-items: center; color: var(--yellow); border: 1px solid var(--line); border-radius: 8px; font-weight: 900; }
.planning-calendar__day > div { display: grid; gap: 6px; }
.planning-event { display: block; min-width: 0; overflow: hidden; padding: 6px; border: 1px solid rgba(255,255,255,.13); border-left: 3px solid var(--yellow); border-radius: 7px; background: #292a2e; box-shadow: 0 4px 12px rgba(0,0,0,.22); }
.planning-event--youtube { border-left-color: #ff4b4b; }
.planning-event--twitch { border-left-color: #a970ff; }
.planning-event__thumbnail { display: block; width: 100%; aspect-ratio: 16 / 9; margin-bottom: 7px; object-fit: cover; border-radius: 5px; background: #090a0b; }
.planning-event > span { display: flex; justify-content: space-between; gap: 6px; color: var(--muted); font-size: .7rem; }
.planning-event > strong { display: block; margin: 5px 0; overflow: hidden; font-size: .82rem; line-height: 1.28; text-overflow: ellipsis; }
.planning-event__series,
.planning-event__game { display: block; overflow: hidden; font-size: .67rem; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.planning-event__series { margin: -2px 0 2px; overflow: visible; color: var(--muted); overflow-wrap: anywhere; text-overflow: clip; white-space: normal; }
.planning-event__game { margin: 0 0 4px; color: #f2d982 !important; }
.planning-event > small { color: var(--muted); font-size: .68rem; }
.planning-agenda { display: none; }
.planning-filter { grid-template-columns: minmax(220px, 2fr) repeat(3, minmax(140px, 1fr)) auto auto; }
.planning-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius); background: #121315; box-shadow: var(--shadow); }
.planning-table { width: 100%; min-width: 1400px; border-collapse: collapse; }
.planning-table th, .planning-table td { padding: 9px 10px; border-bottom: 1px solid rgba(255,255,255,.09); text-align: left; vertical-align: middle; }
.planning-table th { color: var(--muted); background: #1a1b1e; font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; }
.planning-table tbody tr:hover { background: rgba(255,230,0,.035); }
.planning-table td { font-size: .8rem; }
.planning-table td { overflow-wrap: anywhere; }
.planning-table th:nth-child(4), .planning-table td:nth-child(4) { width: 250px; }
.planning-table th:nth-child(5), .planning-table td:nth-child(5) { width: 145px; }
.planning-table th:nth-child(6), .planning-table td:nth-child(6) { width: 190px; }
.planning-table th:nth-child(8), .planning-table td:nth-child(8) { width: 100px; }
.planning-table th:nth-child(9), .planning-table td:nth-child(9) { width: 82px; }
.planning-table th:nth-child(10), .planning-table td:nth-child(10) { width: 180px; }
.planning-table td > strong, .planning-table td > small { display: block; }
.planning-table td > small { margin-top: 4px; color: var(--muted); }
.thumbnail-cell { width: 126px; }
.thumbnail-cell img { display: block; width: 108px; aspect-ratio: 16 / 9; object-fit: cover; border: 1px solid rgba(255,255,255,.12); border-radius: 7px; background: #08090a; }
.thumbnail-cell > span { color: var(--muted); font-size: .72rem; }
.table-actions { display: flex; align-items: center; gap: 6px; }
.table-actions form { margin: 0; }
.table-actions .button { min-height: 34px; padding: 7px 10px; font-size: .72rem; }
.button--danger { color: #ffd4d7; border-color: rgba(255,91,104,.45); background: rgba(255,91,104,.11); }
.button--danger:hover { background: rgba(255,91,104,.19); }

.content-editor__heading { align-items: flex-start; margin-top: 0; padding: 0 0 14px; border-bottom: 1px solid var(--line); }
.content-editor__heading > div:first-child { max-width: 680px; }
.content-editor__heading .heading-actions { align-items: center; padding: 7px; border: 1px solid var(--line); border-radius: 11px; background: rgba(17,18,20,.84); box-shadow: 0 8px 22px rgba(0,0,0,.18); }
.content-editor__heading .button { min-height: 34px; }
.content-editor__layout { grid-template-columns: minmax(0, 2fr) minmax(310px, .78fr); align-items: start; }
.content-editor__main,
.content-editor__aside { min-width: 0; }
.content-editor__aside .content-check-grid { grid-template-columns: 1fr; }
.editor-card__head { margin-bottom: 12px; }
.editor-card__head h2 { margin: 0 0 4px; font-size: 1.05rem; }
.editor-card__head p { margin: 0; font-size: .78rem; line-height: 1.45; }
.editor-help { margin: 0; color: var(--muted); font-size: .7rem; line-height: 1.45; }
.editor-help a { color: var(--yellow); text-decoration: underline; text-decoration-color: rgba(255,230,0,.35); text-underline-offset: 3px; }
.editor-help a:hover { text-decoration-color: currentColor; }
.editor-visibility { margin-bottom: 11px; }

.content-form-shell { display: grid; gap: 12px; }
.content-form-panel { padding: clamp(15px, 2.2vw, 22px); border: 1px solid var(--line); border-radius: var(--radius); background: #151619; box-shadow: var(--shadow); }
.content-form-panel fieldset { margin: 0 0 16px; padding: 0; border: 0; }
.content-form-panel legend { width: 100%; margin-bottom: 10px; padding-bottom: 6px; color: var(--text); border-bottom: 1px solid var(--line); font-size: .84rem; font-weight: 900; }
.form-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.field { display: grid; align-content: start; gap: 6px; min-width: 0; }
.field--span-2 { grid-column: span 2; }
.field--span-4 { grid-column: 1 / -1; }
.field label { color: var(--muted); font-size: .76rem; font-weight: 800; }
.field input, .field select, .field textarea { width: 100%; min-height: 38px; padding: 8px 9px; color: var(--text); border: 1px solid rgba(255,255,255,.14); border-radius: 8px; outline: none; background: #0e0f10; font-size: .84rem; }
.field textarea { resize: vertical; line-height: 1.5; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--yellow); box-shadow: 0 0 0 3px rgba(255,230,0,.08); }
.field small { color: var(--muted); font-size: .7rem; line-height: 1.45; }
.content-check-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.content-check { display: flex; align-items: flex-start; gap: 8px; min-height: 37px; padding: 8px; border: 1px solid rgba(255,255,255,.1); border-radius: 8px; background: #111214; font-size: .8rem; }
.content-check input { width: 17px; height: 17px; margin: 1px 0 0; accent-color: var(--yellow); }
.form-actions { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 9px; padding-top: 6px; }
.thumbnail-editor { display: grid; grid-template-columns: minmax(150px, 190px) minmax(0, 1fr); gap: 12px; align-items: start; }
.thumbnail-preview { width: 100%; max-width: 190px; overflow: hidden; aspect-ratio: 16 / 9; border: 1px solid var(--line); border-radius: 9px; background: #090a0b; }
.thumbnail-preview img { display: block; width: 100%; height: 100%; object-fit: cover; }
.thumbnail-preview--empty { display: grid; place-items: center; padding: 9px; color: var(--muted); font-size: .7rem; line-height: 1.35; text-align: center; }
.editor-thumbnail { display: grid; gap: 9px; }
.editor-thumbnail.thumbnail-editor { grid-template-columns: minmax(150px, 190px) minmax(0, 1fr); }
.editor-thumbnail__controls { min-width: 0; gap: 8px; }
.editor-thumbnail__meta { display: flex; flex-wrap: wrap; gap: 4px 8px; color: var(--muted); font-size: .7rem; }
.editor-thumbnail__meta strong { max-width: 100%; overflow: hidden; color: var(--text); text-overflow: ellipsis; white-space: nowrap; }
.editor-file { min-width: 0; padding: 9px; border: 1px dashed var(--line-strong); border-radius: 9px; background: rgba(255,230,0,.025); }
.editor-file input[type="file"] { min-height: 35px; padding: 6px 7px; font-size: .74rem; }
.editor-private-note,
.editor-fallback { margin: 0; padding: 8px 9px; border-radius: 8px; background: rgba(255,255,255,.035); font-size: .69rem; line-height: 1.42; }
.editor-private-note { color: var(--muted); }
.editor-fallback { color: #ffd2d5; }

.settings-heading { margin-top: 0; }
.settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: start; }
.settings-card { min-width: 0; padding: clamp(15px, 2.2vw, 22px); border: 1px solid var(--line); border-radius: var(--radius); background: #151619; box-shadow: var(--shadow); }
.settings-card__header { margin-bottom: 13px; padding-bottom: 11px; border-bottom: 1px solid var(--line); }
.settings-card__header h2 { margin: 0 0 5px; }
.settings-card__header p:last-child { margin: 0; font-size: .8rem; }
.settings-option-create { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 8px; margin-bottom: 14px; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: #111214; }
.settings-option-create .button { min-height: 38px; }
.settings-option-list { display: grid; gap: 8px; }
.settings-option-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 7px; padding: 9px; border: 1px solid rgba(255,255,255,.09); border-radius: 10px; background: rgba(27,28,30,.9); }
.settings-option-edit { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 7px; min-width: 0; }
.settings-option-delete { justify-self: end; margin: 0; }
.settings-option-edit .button,
.settings-option-delete .button { min-height: 38px; }
.settings-option-empty { margin: 0; padding: 16px; border: 1px dashed var(--line-strong); border-radius: 9px; font-size: .8rem; text-align: center; }

.weekly-export-shell { display: grid; gap: 13px; }
.weekly-export-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 12px; padding: 11px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); box-shadow: var(--shadow); }
.weekly-export-toolbar__copy { min-width: 0; }
.weekly-export-toolbar__copy h2 { margin: 0 0 3px; font-size: 1rem; }
.weekly-export-toolbar__copy p { margin: 0; color: var(--muted); font-size: .75rem; }
.weekly-export-toolbar__actions { display: flex; flex-wrap: wrap; align-items: end; justify-content: flex-end; gap: 7px; }
.weekly-export-toolbar__actions form { display: flex; flex-wrap: wrap; align-items: end; gap: 7px; margin: 0; }
.weekly-export-toolbar__actions label { display: grid; gap: 4px; color: var(--muted); font-size: .7rem; font-weight: 800; }
.weekly-export-toolbar__actions input { min-height: 36px; padding: 7px 9px; color: var(--text); border: 1px solid rgba(255,255,255,.14); border-radius: 8px; outline: none; background: #0e0f10; font-size: .8rem; }
.weekly-export-toolbar__actions input:focus { border-color: var(--yellow); box-shadow: 0 0 0 3px rgba(255,230,0,.08); }
.weekly-export-week-nav { display: inline-flex; align-items: center; gap: 6px; }
.weekly-export-preview { min-width: 0; overflow: hidden; padding: clamp(14px, 2.2vw, 22px); color: #f4f5f7; border: 1px solid rgba(255,230,0,.25); border-radius: 14px; background: #26282c; box-shadow: var(--shadow); }
.weekly-export-preview__header { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid rgba(255,255,255,.13); }
.weekly-export-preview__logo { flex: 0 0 auto; width: 50px; height: 50px; object-fit: contain; }
.weekly-export-preview__header h2 { margin: 0; color: #fff; font-size: clamp(1rem, 2vw, 1.35rem); line-height: 1.25; }
.weekly-export-preview__header p { margin: 3px 0 0; color: rgba(255,255,255,.64); font-size: .73rem; }
.weekly-export-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 7px; }
.weekly-export-day { display: flex; min-width: 0; min-height: 166px; flex-direction: column; border: 1px solid rgba(255,255,255,.13); border-radius: 9px; background: #1d1f22; }
.weekly-export-day__header { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; padding: 8px; color: #fff2a8; border-bottom: 1px solid rgba(255,255,255,.1); background: rgba(0,0,0,.15); }
.weekly-export-day__header strong { font-size: .76rem; }
.weekly-export-day__header time { color: rgba(255,255,255,.67); font-size: .65rem; white-space: nowrap; }
.weekly-export-day__events { display: grid; align-content: start; gap: 6px; flex: 1 1 auto; padding: 7px; }
.weekly-export-event { min-width: 0; padding: 7px; border-left: 3px solid var(--yellow); border-radius: 6px; background: rgba(255,255,255,.065); }
.weekly-export-event--youtube { border-left-color: #ff5b5b; }
.weekly-export-event--twitch { border-left-color: #a970ff; }
.weekly-export-event__meta { display: flex; align-items: center; justify-content: space-between; gap: 5px; margin-bottom: 4px; color: rgba(255,255,255,.62); font-size: .6rem; }
.weekly-export-event__title { display: block; color: #fff; font-size: .72rem; line-height: 1.28; overflow-wrap: anywhere; }
.weekly-export-event__series,
.weekly-export-event__game { display: block; margin-top: 3px; color: rgba(255,255,255,.68); font-size: .62rem; line-height: 1.28; overflow-wrap: anywhere; }
.weekly-export-event__game { color: #f0d87a; }
.weekly-export-day__empty { margin: auto; color: rgba(255,255,255,.38); font-size: .66rem; text-align: center; }
.weekly-export-image { display: block; width: min(100%, 1400px); height: auto; margin: 0 auto; border: 1px solid var(--line); border-radius: 12px; background: #26282c; box-shadow: var(--shadow); }

.legal-card { width: min(820px, 100%); margin: 20px auto; padding: clamp(20px, 3vw, 34px); border: 1px solid var(--line); border-radius: 16px; background: var(--surface); box-shadow: var(--shadow); }
.legal-card h1 { font-size: clamp(1.75rem, 3.5vw, 2.8rem); }
.legal-card h2 { margin-top: 24px; font-size: 1rem; }
.legal-card a { color: var(--yellow); }
[hidden] { display: none !important; }

@media (max-width: 1050px) {
    .pipeline-stats { grid-template-columns: repeat(2, 1fr); }
    .pipeline-filter { grid-template-columns: repeat(2, 1fr); }
    .pipeline-filter .button { width: 100%; }
    .auth-shell { grid-template-columns: 1fr; min-height: auto; }
    .auth-copy h1 { font-size: clamp(1.8rem, 5vw, 2.8rem); }
    .planning-filter { grid-template-columns: repeat(2, 1fr); }
    .content-check-grid { grid-template-columns: repeat(2, 1fr); }
    .content-editor__layout { grid-template-columns: 1fr; }
    .content-editor__aside .content-check-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .weekly-export-days { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 940px) {
    .site-header { min-height: 56px; }
    .nav-toggle { display: inline-flex; }
    .site-nav { position: absolute; top: calc(100% + 1px); right: 14px; left: 14px; display: none; align-items: stretch; flex-direction: column; padding: 10px; border: 1px solid var(--line); border-radius: 14px; background: #111214; box-shadow: var(--shadow); }
    .site-nav.is-open { display: flex; }
    .site-nav a, .site-nav button { width: 100%; text-align: left; }
    .site-nav form { width: 100%; }
}

@media (max-width: 800px) {
    .auth-copy { padding: 15px; border: 1px solid var(--line); border-radius: 14px; background: rgba(8,9,10,.82); backdrop-filter: blur(6px); }
    .calendar-toolbar, .page-heading { align-items: stretch; flex-direction: column; }
    .calendar-actions { display: grid; grid-template-columns: repeat(3, 1fr); }
    .upload-calendar { display: none; }
    .mobile-agenda { display: grid; gap: 10px; }
    .agenda-item { display: grid; grid-template-columns: 62px minmax(0, 1fr) auto; align-items: center; gap: 9px; padding: 10px; border: 1px solid var(--line-strong); border-radius: 10px; background: #191a1d; box-shadow: 0 6px 18px rgba(0,0,0,.2); }
    .agenda-item > time { display: grid; color: var(--yellow); }
    .agenda-item > time span { margin-top: 3px; color: var(--muted); font-size: .7rem; }
    .agenda-item h3 { margin: 6px 0 2px; font-size: .95rem; }
    .agenda-item small, .agenda-item p { color: var(--muted); }
    .agenda-item p { margin: 7px 0 0; font-size: .76rem; line-height: 1.35; }
    .pipeline-board { grid-auto-columns: minmax(270px, 86vw); }
    .pipeline-lane > div { max-height: none; }
    .planning-calendar { display: none; }
    .planning-agenda { display: grid; gap: 10px; }
    .planning-agenda__item { display: flex; align-items: center; gap: 9px; padding: 10px; border: 1px solid var(--line-strong); border-radius: 10px; background: #191a1d; }
    .planning-agenda__item > img { flex: 0 0 110px; width: 110px; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 7px; }
    .planning-agenda__item > time { display: grid; flex: 0 0 65px; color: var(--yellow); }
    .planning-agenda__item > time span { color: var(--muted); font-size: .68rem; }
    .planning-agenda__item > div { display: grid; flex: 1 1 auto; gap: 4px; min-width: 0; }
    .planning-agenda__item > div > strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .planning-table-wrap { overflow: visible; border: 0; background: transparent; box-shadow: none; }
    .planning-table, .planning-table tbody, .planning-table tr, .planning-table td { display: block; width: 100%; min-width: 0; }
    .planning-table thead { display: none; }
    .planning-table tbody { display: grid; gap: 10px; }
    .planning-table tr { padding: 9px 10px; border: 1px solid var(--line); border-radius: 10px; background: #17181b; }
    .planning-table td { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 6px 0; border-bottom: 1px solid rgba(255,255,255,.08); text-align: right; }
    .planning-table td:last-child { border-bottom: 0; }
    .planning-table td::before { flex: 0 0 86px; color: var(--muted); content: attr(data-label); font-size: .68rem; font-weight: 800; text-align: left; text-transform: uppercase; }
    .planning-table .thumbnail-cell img { margin-left: auto; }
    .table-actions { justify-content: flex-end; }
    .thumbnail-editor { grid-template-columns: 1fr; }
    .content-editor__aside .content-check-grid { grid-template-columns: 1fr; }
    .settings-grid { grid-template-columns: 1fr; }
    .weekly-export-toolbar { align-items: stretch; flex-direction: column; }
    .weekly-export-toolbar__actions { justify-content: flex-start; }
}

@media (max-width: 560px) {
    .site-main { width: min(100% - 24px, 1540px); }
    .site-main { padding-top: 16px; }
    .brand img { width: 37px; height: 37px; }
    .brand small { display: none; }
    h1 { font-size: clamp(1.7rem, 8.5vw, 2.15rem); }
    .calendar-actions { grid-template-columns: 1fr 1fr; }
    .calendar-actions .button:nth-child(2) { display: none; }
    .agenda-item { grid-template-columns: 58px minmax(0, 1fr); }
    .agenda-item > .status-badge { grid-column: 2; }
    .pipeline-stats { grid-template-columns: repeat(2, 1fr); }
    .pipeline-filter { grid-template-columns: 1fr; }
    .auth-card { padding: 17px 15px; }
    .planning-heading .button { width: 100%; }
    .planning-view-switch { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
    .planning-view-switch a { text-align: center; }
    .planning-agenda__item { align-items: flex-start; flex-wrap: wrap; }
    .planning-agenda__item > img { flex-basis: 96px; width: 96px; }
    .planning-agenda__item > .status-badge { margin-left: auto; }
    .content-check-grid, .form-grid { grid-template-columns: 1fr; }
    .field--span-2, .field--span-4 { grid-column: auto; }
    .form-actions .button { flex: 1 1 100%; }
    .content-editor__heading .heading-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
    .content-editor__heading .heading-actions .button { width: 100%; }
    .content-editor__heading .heading-actions .button--primary { grid-column: 1 / -1; }
    .settings-option-row { grid-template-columns: 1fr; }
    .settings-option-delete { justify-self: end; }
    .weekly-export-toolbar__actions,
    .weekly-export-toolbar__actions form { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
    .weekly-export-toolbar__actions label { grid-column: 1 / -1; }
    .weekly-export-toolbar__actions .button { width: 100%; }
    .weekly-export-week-nav { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
    .weekly-export-days { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 430px) {
    .settings-option-create,
    .settings-option-edit { grid-template-columns: 1fr; }
    .settings-option-create .button,
    .settings-option-edit .button { width: 100%; }
    .weekly-export-days { grid-template-columns: 1fr; }
    .weekly-export-day { min-height: 112px; }
}
