/* Regie: mobile-first UX mit zwei Spielerwegen und getrennten Arbeitsräumen. */
.regie{--paper:#f3f6f5;--surface:#fff;--sunk:#e7eeec;--ink:#142522;--muted:#63736f;--line:#cfdbd8;--line-soft:#e5ecea;--accent:#e9653d;--accent-bg:#fff0ea;--good:#16745f;--good-bg:#ddf3ec;--bad:#b43b42;--bad-bg:#fde8e9;--rg-green:#0d5b50;--rg-deep:#123b36;--rg-cream:#fffaf0;--f-body:'Segoe UI',system-ui,sans-serif;--f-disp:'Segoe UI',system-ui,sans-serif;--f-mono:'Segoe UI',system-ui,sans-serif;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.5}
.regie .app{max-width:1160px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column}
.regie .kopf{height:70px;padding:0 24px;position:sticky;top:0;z-index:30;border:0;background:rgba(243,246,245,.94);backdrop-filter:blur(14px);align-items:center}.regie .kopf .marke{font-size:17px;font-weight:800;color:var(--rg-green)}.regie .kopf .marke:before{content:'●';color:var(--accent);font-size:13px;margin-right:9px}.regie .kopf .info{font:13px/1.3 var(--f-body);color:var(--muted)}
.regie .reiter{position:fixed;z-index:40;top:12px;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:1fr 1fr 48px;gap:4px;padding:4px;background:var(--surface);border:1px solid var(--line);border-radius:15px;box-shadow:0 8px 24px rgba(20,37,34,.08);width:390px}
.regie .reiter button{border:0;background:transparent;color:var(--muted);min-height:38px;padding:7px 13px;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:7px;font:700 14px/1 var(--f-body);text-transform:none;letter-spacing:0;cursor:pointer}.regie .reiter button[aria-selected=true]{background:var(--rg-green);color:#fff}.regie .reiter svg{width:18px;height:18px}.regie .reiter .rg-profilknopf{padding:3px}.regie .rg-profilknopf>span,.rg-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;font-weight:800;font-size:12px}.regie .inhalt{display:block;padding:30px 24px 70px;max-width:1000px;width:100%;margin:0 auto}
.rg-seitenkopf{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:8px 0 26px}.rg-seitenkopf>div:first-child{min-width:0}.rg-seitenkopf span{display:block;color:var(--muted);font-size:13px;font-weight:700;margin-bottom:3px}.rg-seitenkopf h1{font:750 clamp(29px,4vw,43px)/1.08 var(--f-body);letter-spacing:-.035em}.rg-regieknopf,.rg-zurueck{border:0;background:var(--rg-green);color:#fff;border-radius:10px;min-height:42px;padding:9px 14px;font-weight:750;cursor:pointer}.rg-regieknopf.leise,.rg-zurueck{background:var(--surface);color:var(--rg-green);border:1px solid var(--line)}.rg-vertretung{background:var(--accent-bg);color:var(--accent)!important;padding:7px 10px;border-radius:8px}
.rg-naechster{background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 10px 35px rgba(20,37,34,.05);margin-bottom:16px}.rg-naechster>span{display:block;padding:19px 22px 2px;color:var(--accent);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.rg-naechster>h2{padding:0 22px 17px;font-size:22px;letter-spacing:-.02em}.rg-formular{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;padding:20px 22px 22px;margin:0;border-top:1px solid var(--line-soft)}.rg-bahnwechsel{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:7px;background:var(--paper);padding:5px;border-radius:13px}.rg-bahnwechsel button{border:0;border-radius:9px;background:transparent;min-height:50px;display:flex;justify-content:space-between;align-items:center;padding:8px 13px;color:var(--muted);cursor:pointer}.rg-bahnwechsel button[aria-pressed=true]{background:var(--surface);color:var(--rg-green);box-shadow:0 2px 9px rgba(20,37,34,.09)}.rg-bahnwechsel span{font-size:15px;font-weight:750}.rg-bahnwechsel strong{font-size:14px}.rg-formular>label{grid-column:1/-1;font-size:14px;font-weight:750}.rg-holz{position:relative}.regie .rg-holz .holz{width:100%;height:104px;border:2px solid var(--rg-green);border-radius:14px;background:var(--rg-cream);text-align:center;padding:5px 52px 5px 12px;font-size:55px;font-weight:800;font-variant-numeric:tabular-nums}.rg-holz>span{position:absolute;right:15px;bottom:17px;color:var(--muted);font-size:13px;font-weight:700}.rg-nebenwerte{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rg-nebenwerte>div{border:1px solid var(--line);border-radius:12px;padding:10px;display:flex;flex-direction:column;justify-content:space-between;gap:7px}.rg-nebenwerte>div>span{font-size:13px;color:var(--muted);font-weight:700}.regie .zaehler{justify-content:space-between;gap:4px}.regie .zaehler button{width:37px;height:37px;border:1px solid var(--line);border-radius:9px;background:var(--paper);font-size:20px}.regie .zaehler .wert{font-size:18px;font-weight:800;min-width:24px}.rg-formular>.wurfhinweis{grid-column:1/-1;margin:0;min-height:18px;font:13px/1.4 var(--f-body)}.regie .rg-formular>.knopf{grid-column:1/-1;min-height:54px}
.regie .knopf{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;min-height:44px;padding:9px 14px;font-weight:750;font-size:14px}.regie .knopf.wichtig{background:var(--accent);border-color:var(--accent);color:#fff}.regie .knopf:disabled{opacity:.45}.regie .eingabe{border:1px solid var(--line);background:var(--surface);border-radius:10px;min-height:45px;padding:9px 12px}.regie .eingabe:focus{outline:3px solid rgba(13,91,80,.15);border-color:var(--rg-green)}
.rg-aufklapper{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin:14px 0;overflow:hidden}.rg-aufklapper>summary{list-style:none;min-height:58px;padding:12px 17px;display:flex;align-items:center;justify-content:space-between;font-weight:750;cursor:pointer}.rg-aufklapper>summary strong{font-size:24px;color:var(--accent)}.rg-aufklapper[open]>summary strong{transform:rotate(45deg)}.rg-strafen{border-top:1px solid var(--line-soft)}.rg-strafen>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line-soft)}.rg-strafen>div:last-child{border:0}.rg-strafen>div>span:first-child{display:flex;flex-direction:column}.rg-strafen b{font-size:14px}.rg-strafen small{font-size:12px;color:var(--muted)}.rg-zaehler{display:flex;align-items:center;gap:10px}.rg-zaehler button{width:37px;height:37px;border:1px solid var(--line);border-radius:9px;background:var(--paper);font-size:18px;cursor:pointer}.rg-zaehler strong{min-width:17px;text-align:center}
.rg-erledigt{background:var(--rg-green);color:#fff;border-radius:22px;padding:24px;display:grid;grid-template-columns:auto 1fr auto;gap:16px 20px;align-items:center;box-shadow:0 12px 35px rgba(13,91,80,.2)}.rg-haken{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--rg-green);font-size:25px;font-weight:900}.rg-erledigt>div:nth-child(2){display:grid;grid-template-columns:1fr auto;align-items:end}.rg-erledigt>div:nth-child(2)>span{grid-column:1/-1;color:#cde9e3;font-size:13px}.rg-erledigt>div:nth-child(2)>strong{font-size:56px;line-height:.95;letter-spacing:-.05em}.rg-erledigt>div:nth-child(2)>small{padding-bottom:5px}.rg-teilergebnis{grid-column:1/-1;display:flex;gap:8px;border-top:1px solid rgba(255,255,255,.25);padding-top:14px}.rg-teilergebnis span{background:rgba(255,255,255,.1);border-radius:8px;padding:8px 11px;font-size:13px}.rg-erledigt>button{grid-column:1/-1;border:1px solid rgba(255,255,255,.45);background:transparent;color:white;border-radius:9px;padding:10px;font-weight:750;cursor:pointer}.rg-zettel-unten{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.rg-zettel-unten>.rg-aufklapper{margin:0}.rg-zahlstatus{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 17px;display:flex;align-items:center;justify-content:space-between;gap:10px}.rg-zahlstatus>div{display:flex;flex-direction:column}.rg-zahlstatus>div span{font-size:12px;color:var(--muted)}.rg-zahlstatus>div strong{font-size:21px}.rg-zahlstatus>span{font-size:12px;font-weight:800;border-radius:999px;padding:5px 8px}.rg-zahlstatus .offen{background:var(--accent-bg);color:var(--accent)}.rg-zahlstatus .bezahlt{background:var(--good-bg);color:var(--good)}.rg-spielhinweis{width:100%;margin-top:14px;display:flex;align-items:center;justify-content:space-between;border:1px solid #d7c16a;background:#fff8d9;border-radius:12px;padding:13px 16px;color:#594a0c;cursor:pointer}.rg-spielhinweis span{font-size:13px}.rg-spielhinweis strong{font-size:14px}
.rg-tabelle{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}.rg-tabelle>header,.rg-tabelle>div{display:grid;grid-template-columns:minmax(145px,2fr) repeat(3,minmax(70px,1fr));align-items:center;gap:8px;padding:0 18px}.rg-tabelle>header{min-height:43px;background:var(--rg-deep);color:#dcebe8;font-size:12px;font-weight:750}.rg-tabelle>header span:not(:first-child){text-align:right}.rg-tabelle>div{min-height:56px;border-bottom:1px solid var(--line-soft)}.rg-tabelle>div:last-child{border:0}.rg-tabelle>div.ich{background:var(--good-bg)}.rg-tabelle>div>span:first-child{font-weight:700;display:flex;gap:8px}.rg-tabelle>div>span:first-child b{color:var(--muted);min-width:20px}.rg-tabelle>div>span:not(:first-child),.rg-tabelle>div>strong{text-align:right;font-variant-numeric:tabular-nums}.rg-tabelle>div>strong{font-size:19px}.rg-abendmomente{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.rg-abendmomente section{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:17px;display:grid;grid-template-columns:1fr auto;gap:3px 10px}.rg-abendmomente span{grid-column:1/-1;color:var(--muted);font-size:12px;font-weight:700}.rg-abendmomente strong{font-size:16px}.rg-abendmomente b{color:var(--accent);font-size:23px}.rg-abendmomente small{grid-column:1/-1;color:var(--muted);font-size:12px;line-height:1.45;margin-top:7px}.rg-auswertung{max-width:820px}.rg-spiel{background:var(--rg-deep);color:white;border-radius:20px;padding:20px}.regie .rg-spiel .karte{background:#174a43;color:white;border-color:#3f746d}.regie .rg-spiel .karte>h3,.regie .rg-spiel .bez{color:#fff}.regie .rg-spiel .eingabe,.regie .rg-spiel .knopf{background:#123b36;color:white;border-color:#739690}.regie .rg-spiel .knopf.wichtig,.regie .rg-spiel .rg-wurftaste{background:#fff;color:var(--rg-deep);border-color:white}.rg-spielaktionen{display:flex;justify-content:flex-end;margin-top:14px}.rg-spielaktionen .knopf{width:auto}
.rg-schritte{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-bottom:1px solid var(--line);margin-bottom:24px}.rg-schritte button{border:0;background:transparent;min-height:68px;padding:10px 8px;display:flex;align-items:center;gap:9px;color:var(--muted);cursor:pointer;text-align:left}.rg-schritte button>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);font-size:13px;font-weight:800}.rg-schritte button strong{font-size:14px}.rg-schritte button[aria-current=step]{color:var(--rg-green);box-shadow:inset 0 -3px var(--rg-green)}.rg-schritte button[aria-current=step]>span{background:var(--rg-green);border-color:var(--rg-green);color:white}.rg-regie-inhalt{display:flex;flex-direction:column;gap:16px}.rg-statuskarten{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rg-statuskarten>div{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;align-items:baseline;gap:10px}.rg-statuskarten strong{font-size:34px;color:var(--rg-green)}.rg-statuskarten span{font-size:13px;color:var(--muted)}.rg-inline{display:flex;gap:9px}.rg-inline .knopf{width:auto}.rg-abschluss{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px}.rg-abschluss>h2{font-size:25px;margin-bottom:15px}.rg-pruefpunkte{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.rg-pruefpunkte>div{border-radius:12px;padding:14px;display:flex;align-items:baseline;gap:8px}.rg-pruefpunkte .warn{background:var(--accent-bg);color:var(--accent)}.rg-pruefpunkte .ok{background:var(--good-bg);color:var(--good)}.rg-pruefpunkte strong{font-size:25px}.rg-pruefpunkte span{font-size:13px}.rg-leer{max-width:550px;margin:60px auto;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:30px}.rg-leer h2{margin-bottom:20px}.rg-leer p{color:var(--muted);margin:-8px 0 20px}.rg-admin-inline{max-width:500px;margin:25px auto}.rg-admin-inline .karte{background:var(--surface);border:1px solid var(--line);border-radius:16px}.rg-listenaktionen{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line-soft);margin-top:12px;padding-top:14px}.rg-aktionsknopf{width:100%;margin:14px 0}
.rg-schritte{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-bottom:1px solid var(--line);margin-bottom:24px}.rg-schritte button{border:0;background:transparent;min-height:68px;padding:10px 8px;display:flex;align-items:center;gap:9px;color:var(--muted);cursor:pointer;text-align:left}.rg-schritte button>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);font-size:13px;font-weight:800}.rg-schritte button strong{font-size:14px}.rg-schritte button[aria-current=step]{color:var(--rg-green);box-shadow:inset 0 -3px var(--rg-green)}.rg-schritte button[aria-current=step]>span{background:var(--rg-green);border-color:var(--rg-green);color:white}.rg-regie-inhalt{display:flex;flex-direction:column;gap:16px}.rg-statuskarten{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rg-statuskarten>div{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;align-items:baseline;gap:10px}.rg-statuskarten strong{font-size:34px;color:var(--rg-green)}.rg-statuskarten span{font-size:13px;color:var(--muted)}.rg-inline{display:flex;gap:9px}.rg-inline .knopf{width:auto}.rg-abschluss{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px}.rg-abschluss>h2{font-size:25px;margin-bottom:15px}.rg-pruefpunkte{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.rg-pruefpunkte>div{border-radius:12px;padding:14px;display:flex;align-items:baseline;gap:8px}.rg-pruefpunkte .warn{background:var(--accent-bg);color:var(--accent)}.rg-pruefpunkte .ok{background:var(--good-bg);color:var(--good)}.rg-pruefpunkte strong{font-size:25px}.rg-pruefpunkte span{font-size:13px}.rg-leer{max-width:550px;margin:60px auto;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:30px}.rg-leer h2{margin-bottom:20px}.rg-leer p{color:var(--muted);margin:-8px 0 20px}.rg-admin-inline{max-width:500px;margin:25px auto}.rg-admin-inline .karte{background:var(--surface);border:1px solid var(--line);border-radius:16px}.rg-listenaktionen{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line-soft);margin-top:12px;padding-top:14px}.rg-aktionsknopf{width:100%;margin:14px 0}

/* Laufende Abstimmungen liegen über jedem Arbeitsbereich, statt dessen Inhalt nach
   unten zu schieben. Nach dem Schließen bleibt unten rechts ein fester Rückweg. */
.rg-abstimmung-schatten{position:fixed;inset:0;z-index:90;background:rgba(8,20,17,.62);backdrop-filter:blur(2px)}
.rg-abstimmungsdialog{position:fixed;z-index:91;left:50%;top:var(--sichtfenster-mitte,50%);transform:translate(-50%,-50%);width:min(460px,calc(100% - 30px));max-height:calc(var(--sichtfenster-hoehe,100dvh) - 30px);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 24px 65px rgba(0,0,0,.35)}
.rg-abstimmungsdialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.rg-abstimmungsdialog>header span{color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.rg-abstimmungsdialog>header h2{font-size:25px;line-height:1.15;margin:2px 0}.rg-abstimmungsdialog>header p{color:var(--muted)}.rg-abstimmungsdialog>header button{flex:0 0 auto;width:42px;height:42px;border:0;border-radius:9px;background:var(--sunk);color:var(--ink);cursor:pointer}.rg-abstimmungsdialog>header svg{width:23px}
.rg-abstimmung-stand{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:18px 0}.rg-abstimmung-stand>div{display:flex;flex-direction:column;align-items:center;padding:11px 6px;background:var(--sunk);border-radius:11px}.rg-abstimmung-stand strong{font-size:25px;color:var(--rg-green)}.rg-abstimmung-stand span{font-size:11px;color:var(--muted)}
.rg-abstimmung-fuer{margin:-5px 0 13px;padding:9px 11px;border-radius:9px;background:var(--accent-bg);color:var(--accent);font-size:13px;text-align:center}.rg-abstimmung-tasten{display:grid;grid-template-columns:1fr 1fr;gap:9px}.rg-abstimmung-tasten .knopf{min-height:54px}.rg-abstimmung-status{margin:12px 0 0;text-align:center;color:var(--muted);font-size:13px}.rg-abstimmung-ende{width:100%;margin-top:12px}.rg-abstimmungsdialog>.hinweis{font-size:12px;text-align:center}
.rg-regie-abstimmung>p{margin:0 0 10px}.rg-regie-abstimmung-fuer{padding:8px 10px;border-radius:8px;background:var(--accent-bg);color:var(--accent);font-size:13px}.rg-regie-abstimmung>.hinweis{text-align:center;margin:9px 0 0}
.rg-abstimmung-hinweis{position:fixed;z-index:89;right:18px;bottom:18px;display:flex;align-items:center;gap:10px;min-height:50px;padding:10px 15px;border:1px solid var(--accent);border-radius:13px;background:var(--surface);color:var(--ink);box-shadow:0 10px 32px rgba(0,0,0,.2);cursor:pointer}.rg-abstimmung-hinweis span{font-size:12px;color:var(--muted)}.rg-abstimmung-hinweis strong{color:var(--accent);font-size:13px}
@media(max-width:760px){.rg-abstimmung-hinweis{right:12px;bottom:calc(82px + env(safe-area-inset-bottom))}.rg-abstimmungsdialog{padding:17px}.rg-abstimmungsdialog>header h2{font-size:22px}}
.rg-buero-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:12px}.rg-buero-nav button{border:1px solid var(--line);background:var(--surface);border-radius:12px;min-height:54px;color:var(--muted);font-weight:750;cursor:pointer}.rg-buero-nav button[aria-current=page]{background:var(--rg-green);border-color:var(--rg-green);color:white}.rg-buero-unter{display:flex;gap:5px;border-bottom:1px solid var(--line);padding:0 0 10px;margin-bottom:18px}.rg-buero-unter button{border:0;background:transparent;border-radius:8px;padding:9px 12px;color:var(--muted);font-weight:700;cursor:pointer}.rg-buero-unter button[aria-current=page]{background:var(--good-bg);color:var(--rg-green)}.rg-buero-inhalt{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.rg-buero-inhalt>.karte:only-child{grid-column:1/-1}.regie .karte{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:18px}.regie .karte>h3{font:750 15px/1.3 var(--f-body);letter-spacing:0;text-transform:none;color:var(--ink);margin-bottom:13px}.regie .karte.hebt{border-color:#8cc6b9}.regie .zeile{padding:9px 0}.regie .zeile+.zeile{border-top:1px solid var(--line-soft)}.regie .bez{font-size:14px}.regie .num{font-family:var(--f-body);font-weight:700}.regie .marke-pill{font:700 11px/1 var(--f-body);letter-spacing:0;text-transform:none;border-radius:999px;padding:5px 8px}.regie table{font-size:14px}.regie th{background:#edf2f1;color:var(--muted);font:700 12px/1.3 var(--f-body);letter-spacing:0;text-transform:none;padding:10px 8px}.regie td{padding:10px 8px;border-bottom:1px solid var(--line-soft)}.regie tr.ich td{background:var(--good-bg)}.rg-anfrage{display:flex;align-items:center;gap:8px;background:#fff7d6;border:1px solid #e2cc70;border-radius:11px;padding:11px 13px;margin-bottom:10px}.rg-anfrage>span{display:flex;flex-direction:column;margin-right:auto;font-size:14px}.rg-anfrage>span small{color:var(--muted);font-size:12px;margin-top:2px}.rg-anfrage button{border:0;background:white;border-radius:7px;padding:7px 10px;font-weight:700;cursor:pointer}.rg-hilfe{margin-top:9px;font-size:12px;color:var(--muted)}.rg-hilfe summary{cursor:pointer;font-weight:700;padding:4px 0}.regie .cx-vorschau{border-radius:11px;margin-bottom:15px}.regie .melder{bottom:20px;background:var(--rg-deep);color:#fff;border-radius:11px;font-size:14px}
.rg-menu-schatten{position:fixed;inset:0;background:rgba(10,26,23,.35);backdrop-filter:blur(2px);z-index:70}.rg-menu{position:fixed;z-index:71;right:0;top:0;bottom:0;width:min(430px,100%);background:var(--paper);box-shadow:-16px 0 45px rgba(10,26,23,.18);overflow-y:auto;padding:18px}.rg-menu>header{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px}.rg-avatar.gross{width:46px;height:46px;font-size:14px}.rg-menu>header>div:nth-child(2){display:flex;flex-direction:column}.rg-menu>header>div:nth-child(2)>strong{font-size:17px}.rg-menu>header>div:nth-child(2)>span{font-size:12px;color:var(--muted)}.rg-menu>header>button{margin-left:auto;width:40px;height:40px;border:0;background:transparent;color:var(--muted);cursor:pointer}.rg-menu>header svg{width:22px}.rg-menu-zahlen{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:13px;overflow:hidden;margin:12px 0}.rg-menu-zahlen>div{background:var(--surface);padding:12px;display:flex;flex-direction:column}.rg-menu-zahlen span{font-size:11px;color:var(--muted)}.rg-menu-zahlen strong{font-size:20px}.rg-menu-inhalt{display:flex;flex-direction:column;gap:11px}.rg-menu nav{display:flex;flex-direction:column;gap:5px;margin-top:12px}.rg-menu nav>button{border:1px solid var(--line);background:var(--surface);border-radius:12px;min-height:62px;padding:10px;display:flex;align-items:center;gap:11px;text-align:left;color:var(--ink);cursor:pointer}.rg-menupunkt-icon{width:37px;height:37px;border-radius:10px;background:var(--good-bg);color:var(--rg-green);display:grid;place-items:center;font-weight:800}.rg-menu nav>button>span:last-child{display:flex;flex-direction:column}.rg-menu nav strong{font-size:14px}.rg-menu nav small{font-size:12px;color:var(--muted)}
@media(max-width:760px){.regie .kopf{height:58px;padding:0 15px;position:relative;background:var(--paper)}.regie .kopf .info{font-size:11px;max-width:52%;text-align:right}.regie .kopf .marke{font-size:16px}.regie .reiter{top:auto;bottom:0;width:min(100%,620px);border-radius:17px 17px 0 0;padding:7px 12px calc(7px + env(safe-area-inset-bottom));grid-template-columns:1fr 1fr 58px;box-shadow:0 -7px 25px rgba(20,37,34,.12)}.regie .reiter button{min-height:54px;flex-direction:column;gap:4px;font-size:11px;padding:5px}.regie .reiter svg{width:20px;height:20px}.regie .rg-profilknopf>span{width:36px;height:36px}.regie .inhalt{padding:14px 15px calc(100px + env(safe-area-inset-bottom))}.rg-seitenkopf{align-items:flex-start;margin:5px 0 18px}.rg-seitenkopf h1{font-size:29px}.rg-seitenkopf span{font-size:12px}.rg-regieknopf,.rg-zurueck{font-size:12px;min-height:38px;padding:7px 9px}.rg-naechster>span{padding:16px 16px 2px}.rg-naechster>h2{font-size:20px;padding:0 16px 14px}.rg-formular{padding:16px;grid-template-columns:1fr;gap:13px}.rg-holz,.rg-nebenwerte{grid-column:1/-1}.regie .rg-holz .holz{height:94px;font-size:52px}.rg-erledigt{padding:18px;grid-template-columns:auto 1fr}.rg-erledigt>div:nth-child(2)>strong{font-size:48px}.rg-zettel-unten{grid-template-columns:1fr}.rg-tabelle{overflow-x:hidden}.rg-tabelle>header,.rg-tabelle>div{grid-template-columns:minmax(0,1.55fr) repeat(3,minmax(42px,.65fr));min-width:0;gap:4px;padding:0 8px}.rg-tabelle>header{font-size:10px}.rg-tabelle>header span{min-width:0;overflow:hidden;white-space:nowrap}.rg-tabelle>div{font-size:13px}.rg-tabelle>div>span:first-child{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.rg-tabelle>div>span:first-child b{min-width:16px}.rg-tabelle>div>strong{font-size:17px}.rg-abendmomente{grid-template-columns:1fr}.rg-spiel{padding:12px;border-radius:15px}.rg-schritte{grid-template-columns:repeat(3,minmax(82px,1fr));overflow-x:auto;margin:0 -15px 18px;padding:0 10px}.rg-schritte button{min-height:61px;flex-direction:column;justify-content:center;gap:4px;text-align:center}.rg-schritte button strong{font-size:11px;white-space:nowrap}.rg-schritte button>span{width:25px;height:25px;font-size:11px}.rg-statuskarten strong{font-size:27px}.rg-statuskarten span{font-size:11px}.rg-inline{display:block}.rg-inline .knopf{width:100%;margin-top:8px}.rg-pruefpunkte{grid-template-columns:1fr}.rg-buero-nav{grid-template-columns:repeat(4,minmax(105px,1fr));overflow-x:auto;padding-bottom:4px}.rg-buero-nav button{font-size:12px}.rg-buero-unter{overflow-x:auto}.rg-buero-unter button{white-space:nowrap;font-size:12px}.rg-buero-inhalt{grid-template-columns:1fr}.rg-buero-inhalt>*{grid-column:1!important}.regie .melder{bottom:82px}.rg-menu{padding:12px}.rg-menu-schatten{bottom:0}.rg-anfrage{flex-wrap:wrap}.rg-anfrage>span{flex-basis:100%}}
@media(max-width:380px){.rg-seitenkopf h1{font-size:26px}.rg-seitenkopf{gap:8px}.rg-nebenwerte{grid-template-columns:1fr}.rg-erledigt{display:block}.rg-haken{margin-bottom:12px}.rg-teilergebnis{margin-top:12px}.rg-statuskarten>div{padding:11px}.rg-statuskarten strong{font-size:24px}.rg-menu-zahlen span{font-size:10px}.rg-menu-zahlen strong{font-size:17px}}
@media(prefers-color-scheme:dark){.regie{--paper:#111916;--surface:#18231f;--sunk:#0d1412;--ink:#ebf2f0;--muted:#96aaa5;--line:#334740;--line-soft:#293a34;--accent:#ff8a63;--accent-bg:#402a24;--good:#79d9c0;--good-bg:#1b3931;--bad:#ff9399;--bad-bg:#402427;--rg-green:#50bda5;--rg-deep:#0d2924;--rg-cream:#1c2a26}.regie .kopf{background:rgba(17,25,22,.94)}.regie .reiter button[aria-selected=true]{background:#287d6b}.rg-tabelle>header{background:#0d2924}.regie th{background:#202f2a}.rg-spielhinweis{background:#342f19;border-color:#625829;color:#f2df91}}
@media(prefers-reduced-motion:reduce){.regie *{transition:none!important;scroll-behavior:auto!important}}
.regie{overflow-x:hidden}
.regie .karte,.rg-buero-inhalt,.rg-buero-inhalt>*{min-width:0;max-width:100%}
.rg-buero-inhalt{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.regie .karte .tabellenrahmen{max-width:100%;overflow-x:auto}

/* Öffentliche Startseite und persönlicher Mitgliederbereich gehören optisch zur
   Regie-Oberfläche, werden fachlich aber nicht vom Kegelabend-Renderer gezeichnet.
   Das Portalraster gibt Login, Einrichtung und eigenen Statistiken deshalb eine
   ruhige, eigenständige Regie-Seite statt nur die alte Kartenansicht einzufärben. */
.regie.rg-portalmodus .inhalt{max-width:960px;padding-top:42px}
.regie.rg-portalmodus .reiter{grid-template-columns:repeat(2,minmax(0,1fr));width:310px}
.regie .rg-portal-raster{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.75fr);gap:16px;align-items:start}
.regie .rg-portal-raster.rg-portal-schmal{grid-template-columns:minmax(0,620px);justify-content:center}
.regie .rg-portal-hauptkarte{grid-row:span 2}
.regie .rg-portal-raster .karte{margin:0}
.regie .rg-portal-raster .karte h2{font-size:24px;line-height:1.15;letter-spacing:-.02em;margin-bottom:8px}
.regie .rg-portal-raster .karte>p{color:var(--muted)}
.regie .rg-portal-raster label{display:block;margin-top:15px;color:var(--ink);font-size:13px;font-weight:750}
.regie .rg-portal-raster label .eingabe{display:block;width:100%;margin-top:5px}
.regie .rg-portal-kennzahlen{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.regie .rg-portal-kennzahlen>div{display:flex;flex-direction:column;gap:1px;padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.regie .rg-portal-kennzahlen span{color:var(--muted);font-size:12px;font-weight:750}
.regie .rg-portal-kennzahlen strong{color:var(--rg-green);font-size:30px;line-height:1.15;font-variant-numeric:tabular-nums}
.regie .rg-portal-persoenlich{grid-template-columns:repeat(2,minmax(0,1fr))}
.regie .rg-portal-persoenlich>.karte:nth-child(2){grid-column:1/-1;grid-row:2}
.regie .rg-portal-persoenlich>.karte:last-child .knopf{margin-top:7px}

@media(max-width:760px){
  .regie.rg-portalmodus .inhalt{padding-top:14px}
  .regie.rg-portalmodus .reiter{grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,620px)}
  .regie .rg-portal-raster,.regie .rg-portal-persoenlich{grid-template-columns:minmax(0,1fr)}
  .regie .rg-portal-hauptkarte{grid-row:auto}
  .regie .rg-portal-kennzahlen{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .regie .rg-portal-kennzahlen>div{padding:13px}
  .regie .rg-portal-kennzahlen strong{font-size:25px}
  .regie .rg-portal-persoenlich>.karte:nth-child(2){grid-column:1;grid-row:auto}
}
.rg-buero-nav,.rg-buero-unter{max-width:100%;min-width:0}
.rg-kassenbereich{display:contents}
@media(max-width:760px){.rg-buero-inhalt{grid-template-columns:minmax(0,1fr)}.regie .karte{overflow:hidden}.rg-buero-nav{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.rg-buero-nav button{min-width:0;min-height:44px}.rg-kassenbereich>.karte:nth-child(2) .tabellenrahmen{overflow:visible}.rg-kassenbereich>.karte:nth-child(2) table,.rg-kassenbereich>.karte:nth-child(2) tbody{display:block}.rg-kassenbereich>.karte:nth-child(2) thead{display:none}.rg-kassenbereich>.karte:nth-child(2) tr{display:grid;grid-template-columns:minmax(0,1fr) 76px;gap:7px 9px;padding:12px 0;border-bottom:1px solid var(--line-soft)}.rg-kassenbereich>.karte:nth-child(2) tr:last-child{border-bottom:0}.rg-kassenbereich>.karte:nth-child(2) td{padding:0;border:0;min-width:0}.rg-kassenbereich>.karte:nth-child(2) td:first-child{font-weight:800;align-self:center}.rg-kassenbereich>.karte:nth-child(2) td:nth-child(2){display:none}.rg-kassenbereich>.karte:nth-child(2) td:nth-child(3){text-align:left;align-self:center;font-size:13px}.rg-kassenbereich>.karte:nth-child(2) td:nth-child(3)::before{content:'Offen: ';color:var(--muted)}.rg-kassenbereich>.karte:nth-child(2) td:nth-child(4){grid-column:1;grid-row:2}.rg-kassenbereich>.karte:nth-child(2) td:nth-child(5){grid-column:2;grid-row:2}.rg-kassenbereich>.karte:nth-child(2) td:nth-child(4) .eingabe{width:100%!important;min-height:44px}.rg-kassenbereich>.karte:nth-child(2) td:nth-child(5) .knopf{width:100%;min-height:44px;padding:7px}}

/* Laufendes Spiel: Der Hinweis steht oben auf dem Kegelzettel und ist kein Merkzettel,
   sondern die Einladung, hinzuschauen. Der Zettel selbst bleibt bedienbar. */
.rg-spielhinweis.laeuft{margin:0 0 16px;background:var(--rg-green);border-color:var(--rg-green);color:#fff}
.rg-spielhinweis.laeuft strong{text-decoration:underline}
@media(prefers-color-scheme:dark){.rg-spielhinweis.laeuft{background:#1d5f53;border-color:#2c7c6d;color:#e9f6f3}}

/* Wechsler unter »Der Abend«: Spiel oder Ergebnisse. Beides bleibt jederzeit
   erreichbar — ein Spiel verdrängt die Ergebnisse nicht mehr. */
.rg-wechsler{display:grid;grid-template-columns:1fr 1fr;gap:5px;background:var(--sunk);border:1px solid var(--line);border-radius:13px;padding:5px;margin-bottom:18px}
.rg-wechsler button{border:0;background:transparent;border-radius:9px;min-height:44px;color:var(--muted);font:750 14px/1 var(--f-body);cursor:pointer}
.rg-wechsler button[aria-selected=true]{background:var(--rg-green);color:#fff}
.rg-spielkopf{display:flex;align-items:baseline;gap:9px;margin-bottom:11px}
.rg-spielkopf strong{font-size:19px}
.rg-spielkopf span{font-size:13px;color:var(--muted)}

/* Ohne Spielleitung geht es nicht weiter. Der Knopf steht allein, damit klar ist,
   was fehlt — der Hinweis darunter nimmt den Druck vom Falschen. */
.rg-leitung-noetig .knopf{width:auto;margin:0 auto;padding:13px 22px}
.rg-leitung-warten{color:var(--muted);font-size:13px;margin:18px 0 0!important}

/* ---------- Die große Anzeige ----------
   Der Laptop vorn an der Bahn. Aus drei Metern lesbar, nichts zu bedienen.
   Beträge und die Jahrestabelle haben hier nie etwas zu suchen. */
/* Einblendungen auf der großen Anzeige: Spielstart und frischer Rekord.
   Sie legen sich über den laufenden Inhalt, statt ihn zu ersetzen — nach der
   Frist liest die Runde da weiter, wo sie war. Nur hier, nie auf den Handys. */
.rg-signal{
  position:fixed; inset:0; z-index:80; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:clamp(10px,1.2vw,22px);
  text-align:center; padding:4vw; background:rgba(9,26,20,.94); color:#F4F1E4;
}
.rg-signal span{
  font-size:clamp(16px,1.5vw,28px); letter-spacing:.16em; text-transform:uppercase;
  color:#8FD8BA; font-weight:700;
}
.rg-signal strong{font-size:clamp(48px,7vw,132px); line-height:1.02; font-weight:800}
.rg-signal small{font-size:clamp(20px,2.2vw,42px); color:#F1D98F}
.rg-signal-rekord strong{color:#FFD9A0}
@media (prefers-reduced-motion: no-preference){
  .rg-signal{animation:rg-signal-auf .28s ease-out}
}
@keyframes rg-signal-auf{from{opacity:0; transform:scale(.97)} to{opacity:1; transform:none}}

.rg-anzeige{font-size:1.15rem}
.rg-anzeige .rg-seitenkopf h1{font-size:44px}
.rg-anzeige .rg-tabelle>header,.rg-anzeige .rg-tabelle>div{padding:0 24px}
.rg-anzeige .rg-tabelle>div{min-height:74px;font-size:23px}
.rg-anzeige .rg-tabelle>header{min-height:52px;font-size:15px}
.rg-anzeige .rg-tabelle>div>strong{font-size:29px}
.rg-anzeige .rg-zurueck.leise{opacity:.35;font-weight:600}
.rg-anzeige .rg-zurueck.leise:hover{opacity:1}
.rg-anzeige .rg-spiel{padding:26px}
.rg-anzeige .rg-leer h2{font-size:30px}


/* Der Bildschirm an der Bahn darf die ganze Breite haben — die Lesebreite für
   Fließtext gilt hier nicht, alle schauen aus mehreren Metern darauf. */
.rg-anzeigemodus .app,.rg-anzeigemodus .inhalt{max-width:none}
.rg-anzeigemodus .inhalt{padding:22px 34px}
.rg-anzeige .rg-seitenkopf h1{font-size:clamp(34px,3.4vw,62px)}
.rg-anzeige .rg-tabelle>div{font-size:clamp(21px,1.9vw,34px);min-height:clamp(64px,5.4vw,92px)}
.rg-anzeige .rg-tabelle>div>strong{font-size:clamp(26px,2.4vw,44px)}
.rg-anzeige .rg-tabelle>header{font-size:clamp(13px,1.1vw,20px)}
.rg-anzeige .rg-tabelle-ereignisse.rg-viele-zeilen{display:grid;grid-template-rows:52px repeat(var(--rg-teilnehmer),minmax(0,1fr));height:calc(100dvh - 230px)}
.rg-anzeige .rg-tabelle-ereignisse.rg-viele-zeilen>header,.rg-anzeige .rg-tabelle-ereignisse.rg-viele-zeilen>div{min-height:0}

/* Auf dem offenen Bildschirm darf die Abendtabelle mehr vom gemeinsam gesehenen
   Verlauf zeigen. Auf Handys bleibt es bei den vier Ergebnis-Spalten. */
.rg-anzeige .rg-tabelle.rg-tabelle-ereignisse>header,.rg-anzeige .rg-tabelle.rg-tabelle-ereignisse>div{grid-template-columns:minmax(190px,2.15fr) repeat(3,minmax(78px,.82fr)) minmax(96px,1fr) minmax(124px,1.25fr)}

/* Tannenbaum ist auf der großen Anzeige keine kleine Karte in einer leeren Fläche.
   Die Rauten sind der Spielstand und füllen deshalb den Bildschirm. Creme und Gold
   heben die noch offenen Felder klar vom dunklen Kegelbahn-Grün ab; gestrichene
   Felder bleiben sichtbar, treten aber bewusst zurück. */
.rg-anzeige .rg-spiel.rg-spiel-tannenbaum{min-height:clamp(430px,66vh,720px);display:flex;align-items:center;padding:clamp(28px,3vw,54px);background:linear-gradient(135deg,#10483e 0%,#092f29 100%);border:1px solid #347267;box-shadow:inset 0 1px rgba(255,255,255,.08),0 16px 40px rgba(7,38,32,.15)}
.rg-anzeige .rg-spiel.rg-spiel-tannenbaum.rg-spiel-endstand{min-height:0;align-items:flex-start;padding:clamp(20px,2vw,36px)}
.rg-anzeige .rg-tannenbaum-endstand{width:100%;display:flex;flex-direction:column;align-items:center;gap:clamp(18px,2vw,34px)}
.rg-anzeige .rg-tannenbaum-endstand>header{width:min(760px,100%);display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(10px,1vw,16px);border:1px solid rgba(245,216,142,.45);border-radius:18px;background:rgba(5,32,27,.34)}
.rg-anzeige .rg-tannenbaum-endstand>header>span{color:#d8f1e8;font-size:clamp(13px,1vw,18px);font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.rg-anzeige .rg-tannenbaum-endstand>header>strong{color:#fff5d6;font-size:clamp(26px,2.5vw,46px);line-height:1.15;letter-spacing:-.03em}
.rg-anzeige .rg-tannenbaum-endstand>header>small{color:#f1d98f;font-size:clamp(14px,1.1vw,21px);margin-top:3px}

/* Hausnummern und Schnapszahlen sind eigene Lesebilder statt verkleinerter
   Eingabekarten. Auch ihre Endzustände sagen klar, ob es einen Sieger gibt. */
.rg-anzeige .rg-spiel.rg-spiel-hausnummern,.rg-anzeige .rg-spiel.rg-spiel-schnapszahlen{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#10483e 0%,#092f29 100%);border:1px solid #347267;box-shadow:inset 0 1px rgba(255,255,255,.08),0 16px 40px rgba(7,38,32,.15)}
.rg-anzeige .rg-spiel.rg-spiel-hausnummern{min-height:0;padding:clamp(20px,2vw,36px)}
.rg-anzeige .rg-spiel.rg-spiel-schnapszahlen{min-height:clamp(410px,60vh,680px);padding:clamp(28px,3vw,54px)}
.rg-anzeige .rg-hausnummern-anzeige{width:min(1180px,100%)}
.rg-anzeige .rg-hausnummern-anzeige>header{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:clamp(18px,2vw,32px)}
.rg-anzeige .rg-hausnummern-anzeige>header>span{color:#d8f1e8;font-size:clamp(14px,1.15vw,21px);font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.rg-anzeige .rg-hausnummern-anzeige>header>strong{color:#fff5d6;font-size:clamp(28px,2.7vw,50px);line-height:1.15;letter-spacing:-.03em}
.rg-anzeige .rg-hausnummern-tabelle{overflow:hidden;border:1px solid rgba(216,241,232,.28);border-radius:18px;background:rgba(5,32,27,.3)}
.rg-anzeige .rg-hausnummern-tabelle>header,.rg-anzeige .rg-hausnummern-tabelle>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;padding:0 clamp(22px,3vw,52px)}
.rg-anzeige .rg-hausnummern-tabelle>header{min-height:clamp(46px,3.7vw,66px);color:#d8f1e8;font-size:clamp(13px,1.05vw,19px);font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.rg-anzeige .rg-hausnummern-tabelle>header>span:last-child{text-align:right}
.rg-anzeige .rg-hausnummern-tabelle>div{min-height:clamp(55px,5.7vw,94px);border-top:1px solid rgba(216,241,232,.16);font-size:clamp(21px,2vw,37px);font-weight:750}
.rg-anzeige .rg-hausnummern-tabelle>div>strong{color:#fff5d6;font-size:clamp(30px,3.2vw,59px);font-variant-numeric:tabular-nums}
.rg-anzeige .rg-hausnummern-tabelle.rg-viele-zeilen{display:grid;grid-template-rows:66px repeat(var(--rg-teilnehmer),minmax(0,1fr));height:calc(100dvh - 380px)}
.rg-anzeige .rg-hausnummern-tabelle.rg-viele-zeilen>header,.rg-anzeige .rg-hausnummern-tabelle.rg-viele-zeilen>div{min-height:0}
.rg-anzeige .rg-schnapszahlen-anzeige,.rg-anzeige .rg-spiel-ohne-wertung{width:min(1100px,100%);text-align:center}
.rg-anzeige .rg-schnapszahlen-anzeige>header{display:flex;flex-direction:column;margin-bottom:clamp(22px,2.4vw,42px)}
.rg-anzeige .rg-schnapszahlen-anzeige>header>span,.rg-anzeige .rg-spiel-ohne-wertung>span{color:#d8f1e8;font-size:clamp(14px,1.15vw,21px);font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.rg-anzeige .rg-schnapszahlen-anzeige>header>strong,.rg-anzeige .rg-spiel-ohne-wertung>strong{color:#fff5d6;font-size:clamp(31px,3vw,56px);line-height:1.1;letter-spacing:-.03em}
.rg-anzeige .rg-schnapszahlen-zahlen{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(9px,1vw,20px)}
.rg-anzeige .rg-schnapszahlen-zahlen>span{display:grid;place-items:center;min-height:clamp(58px,6.2vw,112px);border:2px solid #e8bf5d;border-radius:16px;background:#fff5d6;color:#16483f;font-size:clamp(23px,2.5vw,47px);font-weight:800;font-variant-numeric:tabular-nums;box-shadow:0 4px 0 rgba(0,0,0,.18)}
.rg-anzeige .rg-schnapszahlen-anzeige>p{color:#d8f1e8;font-size:clamp(18px,1.55vw,29px);margin:clamp(18px,2vw,32px) 0 8px}
.rg-anzeige .rg-schnapszahlen-anzeige>p strong,.rg-anzeige .rg-schnapszahlen-anzeige>footer strong{color:#f1d98f}
.rg-anzeige .rg-schnapszahlen-anzeige>footer,.rg-anzeige .rg-spiel-ohne-wertung>small{color:#d8f1e8;font-size:clamp(16px,1.3vw,24px)}

/* Teilnehmerliste im Regiepult: Wer da ist, wer gegangen ist, wer noch nichts
   geworfen hat — und die zwei Handgriffe dazu. */
.rg-teilnehmerliste>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:11px 0;border-top:1px solid var(--line-soft)}
.rg-teilnehmerliste>div:first-child{border-top:0}
.rg-teilnehmerliste>div>span:first-child{display:flex;flex-direction:column;margin-right:auto;min-width:0}
.rg-teilnehmerliste strong{font-size:15px}
.rg-teilnehmerliste small{font-size:12px;color:var(--muted)}
.rg-teilnehmerliste>div.weg strong{color:var(--muted)}
.rg-teilnehmer-tasten{display:flex;gap:6px;flex-wrap:wrap}
.rg-teilnehmer-tasten button{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:8px 11px;font-size:12px;font-weight:700;color:var(--ink);cursor:pointer;min-height:38px}
.rg-teilnehmerliste>div.weg .rg-teilnehmer-tasten button{border-color:var(--good);color:var(--good)}
.rg-personenname{display:flex;flex-direction:column;align-items:flex-start;flex:1;min-width:0;border:0;background:transparent;color:inherit;padding:0;text-align:left;cursor:pointer}
.rg-dialog-schatten{position:fixed;inset:0;background:rgba(15,28,26,.52);z-index:80}
.rg-personendialog{position:fixed;z-index:81;top:var(--sichtfenster-oben,0);right:0;width:min(560px,100%);height:var(--sichtfenster-hoehe,100%);overflow:auto;background:var(--paper);box-shadow:-12px 0 40px rgba(0,0,0,.25);padding:22px}
.rg-personendialog>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.rg-personendialog>header span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.rg-personendialog>header h2{font-size:28px}.rg-personendialog>header button{border:0;background:transparent;color:inherit;width:42px;height:42px}.rg-personendialog>header svg{width:26px}
.rg-dialog-abschnitt{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:15px;margin:12px 0}.rg-dialog-abschnitt h3{margin-bottom:10px}.rg-dialog-werte{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:8px;margin-bottom:10px}.rg-dialog-werte label{font-size:12px;color:var(--muted)}.rg-dialog-werte input{margin-top:4px}
.rg-signal-strafe strong,.rg-signal-abstimmung strong{color:#FFD9A0}
@media(max-width:560px){.rg-personendialog{padding:16px}.rg-dialog-werte{grid-template-columns:1fr}}

/* Abwesende bleiben in der Tabelle stehen, treten aber zurück. */
.rg-tabelle>div.weg{opacity:.55}
.rg-anzeige .rg-tabelle>div.weg{opacity:.45}

/* Kurzmenü am Avatar: der schnelle Weg zu Regiepult und Büro. Das volle
   persönliche Panel ist ein Punkt darin, nicht mehr die einzige Tür. */
.rg-kurzmenue{position:fixed;z-index:71;right:12px;top:64px;width:min(340px,calc(100% - 24px));background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 45px rgba(10,26,23,.22);padding:7px;display:flex;flex-direction:column;gap:4px;max-height:calc(100vh - 90px);overflow-y:auto}
.rg-kurzmenue button{border:0;background:transparent;border-radius:11px;min-height:58px;padding:9px 10px;display:flex;align-items:center;gap:11px;text-align:left;color:var(--ink);cursor:pointer;width:100%}
.rg-kurzmenue button:hover{background:var(--sunk)}
.rg-kurzmenue button>span:last-child{display:flex;flex-direction:column;min-width:0}
.rg-kurzmenue strong{font-size:14px}
.rg-kurzmenue small{font-size:12px;color:var(--muted)}
.rg-kurzmenue .rg-abstand{margin-top:5px;border-top:1px solid var(--line-soft);border-radius:0 0 11px 11px;padding-top:12px}
@media(max-width:760px){
  /* Auf dem Handy sitzt die Reiterleiste unten — das Menü klappt von dort auf. */
  .rg-kurzmenue{top:auto;bottom:calc(78px + env(safe-area-inset-bottom));max-height:calc(100vh - 150px)}
}

/* Der Abräum-Countdown ist eine verzögerte Aktion, keine Rückfrage — er zeigt,
   dass etwas läuft, und bietet den Ausstieg an. */
.rg-countdown{border-color:var(--accent); color:var(--accent); font-variant-numeric:tabular-nums}

/* ---------- Drei Zustände in der Ergebnistabelle ----------
   Farbe bleibt für »das bin ich« reserviert. Wer noch nicht geworfen hat, tritt
   zurück; wer abwesend ist, bekommt zusätzlich das Wort. Fertig sein braucht kein
   eigenes Mittel — die Zahlen statt Striche sind das Signal. */
.rg-tabelle>div.offen{opacity:.55}
.rg-tabelle>div.weg{opacity:.45}
.rg-tabelle>div>span:first-child em{
  font-style:normal; font-size:.72em; font-weight:700; letter-spacing:.04em;
  text-transform:uppercase; color:var(--bad); margin-left:.5em;
}

/* Pumpenkönig-Karte: antippbar, klappt die volle Pumpenliste auf. Die Pumpen
   entscheiden über den Pumpenkegel — deshalb hängt die Liste an dieser Karte
   und nicht als Extrazeile unter der Tabelle. */
.rg-pumpenkoenig{
  flex:1; min-width:150px; display:flex; flex-direction:column; align-items:flex-start;
  gap:2px; text-align:left; cursor:pointer;
  background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:13px 16px;
}
.rg-pumpenkoenig[aria-expanded="true"]{border-color:var(--accent)}
.rg-pumpenkoenig>span{color:var(--muted); font-size:13px; font-weight:700}
.rg-pumpenkoenig>strong{font-size:16px}
.rg-pumpenkoenig>b{color:var(--accent); font-size:20px}
.rg-pumpenliste{
  margin-top:10px; background:var(--surface); border:1px solid var(--line); border-radius:14px; overflow:hidden;
}
.rg-pumpenliste>header{
  padding:11px 16px; border-bottom:1px solid var(--line-soft);
  color:var(--muted); font-size:13px; font-weight:700;
}
.rg-pumpenliste>div{
  display:grid; grid-template-columns:1fr auto auto auto; gap:12px; align-items:center;
  padding:10px 16px; border-bottom:1px solid var(--line-soft);
}
.rg-pumpenliste>div:last-child{border:0}
.rg-pumpenliste>div>span:nth-child(3){color:var(--muted); font-size:12px}
.rg-pumpenliste b{font-variant-numeric:tabular-nums}

/* Der Weg zurück in die Runde, sobald der eigene Zettel voll ist. */
.rg-absprung{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px;
  margin:14px 0; padding:15px 18px; cursor:pointer; text-align:left;
  background:var(--surface); border:1px solid var(--line); border-radius:14px;
  color:var(--muted); font-weight:600;
}
.rg-absprung strong{color:var(--rg-green); white-space:nowrap}
.rg-zettel-zahlen{margin:14px 0}

/* ---------- Abschluss und Berichtigung ---------- */
/* Nach dem Abschluss darf die Spielleitung eine halbe Stunde nachbessern. Ohne
   diese Anzeige wüsste niemand, dass es das Fenster gibt. */
.rg-berichtigung{
  display:flex; flex-direction:column; gap:3px; margin:0 0 18px;
  padding:13px 16px; border-radius:12px;
  background:var(--accent-bg); border:1px solid var(--accent); color:var(--ink);
}
.rg-berichtigung span{font-size:13px; color:var(--muted)}

/* Die Zählungen im Abschluss sind antippbar und nennen Namen. */
.rg-pruefpunkte>div>button{
  width:100%; display:flex; flex-direction:column; align-items:flex-start; gap:2px;
  background:transparent; border:0; padding:0; cursor:pointer; color:inherit; text-align:left;
}
.rg-pruefpunkte>div>ul{list-style:none; margin:10px 0 0; padding:10px 0 0; border-top:1px solid var(--line-soft)}
.rg-pruefpunkte>div>ul>li{margin:0}
.rg-pruefpunkte>div>ul button{
  width:100%; display:flex; justify-content:space-between; align-items:center; gap:10px;
  padding:9px 0; background:transparent; border:0; border-bottom:1px solid var(--line-soft);
  cursor:pointer; color:inherit; font-weight:600;
}
.rg-pruefpunkte>div>ul>li:last-child button{border-bottom:0}
.rg-pruefpunkte>div>ul small{color:var(--muted); font-weight:400}

/* Wer noch werfen muss — der erste Blick im Regiepult. */
.rg-offenliste{display:flex; flex-direction:column}
.rg-offenliste button{
  display:flex; justify-content:space-between; align-items:center; gap:10px;
  padding:12px 0; background:transparent; border:0; border-bottom:1px solid var(--line-soft);
  cursor:pointer; color:inherit; text-align:left; min-height:48px;
}
.rg-offenliste button:last-child{border-bottom:0}
.rg-offenliste small{color:var(--muted)}
.rg-teaserbereich{margin:16px 0}

/* ---------- Vertretung ----------
   Wer für jemand anderen einträgt, sieht das an jeder Stelle. Bewusst eine eigene
   Farbe: Der Mannschaftsumschalter beim Tannenbaum ist ausdrücklich KEINE
   Vertretung und darf damit nicht verwechselt werden. */
.rg-vertretungsleiste{
  position:sticky; top:70px; z-index:25;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  margin:0 0 16px; padding:11px 16px; border-radius:12px;
  background:#4b2d6b; color:#F6F1FB; font-weight:600;
}
.rg-vertretungsleiste button{
  border:1px solid rgba(246,241,251,.5); background:transparent; color:inherit;
  border-radius:9px; min-height:38px; padding:7px 12px; font-weight:700; cursor:pointer;
}
.rg-vertretung-aktiv .rg-seitenkopf h1{color:#4b2d6b}
.rg-vertretung-aktiv .reiter button[aria-selected="true"]{background:#4b2d6b}
.rg-vertretung-aktiv .rg-profilknopf>span,
.rg-vertretung-aktiv .rg-avatar{background:#4b2d6b}

/* ---------- Einen vergangenen Abend bearbeiten ----------
   Solange einer gewählt ist, meint die ganze App diesen Abend. Deshalb eine eigene,
   deutlich andere Farbe als die Vertretung — die beiden können gleichzeitig aktiv
   sein, und man muss sie auseinanderhalten können. */
.rg-bearbeitungsleiste{
  position:sticky; top:70px; z-index:26;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  margin:0 0 16px; padding:11px 16px; border-radius:12px;
  background:#7a4a10; color:#FFF6E8; font-weight:600;
}
.rg-bearbeitungsleiste button{
  border:1px solid rgba(255,246,232,.5); background:transparent; color:inherit;
  border-radius:9px; min-height:38px; padding:7px 12px; font-weight:700; cursor:pointer;
}
.rg-bearbeitung-aktiv .kopf{background:#fdf3e4}
.rg-bearbeitung-aktiv .kopf .marke{color:#7a4a10}

/* ---------- Schlussauswertung auf der großen Anzeige ----------
   Nach dem Abschluss weicht die volle Tabelle drei Treppen und den Königen. Die
   vollständige Tabelle hat jeder auf dem Handy; hier zählt, was man aus drei Metern
   lesen und vorlesen kann. Alles in einem Bild — gescrollt wird hier nicht. */
.rg-schluss{display:flex; flex-direction:column; gap:clamp(14px, 2.2vh, 34px)}
.rg-schluss-treppen{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:clamp(12px, 1.6vw, 34px)}
.rg-schluss-treppen>section,.rg-schluss-koenige>section{
  background:var(--rg-deep); border-radius:16px; padding:clamp(12px, 1.6vh, 24px) clamp(14px, 1.2vw, 26px);
  color:#eef6f2;
}
.rg-schluss-treppen header,.rg-schluss-koenige header{
  color:#8FD8BA; font-size:clamp(13px, min(1.1vw, 1.9vh), 22px); font-weight:800;
  letter-spacing:.12em; text-transform:uppercase; margin-bottom:clamp(6px, .9vh, 14px);
}
.rg-schluss-treppen>section>div,.rg-schluss-koenige>section>div{
  display:flex; align-items:baseline; gap:clamp(6px, .7vw, 14px);
  padding:clamp(3px, .5vh, 8px) 0; font-size:clamp(16px, min(1.5vw, 2.7vh), 34px);
}
.rg-schluss b{color:#8FD8BA; font-variant-numeric:tabular-nums; min-width:1.6em}
.rg-schluss span{flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.rg-schluss strong{color:#f1d98f; font-variant-numeric:tabular-nums}
.rg-schluss .leer{color:rgba(238,246,242,.45)}
.rg-schluss-koenige{display:grid; grid-template-columns:repeat(auto-fit, minmax(230px, 1fr)); gap:clamp(12px, 1.6vw, 34px)}
.rg-schluss-fuss{font-size:clamp(12px, min(1vw, 1.7vh), 20px); color:#f1d98f; opacity:.85}

/* Der offizielle Jahresabschluss auf der großen Anzeige. */
.jahresprobe-start{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:24px}
.jahresprobe-start p{color:var(--muted);max-width:720px;font-size:14px}
.jahres-fb{display:block}.jahres-fb-tasten{display:grid;grid-template-columns:1fr 1.4fr 1.4fr;gap:10px;margin-top:16px}
.rg-jahrespraesentation-modus{background:#082f29;color:#eef6f2}
.rg-jahrespraesentation-modus .kopf{display:none}
.rg-jahrespraesentation-modus .app,.rg-jahrespraesentation-modus .inhalt{max-width:none;width:100%;padding:0}
.rg-jahresprobe{min-height:100dvh;display:grid;grid-template-rows:auto 1fr auto;padding:clamp(16px,2.2vw,38px);background:radial-gradient(circle at 50% 35%,#155448 0,#0b3931 45%,#062720 100%);color:#eef6f2}
.rg-jahresprobe>header{display:flex;justify-content:space-between;align-items:center;color:#a9d5c6;font-size:clamp(12px,1.1vw,18px);font-weight:800;letter-spacing:.1em}
.rg-jahresprobe>main{display:grid;place-items:center;min-height:0;padding:clamp(18px,3vh,44px)}
.rg-jahresprobe>footer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#a9d5c6;font-size:clamp(12px,1vw,18px)}
.rg-jahresprobe button{min-height:52px;border:1px solid rgba(216,241,232,.35);border-radius:12px;background:rgba(255,255,255,.08);color:#eef6f2;padding:10px 18px;font-weight:800;font-size:16px;cursor:pointer}
.rg-jahresprobe button.wichtig{background:#f1d98f;border-color:#f1d98f;color:#163c34}.rg-jahresprobe button:disabled{opacity:.25;cursor:default}
.rg-jahresprobe-fortschritt{display:flex;justify-content:center;gap:8px}.rg-jahresprobe-fortschritt i{width:clamp(12px,1.5vw,24px);height:5px;border-radius:9px;background:rgba(255,255,255,.18)}.rg-jahresprobe-fortschritt i.an{background:#8fd8ba}
.rg-jahresprobe-auftakt{text-align:center}.rg-jahresprobe-auftakt>span,.rg-jahresprobe-ehrung>span{display:block;color:#8fd8ba;font-size:clamp(16px,1.5vw,27px);font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.rg-jahresprobe-auftakt h2{max-width:1100px;margin:12px auto;font-size:clamp(55px,7.5vw,142px);line-height:.95;letter-spacing:-.05em;color:#fff5d6}.rg-jahresprobe-auftakt p{font-size:clamp(20px,2.1vw,38px);color:#d8f1e8}.rg-jahresprobe-auftakt small{display:block;margin-top:28px;color:#9bc7b9;font-size:clamp(14px,1.1vw,20px)}
.rg-jahresprobe-ehrung{text-align:center}.rg-jahresprobe-ehrung strong{display:block;margin:22px 0 12px;color:#fff5d6;font-size:clamp(48px,6vw,110px);line-height:1}.rg-jahresprobe-ehrung b{font-size:clamp(24px,2.7vw,48px);color:#d8f1e8}
.rg-jahresprobe-tafel{width:min(1050px,92vw);overflow:hidden;border:1px solid rgba(216,241,232,.25);border-radius:22px;background:rgba(2,25,21,.35);box-shadow:0 25px 70px rgba(0,0,0,.2)}.rg-jahresprobe-tafel>header{text-align:center;padding:clamp(15px,1.8vw,28px);color:#8fd8ba;font-size:clamp(20px,2vw,36px);font-weight:850;letter-spacing:.1em;text-transform:uppercase}.rg-jahresprobe-rang{display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:22px;min-height:clamp(80px,8vh,120px);padding:0 clamp(24px,3vw,54px);border-top:1px solid rgba(216,241,232,.16);font-size:clamp(25px,2.7vw,49px)}.rg-jahresprobe-rang b{color:#8fd8ba}.rg-jahresprobe-rang strong{color:#f1d98f;font-variant-numeric:tabular-nums}.rg-jahresprobe-rang.rang-1{background:linear-gradient(90deg,rgba(241,217,143,.16),transparent)}
.rg-jahresprobe-gesamt{width:100%;text-align:center}.rg-jahresprobe-gesamt>h2{margin-bottom:clamp(14px,2vh,28px);font-size:clamp(31px,3.5vw,64px);color:#fff5d6}.rg-jahresprobe-gesamt.finale>h2{color:#f1d98f}.rg-jahresprobe-ende h2{font-size:clamp(38px,5vw,90px)}
@media(max-width:700px){.jahresprobe-start{display:block}.jahresprobe-start>button{width:100%;margin-top:14px}.jahres-fb-tasten{grid-template-columns:1fr}.rg-jahresprobe-rang{grid-template-columns:45px 1fr;gap:8px}.rg-jahresprobe-rang strong{grid-column:2}.rg-jahresprobe>footer button{font-size:13px;padding:8px}}

/* Veröffentlichte Abschlüsse bleiben nach der Enthüllung für Mitglieder lesbar. */
.rg-archiv-jahr{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px;margin-bottom:18px}
.rg-archiv-jahr>header{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:18px}
.rg-archiv-jahr>header span{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.1em;font-weight:800}
.rg-archiv-jahr>header h2{font-size:42px;line-height:1}.rg-archiv-jahr>header small{color:var(--muted)}
.rg-archiv-raster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rg-archiv-tafel{border:1px solid var(--line);border-radius:13px;overflow:hidden}.rg-archiv-tafel h3{padding:13px 15px;background:var(--bg)}
.rg-archiv-tafel>div{display:grid;grid-template-columns:34px 1fr auto;gap:8px;padding:10px 15px;border-top:1px solid var(--line);align-items:baseline}
.rg-archiv-tafel b{color:var(--muted)}.rg-archiv-tafel strong{font-variant-numeric:tabular-nums}
.rg-archiv-jahr>footer{display:flex;gap:24px;flex-wrap:wrap;margin-top:18px;color:var(--muted)}.rg-archiv-jahr>footer strong{color:var(--text)}
@media(max-width:800px){.rg-archiv-raster{grid-template-columns:1fr}.rg-archiv-jahr>header{display:block}.rg-archiv-jahr>header small{display:block;margin-top:8px}}

/* ---------- Die Anzeige muss in EIN Bild passen ----------
   Entwurfsziel ist 1920 × 1080. Auf einem flachen Laptop (1366 × 768) lief die
   Tannenbaum-Tafel bisher unten heraus, und abgeschnitten wurden ausgerechnet die
   Mannschaftsnamen. Scrollen kann hier niemand — das Gerät hat keine Bedienung.
   Deshalb schrumpfen auf der Anzeige auch die Abstände mit der Bildschirmhöhe,
   nicht nur die Spielsteine. Auf 1080 Zeilen bleibt alles, wie es war. */
.rg-anzeigemodus .inhalt{padding:clamp(8px, 1.7vh, 22px) clamp(18px, 2vw, 34px)}
.rg-anzeigemodus .rg-seitenkopf{margin:0 0 clamp(8px, 2.4vh, 26px)}
.rg-anzeige .rg-seitenkopf h1{font-size:clamp(28px, min(3.4vw, 5.6vh), 62px)}
.rg-anzeige .rg-spiel{padding:clamp(10px, 2vh, 26px)}
.duell-heute{margin-top:.75rem;padding-top:.65rem;border-top:1px solid var(--line);color:var(--muted)}
.duell-heute p+p{margin-top:.35rem}
