:root{font:16px system-ui,-apple-system,sans-serif;color:#142e26;background:#f2f5f1;--green:#123d30;--lime:#d2f36b}*{box-sizing:border-box}body{margin:0;padding-bottom:env(safe-area-inset-bottom)}header{background:#102c24;color:white;padding:19px max(18px,calc((100% - 740px)/2));display:flex;justify-content:space-between;align-items:center}header a{color:inherit;text-decoration:none;font-weight:850;letter-spacing:1px}header span{font-size:11px;letter-spacing:1px}small,.muted{color:#5b7065;font-size:14px}header small{color:#cde6bf;font-size:12px}main{max-width:780px;margin:auto;padding:22px 18px 40px}h1{font-size:30px;letter-spacing:-1px;margin:8px 0 20px}h2{font-size:20px;margin:24px 0 14px}p{line-height:1.5}button,.button,input,select,textarea{font:inherit;border-radius:12px}button,.button{min-height:52px;border:1px solid #c8d5cb;background:white;color:var(--green);padding:12px 16px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #648400;outline-offset:3px}.primary{background:var(--green);color:white;border-color:var(--green)}.lime{background:var(--lime);color:#102c24;border:none}.danger{color:#a12727}.wide{width:100%}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row>*{flex:1}.card{padding:18px;background:white;border:1px solid #dbe3dc;border-radius:18px;margin-bottom:14px}.eyebrow{font-size:13px;letter-spacing:1.4px;font-weight:800;color:#4c6857}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.player{justify-content:flex-start;text-align:left;min-height:68px;overflow-wrap:anywhere}.player b{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;background:#eef2eb;border-radius:50%;font-size:14px}.player.selected{background:var(--green);color:white;border-color:var(--green)}.player.selected b{background:var(--lime);color:var(--green)}label{display:block;font-size:14px;font-weight:650;margin:14px 0 7px}input,select,textarea{width:100%;min-height:50px;border:1px solid #bdcdbf;background:white;color:#142e26;padding:12px}textarea{min-height:100px}.sticky{position:sticky;bottom:0;background:#f2f5f1ed;padding:14px 0 max(14px,env(safe-area-inset-bottom));backdrop-filter:blur(8px)}nav{display:flex;gap:8px;margin-bottom:22px}nav a{flex:1;font-size:14px;padding:10px 6px}.scoreboard{background:#102c24;color:white;border-radius:22px;padding:20px;text-align:center}.scoreboard .eyebrow{color:#cfdeb9}.score{font-size:76px;font-weight:850;letter-spacing:-3px;line-height:1.2;font-variant-numeric:tabular-nums}.clock{font-size:30px;font-variant-numeric:tabular-nums;color:var(--lime);margin:4px}.record{width:100%;min-height:168px;margin:16px 0;background:var(--lime);border:0;border-radius:22px;font-size:26px;flex-direction:column}.record small{font-weight:400;color:#294623}.record.active{background:#b92f36;color:white}.record.active small{color:white}.record.active:before{content:'● AUFNAHME LÄUFT';font-size:14px;letter-spacing:1px}.ticker{padding:13px 0;border-bottom:1px solid #e1e7e0;display:flex;gap:12px;align-items:flex-start}.ticker time{color:#4b6656;min-width:40px;font-weight:700}.ticker .body{flex:1;overflow-wrap:anywhere}.badge{display:inline-block;background:#fff0cb;color:#725100;font-size:13px;padding:4px 8px;border-radius:6px}.ticker button{min-height:44px;padding:8px;font-size:14px}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:right;padding:12px 7px;border-bottom:1px solid #e1e7e0;white-space:nowrap}th:first-child,td:first-child{text-align:left;white-space:normal}dialog{border:0;border-radius:20px;padding:22px;width:min(94vw,500px);max-height:90dvh;color:#142e26}dialog::backdrop{background:#092119b3}dialog h2{margin-top:0}#notice{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);width:max-content;max-width:92vw;background:#142e26;color:white;border-radius:12px;padding:14px 20px;z-index:10;display:none}audio{width:100%;margin:8px 0}.empty{padding:32px 14px;text-align:center;color:#59705e}.live-meta{display:flex;justify-content:space-between;margin:14px 0;font-size:14px}.hint{font-size:14px;color:#526758}.rosterline{display:grid;grid-template-columns:60px 1fr 40px 40px;align-items:center;gap:8px;margin:8px 0}.rosterline input{margin:0}.rosterline button{min-height:44px;padding:6px}.record-status{text-align:center;font-weight:700;margin-top:-7px;margin-bottom:12px}@media(max-width:430px){header span{display:none}main{padding:16px 14px 30px}.scoreboard{padding:16px}.score{font-size:68px}h1{font-size:27px}.live h1{font-size:22px;margin-bottom:12px}.record{min-height:172px}button{padding:12px}.live .card{padding:14px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s}}
dialog{padding:16px;overflow-y:auto}dialog h2{margin:0 0 8px;font-size:19px}#eventform{display:flex;flex-direction:column}#eventform label{margin:8px 0 3px;font-size:12.5px}#eventform input,#eventform select,#eventform textarea{min-height:40px;padding:8px 10px}#eventform textarea{min-height:40px}#eventform .fieldrow{display:flex;gap:8px}#eventform .fieldrow>div{flex:1;min-width:0}#eventform .row{margin-top:10px}#error:empty{display:none}
.sm{min-height:40px;padding:8px 10px;font-size:12.5px;border-radius:10px;font-weight:650;white-space:nowrap}.subtle{background:transparent!important;border:none!important;color:#a12727;font-weight:600;font-size:13.5px;min-height:36px;padding:8px 4px;text-decoration:underline;text-underline-offset:3px}.subtle:hover{color:#7d1c1c}.row.compact{gap:8px}
.player.bench{background:#fff3d6;border-color:#e3c168;color:#6b5017}.player.bench b{background:#f5deA0}
