:root{--palette-light-bg: #f6f7f9;--palette-light-surface: #ffffff;--palette-light-surface-2: #eef1f4;--palette-light-text: #14161a;--palette-light-muted: #5a6472;--palette-light-border: #d8dde4;--palette-dark-bg: #0a0b0d;--palette-dark-surface: #14161a;--palette-dark-surface-2: #1c1f25;--palette-dark-text: #f5f7fa;--palette-dark-muted: #99a1ae;--palette-dark-border: #262a31;--bg: var(--palette-light-bg);--surface: var(--palette-light-surface);--surface-2: var(--palette-light-surface-2);--text: var(--palette-light-text);--muted: var(--palette-light-muted);--border: var(--palette-light-border);--accent: #e11d2e;--accent-strong: #b3121f;--accent-soft: rgba(225, 29, 46, .12);--on-accent: #ffffff;--ok: #16a34a;--warn: #d97706;--danger: #dc2626;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--border-width: 1px;--radius-card: 12px;--radius-control: 8px;--radius-pill: 999px;--control-height: 44px;--control-height-lg: 56px;--font-sans: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-size-xs: .625rem;--font-size-sm: .8125rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-h2: 1.25rem;--font-size-h1: clamp(1.75rem, 4vw, 2.5rem);--font-size-countdown: clamp(4rem, 14vw, 9rem);--font-size-section: clamp(1.25rem, 3vw, 1.75rem);--font-size-blinds: clamp(1.5rem, 4vw, 2.5rem);--font-weight-medium: 500;--font-weight-bold: 600;--line-height: 1.5;--page-max-width: 34rem;--content-max-width: 64rem;--nav-width: 13rem;--focus-ring-width: 2px;--focus-ring-offset: 2px;--logo-height: 40px;--logo-preview-height: 80px;--timer-min-height: 22rem;--control-height-xl: 72px;--font-size-tv-countdown: clamp(6rem, 30vh, 22rem);--font-size-tv-section: clamp(2rem, 6vh, 5rem);--font-size-tv-blinds: clamp(2.5rem, 8vh, 6rem);--font-size-tv-meta: clamp(1rem, 2.5vh, 2rem);--font-size-pair-code: clamp(3rem, 14vh, 9rem);--tv-gutter: clamp(var(--space-4), 3vh, var(--space-6));--qr-size: clamp(10rem, 28vh, 18rem);--breakpoint-desktop: 48rem}:root[data-theme=dark]{--bg: var(--palette-dark-bg);--surface: var(--palette-dark-surface);--surface-2: var(--palette-dark-surface-2);--text: var(--palette-dark-text);--muted: var(--palette-dark-muted);--border: var(--palette-dark-border)}@media (prefers-color-scheme: dark){:root:not([data-theme]){--bg: var(--palette-dark-bg);--surface: var(--palette-dark-surface);--surface-2: var(--palette-dark-surface-2);--text: var(--palette-dark-text);--muted: var(--palette-dark-muted);--border: var(--palette-dark-border)}}.app-shell{min-height:100dvh;display:flex;flex-direction:column}.app-shell__body{flex:1;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);width:100%;max-width:var(--content-max-width);margin:0 auto}.app-shell__content{flex:1;min-width:0}.app-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:linear-gradient(to right,var(--accent-soft),transparent);border-bottom:var(--border-width) solid var(--border)}.app-header__brand{display:flex;align-items:center;min-height:var(--logo-height)}.app-header__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}.brand-mark__logo{display:block;height:var(--logo-height);width:auto}.brand-mark__name{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.user-menu{display:flex;align-items:center;gap:var(--space-3)}.user-menu__name{font-size:var(--font-size-sm)}.user-menu__role{color:var(--muted)}.app-nav__list{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0}.app-nav__link{display:flex;align-items:center;min-height:var(--control-height);padding:0 var(--space-4);border-radius:var(--radius-pill);color:var(--text);text-decoration:none}.app-nav__link:hover{background:var(--surface-2)}.app-nav__link--active{background:var(--accent-soft);color:var(--accent-strong);font-weight:var(--font-weight-medium)}.app-nav--inline{margin-top:var(--space-4)}.app-nav--inline .app-nav__list{flex-direction:row;position:static}@media (min-width: 48rem){.app-shell__body{flex-direction:row;gap:var(--space-5);padding:var(--space-5)}.app-nav{flex:0 0 var(--nav-width)}.app-nav__list{flex-direction:column;position:sticky;top:var(--space-5)}}.app-shell>.app-footer{padding:var(--space-4);text-align:center}.login-page{min-height:100dvh;display:flex;flex-direction:column;align-items:center;gap:var(--space-5);padding:var(--space-5)}.login-page__top{width:100%;max-width:var(--page-max-width);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.login-page__brand{display:flex;align-items:center;min-height:var(--logo-height)}.login-page__panel{width:100%;max-width:var(--page-max-width);background:var(--surface);border:var(--border-width) solid var(--border);border-radius:var(--radius-card);padding:var(--space-5)}.login-page__lead{margin:var(--space-2) 0 var(--space-5);color:var(--muted)}.login-page>.app-footer{margin-top:auto}.form{display:flex;flex-direction:column;gap:var(--space-4)}.form__actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field__label{font-weight:var(--font-weight-medium)}.field__hint{margin:0;color:var(--muted);font-size:var(--font-size-sm)}.control{font:inherit;color:var(--text);border-radius:var(--radius-control);border:var(--border-width) solid var(--border);background:var(--surface)}.control--input,.control--select{min-height:var(--control-height);padding:0 var(--space-3);width:100%}.control--file{padding:var(--space-2);width:100%}.control--button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-height);padding:0 var(--space-4);background:var(--surface-2);text-decoration:none;cursor:pointer}.control--button:hover:not(:disabled){border-color:var(--muted)}.control--primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.control--primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.control:disabled{opacity:.6;cursor:not-allowed}.theme-switch{display:flex;align-items:center;gap:var(--space-2)}.theme-switch__label{font-size:var(--font-size-sm);color:var(--muted)}.theme-switch .control--select{width:auto}.alert{margin:0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-control);border:var(--border-width) solid var(--border);background:var(--surface-2)}.alert__prefix{font-weight:var(--font-weight-bold)}.alert--error{border-color:var(--danger)}.alert--success{border-color:var(--ok)}.alert--info{border-color:var(--border)}.logo-preview{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}.logo-preview__image{height:var(--logo-preview-height);width:auto;background:var(--surface-2);border:var(--border-width) solid var(--border);border-radius:var(--radius-control);padding:var(--space-2)}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table__caption{text-align:left;color:var(--muted);font-size:var(--font-size-sm);padding-bottom:var(--space-3)}.table th,.table td{text-align:left;padding:var(--space-3);border-bottom:var(--border-width) solid var(--border);vertical-align:middle}.table th{color:var(--muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.table__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.status{display:inline-flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);border-radius:var(--radius-pill);border:var(--border-width) solid var(--border);font-size:var(--font-size-sm)}.status--on{border-color:var(--ok)}.status--off{border-color:var(--warn)}.live-kopf{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}.live-kopf__marke{display:flex;align-items:center;min-height:var(--logo-height)}.live-raster{display:grid;gap:var(--space-5)}@media (min-width: 48rem){.live-raster{grid-template-columns:3fr 2fr;align-items:start}}.timer{display:flex;flex-direction:column;gap:var(--space-3);min-height:var(--timer-min-height);padding:var(--space-6) var(--space-5);background:var(--surface);border:var(--border-width) solid var(--border);border-radius:var(--radius-card);background-image:linear-gradient(to bottom,var(--accent-soft),transparent 40%)}.timer--overtime{border-color:var(--accent)}.timer__kopf{display:flex;flex-wrap:wrap;gap:var(--space-2)}.timer__abschnitt{margin:0;font-size:var(--font-size-section);font-weight:var(--font-weight-medium);color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.timer__countdown{margin:0;font-size:var(--font-size-countdown);font-weight:var(--font-weight-bold);line-height:1;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.timer--overtime .timer__countdown{color:var(--accent)}.timer__blinds{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-3);margin:0;font-size:var(--font-size-blinds);font-variant-numeric:tabular-nums}.timer__blinds--leer{font-size:var(--font-size-base);color:var(--muted)}.timer__blindtrenner{color:var(--muted)}.timer__ante{padding:0 var(--space-3);border:var(--border-width) solid var(--border);border-radius:var(--radius-pill);font-size:var(--font-size-sm);color:var(--muted)}.timer__herkunft{padding:0 var(--space-3);border:var(--border-width) dashed var(--border);border-radius:var(--radius-pill);font-size:var(--font-size-sm);color:var(--muted)}.timer__naechster{margin:auto 0 0;color:var(--muted);font-size:var(--font-size-sm)}.status--running{border-color:var(--ok)}.status--paused{border-color:var(--warn)}.status--setup{border-color:var(--border)}.status--finished{border-color:var(--muted)}.status--overtime{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.live-steuerung,.timer-controls{display:flex;flex-direction:column;gap:var(--space-4)}.timer-controls__primaer{display:flex}.timer-controls__primaer .control{flex:1}.control--gross{min-height:var(--control-height-xl);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}.timer-controls__sprung{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.timer-controls__sprung .control{min-height:var(--control-height-lg)}.display{min-height:100dvh;display:flex;flex-direction:column;gap:var(--tv-gutter);padding:var(--tv-gutter);background:var(--bg);color:var(--text)}.display__kopf{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4)}.display__marke{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-4);min-width:0}.display__kopf-rechts{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.display__logo{height:clamp(var(--logo-height),6vh,var(--logo-preview-height));width:auto}.display__liganame{font-size:var(--font-size-tv-meta);font-weight:var(--font-weight-bold)}.display__turnier{font-size:var(--font-size-tv-meta);color:var(--muted)}.display__mitte{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);text-align:center;min-width:0}.display__countdown{margin:0;font-size:var(--font-size-tv-countdown);font-weight:var(--font-weight-bold);line-height:.95;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.display--overtime .display__countdown{color:var(--accent)}.display__abschnitt{margin:0;font-size:var(--font-size-tv-section);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.display__blinds{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:var(--space-4);margin:0;font-size:var(--font-size-tv-blinds);font-variant-numeric:tabular-nums}.display__blinds--leer{font-size:var(--font-size-tv-meta);color:var(--muted)}.display__blindtrenner{color:var(--muted)}.display__ante,.display__herkunft{padding:0 var(--space-3);border-radius:var(--radius-pill);font-size:var(--font-size-tv-meta);color:var(--muted)}.display__ante{border:var(--border-width) solid var(--border)}.display__herkunft{border:var(--border-width) dashed var(--border)}.display__naechster{margin:0;font-size:var(--font-size-tv-meta);color:var(--muted)}.display__rebuy{margin:0;padding:0 var(--space-4);border:var(--border-width) solid var(--border);border-radius:var(--radius-pill);font-size:var(--font-size-tv-meta);color:var(--muted)}.display__rebuy--offen{border-color:var(--ok);color:var(--text)}.display__fuss{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);opacity:.6}.display__verbindung{font-size:var(--font-size-xs);color:var(--muted)}.display__verbindung--verbunden{color:var(--ok)}.display__verbindung--offline{color:var(--warn)}.display__code{margin:0;font-size:var(--font-size-pair-code);font-weight:var(--font-weight-bold);letter-spacing:.12em;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.display__qr{width:var(--qr-size);height:var(--qr-size);padding:var(--space-3);background:var(--surface);border:var(--border-width) solid var(--border);border-radius:var(--radius-card)}.display__qr svg{width:100%;height:100%;display:block}.display__hinweis{margin:0;font-size:var(--font-size-tv-meta);color:var(--muted)}.display__link{color:var(--accent)}.display__klein{margin:0;font-size:var(--font-size-sm);color:var(--muted)}.status--verbunden{border-color:var(--ok)}.status--offline{border-color:var(--warn)}.status--widerrufen{border-color:var(--muted)}.anleitung{margin:0 0 var(--space-4);padding-left:var(--space-5);color:var(--muted);display:flex;flex-direction:column;gap:var(--space-2)}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100dvh;font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height);background:var(--bg);color:var(--text)}h1,h2,h3{margin:0;line-height:1.2}h1{font-size:var(--font-size-h1)}h2{font-size:var(--font-size-h2)}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:var(--focus-ring-width) solid var(--accent);outline-offset:var(--focus-ring-offset)}.stack{display:flex;flex-direction:column;gap:var(--space-5)}.panel{background:var(--surface);border:var(--border-width) solid var(--border);border-radius:var(--radius-card);padding:var(--space-5)}.panel__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.panel__subtitle{margin-bottom:var(--space-4)}.panel__lead{margin:var(--space-3) 0 0;color:var(--muted)}.facts{display:grid;grid-template-columns:auto 1fr;gap:var(--space-1) var(--space-4);margin:0}.facts dt{color:var(--muted)}.facts dd{margin:0;font-variant-numeric:tabular-nums}.route-status{margin:0;padding:var(--space-4);color:var(--muted)}.app-footer{color:var(--muted);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}.app-footer--tv{font-size:var(--font-size-xs);opacity:.6}
