:root{--bg:#f6f7fb;--surface:#fff;--text:#17192a;--muted:#6a6f82;--primary:#5c42e8;--primary-dark:#3f2ab8;--secondary:#13a58f;--border:#e2e5ef;--danger:#c43f4e;--warning:#fff7d9;--shadow:0 18px 50px rgba(31,35,65,.09);--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);line-height:1.55}a{color:inherit;text-decoration:none}.container{width:min(1180px,calc(100% - 40px));margin:0 auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}.header-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px;font-weight:850;font-size:1.1rem}.brand-logo{display:block;width:48px;height:48px;object-fit:cover;border-radius:15px;box-shadow:0 10px 24px rgba(55,35,190,.24);flex:0 0 auto}.brand-name{white-space:nowrap}.main-nav{display:flex;align-items:center;gap:22px;font-weight:700}.main-nav>a:not(.button):hover{color:var(--primary)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:13px 20px;background:var(--primary);color:#fff;font:inherit;font-weight:800;cursor:pointer;transition:.2s transform,.2s background,.2s box-shadow;box-shadow:0 10px 24px rgba(92,66,232,.18)}.button:hover{transform:translateY(-1px);background:var(--primary-dark)}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.button-secondary{background:#e9e5ff;color:var(--primary-dark);box-shadow:none}.button-secondary:hover{background:#ddd6ff}.button-ghost{background:transparent;color:var(--text);border:1px solid var(--border);box-shadow:none}.button-danger{background:#fff0f1;color:var(--danger);box-shadow:none}.button-small{padding:9px 13px;border-radius:10px;font-size:.9rem}.button-full{width:100%}.hero{padding:88px 0 72px;background:radial-gradient(circle at 15% 0,#eae5ff 0,transparent 38%),radial-gradient(circle at 90% 20%,#dff8f3 0,transparent 32%)}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center}.eyebrow{display:block;color:var(--primary);font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;font-weight:900;margin-bottom:12px}.hero h1,.page-heading h1{font-size:clamp(2.4rem,5vw,4.7rem);line-height:1.02;letter-spacing:-.055em;margin:0 0 24px}.hero-text{font-size:1.18rem;color:var(--muted);max-width:700px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.hero-panel{background:#17192a;padding:22px;border-radius:30px;display:grid;grid-template-columns:1fr 1fr;gap:14px;box-shadow:0 30px 80px rgba(23,25,42,.2);transform:rotate(1deg)}.mini-card{min-height:150px;padding:22px;border-radius:20px;background:#26293f;color:#fff;display:flex;flex-direction:column;justify-content:flex-end}.mini-card:nth-child(2),.mini-card:nth-child(3){background:#5c42e8}.mini-card strong{font-size:1.1rem}.mini-card span{font-size:.9rem;color:rgba(255,255,255,.7);margin-top:6px}.section{padding:72px 0}.section-soft{background:#ece9ff}.section-heading{max-width:720px;margin-bottom:34px}.section-heading h2,.cta-card h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.1;letter-spacing:-.04em;margin:0}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature-card,.panel,.auth-card,.status-card,.welcome-card,.action-card,.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.feature-card{padding:30px}.feature-card h3{font-size:1.25rem;margin:18px 0 8px}.feature-card p{color:var(--muted);margin:0}.feature-number{font-weight:900;color:var(--primary);font-size:.85rem}.cta-card{display:flex;align-items:center;justify-content:space-between;gap:30px;background:#17192a;color:#fff;padding:42px;border-radius:28px}.auth-page{min-height:calc(100vh - 160px);padding:62px 20px;display:grid;place-items:center}.auth-card{width:min(520px,100%);padding:36px}.auth-card.wide{width:min(820px,100%)}.auth-card h1{font-size:2rem;letter-spacing:-.035em;margin:0 0 8px}.install-brand{margin-bottom:28px}.muted{color:var(--muted)}.stack-form{display:grid;gap:18px;margin-top:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.form-grid .full{grid-column:1/-1}.form-grid h2{font-size:1.15rem;margin:14px 0 0;border-bottom:1px solid var(--border);padding-bottom:10px}label{display:grid;gap:7px;font-size:.92rem;font-weight:800}input,select,textarea{width:100%;border:1px solid #cfd3df;border-radius:12px;background:#fff;padding:12px 13px;color:var(--text);font:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(92,66,232,.1)}small{font-weight:500;color:var(--muted)}.auth-links{display:flex;justify-content:space-between;gap:18px;margin-top:22px;font-size:.9rem;color:var(--primary);font-weight:800}.alert{margin-top:18px;padding:14px 16px;border-radius:12px;border:1px solid}.alert-success{background:#e7fbf5;border-color:#b8ebdd;color:#176b5d}.alert-error{background:#fff0f1;border-color:#f3c3c8;color:#9a2b37}.alert-info{background:#edf3ff;border-color:#c7d8ff;color:#284d91}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:30px}.page-heading h1{font-size:clamp(2.2rem,4vw,3.6rem);margin-bottom:0}.dashboard-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:20px}.welcome-card,.action-card,.status-card{padding:30px}.welcome-card{background:linear-gradient(145deg,#1b1d31,#303452);color:#fff}.welcome-card h2{font-size:2rem;margin:8px 0}.action-card{display:flex;flex-direction:column;justify-content:flex-end;min-height:190px;transition:.2s transform,.2s border-color}.action-card:hover{transform:translateY(-3px);border-color:#bbb1fb}.action-card strong{font-size:1.2rem}.action-card span{color:var(--muted);margin-top:8px}.action-card.disabled{opacity:.68}.status-card.warning{background:var(--warning)}.badge{display:inline-flex;padding:6px 10px;border-radius:99px;font-size:.78rem;font-weight:900}.badge-active{background:#ddf8ed;color:#176b5d}.badge-pending{background:#fff0bc;color:#7a5a00}.badge-rejected,.badge-suspended{background:#ffe1e4;color:#99313c}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:24px}.stat-card{padding:24px}.stat-card span{color:var(--muted);font-weight:700}.stat-card strong{display:block;font-size:2.2rem;margin-top:8px}.panel{padding:28px}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.panel-header h2{margin:0}.panel-header p{margin:5px 0 0;color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:720px}th,td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--border);vertical-align:middle}th{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.inline-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.empty-state{text-align:center;background:#fff;border:1px dashed #cfd3df;border-radius:var(--radius);padding:52px}.empty-state.compact{padding:25px}.two-column-layout{display:grid;grid-template-columns:360px 1fr;gap:22px;align-items:start}.team-list{display:grid;gap:20px}.team-card{padding:26px}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.check-row{display:flex;align-items:center;gap:10px;padding:9px;border:1px solid var(--border);border-radius:10px;font-weight:650}.check-row input{width:auto}.icon-button{border:0;width:36px;height:36px;border-radius:10px;cursor:pointer;font-size:1.4rem}.icon-button.danger{background:#fff0f1;color:var(--danger)}fieldset{border:1px solid var(--border);border-radius:14px;padding:14px}legend{font-weight:850;padding:0 7px}.site-footer{border-top:1px solid var(--border);background:#fff}.footer-inner{min-height:80px;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:.88rem}@media(max-width:900px){.main-nav>a:not(.button){display:none}.hero-grid,.dashboard-grid,.two-column-layout{grid-template-columns:1fr}.hero-panel{transform:none}.feature-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}.two-column-layout>.panel{position:static}.page-heading{align-items:flex-start;flex-direction:column}.cta-card{align-items:flex-start;flex-direction:column}}@media(max-width:640px){.brand-logo{width:42px;height:42px;border-radius:13px}.container{width:min(100% - 24px,1180px)}.header-inner{height:68px}.brand-name{display:none}.hero{padding:58px 0}.hero h1{font-size:2.7rem}.hero-panel{grid-template-columns:1fr}.mini-card{min-height:110px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.stats-grid{grid-template-columns:1fr}.check-grid{grid-template-columns:1fr}.auth-card{padding:24px}.section{padding:52px 0}.footer-inner{flex-direction:column;justify-content:center;gap:5px}.auth-links{flex-direction:column}.main-nav{gap:10px}}

/* Projektversion 2: Termine und Rückmeldungen */
.narrow-container{width:min(860px,calc(100% - 40px))}.grow{flex:1}.dashboard-section-heading{margin-top:48px}.event-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.event-preview-card{display:flex;gap:16px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:18px;box-shadow:var(--shadow);transition:.2s transform,.2s border-color}.event-preview-card:hover{transform:translateY(-2px);border-color:#bbb1fb}.event-preview-card h3{margin:2px 0 5px}.event-preview-card p{margin:0 0 10px;color:var(--muted);font-size:.9rem}.event-preview-card.is-cancelled{opacity:.65}.event-date-box{width:64px;min-width:64px;height:68px;border-radius:16px;background:#ece9ff;color:var(--primary-dark);display:flex;flex-direction:column;align-items:center;justify-content:center}.event-date-box strong{font-size:1.55rem;line-height:1}.event-date-box span{font-size:.72rem;font-weight:850;margin-top:5px}.event-date-box.large{width:82px;min-width:82px;height:88px;border-radius:20px}.event-date-box.large strong{font-size:2rem}.event-target{color:var(--primary);font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.response-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:99px;font-size:.76rem;font-weight:850}.response-yes{background:#ddf8ed;color:#176b5d}.response-maybe{background:#fff2c8;color:#7a5a00}.response-no{background:#ffe1e4;color:#99313c}.response-open{background:#eef0f6;color:#626779}.event-list{display:grid;gap:22px}.event-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;scroll-margin-top:100px}.event-card.is-cancelled{opacity:.76}.event-card-main{display:flex;gap:22px;padding:28px}.event-content{flex:1}.event-content h2{margin:5px 0 12px;font-size:1.65rem}.event-topline{display:flex;align-items:center;gap:10px;justify-content:space-between}.event-meta{display:flex;flex-wrap:wrap;gap:8px 22px;color:var(--muted);font-size:.92rem}.event-description{margin:18px 0 0}.response-summary{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.event-response-box{border-top:1px solid var(--border);background:#fafaff;padding:22px 28px;display:grid;grid-template-columns:190px 1fr;gap:24px;align-items:start}.event-response-box .eyebrow{margin-bottom:3px}.response-form{display:grid;gap:13px}.response-note{font-size:.82rem}.response-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.response-button{-webkit-appearance:none;appearance:none;display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;border:1px solid var(--border);border-radius:12px;padding:12px 10px;font:inherit;font-weight:850;line-height:1.25;cursor:pointer;opacity:1;text-align:center;text-shadow:none;box-shadow:none}.response-button.yes{background:#effaf6;border-color:#9bdac7;color:#176b5d!important;-webkit-text-fill-color:#176b5d}.response-button.maybe{background:#fff8df;border-color:#ecd98f;color:#765700!important;-webkit-text-fill-color:#765700}.response-button.no{background:#fff1f2;border-color:#ebb3ba;color:#96333e!important;-webkit-text-fill-color:#96333e}.response-button.yes:hover,.response-button.yes:focus,.response-button.yes.selected{background:#ddf8ed;border-color:#69c5aa;color:#176b5d!important;-webkit-text-fill-color:#176b5d}.response-button.maybe:hover,.response-button.maybe:focus,.response-button.maybe.selected{background:#fff2c8;border-color:#dfbd4f;color:#765700!important;-webkit-text-fill-color:#765700}.response-button.no:hover,.response-button.no:focus,.response-button.no.selected{background:#ffe1e4;border-color:#df8d98;color:#96333e!important;-webkit-text-fill-color:#96333e}.response-button:focus-visible{outline:3px solid rgba(92,66,232,.22);outline-offset:2px}.past-events{margin-top:32px}.past-events>summary,.response-details>summary{cursor:pointer;font-weight:850;color:var(--primary);padding:14px 0}.compact-events{margin-top:8px}.event-card.compact{padding:16px 18px;display:flex;gap:16px;align-items:center;box-shadow:none}.event-card.compact h3{margin:2px 0}.event-card.compact p{margin:0;color:var(--muted)}.management-event-list{display:grid;gap:18px}.management-event-card{padding:24px}.management-event-card.is-cancelled{opacity:.72}.management-event-head{display:flex;gap:18px;align-items:center}.management-event-head h2{margin:4px 0}.management-event-head p{margin:0;color:var(--muted)}.management-actions{justify-content:flex-end}.management-actions form{margin:0}.management-summary{margin:18px 0 0;padding-top:16px;border-top:1px solid var(--border)}.response-details{margin-top:8px}.response-person-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}.response-person{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--border);border-radius:12px}.response-person>div{display:grid}.response-person span:not(.response-dot){font-size:.82rem;color:var(--muted)}.response-person small{margin-top:4px;color:var(--text)}.response-dot{width:10px;height:10px;border-radius:50%;margin-top:7px;background:#9aa0b1}.response-dot.yes{background:#20a679}.response-dot.maybe{background:#d7a91d}.response-dot.no{background:#cf4c5b}.event-editor-form{margin-top:0}
@media(max-width:900px){.event-preview-grid{grid-template-columns:1fr}.event-response-box{grid-template-columns:1fr}.management-event-head{align-items:flex-start;flex-wrap:wrap}.management-actions{width:100%;justify-content:flex-start}.response-person-list{grid-template-columns:1fr}}
@media(max-width:640px){.narrow-container{width:min(100% - 24px,860px)}.event-card-main{padding:20px;gap:14px;align-items:flex-start}.event-date-box.large{width:64px;min-width:64px;height:68px}.event-date-box.large strong{font-size:1.55rem}.event-content h2{font-size:1.3rem}.event-response-box{padding:20px}.response-buttons{grid-template-columns:1fr}.management-event-card{padding:18px}.management-event-head>.event-date-box{display:none}.event-preview-card{align-items:flex-start}}

/* Responsive Hauptnavigation */
.nav-toggle{display:none;width:44px;height:44px;border:1px solid var(--border);border-radius:12px;background:#fff;padding:10px;cursor:pointer}.nav-toggle span{display:block;height:2px;background:var(--text);margin:5px 0;border-radius:4px;transition:.2s transform,.2s opacity}.nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.is-open span:nth-child(2){opacity:0}.nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:900px){.nav-toggle{display:block;margin-left:auto}.header-inner{position:relative}.main-nav{display:none;position:absolute;top:calc(100% + 1px);right:0;left:0;background:#fff;border:1px solid var(--border);border-radius:0 0 18px 18px;box-shadow:var(--shadow);padding:14px;flex-direction:column;align-items:stretch;gap:4px}.main-nav.is-open{display:flex}.main-nav>a,.main-nav>a:not(.button){display:flex!important;padding:12px 14px;border-radius:10px}.main-nav>a:not(.button):hover{background:#f2f0ff}.main-nav .button{margin-top:4px}}

/* Projektversion 3: getrennte Uhrzeit, aufklappbare Teams und Kalender */
.response-none{background:#edf0f7;color:#596074}.management-deadline{font-size:.86rem!important;color:var(--primary)!important;font-weight:750}.date-time-card{border:1px solid var(--border);border-radius:18px;padding:20px;background:#fafaff}.date-time-card.optional-card{background:#fff}.date-time-card-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px}.date-time-card-heading h2{font-size:1.25rem;margin:0}.date-time-card-heading p{margin:0;color:var(--muted);font-size:.88rem}.date-time-card-heading .eyebrow{margin-bottom:3px}.date-time-grid{display:grid;grid-template-columns:1fr 220px;gap:16px}.time-input-window{border:1px solid #d8d2ff;background:#f1efff;border-radius:14px;padding:12px}.time-input-window input{background:#fff;font-size:1.08rem;font-weight:800}.optional-settings{border:1px solid var(--border);border-radius:18px;background:#fff;overflow:hidden}.optional-settings>summary{cursor:pointer;list-style:none;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.optional-settings>summary::-webkit-details-marker{display:none}.optional-settings>summary>span:first-child{display:grid;gap:3px}.optional-settings>summary strong{font-size:1.05rem}.optional-settings>summary small{font-weight:600}.optional-settings-state{display:inline-flex;padding:7px 11px;border-radius:99px;background:#ece9ff;color:var(--primary-dark);font-size:.78rem;font-weight:900}.optional-settings[open] .optional-settings-state{background:#ddf8ed;color:#176b5d}.optional-settings-content{border-top:1px solid var(--border);padding:20px;background:#fafaff}.optional-settings-content>p{margin:0 0 16px;color:var(--muted)}
.event-page-heading{align-items:center}.event-page-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}.view-toggle{display:inline-flex;background:#eceef5;border-radius:13px;padding:4px}.view-toggle-button{border:0;background:transparent;color:var(--muted);padding:10px 14px;border-radius:10px;font:inherit;font-weight:850;cursor:pointer}.view-toggle-button.is-active{background:#fff;color:var(--primary-dark);box-shadow:0 3px 12px rgba(31,35,65,.1)}.calendar-panel{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;border-bottom:1px solid var(--border)}.calendar-toolbar h2{margin:0;text-transform:capitalize}.calendar-toolbar .eyebrow{margin-bottom:3px}.calendar-navigation{display:flex;gap:8px}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#f6f7fb;border-bottom:1px solid var(--border)}.calendar-weekdays span{text-align:center;padding:10px;font-size:.78rem;font-weight:900;color:var(--muted);text-transform:uppercase}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-day{min-height:145px;padding:9px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff}.calendar-day:nth-child(7n){border-right:0}.calendar-day.is-outside-month{background:#fafbfe;color:#a4a8b5}.calendar-day.is-today{box-shadow:inset 0 0 0 2px var(--primary)}.calendar-day-number{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;font-size:.86rem;font-weight:900}.calendar-day.is-today .calendar-day-number{background:var(--primary);color:#fff}.calendar-day-events{display:grid;gap:5px;margin-top:7px}.calendar-event{display:grid;grid-template-columns:auto 1fr;gap:5px;align-items:center;border-radius:8px;padding:6px 7px;font-size:.72rem;line-height:1.2;overflow:hidden}.calendar-event strong{font-size:.68rem}.calendar-event span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event.is-club{background:#e8f7f4;color:#126b5e}.calendar-event.is-team{background:#ece9ff;color:#3f2ab8}.calendar-event.is-cancelled{background:#ffe5e8;color:#99313c;text-decoration:line-through}.calendar-empty{padding:0 24px 22px;margin:0}.calendar-legend{display:flex;gap:20px;flex-wrap:wrap;margin-top:14px;color:var(--muted);font-size:.84rem;font-weight:750}.calendar-legend span{display:flex;align-items:center;gap:7px}.calendar-legend-dot{width:12px;height:12px;border-radius:4px}.calendar-legend-dot.club{background:#cceee7}.calendar-legend-dot.team{background:#d9d2ff}.calendar-legend-dot.cancelled{background:#ffcbd1}
.team-page-layout{display:grid;grid-template-columns:330px 1fr;gap:24px;align-items:start}.team-create-panel{position:sticky;top:100px}.team-overview{min-width:0}.compact-heading{margin-bottom:18px}.compact-heading h2{font-size:2rem!important}.compact-heading p{color:var(--muted);margin:8px 0 0}.team-accordion{background:#fff;border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);overflow:hidden;margin-bottom:16px}.team-accordion>summary{list-style:none;cursor:pointer;padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:20px}.team-accordion>summary::-webkit-details-marker{display:none}.team-accordion[open]>summary{border-bottom:1px solid var(--border);background:#fafaff}.team-summary-main{display:flex;align-items:center;gap:14px;min-width:0}.team-summary-main h2{font-size:1.25rem;margin:0}.team-summary-main p{margin:3px 0 0;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:440px}.team-summary-icon{display:grid;place-items:center;width:44px;height:44px;min-width:44px;border-radius:14px;background:#ece9ff;color:var(--primary-dark);font-weight:950}.team-summary-meta{display:flex;align-items:center;gap:18px;color:var(--muted);font-size:.82rem}.team-summary-meta>span{display:grid}.team-summary-meta strong{color:var(--text);max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-expand-label{display:block!important;color:var(--primary)!important;font-weight:900}.team-accordion[open] .team-expand-label::after{content:' schließen'}.team-accordion:not([open]) .team-expand-label::after{content:''}.team-accordion-content{padding:22px}.team-section{border:1px solid var(--border);border-radius:16px;padding:18px}.team-section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}.team-section-heading h3,.team-action-box h3{margin:0}.team-section-heading .eyebrow,.team-action-box .eyebrow{margin-bottom:3px}.member-count-badge{display:grid;place-items:center;min-width:34px;height:34px;border-radius:11px;background:#ece9ff;color:var(--primary-dark);font-weight:900}.team-member-list{display:grid;gap:9px}.team-member-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px;border:1px solid var(--border);border-radius:13px;background:#fff}.team-member-name{display:flex;align-items:center;gap:11px;min-width:0}.team-member-name>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.member-avatar{display:grid;place-items:center;width:38px;height:38px;min-width:38px;border-radius:12px;background:#f0f1f6;color:var(--text);font-size:.76rem;font-weight:950}.team-management-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.team-action-box{background:#fafaff}.compact-form{margin-top:14px;gap:12px}.team-danger-zone{margin-top:16px;padding:15px 17px;border:1px solid #f2c8cd;border-radius:14px;background:#fff7f8;display:flex;align-items:center;justify-content:space-between;gap:20px}.team-danger-zone>div{display:grid}.team-danger-zone span{color:var(--muted);font-size:.84rem}
@media(max-width:1050px){.team-page-layout{grid-template-columns:1fr}.team-create-panel{position:static}.team-summary-meta>span:nth-child(2){display:none}}@media(max-width:900px){.date-time-grid{grid-template-columns:1fr 180px}.event-page-heading{align-items:flex-start}.event-page-actions{justify-content:flex-start}.calendar-day{min-height:115px;padding:6px}.calendar-event{grid-template-columns:1fr}.calendar-event strong{display:none}.team-management-grid{grid-template-columns:1fr}}@media(max-width:700px){.date-time-card-heading{align-items:flex-start;flex-direction:column}.date-time-grid{grid-template-columns:1fr}.time-input-window{padding:10px}.event-page-actions{width:100%}.view-toggle{width:100%}.view-toggle-button{flex:1}.calendar-panel{overflow-x:auto}.calendar-toolbar,.calendar-weekdays,.calendar-grid{min-width:760px}.team-accordion>summary{align-items:flex-start;flex-direction:column}.team-summary-meta{width:100%;justify-content:space-between}.team-summary-main p{max-width:250px}.team-member-row{align-items:flex-start;flex-direction:column}.team-member-row form,.team-member-row .button{width:100%}.team-danger-zone{align-items:flex-start;flex-direction:column}.team-danger-zone form,.team-danger-zone .button{width:100%}}

/* Projektversion 4: Umfragen und Abstimmungen */
.dashboard-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.single-column-previews{grid-template-columns:1fr}.dashboard-poll-list{display:grid;gap:14px}.dashboard-poll-card{display:flex;justify-content:space-between;align-items:center;gap:18px;background:#fff;border:1px solid var(--border);border-radius:18px;padding:20px;box-shadow:var(--shadow);transition:.2s transform,.2s border-color}.dashboard-poll-card:hover{transform:translateY(-2px);border-color:#bbb1fb}.dashboard-poll-card h3{margin:5px 0}.dashboard-poll-card p{margin:0;color:var(--muted);font-size:.88rem}.poll-list,.management-poll-list{display:grid;gap:20px}.poll-card{scroll-margin-top:100px}.poll-card-head,.management-poll-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.poll-card-head h2,.management-poll-head h2{font-size:1.65rem;line-height:1.2;margin:8px 0}.poll-description{color:var(--muted);margin:10px 0 0}.poll-meta-box{display:grid;gap:4px;min-width:180px;background:#f3f1ff;border:1px solid #ddd7ff;border-radius:15px;padding:14px 16px;color:var(--primary-dark)}.poll-meta-box span{font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.poll-meta-box strong{font-size:.9rem}.poll-vote-form{margin-top:24px}.poll-options{display:grid;gap:12px}.poll-option{display:grid;gap:9px;border:1px solid var(--border);border-radius:15px;padding:15px 16px;background:#fff;cursor:pointer;transition:.2s border-color,.2s background}.poll-option:hover{border-color:#bcb2fa}.poll-option.is-selected{border-color:#8f7af2;background:#faf9ff}.poll-option-choice{display:flex;align-items:center;gap:11px}.poll-option-choice input{width:18px;height:18px;margin:0;accent-color:var(--primary)}.poll-option-choice small{margin-left:auto;color:var(--primary);font-weight:850}.poll-result-line{display:block;height:8px;background:#ebeef5;border-radius:99px;overflow:hidden}.poll-result-line i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),#8d73ff);border-radius:99px}.poll-result-text{font-size:.8rem;color:var(--muted);font-weight:750}.poll-vote-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:18px}.poll-archive{margin-top:28px}.compact-polls{margin-top:18px}.poll-card.compact{box-shadow:none}.management-poll-card{display:grid;gap:22px}.management-poll-options{display:grid;gap:13px}.management-poll-option{border:1px solid var(--border);border-radius:15px;padding:15px}.management-poll-option-head{display:flex;justify-content:space-between;gap:18px;margin-bottom:9px}.management-poll-option-head span{color:var(--muted);font-size:.84rem;font-weight:750}.poll-voter-details{margin-top:10px}.poll-voter-details summary{cursor:pointer;color:var(--primary);font-weight:800;font-size:.84rem}.poll-voter-details ul{margin:10px 0 0;padding-left:20px;columns:2}.poll-voter-details p{margin:8px 0 0}.poll-editor-form{padding:28px}.compact-header{margin-bottom:15px}.poll-option-editor{border:1px solid var(--border);border-radius:18px;padding:20px;background:#fafaff}.poll-option-inputs{display:grid;gap:10px}.poll-option-input-row{display:grid;grid-template-columns:38px 1fr 38px;gap:10px;align-items:center}.poll-option-number{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#ece9ff;color:var(--primary-dark);font-weight:900}.optional-field{border:1px solid var(--border);border-radius:18px;background:#fff;overflow:hidden}.optional-field>summary{cursor:pointer;list-style:none;padding:17px 19px;font-weight:900}.optional-field>summary::-webkit-details-marker{display:none}.optional-field>summary span{color:var(--muted);font-size:.8rem;margin-left:7px}.optional-field-content{display:grid;gap:15px;border-top:1px solid var(--border);padding:19px;background:#fafaff}.simple-check{display:flex;width:max-content}.simple-check input{width:auto}.date-time-grid.is-disabled{opacity:.5}.form-actions{display:flex;gap:12px;flex-wrap:wrap}.results-only .poll-option{cursor:default}.results-only .poll-option:hover{border-color:var(--border)}

@media(max-width:1180px){.nav-toggle{display:block;margin-left:auto}.header-inner{position:relative}.main-nav{display:none;position:absolute;top:calc(100% + 1px);right:0;left:0;background:#fff;border:1px solid var(--border);border-radius:0 0 18px 18px;box-shadow:var(--shadow);padding:14px;flex-direction:column;align-items:stretch;gap:4px}.main-nav.is-open{display:flex}.main-nav>a,.main-nav>a:not(.button){display:flex!important;padding:12px 14px;border-radius:10px}.main-nav>a:not(.button):hover{background:#f2f0ff}.main-nav .button{margin-top:4px}}
@media(max-width:900px){.dashboard-content-grid{grid-template-columns:1fr}.poll-card-head,.management-poll-head{flex-direction:column}.poll-meta-box{width:100%}.management-actions{width:100%}.poll-voter-details ul{columns:1}}
@media(max-width:640px){.poll-vote-footer,.dashboard-poll-card,.management-poll-option-head{align-items:flex-start;flex-direction:column}.poll-vote-footer .button{width:100%}.poll-option-input-row{grid-template-columns:34px 1fr 34px}.poll-editor-form{padding:20px}}

/* Projektversion 5 */
.public-hero{padding-bottom:54px}.quick-club-section{padding-top:28px}.quick-club-card{display:grid;grid-template-columns:.8fr 1.2fr;gap:38px;align-items:center;background:#17192a;color:#fff;border-radius:28px;padding:38px}.quick-club-card h2{font-size:2rem;margin:0 0 10px}.quick-club-card p{color:rgba(255,255,255,.7)}.club-finder-form{display:grid;gap:16px}.club-finder-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.club-search-wrap{position:relative}.club-search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;color:var(--text);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);z-index:30;max-height:280px;overflow:auto;padding:6px}.club-search-result{display:flex;width:100%;justify-content:space-between;gap:12px;text-align:left;border:0;background:#fff;padding:11px;border-radius:10px;cursor:pointer}.club-search-result:hover{background:#f1efff}.club-search-result span{color:var(--muted)}.club-search-status{display:block;padding:12px;color:var(--muted)}.expanded-features{grid-template-columns:repeat(3,1fr)}.section-heading p{color:var(--muted)}.intro-hero{background:linear-gradient(145deg,#17192a,#353956);color:#fff}.intro-hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:44px;align-items:center}.intro-hero h1{font-size:clamp(2.5rem,5vw,4.6rem);line-height:1.05;margin:0}.intro-highlight{display:grid;gap:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);padding:28px;border-radius:22px}.intro-highlight span{color:rgba(255,255,255,.72)}.intro-content{display:grid;gap:18px}.intro-block{display:grid;grid-template-columns:70px 1fr;gap:24px;background:#fff;border:1px solid var(--border);border-radius:20px;padding:28px}.intro-block h2{margin:0 0 8px}.intro-block p{margin:0;color:var(--muted)}.verification-card{text-align:center}.verification-icon{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 20px;border-radius:50%;background:#ddf8ed;color:#176b5d;font-size:2rem;font-weight:900}.verification-icon.is-error{background:#ffe1e4;color:#99313c}.stack-actions{display:grid;gap:10px;margin-top:20px}.top-gap{margin-top:10px}.developer-verification-link{overflow-wrap:anywhere;background:#fff7d9;padding:14px;border-radius:12px;margin:14px 0}.developer-verification-link a{display:block;color:var(--primary)}.account-layout{display:grid;grid-template-columns:1fr 340px;gap:24px;align-items:start}.account-main{display:grid;gap:20px}.account-sidebar{display:grid;gap:20px;position:sticky;top:100px}.app-install-card{background:linear-gradient(145deg,#17192a,#303452);color:#fff}.app-install-card p{color:rgba(255,255,255,.72)}.app-install-help{font-size:.83rem}.app-install-help.is-highlighted{background:#fff7d9;color:#604900;padding:10px;border-radius:10px}.account-memberships{display:grid;gap:12px}.account-memberships>div{display:grid;padding:12px;border:1px solid var(--border);border-radius:12px}.account-memberships span{color:var(--muted);font-size:.84rem}.top-panel-gap{margin-top:24px}.platform-stats{grid-template-columns:repeat(4,1fr)}.admin-contact-list{display:grid;gap:8px}.admin-contact-list>div{display:grid}.admin-contact-list a{color:var(--primary);font-size:.85rem}.club-delete-panel{margin-top:24px;border-color:#efbcc3;background:#fffafb}.danger-eyebrow{color:var(--danger)}.category-layout{grid-template-columns:340px 1fr}.category-list{display:grid;gap:12px}.category-row{border:1px solid var(--border);border-radius:15px;padding:14px}.category-edit-form{display:grid;grid-template-columns:1fr auto;gap:10px}.category-row-meta{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:10px;color:var(--muted);font-size:.85rem}.event-category-badge{display:inline-flex;padding:5px 9px;border-radius:99px;background:#e7fbf5;color:#176b5d;font-size:.75rem;font-weight:900}.team-edit-toolbar{display:flex;justify-content:flex-end;margin-bottom:14px}.team-edit-section{margin-bottom:16px}.poll-accordion-list{display:grid;gap:16px}.poll-accordion{background:#fff;border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);overflow:hidden;scroll-margin-top:100px}.poll-accordion>summary{list-style:none;cursor:pointer;padding:22px;display:grid;grid-template-columns:1fr minmax(250px,390px) auto;gap:24px;align-items:center}.poll-accordion>summary::-webkit-details-marker{display:none}.poll-accordion[open]>summary{background:#fafaff;border-bottom:1px solid var(--border)}.poll-summary-main h2{margin:7px 0;font-size:1.45rem}.poll-summary-deadline{color:var(--muted);font-size:.86rem;font-weight:700}.poll-summary-preview{display:grid;gap:8px}.poll-mini-bar{height:10px;background:#eceef5;border-radius:99px;overflow:hidden;display:flex}.poll-mini-bar span{height:100%;background:#5c42e8;border-right:2px solid #fff}.poll-mini-bar span:nth-child(2){background:#13a58f}.poll-mini-bar span:nth-child(3){background:#e6a431}.poll-mini-bar span:nth-child(4){background:#8d73ff}.poll-mini-empty{width:100%!important;background:#eceef5!important}.poll-mini-percentages{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.78rem;font-weight:800}.poll-summary-meta{display:flex;justify-content:space-between;gap:12px;font-size:.82rem}.poll-summary-meta span{color:var(--muted)}.accordion-chevron{font-size:1.7rem;color:var(--primary);transition:.2s transform}.poll-accordion[open] .accordion-chevron{transform:rotate(180deg)}.poll-accordion-content{padding:22px}.poll-management-actions{margin-bottom:18px}.poll-accordion.is-ended{opacity:.92}.cookie-banner{position:fixed;left:20px;right:20px;bottom:20px;z-index:100;background:#17192a;color:#fff;border-radius:20px;box-shadow:0 20px 70px rgba(0,0,0,.3)}.cookie-banner-inner{max-width:1180px;margin:auto;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:24px}.cookie-banner p{margin:5px 0 0;color:rgba(255,255,255,.7)}.calendar-event small{grid-column:1/-1;font-size:.68rem;opacity:.8}
@media(max-width:1000px){.quick-club-card,.intro-hero-grid,.account-layout{grid-template-columns:1fr}.account-sidebar{position:static}.platform-stats{grid-template-columns:1fr 1fr}.poll-accordion>summary{grid-template-columns:1fr auto}.poll-summary-preview{grid-column:1/-1}.expanded-features{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.club-finder-grid,.expanded-features{grid-template-columns:1fr}.quick-club-card{padding:24px}.intro-block{grid-template-columns:1fr}.platform-stats{grid-template-columns:1fr}.category-row-meta,.cookie-banner-inner{align-items:stretch;flex-direction:column}.category-edit-form{grid-template-columns:1fr}.poll-accordion>summary{grid-template-columns:1fr auto;padding:17px}.poll-summary-preview{grid-column:1/-1}.poll-summary-main h2{font-size:1.2rem}.cookie-banner{left:10px;right:10px;bottom:10px}}


/* Verwaltung-Dropdown in der Hauptnavigation */
.nav-dropdown{position:relative;margin:0;padding:0}
.nav-dropdown>summary{list-style:none;display:flex;align-items:center;gap:7px;padding:9px 0;cursor:pointer;font-weight:700;color:var(--text);user-select:none}
.nav-dropdown>summary::-webkit-details-marker{display:none}
.nav-dropdown>summary::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .18s ease}
.nav-dropdown[open]>summary{color:var(--primary)}
.nav-dropdown[open]>summary::after{transform:rotate(225deg) translate(-2px,-2px)}
.nav-dropdown>summary:hover{color:var(--primary)}
.nav-dropdown-menu{position:absolute;top:calc(100% + 12px);right:0;z-index:70;display:grid;min-width:245px;padding:9px;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 20px 55px rgba(31,35,65,.16)}
.nav-dropdown-menu::before{content:"";position:absolute;top:-13px;left:0;right:0;height:13px}
.nav-dropdown-menu a{display:flex;padding:11px 13px;border-radius:10px;color:var(--text);font-size:.94rem;white-space:nowrap}
.nav-dropdown-menu a:hover{background:#f2f0ff;color:var(--primary)}
@media (max-width:1180px){
  .nav-dropdown{width:100%}
  .nav-dropdown>summary{justify-content:space-between;padding:12px 14px;border-radius:10px}
  .nav-dropdown>summary:hover,.nav-dropdown[open]>summary{background:#f2f0ff}
  .nav-dropdown-menu{position:static;min-width:0;margin:3px 0 8px 12px;padding:5px 0 5px 10px;background:transparent;border:0;border-left:2px solid #ded8ff;border-radius:0;box-shadow:none}
  .nav-dropdown-menu a{padding:10px 12px;white-space:normal;font-size:.92rem}
}

/* Projektversion 7: Terminverwaltung, Kalender und integrierte Kategorien */
.category-manager-panel{padding:0;overflow:hidden;margin-bottom:26px;scroll-margin-top:100px}
.category-manager-summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px;padding:22px 26px;user-select:none}
.category-manager-summary::-webkit-details-marker{display:none}
.category-manager-summary:hover{background:#fafaff}
.category-manager-panel[open]>.category-manager-summary{background:#fafaff;border-bottom:1px solid var(--border)}
.category-manager-summary .eyebrow{margin-bottom:4px}
.category-manager-summary strong{display:block;font-size:1.15rem}
.category-manager-count{display:inline-flex;align-items:center;padding:6px 10px;border-radius:99px;background:#ece9ff;color:var(--primary-dark);font-size:.8rem;font-weight:900;white-space:nowrap}
.category-manager-panel[open]>.category-manager-summary .accordion-chevron{transform:rotate(180deg)}
.category-manager-content{display:grid;grid-template-columns:340px 1fr;background:#fff}
.category-create-box,.category-existing-box{padding:26px}
.category-create-box{border-right:1px solid var(--border);background:#fcfcff}
.category-manager-content .panel-header{margin-bottom:16px}
.category-manager-content .stack-form{margin-top:0}
#management-event-list-view,#management-event-calendar-view{margin-top:22px}
#management-event-calendar-view .calendar-event:hover{filter:brightness(.97);transform:translateY(-1px)}
#management-event-calendar-view .calendar-toolbar p{margin:5px 0 0}

@media(max-width:1000px){
  .category-manager-content{grid-template-columns:1fr}
  .category-create-box{border-right:0;border-bottom:1px solid var(--border)}
}
@media(max-width:700px){
  .category-manager-summary{grid-template-columns:1fr auto;padding:18px}
  .category-manager-count{grid-column:1/-1;width:max-content}
  .category-create-box,.category-existing-box{padding:18px}
}

/* Projektversion 8: kompakte Kategorien, Dauerlogin und erweiterte Cookie-Auswahl */
.category-row-inline{display:grid;grid-template-columns:minmax(220px,1fr) auto auto auto auto;gap:12px;align-items:center}
.category-update-form{display:none}
.category-name-input{min-width:0}
.category-event-count{white-space:nowrap;color:var(--muted);font-size:.86rem;font-weight:750}
.category-sort-form,.category-delete-form{margin:0;white-space:nowrap}
.category-sort-form{flex-wrap:nowrap}
.category-save-button{white-space:nowrap}
.poll-anonymous-note{margin:11px 0 0;padding:10px 12px;border-radius:10px;background:#f4f5f9;color:var(--muted);font-size:.84rem;font-weight:700}
.remember-login-row{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--border);border-radius:13px;background:#fafaff;cursor:pointer}
.remember-login-row input{width:auto;margin-top:3px}
.remember-login-row span{display:grid;gap:3px}.remember-login-row strong{font-size:.93rem}.remember-login-row small{line-height:1.4}
.footer-links{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.footer-link-button{border:0;padding:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.footer-link-button:hover,.footer-links a:hover{color:var(--primary)}
.cookie-banner{left:20px;right:20px;bottom:20px;z-index:110;background:#17192a;color:#fff;border:1px solid rgba(255,255,255,.1)}
.cookie-banner-inner{padding:22px;align-items:flex-end}
.cookie-banner-copy{max-width:760px}.cookie-banner-copy strong{font-size:1.1rem}.cookie-banner-copy p{margin:6px 0 5px}.cookie-banner-copy a{color:#cfc6ff;font-weight:800;font-size:.86rem;text-decoration:underline;text-underline-offset:3px}
.cookie-banner-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.button-cookie-secondary{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.24);box-shadow:none}.button-cookie-secondary:hover{background:rgba(255,255,255,.18)}
.cookie-modal[hidden]{display:none}.cookie-modal{position:fixed;inset:0;z-index:130;display:grid;place-items:center;padding:20px}.cookie-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(17,19,34,.7);backdrop-filter:blur(4px);cursor:default}.cookie-modal-dialog{position:relative;width:min(760px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:24px;padding:28px;box-shadow:0 35px 100px rgba(0,0,0,.35)}.cookie-modal-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.cookie-modal-head h2{margin:0;font-size:2rem;letter-spacing:-.035em}.cookie-modal-dialog>p{color:var(--muted)}.cookie-category-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;padding:18px 0;border-top:1px solid var(--border)}.cookie-category-row strong{display:block}.cookie-category-row p{margin:4px 0 0;color:var(--muted);font-size:.88rem}.cookie-switch{display:flex;align-items:center;gap:8px;white-space:nowrap}.cookie-switch input{width:auto}.cookie-switch span{font-size:.82rem}.cookie-modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding-top:20px;border-top:1px solid var(--border)}.cookie-modal-legal{text-align:right;font-size:.82rem}.cookie-modal-legal a{color:var(--primary);font-weight:800}.cookie-modal-open{overflow:hidden}
.privacy-hero{padding-bottom:34px;background:radial-gradient(circle at 15% 0,#eae5ff 0,transparent 45%)}.privacy-hero h1{font-size:clamp(2.4rem,5vw,4rem);line-height:1.05;letter-spacing:-.05em;margin:0 0 18px}.privacy-content{display:grid;gap:20px}.privacy-section h2{margin:0 0 12px;font-size:1.65rem}.privacy-section h3{margin:0 0 6px}.privacy-section p{color:var(--muted)}.privacy-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.privacy-grid>div{padding:16px;border:1px solid var(--border);border-radius:14px;background:#fafaff}.privacy-list{display:grid;gap:9px;padding-left:22px}.privacy-actions{margin-top:18px}.privacy-table code{white-space:nowrap}.privacy-source-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.privacy-source-links a{color:var(--primary);font-weight:800}.privacy-contact-placeholder{border-color:#e8cf85;background:#fffdf5}
@media(max-width:1050px){.category-row-inline{grid-template-columns:minmax(200px,1fr) auto auto}.category-save-button,.category-delete-form{justify-self:start}.category-save-button{grid-column:2}.category-delete-form{grid-column:3}.cookie-banner-inner{align-items:stretch;flex-direction:column}.cookie-banner-actions{justify-content:flex-start}}
@media(max-width:700px){.category-row-inline{grid-template-columns:1fr auto}.category-name-input{grid-column:1/-1}.category-event-count{grid-column:1}.category-sort-form{grid-column:2}.category-save-button{grid-column:1}.category-delete-form{grid-column:2}.cookie-banner{left:10px;right:10px;bottom:10px}.cookie-banner-inner{padding:17px}.cookie-banner-actions{display:grid;grid-template-columns:1fr}.cookie-modal{padding:10px}.cookie-modal-dialog{padding:20px;max-height:calc(100vh - 20px)}.cookie-category-row{grid-template-columns:1fr}.cookie-modal-actions{display:grid}.privacy-grid{grid-template-columns:1fr}.footer-links{justify-content:center}.privacy-table{min-width:650px}}

/* Projektversion 10: kompakter Handykalender, Mitgliederverwaltung und News */
.member-action-list{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.member-action-list form{margin:0}.member-action-note{font-size:.82rem}.member-team-tags{display:flex;gap:6px;flex-wrap:wrap}.member-team-tags span{display:inline-flex;padding:5px 8px;border-radius:99px;background:#f0f1f6;color:#555c70;font-size:.75rem;font-weight:800}.member-table{min-width:1220px}.member-mobile-overview{display:none}

.news-page-heading{align-items:center}.news-page-heading p{max-width:720px;margin:10px 0 0}.news-create-panel{padding:0;overflow:hidden;margin-bottom:24px;scroll-margin-top:100px}.news-create-panel>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;padding:22px 26px}.news-create-panel>summary::-webkit-details-marker{display:none}.news-create-panel>summary>div{display:grid}.news-create-panel>summary .eyebrow{margin-bottom:4px}.news-create-panel>summary strong{font-size:1.15rem}.news-create-panel>summary small{margin-top:3px}.news-create-panel[open]>summary{background:#fafaff;border-bottom:1px solid var(--border)}.news-create-panel[open] .accordion-chevron{transform:rotate(180deg)}.news-create-content{padding:0 26px 26px}.news-feed{display:grid;gap:18px}.news-card{background:#fff;border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);overflow:hidden;scroll-margin-top:100px}.news-card>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;padding:22px 24px}.news-card>summary::-webkit-details-marker{display:none}.news-card[open]>summary{background:#fafaff;border-bottom:1px solid var(--border)}.news-card[open] .accordion-chevron{transform:rotate(180deg)}.news-summary-main{min-width:0}.news-summary-main h2{margin:8px 0 6px;font-size:1.45rem}.news-summary-main>p{margin:0;color:var(--muted)}.news-summary-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:.78rem;font-weight:750}.news-audience-badge{display:inline-flex;align-items:center;width:max-content;padding:5px 9px;border-radius:99px;font-size:.72rem;font-weight:900}.news-audience-badge.audience-club{background:#e7fbf5;color:#176b5d}.news-audience-badge.audience-team{background:#ece9ff;color:#3f2ab8}.news-audience-badge.audience-admins{background:#fff2c8;color:#775800}.news-author-line{display:flex;align-items:center;gap:8px;margin-top:11px;font-size:.82rem;font-weight:800}.news-author-line small{padding:3px 7px;border-radius:99px;background:#f0f1f6}.news-summary-side{display:flex;align-items:center;gap:14px}.news-comment-count{white-space:nowrap;color:var(--primary);font-size:.82rem;font-weight:900}.news-card-content{padding:24px}.news-body{font-size:1rem;line-height:1.7;overflow-wrap:anywhere}.news-delete-post{margin-top:18px}.news-comments{margin-top:24px;padding-top:22px;border-top:1px solid var(--border)}.news-comments-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.news-comments-heading h3{margin:0;font-size:1.35rem}.news-comments-heading .eyebrow{margin-bottom:3px}.news-comments-heading>span{display:grid;place-items:center;min-width:34px;height:34px;border-radius:11px;background:#ece9ff;color:var(--primary-dark);font-weight:900}.news-comment-list{display:grid;gap:10px;margin-top:16px}.news-comment{padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:#fafaff}.news-comment-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.news-comment-head>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.news-comment-head small{padding:2px 6px;border-radius:99px;background:#eceef5}.news-comment-head time{color:var(--muted);font-size:.76rem;white-space:nowrap}.news-comment p{margin:9px 0 0}.news-inline-delete{border:0;background:transparent;color:var(--danger);font:inherit;font-size:.76rem;font-weight:800;padding:7px 0 0;cursor:pointer}.news-comment-form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;margin-top:18px;padding:16px;border-radius:16px;background:#f5f4ff}.news-comment-form label{min-width:0}.news-comment-form textarea{min-height:80px}.dashboard-news-section{grid-column:1/-1}.dashboard-news-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.dashboard-news-card{display:grid;gap:8px;background:#fff;border:1px solid var(--border);border-radius:18px;padding:20px;box-shadow:var(--shadow);transition:.2s transform,.2s border-color}.dashboard-news-card:hover{transform:translateY(-2px);border-color:#bbb1fb}.dashboard-news-card h3{margin:0;font-size:1.2rem}.dashboard-news-card>p{margin:0;color:var(--muted)}.dashboard-news-footer{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:.78rem}.dashboard-news-footer strong{color:var(--primary)}

@media(max-width:760px){
  .member-desktop-overview{display:none}.member-mobile-overview{display:grid;gap:12px}.member-mobile-card{background:#fff;border:1px solid var(--border);border-radius:17px;box-shadow:var(--shadow);overflow:hidden}.member-mobile-card>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:16px}.member-mobile-card>summary::-webkit-details-marker{display:none}.member-mobile-card>summary>div{display:grid;min-width:0}.member-mobile-card>summary strong{font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-mobile-card>summary div span{color:var(--muted);font-size:.78rem}.member-mobile-card[open]>summary{background:#fafaff;border-bottom:1px solid var(--border)}.member-mobile-card[open] .accordion-chevron{transform:rotate(180deg)}.member-mobile-content{padding:16px}.member-detail-list{display:grid;gap:0;margin:0}.member-detail-list>div{display:grid;grid-template-columns:125px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid var(--border)}.member-detail-list dt{color:var(--muted);font-size:.76rem;font-weight:850}.member-detail-list dd{margin:0;min-width:0;overflow-wrap:anywhere;font-size:.86rem}.member-mobile-actions{margin-top:18px}.member-mobile-actions .member-action-list{display:grid}.member-mobile-actions form,.member-mobile-actions .button{width:100%}
  .dashboard-news-grid{grid-template-columns:1fr}.news-page-heading{align-items:flex-start}.news-page-heading .button{width:100%}.news-card>summary{padding:17px;gap:10px}.news-summary-main h2{font-size:1.18rem}.news-summary-main>p{font-size:.86rem}.news-summary-side{align-self:start}.news-comment-count{display:none}.news-card-content{padding:17px}.news-comment-head{flex-direction:column;gap:3px}.news-comment-form{grid-template-columns:1fr}.news-comment-form .button{width:100%}.news-create-panel>summary{padding:18px}.news-create-content{padding:0 18px 18px}
}

@media(max-width:700px){
  .calendar-panel{overflow:hidden}.calendar-toolbar{min-width:0!important;width:100%;align-items:flex-start;flex-direction:column;padding:13px 10px;gap:10px}.calendar-toolbar p{font-size:.72rem}.calendar-navigation{width:100%;display:grid;grid-template-columns:40px 1fr 40px}.calendar-navigation .button{padding:7px 5px;min-width:0}.calendar-weekdays,.calendar-grid{width:100%;min-width:0!important}.calendar-weekdays span{padding:6px 0;font-size:.55rem}.calendar-day{min-height:74px;padding:2px;overflow:hidden}.calendar-day-number{width:18px;height:18px;border-radius:6px;font-size:.58rem}.calendar-day-events{gap:2px;margin-top:2px}.calendar-event{display:block;min-width:0;padding:3px 2px;border-radius:4px;font-size:.5rem;line-height:1.08;text-align:left}.calendar-event strong{display:block;font-size:.45rem;line-height:1;margin-bottom:1px}.calendar-event span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event small{display:none}.calendar-legend{gap:9px;font-size:.68rem}.calendar-legend-dot{width:9px;height:9px}
}

@media(max-width:390px){.calendar-day{min-height:66px}.calendar-event{font-size:.46rem;padding:2px 1px}.calendar-event strong{font-size:.42rem}.member-detail-list>div{grid-template-columns:105px 1fr}}

/* Projektversion 11 */
.poll-accordion-content,.poll-option,.poll-option-choice,.poll-option-choice strong,.poll-result-text{color:var(--text)}
.poll-option-choice{min-width:0}.poll-option-choice strong{display:block;min-width:0;overflow-wrap:anywhere;line-height:1.35}.poll-option-choice input{flex:0 0 19px}
.pending-registration-list,.roster-planning-list{display:grid;gap:18px}.pending-registration-card{display:grid;gap:20px}.pending-registration-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.pending-registration-head h2{margin:4px 0}.pending-registration-head p{margin:0;color:var(--muted)}.manual-match-notice{padding:16px;border-radius:15px;background:#f4f1ff;border:1px solid #d9d0ff}.manual-match-notice p{margin:6px 0 12px;color:var(--muted)}.registration-assignment-form{display:grid;gap:15px}.team-assignment-fieldset{border:1px solid var(--border);border-radius:16px;padding:18px}.team-assignment-fieldset legend{font-weight:900;padding:0 7px}.team-assignment-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.team-assignment-option,.no-team-option{display:flex;align-items:center;gap:11px;border:1px solid var(--border);border-radius:13px;padding:13px;background:#fff}.team-assignment-option input,.no-team-option input{width:18px;height:18px;margin:0;flex:0 0 auto}.team-assignment-option span{display:grid;gap:2px}.team-assignment-option small{color:var(--muted)}.team-assignment-option.is-suggested{border-color:#9a87f5;background:#faf8ff}.no-team-option{margin-top:12px;width:max-content}.pending-registration-actions{justify-content:flex-end}.pending-reject-form{display:flex;justify-content:flex-end;border-top:1px solid var(--border);padding-top:15px}
.captain-team-view{grid-template-columns:1fr}.player-account-badges{display:flex;gap:6px;flex-wrap:wrap;margin:5px 0}.manual-avatar{background:#fff2ce;color:#8b6200}.manual-player-card{border:1px solid var(--border);border-radius:14px;background:#fff;overflow:hidden}.manual-player-card>summary{list-style:none;cursor:pointer;padding:13px 15px}.manual-player-card>summary::-webkit-details-marker{display:none}.manual-player-card[open]>summary{border-bottom:1px solid var(--border);background:#fafaff}.manual-player-content{padding:16px;background:#fcfcff}.manual-player-delete{display:flex;justify-content:flex-end;margin-top:12px}.account-player-row{background:#f9fffd}.team-management-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.public-response-details{margin-top:15px;border:1px solid var(--border);border-radius:14px;background:#fff}.public-response-details>summary{cursor:pointer;list-style:none;padding:12px 14px;font-weight:900}.public-response-details>summary::-webkit-details-marker{display:none}.public-response-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px;border-top:1px solid var(--border)}.public-response-grid section{padding:12px;border-radius:12px;background:#f8f8fc}.public-response-grid h3{display:flex;justify-content:space-between;margin:0 0 8px;font-size:.95rem}.public-response-grid ul{margin:0;padding-left:18px}.public-response-grid li{margin:4px 0}
.fixed-roster-box{display:grid;gap:12px;margin-top:16px;padding:16px;border:1px solid #ead8a1;border-radius:15px;background:#fffaf0}.fixed-roster-box.is-finalized{border-color:#9edbcf;background:#f2fffb}.fixed-roster-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.fixed-roster-heading h3{margin:3px 0 0}.fixed-roster-list{display:flex;gap:8px;flex-wrap:wrap}.fixed-roster-list>span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:99px;background:#fff;border:1px solid var(--border);font-weight:800}.fixed-roster-list small{color:var(--muted);font-weight:700}.management-fixed-roster{margin-top:0}
.roster-planning-card{padding:0;overflow:hidden}.roster-planning-card>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center;padding:20px}.roster-planning-card>summary::-webkit-details-marker{display:none}.roster-planning-card[open]>summary{border-bottom:1px solid var(--border);background:#fafaff}.roster-planning-card h2{margin:4px 0}.roster-planning-card p{margin:0;color:var(--muted)}.roster-summary-status{display:grid;justify-items:end;gap:5px}.roster-planning-content{padding:20px}.roster-candidate-groups{display:grid;gap:15px}.roster-candidate-group{border:1px solid var(--border);border-radius:15px;overflow:hidden}.roster-candidate-group h3{display:flex;justify-content:space-between;margin:0;padding:12px 15px;background:#f7f7fb;font-size:1rem}.roster-candidate-list{display:grid}.roster-candidate{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 15px;border-top:1px solid var(--border);background:#fff}.roster-candidate:first-child{border-top:0}.roster-candidate input{width:20px;height:20px;margin:0}.roster-candidate>span:nth-child(2){display:grid;gap:3px}.roster-candidate small{color:var(--muted)}.response-group-yes h3{background:#eafaf5}.response-group-maybe h3{background:#fff7df}.response-group-no h3{background:#fff0f2}.response-group-manual h3{background:#f4f1ff}.roster-planning-actions{display:flex;justify-content:flex-end;margin-top:18px}.roster-reset-form{display:flex;justify-content:flex-end;margin-top:13px;padding-top:13px;border-top:1px solid var(--border)}

@media(max-width:980px){.team-management-grid{grid-template-columns:1fr}.team-assignment-options{grid-template-columns:1fr}.public-response-grid{grid-template-columns:1fr}.roster-planning-card>summary{grid-template-columns:1fr auto}.roster-summary-status{grid-column:1/-1;justify-items:start}.roster-planning-card>summary>.accordion-chevron{position:absolute;right:20px}}
@media(max-width:700px){.poll-accordion-content{padding:15px;background:#fff;color:#17192a}.poll-option{display:grid!important;width:100%;min-width:0;background:#fff!important;color:#17192a!important;padding:13px!important}.poll-option-choice{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;width:100%;color:#17192a!important}.poll-option-choice strong{color:#17192a!important;font-size:.95rem;opacity:1!important;visibility:visible!important}.poll-result-text{color:#62677a!important}.pending-registration-head,.fixed-roster-heading{flex-direction:column}.pending-registration-actions,.pending-reject-form,.roster-planning-actions,.roster-reset-form{justify-content:stretch}.pending-registration-actions .button,.pending-reject-form .button,.roster-planning-actions .button,.roster-reset-form .button{width:100%}.no-team-option{width:100%}.roster-candidate{grid-template-columns:auto minmax(0,1fr);align-items:flex-start}.roster-candidate>.response-pill,.roster-candidate>.badge{grid-column:2}.manual-player-card>summary{padding:11px}.fixed-roster-list{display:grid}.fixed-roster-list>span{border-radius:10px}.public-response-grid{padding:10px}.team-member-row{align-items:flex-start}.team-member-row>form{width:100%}.team-member-row>form .button{width:100%}}

.permission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.permission-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:24px;padding:28px;box-shadow:var(--shadow)}.permission-card h3{font-size:1.35rem;line-height:1.2;margin:10px 0 16px}.permission-card ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}.permission-card li{position:relative;padding-left:24px;color:var(--muted)}.permission-card li:before{content:"✓";position:absolute;left:0;top:0;color:var(--secondary);font-weight:900}.permission-label{align-self:flex-start;padding:6px 10px;border-radius:99px;background:#ece9ff;color:var(--primary-dark);font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.permission-admin{border-top:5px solid var(--primary)}.permission-captain{border-top:5px solid var(--secondary)}.permission-member{border-top:5px solid #e6a431}.permission-scope{margin:auto 0 0;padding-top:18px;color:var(--muted);font-size:.88rem;border-top:1px solid var(--border)}.admin-only-note{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding:20px 24px;border-radius:18px;background:#17192a;color:#fff}.admin-only-note span{color:rgba(255,255,255,.72);text-align:right}
@media(max-width:1000px){.permission-grid{grid-template-columns:1fr}.admin-only-note{align-items:flex-start;flex-direction:column}.admin-only-note span{text-align:left}}

.mail-settings-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:22px;align-items:start}.mail-diagnostics{margin-top:24px;padding-top:22px;border-top:1px solid var(--border)}.mail-diagnostics h3{margin:0 0 12px}.mail-diagnostics dl{display:grid;gap:0;margin:0}.mail-diagnostics dl div{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid var(--border)}.mail-diagnostics dt{color:var(--muted)}.mail-diagnostics dd{margin:0;font-weight:800;text-align:right}.checkbox-card{display:flex!important;align-items:flex-start;gap:12px;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)}.checkbox-card input{width:auto!important;margin-top:4px}.checkbox-card span{display:grid;gap:4px}.checkbox-card small{color:var(--muted);font-weight:500}
@media(max-width:900px){.mail-settings-grid{grid-template-columns:1fr}}

/* Update V13.2: Rückmeldungsoptionen auf mobilen Browsern und in der PWA */
@media(max-width:700px){
  .response-buttons{display:grid;grid-template-columns:1fr!important;gap:12px;width:100%}
  .response-button{display:flex!important;width:100%!important;min-height:56px!important;font-size:1rem!important;visibility:visible!important;opacity:1!important}
  .response-button.yes{background:#effaf6!important;border-color:#9bdac7!important;color:#176b5d!important;-webkit-text-fill-color:#176b5d!important}
  .response-button.maybe{background:#fff8df!important;border-color:#ecd98f!important;color:#765700!important;-webkit-text-fill-color:#765700!important}
  .response-button.no{background:#fff1f2!important;border-color:#ebb3ba!important;color:#96333e!important;-webkit-text-fill-color:#96333e!important}
  .response-button.yes.selected{background:#ddf8ed!important;border-color:#69c5aa!important}
  .response-button.maybe.selected{background:#fff2c8!important;border-color:#dfbd4f!important}
  .response-button.no.selected{background:#ffe1e4!important;border-color:#df8d98!important}
}

/* Update V14: Sportartensuche und App-Installation auf Handy und Desktop */
.sport-search-wrap{position:relative}.sport-search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:50;max-height:300px;overflow-y:auto;padding:7px;background:#fff;border:1px solid var(--border);border-radius:15px;box-shadow:0 18px 50px rgba(23,25,42,.18)}.sport-search-result{display:block;width:100%;padding:12px 13px;border:0;border-radius:10px;background:#fff;color:var(--text);font:inherit;font-weight:750;text-align:left;cursor:pointer}.sport-search-result:hover,.sport-search-result:focus{background:#efedff;color:var(--primary-dark);outline:none}.sport-search-status{display:block;padding:13px;color:var(--muted)}.button-dark{background:#17192a;color:#fff;border-color:#17192a}.button-dark:hover{background:#2b2e49;border-color:#2b2e49}.footer-link-button[data-install-app].is-ready{color:var(--primary);font-weight:850}.footer-link-button[data-install-app].is-installed{opacity:.65}.install-modal[hidden]{display:none}.install-modal{position:fixed;inset:0;z-index:130;display:grid;place-items:center;padding:20px}.install-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(17,18,32,.66);backdrop-filter:blur(5px);cursor:pointer}.install-modal-dialog{position:relative;z-index:1;width:min(620px,100%);max-height:min(760px,calc(100vh - 40px));overflow:auto;padding:28px;background:#fff;border-radius:24px;box-shadow:0 30px 100px rgba(0,0,0,.35)}.install-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.install-modal-head h2{margin:4px 0 0}.install-modal-dialog>p{color:var(--muted)}.install-device-grid{display:grid;gap:12px;margin:22px 0}.install-device-grid>div{display:grid;gap:5px;padding:15px;border:1px solid var(--border);border-radius:15px;background:var(--surface-soft)}.install-device-grid span{color:var(--muted);font-size:.9rem}.install-modal-open{overflow:hidden}.app-install-card .button.is-ready{box-shadow:0 0 0 4px rgba(255,255,255,.12),0 14px 28px rgba(0,0,0,.22)}
@media(max-width:640px){.sport-search-results{max-height:240px}.install-modal{padding:12px}.install-modal-dialog{padding:22px;border-radius:20px}}

/* Update V15: Dartzähler 501 Double Out */
.darts-action-card{background:linear-gradient(145deg,#17102d,#101c5c)!important;color:#fff!important;border-color:transparent!important}.darts-action-card span{color:rgba(255,255,255,.72)!important}.darts-counter-page{background:radial-gradient(circle at 20% 0,rgba(203,42,255,.08),transparent 32%),radial-gradient(circle at 90% 12%,rgba(31,167,255,.1),transparent 30%)}.darts-page-heading{align-items:center}.darts-format-badge{display:grid;place-items:center;min-width:112px;padding:16px 20px;border-radius:22px;background:linear-gradient(145deg,#4215bc,#073fd0);color:#fff;box-shadow:0 16px 40px rgba(50,30,185,.25)}.darts-format-badge strong{font-size:2rem;line-height:1}.darts-format-badge span{font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.darts-setup-panel{max-width:980px;margin:0 auto}.darts-setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.darts-player-picker{display:grid;gap:14px;padding:20px;border:1px solid var(--border);border-radius:20px;background:var(--surface-soft)}.darts-player-number{font-weight:900;color:var(--primary);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.darts-game-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}.darts-setup-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.darts-game{display:grid;gap:22px}.darts-game-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;border-radius:18px;background:#17192a;color:#fff}.darts-game-toolbar>div:first-child{display:grid;gap:3px}.darts-game-toolbar .eyebrow{color:#a998ff}.darts-scoreboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.darts-score-card{position:relative;overflow:hidden;padding:24px;border:2px solid transparent;border-radius:26px;background:#fff;box-shadow:var(--shadow);transition:.2s ease}.darts-score-card:after{content:"";position:absolute;inset:auto -15% -55% 35%;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(92,66,232,.12),transparent 68%);pointer-events:none}.darts-score-card.is-active{border-color:#674cf1;transform:translateY(-3px);box-shadow:0 22px 55px rgba(67,48,188,.2)}.darts-score-card.is-winner{border-color:#49b895;background:linear-gradient(145deg,#fff,#e8fff7)}.darts-score-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.darts-score-card h2{margin:5px 0 0;font-size:1.35rem}.darts-turn-marker{display:inline-flex;align-items:center;min-height:24px;padding:4px 9px;border-radius:99px;background:#ede9ff;color:#4b2cbe;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;opacity:0}.darts-score-card.is-active .darts-turn-marker{opacity:1}.darts-legs{padding:7px 11px;border-radius:12px;background:var(--surface-soft);color:var(--muted);font-size:.78rem}.darts-legs strong{color:var(--text);font-size:1rem}.darts-remaining-score{position:relative;z-index:1;display:block;margin:18px 0 12px;font-size:clamp(4rem,10vw,7.5rem);line-height:.85;letter-spacing:-.08em;color:#17192a}.darts-score-card.is-active .darts-remaining-score{color:#4d32d5}.darts-player-stats{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px}.darts-player-stats span{padding:7px 10px;border-radius:10px;background:var(--surface-soft);color:var(--muted);font-size:.78rem}.darts-player-stats strong{color:var(--text)}.darts-turn-panel{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(320px,1.28fr);gap:22px;padding:24px;border-radius:28px;background:linear-gradient(145deg,#17102d,#101c5c);color:#fff;box-shadow:0 24px 65px rgba(24,18,88,.3)}.darts-current-turn{display:flex;flex-direction:column;justify-content:center;padding:8px 12px}.darts-current-turn .eyebrow{color:#baadff}.darts-current-turn h2{margin:6px 0 8px;font-size:clamp(2rem,5vw,3.4rem);line-height:1.05}.darts-current-turn p{margin:0;color:rgba(255,255,255,.72);font-weight:650}.darts-score-entry{padding:22px;border-radius:22px;background:#fff;color:var(--text)}.darts-score-entry>label{display:block;margin-bottom:8px;font-size:.82rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.darts-score-input{width:100%;height:92px!important;padding:10px 18px!important;border:2px solid #d9d5ec!important;border-radius:18px!important;background:#f7f6ff!important;color:#17192a!important;-webkit-text-fill-color:#17192a!important;font-size:3.5rem!important;font-weight:950!important;line-height:1!important;text-align:center;letter-spacing:.04em}.darts-score-input::placeholder{color:#aaa3ca}.darts-quick-scores{display:grid;grid-template-columns:repeat(9,1fr);gap:6px;margin:12px 0}.darts-quick-scores button{min-width:0;padding:8px 3px;border:1px solid var(--border);border-radius:9px;background:#f5f3ff;color:#5035ca;font:inherit;font-size:.76rem;font-weight:900;cursor:pointer}.darts-quick-scores button:hover{background:#e9e4ff}.darts-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.darts-keypad button{min-height:58px;border:0;border-radius:14px;background:#edeaff;color:#21145f;font:inherit;font-size:1.35rem;font-weight:950;cursor:pointer;box-shadow:inset 0 -2px 0 rgba(40,20,130,.08)}.darts-keypad button:active{transform:translateY(1px)}.darts-keypad .darts-keypad-function{background:#e8ebf3;color:#4d5263}.darts-submit-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.darts-checkout-button{background:linear-gradient(145deg,#15765f,#31ad88);border-color:transparent}.darts-checkout-button:disabled{background:#e7e8ed!important;color:#a1a4ad!important;border-color:#e7e8ed!important;box-shadow:none}.darts-turn-message{min-height:24px;margin-top:12px;padding:0 4px;font-size:.85rem;font-weight:800}.darts-turn-message.is-error{color:#a02e3a}.darts-turn-message.is-success{color:#11705c}.darts-turn-message.is-info{color:var(--muted)}.darts-leg-winner{text-align:center;background:linear-gradient(145deg,#e6fff6,#fff)}.darts-leg-winner h2{font-size:clamp(1.8rem,4vw,2.7rem)}.darts-history-panel{padding:0!important;overflow:hidden}.darts-history-panel>summary{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;cursor:pointer;list-style:none}.darts-history-panel>summary::-webkit-details-marker{display:none}.darts-history-panel>summary span{display:grid;gap:3px}.darts-history-panel>summary small{color:var(--muted);font-weight:500}.darts-history-list{display:grid;gap:0;padding:0 24px 22px}.darts-history-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-top:1px solid var(--border)}.darts-history-row>div{display:grid;gap:3px}.darts-history-row span,.darts-history-row small{color:var(--muted)}.darts-history-row.is-bust strong{color:#a02e3a}.darts-history-row.is-checkout strong{color:#11705c}.darts-rules-note{display:flex;align-items:flex-start;gap:16px;padding:18px 20px;border-radius:18px;background:#fff7d8;border:1px solid #eed780}.darts-rules-note strong{white-space:nowrap;color:#6f5600}.darts-rules-note span{color:#6f6250}.darts-setup-panel[hidden],.darts-game[hidden],.darts-leg-winner[hidden]{display:none!important}
@media(max-width:900px){.darts-turn-panel{grid-template-columns:1fr}.darts-current-turn{text-align:center;padding:4px 8px}.darts-quick-scores{grid-template-columns:repeat(5,1fr)}}
@media(max-width:700px){.darts-page-heading{align-items:flex-start}.darts-format-badge{min-width:94px;padding:13px 16px}.darts-setup-grid,.darts-game-options{grid-template-columns:1fr}.darts-scoreboard{gap:10px}.darts-score-card{padding:16px 13px;border-radius:20px}.darts-score-card-head{display:block}.darts-score-card h2{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.darts-legs{position:absolute;top:13px;right:12px}.darts-remaining-score{margin:16px 0 10px;font-size:clamp(3.4rem,20vw,5.2rem)}.darts-player-stats{display:grid;gap:5px}.darts-player-stats span{padding:5px 7px;font-size:.68rem}.darts-game-toolbar{align-items:flex-start;flex-direction:column}.darts-game-toolbar .inline-actions{width:100%}.darts-game-toolbar .button{flex:1}.darts-turn-panel{padding:12px;border-radius:22px}.darts-score-entry{padding:15px}.darts-score-input{height:76px!important;font-size:3rem!important}.darts-quick-scores{grid-template-columns:repeat(3,1fr);gap:7px}.darts-keypad button{min-height:56px}.darts-submit-actions{grid-template-columns:1fr}.darts-history-row{align-items:flex-start;flex-direction:column;gap:5px}.darts-rules-note{flex-direction:column;gap:6px}.darts-setup-actions .button{width:100%}}

/* Update V16: Matchlänge, Checkout-Abfrage und Gesamtstatistik */
.darts-game-options-four{grid-template-columns:repeat(4,minmax(0,1fr))}.darts-match-explanation{margin-top:14px;padding:13px 16px;border-radius:14px;background:#f1efff;border:1px solid #d9d3ff;color:#4c36bb;font-weight:800}.darts-match-summary{background:linear-gradient(145deg,#fff,#f3f0ff);border:2px solid #dcd5ff}.darts-match-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:22px}.darts-match-summary-head h2{margin:5px 0 8px;font-size:clamp(2rem,5vw,3.2rem)}.darts-match-summary-head p{margin:0;color:var(--muted);font-size:1.05rem;font-weight:750}.darts-match-duration{display:grid;gap:4px;min-width:130px;padding:15px 17px;border-radius:16px;background:#17192a;color:#fff;text-align:center}.darts-match-duration span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#bcb7d9}.darts-match-duration strong{font-size:1.2rem}.darts-final-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.darts-final-player-card{padding:22px;border:1px solid var(--border);border-radius:22px;background:#fff}.darts-final-player-card.is-match-winner{border-color:#58c5a3;box-shadow:0 16px 40px rgba(44,159,125,.15)}.darts-final-player-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.darts-final-player-head h3{margin:4px 0 0;font-size:1.4rem}.darts-final-leg-score{padding:7px 11px;border-radius:11px;background:#ece9ff;color:#4f35c8;white-space:nowrap}.darts-final-player-card.is-match-winner .darts-final-leg-score{background:#dcf8ed;color:#176b5d}.darts-final-stat-list{display:grid;gap:0;margin:12px 0 0}.darts-final-stat-list>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid #eeecf5}.darts-final-stat-list>div:last-child{border-bottom:0}.darts-final-stat-list dt{color:var(--muted)}.darts-final-stat-list dd{margin:0;font-weight:900;text-align:right}.darts-match-summary-actions{display:flex;justify-content:center;margin-top:22px}.darts-checkout-modal[hidden]{display:none!important}.darts-checkout-modal{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:20px}.darts-checkout-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(13,10,45,.72);backdrop-filter:blur(6px);cursor:pointer}.darts-checkout-dialog{position:relative;z-index:1;width:min(620px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:28px;border-radius:26px;background:#fff;box-shadow:0 32px 100px rgba(0,0,0,.36)}.darts-checkout-dialog h2{margin:6px 0 8px;font-size:clamp(1.8rem,5vw,2.6rem)}.darts-checkout-dialog>p{margin:0 0 20px;color:var(--muted)}.darts-stat-question{margin:0 0 17px;padding:17px;border:1px solid var(--border);border-radius:18px;background:var(--surface-soft)}.darts-stat-question legend{padding:0 6px;font-weight:900;color:var(--text)}.darts-stat-question>span{display:block;margin-bottom:12px;color:var(--muted);font-size:.88rem}.darts-choice-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.darts-choice-buttons-four{grid-template-columns:repeat(4,1fr)}.darts-choice-buttons button{min-height:52px;border:2px solid #dcd8ee;border-radius:13px;background:#fff;color:#22175f;font:inherit;font-size:1.15rem;font-weight:950;cursor:pointer}.darts-choice-buttons button:hover{border-color:#8f7cf0;background:#f0edff}.darts-choice-buttons button.is-selected{border-color:#5c42e8;background:#5c42e8;color:#fff;box-shadow:0 8px 20px rgba(92,66,232,.24)}.darts-checkout-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.darts-modal-open{overflow:hidden}.darts-game [hidden]{display:none!important}
@media(max-width:1000px){.darts-game-options-four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.darts-game-options-four{grid-template-columns:1fr}.darts-match-summary-head{flex-direction:column}.darts-match-duration{width:100%}.darts-final-stat-grid{grid-template-columns:1fr}.darts-checkout-modal{padding:10px}.darts-checkout-dialog{padding:21px;border-radius:21px;max-height:calc(100vh - 20px)}.darts-checkout-dialog-actions{grid-template-columns:1fr}.darts-choice-buttons button{min-height:48px}.darts-final-stat-list>div{align-items:flex-start}}

/* Update V17: Spielhistorie und responsive Dart-Scoreseite */
.darts-history-save-status{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:20px;padding:14px 16px;border:1px solid var(--border);border-radius:15px;background:#f7f6ff;color:var(--muted);font-weight:750}.dart-history-filter{margin-bottom:20px}.dart-history-list{display:grid;gap:15px}.dart-history-match{padding:0!important;overflow:hidden}.dart-history-match>summary{display:grid;grid-template-columns:120px minmax(320px,1fr) auto;align-items:center;gap:18px;padding:19px 22px;cursor:pointer;list-style:none}.dart-history-match>summary::-webkit-details-marker{display:none}.dart-history-date{display:grid;gap:3px}.dart-history-date span{color:var(--muted);font-size:.82rem}.dart-history-players{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:15px;text-align:center}.dart-history-players span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:850}.dart-history-players strong{padding:8px 13px;border-radius:12px;background:#17192a;color:#fff;font-size:1.15rem}.dart-history-summary-meta{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:.82rem}.dart-history-detail{padding:22px;border-top:1px solid var(--border);background:#faf9ff}.dart-history-result-banner{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding:15px 18px;border-radius:16px;background:linear-gradient(145deg,#17102d,#101c5c);color:#fff}.dart-history-result-banner span,.dart-history-result-banner small{color:rgba(255,255,255,.7)}.dart-history-result-banner strong{font-size:1.2rem}.account-dart-history .panel-header{align-items:flex-start}.account-dart-match-list{display:grid;gap:9px}.account-dart-match{display:grid;grid-template-columns:85px minmax(0,1fr) auto;align-items:center;gap:13px;padding:13px 14px;border:1px solid var(--border);border-radius:14px;background:#fff;color:var(--text);text-decoration:none}.account-dart-match:hover{border-color:#a99cf0;background:#faf9ff}.account-dart-match-date{color:var(--muted);font-size:.82rem}.account-dart-match-players{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;text-align:center}.account-dart-match-players strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-dart-match-players b{padding:5px 8px;border-radius:9px;background:#17192a;color:#fff}.account-dart-match-result{display:grid;justify-items:end;gap:4px}.account-dart-match-result small{color:var(--muted)}.account-darts-links .stack-actions{display:grid;gap:9px}.darts-counter,.darts-game,.darts-scoreboard,.darts-turn-panel,.darts-score-entry,.darts-score-card{min-width:0}.darts-counter-page{overflow-x:hidden}

@media(max-width:850px){
  .dart-history-match>summary{grid-template-columns:1fr;gap:11px}
  .dart-history-date{display:flex;gap:8px}
  .dart-history-summary-meta{justify-content:flex-start}
  .account-dart-match{grid-template-columns:1fr}
  .account-dart-match-result{display:flex;align-items:center;justify-content:space-between}
}

@media(max-width:760px) and (orientation:portrait){
  .darts-counter-page .container{width:100%;padding-left:10px;padding-right:10px}
  .darts-page-heading{gap:10px;margin-bottom:12px}
  .darts-page-heading h1{font-size:1.65rem}
  .darts-page-heading p{font-size:.88rem}
  .darts-format-badge{min-width:76px;padding:10px 12px;border-radius:16px}
  .darts-format-badge strong{font-size:1.55rem}
  .darts-game{gap:11px}
  .darts-game-toolbar{padding:11px 12px;border-radius:14px}
  .darts-scoreboard{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .darts-score-card{padding:12px 9px;border-radius:17px}
  .darts-score-card h2{font-size:.86rem}
  .darts-turn-marker{min-height:20px;padding:3px 6px;font-size:.58rem}
  .darts-legs{top:9px;right:8px;padding:5px 7px;font-size:.65rem}
  .darts-remaining-score{font-size:clamp(3rem,20vw,4.6rem);margin:13px 0 8px}
  .darts-player-stats span{font-size:.62rem}
  .darts-turn-panel{padding:9px;border-radius:18px;gap:8px}
  .darts-current-turn{padding:4px}
  .darts-current-turn h2{font-size:1.55rem}
  .darts-current-turn p{font-size:.78rem}
  .darts-score-entry{padding:12px;border-radius:16px}
  .darts-score-input{height:66px!important;font-size:2.6rem!important}
  .darts-quick-scores{grid-template-columns:repeat(3,1fr);margin:8px 0}
  .darts-keypad{gap:7px}
  .darts-keypad button{min-height:50px;font-size:1.15rem}
  .darts-submit-actions{margin-top:9px}
  .darts-submit-actions .button{min-height:46px;padding:10px 12px}
  .dart-history-players{gap:7px}
  .dart-history-players span{font-size:.82rem}
}

@media(orientation:landscape) and (max-width:1180px) and (max-height:850px){
  body.darts-game-active .site-header,
  body.darts-game-active .site-footer{display:none}
  body.darts-game-active main{min-height:100dvh}
  body.darts-game-active .darts-counter-page{padding:7px 0}
  body.darts-game-active .darts-page-heading{display:none}
  body.darts-game-active .darts-counter-page .container{width:100%;max-width:none;padding:0 8px}
  body.darts-game-active .darts-game{
    display:grid;
    grid-template-columns:minmax(250px,.72fr) minmax(430px,1.28fr);
    grid-template-areas:
      "toolbar toolbar"
      "scoreboard turn"
      "winner winner"
      "summary summary"
      "history history"
      "rules rules";
    gap:8px
  }
  body.darts-game-active .darts-game-toolbar{grid-area:toolbar;padding:8px 11px;border-radius:12px}
  body.darts-game-active .darts-game-toolbar .eyebrow{font-size:.62rem}
  body.darts-game-active .darts-game-toolbar .button{padding:7px 9px;font-size:.72rem}
  body.darts-game-active .darts-scoreboard{grid-area:scoreboard;grid-template-columns:1fr;gap:7px}
  body.darts-game-active .darts-score-card{padding:10px 12px;border-radius:16px}
  body.darts-game-active .darts-score-card-head{display:flex}
  body.darts-game-active .darts-score-card h2{font-size:.9rem}
  body.darts-game-active .darts-legs{position:static;padding:4px 7px}
  body.darts-game-active .darts-remaining-score{font-size:clamp(3.1rem,12vh,4.7rem);margin:9px 0 6px}
  body.darts-game-active .darts-player-stats{display:flex;gap:5px}
  body.darts-game-active .darts-player-stats span{font-size:.62rem;padding:4px 6px}
  body.darts-game-active .darts-turn-panel{grid-area:turn;grid-template-columns:minmax(125px,.42fr) minmax(300px,1.58fr);gap:8px;padding:8px;border-radius:16px}
  body.darts-game-active .darts-current-turn{padding:5px;text-align:left}
  body.darts-game-active .darts-current-turn h2{font-size:clamp(1.3rem,5vh,2rem)}
  body.darts-game-active .darts-current-turn p{font-size:.68rem}
  body.darts-game-active .darts-score-entry{padding:9px;border-radius:13px}
  body.darts-game-active .darts-score-entry>label{margin-bottom:4px;font-size:.66rem}
  body.darts-game-active .darts-score-input{height:54px!important;font-size:2.25rem!important}
  body.darts-game-active .darts-quick-scores{grid-template-columns:repeat(9,1fr);gap:4px;margin:5px 0}
  body.darts-game-active .darts-quick-scores button{padding:5px 2px;font-size:.63rem}
  body.darts-game-active .darts-keypad{grid-template-columns:repeat(6,1fr);gap:5px}
  body.darts-game-active .darts-keypad button{min-height:38px;font-size:.92rem;border-radius:9px}
  body.darts-game-active .darts-submit-actions{grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}
  body.darts-game-active .darts-submit-actions .button{min-height:38px;padding:6px 8px;font-size:.72rem}
  body.darts-game-active .darts-turn-message{min-height:16px;margin-top:4px;font-size:.68rem}
  body.darts-game-active .darts-leg-winner{grid-area:winner}
  body.darts-game-active .darts-match-summary{grid-area:summary}
  body.darts-game-active .darts-history-panel{grid-area:history}
  body.darts-game-active .darts-rules-note{grid-area:rules}
  body.darts-game-active:not(.darts-match-complete) .darts-history-panel,
  body.darts-game-active:not(.darts-match-complete) .darts-rules-note{display:none}
  body.darts-game-active .darts-checkout-dialog{width:min(720px,calc(100vw - 20px));max-height:calc(100dvh - 16px);padding:16px}
  body.darts-game-active .darts-stat-question{padding:11px;margin-bottom:9px}
  body.darts-game-active .darts-choice-buttons button{min-height:39px}
}

@media(orientation:landscape) and (max-width:760px) and (max-height:520px){
  body.darts-game-active .darts-game{grid-template-columns:minmax(190px,.62fr) minmax(390px,1.38fr)}
  body.darts-game-active .darts-turn-panel{grid-template-columns:105px minmax(280px,1fr)}
  body.darts-game-active .darts-current-turn .eyebrow{font-size:.55rem}
  body.darts-game-active .darts-current-turn h2{font-size:1.15rem}
  body.darts-game-active .darts-remaining-score{font-size:2.8rem}
  body.darts-game-active .darts-keypad button{min-height:33px}
}

/* Update V18: Persönliche Dartstatistik und Leistungsverlauf */
.account-dart-statistics .panel-header{align-items:flex-start}.dart-profile-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dart-profile-stat-card{display:grid;gap:5px;min-height:132px;padding:18px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(145deg,#fff,#f8f7ff)}.dart-profile-stat-card.is-primary{background:linear-gradient(145deg,#291274,#5637dc);border-color:transparent;color:#fff;box-shadow:0 15px 40px rgba(67,45,190,.24)}.dart-profile-stat-card>span{color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.055em}.dart-profile-stat-card.is-primary>span,.dart-profile-stat-card.is-primary small{color:rgba(255,255,255,.72)}.dart-profile-stat-card strong{font-size:clamp(2rem,4vw,3rem);line-height:1;color:var(--text)}.dart-profile-stat-card.is-primary strong{color:#fff}.dart-profile-stat-card small{align-self:end;color:var(--muted);font-size:.78rem}.dart-profile-context{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:14px 0 20px}.dart-profile-context span{padding:8px 11px;border-radius:11px;background:var(--surface-soft);color:var(--muted);font-size:.8rem}.dart-profile-context strong{color:var(--text)}.dart-stat-chart-card{padding:20px;border:1px solid var(--border);border-radius:21px;background:#fff}.dart-stat-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px}.dart-stat-chart-head h3{margin:4px 0 6px}.dart-stat-chart-head p{margin:0;color:var(--muted)}.dart-stat-chart-controls{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px;min-width:min(460px,100%)}.dart-stat-chart-controls label{font-size:.75rem;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.045em}.dart-stat-chart-controls select{margin-top:5px;text-transform:none;letter-spacing:normal}.dart-stat-chart-summary{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:16px 0 8px}.dart-stat-chart-summary span{padding:7px 10px;border-radius:10px;background:#f4f2ff;color:var(--muted);font-size:.78rem}.dart-stat-chart-summary strong{color:#4930c0}.dart-stat-chart-wrap{position:relative;width:100%;min-height:300px;overflow:hidden;border-radius:16px;background:linear-gradient(180deg,#fff,#fbfaff)}.dart-stat-chart-wrap canvas{display:block;max-width:100%}.dart-stat-chart-tooltip{position:absolute;z-index:4;display:grid;gap:3px;min-width:135px;padding:10px 12px;border-radius:12px;background:#17192a;color:#fff;box-shadow:0 12px 32px rgba(0,0,0,.26);pointer-events:none;font-size:.78rem}.dart-stat-chart-tooltip span{color:rgba(255,255,255,.68)}.dart-stat-chart-tooltip b{font-size:1.05rem}.dart-stat-chart-note{margin:10px 0 0;padding:11px 13px;border-radius:12px;background:#fff7db;color:#6b5b25;font-size:.78rem}.dart-stat-chart-tooltip[hidden]{display:none!important}
@media(max-width:900px){.dart-profile-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.dart-stat-chart-head{flex-direction:column}.dart-stat-chart-controls{width:100%;min-width:0}}
@media(max-width:560px){.dart-profile-overview{grid-template-columns:1fr 1fr;gap:8px}.dart-profile-stat-card{min-height:116px;padding:14px;border-radius:15px}.dart-profile-stat-card strong{font-size:1.85rem}.dart-profile-stat-card>span{font-size:.67rem}.dart-profile-stat-card small{font-size:.68rem}.dart-stat-chart-card{padding:12px}.dart-stat-chart-controls{grid-template-columns:1fr}.dart-stat-chart-summary{align-items:stretch;flex-direction:column}.dart-stat-chart-summary span{display:flex;justify-content:space-between}.dart-stat-chart-wrap{min-height:300px}}

/* Update V19: flexible X01-Regeln, Split Score und Mail-Rückmeldungen */
.darts-game-type-choice{max-width:360px;margin:20px 0 12px}.darts-game-options-six{grid-template-columns:repeat(5,minmax(0,1fr))}.darts-split-score-info{display:grid;gap:5px;margin-top:14px;padding:16px 18px;border:1px solid #d8d1ff;border-radius:16px;background:#f4f1ff;color:#4934b6}.darts-split-score-info span{color:#655d83}.darts-double-in-button{background:linear-gradient(145deg,#ba7400,#dc9c19);border-color:transparent;color:#fff}.darts-quick-scores{grid-template-columns:repeat(10,1fr)}.darts-score-card .darts-legs>span{display:block;font-size:.63rem;text-transform:uppercase;letter-spacing:.05em}.darts-game-options-six[hidden],.darts-split-score-info[hidden],.darts-stat-question[hidden]{display:none!important}
@media(max-width:1180px){.darts-game-options-six{grid-template-columns:repeat(3,minmax(0,1fr))}.darts-quick-scores{grid-template-columns:repeat(5,1fr)}}
@media(max-width:700px){.darts-game-options-six{grid-template-columns:1fr}.darts-game-type-choice{max-width:none}.darts-quick-scores{grid-template-columns:repeat(3,1fr)}}

/* Update V20: bis zu vier Spieler und getrennte Spielstatistiken */
.darts-add-player-button{margin-top:14px}.darts-add-player-button.is-maximum{opacity:.65}.darts-setup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.darts-game-options-x01{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px}.darts-game-options-match{grid-template-columns:repeat(2,minmax(0,1fr));max-width:620px}.darts-scoreboard[data-player-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.darts-scoreboard[data-player-count="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}.darts-scoreboard[data-player-count="3"] .darts-remaining-score,.darts-scoreboard[data-player-count="4"] .darts-remaining-score{font-size:clamp(3rem,7vw,5.2rem)}.darts-final-stat-grid[data-player-count="3"],.darts-final-stat-grid[data-player-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}.dart-history-multiplayer-summary{display:grid;gap:4px}.dart-history-multiplayer-summary span{color:var(--muted);font-size:.82rem}.dart-history-player-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px;margin-bottom:18px}.dart-history-player-strip>div{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:#fff}.dart-history-player-strip>div.is-winner{border-color:#55bd9d;background:#eafff7}.dart-history-player-strip span{color:var(--muted);font-size:.78rem}.account-game-statistics{padding:0!important;overflow:hidden}.account-game-statistics-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;cursor:pointer;list-style:none}.account-game-statistics-summary::-webkit-details-marker{display:none}.account-game-statistics-summary>span:first-child{display:grid;gap:3px}.account-game-statistics-summary strong{font-size:1.45rem}.account-game-statistics-summary small{color:var(--muted)}.account-game-statistics-toggle{padding:8px 12px;border-radius:11px;background:#efecff;color:#4d35c5;font-weight:850}.account-game-statistics[open] .account-game-statistics-toggle{font-size:0}.account-game-statistics[open] .account-game-statistics-toggle:after{content:"Einklappen";font-size:.85rem}.account-game-statistics-content{display:grid;gap:28px;padding:0 24px 26px;border-top:1px solid var(--border)}.account-stat-category{padding-top:24px}.account-stat-category+.account-stat-category{border-top:1px solid var(--border)}.account-other-x01-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.account-format-stat-card{padding:18px;border:1px solid var(--border);border-radius:18px;background:#fff}.account-format-stat-card h3{margin:0 0 14px}.account-format-stat-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.account-format-stat-values>div{display:grid;gap:3px;padding:10px;border-radius:11px;background:var(--surface-soft)}.account-format-stat-values span{color:var(--muted);font-size:.7rem}.account-format-stat-values strong{font-size:1.1rem}.account-dart-match-multi{display:grid;gap:3px;min-width:0}.account-dart-match-multi small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}[hidden]{display:none!important}
@media(max-width:1000px){.darts-scoreboard[data-player-count="3"],.darts-scoreboard[data-player-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}.account-other-x01-grid{grid-template-columns:1fr}}
@media(max-width:700px){.darts-setup-grid,.darts-game-options-x01,.darts-game-options-match{grid-template-columns:1fr}.darts-scoreboard[data-player-count="3"],.darts-scoreboard[data-player-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}.darts-scoreboard[data-player-count="3"] .darts-score-card,.darts-scoreboard[data-player-count="4"] .darts-score-card{padding:11px 8px}.darts-scoreboard[data-player-count="3"] .darts-remaining-score,.darts-scoreboard[data-player-count="4"] .darts-remaining-score{font-size:clamp(2.7rem,17vw,4rem)}.account-game-statistics-summary{padding:18px;align-items:flex-start}.account-game-statistics-summary strong{font-size:1.2rem}.account-game-statistics-content{padding:0 15px 20px}.account-format-stat-values{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(orientation:landscape) and (max-width:1180px) and (max-height:850px){body.darts-game-active .darts-scoreboard[data-player-count="3"],body.darts-game-active .darts-scoreboard[data-player-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}body.darts-game-active .darts-scoreboard[data-player-count="4"] .darts-remaining-score{font-size:2.8rem}}

/* Update V21: Spieler löschen und Bot-Gegner */
.darts-player-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.darts-remove-player-button{appearance:none;border:1px solid #f0b8bd;border-radius:10px;background:#fff3f4;color:#a82f3b;padding:7px 10px;font:inherit;font-size:.74rem;font-weight:850;cursor:pointer}.darts-remove-player-button:hover:not(:disabled){background:#ffe6e8;border-color:#db7d86}.darts-remove-player-button:disabled{cursor:not-allowed;opacity:.55}.darts-bot-level-wrap{display:grid;gap:6px;margin-top:10px;padding:13px;border:1px solid #d8d1ff;border-radius:14px;background:#f7f5ff}.darts-bot-level-wrap small{display:block;color:#625b7c;font-size:.75rem;line-height:1.45}.darts-turn-message.is-bot{border-color:#b8a7ff;background:#f1edff;color:#472db6;font-weight:850}.darts-score-card.is-bot{background:linear-gradient(145deg,#fff,#f2efff);border-color:#cfc4ff}.darts-score-card.is-bot .darts-player-number,.darts-score-card.is-bot h2{color:#4930c0}.darts-score-entry button:disabled{cursor:not-allowed;opacity:.48}.darts-add-player-button+.darts-game-type-choice{margin-top:24px}
@media(max-width:700px){.darts-player-picker-head{align-items:flex-start}.darts-remove-player-button{padding:6px 8px;font-size:.68rem}.darts-bot-level-wrap{padding:11px}}
/* Update V22: Dartturniere */
.dart-tournament-launch-panel,.dart-tournament-match-context,.dart-tournament-progress-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}.dart-tournament-launch-panel h2,.dart-tournament-match-context h2,.dart-tournament-progress-panel h2{margin:3px 0 5px}.dart-tournament-launch-panel p,.dart-tournament-match-context p{margin:0;color:var(--muted)}.dart-tournament-player-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.dart-tournament-player-picker{padding:15px;border:1px solid var(--border);border-radius:17px;background:linear-gradient(145deg,#fff,#faf9ff)}.dart-tournament-player-picker label+label{margin-top:10px}.darts-game-options-tournament{grid-template-columns:repeat(3,minmax(0,1fr))}.dart-tournament-qualifier-field,.dart-tournament-ko-distance{margin-top:18px;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)}.dart-tournament-qualifier-field small{display:block;margin-top:7px;color:var(--muted)}.dart-tournament-stage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.dart-tournament-list{display:grid;gap:14px}.dart-tournament-list-card{display:flex;align-items:center;justify-content:space-between;gap:24px;text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s ease}.dart-tournament-list-card:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(38,25,95,.12)}.dart-tournament-list-card h2{margin:4px 0}.dart-tournament-list-card p{margin:0;color:var(--muted)}.dart-tournament-list-meta{display:grid;justify-items:end;gap:6px;text-align:right}.dart-tournament-winner-panel{background:linear-gradient(145deg,#25116e,#5638d6);color:#fff}.dart-tournament-winner-panel .eyebrow,.dart-tournament-winner-panel p{color:rgba(255,255,255,.75)}.dart-tournament-progress-meta{display:flex;flex-wrap:wrap;gap:10px}.dart-tournament-progress-meta span{padding:9px 12px;border-radius:12px;background:var(--surface-soft);color:var(--muted)}.dart-tournament-progress-meta strong{color:var(--text)}.dart-tournament-player-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dart-tournament-player-list article{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid var(--border);border-radius:14px;background:#fff}.dart-tournament-player-list article.is-eliminated{opacity:.55;background:#f3f3f6}.dart-tournament-player-list article>div{display:grid;gap:2px;min-width:0;flex:1}.dart-tournament-player-list small{color:var(--muted)}.dart-tournament-seed{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#efecff;color:#4a31c0;font-weight:900}.dart-tournament-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dart-tournament-group-table{padding:16px;border:1px solid var(--border);border-radius:16px;background:#fff}.dart-tournament-group-table h3{margin:0 0 12px}.compact-table th,.compact-table td{padding:8px}.dart-tournament-schedule{display:grid;gap:16px;margin-top:22px}.dart-tournament-round{padding:18px}.dart-tournament-round-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.dart-tournament-round-head h3{margin:3px 0}.dart-tournament-match-list{display:grid;gap:9px}.dart-tournament-match-card{display:grid;grid-template-columns:95px minmax(0,1fr) 190px;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:#fff}.dart-tournament-match-card.is-completed{background:#f7fffb;border-color:#c7ebde}.dart-tournament-match-number{color:var(--muted);font-size:.78rem;font-weight:850}.dart-tournament-match-players{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px}.dart-tournament-match-players>span{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 11px;border-radius:11px;background:var(--surface-soft);font-weight:800}.dart-tournament-match-players>span.is-winner{background:#e7fff5;color:#147457}.dart-tournament-match-players small{text-align:center;color:var(--muted)}.dart-tournament-match-action{display:grid;justify-items:end;gap:6px}.dart-tournament-match-action small{color:var(--muted)}
@media(max-width:1000px){.dart-tournament-player-grid,.dart-tournament-player-list{grid-template-columns:repeat(2,minmax(0,1fr))}.darts-game-options-tournament{grid-template-columns:repeat(2,minmax(0,1fr))}.dart-tournament-stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dart-tournament-match-card{grid-template-columns:70px minmax(0,1fr)}.dart-tournament-match-action{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end}.dart-tournament-group-grid{grid-template-columns:1fr}}
@media(max-width:650px){.dart-tournament-launch-panel,.dart-tournament-match-context,.dart-tournament-progress-panel,.dart-tournament-list-card{align-items:stretch;flex-direction:column}.dart-tournament-list-meta{justify-items:start;text-align:left}.dart-tournament-player-grid,.dart-tournament-player-list,.darts-game-options-tournament,.dart-tournament-stage-grid{grid-template-columns:1fr}.dart-tournament-match-card{grid-template-columns:1fr}.dart-tournament-match-players{grid-template-columns:1fr}.dart-tournament-match-players small{padding:0}.dart-tournament-match-action{grid-column:auto;justify-content:space-between}.dart-tournament-progress-meta{flex-direction:column}}

/* Update V22.1: Turniermatches immer direkt in der Scoreansicht öffnen */
.darts-counter[data-tournament-match-id]:not([data-tournament-match-id="0"]) [data-darts-setup]{display:none!important}.darts-counter[data-tournament-match-id]:not([data-tournament-match-id="0"]) [data-darts-game]{display:grid!important}


/* Update V22.2: kompakte Matchansicht und reparierte Scoreeingabe */
.darts-score-card.is-active{
    border-color:#8069ff;
    background:linear-gradient(145deg,#3a238f,#5a40d8);
    color:#fff;
    transform:translateY(-2px);
    box-shadow:0 18px 46px rgba(54,35,150,.32)
}
.darts-score-card.is-active h2,
.darts-score-card.is-active .darts-remaining-score,
.darts-score-card.is-active .darts-player-stats strong,
.darts-score-card.is-active .darts-legs strong{
    color:#fff
}
.darts-score-card.is-active .darts-turn-marker{
    opacity:1;
    background:#fff;
    color:#442bb5
}
.darts-score-card.is-active .darts-player-stats span,
.darts-score-card.is-active .darts-legs{
    background:rgba(255,255,255,.14);
    color:rgba(255,255,255,.78)
}
.darts-score-card.is-active:after{
    background:radial-gradient(circle,rgba(255,255,255,.17),transparent 68%)
}

@media(max-width:1600px) and (max-height:1100px){
    body.darts-game-active{
        overflow:hidden
    }
    body.darts-game-active .site-header,
    body.darts-game-active .site-footer{
        display:none
    }
    body.darts-game-active main{
        min-height:100dvh;
        height:100dvh;
        overflow:hidden
    }
    body.darts-game-active .darts-counter-page{
        height:100dvh;
        padding:5px 0;
        overflow:hidden
    }
    body.darts-game-active .darts-counter-page .container{
        width:100%;
        max-width:none;
        height:100%;
        padding:0 7px
    }
    body.darts-game-active .darts-page-heading,
    body.darts-game-active .dart-tournament-match-context,
    body.darts-game-active .dart-tournament-launch-panel{
        display:none
    }
    body.darts-game-active .darts-counter{
        height:100%;
        min-height:0
    }
    body.darts-game-active .darts-game{
        display:grid;
        height:100%;
        min-height:0;
        grid-template-columns:minmax(165px,.62fr) minmax(420px,1.38fr);
        grid-template-rows:auto minmax(0,1fr);
        grid-template-areas:
            "toolbar toolbar"
            "scoreboard turn"
            "winner winner"
            "summary summary";
        gap:6px
    }
    body.darts-game-active .darts-game-toolbar{
        grid-area:toolbar;
        min-height:0;
        padding:7px 10px;
        border-radius:11px
    }
    body.darts-game-active .darts-game-toolbar .eyebrow{
        font-size:.58rem
    }
    body.darts-game-active .darts-game-toolbar strong{
        font-size:.78rem
    }
    body.darts-game-active .darts-game-toolbar .button{
        padding:6px 8px;
        font-size:.67rem
    }
    body.darts-game-active .darts-scoreboard{
        grid-area:scoreboard;
        display:grid;
        grid-template-columns:1fr!important;
        grid-auto-rows:minmax(0,1fr);
        height:100%;
        min-height:0;
        gap:5px
    }
    body.darts-game-active .darts-score-card{
        min-height:0;
        padding:8px 10px;
        border-radius:14px;
        transform:none
    }
    body.darts-game-active .darts-score-card-head{
        display:flex;
        align-items:flex-start
    }
    body.darts-game-active .darts-score-card h2{
        margin-top:3px;
        font-size:clamp(.76rem,1.6vw,.95rem)
    }
    body.darts-game-active .darts-turn-marker{
        min-height:18px;
        padding:2px 6px;
        font-size:.52rem
    }
    body.darts-game-active .darts-legs{
        position:static;
        padding:3px 6px;
        font-size:.58rem
    }
    body.darts-game-active .darts-legs strong{
        font-size:.78rem
    }
    body.darts-game-active .darts-remaining-score{
        margin:5px 0 4px;
        font-size:clamp(2.25rem,8.8vh,4.4rem);
        line-height:.88
    }
    body.darts-game-active .darts-player-stats{
        display:flex;
        gap:4px
    }
    body.darts-game-active .darts-player-stats span{
        padding:3px 5px;
        font-size:.54rem
    }
    body.darts-game-active .darts-turn-panel{
        grid-area:turn;
        display:block;
        height:100%;
        min-height:0;
        padding:5px;
        border-radius:14px
    }
    body.darts-game-active .darts-current-turn{
        display:none
    }
    body.darts-game-active .darts-score-entry{
        display:grid;
        height:100%;
        min-height:0;
        grid-template-rows:auto auto auto minmax(0,1fr) auto auto;
        padding:8px;
        border-radius:11px
    }
    body.darts-game-active .darts-score-entry>label{
        margin-bottom:3px;
        font-size:.59rem
    }
    body.darts-game-active .darts-score-input{
        height:46px!important;
        padding:4px 10px!important;
        border-radius:11px!important;
        font-size:2rem!important
    }
    body.darts-game-active .darts-quick-scores{
        grid-template-columns:repeat(10,minmax(0,1fr));
        gap:3px;
        margin:4px 0
    }
    body.darts-game-active .darts-quick-scores button{
        min-height:25px;
        padding:3px 1px;
        border-radius:7px;
        font-size:.56rem
    }
    body.darts-game-active .darts-keypad{
        grid-template-columns:repeat(3,1fr);
        grid-template-rows:repeat(4,minmax(0,1fr));
        min-height:0;
        gap:4px
    }
    body.darts-game-active .darts-keypad button{
        min-height:0;
        height:100%;
        padding:2px;
        border-radius:8px;
        font-size:clamp(.9rem,3.4vh,1.22rem)
    }
    body.darts-game-active .darts-submit-actions{
        grid-template-columns:1fr 1fr;
        gap:5px;
        margin-top:5px
    }
    body.darts-game-active .darts-submit-actions .button{
        min-height:34px;
        padding:5px 7px;
        font-size:.66rem
    }
    body.darts-game-active .darts-turn-message{
        min-height:15px;
        margin-top:3px;
        padding:0 2px;
        font-size:.62rem
    }
    body.darts-game-active .darts-leg-winner{
        grid-area:winner
    }
    body.darts-game-active .darts-match-summary{
        grid-area:summary
    }
    body.darts-game-active:not(.darts-match-complete) .darts-history-panel,
    body.darts-game-active:not(.darts-match-complete) .darts-rules-note{
        display:none
    }
}

@media(max-width:700px) and (orientation:portrait){
    body.darts-game-active .darts-counter-page{
        padding:3px 0
    }
    body.darts-game-active .darts-counter-page .container{
        padding:0 4px
    }
    body.darts-game-active .darts-game{
        grid-template-columns:minmax(105px,.42fr) minmax(0,1.58fr);
        gap:4px
    }
    body.darts-game-active .darts-game-toolbar{
        padding:5px 7px
    }
    body.darts-game-active .darts-game-toolbar .inline-actions{
        gap:4px
    }
    body.darts-game-active .darts-game-toolbar .button{
        padding:5px 6px;
        font-size:.58rem
    }
    body.darts-game-active .darts-score-card{
        padding:6px 6px;
        border-radius:11px
    }
    body.darts-game-active .darts-score-card-head{
        display:block
    }
    body.darts-game-active .darts-score-card h2{
        max-width:100%;
        font-size:.69rem
    }
    body.darts-game-active .darts-legs{
        position:absolute;
        top:5px;
        right:5px;
        padding:2px 4px
    }
    body.darts-game-active .darts-legs>span{
        display:none
    }
    body.darts-game-active .darts-turn-marker{
        max-width:72px;
        font-size:.44rem;
        white-space:nowrap
    }
    body.darts-game-active .darts-remaining-score{
        margin:4px 0 3px;
        font-size:clamp(1.9rem,7.4vh,3.2rem)
    }
    body.darts-game-active .darts-player-stats{
        display:grid;
        grid-template-columns:1fr;
        gap:2px
    }
    body.darts-game-active .darts-player-stats span{
        padding:2px 3px;
        font-size:.46rem
    }
    body.darts-game-active .darts-turn-panel{
        padding:3px;
        border-radius:10px
    }
    body.darts-game-active .darts-score-entry{
        padding:5px
    }
    body.darts-game-active .darts-score-input{
        height:40px!important;
        font-size:1.7rem!important
    }
    body.darts-game-active .darts-quick-scores{
        grid-template-columns:repeat(5,1fr);
        gap:2px;
        margin:3px 0
    }
    body.darts-game-active .darts-quick-scores button{
        min-height:21px;
        font-size:.49rem
    }
    body.darts-game-active .darts-keypad{
        gap:3px
    }
    body.darts-game-active .darts-keypad button{
        border-radius:6px;
        font-size:clamp(.82rem,2.8vh,1.05rem)
    }
    body.darts-game-active .darts-submit-actions{
        grid-template-columns:1fr;
        gap:3px;
        margin-top:3px
    }
    body.darts-game-active .darts-submit-actions .button{
        min-height:29px;
        padding:4px 5px;
        font-size:.57rem
    }
    body.darts-game-active .darts-turn-message{
        min-height:12px;
        font-size:.52rem
    }
}

@media(orientation:landscape) and (max-height:540px){
    body.darts-game-active .darts-game{
        grid-template-columns:minmax(155px,.5fr) minmax(390px,1.5fr)
    }
    body.darts-game-active .darts-game-toolbar{
        padding:4px 7px
    }
    body.darts-game-active .darts-score-card{
        padding:5px 8px
    }
    body.darts-game-active .darts-remaining-score{
        font-size:clamp(2rem,8vh,3rem)
    }
    body.darts-game-active .darts-player-stats span{
        padding:2px 4px
    }
    body.darts-game-active .darts-score-input{
        height:37px!important;
        font-size:1.65rem!important
    }
    body.darts-game-active .darts-quick-scores button{
        min-height:20px
    }
    body.darts-game-active .darts-submit-actions .button{
        min-height:28px
    }
}


/* Update V23: Dartmenü, Spielhistorienfilter und Verwaltungsseite */
.nav-darts-dropdown>summary{
    white-space:nowrap
}
.dart-history-filter-panel{
    display:grid;
    grid-template-columns:auto minmax(300px,1fr);
    align-items:end;
    gap:20px;
    margin-bottom:14px;
    padding:18px 20px
}
.dart-history-filter-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:10px
}
.dart-history-filter-buttons .button.is-active{
    background:var(--primary);
    border-color:var(--primary);
    color:#fff
}
.dart-history-player-filter{
    display:grid;
    gap:7px
}
.dart-history-player-filter>label{
    font-size:.78rem;
    font-weight:900;
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:.05em
}
.dart-history-player-filter-controls{
    display:grid;
    grid-template-columns:minmax(220px,1fr) auto;
    gap:9px
}
.dart-history-player-filter-controls select{
    min-width:0
}
.dart-history-active-filter{
    margin:0 0 18px;
    padding:11px 14px;
    border:1px solid #d9d3ff;
    border-radius:13px;
    background:#f6f3ff;
    color:#574b7d
}
.dart-management-stats{
    margin-bottom:22px
}
.dart-management-section+.dart-management-section{
    margin-top:22px
}
.dart-management-table td{
    vertical-align:middle
}
.dart-management-table td:first-child{
    min-width:170px
}
.dart-management-table form{
    margin:0
}
.dart-management-table small{
    color:var(--muted)
}

@media(max-width:900px){
    .dart-history-filter-panel{
        grid-template-columns:1fr;
        align-items:stretch
    }
}

@media(max-width:620px){
    .dart-history-filter-panel{
        padding:14px
    }
    .dart-history-filter-buttons{
        display:grid;
        grid-template-columns:1fr 1fr
    }
    .dart-history-filter-buttons .button{
        width:100%;
        padding-left:8px;
        padding-right:8px;
        text-align:center
    }
    .dart-history-player-filter-controls{
        grid-template-columns:1fr
    }
    .dart-history-player-filter-controls .button{
        width:100%
    }
}


/* Update V24: Gruppenrunden, Aufstiegsplätze und Neustart */
.darts-restart-game-button,
.darts-restart-game-button:hover,
.darts-restart-game-button:focus{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    border-color:rgba(255,255,255,.42)!important
}
.darts-restart-game-button:hover{
    background:rgba(255,255,255,.12)!important
}
.dart-tournament-group-table tr.is-qualifying-place td{
    background:#e9faf2
}
.dart-tournament-group-table tr.is-qualifying-place td:first-child{
    box-shadow:inset 4px 0 0 #36a978
}
.dart-tournament-qualifier-legend{
    display:flex;
    align-items:center;
    gap:9px;
    margin:16px 0 0;
    color:var(--muted);
    font-size:.82rem;
    font-weight:750
}
.dart-tournament-qualifier-legend span{
    display:inline-block;
    width:22px;
    height:14px;
    border:1px solid #a8ddc5;
    border-radius:4px;
    background:#e9faf2
}
.dart-tournament-round .dart-tournament-match-number{
    line-height:1.35
}


/* Update V25: Gruppenwahl und KO-Raster */
.dart-tournament-group-settings{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px
}
.dart-tournament-group-preview{
    margin:14px 0 0
}
.dart-tournament-bracket-panel{
    margin-top:22px;
    overflow:hidden
}
.dart-tournament-bracket-scroll{
    overflow-x:auto;
    overflow-y:hidden;
    padding:8px 2px 16px;
    scrollbar-width:thin
}
.dart-tournament-bracket{
    display:flex;
    align-items:stretch;
    gap:28px;
    min-width:max-content
}
.dart-tournament-bracket-column{
    position:relative;
    display:grid;
    grid-template-rows:auto 1fr;
    width:250px;
    min-width:250px
}
.dart-tournament-bracket-column:not(:last-child):after{
    content:"";
    position:absolute;
    top:50%;
    right:-28px;
    width:28px;
    height:2px;
    background:#cfc7f7
}
.dart-tournament-bracket-column-head{
    display:grid;
    gap:3px;
    margin-bottom:12px;
    padding:0 4px
}
.dart-tournament-bracket-column-head span{
    color:var(--muted);
    font-size:.7rem;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.06em
}
.dart-tournament-bracket-column-head strong{
    font-size:1rem
}
.dart-tournament-bracket-matches{
    display:flex;
    flex-direction:column;
    justify-content:space-around;
    gap:14px
}
.dart-tournament-bracket-match{
    position:relative;
    display:grid;
    gap:5px;
    padding:10px;
    border:1px solid var(--border);
    border-radius:14px;
    background:#fff;
    box-shadow:0 8px 24px rgba(42,28,103,.06)
}
.dart-tournament-bracket-match:after{
    content:"";
    position:absolute;
    top:50%;
    right:-15px;
    width:15px;
    height:2px;
    background:#cfc7f7
}
.dart-tournament-bracket-column:last-child
.dart-tournament-bracket-match:after{
    display:none
}
.dart-tournament-bracket-match>small{
    color:var(--muted);
    font-size:.65rem;
    font-weight:800
}
.dart-tournament-bracket-match>span{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    min-height:34px;
    padding:7px 9px;
    border-radius:9px;
    background:var(--surface-soft);
    font-size:.78rem;
    font-weight:800
}
.dart-tournament-bracket-match>span.is-winner{
    background:#e8faf2;
    color:#147457
}
.dart-tournament-bracket-match.is-completed{
    border-color:#bde5d6;
    background:#f8fffb
}
.dart-tournament-bracket-match.is-projected{
    border-style:dashed;
    background:#faf9ff
}
.dart-tournament-bracket-match.is-projected>span{
    color:#655d7d;
    font-style:italic
}
.dart-tournament-double-ko-bracket
.dart-tournament-bracket-column{
    width:270px;
    min-width:270px
}
.dart-tournament-bracket-column.is-next-round{
    align-content:start
}
.dart-tournament-bracket-note,
.dart-tournament-bracket-empty{
    padding:16px;
    border:1px dashed #bdb2ef;
    border-radius:15px;
    background:#f8f6ff
}
.dart-tournament-bracket-note p,
.dart-tournament-bracket-empty p{
    margin:7px 0 0;
    color:var(--muted);
    line-height:1.5
}

@media(max-width:720px){
    .dart-tournament-group-settings{
        grid-template-columns:1fr
    }
    .dart-tournament-bracket-column{
        width:215px;
        min-width:215px
    }
    .dart-tournament-double-ko-bracket
    .dart-tournament-bracket-column{
        width:225px;
        min-width:225px
    }
}


/* Update V26: Bullwurf vor dem Match */
.darts-bull-throw{
    max-width:760px;
    margin:20px auto 0;
    padding:34px;
    text-align:center
}
.darts-bull-throw-icon{
    display:grid;
    place-items:center;
    width:72px;
    height:72px;
    margin:0 auto 14px;
    border:8px solid #4d36c7;
    border-radius:50%;
    background:#f3f0ff;
    color:#4d36c7;
    font-size:2rem;
    font-weight:900;
    line-height:1
}
.darts-bull-throw h2{
    margin:5px 0 9px
}
.darts-bull-throw p{
    max-width:560px;
    margin:0 auto;
    color:var(--muted)
}
.darts-bull-player-buttons{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    max-width:620px;
    margin:24px auto 15px
}
.darts-bull-player-buttons .button{
    min-height:58px;
    white-space:normal;
    line-height:1.25
}
.darts-bull-throw>small{
    display:block;
    color:var(--muted);
    font-weight:750
}

@media(max-width:620px){
    .darts-bull-throw{
        margin-top:10px;
        padding:24px 16px
    }
    .darts-bull-throw-icon{
        width:60px;
        height:60px;
        border-width:7px;
        font-size:1.7rem
    }
    .darts-bull-player-buttons{
        grid-template-columns:1fr;
        gap:9px;
        margin-top:20px
    }
    .darts-bull-player-buttons .button{
        width:100%
    }
}


/* Update V27: Steeldart/E-Dart und händische Legstände */
.dart-tournament-basic-fields{
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);
    gap:14px;
    margin-bottom:18px
}
.dart-tournament-basic-fields small{
    display:block;
    margin-top:6px;
    color:var(--muted);
    line-height:1.45
}
.dart-tournament-steel-actions{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:7px
}
.dart-tournament-manual-result-form{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr) auto;
    align-items:end;
    gap:10px;
    width:100%;
    margin-top:12px;
    padding:14px;
    border:1px solid #d9d2ff;
    border-radius:14px;
    background:#f8f6ff
}
.dart-tournament-manual-result-form[hidden]{
    display:none!important
}
.dart-tournament-manual-result-form.is-visible{
    animation:dartManualResultOpen .18s ease-out
}
.dart-tournament-leg-input{
    display:grid;
    gap:5px
}
.dart-tournament-leg-input label{
    overflow:hidden;
    color:#443a62;
    font-size:.73rem;
    font-weight:850;
    text-overflow:ellipsis;
    white-space:nowrap
}
.dart-tournament-leg-input input{
    min-width:0;
    height:43px;
    text-align:center;
    font-size:1.18rem;
    font-weight:900
}
.dart-tournament-result-separator{
    align-self:center;
    padding-bottom:8px;
    color:#5b45cf;
    font-size:1.5rem;
    font-weight:900
}
.dart-tournament-manual-result-form>small{
    grid-column:1/-1;
    color:var(--muted);
    line-height:1.45
}
@keyframes dartManualResultOpen{
    from{
        opacity:0;
        transform:translateY(-5px)
    }
    to{
        opacity:1;
        transform:translateY(0)
    }
}

@media(max-width:760px){
    .dart-tournament-basic-fields{
        grid-template-columns:1fr
    }
    .dart-tournament-steel-actions{
        display:grid;
        grid-template-columns:1fr;
        width:100%
    }
    .dart-tournament-steel-actions .button{
        width:100%
    }
    .dart-tournament-manual-result-form{
        grid-template-columns:1fr auto 1fr
    }
    .dart-tournament-manual-result-form>.button{
        grid-column:1/-1;
        width:100%
    }
}

@media(max-width:480px){
    .dart-tournament-manual-result-form{
        grid-template-columns:1fr auto 1fr;
        padding:11px;
        gap:7px
    }
    .dart-tournament-leg-input label{
        font-size:.64rem
    }
}


/* Update V28: kompakte Turniertabellen und Statistikseiten */
.dart-tournament-match-card{
    grid-template-columns:90px minmax(0,1fr) minmax(310px,340px)
}
.dart-tournament-match-action{
    width:100%
}
.dart-tournament-steel-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:7px;
    width:100%
}
.dart-tournament-steel-actions .button{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:37px;
    padding-left:8px;
    padding-right:8px;
    text-align:center;
    white-space:normal;
    line-height:1.15
}
.button.button-disabled{
    pointer-events:none;
    opacity:.55;
    cursor:not-allowed
}
.button-light{
    background:#fff!important;
    border-color:#fff!important;
    color:#38239f!important
}

/* Gruppentabelle ohne horizontales Scrollen */
.dart-tournament-group-table .table-wrap{
    overflow:visible
}
.dart-tournament-group-table table{
    width:100%;
    min-width:0!important;
    table-layout:fixed
}
.dart-tournament-group-table th,
.dart-tournament-group-table td{
    overflow:hidden;
    padding:7px 4px!important;
    font-size:.72rem;
    text-overflow:ellipsis
}
.dart-tournament-group-table th{
    font-size:.62rem;
    letter-spacing:.035em;
    white-space:normal
}
.dart-tournament-group-table th:nth-child(1),
.dart-tournament-group-table td:nth-child(1){
    width:7%;
    text-align:center
}
.dart-tournament-group-table th:nth-child(2),
.dart-tournament-group-table td:nth-child(2){
    width:37%;
    overflow-wrap:anywhere;
    white-space:normal
}
.dart-tournament-group-table th:nth-child(3),
.dart-tournament-group-table td:nth-child(3),
.dart-tournament-group-table th:nth-child(4),
.dart-tournament-group-table td:nth-child(4),
.dart-tournament-group-table th:nth-child(5),
.dart-tournament-group-table td:nth-child(5){
    width:10%;
    text-align:center
}
.dart-tournament-group-table th:nth-child(6),
.dart-tournament-group-table td:nth-child(6){
    width:26%;
    text-align:center
}

/* Einzelspielstatistik */
.dart-match-stat-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:18px
}
.dart-match-stat-header h2,
.dart-match-stat-manual h2{
    margin:4px 0 7px
}
.dart-match-stat-header p,
.dart-match-stat-manual p{
    margin:0;
    color:var(--muted)
}
.dart-match-stat-player-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px
}
.dart-match-stat-player{
    padding:22px
}
.dart-match-stat-player.is-winner{
    border-color:#83d7b8;
    background:linear-gradient(145deg,#fff,#effcf7)
}
.dart-match-stat-player-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin-bottom:17px
}
.dart-match-stat-player-head h2{
    margin:3px 0 0
}
.dart-match-stat-player-head>strong{
    padding:8px 11px;
    border-radius:11px;
    background:#efecff;
    color:#4b34c4
}
.dart-match-stat-values,
.dart-tournament-stat-values{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px
}
.dart-match-stat-values>div,
.dart-tournament-stat-values>div{
    display:grid;
    gap:4px;
    min-width:0;
    padding:11px;
    border-radius:12px;
    background:var(--surface-soft)
}
.dart-match-stat-values>div.is-primary,
.dart-tournament-stat-values>div.is-primary{
    background:#eeeaff;
    color:#432eb4
}
.dart-match-stat-values span,
.dart-tournament-stat-values span{
    color:var(--muted);
    font-size:.68rem;
    font-weight:750
}
.dart-match-stat-values strong,
.dart-tournament-stat-values strong{
    font-size:1.14rem
}
.dart-match-stat-manual{
    max-width:820px;
    margin:0 auto;
    text-align:center
}

/* Turnierstatistik */
.dart-tournament-stat-summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    margin-bottom:18px;
    background:linear-gradient(145deg,#25116e,#5638d6);
    color:#fff
}
.dart-tournament-stat-summary h2{
    margin:4px 0 7px
}
.dart-tournament-stat-summary .eyebrow,
.dart-tournament-stat-summary p{
    color:rgba(255,255,255,.75)
}
.dart-tournament-stat-summary-values{
    display:grid;
    grid-template-columns:repeat(4,minmax(90px,1fr));
    gap:8px
}
.dart-tournament-stat-summary-values span{
    display:grid;
    gap:3px;
    padding:10px 12px;
    border-radius:12px;
    background:rgba(255,255,255,.12);
    color:rgba(255,255,255,.8);
    font-size:.72rem;
    text-align:center
}
.dart-tournament-stat-summary-values strong{
    color:#fff;
    font-size:1.3rem
}
.dart-tournament-stat-player-list{
    display:grid;
    gap:15px;
    margin-top:18px
}
.dart-tournament-stat-player{
    padding:20px
}
.dart-tournament-stat-player-head{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
    margin-bottom:16px
}
.dart-tournament-stat-player-head h2{
    margin:2px 0
}
.dart-tournament-stat-player-head p{
    margin:0;
    color:var(--muted)
}
.dart-tournament-stat-rank{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    border-radius:14px;
    background:#efecff;
    color:#4931c1;
    font-weight:900
}
.dart-history-detail-actions{
    display:flex;
    justify-content:flex-end;
    margin-bottom:14px
}

@media(max-width:1000px){
    .dart-tournament-match-card{
        grid-template-columns:70px minmax(0,1fr)
    }
    .dart-tournament-match-action{
        grid-column:1/-1;
        display:grid;
        justify-items:stretch
    }
    .dart-tournament-steel-actions{
        max-width:620px;
        margin-left:auto
    }
    .dart-match-stat-player-grid{
        grid-template-columns:1fr
    }
    .dart-tournament-stat-summary{
        align-items:flex-start;
        flex-direction:column
    }
    .dart-tournament-stat-summary-values{
        width:100%
    }
}

@media(max-width:650px){
    .dart-tournament-steel-actions{
        grid-template-columns:1fr 1fr!important
    }
    .dart-tournament-steel-actions .button{
        font-size:.67rem
    }
    .dart-tournament-group-table{
        padding:10px
    }
    .dart-tournament-group-table th,
    .dart-tournament-group-table td{
        padding:6px 2px!important;
        font-size:.65rem
    }
    .dart-tournament-group-table th{
        font-size:.54rem
    }
    .dart-match-stat-values,
    .dart-tournament-stat-values{
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .dart-tournament-stat-summary-values{
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .dart-tournament-stat-player-head{
        grid-template-columns:auto minmax(0,1fr)
    }
    .dart-tournament-stat-player-head .badge{
        grid-column:1/-1;
        justify-self:start
    }
}

.dart-management-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px
}
.dart-management-actions form{
    margin:0
}


/* Update V29: ausklappbare Gruppenrunden und einzeilige Begegnungen */
.dart-tournament-round-details{
    padding:0!important;
    overflow:hidden
}
.dart-tournament-round-details>summary{
    list-style:none;
    cursor:pointer;
    user-select:none;
    margin:0!important;
    padding:14px 16px;
    border-bottom:1px solid transparent
}
.dart-tournament-round-details>summary::-webkit-details-marker{
    display:none
}
.dart-tournament-round-details>summary:after{
    content:"▾";
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    margin-left:auto;
    border-radius:9px;
    background:#efecff;
    color:#4a31c0;
    font-size:.88rem;
    transition:transform .18s ease
}
.dart-tournament-round-details:not([open])>summary:after{
    transform:rotate(-90deg)
}
.dart-tournament-round-details[open]>summary{
    border-bottom-color:var(--border)
}
.dart-tournament-round-details>.dart-tournament-match-list{
    padding:12px 14px 14px
}
.dart-tournament-round-state{
    margin-left:auto;
    padding:5px 8px;
    border-radius:9px;
    background:#eefaf5;
    color:#167455;
    font-size:.66rem;
    font-weight:850;
    white-space:nowrap
}
.dart-tournament-round-details.is-open
.dart-tournament-round-state{
    background:#fff4db;
    color:#946114
}
.dart-tournament-round-details.is-completed
.dart-tournament-round-state{
    background:#eefaf5;
    color:#167455
}

/* Alle Begegnungen bleiben in einer kompakten Zeile */
.dart-tournament-match-list{
    gap:6px
}
.dart-tournament-match-card{
    display:flex!important;
    grid-template-columns:none!important;
    align-items:center;
    flex-wrap:nowrap;
    gap:7px;
    min-width:0;
    padding:7px 9px
}
.dart-tournament-match-number{
    flex:0 0 102px;
    min-width:0;
    overflow:hidden;
    font-size:.64rem;
    line-height:1.25;
    text-overflow:ellipsis;
    white-space:nowrap
}
.dart-tournament-match-players{
    display:flex!important;
    grid-template-columns:none!important;
    align-items:center;
    flex:1 1 260px;
    gap:5px;
    min-width:0
}
.dart-tournament-match-players>span{
    flex:1 1 0;
    min-width:0;
    padding:6px 7px;
    font-size:.72rem;
    line-height:1.15;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
}
.dart-tournament-match-players>span strong{
    flex:0 0 auto
}
.dart-tournament-match-players small{
    flex:0 0 auto;
    padding:0 1px;
    font-size:.58rem
}
.dart-tournament-match-action{
    display:flex!important;
    grid-column:auto!important;
    align-items:center;
    justify-content:flex-end!important;
    flex:0 0 auto;
    gap:5px;
    width:auto!important;
    min-width:0
}
.dart-tournament-match-action>small{
    max-width:100px;
    overflow:hidden;
    font-size:.58rem;
    text-overflow:ellipsis;
    white-space:nowrap
}
.dart-tournament-match-action .badge{
    flex:0 0 auto;
    padding:5px 7px;
    font-size:.58rem
}
.dart-tournament-steel-actions{
    display:flex!important;
    grid-template-columns:none!important;
    flex:0 0 auto;
    gap:5px;
    width:auto!important;
    max-width:none!important;
    margin:0!important
}
.dart-tournament-steel-actions .button,
.dart-tournament-match-action>.button{
    width:auto!important;
    min-height:30px;
    padding:5px 7px;
    font-size:.6rem;
    line-height:1.1;
    white-space:nowrap
}
.dart-tournament-manual-result-form{
    display:flex!important;
    grid-column:auto!important;
    align-items:center;
    flex:0 0 auto;
    gap:5px;
    width:auto;
    margin:0 0 0 2px;
    padding:5px 6px;
    border-radius:10px
}
.dart-tournament-manual-result-form[hidden]{
    display:none!important
}
.dart-tournament-leg-input{
    display:flex;
    align-items:center;
    gap:4px
}
.dart-tournament-leg-input label{
    max-width:72px;
    overflow:hidden;
    font-size:.57rem;
    text-overflow:ellipsis;
    white-space:nowrap
}
.dart-tournament-leg-input input{
    width:40px;
    min-width:40px;
    height:30px;
    padding:3px;
    font-size:.82rem
}
.dart-tournament-result-separator{
    align-self:center;
    padding:0;
    font-size:1rem
}
.dart-tournament-manual-result-form>.button{
    min-height:30px;
    padding:5px 7px;
    font-size:.58rem;
    white-space:nowrap
}
.dart-tournament-manual-result-form>small{
    display:none
}

/* Doppel-KO-Runden klar als Sieger-, Verlierer- und Finalraster ausweisen */
.dart-tournament-double-ko-bracket
.dart-tournament-bracket-match>small{
    color:#4a35bd;
    font-weight:900
}

@media(max-width:1100px){
    .dart-tournament-match-action>small,
    .dart-tournament-match-action>.button-disabled{
        display:none
    }
    .dart-tournament-match-number{
        flex-basis:78px
    }
    .dart-tournament-match-players{
        flex-basis:210px
    }
}

@media(max-width:760px){
    .dart-tournament-round{
        padding:10px
    }
    .dart-tournament-round-details>.dart-tournament-match-list{
        padding:8px
    }
    .dart-tournament-match-card{
        gap:4px;
        padding:5px
    }
    .dart-tournament-match-number{
        flex-basis:48px;
        font-size:.5rem
    }
    .dart-tournament-match-players{
        flex-basis:120px;
        gap:2px
    }
    .dart-tournament-match-players>span{
        padding:5px 4px;
        font-size:.58rem
    }
    .dart-tournament-match-players small{
        font-size:.45rem
    }
    .dart-tournament-steel-actions{
        gap:3px
    }
    .dart-tournament-steel-actions .button,
    .dart-tournament-match-action>.button{
        min-height:27px;
        padding:4px 5px;
        font-size:.5rem
    }
    .dart-tournament-match-action .badge{
        display:none
    }
    .dart-tournament-manual-result-form{
        gap:3px;
        padding:3px 4px
    }
    .dart-tournament-leg-input label{
        display:none
    }
    .dart-tournament-leg-input input{
        width:34px;
        min-width:34px;
        height:27px
    }
    .dart-tournament-manual-result-form>.button{
        min-height:27px;
        padding:4px 5px;
        font-size:.49rem
    }
}

@media(max-width:480px){
    .dart-tournament-match-number{
        display:none
    }
    .dart-tournament-match-players{
        flex-basis:105px
    }
    .dart-tournament-match-players>span{
        font-size:.54rem
    }
    .dart-tournament-steel-actions .button{
        max-width:86px;
        overflow:hidden;
        text-overflow:ellipsis
    }
}

.dart-tournament-seeding-note{
    margin-top:8px!important;
    color:#574b7d!important;
    font-size:.78rem
}

.dart-tournament-mode-note{
    display:block;
    margin-top:7px;
    color:var(--muted);
    line-height:1.45
}


/* Update V30: Check-Button und Overlays direkt über der Scoreeingabe */
.darts-scoreboard[hidden],
.darts-turn-overlay[hidden]{
    display:none!important
}
.darts-turn-panel{
    position:relative
}
.darts-turn-panel>.darts-score-entry{
    grid-column:2;
    grid-row:1
}
.darts-turn-overlay{
    position:relative;
    z-index:20;
    display:flex;
    grid-column:2;
    grid-row:1;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    min-width:0;
    min-height:100%;
    padding:24px;
    border-radius:22px;
    background:linear-gradient(145deg,#fff,#f1eeff);
    color:var(--text);
    text-align:center;
    box-shadow:0 16px 42px rgba(20,12,82,.28)
}
.darts-turn-overlay .eyebrow{
    color:#5942ca
}
.darts-turn-overlay h2{
    margin:6px 0 9px;
    color:#201458;
    font-size:clamp(1.45rem,3vw,2.25rem)
}
.darts-turn-overlay p{
    max-width:540px;
    margin:0;
    color:var(--muted);
    line-height:1.5
}
.darts-turn-panel>.darts-bull-throw{
    width:auto;
    max-width:none;
    margin:0;
    padding:24px
}
.darts-turn-panel>.darts-leg-winner{
    background:linear-gradient(145deg,#e8fff7,#fff)
}
.darts-turn-panel>.darts-leg-winner h2{
    margin-bottom:7px
}
.darts-turn-panel>.darts-leg-winner .button{
    margin-top:18px
}
.darts-turn-panel .darts-bull-throw-icon{
    width:58px;
    height:58px;
    margin:0 auto 10px;
    border-width:6px;
    font-size:1.55rem
}
.darts-turn-panel .darts-bull-player-buttons{
    width:100%;
    max-width:620px;
    margin:19px auto 12px
}
.darts-turn-panel .darts-bull-player-buttons .button{
    min-height:48px
}
.darts-checkout-button{
    background:linear-gradient(145deg,#08764e,#20aa76)!important;
    border-color:transparent!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important
}
.darts-checkout-button:not(:disabled):hover{
    filter:brightness(1.06)
}

/* Nach dem Match werden Restscorekarten einschließlich 0 ausgeblendet. */
.darts-game.is-match-complete .darts-scoreboard,
body.darts-match-complete .darts-scoreboard{
    display:none!important
}

@media(max-width:900px){
    .darts-turn-panel>.darts-score-entry{
        grid-column:1;
        grid-row:2
    }
    .darts-turn-overlay{
        grid-column:1;
        grid-row:2
    }
}

@media(max-width:1600px) and (max-height:1100px){
    body.darts-game-active .darts-turn-panel{
        position:relative
    }
    body.darts-game-active .darts-turn-overlay{
        position:absolute;
        inset:5px;
        z-index:30;
        min-height:0;
        padding:14px;
        border-radius:11px
    }
    body.darts-game-active .darts-turn-overlay h2{
        margin:3px 0 5px;
        font-size:clamp(1rem,3.6vh,1.65rem)
    }
    body.darts-game-active .darts-turn-overlay p{
        font-size:.68rem;
        line-height:1.35
    }
    body.darts-game-active .darts-turn-panel
    .darts-bull-throw-icon{
        width:42px;
        height:42px;
        margin-bottom:5px;
        border-width:5px;
        font-size:1.1rem
    }
    body.darts-game-active .darts-turn-panel
    .darts-bull-player-buttons{
        gap:5px;
        margin:10px auto 6px
    }
    body.darts-game-active .darts-turn-panel
    .darts-bull-player-buttons .button{
        min-height:34px;
        padding:5px 7px;
        font-size:.66rem
    }
    body.darts-game-active .darts-turn-panel
    .darts-leg-winner .button{
        min-height:34px;
        margin-top:9px;
        padding:5px 8px;
        font-size:.68rem
    }
    body.darts-game-active .darts-turn-panel
    .darts-leg-winner p{
        font-size:.75rem
    }
    body.darts-game-active.darts-match-complete .darts-game{
        display:grid;
        grid-template-columns:1fr;
        grid-template-rows:auto minmax(0,1fr);
        grid-template-areas:
            "toolbar"
            "summary";
        overflow:auto
    }
    body.darts-game-active.darts-match-complete .darts-match-summary{
        grid-area:summary;
        grid-column:1
    }
}

@media(max-width:700px) and (orientation:portrait){
    body.darts-game-active .darts-turn-overlay{
        inset:3px;
        padding:9px
    }
    body.darts-game-active .darts-turn-overlay .eyebrow{
        font-size:.5rem
    }
    body.darts-game-active .darts-turn-overlay h2{
        font-size:1rem
    }
    body.darts-game-active .darts-turn-overlay p{
        font-size:.57rem
    }
    body.darts-game-active .darts-turn-panel
    .darts-bull-player-buttons{
        grid-template-columns:1fr;
        margin:7px auto 4px
    }
    body.darts-game-active .darts-turn-panel
    .darts-bull-player-buttons .button{
        min-height:27px;
        padding:4px 6px;
        font-size:.58rem
    }
    body.darts-game-active .darts-turn-panel
    .darts-bull-throw-icon{
        width:34px;
        height:34px;
        border-width:4px;
        font-size:.9rem
    }
}


/* Update V31: echtes Sieger-/Verliererraster */
.dart-tournament-loser-distance{
    margin:16px 0 0;
    padding:16px;
    border:1px solid #d9d2ff;
    border-radius:15px;
    background:#f8f6ff
}
.dart-tournament-loser-distance[hidden]{
    display:none!important
}
.dart-tournament-loser-distance label{
    display:grid;
    grid-template-columns:minmax(220px,1fr) minmax(150px,220px);
    align-items:center;
    gap:12px
}
.dart-tournament-loser-distance small{
    grid-column:1/-1;
    color:var(--muted);
    line-height:1.45
}
.dart-double-ko-side{
    margin-top:20px;
    padding-top:18px;
    border-top:1px solid var(--border)
}
.dart-double-ko-side:first-of-type{
    margin-top:0;
    padding-top:0;
    border-top:0
}
.dart-double-ko-side-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:15px;
    margin-bottom:10px
}
.dart-double-ko-side-head h3{
    margin:3px 0 0
}
.dart-double-ko-side-head>strong{
    padding:7px 10px;
    border-radius:10px;
    background:#efecff;
    color:#4931c1;
    font-size:.74rem;
    white-space:nowrap
}
.dart-double-ko-side-winner
.dart-tournament-bracket-match{
    border-color:#cfc6ff
}
.dart-double-ko-side-loser{
    padding:18px;
    border:1px solid #f1cfb6;
    border-radius:16px;
    background:#fffaf5
}
.dart-double-ko-side-loser
.dart-double-ko-side-head>strong{
    background:#fff0df;
    color:#9b5c1d
}
.dart-double-ko-side-loser
.dart-tournament-bracket-match{
    border-color:#efcfae;
    background:#fff
}
.dart-double-ko-side-grand_final{
    padding:18px;
    border:1px solid #aee1cd;
    border-radius:16px;
    background:#f4fff9
}
.dart-double-ko-side-grand_final
.dart-double-ko-side-head>strong{
    background:#dff8ed;
    color:#157254
}
.dart-double-ko-side-grand_final
.dart-tournament-bracket-match{
    border-color:#9bd5be;
    background:#fff
}

@media(max-width:700px){
    .dart-tournament-loser-distance label{
        grid-template-columns:1fr
    }
    .dart-tournament-loser-distance small{
        grid-column:1
    }
    .dart-double-ko-side-head{
        flex-direction:column
    }
    .dart-double-ko-side-head>strong{
        white-space:normal
    }
}


/* Update V32: Turnierumfang, Rematch und Livescore */
.dart-tournament-basic-fields-three{
    grid-template-columns:repeat(3,minmax(0,1fr))
}
.darts-match-summary-actions{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:10px
}
.darts-match-summary-actions .button{
    min-width:190px
}

/* Vollflächige Livescore-Anzeige */
body.dart-live-score-mode{
    overflow:hidden
}
body.dart-live-score-mode .site-header,
body.dart-live-score-mode .site-footer{
    display:none!important
}
body.dart-live-score-mode main{
    height:100dvh;
    min-height:100dvh;
    overflow:hidden
}
.dart-live-score-page{
    display:flex;
    flex-direction:column;
    width:100%;
    height:100dvh;
    min-height:0;
    padding:10px;
    background:
        radial-gradient(
            circle at top left,
            rgba(101,72,224,.18),
            transparent 30%
        ),
        linear-gradient(145deg,#11102a,#211750);
    color:#fff
}
.dart-live-score-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex:0 0 auto;
    gap:14px;
    min-height:72px;
    padding:8px 12px 12px
}
.dart-live-score-header h1{
    overflow:hidden;
    margin:2px 0;
    color:#fff;
    font-size:clamp(1.15rem,2.4vw,2rem);
    text-overflow:ellipsis;
    white-space:nowrap
}
.dart-live-score-header p,
.dart-live-score-header .eyebrow{
    margin:0;
    color:rgba(255,255,255,.68)
}
.dart-live-score-header-actions{
    display:flex;
    align-items:center;
    gap:10px
}
.dart-live-score-refresh{
    display:flex;
    align-items:center;
    gap:7px;
    padding:7px 10px;
    border-radius:999px;
    background:rgba(18,207,126,.15);
    color:#7ff0bd;
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.06em
}
.dart-live-score-refresh i{
    width:9px;
    height:9px;
    border-radius:50%;
    background:#31d596;
    box-shadow:0 0 0 5px rgba(49,213,150,.15);
    animation:dartLivePulse 1.4s infinite
}
@keyframes dartLivePulse{
    0%,100%{opacity:1}
    50%{opacity:.42}
}
.dart-live-score-refresh.is-updating i{
    animation-duration:.65s
}
.dart-live-score-refresh.is-offline{
    background:rgba(226,65,82,.17);
    color:#ffb5bd
}
.dart-live-score-refresh.is-offline i{
    background:#ef5c6d;
    box-shadow:0 0 0 5px rgba(239,92,109,.15)
}
.dart-live-score-grid{
    display:grid;
    grid-template-columns:
        repeat(
            var(--live-cols-desktop),
            minmax(0,1fr)
        );
    grid-template-rows:
        repeat(
            var(--live-rows-desktop),
            minmax(0,1fr)
        );
    flex:1 1 auto;
    min-height:0;
    gap:8px
}
.dart-live-score-card{
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto;
    min-width:0;
    min-height:0;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.13);
    border-radius:16px;
    background:rgba(255,255,255,.08);
    box-shadow:0 10px 28px rgba(0,0,0,.22);
    backdrop-filter:blur(12px)
}
.dart-live-score-card.is-completed{
    border-color:rgba(74,222,155,.42);
    background:
        linear-gradient(
            145deg,
            rgba(29,144,99,.34),
            rgba(255,255,255,.06)
        )
}
.dart-live-score-card-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    padding:8px 10px;
    border-bottom:1px solid rgba(255,255,255,.1)
}
.dart-live-score-card-head>div{
    min-width:0
}
.dart-live-score-card-head span,
.dart-live-score-card-head strong{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
}
.dart-live-score-card-head span{
    color:rgba(255,255,255,.58);
    font-size:clamp(.48rem,.8vw,.68rem)
}
.dart-live-score-card-head strong{
    margin-top:2px;
    color:#fff;
    font-size:clamp(.64rem,1vw,.86rem)
}
.dart-live-score-status{
    flex:0 0 auto;
    padding:4px 7px;
    border-radius:999px;
    background:#d83153;
    color:#fff!important;
    font-size:.55rem!important;
    font-weight:950;
    letter-spacing:.08em
}
.dart-live-score-card.is-completed
.dart-live-score-status{
    background:#1aa56e
}
.dart-live-score-players{
    display:grid;
    grid-template-columns:repeat(
        var(--live-player-count,2),
        minmax(0,1fr)
    );
    align-items:stretch;
    min-height:0;
    padding:7px;
    gap:6px
}
.dart-live-score-players[data-player-count="2"]{
    --live-player-count:2
}
.dart-live-score-players[data-player-count="3"]{
    --live-player-count:3
}
.dart-live-score-players[data-player-count="4"]{
    --live-player-count:4
}
.dart-live-score-player{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    min-width:0;
    min-height:0;
    padding:6px;
    border-radius:12px;
    background:rgba(255,255,255,.07);
    text-align:center
}
.dart-live-score-player.is-current{
    background:linear-gradient(
        145deg,
        #5a3bd2,
        #7b5df2
    );
    box-shadow:inset 0 0 0 2px rgba(255,255,255,.23)
}
.dart-live-score-player.is-winner{
    background:linear-gradient(
        145deg,
        #148b60,
        #22b17b
    )
}
.dart-live-score-player-name{
    display:block;
    width:100%;
    overflow:hidden;
    color:rgba(255,255,255,.83);
    font-size:clamp(.54rem,1.1vw,.82rem);
    font-weight:850;
    text-overflow:ellipsis;
    white-space:nowrap
}
.dart-live-score-main-value{
    display:block;
    margin:4px 0 1px;
    color:#fff;
    font-size:clamp(1.45rem,5.4vh,4.4rem);
    line-height:.92
}
.dart-live-score-player small{
    color:rgba(255,255,255,.6);
    font-size:clamp(.45rem,.75vw,.62rem)
}
.dart-live-score-card-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    padding:6px 9px;
    border-top:1px solid rgba(255,255,255,.1);
    color:rgba(255,255,255,.65);
    font-size:clamp(.46rem,.7vw,.62rem)
}
.dart-live-score-card-footer span,
.dart-live-score-card-footer strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
}
.dart-live-score-card-footer strong{
    color:#fff
}
.dart-live-score-empty{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:1 1 auto;
    flex-direction:column;
    min-height:0;
    padding:24px;
    text-align:center
}
.dart-live-score-empty h2{
    margin:10px 0 6px;
    color:#fff
}
.dart-live-score-empty p{
    max-width:520px;
    margin:0;
    color:rgba(255,255,255,.65)
}
.dart-live-score-empty-icon{
    display:grid;
    place-items:center;
    width:78px;
    height:78px;
    border:8px solid rgba(255,255,255,.45);
    border-radius:50%;
    color:#fff;
    font-size:2rem
}

@media(max-width:1000px){
    .dart-tournament-basic-fields-three{
        grid-template-columns:1fr 1fr
    }
    .dart-tournament-basic-fields-three>label:first-child{
        grid-column:1/-1
    }
    .dart-live-score-grid{
        grid-template-columns:
            repeat(
                var(--live-cols-tablet),
                minmax(0,1fr)
            );
        grid-template-rows:
            repeat(
                var(--live-rows-tablet),
                minmax(0,1fr)
            )
    }
}

@media(max-width:620px){
    .dart-tournament-basic-fields-three{
        grid-template-columns:1fr
    }
    .dart-tournament-basic-fields-three>label:first-child{
        grid-column:1
    }
    .darts-match-summary-actions{
        display:grid;
        grid-template-columns:1fr 1fr
    }
    .darts-match-summary-actions .button{
        min-width:0;
        width:100%;
        padding-left:8px;
        padding-right:8px
    }
    .dart-live-score-page{
        padding:5px
    }
    .dart-live-score-header{
        min-height:58px;
        padding:5px 6px 7px
    }
    .dart-live-score-header p{
        font-size:.58rem
    }
    .dart-live-score-header-actions .button{
        display:none
    }
    .dart-live-score-grid{
        grid-template-columns:
            repeat(
                var(--live-cols-mobile),
                minmax(0,1fr)
            );
        grid-template-rows:
            repeat(
                var(--live-rows-mobile),
                minmax(0,1fr)
            );
        gap:4px
    }
    .dart-live-score-card{
        border-radius:10px
    }
    .dart-live-score-card-head{
        padding:5px 6px
    }
    .dart-live-score-players{
        padding:4px;
        gap:3px
    }
    .dart-live-score-player{
        padding:3px;
        border-radius:8px
    }
    .dart-live-score-main-value{
        font-size:clamp(1.15rem,4.7vh,2.6rem)
    }
    .dart-live-score-card-footer{
        padding:4px 5px
    }
}


/* Update V33: feste mobile Spielfläche */
html.darts-viewport-locked,
html.darts-viewport-locked body{
    width:100%;
    height:100%;
    overflow:hidden!important;
    overscroll-behavior:none;
    touch-action:none
}
body.darts-game-active{
    position:fixed;
    inset:0;
    width:100%;
    height:100dvh;
    overflow:hidden!important;
    overscroll-behavior:none;
    touch-action:none;
    -webkit-user-select:none;
    user-select:none
}
body.darts-game-active .darts-counter,
body.darts-game-active .darts-game,
body.darts-game-active .darts-scoreboard,
body.darts-game-active .darts-turn-panel,
body.darts-game-active button{
    touch-action:none
}
body.darts-game-active button{
    -webkit-tap-highlight-color:transparent
}
body.darts-game-active .darts-counter-page{
    position:fixed;
    inset:0;
    width:100%;
    height:100dvh;
    overflow:hidden
}

/* Update V33: Turnierstatistik als Tabelle */
.dart-tournament-stat-table-panel{
    padding:0;
    overflow:hidden
}
.dart-tournament-stat-table-panel>.panel-header{
    padding:20px 22px 14px
}
.dart-tournament-stat-table-wrap{
    width:100%;
    overflow:auto;
    border-top:1px solid var(--border)
}
.dart-tournament-stat-table{
    width:100%;
    min-width:1420px;
    border-collapse:separate;
    border-spacing:0;
    font-size:.76rem
}
.dart-tournament-stat-table th,
.dart-tournament-stat-table td{
    padding:10px 9px;
    border-right:1px solid var(--border);
    border-bottom:1px solid var(--border);
    background:#fff;
    text-align:center;
    white-space:nowrap
}
.dart-tournament-stat-table thead th{
    position:sticky;
    top:0;
    z-index:3;
    background:#f4f2ff;
    color:#40356b;
    font-size:.66rem;
    font-weight:900;
    letter-spacing:.025em
}
.dart-tournament-stat-table th:first-child{
    position:sticky;
    left:0;
    z-index:2;
    width:250px;
    min-width:250px;
    max-width:250px;
    text-align:left
}
.dart-tournament-stat-table thead th:first-child{
    z-index:5
}
.dart-tournament-stat-table tbody tr.is-total th,
.dart-tournament-stat-table tbody tr.is-total td{
    background:#30206f;
    color:#fff;
    font-weight:900
}
.dart-tournament-stat-table tbody tr.is-total th:first-child{
    background:#30206f
}
.dart-tournament-stat-table tbody tr.is-winner th,
.dart-tournament-stat-table tbody tr.is-winner td{
    background:#effbf6
}
.dart-tournament-stat-table tbody tr.is-winner th:first-child{
    background:#e5f8ef
}
.dart-tournament-stat-table tbody tr:hover:not(.is-total) th,
.dart-tournament-stat-table tbody tr:hover:not(.is-total) td{
    background:#f8f7ff
}
.dart-tournament-stat-table th small{
    display:block;
    margin-top:4px;
    color:var(--muted);
    font-size:.62rem;
    font-weight:650;
    white-space:normal
}
.dart-tournament-stat-table tr.is-total th small{
    color:rgba(255,255,255,.72)
}
.dart-tournament-stat-player-name{
    display:flex;
    align-items:center;
    gap:7px;
    min-width:0
}
.dart-tournament-stat-player-name i{
    display:grid;
    place-items:center;
    flex:0 0 28px;
    width:28px;
    height:28px;
    border-radius:8px;
    background:#efecff;
    color:#4931c1;
    font-size:.65rem;
    font-style:normal;
    font-weight:900
}
.dart-tournament-stat-player-name strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
}
.dart-tournament-stat-player-name .badge{
    flex:0 0 auto
}

@media(max-width:700px){
    .dart-tournament-stat-table-panel>.panel-header{
        padding:15px 14px 10px
    }
    .dart-tournament-stat-table{
        min-width:1180px;
        font-size:.68rem
    }
    .dart-tournament-stat-table th,
    .dart-tournament-stat-table td{
        padding:8px 6px
    }
    .dart-tournament-stat-table th:first-child{
        width:190px;
        min-width:190px;
        max-width:190px
    }
    .dart-tournament-stat-player-name .badge{
        display:none
    }
}


/* Update V33.1: vollständige Spieloberfläche ab Bildschirmoberkante */
body.darts-game-active .site-header,
body.darts-game-active .site-footer{
    display:none!important
}
body.darts-game-active main{
    position:fixed!important;
    inset:0!important;
    z-index:2147482900!important;
    width:100%!important;
    height:100dvh!important;
    min-height:100dvh!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#eef1f8
}
body.darts-game-active .darts-counter-page{
    position:fixed!important;
    inset:0!important;
    z-index:2147483000!important;
    display:block!important;
    width:100%!important;
    height:100dvh!important;
    min-height:100dvh!important;
    margin:0!important;
    padding:5px 0!important;
    overflow:hidden!important;
    background:#eef1f8
}
body.darts-game-active .darts-counter-page>.container{
    width:100%!important;
    max-width:none!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0 7px!important
}
body.darts-game-active .darts-counter{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important
}
body.darts-game-active .darts-page-heading,
body.darts-game-active .dart-tournament-match-context,
body.darts-game-active .dart-tournament-launch-panel{
    display:none!important
}
body.darts-game-active:not(.darts-match-complete)
.darts-history-panel,
body.darts-game-active:not(.darts-match-complete)
.darts-rules-note{
    display:none!important
}
body.darts-game-active .darts-game{
    display:grid!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    grid-template-columns:
        minmax(230px,.38fr)
        minmax(430px,.62fr)!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    grid-template-areas:
        "toolbar toolbar"
        "scoreboard turn"!important;
    gap:6px!important;
    overflow:hidden!important
}
body.darts-game-active .darts-game-toolbar{
    grid-area:toolbar!important;
    min-height:0!important
}
body.darts-game-active .darts-scoreboard{
    grid-area:scoreboard!important;
    display:grid!important;
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
    gap:5px!important
}
body.darts-game-active
.darts-scoreboard[data-player-count="2"]{
    grid-template-columns:1fr!important;
    grid-template-rows:repeat(2,minmax(0,1fr))!important
}
body.darts-game-active
.darts-scoreboard[data-player-count="3"],
body.darts-game-active
.darts-scoreboard[data-player-count="4"]{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:minmax(0,1fr)!important
}
body.darts-game-active .darts-score-card{
    min-width:0!important;
    min-height:0!important;
    overflow:hidden!important;
    transform:none!important
}
body.darts-game-active .darts-turn-panel{
    grid-area:turn!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    overflow:hidden!important
}
body.darts-game-active .darts-score-entry{
    width:100%!important;
    height:100%!important;
    min-height:0!important
}
body.darts-game-active.darts-match-complete .darts-game{
    grid-template-columns:1fr!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    grid-template-areas:
        "toolbar"
        "summary"!important
}
body.darts-game-active.darts-match-complete
.darts-match-summary{
    grid-area:summary!important;
    min-height:0!important;
    overflow:auto!important
}

@media(max-width:760px) and (orientation:portrait){
    body.darts-game-active .darts-counter-page{
        padding:3px 0!important
    }
    body.darts-game-active .darts-counter-page>.container{
        padding:0 4px!important
    }
    body.darts-game-active .darts-game{
        grid-template-columns:
            minmax(108px,.42fr)
            minmax(0,1.58fr)!important;
        gap:4px!important
    }
    body.darts-game-active
    .darts-scoreboard[data-player-count="2"]{
        grid-template-columns:1fr!important;
        grid-template-rows:repeat(2,minmax(0,1fr))!important
    }
}

@media(orientation:landscape) and (max-height:620px){
    body.darts-game-active .darts-game{
        grid-template-columns:
            minmax(170px,.34fr)
            minmax(390px,.66fr)!important
    }
}


/* Update V33.2: kompakte Hochformatansicht */
.darts-player-finish-hint{
    position:relative;
    z-index:2;
    display:none;
    overflow:hidden;
    margin:7px 0 0;
    padding:5px 7px;
    border-radius:8px;
    background:#ece8ff;
    color:#432bb9;
    font-size:.67rem;
    font-weight:850;
    line-height:1.2;
    text-overflow:ellipsis;
    white-space:nowrap
}
.darts-player-finish-hint[hidden]{
    display:none!important
}

@media(orientation:portrait) and (max-width:900px){
    body.darts-game-active .darts-game{
        grid-template-columns:1fr!important;
        grid-template-rows:
            auto
            minmax(108px,23dvh)
            minmax(0,1fr)!important;
        grid-template-areas:
            "toolbar"
            "scoreboard"
            "turn"!important;
        gap:4px!important
    }

    body.darts-game-active .darts-game-toolbar{
        min-height:34px!important;
        padding:4px 7px!important;
        border-radius:10px!important;
        gap:5px!important
    }
    body.darts-game-active .darts-game-toolbar .eyebrow{
        display:none!important
    }
    body.darts-game-active .darts-game-toolbar strong{
        font-size:.68rem!important;
        line-height:1.15!important
    }
    body.darts-game-active .darts-game-toolbar .inline-actions{
        gap:3px!important
    }
    body.darts-game-active .darts-game-toolbar .button{
        min-height:25px!important;
        padding:3px 6px!important;
        font-size:.53rem!important;
        white-space:nowrap!important
    }

    body.darts-game-active .darts-scoreboard{
        grid-area:scoreboard!important;
        width:100%!important;
        height:100%!important;
        min-height:0!important;
        gap:4px!important
    }
    body.darts-game-active
    .darts-scoreboard[data-player-count="2"]{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        grid-template-rows:minmax(0,1fr)!important
    }
    body.darts-game-active
    .darts-scoreboard[data-player-count="3"]{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        grid-template-rows:minmax(0,1fr)!important
    }
    body.darts-game-active
    .darts-scoreboard[data-player-count="4"]{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        grid-template-rows:repeat(2,minmax(0,1fr))!important
    }

    body.darts-game-active .darts-score-card{
        display:grid!important;
        grid-template-rows:auto minmax(0,1fr) auto auto!important;
        align-content:stretch!important;
        min-width:0!important;
        min-height:0!important;
        padding:6px 7px!important;
        border-width:1px!important;
        border-radius:11px!important;
        box-shadow:0 4px 13px rgba(38,28,110,.12)!important
    }
    body.darts-game-active .darts-score-card:after{
        display:none!important
    }
    body.darts-game-active .darts-score-card-head{
        align-items:center!important;
        gap:4px!important
    }
    body.darts-game-active .darts-score-card-head>div{
        min-width:0!important
    }
    body.darts-game-active .darts-turn-marker{
        min-height:15px!important;
        padding:2px 5px!important;
        font-size:.43rem!important;
        letter-spacing:.025em!important
    }
    body.darts-game-active .darts-score-card h2{
        overflow:hidden!important;
        margin:2px 0 0!important;
        font-size:clamp(.68rem,3.2vw,.94rem)!important;
        line-height:1.05!important;
        text-overflow:ellipsis!important;
        white-space:nowrap!important
    }
    body.darts-game-active .darts-legs{
        flex:0 0 auto!important;
        padding:3px 5px!important;
        border-radius:7px!important;
        font-size:.48rem!important
    }
    body.darts-game-active .darts-legs>span{
        font-size:.4rem!important
    }
    body.darts-game-active .darts-legs strong{
        font-size:.72rem!important
    }
    body.darts-game-active .darts-remaining-score{
        align-self:center!important;
        margin:2px 0!important;
        font-size:clamp(2rem,12vw,3.55rem)!important;
        line-height:.88!important;
        letter-spacing:-.065em!important
    }
    body.darts-game-active .darts-player-stats{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:3px!important
    }
    body.darts-game-active .darts-player-stats span{
        overflow:hidden!important;
        padding:3px 4px!important;
        border-radius:6px!important;
        font-size:.43rem!important;
        line-height:1.05!important;
        text-overflow:ellipsis!important;
        white-space:nowrap!important
    }
    body.darts-game-active .darts-player-stats strong{
        font-size:.55rem!important
    }
    body.darts-game-active .darts-player-finish-hint{
        display:block;
        margin-top:3px!important;
        padding:3px 4px!important;
        border-radius:6px!important;
        font-size:.48rem!important
    }

    body.darts-game-active .darts-turn-panel{
        grid-area:turn!important;
        display:grid!important;
        grid-template-columns:1fr!important;
        grid-template-rows:minmax(0,1fr)!important;
        width:100%!important;
        height:100%!important;
        min-height:0!important;
        padding:4px!important;
        border-radius:11px!important;
        gap:0!important
    }
    body.darts-game-active .darts-current-turn{
        display:none!important
    }
    body.darts-game-active .darts-turn-panel>.darts-score-entry{
        grid-column:1!important;
        grid-row:1!important;
        width:100%!important;
        height:100%!important;
        min-height:0!important;
        padding:7px!important;
        border-radius:9px!important
    }
    body.darts-game-active .darts-turn-overlay{
        grid-column:1!important;
        grid-row:1!important
    }

    body.darts-game-active .darts-score-entry>label{
        margin-bottom:3px!important;
        font-size:.56rem!important
    }
    body.darts-game-active .darts-score-input{
        height:clamp(46px,8dvh,68px)!important;
        padding:4px 8px!important;
        border-radius:10px!important;
        font-size:clamp(2rem,8dvh,3rem)!important
    }
    body.darts-game-active .darts-quick-scores{
        gap:3px!important;
        margin:5px 0!important
    }
    body.darts-game-active .darts-quick-scores button{
        min-height:24px!important;
        padding:3px 1px!important;
        border-radius:6px!important;
        font-size:.54rem!important
    }
    body.darts-game-active .darts-keypad{
        gap:4px!important
    }
    body.darts-game-active .darts-keypad button{
        min-height:clamp(38px,7.2dvh,55px)!important;
        border-radius:8px!important;
        font-size:clamp(.95rem,3.1dvh,1.3rem)!important
    }
    body.darts-game-active .darts-submit-actions{
        gap:4px!important;
        margin-top:5px!important
    }
    body.darts-game-active .darts-submit-actions .button{
        min-height:34px!important;
        padding:5px 6px!important;
        border-radius:8px!important;
        font-size:.65rem!important
    }
    body.darts-game-active .darts-turn-message{
        min-height:0!important;
        margin-top:3px!important;
        padding:3px 5px!important;
        font-size:.52rem!important
    }
}

@media(orientation:portrait) and (max-width:430px){
    body.darts-game-active .darts-game{
        grid-template-rows:
            auto
            minmax(100px,21dvh)
            minmax(0,1fr)!important
    }
    body.darts-game-active .darts-score-card{
        padding:5px!important
    }
    body.darts-game-active .darts-player-stats span{
        padding:2px 3px!important;
        font-size:.39rem!important
    }
    body.darts-game-active .darts-player-finish-hint{
        font-size:.43rem!important
    }
}


/* Update V33.3: ausgeblendete Spielerkarten bleiben sicher unsichtbar */
body.darts-game-active .darts-score-card[hidden],
body.darts-game-active .darts-score-card.is-player-hidden,
body.darts-game-active
.darts-score-card[aria-hidden="true"]{
    display:none!important
}

/* Matchabschluss im Hochformat kompakt und vollständig nutzbar */
@media(orientation:portrait) and (max-width:900px){
    body.darts-game-active.darts-match-complete
    .darts-game{
        grid-template-columns:1fr!important;
        grid-template-rows:auto minmax(0,1fr)!important;
        grid-template-areas:
            "toolbar"
            "summary"!important;
        gap:4px!important
    }

    body.darts-game-active.darts-match-complete
    .darts-game-toolbar{
        min-height:30px!important
    }

    body.darts-game-active.darts-match-complete
    .darts-match-summary{
        grid-area:summary!important;
        display:grid!important;
        grid-template-rows:
            auto
            minmax(0,1fr)
            auto
            auto!important;
        min-width:0!important;
        min-height:0!important;
        height:100%!important;
        padding:8px!important;
        border-width:1px!important;
        border-radius:11px!important;
        overflow:hidden!important
    }

    body.darts-game-active.darts-match-complete
    .darts-match-summary-head{
        display:grid!important;
        grid-template-columns:minmax(0,1fr) auto!important;
        align-items:center!important;
        gap:7px!important;
        margin:0 0 6px!important
    }

    body.darts-game-active.darts-match-complete
    .darts-match-summary-head .eyebrow{
        font-size:.48rem!important
    }

    body.darts-game-active.darts-match-complete
    .darts-match-summary-head h2{
        overflow:hidden!important;
        margin:1px 0 2px!important;
        font-size:clamp(1rem,5vw,1.4rem)!important;
        line-height:1.05!important;
        text-overflow:ellipsis!important;
        white-space:nowrap!important
    }

    body.darts-game-active.darts-match-complete
    .darts-match-summary-head p{
        overflow:hidden!important;
        margin:0!important;
        font-size:.54rem!important;
        line-height:1.15!important;
        text-overflow:ellipsis!important;
        white-space:nowrap!important
    }

    body.darts-game-active.darts-match-complete
    .darts-match-duration{
        display:grid!important;
        gap:1px!important;
        width:auto!important;
        min-width:76px!important;
        padding:5px 7px!important;
        border-radius:8px!important
    }

    body.darts-game-active.darts-match-complete
    .darts-match-duration span{
        font-size:.42rem!important
    }

    body.darts-game-active.darts-match-complete
    .darts-match-duration strong{
        font-size:.68rem!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-stat-grid{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        grid-auto-rows:minmax(0,1fr)!important;
        align-items:stretch!important;
        min-width:0!important;
        min-height:0!important;
        gap:5px!important;
        overflow:auto!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-stat-grid[data-player-count="3"],
    body.darts-game-active.darts-match-complete
    .darts-final-stat-grid[data-player-count="4"]{
        grid-template-columns:repeat(2,minmax(0,1fr))!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-player-card{
        display:grid!important;
        grid-template-rows:auto minmax(0,1fr)!important;
        min-width:0!important;
        min-height:0!important;
        padding:6px!important;
        border-radius:9px!important;
        box-shadow:none!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-player-head{
        align-items:center!important;
        gap:5px!important;
        padding-bottom:4px!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-player-head .eyebrow{
        font-size:.42rem!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-player-head h3{
        overflow:hidden!important;
        margin:1px 0 0!important;
        font-size:.68rem!important;
        line-height:1.05!important;
        text-overflow:ellipsis!important;
        white-space:nowrap!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-leg-score{
        padding:3px 5px!important;
        border-radius:6px!important;
        font-size:.52rem!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-stat-list{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        align-content:start!important;
        gap:0 5px!important;
        min-height:0!important;
        margin:3px 0 0!important;
        overflow:auto!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-stat-list>div{
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        min-width:0!important;
        gap:3px!important;
        padding:3px 0!important;
        border-bottom:1px solid #eeecf5!important;
        font-size:.46rem!important;
        line-height:1.05!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-stat-list dt{
        overflow:hidden!important;
        text-overflow:ellipsis!important;
        white-space:nowrap!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-stat-list dd{
        flex:0 0 auto!important;
        font-size:.49rem!important
    }

    body.darts-game-active.darts-match-complete
    .darts-history-save-status{
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        min-height:31px!important;
        margin:5px 0 0!important;
        padding:4px 5px!important;
        gap:4px!important;
        border-radius:8px!important;
        font-size:.48rem!important;
        line-height:1.1!important
    }

    body.darts-game-active.darts-match-complete
    .darts-history-save-status>span{
        flex:1 1 100%!important;
        overflow:hidden!important;
        text-align:center!important;
        text-overflow:ellipsis!important;
        white-space:nowrap!important
    }

    body.darts-game-active.darts-match-complete
    .darts-history-save-status .button{
        min-height:24px!important;
        padding:3px 5px!important;
        font-size:.47rem!important
    }

    body.darts-game-active.darts-match-complete
    .darts-match-summary-actions{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:4px!important;
        margin-top:5px!important
    }

    body.darts-game-active.darts-match-complete
    .darts-match-summary-actions .button{
        width:100%!important;
        min-width:0!important;
        min-height:31px!important;
        padding:4px 6px!important;
        border-radius:8px!important;
        font-size:.58rem!important
    }
}

@media(orientation:portrait) and (max-width:430px){
    body.darts-game-active.darts-match-complete
    .darts-match-summary{
        padding:5px!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-player-card{
        padding:4px!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-stat-list>div{
        font-size:.4rem!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-stat-list dd{
        font-size:.43rem!important
    }
}


/* Update V33.5: größere Scores und Eingabeflächen im Hochformat */
@media(orientation:portrait) and (max-width:900px){
    body.darts-game-active .darts-game{
        grid-template-rows:
            auto
            minmax(132px,29dvh)
            minmax(0,1fr)!important;
        gap:5px!important
    }

    /* Größere Scorekarten */
    body.darts-game-active .darts-scoreboard{
        gap:5px!important
    }

    body.darts-game-active .darts-score-card{
        padding:8px 9px!important;
        border-radius:13px!important
    }

    body.darts-game-active .darts-score-card h2{
        font-size:clamp(.82rem,3.8vw,1.15rem)!important
    }

    body.darts-game-active .darts-turn-marker{
        min-height:18px!important;
        padding:3px 6px!important;
        font-size:.5rem!important
    }

    body.darts-game-active .darts-legs{
        padding:4px 7px!important;
        font-size:.55rem!important
    }

    body.darts-game-active .darts-legs>span{
        font-size:.46rem!important
    }

    body.darts-game-active .darts-legs strong{
        font-size:.86rem!important
    }

    body.darts-game-active .darts-remaining-score{
        margin:3px 0!important;
        font-size:clamp(3.25rem,16vw,5.4rem)!important;
        line-height:.82!important
    }

    body.darts-game-active .darts-player-stats{
        gap:4px!important
    }

    body.darts-game-active .darts-player-stats span{
        padding:4px 5px!important;
        font-size:.49rem!important
    }

    body.darts-game-active .darts-player-stats strong{
        font-size:.66rem!important
    }

    body.darts-game-active .darts-player-finish-hint{
        margin-top:4px!important;
        padding:4px 5px!important;
        font-size:.55rem!important
    }

    /*
     * Der Eingabebereich erhält feste Funktionszeilen.
     * Das Zahlenfeld nimmt automatisch den gesamten Restplatz ein.
     */
    body.darts-game-active .darts-turn-panel{
        padding:5px!important;
        border-radius:13px!important
    }

    body.darts-game-active
    .darts-turn-panel>.darts-score-entry{
        display:grid!important;
        grid-template-rows:
            auto
            minmax(64px,10dvh)
            minmax(82px,12dvh)
            minmax(0,1fr)
            minmax(44px,7dvh)
            auto!important;
        gap:5px!important;
        padding:8px!important;
        border-radius:11px!important;
        overflow:hidden!important
    }

    body.darts-game-active .darts-score-entry>label{
        margin:0!important;
        font-size:.65rem!important;
        line-height:1!important
    }

    /* Größeres Score-Eingabefeld samt Zahl */
    body.darts-game-active .darts-score-input{
        width:100%!important;
        height:100%!important;
        min-height:64px!important;
        padding:4px 10px!important;
        border-width:2px!important;
        border-radius:12px!important;
        font-size:clamp(3rem,10dvh,4.8rem)!important;
        line-height:1!important
    }

    /* Große Schnelleingaben als zwei vollständige Reihen */
    body.darts-game-active .darts-quick-scores{
        display:grid!important;
        grid-template-columns:repeat(5,minmax(0,1fr))!important;
        grid-template-rows:repeat(2,minmax(0,1fr))!important;
        width:100%!important;
        height:100%!important;
        min-height:82px!important;
        gap:5px!important;
        margin:0!important
    }

    body.darts-game-active .darts-quick-scores button{
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        width:100%!important;
        height:100%!important;
        min-height:0!important;
        padding:4px 2px!important;
        border-width:1px!important;
        border-radius:9px!important;
        font-size:clamp(.76rem,3.4vw,1.05rem)!important;
        font-weight:950!important
    }

    /* Zahlenblock füllt den gesamten verbleibenden Bildschirmplatz */
    body.darts-game-active .darts-keypad{
        display:grid!important;
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        grid-template-rows:repeat(4,minmax(0,1fr))!important;
        width:100%!important;
        height:100%!important;
        min-height:0!important;
        gap:6px!important
    }

    body.darts-game-active .darts-keypad button{
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        width:100%!important;
        height:100%!important;
        min-height:0!important;
        padding:2px!important;
        border-radius:11px!important;
        font-size:clamp(1.45rem,6.2vw,2.3rem)!important;
        font-weight:950!important
    }

    body.darts-game-active
    .darts-keypad .darts-keypad-function{
        font-size:clamp(1.15rem,5vw,1.8rem)!important
    }

    /* Check und Score übernehmen größer */
    body.darts-game-active .darts-submit-actions{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        width:100%!important;
        height:100%!important;
        min-height:44px!important;
        gap:6px!important;
        margin:0!important
    }

    body.darts-game-active .darts-submit-actions .button{
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        width:100%!important;
        height:100%!important;
        min-height:44px!important;
        padding:5px 8px!important;
        border-radius:10px!important;
        font-size:clamp(.76rem,3.1vw,1rem)!important
    }

    body.darts-game-active .darts-turn-message{
        min-height:0!important;
        max-height:22px!important;
        margin:0!important;
        padding:2px 4px!important;
        overflow:hidden!important;
        font-size:.58rem!important;
        line-height:1.1!important
    }
}

/* Sehr kleine Handydisplays: weiterhin groß, aber ohne Abschneiden */
@media(orientation:portrait) and (max-width:430px){
    body.darts-game-active .darts-game{
        grid-template-rows:
            auto
            minmax(122px,27dvh)
            minmax(0,1fr)!important
    }

    body.darts-game-active
    .darts-turn-panel>.darts-score-entry{
        grid-template-rows:
            auto
            minmax(56px,9dvh)
            minmax(72px,11dvh)
            minmax(0,1fr)
            minmax(40px,6.5dvh)
            auto!important;
        gap:4px!important;
        padding:6px!important
    }

    body.darts-game-active .darts-score-input{
        min-height:56px!important;
        font-size:clamp(2.7rem,9dvh,4.1rem)!important
    }

    body.darts-game-active .darts-quick-scores{
        min-height:72px!important;
        gap:4px!important
    }

    body.darts-game-active .darts-quick-scores button{
        font-size:clamp(.68rem,3.2vw,.9rem)!important
    }

    body.darts-game-active .darts-keypad{
        gap:5px!important
    }

    body.darts-game-active .darts-keypad button{
        font-size:clamp(1.3rem,5.8vw,2rem)!important
    }

    body.darts-game-active .darts-submit-actions .button{
        min-height:40px!important;
        font-size:.72rem!important
    }
}


/* Update V33.7: Scores mittig und Statistiktexte größer */
@media(orientation:portrait) and (max-width:900px){
    /* Restscore in den Spielerkarten klar mittig und größer */
    body.darts-game-active .darts-score-card{
        text-align:center!important
    }

    body.darts-game-active .darts-score-card-head{
        text-align:left!important
    }

    body.darts-game-active .darts-remaining-score{
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        width:100%!important;
        text-align:center!important;
        font-size:clamp(3.7rem,18vw,5.9rem)!important;
        line-height:.8!important
    }

    /* Statistikblöcke unten größer */
    body.darts-game-active .darts-player-stats{
        gap:5px!important
    }

    body.darts-game-active .darts-player-stats span{
        display:flex!important;
        flex-direction:column!important;
        align-items:center!important;
        justify-content:center!important;
        text-align:center!important;
        padding:5px 6px!important;
        font-size:.58rem!important;
        line-height:1.08!important
    }

    body.darts-game-active .darts-player-stats strong{
        margin-top:3px!important;
        font-size:.82rem!important;
        line-height:1!important
    }

    body.darts-game-active .darts-player-finish-hint{
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        min-height:28px!important;
        text-align:center!important;
        margin-top:5px!important;
        padding:5px 7px!important;
        font-size:.66rem!important;
        line-height:1.12!important;
        white-space:normal!important
    }

    /* Eingegebene Scorezahl mittig und größer */
    body.darts-game-active .darts-score-input{
        text-align:center!important;
        font-size:clamp(3.35rem,11.2dvh,5.1rem)!important;
        font-weight:950!important
    }

    /* Schnelleingaben ebenfalls präsenter */
    body.darts-game-active .darts-quick-scores button{
        font-size:clamp(.9rem,3.8vw,1.18rem)!important
    }
}

@media(orientation:portrait) and (max-width:430px){
    body.darts-game-active .darts-remaining-score{
        font-size:clamp(3.05rem,17vw,4.8rem)!important
    }

    body.darts-game-active .darts-player-stats span{
        font-size:.5rem!important
    }

    body.darts-game-active .darts-player-stats strong{
        font-size:.74rem!important
    }

    body.darts-game-active .darts-player-finish-hint{
        min-height:24px!important;
        font-size:.57rem!important
    }

    body.darts-game-active .darts-score-input{
        font-size:clamp(3rem,10.2dvh,4.35rem)!important
    }

    body.darts-game-active .darts-quick-scores button{
        font-size:clamp(.8rem,3.5vw,1.02rem)!important
    }
}


/* Update V34: Boardverwaltung in der Turniererstellung */
.dart-tournament-board-management{
    display:grid;
    grid-template-columns:minmax(0,1.5fr) minmax(220px,.5fr);
    align-items:start;
    gap:14px;
    margin-top:18px;
    padding:16px;
    border:1px solid #d9d2ff;
    border-radius:16px;
    background:#f8f6ff
}
.dart-tournament-board-management>[hidden]{
    display:none!important
}
.dart-tournament-board-management label{
    margin:0
}
.dart-tournament-board-management small{
    display:block;
    margin-top:5px;
    color:var(--muted);
    line-height:1.4
}

/* Codes im Turnierplan */
.dart-tournament-board-code-grid{
    display:grid;
    grid-template-columns:repeat(
        auto-fit,
        minmax(170px,1fr)
    );
    gap:10px;
    margin-bottom:15px
}
.dart-tournament-board-code-grid article{
    display:grid;
    gap:4px;
    padding:15px;
    border:1px solid #d8d1ff;
    border-radius:15px;
    background:#f8f6ff;
    text-align:center
}
.dart-tournament-board-code-grid span{
    color:#5d4db5;
    font-size:.72rem;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.055em
}
.dart-tournament-board-code-grid strong{
    color:#24155f;
    font-size:clamp(1.65rem,3vw,2.35rem);
    letter-spacing:.12em
}
.dart-tournament-board-code-grid small{
    color:var(--muted)
}

/* Öffentliche Boardcode-Seite */
.tournament-board-code-panel{
    max-width:620px;
    margin:0 auto
}
.tournament-board-code-input{
    width:100%;
    min-height:84px;
    text-align:center;
    font-size:clamp(2rem,8vw,3.6rem);
    font-weight:950;
    letter-spacing:.15em
}
.tournament-board-connected{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:22px;
    background:linear-gradient(145deg,#18112f,#282073);
    color:#fff
}
.tournament-board-connected h2{
    margin:4px 0;
    color:#fff
}
.tournament-board-connected p,
.tournament-board-connected .eyebrow{
    margin:0;
    color:rgba(255,255,255,.72)
}
.tournament-board-number-badge{
    display:grid;
    place-items:center;
    min-width:130px;
    min-height:70px;
    padding:12px 18px;
    border-radius:17px;
    background:#fff;
    color:#3420a4;
    font-size:1.05rem;
    font-weight:950
}
.tournament-board-match-section+.tournament-board-match-section{
    margin-top:25px
}
.tournament-board-match-grid{
    display:grid;
    grid-template-columns:repeat(
        auto-fit,
        minmax(260px,1fr)
    );
    gap:12px
}
.tournament-board-match-card{
    display:grid;
    align-content:start;
    gap:10px
}
.tournament-board-match-card.is-current{
    border:2px solid #56c39f;
    background:#f3fff9
}
.tournament-board-match-card>small{
    color:var(--muted);
    font-weight:750
}
.tournament-board-match-card h3{
    display:grid;
    gap:3px;
    margin:0;
    font-size:1.18rem
}
.tournament-board-match-card h3 span{
    color:var(--muted);
    font-size:.72rem;
    font-weight:750;
    text-transform:uppercase;
    letter-spacing:.05em
}
.tournament-board-match-card p{
    margin:0;
    color:var(--muted)
}

/*
 * Matchabschluss im Hochformat:
 * Die bisherige Hochformatregel durfte versteckte Eingabebereiche wieder
 * sichtbar machen und griff auf größeren Tablets nicht zuverlässig.
 * Die Zusammenfassung liegt jetzt auf jedem Hochformatdisplay allein und
 * vollständig über der Spieloberfläche.
 */
@media(orientation:portrait){
    body.darts-game-active.darts-match-complete
    .darts-scoreboard,
    body.darts-game-active.darts-match-complete
    .darts-scoreboard[hidden],
    body.darts-game-active.darts-match-complete
    .darts-turn-panel,
    body.darts-game-active.darts-match-complete
    .darts-turn-panel[hidden],
    body.darts-game-active.darts-match-complete
    .darts-winner-panel,
    body.darts-game-active.darts-match-complete
    .darts-history-panel,
    body.darts-game-active.darts-match-complete
    .darts-rules-note{
        display:none!important
    }

    body.darts-game-active.darts-match-complete
    .darts-counter-page,
    body.darts-game-active.darts-match-complete
    .darts-counter-page>.container,
    body.darts-game-active.darts-match-complete
    .darts-counter,
    body.darts-game-active.darts-match-complete
    .darts-game{
        width:100%!important;
        height:100dvh!important;
        min-height:0!important;
        margin:0!important;
        padding:0!important;
        overflow:hidden!important
    }

    body.darts-game-active.darts-match-complete
    .darts-game{
        display:block!important
    }

    body.darts-game-active.darts-match-complete
    .darts-game-toolbar{
        display:none!important
    }

    body.darts-game-active.darts-match-complete
    .darts-match-summary,
    body.darts-game-active.darts-match-complete
    .darts-match-summary:not([hidden]){
        position:fixed!important;
        inset:4px!important;
        z-index:2147483500!important;
        display:grid!important;
        grid-template-rows:auto minmax(0,1fr) auto auto!important;
        width:auto!important;
        height:auto!important;
        min-width:0!important;
        min-height:0!important;
        margin:0!important;
        padding:10px!important;
        border:1px solid #dcd5ff!important;
        border-radius:14px!important;
        overflow:hidden!important;
        background:#f8f7ff!important
    }

    body.darts-game-active.darts-match-complete
    .darts-match-summary-head{
        display:grid!important;
        grid-template-columns:minmax(0,1fr) auto!important;
        align-items:center!important;
        gap:8px!important;
        margin:0 0 7px!important
    }

    body.darts-game-active.darts-match-complete
    .darts-match-summary-head h2{
        overflow:hidden!important;
        margin:2px 0!important;
        font-size:clamp(1.15rem,4vw,1.75rem)!important;
        line-height:1.05!important;
        text-overflow:ellipsis!important;
        white-space:nowrap!important
    }

    body.darts-game-active.darts-match-complete
    .darts-match-summary-head p{
        overflow:hidden!important;
        margin:0!important;
        font-size:.7rem!important;
        text-overflow:ellipsis!important;
        white-space:nowrap!important
    }

    body.darts-game-active.darts-match-complete
    .darts-match-duration{
        min-width:92px!important;
        width:auto!important;
        padding:7px 9px!important;
        border-radius:9px!important
    }

    body.darts-game-active.darts-match-complete
    .darts-match-duration span{
        font-size:.5rem!important
    }

    body.darts-game-active.darts-match-complete
    .darts-match-duration strong{
        font-size:.82rem!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-stat-grid{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        grid-auto-rows:minmax(0,1fr)!important;
        min-width:0!important;
        min-height:0!important;
        gap:7px!important;
        overflow:auto!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-player-card{
        display:grid!important;
        grid-template-rows:auto minmax(0,1fr)!important;
        min-width:0!important;
        min-height:0!important;
        padding:8px!important;
        border-radius:11px!important;
        box-shadow:none!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-player-head{
        align-items:center!important;
        gap:6px!important;
        padding-bottom:5px!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-player-head h3{
        overflow:hidden!important;
        margin:1px 0 0!important;
        font-size:.82rem!important;
        text-overflow:ellipsis!important;
        white-space:nowrap!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-leg-score{
        padding:4px 6px!important;
        font-size:.62rem!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-stat-list{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        align-content:start!important;
        gap:0 7px!important;
        min-height:0!important;
        margin:4px 0 0!important;
        overflow:auto!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-stat-list>div{
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        min-width:0!important;
        gap:4px!important;
        padding:4px 0!important;
        font-size:.57rem!important;
        line-height:1.05!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-stat-list dt{
        overflow:hidden!important;
        text-overflow:ellipsis!important;
        white-space:nowrap!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-stat-list dd{
        flex:0 0 auto!important;
        font-size:.6rem!important
    }

    body.darts-game-active.darts-match-complete
    .darts-history-save-status{
        margin:7px 0 0!important;
        padding:6px!important;
        gap:5px!important;
        border-radius:9px!important;
        font-size:.58rem!important
    }

    body.darts-game-active.darts-match-complete
    .darts-history-save-status .button{
        min-height:28px!important;
        padding:4px 7px!important;
        font-size:.55rem!important
    }

    body.darts-game-active.darts-match-complete
    .darts-match-summary-actions{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:6px!important;
        margin-top:7px!important
    }

    body.darts-game-active.darts-match-complete
    .darts-match-summary-actions .button{
        width:100%!important;
        min-width:0!important;
        min-height:37px!important;
        padding:6px!important;
        font-size:.68rem!important
    }
}

@media(orientation:portrait) and (max-width:620px){
    .dart-tournament-board-management{
        grid-template-columns:1fr
    }

    .tournament-board-connected{
        align-items:flex-start;
        flex-direction:column
    }

    .tournament-board-number-badge{
        width:100%;
        min-height:52px
    }

    body.darts-game-active.darts-match-complete
    .darts-final-stat-grid{
        grid-template-columns:1fr!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-stat-list{
        grid-template-columns:repeat(2,minmax(0,1fr))!important
    }
}

/* Update V35: reduzierte Startseite und persönliche Turnierübersicht */
.dashboard-welcome-card{
    margin-bottom:30px;
    padding:26px 30px
}
.dashboard-welcome-card p{
    margin:6px 0 0;
    color:rgba(255,255,255,.76)
}
.dashboard-overview-sections{
    margin-top:0
}
.dashboard-tournament-section{
    grid-column:1/-1
}
.dashboard-tournament-section .dashboard-section-heading p{
    margin:8px 0 0;
    color:var(--muted)
}
.dashboard-tournament-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px
}
.dashboard-tournament-card{
    display:grid;
    gap:11px;
    min-width:0;
    padding:20px;
    border:1px solid var(--border);
    border-radius:18px;
    background:#fff;
    box-shadow:var(--shadow);
    transition:.2s transform,.2s border-color
}
.dashboard-tournament-card:hover{
    transform:translateY(-2px);
    border-color:#bbb1fb
}
.dashboard-tournament-card-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px
}
.dashboard-tournament-date{
    color:var(--muted);
    font-size:.78rem;
    font-weight:750
}
.dashboard-tournament-card h3{
    margin:0;
    overflow:hidden;
    font-size:1.2rem;
    line-height:1.2;
    text-overflow:ellipsis;
    white-space:nowrap
}
.dashboard-tournament-meta{
    margin:0;
    color:var(--muted);
    font-size:.82rem;
    font-weight:700
}
.dashboard-tournament-player-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:12px 13px;
    border-radius:13px;
    background:#f7f6ff
}
.dashboard-tournament-player-row>span{
    display:grid;
    min-width:0;
    color:var(--muted);
    font-size:.75rem
}
.dashboard-tournament-player-row>span strong{
    overflow:hidden;
    color:var(--text);
    font-size:.9rem;
    text-overflow:ellipsis;
    white-space:nowrap
}
.dashboard-tournament-participation{
    flex:0 0 auto;
    color:var(--primary-dark);
    font-size:.78rem
}
.dashboard-tournament-stats{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap
}
.dashboard-tournament-stats>span{
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:6px 9px;
    border-radius:10px;
    background:#f1f2f7;
    color:var(--muted);
    font-size:.72rem;
    font-weight:750
}
.dashboard-tournament-stats>span strong{
    color:var(--text)
}
.dashboard-tournament-stats .dashboard-tournament-winner{
    background:#e7fbf5;
    color:#176b5d
}
.dashboard-tournament-stats .dashboard-tournament-winner strong{
    color:#176b5d
}

@media(max-width:900px){
    .dashboard-tournament-grid{
        grid-template-columns:1fr
    }
}

@media(max-width:640px){
    .dashboard-welcome-card{
        margin-bottom:22px;
        padding:22px
    }
    .dashboard-tournament-card{
        padding:16px
    }
    .dashboard-tournament-player-row{
        align-items:flex-start;
        flex-direction:column;
        gap:7px
    }
}


/* Update V36: offene Boardspiele als einzeilige Liste */
.tournament-board-match-list-wrap{
    width:100%;
    overflow-x:auto;
    padding-bottom:3px
}
.tournament-board-match-list{
    display:grid;
    gap:8px;
    min-width:820px
}
.tournament-board-match-row{
    display:grid;
    grid-template-columns:
        minmax(150px,.8fr)
        minmax(260px,1.45fr)
        minmax(120px,.55fr)
        minmax(205px,.72fr);
    align-items:center;
    gap:14px;
    padding:11px 13px;
    border-radius:14px;
    box-shadow:none
}
.tournament-board-match-row>div{
    min-width:0
}
.tournament-board-match-round{
    display:flex;
    align-items:center;
    gap:7px;
    overflow:hidden
}
.tournament-board-match-round strong,
.tournament-board-match-round span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
}
.tournament-board-match-round span{
    color:var(--muted);
    font-size:.74rem;
    font-weight:800
}
.tournament-board-match-players{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-width:0;
    text-align:center
}
.tournament-board-match-players strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
}
.tournament-board-match-players span{
    color:var(--muted);
    font-weight:900
}
.tournament-board-match-length{
    color:#4d4672;
    font-size:.8rem;
    font-weight:850;
    text-align:center;
    white-space:nowrap
}
.tournament-board-match-row form{
    margin:0
}
.tournament-board-match-row .button{
    width:100%;
    min-height:38px;
    padding:7px 10px;
    white-space:nowrap
}

@media(max-width:700px){
    .tournament-board-match-list{
        min-width:760px
    }
    .tournament-board-match-row{
        grid-template-columns:
            minmax(135px,.75fr)
            minmax(230px,1.35fr)
            minmax(105px,.5fr)
            minmax(190px,.7fr);
        gap:10px;
        padding:9px 10px
    }
}

/* Beendete Livespiele: kompakte Statistikansicht */
.dart-live-score-player-stats{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
    margin-top:5px;
    gap:3px
}
.dart-live-score-player-stats span{
    display:grid;
    gap:1px;
    padding:4px;
    border-radius:7px;
    background:rgba(255,255,255,.12);
    color:rgba(255,255,255,.65);
    font-size:clamp(.42rem,.68vw,.58rem);
    text-align:center
}
.dart-live-score-player-stats strong{
    color:#fff;
    font-size:clamp(.5rem,.82vw,.68rem)
}
.dart-live-score-card.is-completed
.dart-live-score-player{
    justify-content:flex-start
}


/* Update V37: kompakte Boardzeile ohne abgeschnittene Texte */
.tournament-board-match-list-wrap{
    overflow:visible
}
.tournament-board-match-list{
    min-width:0!important;
    gap:6px
}
.tournament-board-match-row{
    grid-template-columns:
        minmax(0,.9fr)
        minmax(0,1.55fr)
        minmax(0,.85fr)
        minmax(64px,.55fr)!important;
    gap:7px!important;
    padding:8px 9px!important;
    font-size:clamp(.56rem,1.25vw,.74rem)
}
.tournament-board-match-round{
    display:block!important;
    overflow:visible!important;
    line-height:1.18
}
.tournament-board-match-round strong{
    display:block;
    overflow:visible!important;
    font-size:inherit;
    line-height:1.18;
    text-overflow:clip!important;
    white-space:normal!important
}
.tournament-board-match-players{
    gap:4px!important;
    line-height:1.15
}
.tournament-board-match-players strong{
    overflow:visible!important;
    font-size:inherit;
    line-height:1.15;
    overflow-wrap:anywhere;
    text-overflow:clip!important;
    white-space:normal!important
}
.tournament-board-match-players span{
    flex:0 0 auto
}
.tournament-board-match-length{
    overflow:visible;
    font-size:inherit!important;
    line-height:1.15;
    overflow-wrap:anywhere;
    white-space:normal!important
}
.tournament-board-match-row form{
    min-width:0
}
.tournament-board-match-row .button{
    min-width:0!important;
    min-height:30px!important;
    padding:5px 4px!important;
    border-radius:8px!important;
    font-size:clamp(.54rem,1.15vw,.68rem)!important;
    line-height:1.05!important;
    white-space:normal!important
}

@media(max-width:520px){
    .tournament-board-match-row{
        grid-template-columns:
            minmax(0,.9fr)
            minmax(0,1.45fr)
            minmax(0,.8fr)
            minmax(54px,.55fr)!important;
        gap:4px!important;
        padding:7px 6px!important;
        font-size:.52rem
    }

    .tournament-board-match-row .button{
        min-height:28px!important;
        padding:4px 2px!important;
        font-size:.5rem!important
    }
}


/* Update V38: sichtbarer Status der Zwischenstandsübertragung */
.darts-live-connection{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:28px;
    padding:4px 8px;
    border:1px solid #d9d2ff;
    border-radius:999px;
    background:#f2f0ff;
    color:#5644b4;
    font-size:.58rem;
    font-weight:900;
    line-height:1;
    white-space:nowrap
}
.darts-live-connection.is-connecting{
    background:#fff6d8;
    border-color:#ead38a;
    color:#7a5b00
}
.darts-live-connection.is-connected{
    background:#e3f9ef;
    border-color:#9bdabf;
    color:#12694d
}
.darts-live-connection.is-error{
    max-width:240px;
    overflow:hidden;
    background:#ffe5e8;
    border-color:#efabb3;
    color:#9d2636;
    text-overflow:ellipsis
}

@media(orientation:portrait) and (max-width:900px){
    body.darts-game-active .darts-live-connection{
        min-height:24px!important;
        max-width:135px;
        padding:3px 6px!important;
        font-size:.46rem!important;
        overflow:hidden;
        text-overflow:ellipsis
    }
}


/* Update V39: feste Boardplätze und erweiterte LIVE-Statistiken */
.dart-live-board-grid{
    min-height:0
}
.dart-live-score-page.has-recent-results
.dart-live-board-grid{
    flex:1 1 auto
}

.dart-live-score-running-stats{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
    margin-top:5px;
    gap:3px
}
.dart-live-score-running-stats span{
    display:grid;
    gap:1px;
    min-width:0;
    padding:3px 4px;
    border-radius:6px;
    background:rgba(255,255,255,.09);
    color:rgba(255,255,255,.62);
    font-size:clamp(.38rem,.56vw,.5rem);
    line-height:1.08;
    text-align:center
}
.dart-live-score-running-stats strong{
    overflow:hidden;
    color:#fff;
    font-size:clamp(.44rem,.66vw,.58rem);
    text-overflow:ellipsis;
    white-space:nowrap
}
.dart-live-score-running-stats span:nth-child(7){
    grid-column:1/-1
}

.dart-live-score-card.is-coming-up{
    border-color:rgba(255,196,75,.44);
    background:
        linear-gradient(
            145deg,
            rgba(153,103,8,.34),
            rgba(255,255,255,.06)
        )
}
.dart-live-score-card.is-coming-up
.dart-live-score-status{
    background:#d39319
}
.dart-live-coming-up-body{
    display:grid;
    place-content:center;
    min-height:0;
    padding:12px;
    text-align:center
}
.dart-live-coming-up-body>div{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-width:0
}
.dart-live-coming-up-body strong{
    overflow:hidden;
    color:#fff;
    font-size:clamp(.74rem,1.55vw,1.18rem);
    text-overflow:ellipsis;
    white-space:nowrap
}
.dart-live-coming-up-body span{
    color:rgba(255,255,255,.55)
}
.dart-live-coming-up-body p{
    margin:8px 0 0;
    color:#ffd98a;
    font-size:clamp(.54rem,.82vw,.7rem);
    font-weight:850
}

.dart-live-score-card.is-idle{
    border-style:dashed;
    background:rgba(255,255,255,.035)
}
.dart-live-score-card.is-idle
.dart-live-score-status{
    background:#5e6077
}
.dart-live-idle-body{
    display:grid;
    place-content:center;
    min-height:0;
    padding:12px;
    color:rgba(255,255,255,.62);
    text-align:center
}
.dart-live-idle-body>span{
    font-size:clamp(1.3rem,4vh,2.8rem)
}
.dart-live-idle-body strong{
    margin-top:5px;
    color:#fff
}
.dart-live-idle-body p{
    max-width:240px;
    margin:5px auto 0;
    font-size:clamp(.48rem,.72vw,.62rem)
}

.dart-live-unassigned{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    flex:0 0 auto;
    margin-top:6px;
    padding:6px 9px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:9px;
    background:rgba(255,255,255,.06);
    color:rgba(255,255,255,.7);
    font-size:.62rem
}
.dart-live-unassigned strong{
    color:#fff
}

.dart-live-recent-results{
    display:flex;
    flex:0 0 min(31dvh,285px);
    flex-direction:column;
    min-height:0;
    margin-top:8px;
    padding:7px;
    border:1px solid rgba(84,225,160,.28);
    border-radius:13px;
    background:rgba(9,42,34,.42);
    overflow:hidden
}
.dart-live-recent-results-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex:0 0 auto;
    gap:10px;
    padding:0 3px 6px;
    color:rgba(255,255,255,.65);
    font-size:.58rem
}
.dart-live-recent-results-head strong{
    color:#84f0bd;
    font-size:.68rem;
    text-transform:uppercase;
    letter-spacing:.05em
}
.dart-live-recent-results-grid{
    display:grid;
    grid-auto-columns:minmax(380px,1fr);
    grid-auto-flow:column;
    flex:1 1 auto;
    min-height:0;
    gap:7px;
    overflow-x:auto
}
.dart-live-result-card{
    display:grid;
    grid-template-rows:auto minmax(0,1fr);
    min-width:0;
    min-height:0;
    overflow:hidden;
    border:1px solid rgba(84,225,160,.35);
    border-radius:11px;
    background:rgba(26,115,82,.26)
}
.dart-live-result-players{
    display:grid;
    grid-template-columns:repeat(
        var(--live-result-player-count,2),
        minmax(0,1fr)
    );
    min-height:0;
    padding:5px;
    gap:5px
}
.dart-live-result-players[data-player-count="2"]{
    --live-result-player-count:2
}
.dart-live-result-players[data-player-count="3"]{
    --live-result-player-count:3
}
.dart-live-result-players[data-player-count="4"]{
    --live-result-player-count:4
}
.dart-live-result-player{
    min-width:0;
    min-height:0;
    padding:5px;
    border-radius:8px;
    background:rgba(255,255,255,.07);
    overflow:auto
}
.dart-live-result-player.is-winner{
    background:rgba(37,185,124,.3);
    box-shadow:inset 0 0 0 1px rgba(111,247,187,.45)
}
.dart-live-result-player-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:6px;
    padding-bottom:4px;
    border-bottom:1px solid rgba(255,255,255,.1)
}
.dart-live-result-player-head span{
    overflow:hidden;
    color:#fff;
    font-size:.62rem;
    font-weight:850;
    text-overflow:ellipsis;
    white-space:nowrap
}
.dart-live-result-player-head strong{
    flex:0 0 auto;
    color:#8df0c2;
    font-size:.58rem
}
.dart-live-final-stats{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:3px;
    margin-top:4px
}
.dart-live-final-stats span{
    display:grid;
    gap:1px;
    min-width:0;
    padding:3px;
    border-radius:5px;
    background:rgba(255,255,255,.07);
    color:rgba(255,255,255,.58);
    font-size:.4rem;
    line-height:1.05;
    text-align:center
}
.dart-live-final-stats strong{
    overflow:hidden;
    color:#fff;
    font-size:.48rem;
    text-overflow:ellipsis;
    white-space:nowrap
}

@media(max-width:1000px){
    .dart-live-recent-results{
        flex-basis:min(33dvh,300px)
    }
    .dart-live-recent-results-grid{
        grid-auto-columns:minmax(340px,1fr)
    }
    .dart-live-score-running-stats span{
        font-size:.37rem
    }
    .dart-live-score-running-stats strong{
        font-size:.43rem
    }
}

@media(max-width:620px){
    .dart-live-score-page.has-recent-results
    .dart-live-score-header{
        min-height:50px
    }
    .dart-live-recent-results{
        flex-basis:min(35dvh,315px);
        margin-top:4px;
        padding:4px
    }
    .dart-live-recent-results-head{
        padding-bottom:4px;
        font-size:.48rem
    }
    .dart-live-recent-results-grid{
        grid-auto-columns:minmax(300px,1fr);
        gap:4px
    }
    .dart-live-score-running-stats{
        margin-top:3px;
        gap:2px
    }
    .dart-live-score-running-stats span{
        padding:2px;
        font-size:.31rem
    }
    .dart-live-score-running-stats strong{
        font-size:.37rem
    }
    .dart-live-coming-up-body{
        padding:6px
    }
    .dart-live-coming-up-body>div{
        flex-direction:column;
        gap:2px
    }
    .dart-live-coming-up-body strong{
        max-width:100%;
        font-size:.64rem
    }
    .dart-live-coming-up-body span{
        font-size:.5rem
    }
    .dart-live-final-stats{
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:2px
    }
    .dart-live-final-stats span{
        padding:2px;
        font-size:.34rem
    }
    .dart-live-final-stats strong{
        font-size:.39rem
    }
}


/* Update V40: No Score, größere Legs und größere Livescore-Werte */

/* Drei gleich große Aktionsbuttons in einer Zeile */
.darts-submit-actions{
    grid-template-columns:repeat(3,minmax(0,1fr))!important
}
.darts-submit-actions .button{
    min-width:0;
    padding-right:8px;
    padding-left:8px;
    font-size:clamp(.68rem,1.3vw,.88rem);
    white-space:normal
}
.darts-no-score-button{
    border-color:transparent!important;
    background:linear-gradient(145deg,#5e6475,#7a8194)!important;
    color:#fff!important
}

/* Leganzahl rechts oben in den Spielerkarten größer */
.darts-legs{
    display:grid;
    min-width:72px;
    place-items:center;
    padding:8px 12px!important;
    text-align:center
}
.darts-legs>span{
    font-size:.7rem!important;
    line-height:1!important
}
.darts-legs strong{
    display:block;
    margin-top:3px;
    font-size:1.45rem!important;
    line-height:.95!important
}

/* Laufender Livescore: Restscore und Legs deutlich größer */
.dart-live-score-main-value{
    margin:6px 0 3px!important;
    font-size:clamp(2.15rem,7.2vh,5.6rem)!important;
    line-height:.84!important
}
.dart-live-score-legs-line{
    display:flex!important;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:5px;
    color:rgba(255,255,255,.66)!important;
    font-size:clamp(.55rem,.95vw,.78rem)!important;
    line-height:1!important
}
.dart-live-score-legs-line strong{
    color:#fff;
    font-size:clamp(.82rem,1.45vw,1.18rem)!important;
    line-height:1!important
}

/* Live-Statistiken größer */
.dart-live-score-running-stats{
    margin-top:7px!important;
    gap:5px!important
}
.dart-live-score-running-stats span{
    padding:5px 6px!important;
    font-size:clamp(.48rem,.76vw,.66rem)!important;
    line-height:1.12!important
}
.dart-live-score-running-stats strong{
    margin-top:2px;
    font-size:clamp(.58rem,.92vw,.78rem)!important
}

/* Abschlussstatistiken ebenfalls größer */
.dart-live-result-player-head span{
    font-size:.74rem!important
}
.dart-live-result-player-head strong{
    font-size:.72rem!important
}
.dart-live-final-stats{
    gap:4px!important
}
.dart-live-final-stats span{
    padding:4px!important;
    font-size:.48rem!important;
    line-height:1.08!important
}
.dart-live-final-stats strong{
    margin-top:1px;
    font-size:.58rem!important
}

@media(orientation:portrait) and (max-width:900px){
    body.darts-game-active .darts-legs{
        min-width:64px!important;
        padding:6px 9px!important
    }
    body.darts-game-active .darts-legs>span{
        font-size:.56rem!important
    }
    body.darts-game-active .darts-legs strong{
        font-size:1.2rem!important
    }

    body.darts-game-active .darts-submit-actions{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        gap:5px!important
    }
    body.darts-game-active .darts-submit-actions .button{
        min-height:42px!important;
        padding:4px!important;
        font-size:clamp(.58rem,2.7vw,.78rem)!important;
        line-height:1.05!important
    }
}

@media(max-width:620px){
    .dart-live-score-main-value{
        font-size:clamp(1.75rem,6.5vh,3.5rem)!important
    }
    .dart-live-score-legs-line{
        gap:3px;
        font-size:.48rem!important
    }
    .dart-live-score-legs-line strong{
        font-size:.68rem!important
    }
    .dart-live-score-running-stats{
        gap:3px!important
    }
    .dart-live-score-running-stats span{
        padding:3px!important;
        font-size:.39rem!important
    }
    .dart-live-score-running-stats strong{
        font-size:.47rem!important
    }
    .dart-live-final-stats span{
        padding:3px!important;
        font-size:.4rem!important
    }
    .dart-live-final-stats strong{
        font-size:.48rem!important
    }
}


/* Update V41: klappbare Boardverwaltung und Teilnehmerfeld */
.dart-tournament-foldout{
    padding:0!important;
    overflow:hidden
}
.dart-tournament-foldout>summary{
    list-style:none
}
.dart-tournament-foldout>summary::-webkit-details-marker{
    display:none
}
.dart-tournament-foldout-summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    width:100%;
    padding:20px 22px;
    cursor:pointer;
    user-select:none
}
.dart-tournament-foldout-summary:hover{
    background:#faf9ff
}
.dart-tournament-foldout-summary:focus-visible{
    outline:3px solid rgba(91,72,195,.3);
    outline-offset:-3px
}
.dart-tournament-foldout-summary h2{
    margin:3px 0 0
}
.dart-tournament-foldout-summary p{
    margin:5px 0 0;
    color:var(--muted);
    font-size:.82rem
}
.dart-tournament-foldout-summary-meta{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex:0 0 auto;
    gap:10px
}
.dart-tournament-foldout-chevron{
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    border-radius:50%;
    background:#ece9ff;
    color:var(--primary-dark);
    font-size:1.2rem;
    font-weight:900;
    transition:transform .2s ease
}
.dart-tournament-foldout[open]
.dart-tournament-foldout-chevron{
    transform:rotate(180deg)
}
.dart-tournament-foldout-content{
    padding:0 22px 22px;
    border-top:1px solid var(--border)
}
.dart-tournament-foldout-content>.panel-header{
    padding-top:18px
}
.dart-tournament-board-code-grid article.is-connected{
    border-color:#9bdabf;
    background:#f0fff8
}
.dart-tournament-board-code-grid article.is-connected span,
.dart-tournament-board-code-grid article.is-connected small{
    color:#176b5d
}

@media(max-width:640px){
    .dart-tournament-foldout-summary{
        align-items:flex-start;
        padding:16px;
        gap:10px
    }
    .dart-tournament-foldout-summary-meta{
        align-items:flex-end;
        flex-direction:column-reverse
    }
    .dart-tournament-foldout-summary-meta .badge{
        max-width:135px;
        text-align:center
    }
    .dart-tournament-foldout-content{
        padding:0 16px 16px
    }
    .dart-tournament-foldout-content>.panel-header{
        align-items:flex-start;
        flex-direction:column
    }
    .dart-tournament-foldout-content>.panel-header .button{
        width:100%
    }
}


/* Update V42: „Mich hinzufügen“ bei Spieler 1 */
.dart-tournament-player-head-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:7px
}
.dart-tournament-add-me-button{
    min-height:34px;
    padding:6px 10px;
    font-size:.72rem
}

@media(max-width:560px){
    .darts-player-picker-head{
        align-items:flex-start
    }
    .dart-tournament-player-head-actions{
        align-items:stretch;
        flex-direction:column;
        width:min(170px,55%)
    }
    .dart-tournament-player-head-actions .button,
    .dart-tournament-player-head-actions
    .darts-remove-player-button{
        width:100%;
        min-width:0;
        text-align:center
    }
}


/* Update V43: „Mich hinzufügen“ bei Einzelspielen und Zurück-Button */
.darts-player-picker-head-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:7px
}
.darts-add-me-button{
    min-height:34px;
    padding:6px 10px;
    font-size:.72rem
}
.darts-back-game-button{
    min-width:78px
}

@media(max-width:700px){
    .darts-player-picker-head{
        align-items:flex-start
    }
    .darts-player-picker-head-actions{
        align-items:stretch;
        flex-direction:column;
        width:min(170px,55%)
    }
    .darts-player-picker-head-actions .button,
    .darts-player-picker-head-actions
    .darts-remove-player-button{
        width:100%;
        min-width:0;
        text-align:center
    }
}

@media(orientation:portrait) and (max-width:900px){
    body.darts-game-active
    .darts-game-toolbar
    .inline-actions{
        display:grid!important;
        grid-template-columns:
            minmax(0,1fr)
            repeat(3,minmax(0,auto))!important;
        align-items:center!important;
        gap:4px!important
    }
    body.darts-game-active
    .darts-game-toolbar
    .inline-actions
    .button{
        min-width:0!important;
        padding:4px 6px!important;
        font-size:.5rem!important;
        white-space:normal!important
    }
    body.darts-game-active
    .darts-back-game-button{
        min-width:54px!important
    }
}


/* Update V44: Beitragstext nur noch einmal unter der Themenüberschrift */
.news-summary-body{
    line-height:1.55;
    overflow-wrap:anywhere
}
.news-card-content>.news-comments:first-child{
    margin-top:0;
    padding-top:0;
    border-top:0
}


/* Update V45: Restscore-Eingabe und optimierte Tablet-Queransicht */
.darts-rest-score-button{
    grid-column:1/-1;
    min-height:46px!important;
    border:0!important;
    border-radius:12px!important;
    background:linear-gradient(145deg,#21166c,#5940d4)!important;
    color:#fff!important;
    font-size:clamp(.8rem,1.5vw,1rem)!important;
    font-weight:950!important;
    letter-spacing:.02em
}
.darts-rest-score-button[hidden]{
    display:none!important
}
.darts-missed-finish-dialog{
    width:min(560px,100%)
}
.darts-missed-finish-dialog h2{
    margin-bottom:8px
}
.darts-missed-finish-dialog>p{
    margin-top:0;
    color:var(--muted)
}

/*
 * Durch den zusätzlichen Restscore-Button besteht die Zahlentastatur aus:
 * drei Zahlenreihen, einer Restscore-Reihe und der Funktionsreihe.
 */
.darts-keypad{
    grid-template-rows:
        repeat(3,minmax(58px,1fr))
        auto
        minmax(58px,1fr)
}

/* Hochformat: fünf Reihen innerhalb des vorhandenen Eingabebereichs */
@media(orientation:portrait) and (max-width:900px){
    body.darts-game-active .darts-keypad{
        grid-template-rows:
            repeat(3,minmax(0,1fr))
            minmax(36px,.62fr)
            minmax(0,1fr)!important
    }

    body.darts-game-active
    .darts-rest-score-button{
        min-height:36px!important;
        font-size:clamp(.72rem,3.2vw,.95rem)!important
    }
}

/*
 * Tablet im Querformat:
 * - Restpunkte in den Spielerkarten größer
 * - Schnelleingaben besser treffbar
 * - Check, No Score und Score übernehmen deutlich größer
 */
@media(
    orientation:landscape
) and (
    min-width:700px
) and (
    max-width:1400px
) and (
    min-height:500px
) and (
    max-height:1000px
){
    body.darts-game-active .darts-score-card{
        padding:clamp(12px,1.5vw,20px)!important
    }

    body.darts-game-active .darts-remaining-score{
        display:flex!important;
        align-items:center!important;
        min-height:0!important;
        margin:clamp(8px,1.5vh,16px) 0!important;
        font-size:clamp(5.2rem,13.2dvh,8.7rem)!important;
        line-height:.78!important
    }

    body.darts-game-active
    .darts-turn-panel>.darts-score-entry{
        display:grid!important;
        grid-template-rows:
            auto
            minmax(58px,.72fr)
            minmax(42px,.48fr)
            minmax(0,3.5fr)
            minmax(58px,.68fr)
            auto!important;
        gap:7px!important;
        padding:10px!important;
        overflow:hidden!important
    }

    body.darts-game-active .darts-score-input{
        width:100%!important;
        height:100%!important;
        min-height:58px!important;
        padding:4px 10px!important;
        font-size:clamp(2.5rem,7.8dvh,4.4rem)!important
    }

    body.darts-game-active .darts-quick-scores{
        display:grid!important;
        grid-template-columns:repeat(10,minmax(0,1fr))!important;
        width:100%!important;
        height:100%!important;
        min-height:42px!important;
        gap:6px!important;
        margin:0!important
    }

    body.darts-game-active .darts-quick-scores button{
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        width:100%!important;
        height:100%!important;
        min-height:40px!important;
        padding:5px 2px!important;
        border-radius:9px!important;
        font-size:clamp(.82rem,1.45vw,1.08rem)!important;
        font-weight:950!important
    }

    body.darts-game-active .darts-keypad{
        display:grid!important;
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        grid-template-rows:
            repeat(3,minmax(0,1fr))
            minmax(42px,.48fr)
            minmax(0,.76fr)!important;
        width:100%!important;
        height:100%!important;
        min-height:0!important;
        gap:7px!important
    }

    body.darts-game-active .darts-keypad button{
        width:100%!important;
        height:100%!important;
        min-height:0!important;
        padding:3px!important;
        border-radius:10px!important;
        font-size:clamp(1.25rem,3.2dvh,2rem)!important
    }

    body.darts-game-active
    .darts-rest-score-button{
        min-height:42px!important;
        font-size:clamp(.86rem,1.5vw,1.08rem)!important
    }

    body.darts-game-active .darts-submit-actions{
        display:grid!important;
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        width:100%!important;
        height:100%!important;
        min-height:58px!important;
        gap:8px!important;
        margin:0!important
    }

    body.darts-game-active
    .darts-submit-actions .button{
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        width:100%!important;
        height:100%!important;
        min-height:58px!important;
        padding:7px 9px!important;
        border-radius:11px!important;
        font-size:clamp(.84rem,1.45vw,1.08rem)!important;
        font-weight:900!important;
        line-height:1.05!important
    }

    body.darts-game-active .darts-turn-message{
        min-height:18px!important;
        margin:0!important;
        padding:1px 4px!important;
        font-size:.64rem!important
    }
}


/* Kompakte Querformat-Handys: Restscore bleibt vollständig erreichbar */
@media(
    orientation:landscape
) and (
    max-height:499px
){
    body.darts-game-active
    .darts-turn-panel>.darts-score-entry{
        display:grid!important;
        grid-template-rows:
            auto
            minmax(44px,.62fr)
            minmax(34px,.42fr)
            minmax(0,3.4fr)
            minmax(38px,.55fr)
            auto!important;
        gap:4px!important;
        padding:6px!important;
        overflow:hidden!important
    }

    body.darts-game-active .darts-score-input{
        height:100%!important;
        min-height:44px!important;
        font-size:2.2rem!important
    }

    body.darts-game-active .darts-quick-scores{
        grid-template-columns:repeat(10,minmax(0,1fr))!important;
        min-height:34px!important;
        gap:3px!important;
        margin:0!important
    }

    body.darts-game-active .darts-quick-scores button{
        min-height:32px!important;
        padding:2px!important;
        font-size:.58rem!important
    }

    body.darts-game-active .darts-keypad{
        grid-template-rows:
            repeat(3,minmax(0,1fr))
            minmax(28px,.5fr)
            minmax(0,.72fr)!important;
        gap:4px!important
    }

    body.darts-game-active .darts-keypad button{
        min-height:0!important;
        padding:1px!important;
        font-size:1rem!important
    }

    body.darts-game-active
    .darts-rest-score-button{
        min-height:28px!important;
        font-size:.62rem!important
    }

    body.darts-game-active .darts-submit-actions{
        min-height:38px!important;
        gap:4px!important
    }

    body.darts-game-active
    .darts-submit-actions .button{
        min-height:38px!important;
        padding:3px!important;
        font-size:.58rem!important
    }
}


/* Update V46: größere Spielstatistiken, automatisches Leg und Matchende */

/* Vier gut lesbare Kennzahlen direkt unter dem Restscore */
.darts-player-stats{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important
}
.darts-player-stats>span{
    display:grid!important;
    align-content:center;
    min-width:0;
    min-height:48px;
    padding:8px 10px!important;
    font-size:.78rem!important;
    line-height:1.15!important;
    white-space:normal!important
}
.darts-player-stats>span>span{
    overflow:hidden;
    color:var(--muted);
    font-size:.68rem;
    font-weight:750;
    line-height:1.1;
    text-overflow:ellipsis;
    white-space:nowrap
}
.darts-player-stats strong{
    display:block;
    margin-top:4px;
    font-size:1.02rem!important;
    line-height:1!important
}
.darts-player-stats>span[hidden]{
    display:none!important
}

/* Auswahlwerte werden direkt übernommen – nur „Zurück“ bleibt */
.darts-checkout-dialog-actions.is-single-action{
    grid-template-columns:1fr!important
}
.darts-checkout-dialog-actions.is-single-action .button{
    width:100%
}

/* Automatischer Start des nächsten Legs */
.darts-next-leg-countdown{
    margin:12px 0 0;
    padding:9px 12px;
    border-radius:11px;
    background:#f0edff;
    color:#4a35b7;
    font-size:.82rem;
    font-weight:750
}
.darts-next-leg-countdown strong{
    display:inline-block;
    min-width:1.4em;
    color:#211064;
    font-size:1.05rem
}
.darts-next-leg-countdown[hidden]{
    display:none!important
}

/* Tablet im Querformat: Statistikwerte unter den Scores deutlich größer */
@media(
    orientation:landscape
) and (
    min-width:700px
) and (
    max-width:1400px
) and (
    min-height:500px
) and (
    max-height:1000px
){
    body.darts-game-active:not(.darts-match-complete)
    .darts-player-stats{
        gap:7px!important
    }

    body.darts-game-active:not(.darts-match-complete)
    .darts-player-stats>span{
        min-height:52px!important;
        padding:8px!important
    }

    body.darts-game-active:not(.darts-match-complete)
    .darts-player-stats>span>span{
        font-size:clamp(.62rem,1.05vw,.82rem)!important
    }

    body.darts-game-active:not(.darts-match-complete)
    .darts-player-stats strong{
        font-size:clamp(1rem,1.65vw,1.3rem)!important
    }

    /*
     * Eigene vollflächige Matchabschlussansicht.
     * Dadurch wird die Statistik nicht mehr links auf die frühere
     * Scoreboard-Spalte zusammengedrückt.
     */
    body.darts-game-active.darts-match-complete
    .darts-scoreboard,
    body.darts-game-active.darts-match-complete
    .darts-turn-panel,
    body.darts-game-active.darts-match-complete
    .darts-winner-panel,
    body.darts-game-active.darts-match-complete
    .darts-history-panel,
    body.darts-game-active.darts-match-complete
    .darts-rules-note,
    body.darts-game-active.darts-match-complete
    .darts-game-toolbar{
        display:none!important
    }

    body.darts-game-active.darts-match-complete
    .darts-counter-page,
    body.darts-game-active.darts-match-complete
    .darts-counter-page>.container,
    body.darts-game-active.darts-match-complete
    .darts-counter,
    body.darts-game-active.darts-match-complete
    .darts-game{
        width:100%!important;
        height:100dvh!important;
        min-height:0!important;
        margin:0!important;
        padding:0!important;
        overflow:hidden!important
    }

    body.darts-game-active.darts-match-complete
    .darts-game{
        display:block!important
    }

    body.darts-game-active.darts-match-complete
    .darts-match-summary,
    body.darts-game-active.darts-match-complete
    .darts-match-summary:not([hidden]){
        position:fixed!important;
        inset:6px!important;
        z-index:2147483500!important;
        display:grid!important;
        grid-template-rows:auto minmax(0,1fr) auto auto!important;
        width:auto!important;
        height:auto!important;
        min-width:0!important;
        min-height:0!important;
        margin:0!important;
        padding:12px!important;
        border:1px solid #dcd5ff!important;
        border-radius:15px!important;
        overflow:hidden!important;
        background:#f8f7ff!important
    }

    body.darts-game-active.darts-match-complete
    .darts-match-summary-head{
        display:grid!important;
        grid-template-columns:minmax(0,1fr) auto!important;
        align-items:center!important;
        gap:12px!important;
        margin:0 0 9px!important
    }

    body.darts-game-active.darts-match-complete
    .darts-match-summary-head h2{
        overflow:hidden!important;
        margin:2px 0!important;
        font-size:clamp(1.4rem,3vw,2.15rem)!important;
        line-height:1.05!important;
        text-overflow:ellipsis!important;
        white-space:nowrap!important
    }

    body.darts-game-active.darts-match-complete
    .darts-match-summary-head p{
        overflow:hidden!important;
        margin:0!important;
        font-size:.76rem!important;
        text-overflow:ellipsis!important;
        white-space:nowrap!important
    }

    body.darts-game-active.darts-match-complete
    .darts-match-duration{
        min-width:118px!important;
        padding:9px 12px!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-stat-grid{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        min-width:0!important;
        min-height:0!important;
        gap:10px!important;
        overflow:hidden!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-player-card{
        display:grid!important;
        grid-template-rows:auto minmax(0,1fr)!important;
        min-width:0!important;
        min-height:0!important;
        padding:10px!important;
        border-radius:12px!important;
        overflow:hidden!important;
        box-shadow:none!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-player-head{
        align-items:center!important;
        gap:8px!important;
        padding-bottom:7px!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-player-head h3{
        overflow:hidden!important;
        margin:2px 0 0!important;
        font-size:1rem!important;
        text-overflow:ellipsis!important;
        white-space:nowrap!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-leg-score{
        padding:5px 8px!important;
        font-size:.72rem!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-stat-list{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        align-content:start!important;
        gap:0 12px!important;
        min-height:0!important;
        margin:5px 0 0!important;
        overflow:auto!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-stat-list>div{
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        min-width:0!important;
        gap:6px!important;
        padding:5px 0!important;
        font-size:.66rem!important;
        line-height:1.08!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-stat-list dt{
        overflow:hidden!important;
        text-overflow:ellipsis!important;
        white-space:nowrap!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-stat-list dd{
        flex:0 0 auto!important;
        font-size:.7rem!important
    }

    body.darts-game-active.darts-match-complete
    .darts-history-save-status{
        margin:8px 0 0!important;
        padding:7px!important;
        gap:6px!important;
        border-radius:9px!important;
        font-size:.62rem!important
    }

    body.darts-game-active.darts-match-complete
    .darts-match-summary-actions{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:8px!important;
        margin-top:8px!important
    }

    body.darts-game-active.darts-match-complete
    .darts-match-summary-actions .button{
        width:100%!important;
        min-height:40px!important;
        padding:7px!important;
        font-size:.72rem!important
    }
}

/* Hochformat: vier Kennzahlen weiterhin lesbar und platzsparend */
@media(orientation:portrait) and (max-width:900px){
    body.darts-game-active:not(.darts-match-complete)
    .darts-player-stats{
        gap:3px!important
    }

    body.darts-game-active:not(.darts-match-complete)
    .darts-player-stats>span{
        min-height:34px!important;
        padding:4px!important
    }

    body.darts-game-active:not(.darts-match-complete)
    .darts-player-stats>span>span{
        font-size:.48rem!important
    }

    body.darts-game-active:not(.darts-match-complete)
    .darts-player-stats strong{
        margin-top:2px!important;
        font-size:.64rem!important
    }

    .darts-next-leg-countdown{
        margin-top:8px;
        padding:7px 9px;
        font-size:.7rem
    }
}


/* Update V47: Letzte Aufnahme und korrigierte Checkout-Overlays */
.darts-score-value-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(112px,.34fr);
    align-items:center;
    gap:12px;
    min-width:0
}
.darts-score-value-row .darts-remaining-score{
    min-width:0
}
.darts-last-visit{
    display:grid;
    align-content:center;
    justify-items:center;
    min-width:0;
    min-height:70px;
    padding:9px 10px;
    border:1px solid rgba(84,70,171,.16);
    border-radius:13px;
    background:rgba(255,255,255,.22);
    text-align:center
}
.darts-last-visit span{
    color:var(--muted);
    font-size:.68rem;
    font-weight:800;
    line-height:1.1
}
.darts-last-visit strong{
    display:block;
    margin-top:5px;
    color:inherit;
    font-size:1.5rem;
    line-height:1
}
.darts-score-card.is-active .darts-last-visit{
    border-color:rgba(255,255,255,.22);
    background:rgba(255,255,255,.13)
}
.darts-score-card.is-active .darts-last-visit span{
    color:rgba(255,255,255,.72)
}
.darts-score-card.is-active .darts-last-visit strong{
    color:#fff
}

/* Nach der Zahlenauswahl wird sofort übernommen – kein unterer Buttonbereich */
.darts-checkout-dialog>.darts-stat-question:last-of-type{
    margin-bottom:0
}
.darts-checkout-dialog-actions.is-single-action{
    display:none!important
}

@media(orientation:portrait) and (max-width:900px){
    body.darts-game-active:not(.darts-match-complete)
    .darts-score-value-row{
        grid-template-columns:minmax(0,1fr) minmax(76px,.28fr);
        gap:5px
    }

    body.darts-game-active:not(.darts-match-complete)
    .darts-last-visit{
        min-height:48px;
        padding:5px
    }

    body.darts-game-active:not(.darts-match-complete)
    .darts-last-visit span{
        font-size:.44rem
    }

    body.darts-game-active:not(.darts-match-complete)
    .darts-last-visit strong{
        margin-top:3px;
        font-size:.86rem
    }
}

@media(
    orientation:landscape
) and (
    min-width:700px
) and (
    max-width:1400px
) and (
    min-height:500px
) and (
    max-height:1000px
){
    body.darts-game-active:not(.darts-match-complete)
    .darts-score-value-row{
        grid-template-columns:minmax(0,1fr) minmax(122px,.34fr);
        gap:12px
    }

    body.darts-game-active:not(.darts-match-complete)
    .darts-last-visit{
        min-height:82px;
        padding:10px 12px
    }

    body.darts-game-active:not(.darts-match-complete)
    .darts-last-visit span{
        font-size:clamp(.7rem,1.05vw,.88rem)
    }

    body.darts-game-active:not(.darts-match-complete)
    .darts-last-visit strong{
        font-size:clamp(1.6rem,3.2vw,2.3rem)
    }
}


/* Update V48: Checkoutvorschlag als Toolbar-Umschalter */
.darts-checkout-suggestion-toggle{
    min-width:160px;
    max-width:270px;
    overflow:hidden;
    border-color:#c8bfff!important;
    background:#f1efff!important;
    color:#4935b8!important;
    font-weight:900!important;
    text-overflow:ellipsis;
    white-space:nowrap
}
.darts-checkout-suggestion-toggle.is-enabled{
    border-color:#9bdabf!important;
    background:#e7fbf2!important;
    color:#146b50!important
}
.darts-checkout-suggestion-toggle[hidden]{
    display:none!important
}

@media(orientation:portrait) and (max-width:900px){
    body.darts-game-active
    .darts-checkout-suggestion-toggle{
        min-width:0!important;
        max-width:130px!important;
        font-size:.46rem!important
    }
}

@media(
    orientation:landscape
) and (
    min-width:700px
) and (
    max-width:1400px
){
    body.darts-game-active
    .darts-checkout-suggestion-toggle{
        min-width:150px!important;
        max-width:240px!important;
        padding-right:9px!important;
        padding-left:9px!important;
        font-size:.66rem!important
    }
}


/* Update V49: Highfinish-Popup und Zeiträume in Mein Konto */
.dart-highfinish-card{
    position:relative
}
.dart-highfinish-more-link{
    align-self:center;
    margin-top:7px;
    padding:0;
    border:0;
    background:transparent;
    color:var(--primary);
    font:inherit;
    font-size:.7rem;
    font-weight:900;
    text-decoration:underline;
    text-underline-offset:3px;
    cursor:pointer
}
.dart-highfinish-more-link:hover{
    color:var(--primary-dark)
}
.dart-highfinish-more-link:focus-visible{
    outline:3px solid rgba(92,66,232,.25);
    outline-offset:4px;
    border-radius:4px
}
.dart-highfinish-dialog{
    width:min(520px,calc(100vw - 28px));
    max-height:min(720px,calc(100dvh - 28px));
    padding:0;
    border:0;
    border-radius:20px;
    background:#fff;
    box-shadow:0 28px 85px rgba(22,17,59,.28);
    overflow:hidden
}
.dart-highfinish-dialog::backdrop{
    background:rgba(18,14,43,.62);
    backdrop-filter:blur(3px)
}
.dart-highfinish-dialog-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    padding:22px 24px 18px;
    border-bottom:1px solid var(--border);
    background:#faf9ff
}
.dart-highfinish-dialog-head h3{
    margin:4px 0 5px;
    font-size:1.55rem
}
.dart-highfinish-dialog-head p{
    margin:0;
    color:var(--muted);
    font-size:.86rem
}
.dart-highfinish-list{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    max-height:420px;
    padding:20px 24px;
    overflow:auto
}
.dart-highfinish-list>div{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    padding:13px 14px;
    border:1px solid #ddd8ff;
    border-radius:13px;
    background:#f8f7ff
}
.dart-highfinish-list strong{
    color:#29196f;
    font-size:1.25rem
}
.dart-highfinish-list span{
    display:inline-flex;
    min-width:34px;
    justify-content:center;
    padding:4px 7px;
    border-radius:99px;
    background:#e9e4ff;
    color:#4a35b7;
    font-size:.72rem;
    font-weight:900
}
.dart-highfinish-dialog>.button{
    width:calc(100% - 48px);
    margin:0 24px 22px
}

/* Drei Filter: Zeitraumart, Anzahl und Kennzahl */
.dart-stat-chart-controls{
    grid-template-columns:
        minmax(130px,.8fr)
        minmax(140px,.8fr)
        minmax(180px,1.15fr)!important
}
.dart-stat-chart-controls label{
    min-width:0
}
.dart-stat-chart-controls input[data-dart-range-count]{
    width:100%;
    min-width:0
}
.dart-stat-chart-controls select,
.dart-stat-chart-controls input{
    min-height:42px
}

@media(max-width:820px){
    .dart-stat-chart-controls{
        grid-template-columns:repeat(2,minmax(0,1fr))!important
    }
    .dart-stat-chart-controls label:last-child{
        grid-column:1/-1
    }
}

@media(max-width:560px){
    .dart-highfinish-list{
        grid-template-columns:repeat(2,minmax(0,1fr));
        padding:16px
    }
    .dart-highfinish-dialog-head{
        padding:18px
    }
    .dart-highfinish-dialog>.button{
        width:calc(100% - 32px);
        margin:0 16px 16px
    }
    .dart-stat-chart-controls{
        grid-template-columns:1fr!important
    }
    .dart-stat-chart-controls label:last-child{
        grid-column:auto
    }
}

/* Update V50: Vorstand in der Mitgliederverwaltung */
.member-role-stack{
    display:inline-flex;
    align-items:center;
    flex-wrap:wrap;
    gap:6px
}
.badge-board{
    border:1px solid #c8b8ff;
    background:#efeaff;
    color:#4a2ca8
}
.button-board{
    border-color:#5d3dc5!important;
    background:linear-gradient(145deg,#5d3dc5,#7a5be2)!important;
    color:#fff!important
}
.button-board:hover{
    filter:brightness(.96)
}
.news-audience-badge.audience-board,
.event-target.audience-board{
    border-color:#c8b8ff;
    background:#efeaff;
    color:#4a2ca8
}

@media(max-width:700px){
    .member-role-stack{
        align-items:flex-start;
        flex-direction:column;
        gap:4px
    }
}

/* Update V51: Bestätigung vor dem Beenden eines Spiels */
.darts-end-game-dialog{
    width:min(520px,calc(100vw - 28px));
    text-align:center
}
.darts-end-game-dialog h2{
    margin:6px 0 8px;
    font-size:clamp(1.45rem,4vw,2rem)
}
.darts-end-game-dialog>p{
    margin:0;
    color:var(--muted)
}
.darts-end-game-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:20px
}
.darts-end-game-actions .button{
    width:100%;
    min-height:46px
}

@media(max-width:520px){
    .darts-end-game-actions{
        grid-template-columns:1fr
    }
}


/* Update V52: Mein Konto, Push und Online-Dartspiel */
.account-page .page-heading{
    margin-bottom:18px
}
.account-section-navigation{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-bottom:18px
}
.account-section-navigation button{
    min-height:54px;
    padding:11px 13px;
    border:1px solid #d8d1ff;
    border-radius:13px;
    background:#f7f5ff;
    color:#3f2ab8;
    font:inherit;
    font-size:.82rem;
    font-weight:900;
    cursor:pointer
}
.account-section-navigation button:hover{
    border-color:#9f8ef2;
    background:#efecff
}
.account-section-navigation button:focus-visible{
    outline:3px solid rgba(92,66,232,.24);
    outline-offset:2px
}
.account-section-list{
    display:grid;
    gap:14px
}
.account-section{
    scroll-margin-top:92px;
    margin:0!important;
    padding:0!important;
    overflow:hidden
}
.account-section-summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:19px 22px;
    cursor:pointer;
    list-style:none
}
.account-section-summary::-webkit-details-marker{
    display:none
}
.account-section-summary>span:first-child{
    display:grid;
    gap:3px
}
.account-section-summary strong{
    font-size:1.18rem
}
.account-section-summary small{
    color:var(--muted)
}
.account-section-toggle{
    flex:0 0 auto;
    padding:7px 10px;
    border-radius:10px;
    background:#efecff;
    color:#4d35c5;
    font-size:.75rem;
    font-weight:900
}
.account-section[open]>.account-section-summary{
    border-bottom:1px solid var(--border);
    background:#fafaff
}
.account-section-content{
    padding:22px
}
.account-section-content>.panel-header:first-child,
.account-section-content>div>.panel-header:first-child{
    margin-top:0
}
.account-section-content .account-dart-history{
    padding:0;
    border:0;
    box-shadow:none
}
.account-push-settings{
    margin-top:20px;
    padding:16px;
    border:1px solid #d8d1ff;
    border-radius:15px;
    background:#f8f7ff
}
.account-push-settings h3{
    margin:5px 0 7px
}
.account-push-settings p{
    margin:5px 0
}
.account-push-settings [data-push-status][data-state="active"]{
    color:#137053;
    font-weight:900
}
.account-push-settings [data-push-status][data-state="blocked"],
.account-push-settings [data-push-status][data-state="error"]{
    color:#a82f3b;
    font-weight:900
}
.account-push-settings.is-unavailable{
    border-style:dashed
}
.dart-highfinish-dialog-controls{
    display:flex;
    align-items:center;
    gap:8px
}
.dart-highfinish-list>div{
    transition:transform .16s ease
}

/* Online-Spiel erstellen */
.online-game-create-form{
    gap:16px
}
.online-game-info{
    padding:15px;
    border:1px solid #d9d1ff;
    border-radius:14px;
    background:#f7f5ff
}
.online-game-info p{
    margin:6px 0 0;
    color:var(--muted)
}

/* Online-Spiel */
.online-game-page{
    padding-top:20px
}
.online-game-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:12px
}
.online-game-toolbar h1{
    margin:3px 0 0
}
.online-connection-status{
    margin-bottom:12px;
    padding:8px 12px;
    border:1px solid #ddd8ef;
    border-radius:10px;
    background:#f7f7fb;
    color:var(--muted);
    font-size:.75rem;
    font-weight:850
}
.online-connection-status[data-state="connected"]{
    border-color:#a8ddca;
    background:#effcf7;
    color:#17664f
}
.online-connection-status[data-state="error"]{
    border-color:#efb9bd;
    background:#fff3f4;
    color:#9f2f39
}
.online-scoreboard{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin-bottom:14px
}
.online-player-card{
    min-width:0;
    padding:18px;
    border:2px solid var(--border);
    border-radius:19px;
    background:#fff;
    box-shadow:var(--shadow)
}
.online-player-card.is-active{
    border-color:#6b50ee;
    background:linear-gradient(145deg,#2b176f,#5c42e8);
    color:#fff
}
.online-player-card.is-me:not(.is-active){
    border-color:#bbb0f7
}
.online-player-card h2{
    overflow:hidden;
    margin:5px 0;
    font-size:1.3rem;
    text-overflow:ellipsis;
    white-space:nowrap
}
.online-player-score{
    display:block;
    margin:7px 0 12px;
    font-size:clamp(4.2rem,10vw,7rem);
    line-height:.88;
    letter-spacing:-.06em
}
.online-player-meta{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px
}
.online-player-meta>span{
    display:grid;
    gap:3px;
    min-width:0;
    padding:8px;
    border-radius:10px;
    background:var(--surface-soft);
    color:var(--muted);
    font-size:.65rem
}
.online-player-meta strong{
    color:var(--text);
    font-size:.92rem
}
.online-player-card.is-active .eyebrow,
.online-player-card.is-active .online-player-meta>span{
    color:rgba(255,255,255,.74)
}
.online-player-card.is-active .online-player-meta>span{
    background:rgba(255,255,255,.12)
}
.online-player-card.is-active .online-player-meta strong{
    color:#fff
}
.online-turn-layout{
    display:grid;
    grid-template-columns:minmax(0,1.5fr) minmax(250px,.7fr);
    gap:14px
}
.online-turn-panel h2{
    margin:4px 0 13px
}
.online-split-target{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
    padding:12px 14px;
    border-radius:13px;
    background:#f0edff
}
.online-split-target span{
    color:var(--muted);
    font-size:.75rem;
    font-weight:800
}
.online-split-target strong{
    color:#3f2ab8;
    font-size:1.15rem
}
.online-input-wrap input{
    width:100%;
    min-height:74px;
    padding:8px 14px;
    border:2px solid #d4ccfa;
    border-radius:15px;
    font-size:2.8rem;
    font-weight:950;
    text-align:center
}
.online-quick-scores{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:7px;
    margin:10px 0
}
.online-quick-scores button{
    min-height:38px;
    border:1px solid #d7d1ee;
    border-radius:10px;
    background:#fff;
    color:var(--text);
    font:inherit;
    font-size:.74rem;
    font-weight:900;
    cursor:pointer
}
.online-action-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px
}
.online-action-grid .button{
    width:100%;
    min-height:48px
}
.online-turn-message{
    min-height:20px;
    margin:10px 0 0;
    color:var(--muted);
    font-size:.76rem;
    font-weight:800
}
.online-turn-message[data-state="error"]{
    color:#a82f3b
}
.online-turn-message[data-state="success"]{
    color:#137053
}
.online-history-panel h2{
    margin:5px 0 12px
}
.online-history-list{
    display:grid;
    gap:7px
}
.online-history-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    padding:9px 10px;
    border-radius:10px;
    background:var(--surface-soft);
    font-size:.72rem
}
.online-history-row span{
    color:var(--muted);
    text-align:right
}
.online-leg-complete,
.online-match-complete{
    margin-top:14px;
    text-align:center
}
.online-checkout-modal{
    position:fixed;
    inset:0;
    z-index:2147483600;
    display:grid;
    place-items:center;
    padding:16px
}
.online-checkout-modal[hidden]{
    display:none!important
}
.online-modal-backdrop{
    position:absolute;
    inset:0;
    border:0;
    background:rgba(17,12,46,.68)
}
.online-modal-dialog{
    position:relative;
    z-index:1;
    width:min(520px,100%);
    max-height:calc(100dvh - 32px);
    padding:22px;
    border-radius:20px;
    background:#fff;
    overflow:auto
}
.online-modal-dialog h2{
    margin:4px 0 16px
}
.online-modal-dialog fieldset{
    margin:0 0 15px;
    padding:14px;
    border:1px solid var(--border);
    border-radius:14px
}
.online-modal-dialog legend{
    padding:0 6px;
    font-weight:900
}
.online-choice-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px
}
.online-choice-grid button{
    min-height:50px;
    border:1px solid #cfc7f8;
    border-radius:11px;
    background:#f7f5ff;
    color:#402bb8;
    font:inherit;
    font-size:1.1rem;
    font-weight:950;
    cursor:pointer
}
.online-choice-grid button.is-selected{
    border-color:#4f35d2;
    background:#4f35d2;
    color:#fff
}
.online-cancel-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px
}
.button-danger{
    border-color:#bc3e49!important;
    background:#bc3e49!important;
    color:#fff!important
}

@media(max-width:820px){
    .account-section-navigation{
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .online-turn-layout{
        grid-template-columns:1fr
    }
}
@media(max-width:560px){
    .account-section-navigation{
        grid-template-columns:1fr
    }
    .account-section-summary{
        align-items:flex-start;
        padding:16px
    }
    .account-section-toggle{
        font-size:.65rem
    }
    .account-section-content{
        padding:16px
    }
    .dart-highfinish-dialog-head{
        flex-direction:column
    }
    .dart-highfinish-dialog-controls{
        width:100%;
        justify-content:space-between
    }
    .online-game-toolbar{
        align-items:flex-start
    }
    .online-scoreboard{
        gap:7px
    }
    .online-player-card{
        padding:12px 9px
    }
    .online-player-score{
        font-size:clamp(3.3rem,18vw,5rem)
    }
    .online-player-meta{
        grid-template-columns:1fr
    }
    .online-player-meta>span:nth-child(n+3){
        display:none
    }
    .online-quick-scores{
        grid-template-columns:repeat(5,minmax(0,1fr));
        gap:4px
    }
    .online-quick-scores button{
        padding:5px 2px;
        font-size:.6rem
    }
    .online-cancel-actions{
        grid-template-columns:1fr
    }
}


/* Push-Ereignisse und persönliche Push-Auswahl */
.push-event-settings-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px
}
.push-event-settings-grid .checkbox-card{
    min-height:100%;
    margin:0
}
.push-event-settings-grid .checkbox-card strong{
    line-height:1.3
}
.push-event-settings-grid .checkbox-card em{
    color:#8d5b00;
    font-size:.82rem;
    font-style:normal;
    font-weight:800
}
.push-event-settings-grid .checkbox-card.is-disabled{
    opacity:.72;
    border-style:dashed;
    background:#f1f1f5
}
.account-notification-preferences{
    margin-top:20px;
    padding-top:20px;
    border-top:1px solid #d8d1ff
}
.account-notification-preferences h3{
    margin:5px 0 7px
}
@media(max-width:760px){
    .push-event-settings-grid{
        grid-template-columns:1fr
    }
}


/* Update V55: Split-Score-Trefferanzahl und große Zielanzeige */
.darts-split-target-display{
    display:grid;
    gap:3px;
    margin:12px 0 10px;
    padding:14px 16px;
    border:1px solid rgba(255,255,255,.28);
    border-radius:17px;
    background:rgba(255,255,255,.12);
    text-align:center
}
.darts-split-target-display[hidden]{display:none!important}
.darts-split-target-display span{
    color:rgba(255,255,255,.72);
    font-size:.75rem;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase
}
.darts-split-target-display strong{
    color:#fff;
    font-size:clamp(2.15rem,6vw,4.25rem);
    font-weight:950;
    line-height:1;
    letter-spacing:-.04em
}
.online-score-entry-label{
    display:block;
    margin:0 0 7px;
    color:var(--muted);
    font-size:.8rem;
    font-weight:900;
    letter-spacing:.055em;
    text-transform:uppercase
}
.online-split-target{
    display:grid;
    justify-items:center;
    text-align:center
}
.online-split-target strong{
    font-size:clamp(2rem,6vw,3.8rem);
    font-weight:950;
    line-height:1.05;
    letter-spacing:-.04em
}
@media(max-width:700px){
    .darts-split-target-display{
        margin:7px 0 6px;
        padding:9px 10px;
        border-radius:12px
    }
    .darts-split-target-display strong{
        font-size:clamp(1.8rem,9vw,2.8rem)
    }
}


/* V57 – Terminfilter, einklappbare Termindetails und Kalender als Standardansicht */
.event-category-filter{display:grid;gap:5px;min-width:210px}.event-category-filter>span{font-size:.72rem;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.event-category-filter select{min-height:44px;padding:9px 38px 9px 12px;background-color:#fff}.event-card-details{border-top:1px solid var(--border);background:#fbfbfe}.event-card-details>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 28px;cursor:pointer;list-style:none;color:var(--primary-dark);font-weight:900}.event-card-details>summary::-webkit-details-marker{display:none}.event-card-details>summary:after{content:"＋";display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:10px;background:#ece9ff;color:var(--primary);font-size:1.15rem}.event-card-details[open]>summary:after{content:"−"}.event-card-details>summary>span{flex:1}.event-card-details>summary>small{color:var(--muted);font-weight:750}.event-card-details-body{padding:0 28px 28px}.event-card-details-body>.public-response-details:first-child,.event-card-details-body>.fixed-roster-box:first-child{margin-top:0}.event-card-details-body>.event-response-box{margin:20px -28px -28px;border-top:1px solid var(--border);border-radius:0;background:#f7f7fc}.event-filter-empty{margin-top:0}.past-events[hidden]{display:none!important}
@media(max-width:900px){.event-category-filter{min-width:190px}}
@media(max-width:700px){.event-category-filter{width:100%;min-width:0}.event-card-details>summary{align-items:flex-start;padding:15px 20px}.event-card-details>summary>small{display:none}.event-card-details-body{padding:0 20px 20px}.event-card-details-body>.event-response-box{margin:18px -20px -20px}}

/* Termine V57.2: serverseitige Kalender- und Filteransicht */
.event-view-panel{margin-top:24px}.event-category-filter-form>label{font-size:.72rem;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.view-toggle-button{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.calendar-event{grid-template-columns:auto minmax(0,1fr);text-decoration:none}.calendar-event small{grid-column:2;color:currentColor;opacity:.78;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-empty{padding-top:20px}.event-category-filter-form noscript{display:block;margin-top:7px}

/* Vereinsstatistiken im Dartzähler – V61 Filter und kompakte, sortierbare Tabellen */
.club-stat-page .page-heading p{max-width:760px;color:var(--muted)}
.club-stat-filter-panel{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:22px;margin-bottom:24px}
.club-stat-filter-copy h2{margin:3px 0 5px;font-size:1.25rem}
.club-stat-filter-copy p{margin:0;color:var(--muted)}
.club-stat-filter-copy strong{color:var(--primary-dark)}
.club-stat-filter-form{display:flex;align-items:end;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.club-stat-filter-field{display:grid;gap:6px;min-width:210px}
.club-stat-filter-field>span{font-size:.7rem;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.club-stat-filter-field select{width:100%;min-height:44px;padding:9px 38px 9px 12px;background-color:#fff}
.club-stat-filter-field[hidden]{display:none!important}
.club-stat-filter-form .button{min-height:44px;white-space:nowrap}
.club-stat-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}
.club-stat-overview-grid .stat-card{min-width:0}
.club-stat-section{margin-top:24px;overflow:hidden}
.club-stat-section .panel-header{align-items:flex-start}
.club-stat-table-hint{margin:-4px 0 12px;color:var(--muted);font-size:.74rem;font-weight:650;line-height:1.4}
.club-stat-table-hint strong{color:var(--text)}
.club-stat-table-wrap{width:100%;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:#fff}
.club-stat-table{width:100%;min-width:0;table-layout:fixed;border-collapse:separate;border-spacing:0}
.club-stat-table th,.club-stat-table td{height:31px;padding:4px 1px;overflow:hidden;border-bottom:1px solid var(--border);border-right:1px solid #eef0f6;text-align:center;white-space:nowrap;text-overflow:clip;font-size:clamp(.48rem,.57vw,.66rem);font-weight:750;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.025em}
.club-stat-table thead th{height:34px;padding:0;background:#f4f2ff;color:#54596d;font-size:clamp(.46rem,.54vw,.62rem);font-weight:950;letter-spacing:-.035em}
.club-stat-table tbody tr:last-child th,.club-stat-table tbody tr:last-child td{border-bottom:0}
.club-stat-table tbody tr:hover th,.club-stat-table tbody tr:hover td{background:#faf9ff}
.club-stat-table th:last-child,.club-stat-table td:last-child{border-right:0}
.club-stat-table th:first-child,.club-stat-table td:first-child{text-align:left;background:#fff}
.club-stat-table thead th:first-child{background:#ebe7ff}
.club-stat-table tbody tr:hover th:first-child{background:#faf9ff}
.club-stat-x01-table th:first-child{width:15%}
.club-stat-split-table th:first-child{width:16%}
.club-stat-player-cell{min-width:0;max-width:none;padding-left:6px!important;padding-right:3px!important}
.club-stat-player-cell span{display:block;overflow:hidden;text-overflow:ellipsis;font-size:clamp(.57rem,.69vw,.78rem);font-weight:900;color:var(--text);text-transform:none;letter-spacing:-.02em}
.club-stat-player-cell small{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;font-size:.52rem;color:var(--muted);text-transform:none;letter-spacing:0}
.club-stat-highlight{font-weight:950;color:var(--primary-dark);background:#fbfaff}
.club-stat-sort-button{display:flex;align-items:center;justify-content:center;gap:1px;width:100%;height:100%;min-width:0;margin:0;padding:2px 0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;font-weight:950;line-height:1;letter-spacing:inherit;cursor:pointer}
.club-stat-table thead th:first-child .club-stat-sort-button{justify-content:flex-start;padding-left:6px}
.club-stat-sort-button:hover,.club-stat-sort-button:focus-visible{background:#dfd9ff;color:var(--primary-dark);outline:0}
.club-stat-sort-button abbr{min-width:0;overflow:hidden;border:0;text-decoration:none;text-overflow:clip;white-space:nowrap;cursor:pointer}
.club-stat-sort-icon{flex:0 0 auto;font-size:.48rem;line-height:1;opacity:.62}
.club-stat-table thead th[aria-sort="ascending"],.club-stat-table thead th[aria-sort="descending"]{background:#ddd7ff;color:var(--primary-dark)}
.club-stat-table thead th[aria-sort="ascending"] .club-stat-sort-icon,.club-stat-table thead th[aria-sort="descending"] .club-stat-sort-icon{opacity:1}

@media(max-width:1050px){
    .club-stat-filter-panel{grid-template-columns:1fr}
    .club-stat-filter-form{justify-content:flex-start}
    .club-stat-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .club-stat-section{padding:14px}
    .club-stat-section .panel-header{gap:10px}
    .club-stat-table-hint{font-size:.68rem}
    .club-stat-table th,.club-stat-table td{height:28px;padding:3px 0;font-size:clamp(.43rem,.61vw,.57rem);letter-spacing:-.055em}
    .club-stat-table thead th{height:31px;font-size:clamp(.41rem,.58vw,.54rem)}
    .club-stat-x01-table th:first-child{width:16%}
    .club-stat-split-table th:first-child{width:17%}
    .club-stat-player-cell{padding-left:4px!important}
    .club-stat-player-cell span{font-size:clamp(.49rem,.7vw,.66rem)}
    .club-stat-sort-icon{font-size:.4rem}
}

@media(max-width:700px){
    .club-stat-filter-panel{padding:16px;gap:16px}
    .club-stat-filter-form{display:grid;grid-template-columns:1fr;width:100%}
    .club-stat-filter-field{min-width:0}
    .club-stat-filter-form .button{width:100%}
    .club-stat-overview-grid{grid-template-columns:1fr 1fr;gap:9px}
    .club-stat-overview-grid .stat-card{padding:14px}
    .club-stat-overview-grid .stat-card strong{font-size:1.55rem}
    .club-stat-section{padding:8px;border-radius:14px}
    .club-stat-section .panel-header{display:grid}
    .club-stat-section .panel-header p{font-size:.78rem}
    .club-stat-table-hint{font-size:.6rem;line-height:1.3}
    .club-stat-table-wrap{border-radius:8px}
    .club-stat-table th,.club-stat-table td{height:25px;font-size:.39rem;letter-spacing:-.08em}
    .club-stat-table thead th{height:28px;font-size:.38rem}
    .club-stat-x01-table th:first-child{width:17%}
    .club-stat-split-table th:first-child{width:18%}
    .club-stat-player-cell span{font-size:.45rem}
    .club-stat-player-cell small{display:none}
    .club-stat-sort-icon{font-size:.34rem}
}

/* Projektversion 58 – Turnierserien */
.dart-series-overview-section{margin-bottom:42px}.dart-single-tournament-section{margin-top:36px}.dart-series-overview-heading{margin-bottom:16px}.dart-series-overview-list{display:grid;gap:14px}.dart-series-overview-card{padding:0;overflow:hidden}.dart-series-overview-card>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px}.dart-series-overview-card>summary::-webkit-details-marker{display:none}.dart-series-overview-card[open]>summary{background:#faf9ff;border-bottom:1px solid var(--border)}.dart-series-overview-title{display:grid;min-width:0}.dart-series-overview-title .eyebrow{margin-bottom:5px}.dart-series-overview-title>strong{font-size:1.3rem}.dart-series-overview-title>small{margin-top:4px}.dart-series-overview-body{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px}.dart-series-mini-ranking{display:flex;gap:10px;flex-wrap:wrap}.dart-series-mini-ranking span{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;min-width:210px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#fff}.dart-series-mini-ranking i{font-style:normal;color:var(--primary);font-weight:900}.dart-series-mini-ranking b{font-size:.82rem;color:var(--primary-dark)}.dart-tournament-series-label{display:inline-flex;margin-top:8px;padding:5px 9px;border-radius:99px;background:#ece9ff;color:var(--primary-dark);font-weight:800}.dart-series-basic-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:16px}.dart-series-event-list{display:grid;gap:14px}.dart-series-event-editor{display:grid;grid-template-columns:46px 1fr;gap:14px;padding:16px;border:1px solid var(--border);border-radius:16px;background:#fafaff}.dart-series-event-editor[hidden]{display:none}.dart-series-event-number{width:42px;height:42px;border-radius:13px;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:950}.dart-series-event-fields{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:12px}.dart-series-points-grid{display:grid;gap:12px}.ko-points-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.round-robin-points-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.dart-series-points-grid label{padding:12px;border:1px solid var(--border);border-radius:13px;background:#fafaff}.dart-series-page .page-heading p{color:var(--muted)}.dart-series-summary-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px;background:linear-gradient(145deg,#1b1d31,#303452);color:#fff}.dart-series-summary-panel h2{margin:3px 0 5px;font-size:1.8rem}.dart-series-summary-panel p{margin:0;color:rgba(255,255,255,.72)}.dart-series-summary-values{display:flex;gap:12px;flex-wrap:wrap}.dart-series-summary-values span{min-width:120px;padding:13px 15px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.08)}.dart-series-summary-values strong{display:block;font-size:1.65rem}.dart-series-event-cards{display:grid;gap:14px}.dart-series-event-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:16px;align-items:center;padding:17px;border:1px solid var(--border);border-radius:17px;background:#fff}.dart-series-event-card-index{width:42px;height:42px;border-radius:13px;background:#ece9ff;color:var(--primary-dark);display:grid;place-items:center;font-weight:950}.dart-series-event-card-content h3{margin:4px 0}.dart-series-event-card-content>p{margin:4px 0;color:var(--muted)}.dart-series-event-card-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;max-width:330px}.dart-series-event-winner{color:var(--text)!important}.dart-series-scoring-details,.dart-series-add-event-panel{margin-top:24px;padding:0;overflow:hidden}.dart-series-scoring-details>summary,.dart-series-add-event-panel>summary{list-style:none;cursor:pointer;padding:20px 24px}.dart-series-scoring-details>summary::-webkit-details-marker,.dart-series-add-event-panel>summary::-webkit-details-marker{display:none}.dart-series-scoring-details>summary span,.dart-series-add-event-panel>summary span{display:grid}.dart-series-scoring-details[open]>summary,.dart-series-add-event-panel[open]>summary{border-bottom:1px solid var(--border);background:#faf9ff}.dart-series-scoring-body{display:grid;grid-template-columns:1fr 2fr;gap:24px;padding:24px}.dart-series-scoring-body h3{margin-top:0}.dart-series-score-list{display:grid;gap:8px}.dart-series-score-list.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.dart-series-score-list span{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid var(--border);border-radius:10px}.dart-series-score-list i{font-style:normal;color:var(--primary-dark);font-weight:850}.dart-series-stat-table-panel{margin-top:24px;overflow:hidden}.dart-series-stat-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:14px}.dart-series-stat-table{min-width:1850px}.dart-series-stat-table th,.dart-series-stat-table td{white-space:nowrap;text-align:center}.dart-series-stat-table th:first-child,.dart-series-stat-table td:first-child{text-align:left;position:sticky;left:0;background:#fff;z-index:1}.dart-series-stat-table thead th{background:#f4f2ff}.dart-series-stat-table thead th:first-child{background:#e9e5ff;z-index:2}.dart-series-stat-table tr.is-leader th,.dart-series-stat-table tr.is-leader td{background:#fbfaff}.dart-series-stat-table tr.is-leader th:first-child{background:#f2efff}.dart-series-player-name{display:flex;align-items:center;gap:9px}.dart-series-player-name i{font-style:normal;color:var(--primary);font-weight:950}.dart-series-add-event-form{padding:0 24px 24px}.dart-series-add-event-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:14px}.dart-series-complete-form{display:flex;justify-content:flex-end;margin-top:20px}.dart-series-prefill-notice{margin-top:0}.form-actions{display:flex;gap:10px;flex-wrap:wrap}

@media(max-width:1000px){.dart-series-basic-grid{grid-template-columns:1fr 1fr}.dart-series-event-fields{grid-template-columns:1fr 1fr}.ko-points-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.round-robin-points-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dart-series-summary-panel{align-items:flex-start;flex-direction:column}.dart-series-event-card{grid-template-columns:46px 1fr}.dart-series-event-card-actions{grid-column:2;justify-content:flex-start;max-width:none}.dart-series-scoring-body{grid-template-columns:1fr}.dart-series-add-event-grid{grid-template-columns:1fr 1fr}.dart-series-overview-body{align-items:flex-start;flex-direction:column}}
@media(max-width:680px){.dart-series-basic-grid,.dart-series-event-fields,.dart-series-add-event-grid{grid-template-columns:1fr}.dart-series-event-editor{grid-template-columns:36px 1fr;padding:12px}.dart-series-event-number,.dart-series-event-card-index{width:34px;height:34px;border-radius:10px}.ko-points-grid,.round-robin-points-grid{grid-template-columns:1fr 1fr}.dart-series-overview-card>summary{align-items:flex-start;padding:17px;flex-direction:column}.dart-series-overview-body{padding:17px}.dart-series-mini-ranking{display:grid;width:100%}.dart-series-mini-ranking span{min-width:0}.dart-series-event-card{grid-template-columns:36px 1fr;padding:13px}.dart-series-event-card-actions{grid-column:1/-1}.dart-series-event-card-actions .button{width:100%}.dart-series-scoring-body{padding:17px}.dart-series-score-list.compact{grid-template-columns:1fr 1fr}.dart-series-summary-values{display:grid;grid-template-columns:1fr 1fr;width:100%}.dart-series-summary-values span{min-width:0}.dart-series-stat-table-panel{padding:15px}.form-actions .button{width:100%}}

/* Projektversion 61 – 10 Visits Challenge und Push-Test */
.darts-ten-visits-options{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:16px;align-items:stretch;margin-top:16px}.darts-ten-visits-options[hidden]{display:none!important}.darts-ten-visits-info{grid-column:1/-1;display:grid;align-content:center;gap:5px;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:#faf9ff}.darts-ten-visits-info strong{color:var(--primary-dark)}.darts-ten-visits-info span{color:var(--muted);font-size:.88rem;line-height:1.5}.ten-visits-field-tables{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}.ten-visits-field-table-card{min-width:0;padding:16px;border:1px solid var(--border);border-radius:16px;background:#fff;overflow:hidden}.ten-visits-field-table-card h3{margin:0 0 12px}.ten-visits-field-table-wrap{width:100%;min-width:0;overflow:visible}.ten-visits-field-table{width:100%;min-width:0;max-width:100%;table-layout:fixed;border-collapse:collapse;font-variant-numeric:tabular-nums}.ten-visits-field-column-field{width:18%}.ten-visits-field-column-attempts{width:28%}.ten-visits-field-column-hits{width:24%}.ten-visits-field-column-rate{width:30%}.ten-visits-field-table th,.ten-visits-field-table td{min-width:0;padding:8px 4px;border-bottom:1px solid var(--border);text-align:right;font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:clip}.ten-visits-field-table th:first-child,.ten-visits-field-table td:first-child{text-align:left}.ten-visits-field-table thead th{color:var(--muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.015em}.ten-visits-field-table tbody tr:last-child th,.ten-visits-field-table tbody tr:last-child td{border-bottom:0}.ten-visits-field-table tbody tr.is-unplayed th,.ten-visits-field-table tbody tr.is-unplayed td{background:#f0f1f4;color:#9a9daa}.ten-visits-field-table tbody tr.is-played:hover th,.ten-visits-field-table tbody tr.is-played:hover td{background:#faf9ff}
@media(max-width:1000px){.ten-visits-field-tables{grid-template-columns:1fr 1fr}.darts-ten-visits-options{grid-template-columns:1fr}}
@media(max-width:680px){.ten-visits-field-tables{grid-template-columns:1fr;gap:12px}.ten-visits-field-table-card{padding:12px}.ten-visits-field-table th,.ten-visits-field-table td{padding:7px 4px;font-size:.74rem}.ten-visits-field-table thead th{font-size:.62rem}.account-push-test-form .button{width:100%}}


/* V63 – 10 Visits Challenge: kompakte Treffer-Eingabe, X01-Quickbuttons bleiben erhalten */
.darts-counter.is-ten-visits .darts-quick-scores,
body.darts-ten-visits-active .darts-quick-scores{display:none!important}
.darts-counter.is-ten-visits .darts-keypad button[hidden],
body.darts-ten-visits-active .darts-keypad button[hidden]{display:none!important}
.online-challenge-hits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}
.online-challenge-hits[hidden]{display:none!important}
.online-challenge-hits button{min-height:64px;border:0;border-radius:14px;background:#edeaff;color:#21145f;font:inherit;font-size:1.6rem;font-weight:950;cursor:pointer}
@media(max-width:900px){
  body.darts-game-active.darts-ten-visits-active .darts-keypad{grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-template-rows:1fr!important;max-height:92px!important;min-height:70px!important}
  body.darts-game-active.darts-ten-visits-active .darts-keypad button{min-height:64px!important;font-size:1.55rem!important}
  .online-game-page.is-ten-visits .online-input-wrap{display:none}
  .online-game-page.is-ten-visits .online-challenge-hits{display:grid}
}
.darts-quick-scores[hidden],
.online-quick-scores[hidden]{display:none!important}
@media(max-width:900px){
  .online-game-page.is-ten-visits [data-online-no-score],
  .online-game-page.is-ten-visits [data-online-submit-score]{display:none!important}
}


/* V64 – Botspiele in persönlichen und Vereinsstatistiken optional einbeziehen */
.statistics-bot-filter-form{display:flex;align-items:center;justify-content:flex-start;gap:12px}
.account-statistics-bot-filter{margin:20px 0 0;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:#faf9ff}
.statistics-bot-toggle{display:flex;align-items:center;gap:11px;min-width:260px;padding:10px 12px;border:1px solid var(--border);border-radius:13px;background:#fff;cursor:pointer}
.statistics-bot-toggle input{width:20px;height:20px;flex:0 0 20px;margin:0;accent-color:var(--primary);cursor:pointer}
.statistics-bot-toggle span{display:grid;gap:2px;min-width:0}
.statistics-bot-toggle strong{color:var(--text);font-size:.86rem;line-height:1.25}
.statistics-bot-toggle small{color:var(--muted);font-size:.7rem;line-height:1.35}
.statistics-bot-toggle:has(input:checked){border-color:#9d8df5;background:#f2efff}
.club-stat-bot-toggle{min-height:44px;padding:6px 11px}
@media(max-width:700px){
  .statistics-bot-filter-form{display:grid;width:100%}
  .statistics-bot-toggle{width:100%;min-width:0}
  .account-statistics-bot-filter{margin-top:15px;padding:11px}
}

/* V65 – 10 Visits auf allen Geräten, Soforteingabe und große Zielanzeige */
.darts-quick-scores[hidden],
.online-quick-scores[hidden]{
    display:none!important
}

.darts-challenge-target[hidden],
.darts-challenge-hits[hidden],
.online-challenge-target[hidden],
.online-challenge-hits[hidden],
.challenge-target-overlay[hidden],
.darts-keypad[hidden],
.darts-submit-actions[hidden]{
    display:none!important
}

.darts-challenge-target,
.online-challenge-target{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    width:100%;
    min-width:0;
    gap:12px;
    margin:0;
    padding:12px 18px;
    border:2px solid #9d8df5;
    border-radius:16px;
    background:linear-gradient(145deg,#eeeaff,#faf9ff);
    color:#25156d;
    box-shadow:0 8px 22px rgba(78,54,190,.13)
}
.darts-challenge-target span,
.online-challenge-target span{
    color:#665a8d;
    font-size:clamp(.8rem,1.6vw,1rem);
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase
}
.darts-challenge-target strong,
.online-challenge-target strong{
    min-width:0;
    color:#29136f;
    font-size:clamp(1.8rem,4vw,3.35rem);
    font-weight:1000;
    line-height:1;
    text-align:center;
    overflow-wrap:anywhere
}

.darts-challenge-hits,
.online-challenge-hits{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    width:100%;
    min-width:0;
    gap:10px;
    margin:0
}
.darts-challenge-hits button,
.online-challenge-hits button{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-width:0;
    min-height:74px;
    padding:8px;
    border:0;
    border-radius:15px;
    background:linear-gradient(145deg,#e9e4ff,#d8d0ff);
    color:#21105e;
    font:inherit;
    font-size:clamp(1.75rem,4vw,3rem);
    font-weight:1000;
    line-height:1;
    cursor:pointer;
    box-shadow:0 8px 18px rgba(67,43,174,.14);
    touch-action:manipulation
}
.darts-challenge-hits button:active,
.online-challenge-hits button:active{
    transform:translateY(1px);
    filter:brightness(.96)
}
.darts-challenge-hits button:disabled,
.online-challenge-hits button:disabled{
    opacity:.42;
    cursor:not-allowed
}

body.darts-game-active.darts-ten-visits-active
.darts-turn-panel>.darts-score-entry{
    display:grid!important;
    grid-template-rows:
        auto
        minmax(58px,.8fr)
        auto
        minmax(74px,1fr)
        auto!important;
    gap:9px!important;
    overflow:hidden!important
}
body.darts-game-active.darts-ten-visits-active .darts-keypad,
body.darts-game-active.darts-ten-visits-active .darts-submit-actions{
    display:none!important
}
body.darts-game-active.darts-ten-visits-active .darts-turn-message{
    min-height:18px!important;
    max-height:34px!important;
    margin:0!important
}

.online-game-page.is-ten-visits .online-input-wrap{
    display:block!important
}
.online-game-page.is-ten-visits [data-online-no-score],
.online-game-page.is-ten-visits [data-online-submit-score]{
    display:none!important
}
.online-game-page.is-ten-visits .online-action-grid:empty{
    display:none
}
.online-game-page.is-ten-visits .online-input-wrap input{
    background:#faf9ff;
    cursor:default
}

.challenge-target-overlay{
    position:fixed;
    inset:0;
    z-index:500;
    display:grid;
    place-items:center;
    padding:20px;
    background:rgba(15,10,48,.72);
    backdrop-filter:blur(6px);
    pointer-events:none
}
.challenge-target-overlay-card{
    display:grid;
    justify-items:center;
    width:min(680px,calc(100vw - 32px));
    padding:clamp(26px,6vw,54px);
    border:2px solid rgba(255,255,255,.45);
    border-radius:28px;
    background:linear-gradient(145deg,#fff,#ece7ff);
    color:#21105e;
    text-align:center;
    box-shadow:0 28px 90px rgba(0,0,0,.38)
}
.challenge-target-overlay-card span{
    color:#665a8d;
    font-size:clamp(.9rem,2.2vw,1.2rem);
    font-weight:900
}
.challenge-target-overlay-card small{
    margin-top:12px;
    color:#5137bd;
    font-size:clamp(1rem,2.5vw,1.45rem);
    font-weight:1000;
    letter-spacing:.12em;
    text-transform:uppercase
}
.challenge-target-overlay-card strong{
    margin-top:10px;
    color:#241065;
    font-size:clamp(3.2rem,11vw,7.5rem);
    font-weight:1000;
    line-height:.92;
    letter-spacing:-.045em;
    overflow-wrap:anywhere
}

@media(orientation:portrait) and (max-width:900px){
    body.darts-game-active.darts-ten-visits-active
    .darts-turn-panel>.darts-score-entry{
        grid-template-rows:
            auto
            minmax(52px,8dvh)
            minmax(62px,9dvh)
            minmax(68px,10dvh)
            auto!important;
        gap:6px!important;
        padding:7px!important
    }
    body.darts-game-active.darts-ten-visits-active .darts-score-input{
        min-height:52px!important;
        font-size:clamp(2.5rem,8.5dvh,4.1rem)!important
    }
    .darts-challenge-target{
        min-height:62px;
        padding:8px 12px;
        border-radius:12px
    }
    .darts-challenge-target strong{
        font-size:clamp(1.65rem,6.2vw,2.65rem)
    }
    .darts-challenge-hits{
        gap:6px
    }
    .darts-challenge-hits button{
        min-height:68px;
        border-radius:12px;
        font-size:clamp(1.65rem,7vw,2.6rem)
    }
}

@media(orientation:landscape) and (max-height:620px){
    body.darts-game-active.darts-ten-visits-active
    .darts-turn-panel>.darts-score-entry{
        grid-template-rows:
            auto
            minmax(38px,.65fr)
            minmax(48px,.78fr)
            minmax(48px,.8fr)
            auto!important;
        gap:4px!important;
        padding:5px!important;
        overflow:auto!important
    }
    body.darts-game-active.darts-ten-visits-active .darts-score-entry>label{
        font-size:.56rem!important;
        line-height:1!important
    }
    body.darts-game-active.darts-ten-visits-active .darts-score-input{
        min-height:38px!important;
        height:100%!important;
        font-size:clamp(1.8rem,8dvh,3rem)!important
    }
    .darts-challenge-target{
        min-height:48px;
        padding:5px 10px;
        border-radius:10px;
        gap:8px
    }
    .darts-challenge-target span{
        font-size:.58rem
    }
    .darts-challenge-target strong{
        font-size:clamp(1.45rem,6.5dvh,2.45rem)
    }
    .darts-challenge-hits{
        gap:5px
    }
    .darts-challenge-hits button{
        min-height:48px;
        height:100%;
        padding:3px;
        border-radius:10px;
        font-size:clamp(1.25rem,6.5dvh,2rem)
    }
    body.darts-game-active.darts-ten-visits-active .darts-turn-message{
        min-height:12px!important;
        max-height:18px!important;
        font-size:.54rem!important;
        line-height:1!important
    }
    .challenge-target-overlay-card{
        width:min(620px,calc(100vw - 28px));
        padding:18px 28px;
        border-radius:20px
    }
    .challenge-target-overlay-card small{
        margin-top:5px
    }
    .challenge-target-overlay-card strong{
        margin-top:4px;
        font-size:clamp(2.8rem,15dvh,5.8rem)
    }
}

@media(min-width:700px) and (max-width:1400px){
    .darts-challenge-target,
    .online-challenge-target{
        min-height:76px
    }
    .darts-challenge-hits button,
    .online-challenge-hits button{
        min-height:82px;
        font-size:clamp(2.1rem,4.2vw,3.4rem)
    }
}

@media(max-width:560px){
    .online-challenge-target{
        grid-template-columns:1fr;
        gap:3px;
        padding:10px 12px
    }
    .online-challenge-target span{
        text-align:center
    }
    .online-challenge-target strong{
        font-size:clamp(1.8rem,9vw,2.8rem)
    }
    .online-challenge-hits{
        gap:6px
    }
    .online-challenge-hits button{
        min-height:64px;
        font-size:1.9rem
    }
}
body.darts-game-active.darts-ten-visits-active .darts-quick-scores,
body .online-game-page.is-ten-visits .online-quick-scores{
    display:none!important
}


/* V66 – erzwungene aktuelle Spieloberfläche und robuster Challenge-Modus */
.darts-quick-scores[hidden],
[data-darts-quick-scores][hidden],
.online-quick-scores[hidden],
[data-online-quick-scores][hidden]{display:none!important}

.online-action-grid[hidden],
.darts-keypad[hidden],
.darts-submit-actions[hidden],
.darts-challenge-target[hidden],
.darts-challenge-hits[hidden],
.online-challenge-target[hidden],
.online-challenge-hits[hidden],
.challenge-target-overlay[hidden]{display:none!important}

.darts-counter.is-ten-visits .darts-keypad,
.darts-counter.is-ten-visits .darts-submit-actions,
.online-game-page.is-ten-visits .online-action-grid{display:none!important}

.darts-counter.is-ten-visits .darts-challenge-target,
.darts-counter.is-ten-visits .darts-challenge-hits,
.online-game-page.is-ten-visits .online-challenge-target,
.online-game-page.is-ten-visits .online-challenge-hits{display:grid!important}

@media (min-width:700px) and (max-width:1400px){
    .darts-counter.is-ten-visits .darts-score-entry,
    .online-game-page.is-ten-visits .online-turn-panel{min-width:0!important}
    .darts-counter.is-ten-visits .darts-challenge-target,
    .online-game-page.is-ten-visits .online-challenge-target{width:100%!important;max-width:none!important}
    .darts-counter.is-ten-visits .darts-challenge-hits,
    .online-game-page.is-ten-visits .online-challenge-hits{grid-template-columns:repeat(4,minmax(0,1fr))!important;width:100%!important}
}

@media (orientation:landscape) and (max-height:700px){
    .darts-counter.is-ten-visits .darts-turn-panel{overflow:auto!important}
    .darts-counter.is-ten-visits .darts-challenge-target{min-height:52px!important}
    .darts-counter.is-ten-visits .darts-challenge-target strong{font-size:clamp(1.55rem,7dvh,2.7rem)!important}
    .darts-counter.is-ten-visits .darts-challenge-hits button{min-height:52px!important}
}

/* V68 – Feldarten-Auswahl der 10 Visits Challenge */
@media(max-width:760px){.darts-ten-visits-options{grid-template-columns:1fr}}

/* V69 – X01-/Split-Score-Eingabe wieder unabhängig von der 10-Visits-Oberfläche */
body.darts-game-active:not(.darts-ten-visits-active)
.darts-turn-panel>.darts-score-entry>label{
    grid-area:x01-label
}
body.darts-game-active:not(.darts-ten-visits-active)
.darts-turn-panel>.darts-score-entry>.darts-score-input{
    grid-area:x01-input
}
body.darts-game-active:not(.darts-ten-visits-active)
.darts-turn-panel>.darts-score-entry>.darts-keypad{
    grid-area:x01-keypad
}
body.darts-game-active:not(.darts-ten-visits-active)
.darts-turn-panel>.darts-score-entry>.darts-submit-actions{
    grid-area:x01-actions
}
body.darts-game-active:not(.darts-ten-visits-active)
.darts-turn-panel>.darts-score-entry>.darts-turn-message{
    grid-area:x01-message
}

/*
 * In der kompakten Spielansicht gab es früher eine zusätzliche Rasterzeile
 * für Schnellscore-Tasten. Diese Tasten bleiben wie gewünscht entfernt.
 * X01 und Split Score erhalten deshalb wieder ein eigenes fünfzeiliges Raster:
 * Beschriftung, Scorefeld, vollständige Zahlentastatur, Aktionen, Meldung.
 */
@media(max-width:1600px) and (max-height:1100px){
    body.darts-game-active:not(.darts-ten-visits-active)
    .darts-turn-panel>.darts-score-entry{
        display:grid!important;
        grid-template-columns:minmax(0,1fr)!important;
        grid-template-areas:
            "x01-label"
            "x01-input"
            "x01-keypad"
            "x01-actions"
            "x01-message"!important;
        grid-template-rows:
            auto
            auto
            minmax(0,1fr)
            auto
            auto!important;
        min-width:0!important;
        min-height:0!important;
        overflow:hidden!important
    }

    body.darts-game-active:not(.darts-ten-visits-active)
    .darts-turn-panel>.darts-score-entry>.darts-keypad{
        display:grid!important;
        width:100%!important;
        height:100%!important;
        min-width:0!important;
        min-height:0!important
    }

    body.darts-game-active:not(.darts-ten-visits-active)
    .darts-turn-panel>.darts-score-entry>.darts-submit-actions{
        width:100%!important
    }
}

/* Tablet im Querformat: alter kompakter X01-Aufbau ohne leere Schnellscore-Zeile */
@media(
    orientation:landscape
) and (
    min-width:700px
) and (
    max-width:1400px
) and (
    min-height:500px
) and (
    max-height:1000px
){
    body.darts-game-active:not(.darts-ten-visits-active)
    .darts-turn-panel>.darts-score-entry{
        grid-template-rows:
            auto
            minmax(58px,.72fr)
            minmax(0,4fr)
            minmax(58px,.68fr)
            auto!important;
        gap:7px!important;
        padding:10px!important
    }

    body.darts-game-active:not(.darts-ten-visits-active)
    .darts-turn-panel>.darts-score-entry>.darts-keypad{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        grid-template-rows:
            repeat(3,minmax(0,1fr))
            minmax(42px,.48fr)
            minmax(0,.76fr)!important;
        gap:7px!important
    }

    body.darts-game-active:not(.darts-ten-visits-active)
    .darts-turn-panel>.darts-score-entry>.darts-submit-actions{
        display:grid!important;
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        min-height:58px!important;
        gap:8px!important;
        margin:0!important
    }
}

/* Kleine Geräte im Querformat */
@media(orientation:landscape) and (max-height:499px){
    body.darts-game-active:not(.darts-ten-visits-active)
    .darts-turn-panel>.darts-score-entry{
        grid-template-rows:
            auto
            minmax(44px,.62fr)
            minmax(0,3.8fr)
            minmax(38px,.55fr)
            auto!important;
        gap:4px!important;
        padding:6px!important
    }

    body.darts-game-active:not(.darts-ten-visits-active)
    .darts-turn-panel>.darts-score-entry>.darts-keypad{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        grid-template-rows:
            repeat(3,minmax(0,1fr))
            minmax(28px,.5fr)
            minmax(0,.72fr)!important;
        gap:4px!important
    }
}


/* V70 – X01-Schnelleingabetasten wieder zwischen Scorefeld und Zahlentastatur */
body.darts-game-active:not(.darts-ten-visits-active)
.darts-turn-panel>.darts-score-entry>.darts-quick-scores{
    grid-area:x01-quick
}
body.darts-game-active:not(.darts-ten-visits-active)
.darts-turn-panel>.darts-score-entry>.darts-quick-scores:not([hidden]){
    display:grid!important
}
.online-game-page:not(.is-ten-visits)
.online-quick-scores:not([hidden]){
    display:grid!important
}
.darts-quick-scores[hidden],
.online-quick-scores[hidden]{
    display:none!important
}

@media(max-width:1600px) and (max-height:1100px){
    body.darts-game-active:not(.darts-ten-visits-active)
    .darts-turn-panel>.darts-score-entry{
        grid-template-areas:
            "x01-label"
            "x01-input"
            "x01-quick"
            "x01-keypad"
            "x01-actions"
            "x01-message"!important;
        grid-template-rows:
            auto
            auto
            minmax(58px,.9fr)
            minmax(0,3.8fr)
            auto
            auto!important
    }
    body.darts-game-active:not(.darts-ten-visits-active)
    .darts-turn-panel>.darts-score-entry>.darts-quick-scores{
        grid-template-columns:repeat(5,minmax(0,1fr))!important;
        grid-template-rows:repeat(2,minmax(0,1fr))!important;
        width:100%!important;
        height:100%!important;
        min-height:58px!important;
        gap:5px!important;
        margin:0!important
    }
    body.darts-game-active:not(.darts-ten-visits-active)
    .darts-turn-panel>.darts-score-entry>.darts-quick-scores button{
        min-width:0!important;
        min-height:0!important;
        height:100%!important;
        padding:3px 2px!important;
        font-size:clamp(.68rem,1.7vw,.92rem)!important
    }
}

@media(orientation:portrait) and (max-width:900px){
    body.darts-game-active:not(.darts-ten-visits-active)
    .darts-turn-panel>.darts-score-entry{
        grid-template-rows:
            auto
            minmax(56px,8dvh)
            minmax(68px,10dvh)
            minmax(0,1fr)
            minmax(42px,6.5dvh)
            auto!important
    }
}

@media(
    orientation:landscape
) and (
    min-width:700px
) and (
    max-width:1400px
) and (
    min-height:500px
) and (
    max-height:1000px
){
    body.darts-game-active:not(.darts-ten-visits-active)
    .darts-turn-panel>.darts-score-entry{
        grid-template-rows:
            auto
            minmax(58px,.72fr)
            minmax(64px,.82fr)
            minmax(0,3.5fr)
            minmax(58px,.68fr)
            auto!important
    }
}

@media(orientation:landscape) and (max-height:499px){
    body.darts-game-active:not(.darts-ten-visits-active)
    .darts-turn-panel>.darts-score-entry{
        grid-template-rows:
            auto
            minmax(42px,.58fr)
            minmax(46px,.62fr)
            minmax(0,3.2fr)
            minmax(36px,.52fr)
            auto!important
    }
    body.darts-game-active:not(.darts-ten-visits-active)
    .darts-turn-panel>.darts-score-entry>.darts-quick-scores{
        min-height:46px!important;
        gap:3px!important
    }
    body.darts-game-active:not(.darts-ten-visits-active)
    .darts-turn-panel>.darts-score-entry>.darts-quick-scores button{
        font-size:.58rem!important
    }
}


/* V71: öffentlicher Nur-Lesen-Link für Turniere */
.dart-tournament-share-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr);
    gap: 24px;
    align-items: center;
}

.dart-tournament-share-panel h2 {
    margin-bottom: 8px;
}

.dart-tournament-share-panel p {
    margin-bottom: 0;
}

.dart-tournament-share-controls {
    display: grid;
    gap: 12px;
}

.dart-tournament-share-controls input {
    width: 100%;
    min-width: 0;
    font-size: .9rem;
}

.dart-tournament-share-feedback {
    min-height: 1.4em;
    color: var(--primary, #4d32d5);
    font-weight: 700;
}

.dart-public-readonly-note {
    margin-bottom: 22px;
}

@media (max-width: 900px) {
    .dart-tournament-share-panel {
        grid-template-columns: 1fr;
    }
}

/* V72 – Cricket. Sämtliche Regeln sind bewusst auf den Cricket-Bereich begrenzt. */
.darts-cricket-options {
    display: grid;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid var(--border-color, #d7d9e0);
    border-radius: 1rem;
    background: var(--surface-soft, #f7f7fa);
}

.darts-cricket-options[hidden],
.darts-cricket-board[hidden],
.darts-cricket-portrait[hidden],
.darts-cricket-landscape[hidden] {
    display: none !important;
}

.darts-cricket-info {
    display: grid;
    gap: .3rem;
}

.darts-cricket-board {
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: .65rem;
    padding: .7rem;
    border: 2px solid rgba(56, 35, 132, .35);
    border-radius: 1.1rem;
    background: #f4f2fb;
    overflow: hidden;
}

.darts-cricket-board-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .2rem .25rem;
}

.darts-cricket-board-head h2 {
    margin: 0;
    font-size: clamp(1.1rem, 3.6vw, 1.7rem);
}

.darts-cricket-dart-count {
    display: grid;
    gap: .1rem;
    text-align: right;
}

.darts-cricket-dart-count span {
    font-size: .72rem;
    opacity: .72;
}

.darts-cricket-dart-count strong {
    font-size: 1.15rem;
}

.darts-cricket-portrait,
.darts-cricket-landscape {
    min-height: 0;
    flex: 1;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

.darts-cricket-portrait-grid {
    --cricket-player-count: 2;
    display: grid;
    grid-template-columns: minmax(7.2rem, 1.15fr) repeat(var(--cricket-player-count), minmax(4.3rem, 1fr));
    gap: 2px;
    min-width: calc(7.2rem + (var(--cricket-player-count) * 4.3rem));
    background: rgba(40, 28, 92, .28);
    border: 2px solid rgba(40, 28, 92, .7);
    border-radius: .75rem;
    overflow: hidden;
}

.darts-cricket-landscape-grid {
    display: grid;
    grid-template-columns: minmax(8.5rem, 1.25fr) repeat(7, minmax(5.2rem, 1fr));
    gap: 2px;
    min-width: 48rem;
    background: rgba(40, 28, 92, .28);
    border: 2px solid rgba(40, 28, 92, .7);
    border-radius: .75rem;
    overflow: hidden;
}

.darts-cricket-corner,
.darts-cricket-player-head,
.darts-cricket-target-controls,
.darts-cricket-mark-cell {
    min-width: 0;
    background: #fff;
}

.darts-cricket-corner {
    display: grid;
    place-items: center;
    padding: .55rem .35rem;
    font-weight: 900;
    letter-spacing: .12em;
    color: #392487;
}

.darts-cricket-player-head {
    display: grid;
    align-content: center;
    gap: .15rem;
    padding: .45rem .35rem;
    text-align: center;
}

.darts-cricket-player-head strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: clamp(.78rem, 2.3vw, 1rem);
}

.darts-cricket-player-head span {
    font-size: .72rem;
    font-weight: 800;
    color: #392487;
}

.darts-cricket-player-head.is-active,
.darts-cricket-mark-cell.is-active {
    background: #e8e1ff;
    box-shadow: inset 0 0 0 2px #5d3ed0;
}

.darts-cricket-target-controls {
    display: grid;
    align-content: center;
    gap: .28rem;
    padding: .34rem;
    background: #fff9b7;
}

.darts-cricket-target-controls > strong {
    text-align: center;
    font-size: 1.02rem;
}

.darts-cricket-target-buttons {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .22rem;
}

.darts-cricket-target-buttons.is-stacked {
    grid-template-columns: 1fr;
}

.darts-cricket-hit-button {
    min-height: 2.35rem;
    padding: .25rem .2rem;
    border: 0;
    border-radius: .45rem;
    background: #5b3dcc;
    color: #fff;
    font-size: .86rem;
    font-weight: 900;
    touch-action: manipulation;
}

.darts-cricket-hit-button:active:not(:disabled) {
    transform: scale(.96);
}

.darts-cricket-target-controls.is-closed,
.darts-cricket-mark-cell.is-closed {
    background: #d8d8dc;
    color: #7b7b82;
}

.darts-cricket-hit-button:disabled {
    background: #a9a9b0;
    color: #ececef;
    cursor: not-allowed;
}

.darts-cricket-mark-cell {
    display: grid;
    place-items: center;
    align-content: center;
    min-height: 4.15rem;
    padding: .25rem;
    text-align: center;
}

.darts-cricket-mark-cell strong {
    line-height: 1;
    font-size: clamp(1.55rem, 6vw, 2.5rem);
    color: #18151f;
}

.darts-cricket-mark-cell span {
    font-size: .68rem;
    font-weight: 800;
    opacity: .65;
}

.darts-cricket-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .6rem;
}

.darts-cricket-actions .button {
    min-height: 3rem;
    font-weight: 900;
}

.darts-cricket-board .darts-turn-message {
    min-height: 1.3rem;
    margin: 0;
    text-align: center;
}

@media (orientation: portrait) {
    .darts-cricket-landscape { display: none !important; }
    .darts-cricket-portrait { display: block; }
}

@media (orientation: landscape) {
    .darts-cricket-portrait { display: none !important; }
    .darts-cricket-landscape { display: block; }

    body.darts-cricket-active .darts-cricket-board {
        height: calc(100dvh - 7.5rem);
    }

    body.darts-cricket-active .darts-cricket-board-head {
        padding-block: 0;
    }

    .darts-cricket-landscape-grid .darts-cricket-target-controls {
        min-height: 10.5rem;
    }

    .darts-cricket-landscape-grid .darts-cricket-mark-cell {
        min-height: 3.6rem;
    }
}

@media (max-width: 700px) and (orientation: portrait) {
    .darts-cricket-board { padding: .45rem; gap: .45rem; }
    .darts-cricket-portrait-grid {
        grid-template-columns: minmax(6.7rem, 1.15fr) repeat(var(--cricket-player-count), minmax(3.8rem, 1fr));
        min-width: calc(6.7rem + (var(--cricket-player-count) * 3.8rem));
    }
    .darts-cricket-target-controls { padding: .25rem; }
    .darts-cricket-hit-button { min-height: 2.2rem; font-size: .76rem; }
    .darts-cricket-mark-cell { min-height: 3.75rem; }
}

.dart-live-cricket-table {
    display: grid;
    grid-template-columns: minmax(6rem, 1.4fr) repeat(7, minmax(2rem, 1fr));
    gap: 1px;
    margin-top: .65rem;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: .6rem;
    background: rgba(255,255,255,.24);
}
.dart-live-cricket-table > div {
    display: grid;
    place-items: center;
    min-height: 2rem;
    padding: .22rem;
    background: rgba(17,14,28,.88);
    color: #fff;
}
.dart-live-cricket-table .is-label,
.dart-live-cricket-table .is-target { font-weight: 900; }
.dart-live-cricket-table .is-player {
    justify-items: start;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .78rem;
    font-weight: 800;
}
.dart-live-cricket-table .is-mark { font-size: 1.35rem; font-weight: 900; }

@media (orientation: landscape) {
    body.darts-cricket-active .darts-cricket-board {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(7.5rem, 10rem);
        grid-template-rows: auto minmax(0, 1fr) auto;
    }
    body.darts-cricket-active .darts-cricket-board-head {
        grid-column: 1 / -1;
    }
    body.darts-cricket-active .darts-cricket-landscape {
        grid-column: 1;
        grid-row: 2;
    }
    body.darts-cricket-active .darts-cricket-actions {
        grid-column: 2;
        grid-row: 2;
        grid-template-columns: 1fr;
        align-content: stretch;
    }
    body.darts-cricket-active .darts-cricket-actions .button {
        min-height: 0;
        height: 100%;
    }
    body.darts-cricket-active .darts-cricket-board .darts-turn-message {
        grid-column: 1 / -1;
        grid-row: 3;
    }
}


/* V75 – Cricket-Board und Bullwurf zuverlässig sichtbar. */
[data-darts-scoreboard][hidden],
[data-darts-turn-panel][hidden],
[data-darts-cricket-board][hidden] {
    display: none !important;
}

body.darts-cricket-active .darts-scoreboard,
body.darts-cricket-active:not(.darts-bull-active) .darts-turn-panel,
body.darts-cricket-active .darts-checkout-suggestion-toggle {
    display: none !important;
}

/*
 * Vor Beginn eines Cricket-Spiels bleibt der normale Turn-Bereich nur für
 * das Bullwurf-Overlay sichtbar. Nach der Startspielerwahl verschwindet er
 * wieder vollständig und das Cricket-Board übernimmt.
 */
body.darts-game-active.darts-cricket-active.darts-bull-active
.darts-turn-panel:not([hidden]) {
    display: grid !important;
    grid-area: bull !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
}

body.darts-cricket-active .darts-cricket-board:not([hidden]) {
    width: 100%;
    min-width: 0;
}

@media (max-width: 1600px) and (max-height: 1100px) {
    body.darts-game-active.darts-cricket-active:not(.darts-bull-active) .darts-game {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: auto minmax(0, 1fr) !important;
        grid-template-areas:
            "toolbar"
            "cricket" !important;
    }

    body.darts-game-active.darts-cricket-active.darts-bull-active .darts-game {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: auto minmax(0, 1fr) !important;
        grid-template-areas:
            "toolbar"
            "bull" !important;
    }

    body.darts-game-active.darts-cricket-active:not(.darts-bull-active) .darts-cricket-board:not([hidden]) {
        grid-area: cricket;
        width: 100%;
        height: 100%;
        min-width: 0;
        min-height: 0;
    }
}

@media (orientation: portrait) {
    body.darts-cricket-active .darts-cricket-board:not([hidden]) {
        display: flex;
    }
}

@media (orientation: landscape) {
    body.darts-cricket-active .darts-cricket-board:not([hidden]) {
        display: grid;
    }
}

/* V76 – Cricket nutzt auf großen PCs und Tablets im Hochformat die gesamte Spielfläche. */
@media (min-width: 1201px) and (hover: hover) and (pointer: fine) {
    body.darts-game-active.darts-cricket-active:not(.darts-bull-active) .darts-game {
        display: grid;
        width: 100%;
        height: 100%;
        min-height: 0;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: auto minmax(0, 1fr) !important;
        grid-template-areas:
            "toolbar"
            "cricket" !important;
        gap: 6px;
    }

    body.darts-game-active.darts-cricket-active:not(.darts-bull-active)
    .darts-cricket-board:not([hidden]) {
        grid-area: cricket !important;
        width: 100% !important;
        max-width: none !important;
        height: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
    }

    body.darts-cricket-active .darts-cricket-landscape,
    body.darts-cricket-active .darts-cricket-landscape-grid {
        width: 100%;
        max-width: none;
        min-width: 0;
    }
}

@media (orientation: portrait) and (min-width: 701px) and (max-width: 1200px) {
    body.darts-game-active.darts-cricket-active {
        overflow: hidden;
    }

    body.darts-game-active.darts-cricket-active main,
    body.darts-game-active.darts-cricket-active .darts-counter-page {
        width: 100%;
        height: 100dvh;
        min-height: 100dvh;
        overflow: hidden;
    }

    body.darts-game-active.darts-cricket-active .darts-counter-page {
        padding: 5px 0;
    }

    body.darts-game-active.darts-cricket-active .darts-counter-page .container,
    body.darts-game-active.darts-cricket-active .darts-counter {
        width: 100%;
        max-width: none;
        height: 100%;
        min-height: 0;
    }

    body.darts-game-active.darts-cricket-active .darts-counter-page .container {
        padding: 0 7px;
    }

    body.darts-game-active.darts-cricket-active:not(.darts-bull-active) .darts-game {
        display: grid;
        width: 100%;
        height: 100%;
        min-height: 0;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: auto minmax(0, 1fr) !important;
        grid-template-areas:
            "toolbar"
            "cricket" !important;
        gap: 6px;
    }

    body.darts-game-active.darts-cricket-active:not(.darts-bull-active)
    .darts-cricket-board:not([hidden]) {
        grid-area: cricket !important;
        width: 100% !important;
        max-width: none !important;
        height: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
    }

    body.darts-cricket-active .darts-cricket-portrait {
        width: 100%;
        height: 100%;
        min-height: 0;
        overflow: hidden;
    }

    body.darts-cricket-active .darts-cricket-portrait-grid {
        width: 100%;
        height: 100%;
        min-width: 0;
        min-height: 0;
        grid-template-rows: auto repeat(7, minmax(0, 1fr));
    }

    body.darts-cricket-active .darts-cricket-target-controls,
    body.darts-cricket-active .darts-cricket-mark-cell {
        min-height: 0;
    }
}

/* V77 – Cricket auch als synchronisiertes Online-Spiel. */
.online-cricket-board {
    width: 100%;
    margin-bottom: 1rem;
}

.online-game-page.is-cricket .online-scoreboard,
.online-game-page.is-cricket .online-turn-layout {
    display: none !important;
}

.online-game-page.is-cricket .online-cricket-board:not([hidden]) {
    display: flex;
}

.online-game-page.is-cricket .darts-cricket-portrait-grid {
    --cricket-player-count: 2;
}

.online-game-page.is-cricket .darts-cricket-board-head h2 {
    overflow-wrap: anywhere;
}

@media (min-width: 901px) and (orientation: landscape) {
    .online-game-page.is-cricket .online-cricket-board {
        min-height: min(72vh, 48rem);
    }

    .online-game-page.is-cricket .darts-cricket-landscape-grid {
        min-width: 0;
        height: 100%;
    }
}

@media (orientation: portrait) {
    .online-game-page.is-cricket .online-cricket-board {
        min-height: min(76vh, 58rem);
    }
}


/* Projektversion 79 – zuverlässiger Push-Gerätetest */
.account-push-test-form{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:10px;
    margin-top:12px
}
.push-test-result{
    flex:0 0 100%;
    margin:0!important;
    font-size:.88rem;
    font-weight:800
}
.push-test-result[data-state="loading"]{
    color:var(--primary-dark)
}
.push-test-result[data-state="success"]{
    color:#137053
}
.push-test-result[data-state="error"]{
    color:#a82f3b
}


/* Update V82: Push-Hinweis immer vollständig sichtbar */
.account-push-settings [data-push-status][data-state="loading"]{
    color:#4d35c5;
    font-weight:900
}
.push-auto-panel{
    position:fixed;
    right:max(14px,env(safe-area-inset-right));
    bottom:max(14px,env(safe-area-inset-bottom));
    left:max(14px,env(safe-area-inset-left));
    z-index:1200;
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:auto;
    max-width:720px;
    max-height:calc(100dvh - 28px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    margin-inline:auto;
    gap:16px;
    padding:15px 16px;
    overflow:auto;
    overscroll-behavior:contain;
    border:1px solid #cfc5ff;
    border-radius:16px;
    background:#fff;
    box-shadow:0 18px 55px rgba(26,16,75,.2)
}
.push-auto-panel[hidden]{display:none!important}
.push-auto-panel[data-state="loading"]{
    border-color:#b8abff;
    background:#f8f6ff
}
.push-auto-panel[data-state="error"]{
    border-color:#efb7bd;
    background:#fff5f6
}
.push-auto-panel-copy{
    display:grid;
    min-width:0;
    gap:3px
}
.push-auto-panel-copy strong{
    color:var(--text);
    font-size:1rem
}
.push-auto-panel-copy span{
    color:var(--muted);
    font-size:.9rem;
    line-height:1.4;
    overflow-wrap:anywhere
}
.push-auto-panel-actions{
    display:flex;
    align-items:center;
    flex:0 0 auto;
    min-width:0;
    gap:8px
}
.push-auto-panel-actions .button{
    max-width:min(100%,360px);
    white-space:normal
}
.push-auto-panel-close{
    width:34px;
    height:34px;
    flex:0 0 34px
}
@media(max-width:820px){
    .push-auto-panel{
        align-items:stretch;
        flex-direction:column;
        gap:10px;
        padding:14px
    }
    .push-auto-panel-actions{
        width:100%;
        justify-content:space-between
    }
    .push-auto-panel-actions .button{
        flex:1 1 auto;
        width:auto;
        min-width:0
    }
}
@media(max-width:420px){
    .push-auto-panel{
        right:max(8px,env(safe-area-inset-right));
        bottom:max(8px,env(safe-area-inset-bottom));
        left:max(8px,env(safe-area-inset-left));
        padding:12px
    }
    .push-auto-panel-copy strong{font-size:.95rem}
    .push-auto-panel-copy span{font-size:.84rem}
}

/* V83: In-App-Einladungen für Online-Dartspiele */
.online-invitations-section{
  margin:28px 0;
  padding:26px;
  border:1px solid var(--border);
  border-radius:24px;
  background:var(--surface);
  box-shadow:var(--shadow);
}
.online-invitations-page{margin-bottom:28px}
.online-invitations-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:20px;
}
.online-invitations-heading h2{margin:0 0 6px;font-size:clamp(1.45rem,3vw,2.15rem)}
.online-invitations-heading p{margin:0;color:var(--muted)}
.online-invitation-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.online-invitation-card{
  display:grid;
  gap:14px;
  padding:20px;
  border:1px solid var(--border);
  border-radius:18px;
  background:#f8f8fc;
}
.online-invitation-card.is-incoming{
  border-color:#a99cff;
  background:linear-gradient(145deg,#f0edff,#fff);
  box-shadow:0 14px 34px rgba(92,66,232,.13);
}
.online-invitation-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.online-invitation-card h3{margin:0;font-size:1.18rem}
.online-invitation-card p{margin:0;color:var(--muted)}
.online-invitation-card p strong{color:var(--text)}
.online-invitation-time{font-size:.8rem;color:var(--muted);font-weight:700}
.online-games-empty-note{
  display:grid;
  gap:4px;
  margin:0 0 24px;
  padding:16px 18px;
  border:1px dashed #cfd3df;
  border-radius:16px;
  color:var(--muted);
  background:rgba(255,255,255,.6);
}
.online-games-empty-note strong{color:var(--text)}
.nav-online-games-link{display:flex!important;align-items:center;justify-content:space-between;gap:12px}
.nav-invitation-count{
  display:inline-grid;
  place-items:center;
  min-width:24px;
  height:24px;
  padding:0 7px;
  border-radius:999px;
  background:var(--primary);
  color:#fff;
  font-size:.75rem;
  font-weight:900;
  line-height:1;
}
@media(max-width:760px){
  .online-invitations-section{padding:18px;margin:20px 0}
  .online-invitations-heading{align-items:stretch;flex-direction:column}
  .online-invitations-heading .button{width:100%}
  .online-invitation-grid{grid-template-columns:1fr}
  .online-invitation-card-head{align-items:flex-start;flex-direction:column}
}

/* V85 – Online-X01 verwendet exakt die lokale X01-Spieloberfläche */
.online-game-page.is-x01-local-ui .online-waiting-panel{
    width:min(760px,100%);
    margin:0 auto
}
body.online-x01-active .online-game-page.is-x01-local-ui{
    padding:7px 0!important
}
body.online-x01-active .online-game-page.is-x01-local-ui>.container{
    width:100%!important;
    max-width:none!important;
    height:100%!important;
    padding:0 8px!important
}
body.online-x01-active .online-game-page.is-x01-local-ui .darts-counter{
    width:100%;
    height:100%;
    min-height:0
}
body.online-x01-active .online-game-page.is-x01-local-ui .darts-game{
    width:100%;
    height:100%;
    min-height:0
}
body.online-x01-active.darts-match-complete
.online-game-page.is-x01-local-ui .darts-turn-panel{
    display:none!important
}
body.online-x01-active .online-x01-connection{
    margin:0
}
body.online-x01-active .darts-turn-message:empty{
    visibility:hidden
}
body.online-x01-active .darts-submit-actions>.button:last-child{
    grid-column:1/-1
}
@media(orientation:landscape) and (min-width:700px){
    body.online-x01-active .darts-submit-actions>.button:last-child{
        grid-column:auto
    }
}


/* V86 – lokale Spieloberfläche auch für Online Split Score und 10 Visits */
.online-game-page.is-local-game-ui .online-waiting-panel{
    width:min(760px,100%);
    margin:0 auto
}
body.online-local-game-active .online-game-page.is-local-game-ui{
    padding:7px 0!important
}
body.online-local-game-active .online-game-page.is-local-game-ui>.container{
    width:100%!important;
    max-width:none!important;
    height:100%!important;
    padding:0 8px!important
}
body.online-local-game-active .online-game-page.is-local-game-ui .darts-counter,
body.online-local-game-active .online-game-page.is-local-game-ui .darts-game{
    width:100%;
    height:100%;
    min-height:0
}
body.online-local-game-active.darts-match-complete
.online-game-page.is-local-game-ui .darts-turn-panel{
    display:none!important
}
body.online-local-game-active .darts-turn-message:empty{visibility:hidden}
body.online-local-game-active .darts-submit-actions>.button:last-child{grid-column:1/-1}
.online-game-page.is-local-game-ui.is-ten-visits .darts-keypad,
.online-game-page.is-local-game-ui.is-ten-visits .darts-submit-actions,
.online-game-page.is-local-game-ui.is-ten-visits .darts-quick-scores{display:none!important}
.online-game-page.is-local-game-ui.is-ten-visits .darts-challenge-target,
.online-game-page.is-local-game-ui.is-ten-visits .darts-challenge-hits{display:grid!important}
.online-game-page.is-local-game-ui.is-split-score-local-ui .darts-quick-scores{display:none!important}
@media(orientation:landscape) and (min-width:700px){
    body.online-local-game-active .darts-submit-actions>.button:last-child{grid-column:auto}
}


/* V87 – kompakte Termin- und Terminserien-Eingabe */
.event-single-fields{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:12px;
    align-items:stretch;
}
.event-single-fields[hidden],.event-series-editor[hidden]{display:none!important}
.event-single-fields>.full{grid-column:auto;min-width:0}
.event-single-fields .date-time-card{
    min-width:0;
    overflow:hidden;
    padding:16px;
}
.event-single-fields .date-time-card-heading{
    align-items:flex-start;
    margin-bottom:12px;
}
.event-single-fields .date-time-card-heading p{
    max-width:220px;
    font-size:.8rem;
    line-height:1.35;
}
.event-single-fields .date-time-grid{
    grid-template-columns:minmax(0,1fr) minmax(90px,.58fr);
    gap:10px;
}
.event-single-fields .date-time-grid>*,
.event-single-fields .time-input-window{
    min-width:0;
}
.event-single-fields .date-time-grid label{
    min-width:0;
    font-size:.84rem;
}
.event-single-fields .date-time-grid input{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding:10px 9px;
}
.event-single-fields .time-input-window{
    padding:8px;
    overflow:hidden;
}

.event-series-editor{
    display:grid;
    gap:14px;
    padding:18px;
    border:1px solid var(--border);
    border-radius:18px;
    background:#faf9ff;
    min-width:0;
}
.event-series-heading{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
}
.event-series-heading h2{margin:3px 0 5px}
.event-series-heading p{margin:0;color:var(--muted)}
.event-series-rows{display:grid;gap:10px;min-width:0}
.event-series-row{
    display:grid;
    grid-template-columns:76px minmax(0,1fr) auto;
    align-items:stretch;
    gap:10px;
    min-width:0;
    padding:10px;
    border:1px solid var(--border);
    border-radius:15px;
    background:#fff;
}
.event-series-row-title{
    display:grid;
    align-content:center;
    justify-items:center;
    gap:1px;
    min-width:0;
    padding:8px;
    border-radius:12px;
    background:#ece9ff;
    color:var(--primary-dark);
    text-align:center;
}
.event-series-row-title span{
    font-size:.68rem;
    line-height:1;
    text-transform:uppercase;
    letter-spacing:.06em;
}
.event-series-row-title b{
    font-size:1.35rem;
    line-height:1;
}
.event-series-date-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:9px;
    min-width:0;
}
.event-series-field-group{
    display:grid;
    gap:6px;
    min-width:0;
    padding:9px;
    border:1px solid #d8d2ff;
    border-radius:12px;
    background:#f8f7ff;
    overflow:hidden;
}
.event-series-field-group.is-optional{
    border-color:var(--border);
    background:#fff;
}
.event-series-field-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
}
.event-series-field-heading strong{
    font-size:.83rem;
}
.event-series-field-heading small{
    padding:2px 6px;
    border-radius:99px;
    background:#ece9ff;
    color:var(--primary-dark);
    font-size:.62rem;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.event-series-field-group.is-optional .event-series-field-heading small{
    background:#f1f2f7;
    color:var(--muted);
}
.event-series-input-pair{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(88px,.56fr);
    gap:7px;
    min-width:0;
}
.event-series-input-pair label{
    min-width:0;
    gap:3px;
    font-size:.72rem;
}
.event-series-input-pair label>span{
    color:var(--muted);
    font-weight:750;
}
.event-series-input-pair input{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding:8px 7px;
    border-radius:9px;
    font-size:.82rem;
}
.event-series-remove-button{
    align-self:center;
    min-width:0;
    border:1px solid #f0c9ce;
    border-radius:10px;
    padding:8px 10px;
    background:#fff3f4;
    color:var(--danger);
    font:inherit;
    font-size:.78rem;
    font-weight:850;
    cursor:pointer;
}
.event-series-remove-button b{display:none;font-size:1.25rem;line-height:1}
.event-series-remove-button[hidden]{display:none!important}
.event-series-push-note{margin:0 0 12px;padding:13px 15px;border-radius:14px;background:#f0edff;color:var(--primary-dark);font-weight:700}
.event-series-push-note[hidden]{display:none!important}

@media(max-width:900px){
    .event-series-row{grid-template-columns:62px minmax(0,1fr) auto}
    .event-series-input-pair{grid-template-columns:minmax(0,1fr) minmax(78px,.52fr)}
}
@media(max-width:680px){
    .event-single-fields{
        grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
        gap:8px;
    }
    .event-single-fields .date-time-card{
        padding:10px;
        border-radius:14px;
    }
    .event-single-fields .date-time-card-heading{
        display:block;
        margin-bottom:8px;
    }
    .event-single-fields .date-time-card-heading p{display:none}
    .event-single-fields .date-time-card-heading .eyebrow{
        margin-bottom:2px;
        font-size:.62rem;
    }
    .event-single-fields .date-time-card-heading h2{
        font-size:1rem;
    }
    .event-single-fields .date-time-grid{
        grid-template-columns:1fr!important;
        gap:6px;
    }
    .event-single-fields .date-time-grid label{
        gap:3px;
        font-size:.72rem;
    }
    .event-single-fields .date-time-grid input{
        padding:8px 6px;
        font-size:.76rem;
    }
    .event-single-fields .time-input-window{
        padding:5px;
        border-radius:10px;
    }

    .event-series-editor{
        gap:10px;
        padding:10px;
        border-radius:15px;
    }
    .event-series-heading{
        align-items:flex-start;
        gap:8px;
    }
    .event-series-heading h2{font-size:1.05rem}
    .event-series-heading p{font-size:.76rem;line-height:1.35}
    .event-series-heading .badge{flex:0 0 auto}
    .event-series-row{
        grid-template-columns:34px minmax(0,1fr) 30px;
        gap:6px;
        padding:6px;
        border-radius:12px;
    }
    .event-series-row-title{
        padding:4px 2px;
        border-radius:9px;
    }
    .event-series-row-title span{display:none}
    .event-series-row-title b{font-size:1rem}
    .event-series-date-grid{
        grid-template-columns:minmax(0,1fr) minmax(0,1fr);
        gap:5px;
    }
    .event-series-field-group{
        gap:4px;
        padding:5px;
        border-radius:9px;
    }
    .event-series-field-heading strong{font-size:.68rem}
    .event-series-field-heading small{
        padding:1px 4px;
        font-size:.5rem;
    }
    .event-series-input-pair{
        grid-template-columns:1fr;
        gap:4px;
    }
    .event-series-input-pair label{
        gap:2px;
        font-size:.61rem;
    }
    .event-series-input-pair input{
        padding:7px 4px;
        border-radius:7px;
        font-size:.69rem;
    }
    .event-series-remove-button{
        width:30px;
        height:30px;
        padding:0;
        display:grid;
        place-items:center;
        border-radius:9px;
    }
    .event-series-remove-button span{display:none}
    .event-series-remove-button b{display:block}
}
body.online-local-game-active .online-x01-connection{margin:0}

/* V88: synchronisierter Bullwurf vor Online-Spielen */
.online-bull-overlay[hidden] {
    display: none !important;
}

.online-bull-overlay {
    position: fixed;
    z-index: 12000;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding:
        max(18px, env(safe-area-inset-top))
        max(18px, env(safe-area-inset-right))
        max(18px, env(safe-area-inset-bottom))
        max(18px, env(safe-area-inset-left));
    background: rgba(13, 14, 33, 0.86);
    overflow: auto;
    overscroll-behavior: contain;
}

body.online-bull-active {
    overflow: hidden !important;
}

.online-bull-card {
    width: min(760px, 100%);
    max-height: calc(100dvh - 36px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    overflow: auto;
    padding: clamp(22px, 4vw, 44px);
    border: 1px solid rgba(101, 74, 245, 0.28);
    border-radius: 28px;
    background: #ffffff;
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.3);
    text-align: center;
}

.online-bull-card h2 {
    margin: 10px 0 8px;
}

.online-bull-status {
    margin: 0 auto 20px;
    max-width: 620px;
    color: var(--muted, #666b7c);
}

.online-bull-results {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 20px 0;
}

.online-bull-player {
    min-width: 0;
    padding: 15px;
    border: 1px solid var(--border, #dfe2ee);
    border-radius: 18px;
    background: var(--surface-soft, #f6f6fb);
}

.online-bull-player span,
.online-bull-player strong {
    display: block;
    overflow-wrap: anywhere;
}

.online-bull-player span {
    margin-bottom: 5px;
    color: var(--muted, #666b7c);
    font-size: 0.9rem;
}

.online-bull-player strong {
    font-size: clamp(1rem, 2.6vw, 1.25rem);
}

.online-bull-player.is-current {
    border-color: #5a3df0;
    background: #efebff;
    box-shadow: 0 0 0 2px rgba(90, 61, 240, 0.12);
}

.online-bull-player.is-finished {
    border-color: rgba(31, 139, 83, 0.35);
}

.online-bull-tie {
    margin: 0 0 16px;
    padding: 11px 14px;
    border-radius: 14px;
    background: #fff5d9;
    color: #6a4a00;
    font-weight: 700;
}

.online-bull-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.online-bull-actions button {
    min-width: 0;
    min-height: 64px;
    padding: 12px 10px;
    border: 1px solid #5a3df0;
    border-radius: 16px;
    background: #5a3df0;
    color: #fff;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.online-bull-actions button:hover:not(:disabled),
.online-bull-actions button:focus-visible:not(:disabled) {
    filter: brightness(1.06);
}

.online-bull-actions button:disabled {
    border-color: #d5d7df;
    background: #e5e6eb;
    color: #8a8d98;
    cursor: not-allowed;
    opacity: 1;
}

.online-bull-message {
    min-height: 1.4em;
    margin: 14px 0 0;
}

@media (max-width: 540px) {
    .online-bull-overlay {
        align-items: flex-end;
        padding: 12px max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));
    }

    .online-bull-card {
        max-height: calc(100dvh - 20px - env(safe-area-inset-bottom));
        padding: 20px 14px;
        border-radius: 24px;
    }

    .online-bull-results {
        gap: 8px;
        margin: 14px 0;
    }

    .online-bull-player {
        padding: 11px 8px;
    }

    .online-bull-actions {
        gap: 7px;
    }

    .online-bull-actions button {
        min-height: 58px;
        padding: 9px 5px;
        font-size: 0.88rem;
    }
}


/* Update V91: öffentliche Statistiken und Tabellen ohne horizontales Scrollen */
.dart-tournament-stat-table-wrap{
    overflow:visible;
}
.dart-tournament-stat-table{
    display:block;
    width:100%;
    min-width:0;
    border-collapse:separate;
    border-spacing:0;
}
.dart-tournament-stat-table thead{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}
.dart-tournament-stat-table tbody{
    display:grid;
    gap:14px;
    padding:16px;
}
.dart-tournament-stat-table tbody tr{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    min-width:0;
    padding:14px;
    border:1px solid var(--border);
    border-radius:16px;
    background:#fff;
}
.dart-tournament-stat-table th:first-child{
    position:static;
    grid-column:1/-1;
    width:auto;
    min-width:0;
    max-width:none;
    padding:0 0 11px;
    border:0;
    border-bottom:1px solid var(--border);
    background:transparent;
    text-align:left;
}
.dart-tournament-stat-table td{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:8px;
    min-width:0;
    padding:9px 10px;
    border:0;
    border-radius:10px;
    background:var(--surface-soft);
    text-align:right;
    white-space:normal;
    overflow-wrap:anywhere;
}
.dart-tournament-stat-table td::before{
    color:var(--muted);
    font-size:.65rem;
    font-weight:850;
    line-height:1.2;
    text-align:left;
}
.dart-tournament-stat-table tbody tr.is-total{
    border-color:#30206f;
    background:#30206f;
}
.dart-tournament-stat-table tbody tr.is-total th,
.dart-tournament-stat-table tbody tr.is-total td{
    background:rgba(255,255,255,.1);
    color:#fff;
}
.dart-tournament-stat-table tbody tr.is-total th:first-child{
    background:transparent;
    border-bottom-color:rgba(255,255,255,.22);
}
.dart-tournament-stat-table tbody tr.is-total td::before{
    color:rgba(255,255,255,.72);
}
.dart-tournament-stat-table tbody tr.is-winner{
    border-color:#83d7b8;
    background:#effbf6;
}
.dart-tournament-stat-table tbody tr.is-winner th,
.dart-tournament-stat-table tbody tr.is-winner td,
.dart-tournament-stat-table tbody tr:hover:not(.is-total) th,
.dart-tournament-stat-table tbody tr:hover:not(.is-total) td{
    background:transparent;
}
.dart-tournament-stat-player-name strong{
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
}
.dart-tournament-stat-table.is-x01 td:nth-child(2)::before{content:"Spiele"}
.dart-tournament-stat-table.is-x01 td:nth-child(3)::before{content:"Siege"}
.dart-tournament-stat-table.is-x01 td:nth-child(4)::before{content:"Average"}
.dart-tournament-stat-table.is-x01 td:nth-child(5)::before{content:"Checkoutquote"}
.dart-tournament-stat-table.is-x01 td:nth-child(6)::before{content:"Höchster CO"}
.dart-tournament-stat-table.is-x01 td:nth-child(7)::before{content:"First 3 Avg"}
.dart-tournament-stat-table.is-x01 td:nth-child(8)::before{content:"First 9 Avg"}
.dart-tournament-stat-table.is-x01 td:nth-child(9)::before{content:"≥ 60"}
.dart-tournament-stat-table.is-x01 td:nth-child(10)::before{content:"≥ 100"}
.dart-tournament-stat-table.is-x01 td:nth-child(11)::before{content:"≥ 140"}
.dart-tournament-stat-table.is-x01 td:nth-child(12)::before{content:"180er"}
.dart-tournament-stat-table.is-x01 td:nth-child(13)::before{content:"Gewonnene Legs"}
.dart-tournament-stat-table.is-x01 td:nth-child(14)::before{content:"Geworfene Pfeile"}
.dart-tournament-stat-table.is-cricket td:nth-child(2)::before{content:"Spiele"}
.dart-tournament-stat-table.is-cricket td:nth-child(3)::before{content:"Siege"}
.dart-tournament-stat-table.is-cricket td:nth-child(4)::before{content:"Punktestand-Summe"}
.dart-tournament-stat-table.is-cricket td:nth-child(5)::before{content:"Geschlossene Felder"}
.dart-tournament-stat-table.is-cricket td:nth-child(6)::before{content:"Aufnahmen"}
.dart-tournament-stat-table.is-cricket td:nth-child(7)::before{content:"Eingegebene Treffer"}
.dart-tournament-stat-table.is-cricket td:nth-child(8)::before{content:"Wertende Zusatzmarken"}
.dart-tournament-stat-table.is-cricket td:nth-child(9)::before{content:"Gewonnene Legs"}
.dart-match-stat-player,
.dart-match-stat-values,
.dart-match-stat-values>div{
    min-width:0;
}
.dart-match-stat-values{
    grid-template-columns:repeat(auto-fit,minmax(135px,1fr));
}
@media(max-width:1000px){
    .dart-tournament-stat-table tbody tr{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}
@media(max-width:700px){
    .dart-tournament-stat-table tbody{
        padding:10px;
    }
    .dart-tournament-stat-table tbody tr{
        grid-template-columns:repeat(2,minmax(0,1fr));
        padding:11px;
    }
    .dart-tournament-stat-table td{
        grid-template-columns:1fr;
        gap:4px;
        text-align:left;
    }
    .dart-match-stat-values{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:420px){
    .dart-tournament-stat-table tbody tr{
        grid-template-columns:1fr;
    }
}

/* Update V92: sortierbare Turnier-Gesamttabelle */
.dart-tournament-ranking-panel{
    padding:0;
    margin-bottom:18px;
    overflow:hidden;
}
.dart-tournament-ranking-panel>.panel-header{
    padding:20px 22px 14px;
}
.dart-tournament-ranking-table-wrap{
    width:100%;
    overflow:hidden;
    border-top:1px solid var(--border);
}
.dart-tournament-ranking-table{
    width:100%;
    table-layout:fixed;
    border-collapse:collapse;
    font-size:clamp(.58rem,.72vw,.78rem);
}
.dart-tournament-ranking-table col.is-player-column{
    width:18%;
}
.dart-tournament-ranking-table th,
.dart-tournament-ranking-table td{
    min-width:0;
    padding:9px 4px;
    border-right:1px solid var(--border);
    border-bottom:1px solid var(--border);
    background:#fff;
    text-align:center;
    line-height:1.2;
    white-space:normal;
    overflow-wrap:anywhere;
}
.dart-tournament-ranking-table tr>*:last-child{
    border-right:0;
}
.dart-tournament-ranking-table thead th{
    padding:0;
    background:#f4f2ff;
    color:#40356b;
    vertical-align:stretch;
}
.dart-tournament-ranking-sort{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:4px;
    width:100%;
    min-height:58px;
    padding:7px 3px;
    border:0;
    border-radius:0;
    background:transparent;
    color:inherit;
    font:inherit;
    font-weight:900;
    line-height:1.12;
    text-align:center;
    cursor:pointer;
}
.dart-tournament-ranking-table thead th:first-child .dart-tournament-ranking-sort{
    justify-content:flex-start;
    padding-left:10px;
    text-align:left;
}
.dart-tournament-ranking-sort::after{
    content:"↕";
    flex:0 0 auto;
    color:#776ca3;
    font-size:.75em;
}
.dart-tournament-ranking-sort[data-sort-direction="asc"]::after{
    content:"▲";
    color:#432eb4;
}
.dart-tournament-ranking-sort[data-sort-direction="desc"]::after{
    content:"▼";
    color:#432eb4;
}
.dart-tournament-ranking-sort:hover,
.dart-tournament-ranking-sort:focus-visible{
    background:#e9e5ff;
    outline:none;
}
.dart-tournament-ranking-table tbody th{
    text-align:left;
}
.dart-tournament-ranking-table tbody tr:nth-child(odd):not(.is-total) th,
.dart-tournament-ranking-table tbody tr:nth-child(odd):not(.is-total) td{
    background:#fbfaff;
}
.dart-tournament-ranking-table tbody tr.is-total th,
.dart-tournament-ranking-table tbody tr.is-total td{
    background:#30206f;
    color:#fff;
    font-weight:900;
}
.dart-tournament-ranking-table tbody tr.is-winner th,
.dart-tournament-ranking-table tbody tr.is-winner td{
    background:#effbf6;
}
.dart-tournament-ranking-table tbody tr:hover:not(.is-total) th,
.dart-tournament-ranking-table tbody tr:hover:not(.is-total) td{
    background:#f1efff;
}
.dart-tournament-ranking-table th>small{
    display:block;
    margin-top:3px;
    color:var(--muted);
    font-size:.82em;
    font-weight:700;
}
.dart-tournament-ranking-table tr.is-total th>small{
    color:rgba(255,255,255,.72);
}
.dart-tournament-ranking-player{
    display:flex;
    align-items:center;
    gap:5px;
    min-width:0;
}
.dart-tournament-ranking-player i{
    flex:0 0 auto;
    color:#766aa1;
    font-size:.84em;
    font-style:normal;
    font-weight:900;
}
.dart-tournament-ranking-player strong{
    min-width:0;
    overflow-wrap:anywhere;
}
.dart-tournament-ranking-table .is-short-label{
    display:none;
}
.dart-tournament-ranking-status{
    margin:0;
    padding:9px 16px 12px;
    color:var(--muted);
    font-size:.74rem;
    text-align:right;
}
@media(max-width:1100px){
    .dart-tournament-ranking-table{
        font-size:.59rem;
    }
    .dart-tournament-ranking-table col.is-player-column{
        width:16%;
    }
    .dart-tournament-ranking-table th,
    .dart-tournament-ranking-table td{
        padding:7px 2px;
    }
    .dart-tournament-ranking-sort{
        min-height:54px;
        padding:6px 2px;
    }
}
@media(max-width:700px){
    .dart-tournament-ranking-panel>.panel-header{
        padding:16px 14px 11px;
    }
    .dart-tournament-ranking-table{
        font-size:.5rem;
    }
    .dart-tournament-ranking-table col.is-player-column{
        width:25%;
    }
    .dart-tournament-ranking-table th,
    .dart-tournament-ranking-table td{
        padding:5px 1px;
        letter-spacing:-.015em;
    }
    .dart-tournament-ranking-sort{
        min-height:45px;
        padding:4px 1px;
        gap:1px;
    }
    .dart-tournament-ranking-table .is-full-label{
        display:none;
    }
    .dart-tournament-ranking-table .is-short-label{
        display:inline;
    }
    .dart-tournament-ranking-sort::after{
        font-size:.68em;
    }
    .dart-tournament-ranking-table thead th:first-child .dart-tournament-ranking-sort{
        padding-left:5px;
    }
    .dart-tournament-ranking-table th>small{
        display:none;
    }
    .dart-tournament-ranking-player{
        align-items:flex-start;
        gap:3px;
    }
    .dart-tournament-ranking-player i{
        font-size:.8em;
    }
    .dart-tournament-ranking-status{
        padding:7px 10px 9px;
        font-size:.66rem;
    }
}
@media(max-width:420px){
    .dart-tournament-ranking-table{
        font-size:.46rem;
    }
    .dart-tournament-ranking-table col.is-player-column{
        width:27%;
    }
    .dart-tournament-ranking-sort{
        min-height:42px;
    }
}

/* Update V93: Turniertabellen vollständig mobil und Statistik-Kacheln 4-spaltig */
.visually-hidden{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}

/* Die globale Tabellen-Mindestbreite darf die sortierbare Turniertabelle
   nicht mehr über den mobilen Kartenrand hinausschieben. */
.dart-tournament-ranking-table{
    min-width:0!important;
    max-width:100%;
}

/* Round-Robin-Tabelle ohne horizontales Scrollen. */
.dart-tournament-round-robin-panel{
    overflow:hidden;
}
.dart-tournament-round-robin-wrap{
    width:100%;
    overflow:visible;
}
.dart-tournament-round-robin-table{
    width:100%;
    min-width:0!important;
    max-width:100%;
    table-layout:fixed;
    font-variant-numeric:tabular-nums;
}
.dart-tournament-round-robin-table col.is-place-column{
    width:10%;
}
.dart-tournament-round-robin-table col.is-player-column{
    width:30%;
}
.dart-tournament-round-robin-table th,
.dart-tournament-round-robin-table td{
    min-width:0;
    overflow-wrap:anywhere;
}
.dart-tournament-round-robin-table th:not(:nth-child(2)),
.dart-tournament-round-robin-table td:not(:nth-child(2)){
    text-align:center;
}

@media(max-width:700px){
    .dart-tournament-round-robin-panel{
        padding:18px 12px;
    }
    .dart-tournament-round-robin-panel>.panel-header{
        margin-bottom:12px;
    }
    .dart-tournament-round-robin-table{
        font-size:.64rem;
        line-height:1.15;
    }
    .dart-tournament-round-robin-table col.is-place-column{
        width:9%;
    }
    .dart-tournament-round-robin-table col.is-player-column{
        width:31%;
    }
    .dart-tournament-round-robin-table th,
    .dart-tournament-round-robin-table td{
        padding:7px 2px;
        letter-spacing:-.015em;
    }
    .dart-tournament-round-robin-table th{
        font-size:.56rem;
        letter-spacing:.025em;
    }

    /* Jeder Spieler bleibt eine Karte; die Werte stehen in vier
       gleich breiten Statistik-Kacheln pro Reihe. */
    .dart-tournament-stat-table tbody{
        gap:10px;
        padding:8px;
    }
    .dart-tournament-stat-table tbody tr{
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
        gap:5px;
        padding:9px;
    }
    .dart-tournament-stat-table td{
        min-height:64px;
        padding:6px 3px;
        grid-template-columns:1fr;
        align-content:center;
        justify-items:center;
        gap:4px;
        font-size:.82rem;
        font-weight:850;
        line-height:1.1;
        text-align:center;
        overflow-wrap:anywhere;
    }
    .dart-tournament-stat-table td::before{
        font-size:.52rem;
        line-height:1.12;
        text-align:center;
    }
    .dart-tournament-stat-table tbody tr:not(.is-total) td{
        border:1px solid var(--border);
        background:#fff!important;
    }
    .dart-tournament-stat-table tbody tr.is-winner td{
        border-color:#b8e8d6;
        background:rgba(255,255,255,.82)!important;
    }
    .dart-tournament-stat-table tbody tr.is-total td{
        border:1px solid rgba(255,255,255,.18);
        background:rgba(255,255,255,.1)!important;
    }
}

@media(max-width:420px){
    .dart-tournament-ranking-table{
        font-size:.42rem;
    }
    .dart-tournament-ranking-table col.is-player-column{
        width:24%;
    }
    .dart-tournament-ranking-table th,
    .dart-tournament-ranking-table td{
        padding:4px 0;
    }
    .dart-tournament-ranking-sort{
        min-height:40px;
        padding:3px 0;
    }
    .dart-tournament-ranking-sort::after{
        font-size:.58em;
    }

    .dart-tournament-round-robin-panel{
        padding:16px 9px;
    }
    .dart-tournament-round-robin-table{
        font-size:.59rem;
    }
    .dart-tournament-round-robin-table col.is-place-column{
        width:9%;
    }
    .dart-tournament-round-robin-table col.is-player-column{
        width:32%;
    }
    .dart-tournament-round-robin-table th,
    .dart-tournament-round-robin-table td{
        padding:6px 1px;
    }
    .dart-tournament-round-robin-table th{
        font-size:.5rem;
    }

    /* Frühere Einspalten-Regel gezielt auf vier Kacheln überschreiben. */
    .dart-tournament-stat-table tbody tr{
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
        gap:4px;
        padding:7px;
    }
    .dart-tournament-stat-table td{
        min-height:60px;
        padding:5px 2px;
        font-size:.76rem;
    }
    .dart-tournament-stat-table td::before{
        font-size:.48rem;
    }
}

/* Update V94: Turnierserien-Streichergebnisse, kompakter Zwischenstand und Kalenderexport */
.dart-series-result-rule{
    display:grid;
    grid-template-columns:minmax(220px,.8fr) minmax(0,1.5fr);
    gap:22px;
    margin-top:22px;
    padding:20px;
    border:1px solid var(--border);
    border-radius:16px;
    background:#f7f6ff;
}
.dart-series-result-rule-heading h3{
    margin:4px 0 7px;
}
.dart-series-result-rule-heading p{
    margin:0;
    color:var(--muted);
}
.dart-series-result-rule-fields{
    display:grid;
    grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);
    gap:14px;
    align-items:start;
}
.dart-series-result-rule-fields label{
    padding:13px;
    border:1px solid var(--border);
    border-radius:13px;
    background:#fff;
}
.dart-series-result-rule-fields label[hidden]{
    display:none!important;
}

.dart-series-progress-panel{
    margin-bottom:24px;
    overflow:hidden;
}
.dart-series-progress-table-wrap{
    width:100%;
    max-width:100%;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:14px;
}
.dart-series-progress-table{
    width:100%;
    min-width:0!important;
    max-width:100%;
    table-layout:fixed;
    border-collapse:collapse;
    font-size:clamp(7px,var(--series-matrix-font-size,12px),12px);
    line-height:1.15;
    font-variant-numeric:tabular-nums;
}
.dart-series-progress-table col.is-player-column{
    width:24%;
}
.dart-series-progress-table col.is-total-column{
    width:10%;
}
.dart-series-progress-table th,
.dart-series-progress-table td{
    min-width:0;
    padding:9px 3px;
    border-right:1px solid var(--border);
    border-bottom:1px solid var(--border);
    text-align:center;
    overflow-wrap:anywhere;
    word-break:normal;
}
.dart-series-progress-table tr>*:last-child{
    border-right:0;
}
.dart-series-progress-table tbody tr:last-child>*{
    border-bottom:0;
}
.dart-series-progress-table thead th{
    background:#f0edff;
    color:var(--primary-dark);
    font-weight:950;
}
.dart-series-progress-table thead th:first-child{
    text-align:left;
}
.dart-series-progress-table thead a{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:1px;
    width:100%;
    min-width:0;
    color:inherit;
    text-decoration:none;
}
.dart-series-progress-table thead a:hover{
    color:var(--primary);
    text-decoration:underline;
}
.dart-series-progress-table thead a span,
.dart-series-progress-table thead a small{
    display:block;
    max-width:100%;
    font-size:1em;
    line-height:1.05;
}
.dart-series-progress-table tbody th{
    background:#fff;
    text-align:left;
    font-weight:900;
}
.dart-series-progress-table tbody th>span{
    display:flex;
    align-items:flex-start;
    gap:4px;
    min-width:0;
}
.dart-series-progress-table tbody th i{
    flex:0 0 auto;
    color:var(--primary);
    font-style:normal;
    font-weight:950;
}
.dart-series-progress-table tbody tr.is-leader th,
.dart-series-progress-table tbody tr.is-leader td{
    background:#f3fff9;
}
.dart-series-progress-table td.is-missing{
    color:#a2a6b5;
    background:#fafafd;
}
.dart-series-progress-table td.is-dropped{
    color:#8b8f9d;
    background:#f4f4f7;
    text-decoration:line-through;
    opacity:.72;
}
.dart-series-progress-table td.is-total{
    background:#34217e;
    color:#fff;
    font-size:1.06em;
}
.dart-series-progress-table tbody tr.is-leader td.is-total{
    background:#2a8c70;
}
.dart-series-progress-legend{
    display:flex;
    justify-content:flex-end;
    gap:14px;
    flex-wrap:wrap;
    margin:10px 0 0;
    color:var(--muted);
    font-size:.78rem;
}
.dart-series-progress-legend span{
    display:inline-flex;
    align-items:center;
    gap:6px;
}
.dart-series-progress-legend i{
    display:grid;
    place-items:center;
    width:24px;
    height:22px;
    border:1px solid var(--border);
    border-radius:6px;
    background:#fafafd;
    font-style:normal;
    font-weight:900;
}
.dart-series-progress-legend i.is-dropped{
    color:#8b8f9d;
    background:#f4f4f7;
    text-decoration:line-through;
}

.event-calendar-export{
    display:flex;
    justify-content:flex-start;
    margin-top:17px;
}

@media(max-width:800px){
    .dart-series-result-rule{
        grid-template-columns:1fr;
    }
    .dart-series-result-rule-fields{
        grid-template-columns:1fr;
    }
}

@media(max-width:680px){
    .dart-series-result-rule{
        gap:14px;
        margin-top:18px;
        padding:14px;
    }
    .dart-series-progress-panel{
        padding:14px 9px;
    }
    .dart-series-progress-panel>.panel-header{
        margin-bottom:12px;
        padding:0 3px;
    }
    .dart-series-progress-table{
        font-size:clamp(6px,calc(var(--series-matrix-font-size,10px) - 1px),10px);
    }
    .dart-series-progress-table col.is-player-column{
        width:27%;
    }
    .dart-series-progress-table col.is-total-column{
        width:11%;
    }
    .dart-series-progress-table th,
    .dart-series-progress-table td{
        padding:7px 1px;
        letter-spacing:-.02em;
    }
    .dart-series-progress-table tbody th>span{
        display:block;
        line-height:1.12;
    }
    .dart-series-progress-table tbody th i{
        display:block;
        margin-bottom:2px;
    }
    .dart-series-progress-legend{
        justify-content:flex-start;
        gap:9px;
        font-size:.68rem;
    }
    .event-calendar-export .button{
        width:100%;
    }
}


/* Update V95: kompakte Livescore-Höhe und sichtbare Turniernavigation */
body.dart-live-score-mode{
    overflow:auto
}
body.dart-live-score-mode main{
    height:auto;
    min-height:100dvh;
    overflow:visible
}
.dart-live-score-page{
    height:auto;
    min-height:100dvh;
    overflow:visible
}
.dart-live-board-grid,
.dart-live-score-page.has-recent-results .dart-live-board-grid{
    grid-template-rows:none!important;
    grid-auto-rows:auto;
    align-items:start;
    flex:0 0 auto
}
.dart-live-board-grid .dart-live-score-card{
    grid-template-rows:auto auto auto;
    height:auto
}
.dart-live-board-grid .dart-live-score-players{
    min-height:0
}
.dart-live-board-grid .dart-live-score-player{
    min-height:0;
    justify-content:flex-start
}
.dart-live-no-more-boards{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    flex:0 0 auto;
    margin-top:10px;
    padding:12px 16px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:13px;
    background:rgba(255,255,255,.065);
    color:rgba(255,255,255,.78);
    text-align:center
}
.dart-live-no-more-boards span{
    display:grid;
    flex:0 0 auto;
    width:24px;
    height:24px;
    place-items:center;
    border-radius:50%;
    background:rgba(49,213,150,.17);
    color:#7ff0bd;
    font-size:.78rem;
    font-weight:950
}
.dart-live-no-more-boards strong{
    font-size:clamp(.68rem,1.3vw,.86rem)
}

@media(max-width:620px){
    .dart-live-score-header{
        align-items:flex-start;
        flex-direction:column;
        gap:7px;
        min-height:0
    }
    .dart-live-score-header>div:first-child{
        width:100%
    }
    .dart-live-score-header-actions{
        justify-content:space-between;
        width:100%;
        gap:8px
    }
    .dart-live-score-header-actions .button{
        display:inline-flex;
        min-height:32px;
        padding:6px 10px;
        font-size:.64rem;
        line-height:1.05;
        white-space:nowrap
    }
    .dart-live-no-more-boards{
        margin-top:7px;
        padding:10px 12px
    }
    .dart-live-no-more-boards strong{
        font-size:.66rem
    }
}

/* V97 – Turnierpraxis: größere Eingaben, Livescore und Spielerwechsel */
body.darts-game-active:not(.darts-ten-visits-active)
.darts-counter .darts-turn-panel>.darts-score-entry>.darts-quick-scores{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    grid-template-rows:minmax(0,1fr)!important
}
body.darts-game-active:not(.darts-ten-visits-active)
.darts-counter .darts-turn-panel>.darts-score-entry>.darts-quick-scores button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    padding:4px 3px!important;
    font-size:clamp(.9rem,2vw,1.25rem)!important;
    font-weight:950!important
}

body.darts-game-active:not(.darts-match-complete)
.darts-counter .darts-player-stats.has-three-stats{
    grid-template-columns:repeat(3,minmax(0,1fr))!important
}
body.darts-game-active:not(.darts-match-complete)
.darts-counter .darts-player-stats>span{
    min-width:0!important
}

.darts-counter .darts-checkout-dialog .darts-choice-buttons button{
    min-height:72px!important;
    padding:12px 8px!important;
    border-radius:16px!important;
    font-size:clamp(1.35rem,3vw,1.8rem)!important
}
body.darts-game-active .darts-counter
.darts-turn-panel>.darts-leg-winner .button{
    min-height:64px!important;
    padding:14px 24px!important;
    border-radius:15px!important;
    font-size:clamp(1rem,2.4vw,1.3rem)!important
}

.darts-counter .darts-remaining-score.is-score-preview{
    color:#efc84a!important;
    text-shadow:0 0 20px rgba(239,200,74,.24)
}

@media(orientation:portrait) and (max-width:900px){
    body.darts-game-active:not(.darts-match-complete)
    .darts-counter .darts-remaining-score{
        margin:5px 0 4px!important;
        font-size:clamp(2.6rem,9.2vh,4.35rem)!important;
        line-height:.8!important
    }
    body.darts-game-active:not(.darts-match-complete)
    .darts-counter .darts-player-stats>span{
        padding:4px 2px!important
    }
    body.darts-game-active:not(.darts-match-complete)
    .darts-counter .darts-player-stats>span>span{
        font-size:clamp(.43rem,1.7vw,.58rem)!important
    }
    body.darts-game-active:not(.darts-match-complete)
    .darts-counter .darts-player-stats strong{
        font-size:clamp(.65rem,2.7vw,.88rem)!important
    }
    .darts-counter .darts-checkout-dialog .darts-choice-buttons button{
        min-height:64px!important;
        font-size:1.35rem!important
    }
}

@media(orientation:landscape) and (max-height:499px){
    body.darts-game-active:not(.darts-match-complete)
    .darts-counter .darts-remaining-score{
        font-size:clamp(2.5rem,10.5vh,3.8rem)!important
    }
    body.darts-game-active:not(.darts-ten-visits-active)
    .darts-counter .darts-turn-panel>.darts-score-entry>.darts-quick-scores button{
        font-size:clamp(.72rem,2.8vh,.95rem)!important
    }
    .darts-counter .darts-checkout-dialog .darts-choice-buttons button{
        min-height:54px!important;
        padding:8px 6px!important;
        font-size:1.15rem!important
    }
    body.darts-game-active .darts-counter
    .darts-turn-panel>.darts-leg-winner .button{
        min-height:50px!important;
        padding:9px 18px!important
    }
}

.dart-tournament-refresh-button{
    position:fixed;
    top:90px;
    right:12px;
    z-index:45;
    min-height:42px;
    padding:9px 15px;
    box-shadow:0 10px 28px rgba(23,16,80,.26)
}

.dart-tournament-player-list article{
    min-width:0
}
.dart-tournament-player-name{
    min-width:0;
    overflow:hidden
}
.dart-tournament-player-name strong,
.dart-tournament-player-name small{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
}
.dart-tournament-player-actions{
    display:flex!important;
    align-items:center;
    justify-content:flex-end;
    flex:0 0 auto!important;
    gap:6px!important
}
.dart-tournament-player-actions .button{
    min-height:32px;
    padding:6px 9px;
    font-size:.64rem;
    white-space:nowrap
}

.dart-tournament-player-modal[hidden]{
    display:none!important
}
.dart-tournament-player-modal{
    position:fixed;
    inset:0;
    z-index:1000;
    display:grid;
    place-items:center;
    padding:18px
}
.dart-tournament-player-modal-backdrop{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
    background:rgba(13,10,45,.72);
    backdrop-filter:blur(6px);
    cursor:pointer
}
.dart-tournament-player-dialog{
    position:relative;
    z-index:1;
    width:min(620px,100%);
    max-height:calc(100dvh - 36px);
    margin:0;
    padding:24px;
    overflow:auto;
    box-shadow:0 32px 100px rgba(0,0,0,.36)
}
.dart-tournament-player-dialog form{
    display:grid;
    gap:16px
}
.dart-tournament-player-dialog .panel-header{
    margin-bottom:0
}
.dart-tournament-player-dialog label{
    display:grid;
    gap:7px;
    font-weight:850
}
.dart-tournament-player-dialog label small{
    color:var(--muted);
    font-weight:600;
    line-height:1.45
}
.dart-tournament-player-dialog-actions{
    margin-top:4px
}
body.dart-tournament-modal-open{
    overflow:hidden
}

@media(max-width:700px){
    .dart-tournament-refresh-button{
        top:76px;
        right:8px;
        min-height:38px;
        padding:7px 10px;
        font-size:.68rem
    }
    .dart-tournament-player-list article{
        align-items:flex-start;
        flex-wrap:wrap
    }
    .dart-tournament-player-actions{
        width:100%;
        padding-left:45px;
        justify-content:space-between
    }
    .dart-tournament-player-actions .button{
        flex:1 1 auto
    }
    .dart-tournament-player-modal{
        padding:8px
    }
    .dart-tournament-player-dialog{
        max-height:calc(100dvh - 16px);
        padding:17px
    }
    .dart-tournament-player-dialog-actions{
        display:grid;
        grid-template-columns:1fr
    }
    .dart-tournament-player-dialog-actions .button{
        width:100%
    }
}

/* V98 – größere Bullwurf-Auswahl, größere Restscores und freie Menütaste */
body.darts-game-active .darts-counter
.darts-turn-panel .darts-bull-player-buttons{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
    margin:22px auto 14px!important
}
body.darts-game-active .darts-counter
.darts-turn-panel .darts-bull-player-buttons .button{
    min-height:82px!important;
    padding:18px 14px!important;
    border-radius:18px!important;
    font-size:clamp(1.05rem,2.7vw,1.4rem)!important;
    font-weight:950!important;
    line-height:1.2!important
}

body.darts-game-active:not(.darts-match-complete)
.darts-counter .darts-remaining-score{
    margin:8px 0 6px!important;
    font-size:clamp(5.4rem,11vw,9rem)!important;
    line-height:.76!important;
    letter-spacing:-.075em!important
}
body.darts-game-active:not(.darts-match-complete)
.darts-counter .darts-scoreboard[data-player-count="3"] .darts-remaining-score,
body.darts-game-active:not(.darts-match-complete)
.darts-counter .darts-scoreboard[data-player-count="4"] .darts-remaining-score{
    font-size:clamp(4.5rem,8.3vw,7rem)!important
}

@media(max-width:1180px){
    .dart-tournament-refresh-button{
        right:12px!important
    }
}

@media(orientation:portrait) and (max-width:900px){
    body.darts-game-active .darts-counter
    .darts-turn-panel .darts-bull-player-buttons{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:10px!important;
        margin:13px auto 8px!important
    }
    body.darts-game-active .darts-counter
    .darts-turn-panel .darts-bull-player-buttons .button{
        min-height:70px!important;
        padding:13px 8px!important;
        border-radius:15px!important;
        font-size:clamp(.95rem,4vw,1.18rem)!important
    }
    body.darts-game-active:not(.darts-match-complete)
    .darts-counter .darts-remaining-score{
        margin:6px 0 5px!important;
        font-size:clamp(4.5rem,14vh,7rem)!important;
        line-height:.75!important
    }
    body.darts-game-active:not(.darts-match-complete)
    .darts-counter .darts-scoreboard[data-player-count="3"] .darts-remaining-score,
    body.darts-game-active:not(.darts-match-complete)
    .darts-counter .darts-scoreboard[data-player-count="4"] .darts-remaining-score{
        font-size:clamp(3.7rem,11vh,5.6rem)!important
    }
}

@media(orientation:landscape) and (max-height:650px){
    body.darts-game-active .darts-counter
    .darts-turn-panel .darts-bull-player-buttons{
        gap:9px!important;
        margin:10px auto 6px!important
    }
    body.darts-game-active .darts-counter
    .darts-turn-panel .darts-bull-player-buttons .button{
        min-height:58px!important;
        padding:9px 8px!important;
        font-size:clamp(.88rem,3.5vh,1.1rem)!important
    }
    body.darts-game-active:not(.darts-match-complete)
    .darts-counter .darts-remaining-score{
        font-size:clamp(3.7rem,14vh,5.5rem)!important
    }
    body.darts-game-active:not(.darts-match-complete)
    .darts-counter .darts-scoreboard[data-player-count="3"] .darts-remaining-score,
    body.darts-game-active:not(.darts-match-complete)
    .darts-counter .darts-scoreboard[data-player-count="4"] .darts-remaining-score{
        font-size:clamp(3.25rem,11.5vh,4.7rem)!important
    }
}

/* Update V99: Checkoutweg direkt im leeren Score-Eingabefeld */
.darts-score-input.has-checkout-suggestion::placeholder{
    color:#b7b8c2!important;
    -webkit-text-fill-color:#b7b8c2!important;
    opacity:1!important;
    font-size:clamp(1.75rem,3.8vw,3.1rem)!important;
    font-weight:900!important;
    letter-spacing:.01em!important
}
@media(max-width:700px){
    .darts-score-input.has-checkout-suggestion::placeholder{
        font-size:clamp(1.45rem,6.4vw,2.25rem)!important
    }
}

/* Update V101: Turnierstatistik direkt im Turnier und neuer Spielplan */
.dart-tournament-share-panel,
.dart-tournament-statistics-panel{
    margin-bottom:18px;
}
.dart-tournament-share-panel .dart-tournament-foldout-content{
    padding-top:18px;
}
.dart-tournament-share-description{
    margin:0 0 16px;
    color:var(--muted);
}
.dart-tournament-statistics-panel .dart-tournament-foldout-content{
    padding:0;
}
.dart-tournament-ranking-help{
    padding:13px 18px;
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
    background:#faf9ff;
    color:var(--muted);
    font-size:.76rem;
    font-weight:750;
}
.dart-tournament-statistics-panel .dart-tournament-ranking-table-wrap{
    border-top:0;
}
.dart-tournament-more-statistics{
    display:flex;
    justify-content:center;
    padding:16px 18px 20px;
    border-top:1px solid var(--border);
    background:#faf9ff;
}

/* Spaltenüberschriften als gedrehter Text von unten nach oben. */
.dart-tournament-statistics-panel
.dart-tournament-ranking-table thead th{
    height:150px;
    overflow:hidden;
    vertical-align:middle;
}
.dart-tournament-statistics-panel
.dart-tournament-ranking-sort{
    position:relative;
    min-height:150px;
    height:150px;
    padding:0 2px 22px!important;
    justify-content:center!important;
    text-align:center!important;
}
.dart-tournament-statistics-panel
.dart-tournament-ranking-sort .is-full-label{
    display:inline-block!important;
    max-width:none;
    white-space:nowrap;
    overflow:visible;
    overflow-wrap:normal;
    transform:rotate(-90deg);
    transform-origin:center;
}
.dart-tournament-statistics-panel
.dart-tournament-ranking-sort .is-short-label{
    display:none!important;
}
.dart-tournament-statistics-panel
.dart-tournament-ranking-sort::after{
    position:absolute;
    right:50%;
    bottom:7px;
    transform:translateX(50%);
}
.dart-tournament-statistics-panel
.dart-tournament-ranking-table thead th:first-child
.dart-tournament-ranking-sort{
    padding-left:2px!important;
}

/* Nächste Spiele immer oben, bereits gespielte Begegnungen unten. */
.dart-tournament-schedule-block{
    display:grid;
    gap:12px;
}
.dart-tournament-schedule-block + .dart-tournament-schedule-block{
    margin-top:12px;
    padding-top:18px;
    border-top:2px solid var(--border);
}
.dart-tournament-schedule-block-head{
    padding:2px 2px 0;
}
.dart-tournament-schedule-block-head h2{
    margin:3px 0 0;
}
.dart-tournament-schedule-block.is-completed
.dart-tournament-schedule-block-head h2{
    color:#516074;
}

/* Abgeschlossene Spiele: Spieler 1 – Legs gegen Legs – Spieler 2. */
.dart-tournament-match-players{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
    align-items:center;
    gap:5px;
}
.dart-tournament-match-players>span:not(.dart-tournament-match-score){
    display:block;
    min-width:0;
    text-align:center;
}
.dart-tournament-match-score{
    display:flex!important;
    align-items:center;
    justify-content:center;
    flex:0 0 auto!important;
    gap:4px;
    min-width:0!important;
    padding:0!important;
    background:transparent!important;
    color:var(--text)!important;
    overflow:visible!important;
    white-space:nowrap!important;
}
.dart-tournament-match-score strong{
    display:grid;
    place-items:center;
    min-width:25px;
    height:25px;
    padding:0 5px;
    border-radius:8px;
    background:#30206f;
    color:#fff;
    font-size:.78rem;
    line-height:1;
}
.dart-tournament-match-score small{
    padding:0!important;
    color:var(--muted);
    font-size:.56rem!important;
    font-weight:800;
}

@media(max-width:700px){
    .dart-tournament-statistics-panel
    .dart-tournament-ranking-table thead th,
    .dart-tournament-statistics-panel
    .dart-tournament-ranking-sort{
        height:124px;
        min-height:124px;
    }
    .dart-tournament-statistics-panel
    .dart-tournament-ranking-sort{
        font-size:.58rem;
    }
    .dart-tournament-ranking-help{
        padding:10px 12px;
        font-size:.68rem;
    }
    .dart-tournament-match-players{
        grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
        flex-basis:150px;
    }
    .dart-tournament-match-players>span:not(.dart-tournament-match-score){
        white-space:normal;
        overflow-wrap:anywhere;
    }
    .dart-tournament-match-score{
        gap:2px;
    }
    .dart-tournament-match-score strong{
        min-width:21px;
        height:22px;
        padding:0 3px;
        font-size:.66rem;
    }
    .dart-tournament-match-score small{
        font-size:.43rem!important;
    }
}

@media(max-width:480px){
    .dart-tournament-statistics-panel
    .dart-tournament-ranking-table thead th,
    .dart-tournament-statistics-panel
    .dart-tournament-ranking-sort{
        height:112px;
        min-height:112px;
    }
    .dart-tournament-statistics-panel
    .dart-tournament-ranking-sort{
        font-size:.52rem;
    }
    .dart-tournament-match-players{
        flex-basis:142px;
    }
}


.dart-tournament-schedule-block.is-upcoming .dart-tournament-round-state{
    background:#fff4db;
    color:#946114;
}

/* Update V102: Eigene Turnierspiele dezent hervorheben */
.dart-tournament-match-card.is-own-match,
.dart-tournament-match-card.is-own-match.is-completed{
    background:#fff0f2;
    border-color:#efb9c1;
    box-shadow:inset 4px 0 0 #dc6a78
}
.dart-tournament-match-card.is-own-match .dart-tournament-match-players>span{
    background:#fff7f8
}
.dart-tournament-match-card.is-own-match .dart-tournament-match-players>span.is-winner{
    background:#e7fff5
}
.dart-tournament-bracket-match.is-own-match,
.dart-tournament-bracket-match.is-own-match.is-completed{
    background:#fff0f2;
    border-color:#efb9c1;
    box-shadow:inset 4px 0 0 #dc6a78
}
.dart-tournament-bracket-match.is-own-match>span:not(.is-winner){
    background:#fff7f8
}



/* Update V103: eigene Namen, Mitgliederübersicht und private Nachrichten */
tr.is-own-player > th,
tr.is-own-player > td{
    background:#fff0f2!important;
}
tr.is-own-player > th:first-child,
tr.is-own-player > td:first-child{
    box-shadow:inset 4px 0 0 #dc6a78;
}
.is-own-player:not(tr){
    background:#fff0f2!important;
    border-color:#efb9c1!important;
    box-shadow:inset 4px 0 0 #dc6a78;
}
.is-own-player .badge-success,
tr.is-own-player .badge-success{
    background:#e7fff5;
}

.nav-private-message-link{
    display:flex!important;
    align-items:center;
    gap:7px;
}
.nav-private-message-count{
    display:inline-grid;
    place-items:center;
    min-width:20px;
    height:20px;
    padding:0 6px;
    border-radius:999px;
    background:#d7263d;
    color:#fff;
    font-size:.72rem;
    font-weight:900;
    line-height:1;
    box-shadow:0 0 0 2px rgba(255,255,255,.9);
}

.member-directory-head,
.private-message-page-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-bottom:18px;
}
.member-directory-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
    gap:16px;
}
.member-directory-card{
    display:grid;
    gap:13px;
    padding:18px;
    border:1px solid var(--border);
    border-radius:18px;
    background:var(--surface);
    box-shadow:var(--shadow-soft);
}
.member-directory-card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}
.member-directory-card h2,
.member-directory-card h3{
    margin:0;
}
.member-directory-meta{
    display:grid;
    gap:7px;
    color:var(--muted);
    font-size:.9rem;
}
.member-directory-teams{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}
.member-directory-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:auto;
}
.member-team-chip{
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:6px 9px;
    border-radius:999px;
    background:#f0efff;
    color:#33247f;
    font-size:.78rem;
    font-weight:800;
}
.member-team-chip.is-captain{
    background:#fff1d7;
    color:#8b5c00;
}
.member-directory-section + .member-directory-section{
    margin-top:28px;
}

.private-message-layout{
    display:grid;
    grid-template-columns:minmax(250px,330px) minmax(0,1fr);
    min-height:590px;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:20px;
    background:var(--surface);
    box-shadow:var(--shadow-soft);
}
.private-message-sidebar{
    display:flex;
    flex-direction:column;
    min-width:0;
    border-right:1px solid var(--border);
    background:#f8f8fd;
}
.private-message-new{
    padding:16px;
    border-bottom:1px solid var(--border);
}
.private-message-new form{
    display:grid;
    gap:8px;
}
.private-message-conversations{
    display:grid;
    align-content:start;
    max-height:650px;
    overflow:auto;
}
.private-message-conversation{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:5px 10px;
    padding:14px 16px;
    border-bottom:1px solid var(--border);
    color:inherit;
    text-decoration:none;
}
.private-message-conversation:hover,
.private-message-conversation.is-active{
    background:#eceaff;
}
.private-message-conversation-name{
    overflow:hidden;
    font-weight:900;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.private-message-conversation-preview{
    grid-column:1 / -1;
    overflow:hidden;
    color:var(--muted);
    font-size:.82rem;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.private-message-conversation-count{
    display:inline-grid;
    place-items:center;
    min-width:20px;
    height:20px;
    padding:0 6px;
    border-radius:999px;
    background:#d7263d;
    color:#fff;
    font-size:.7rem;
    font-weight:900;
}
.private-message-chat{
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto;
    min-width:0;
    min-height:590px;
}
.private-message-chat-head{
    padding:15px 18px;
    border-bottom:1px solid var(--border);
}
.private-message-chat-head h2{
    margin:0;
}
.private-message-stream{
    display:flex;
    flex-direction:column;
    gap:10px;
    min-height:310px;
    max-height:540px;
    padding:18px;
    overflow:auto;
    background:linear-gradient(180deg,#fbfbff,#f5f4fb);
}
.private-message-empty{
    margin:auto;
    color:var(--muted);
    text-align:center;
}
.private-message-bubble{
    align-self:flex-start;
    max-width:min(78%,620px);
    padding:10px 13px;
    border:1px solid var(--border);
    border-radius:16px 16px 16px 4px;
    background:#fff;
    box-shadow:0 4px 14px rgba(27,20,75,.06);
}
.private-message-bubble.is-mine{
    align-self:flex-end;
    border-color:#c7c0ff;
    border-radius:16px 16px 4px 16px;
    background:#e9e6ff;
}
.private-message-bubble-body{
    white-space:pre-wrap;
    overflow-wrap:anywhere;
}
.private-message-bubble-meta{
    margin-top:5px;
    color:var(--muted);
    font-size:.68rem;
    text-align:right;
}
.private-message-compose{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
    gap:10px;
    padding:14px 16px;
    border-top:1px solid var(--border);
    background:#fff;
}
.private-message-compose textarea{
    min-height:48px;
    max-height:150px;
    resize:vertical;
}
.private-message-chat-placeholder{
    display:grid;
    place-items:center;
    min-height:590px;
    padding:30px;
    color:var(--muted);
    text-align:center;
}
.sr-only{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}

@media(max-width:800px){
    .member-directory-head,
    .private-message-page-head{
        display:grid;
    }
    .private-message-layout{
        grid-template-columns:1fr;
    }
    .private-message-sidebar{
        border-right:0;
        border-bottom:1px solid var(--border);
    }
    .private-message-conversations{
        max-height:260px;
    }
    .private-message-chat,
    .private-message-chat-placeholder{
        min-height:520px;
    }
    .private-message-stream{
        max-height:430px;
    }
}
@media(max-width:520px){
    .member-directory-grid{
        grid-template-columns:1fr;
    }
    .private-message-bubble{
        max-width:90%;
    }
    .private-message-compose{
        grid-template-columns:1fr;
    }
    .private-message-compose .button{
        width:100%;
    }
}

/* V103 – Detaildarstellung der neuen Mitglieder- und Chatseiten */
.member-directory-panel{
    display:grid;
    gap:18px;
}
.member-directory-contact{
    margin:0;
}
.member-directory-contact>div{
    display:grid;
    grid-template-columns:minmax(110px,.7fr) minmax(0,1fr);
    gap:10px;
    padding:10px 0;
    border-top:1px solid var(--border);
}
.member-directory-contact dt{
    color:var(--muted);
    font-size:.78rem;
    font-weight:800;
}
.member-directory-contact dd{
    margin:0;
    font-weight:800;
    text-align:right;
}
.member-directory-team-list{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:7px;
}
.member-directory-team-pill{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:6px 9px;
    border-radius:999px;
    background:#f0efff;
    color:#33247f;
    font-size:.78rem;
    font-weight:800;
}
.member-directory-team-pill.is-captain{
    background:#fff1d7;
    color:#8b5c00;
}
.member-directory-team-pill b{
    padding-left:6px;
    border-left:1px solid currentColor;
    font-size:.7rem;
}
.member-directory-manual-panel{
    margin-top:22px;
}
.member-directory-manual-panel>summary{
    cursor:pointer;
    list-style:none;
    font-weight:900;
}
.member-directory-manual-panel>summary::-webkit-details-marker{
    display:none;
}
.member-directory-manual-panel>summary span{
    display:grid;
    gap:3px;
}
.member-directory-manual-list{
    display:grid;
    gap:8px;
    margin-top:18px;
}
.member-directory-manual-list article{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:11px 13px;
    border:1px solid var(--border);
    border-radius:12px;
    background:#fafafe;
}
.member-directory-manual-list article>div{
    display:grid;
}
.member-directory-manual-list article span{
    color:var(--muted);
    font-size:.82rem;
}

.private-message-layout>.panel{
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    box-shadow:none;
}
.private-message-sidebar-head{
    padding:17px 18px 8px;
}
.private-message-sidebar-head h2{
    margin:0;
}
.private-message-new-form{
    display:grid;
    gap:8px;
    padding:12px 16px 16px;
    border-bottom:1px solid var(--border);
}
.private-message-new-form>div{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:7px;
}
.private-message-conversation-list{
    display:grid;
    align-content:start;
    max-height:650px;
    overflow:auto;
}
.private-message-conversation{
    grid-template-columns:42px minmax(0,1fr) auto;
    align-items:center;
}
.private-message-avatar{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border-radius:50%;
    background:#ded9ff;
    color:#3926a0;
    font-size:.75rem;
    font-weight:950;
}
.private-message-conversation-copy{
    display:grid;
    min-width:0;
}
.private-message-conversation-copy strong,
.private-message-conversation-copy small{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.private-message-conversation-copy small{
    color:var(--muted);
}
.private-message-conversation-copy time{
    color:var(--muted);
    font-size:.66rem;
}
.private-message-chat-panel{
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto;
    min-width:0;
    min-height:590px;
}
.private-message-chat-log{
    display:flex;
    flex-direction:column;
    gap:10px;
    min-height:310px;
    max-height:540px;
    padding:18px;
    overflow:auto;
    background:linear-gradient(180deg,#fbfbff,#f5f4fb);
}
.private-message-chat-empty{
    display:grid;
    place-items:center;
    align-content:center;
    min-height:590px;
    padding:32px;
    color:var(--muted);
    text-align:center;
}
.private-message-chat-empty>span{
    font-size:3rem;
}
.private-message-chat-empty h2{
    margin:8px 0 0;
    color:var(--text);
}
.private-message-first-note{
    margin:auto;
    color:var(--muted);
    text-align:center;
}
.private-message-bubble>div{
    white-space:pre-wrap;
    overflow-wrap:anywhere;
}
.private-message-bubble time{
    display:block;
    margin-top:5px;
    color:var(--muted);
    font-size:.68rem;
    text-align:right;
}
.private-message-status{
    grid-column:1/-1;
    margin:0;
    color:var(--muted);
    font-size:.8rem;
}
.private-message-status[data-state="error"]{
    color:var(--danger);
}

/* Gewinner-/Führungsfarben bleiben sichtbar, der eigene Spieler erhält trotzdem den roten Rand. */
tr.is-own-player.is-leader>th:first-child,
tr.is-own-player.is-winner>th:first-child,
tr.is-own-player.is-qualifying-place>td:first-child{
    box-shadow:inset 4px 0 0 #dc6a78;
}
.dart-tournament-player-list>article.is-own-player,
.dart-history-player-strip>div.is-own-player,
.darts-final-player-card.is-own-player,
.dart-match-stat-player.is-own-player{
    background:#fff0f2!important;
    border-color:#efb9c1!important;
    box-shadow:inset 4px 0 0 #dc6a78;
}

@media(max-width:800px){
    .private-message-chat-panel,
    .private-message-chat-empty{
        min-height:520px;
    }
    .private-message-conversation-list{
        max-height:280px;
    }
    .private-message-chat-log{
        max-height:430px;
    }
}
@media(max-width:520px){
    .member-directory-contact>div{
        grid-template-columns:1fr;
    }
    .member-directory-contact dd{
        text-align:left;
    }
    .member-directory-manual-list article{
        align-items:flex-start;
        flex-direction:column;
    }
    .private-message-new-form>div{
        grid-template-columns:1fr;
    }
}

/* Update V104: Kommunikation gebündelt und Teams nach Mannschaft dargestellt */
.nav-communication-dropdown>summary{
    gap:7px;
}
.nav-communication-dropdown>summary .nav-communication-count{
    flex:0 0 auto;
}
.nav-communication-dropdown .nav-private-message-link{
    justify-content:space-between;
}
.member-team-directory-list{
    display:grid;
    gap:22px;
}
.member-team-directory-section{
    padding:0;
    overflow:hidden;
}
.member-team-directory-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:22px 24px;
    border-bottom:1px solid var(--border);
    background:#fafaff;
}
.member-team-directory-heading h2{
    margin:3px 0 0;
    font-size:1.55rem;
}
.member-team-directory-count{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:7px 11px;
    border-radius:999px;
    background:#ece9ff;
    color:var(--primary-dark);
    font-size:.78rem;
    font-weight:900;
    white-space:nowrap;
}
.member-team-directory-members{
    display:grid;
}
.member-team-directory-row{
    display:grid;
    grid-template-columns:minmax(210px,1.25fr) minmax(190px,.8fr) minmax(170px,auto);
    align-items:center;
    gap:18px;
    min-height:82px;
    padding:15px 24px;
    border-bottom:1px solid var(--border);
    background:#fff;
}
.member-team-directory-row:last-child{
    border-bottom:0;
}
.member-team-directory-row.is-own-player{
    border-color:#efb9c1!important;
}
.member-team-directory-identity{
    min-width:0;
}
.member-team-directory-identity h3{
    margin:0;
    overflow-wrap:anywhere;
    font-size:1.04rem;
}
.member-team-directory-badges{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:7px;
}
.member-team-directory-badges .badge{
    font-size:.69rem;
}
.member-captain-badge{
    background:#fff1d7;
    color:#8b5c00;
}
.member-team-directory-phone{
    display:grid;
    gap:4px;
}
.member-team-directory-phone>span{
    color:var(--muted);
    font-size:.72rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.member-team-directory-phone>a,
.member-team-directory-phone>strong{
    font-size:.92rem;
}
.member-team-directory-action{
    display:flex;
    justify-content:flex-end;
    text-align:right;
}
.member-team-directory-action .muted{
    max-width:180px;
    font-size:.78rem;
}
.member-team-directory-unassigned .member-team-directory-heading{
    background:#fffaf1;
}
.member-team-directory-section>.empty-state{
    margin:0;
    border:0;
    border-radius:0;
    box-shadow:none;
}
@media(max-width:800px){
    .member-team-directory-row{
        grid-template-columns:minmax(0,1fr) auto;
        gap:13px 18px;
        padding:16px 18px;
    }
    .member-team-directory-phone{
        grid-column:1;
    }
    .member-team-directory-action{
        grid-column:2;
        grid-row:1 / span 2;
        align-self:center;
    }
}
@media(max-width:560px){
    .member-team-directory-heading{
        align-items:flex-start;
        padding:18px;
    }
    .member-team-directory-heading h2{
        font-size:1.3rem;
    }
    .member-team-directory-row{
        grid-template-columns:1fr;
    }
    .member-team-directory-phone,
    .member-team-directory-action{
        grid-column:1;
        grid-row:auto;
    }
    .member-team-directory-action{
        justify-content:stretch;
        text-align:left;
    }
    .member-team-directory-action .button{
        width:100%;
    }
}

/* Update V105: Vereins-, Vorstands- und Mannschaftschats */
.private-message-page-heading{
    margin-bottom:14px;
}
.private-message-page-toolbar{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:9px;
    margin:0 0 22px;
}
.private-message-page-toolbar .button{
    min-height:40px;
}
.private-message-page-toolbar .nav-private-message-count{
    box-shadow:0 0 0 2px rgba(255,255,255,.35);
}
.private-message-group-section{
    border-bottom:1px solid var(--border);
}
.private-message-sidebar-label{
    display:block;
    padding:10px 16px 7px;
    color:var(--muted);
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.private-message-private-label{
    padding-top:14px;
    border-top:1px solid var(--border);
}
.private-message-group-list{
    max-height:310px;
}
.private-message-group-conversation{
    background:#fbfaff;
}
.private-message-avatar.is-group{
    border-radius:12px;
    background:#dff8f3;
    color:#087866;
}
.private-message-sender-name{
    display:block;
    margin-bottom:3px;
    color:var(--primary-dark);
    font-size:.76rem;
    font-weight:950;
}
.member-team-directory-heading-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:9px;
}

@media(max-width:800px){
    .private-message-page-toolbar{
        align-items:stretch;
    }
    .private-message-page-toolbar .button{
        flex:1 1 auto;
    }
    .private-message-group-list{
        max-height:260px;
    }
}
@media(max-width:560px){
    .private-message-page-toolbar{
        display:grid;
        grid-template-columns:1fr;
    }
    .private-message-page-toolbar .button{
        width:100%;
    }
    .member-team-directory-heading-actions{
        align-items:flex-end;
        flex-direction:column-reverse;
    }
}


/* V107: App- und Push-Status in der Mitgliederverwaltung */
.member-device-status{
    display:grid;
    gap:6px;
    min-width:170px;
}
.member-device-status-badges{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}
.member-device-status .badge{
    width:max-content;
    font-size:.68rem;
    white-space:nowrap;
}
.member-device-status small{
    color:var(--muted);
    font-size:.7rem;
    line-height:1.35;
}

/* Update V108: WhatsApp-artige Nachrichten, Bilder, Reaktionen und Pins */
.private-message-layout{
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:24px;
    background:#fff;
    box-shadow:var(--shadow);
}
.private-message-chat-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    min-height:88px;
    padding:16px 20px;
    border-bottom:1px solid #d9ded9;
    background:#f3f5f4;
}
.private-message-chat-head h2{
    margin:0;
}
.private-message-chat-head p{
    margin:4px 0 0;
    color:var(--muted);
    font-size:.82rem;
}
.private-message-pin-button{
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:40px;
    padding:8px 12px;
    border:1px solid #d0d5d2;
    border-radius:999px;
    background:#fff;
    color:var(--muted);
    font:inherit;
    font-size:.78rem;
    font-weight:850;
    cursor:pointer;
}
.private-message-pin-button.is-pinned{
    border-color:#9edcc9;
    background:#e7f8f1;
    color:#087866;
}
.private-message-pin-indicator{
    align-self:start;
    margin-top:3px;
    font-size:.72rem;
}
.private-message-conversation.is-pinned{
    background:#f1fbf7;
}
.private-message-chat-log{
    gap:7px;
    min-height:380px;
    max-height:620px;
    padding:22px 5.5%;
    background-color:#efeae2;
    background-image:
        radial-gradient(circle at 24px 24px,rgba(255,255,255,.36) 2px,transparent 2.5px),
        radial-gradient(circle at 68px 64px,rgba(255,255,255,.24) 1.5px,transparent 2px);
    background-size:92px 92px;
}
.private-message-bubble{
    position:relative;
    width:max-content;
    max-width:min(78%,680px);
    padding:8px 10px 6px;
    border:0;
    border-radius:10px;
    background:#fff;
    box-shadow:0 1px 1px rgba(0,0,0,.12);
}
.private-message-bubble.is-theirs{
    align-self:flex-start;
    border-top-left-radius:2px;
}
.private-message-bubble.is-mine{
    align-self:flex-end;
    border-top-right-radius:2px;
    background:#d9fdd3;
}
.private-message-bubble.is-deleted{
    color:#66716c;
    background:#f6f6f3;
    font-style:italic;
}
.private-message-body{
    min-width:110px;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
    line-height:1.4;
}
.private-message-deleted-text{
    padding:3px 2px;
    font-size:.9rem;
}
.private-message-meta-row{
    display:flex;
    justify-content:flex-end;
    margin-top:3px;
}
.private-message-meta-row time,
.private-message-bubble time{
    margin:0;
    color:#66716c;
    font-size:.64rem;
    line-height:1.2;
    text-align:right;
}
.private-message-image-grid{
    display:grid;
    gap:3px;
    margin:-4px -6px 7px;
    overflow:hidden;
    border-radius:8px;
}
.private-message-image-grid.count-2,
.private-message-image-grid.count-3{
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.private-message-image-grid.count-3 a:first-child{
    grid-row:span 2;
}
.private-message-image-grid a{
    display:block;
    min-width:0;
    background:#d9ded9;
}
.private-message-image-grid img{
    display:block;
    width:100%;
    height:220px;
    object-fit:cover;
}
.private-message-image-grid.count-2 img,
.private-message-image-grid.count-3 img{
    height:138px;
}
.private-message-image-grid.count-3 a:first-child img{
    height:279px;
}
.private-message-reactions{
    position:absolute;
    left:8px;
    bottom:-17px;
    z-index:2;
    display:flex;
    flex-wrap:wrap;
    gap:3px;
}
.private-message-bubble.is-mine .private-message-reactions{
    right:8px;
    left:auto;
    justify-content:flex-end;
}
.private-message-reaction-chip{
    display:inline-flex;
    align-items:center;
    gap:3px;
    min-height:25px;
    padding:2px 7px;
    border:1px solid #d8dcda;
    border-radius:999px;
    background:#fff;
    box-shadow:0 1px 4px rgba(0,0,0,.12);
    font:inherit;
    font-size:.78rem;
    cursor:pointer;
}
.private-message-reaction-chip span{
    color:#66716c;
    font-size:.66rem;
    font-weight:800;
}
.private-message-reaction-chip.is-mine{
    border-color:#67c5a9;
    background:#e5f8f1;
}
.private-message-bubble.has-reactions{
    margin-bottom:17px;
}
.private-message-bubble-actions{
    position:absolute;
    top:3px;
    right:calc(100% + 5px);
    z-index:5;
    display:flex;
    align-items:center;
    gap:4px;
    opacity:0;
    transition:opacity .15s ease;
}
.private-message-bubble.is-theirs .private-message-bubble-actions{
    right:auto;
    left:calc(100% + 5px);
}
.private-message-bubble:hover .private-message-bubble-actions,
.private-message-bubble:focus-within .private-message-bubble-actions{
    opacity:1;
}
.private-message-action-trigger{
    width:31px;
    height:31px;
    padding:0;
    border:1px solid #d8dcda;
    border-radius:50%;
    background:#fff;
    box-shadow:0 2px 8px rgba(0,0,0,.12);
    font-size:1rem;
    cursor:pointer;
}
.private-message-delete-button{
    padding:7px 9px;
    border:1px solid #efc3c8;
    border-radius:8px;
    background:#fff;
    color:var(--danger);
    font:inherit;
    font-size:.7rem;
    font-weight:850;
    white-space:nowrap;
    cursor:pointer;
}
.private-message-reaction-picker{
    position:absolute;
    top:36px;
    right:0;
    display:flex;
    gap:2px;
    padding:5px;
    border:1px solid #d8dcda;
    border-radius:999px;
    background:#fff;
    box-shadow:0 8px 24px rgba(0,0,0,.16);
}
.private-message-bubble.is-theirs .private-message-reaction-picker{
    right:auto;
    left:0;
}
.private-message-reaction-picker[hidden]{
    display:none;
}
.private-message-reaction-picker button{
    width:34px;
    height:34px;
    padding:0;
    border:0;
    border-radius:50%;
    background:transparent;
    font-size:1.1rem;
    cursor:pointer;
}
.private-message-reaction-picker button:hover{
    background:#f0f2f1;
}
.private-message-compose{
    display:grid;
    gap:6px;
    padding:10px 12px 9px;
    border-top:1px solid #d9ded9;
    background:#f0f2f1;
}
.private-message-compose-row{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:end;
    gap:8px;
}
.private-message-compose textarea{
    min-height:44px;
    max-height:140px;
    padding:10px 14px;
    resize:none;
    border:0;
    border-radius:22px;
    background:#fff;
    box-shadow:none;
}
.private-message-attach-button,
.private-message-send-button{
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    padding:0;
    border:0;
    border-radius:50%;
    background:transparent;
    color:#66716c;
    font-size:1.3rem;
    cursor:pointer;
}
.private-message-attach-button:hover{
    background:#e1e5e3;
}
.private-message-attach-button input{
    position:absolute;
    width:1px;
    height:1px;
    opacity:0;
    pointer-events:none;
}
.private-message-send-button{
    background:#00a884;
    color:#fff;
    box-shadow:0 5px 14px rgba(0,168,132,.26);
}
.private-message-send-button:hover{
    background:#008f70;
}
.private-message-compose-help{
    margin:0 52px;
    color:#7d8581;
    font-size:.68rem;
}
.private-message-upload-preview{
    display:flex;
    gap:8px;
    padding:2px 50px 4px;
    overflow-x:auto;
}
.private-message-upload-preview[hidden]{
    display:none;
}
.private-message-upload-preview-item{
    position:relative;
    flex:0 0 112px;
    overflow:hidden;
    border-radius:10px;
    background:#fff;
    box-shadow:0 2px 8px rgba(0,0,0,.1);
}
.private-message-upload-preview-item img{
    display:block;
    width:112px;
    height:78px;
    object-fit:cover;
}
.private-message-upload-preview-item span{
    display:block;
    padding:5px 6px;
    overflow:hidden;
    color:#66716c;
    font-size:.58rem;
    line-height:1.25;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.private-message-status[data-state="success"]{
    color:#087866;
}

/* V108: breiteres News-Bearbeitungsfeld und Aktionsbuttons darunter */
.news-edit-details{
    width:100%;
}
.news-edit-details .optional-field-content,
.news-edit-details form{
    width:100%;
}
.news-edit-details textarea,
.news-edit-textarea{
    width:100%;
    min-height:260px;
    resize:vertical;
}
.news-edit-bottom-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:9px;
    margin-top:4px;
}
.whatsapp-share-button{
    background:#e5f8f1;
    color:#087866;
    box-shadow:none;
}
.whatsapp-share-button:hover{
    background:#ccefe3;
    color:#056452;
}

@media(max-width:800px){
    .private-message-chat-log{
        max-height:62vh;
        padding:18px 4%;
    }
    .private-message-bubble{
        max-width:86%;
    }
    .private-message-bubble-actions{
        position:static;
        justify-content:flex-end;
        margin-top:4px;
        opacity:1;
    }
    .private-message-bubble.is-theirs .private-message-bubble-actions{
        justify-content:flex-start;
    }
    .private-message-reaction-picker,
    .private-message-bubble.is-theirs .private-message-reaction-picker{
        top:auto;
        right:0;
        bottom:35px;
        left:auto;
    }
}
@media(max-width:560px){
    .private-message-chat-head{
        min-height:76px;
        padding:12px 14px;
    }
    .private-message-pin-button{
        width:42px;
        min-width:42px;
        padding:0;
        justify-content:center;
    }
    .private-message-pin-button [data-private-message-pin-label]{
        display:none;
    }
    .private-message-chat-log{
        min-height:360px;
        max-height:58vh;
        padding:15px 10px;
    }
    .private-message-bubble{
        max-width:91%;
    }
    .private-message-image-grid img{
        height:185px;
    }
    .private-message-image-grid.count-2 img,
    .private-message-image-grid.count-3 img{
        height:112px;
    }
    .private-message-image-grid.count-3 a:first-child img{
        height:227px;
    }
    .private-message-compose{
        padding:8px;
    }
    .private-message-compose-help{
        display:none;
    }
    .private-message-upload-preview{
        padding:2px 44px 4px;
    }
    .private-message-delete-button{
        font-size:.66rem;
    }
    .private-message-reaction-picker button{
        width:31px;
        height:31px;
    }
    .news-edit-bottom-actions{
        align-items:stretch;
        flex-direction:column;
    }
    .news-edit-bottom-actions .button{
        width:100%;
    }
}

/* V109: automatisch erkannte Webadressen */
.auto-text-link {
    color: inherit;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
    overflow-wrap: anywhere;
}

.auto-text-link:hover,
.auto-text-link:focus-visible {
    text-decoration-thickness: 2px;
}

/* V109: ELO-Rangliste und ELO-Anzeigen */
.elo-info-panel {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}

.elo-info-panel > div {
    display: grid;
    gap: .35rem;
}

.elo-info-panel span,
.elo-settings-form small,
.elo-rebuild-form small,
.elo-ranking-table small {
    display: block;
    color: var(--muted, #64748b);
    line-height: 1.45;
}

.elo-ranking-panel {
    padding: 0;
    overflow: hidden;
}

.elo-ranking-table {
    width: 100%;
    min-width: 1120px;
    border-collapse: collapse;
}

.elo-ranking-table th,
.elo-ranking-table td {
    padding: .85rem .75rem;
    text-align: left;
    vertical-align: middle;
    border-bottom: 1px solid rgba(100, 116, 139, .18);
}

.elo-ranking-table th {
    font-size: .78rem;
    line-height: 1.25;
    text-transform: uppercase;
    letter-spacing: .035em;
    background: rgba(99, 102, 241, .08);
}

.elo-ranking-table tr.is-own-player td {
    background: rgba(34, 197, 94, .08);
}

.elo-rank-number {
    display: inline-grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    font-weight: 800;
    background: rgba(99, 102, 241, .12);
}

.elo-current-value {
    font-size: 1.2rem;
}

.elo-change {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-width: 3.35rem;
    padding: .24rem .48rem;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}

.elo-change.is-positive {
    color: #166534;
    background: #dcfce7;
}

.elo-change.is-negative {
    color: #991b1b;
    background: #fee2e2;
}

.elo-change.is-neutral {
    color: #475569;
    background: #e2e8f0;
}

.elo-settings-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.elo-settings-grid label {
    display: grid;
    align-content: start;
    gap: .4rem;
    padding: .9rem;
    border: 1px solid rgba(100, 116, 139, .2);
    border-radius: .85rem;
    background: rgba(248, 250, 252, .72);
}

.elo-settings-actions {
    margin-top: 1rem;
}

.elo-rebuild-form {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(100, 116, 139, .18);
}

.dart-match-elo-panel {
    margin-bottom: 1rem;
}

.dart-match-elo-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
}

.dart-match-elo-player {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: .75rem;
    padding: .85rem 1rem;
    border: 1px solid rgba(100, 116, 139, .2);
    border-radius: .85rem;
    background: rgba(248, 250, 252, .75);
}

.dart-history-player-strip > div .elo-change {
    margin-top: .35rem;
}

@media (max-width: 900px) {
    .elo-settings-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .elo-info-panel,
    .elo-settings-grid,
    .dart-match-elo-grid {
        grid-template-columns: 1fr;
    }

    .elo-ranking-panel .table-wrap {
        overflow: visible;
    }

    .elo-ranking-table {
        min-width: 0;
    }

    .elo-ranking-table thead {
        display: none;
    }

    .elo-ranking-table,
    .elo-ranking-table tbody,
    .elo-ranking-table tr,
    .elo-ranking-table td {
        display: block;
        width: 100%;
    }

    .elo-ranking-table tr {
        padding: .75rem;
        border-bottom: 1px solid rgba(100, 116, 139, .24);
    }

    .elo-ranking-table td {
        display: grid;
        grid-template-columns: minmax(8rem, 45%) 1fr;
        align-items: center;
        gap: .75rem;
        padding: .42rem 0;
        border: 0;
        text-align: right;
    }

    .elo-ranking-table td::before {
        content: attr(data-label);
        color: var(--muted, #64748b);
        font-size: .78rem;
        font-weight: 700;
        text-align: left;
    }

    .elo-ranking-table td > * {
        justify-self: end;
    }

    .dart-match-elo-player {
        grid-template-columns: 1fr auto;
    }

    .dart-match-elo-player .elo-change {
        grid-column: 1 / -1;
    }
}

.dart-history-elo-summary {
    font-weight: 800;
    color: #4338ca;
}


/* V110: einklappbare ELO-, Turnier- und Spielverwaltung */
.dart-management-accordion {
    padding: 0;
    overflow: hidden;
}

.dart-management-accordion > summary {
    list-style: none;
}

.dart-management-accordion > summary::-webkit-details-marker {
    display: none;
}

.dart-management-accordion-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 24px 28px;
    cursor: pointer;
    user-select: none;
    transition: background .18s ease;
}

.dart-management-accordion-summary:hover,
.dart-management-accordion-summary:focus-visible {
    background: #fafaff;
}

.dart-management-accordion-summary:focus-visible {
    outline: 3px solid rgba(92, 66, 232, .18);
    outline-offset: -3px;
}

.dart-management-accordion-title {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.dart-management-accordion-title .eyebrow {
    margin: 0;
}

.dart-management-accordion-title > strong {
    font-size: 1.35rem;
    line-height: 1.25;
}

.dart-management-accordion-toggle {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 104px;
    padding: 8px 12px;
    border-radius: 11px;
    background: #efecff;
    color: var(--primary-dark);
    font-size: .84rem;
    font-weight: 900;
}

.dart-management-accordion-toggle::after {
    content: 'Aufklappen';
}

.dart-management-accordion[open] .dart-management-accordion-toggle::after {
    content: 'Einklappen';
}

.dart-management-accordion[open] > .dart-management-accordion-summary {
    border-bottom: 1px solid var(--border);
    background: #fafaff;
}

.dart-management-accordion-content {
    padding: 24px 28px 28px;
}

.dart-management-accordion-intro {
    align-items: center;
    margin-bottom: 22px;
}

.dart-management-accordion-intro > p {
    max-width: 820px;
    margin: 0;
    color: var(--muted);
}

@media (max-width: 640px) {
    .dart-management-accordion-summary {
        align-items: flex-start;
        padding: 19px 18px;
    }

    .dart-management-accordion-title > strong {
        font-size: 1.12rem;
    }

    .dart-management-accordion-toggle {
        min-width: auto;
        padding: 7px 9px;
        font-size: .74rem;
    }

    .dart-management-accordion-content {
        padding: 18px;
    }

    .dart-management-accordion-intro {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* V111 – kompakte mobile Tabellen, persönliche ELO-Daten, Zurück-Button und Chat-Löschung */
.global-back-bar{
    padding:14px 0 0;
}
.global-back-bar[hidden]{
    display:none!important;
}
.global-back-button{
    min-height:40px;
    padding:9px 14px;
    box-shadow:none;
}

.compact-vertical-heading{
    display:inline-block;
}

.club-stat-label-full{
    display:none;
}

.account-elo-filter{
    display:flex;
    align-items:end;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:18px;
    padding:14px;
    border:1px solid var(--border);
    border-radius:14px;
    background:#faf9ff;
}
.account-elo-filter label{
    min-width:190px;
}
.account-elo-filter label>span{
    color:var(--muted);
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.05em;
    text-transform:uppercase;
}
.account-elo-filter [hidden]{
    display:none!important;
}
.account-elo-summary-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-bottom:16px;
}
.account-elo-summary-grid>div{
    min-width:0;
    padding:14px;
    border:1px solid var(--border);
    border-radius:14px;
    background:#fff;
}
.account-elo-summary-grid span{
    display:block;
    color:var(--muted);
    font-size:.72rem;
    font-weight:800;
}
.account-elo-summary-grid strong{
    display:block;
    margin-top:5px;
    font-size:1.55rem;
}
.account-elo-chart-card{
    position:relative;
    width:100%;
    min-height:260px;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:16px;
    background:linear-gradient(180deg,#fff,#faf9ff);
}
.account-elo-chart-card canvas{
    display:block;
    max-width:100%;
}
.account-elo-chart-empty{
    position:absolute;
    inset:auto 18px 18px;
    margin:0;
    color:var(--muted);
    text-align:center;
    font-size:.82rem;
}
.account-elo-recent-section{
    margin-top:22px;
}
.account-elo-recent-section .panel-header{
    margin-bottom:10px;
}
.account-elo-recent-section h3{
    margin:0;
}
.account-elo-match-list{
    display:grid;
    border:1px solid var(--border);
    border-radius:14px;
    overflow:hidden;
}
.account-elo-match-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 64px 92px 82px auto;
    align-items:center;
    gap:10px;
    min-width:0;
    padding:10px 12px;
    border-bottom:1px solid var(--border);
    background:#fff;
    font-size:.8rem;
}
.account-elo-match-row:last-child{
    border-bottom:0;
}
.account-elo-match-row:hover{
    background:#faf9ff;
}
.account-elo-match-players{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-weight:850;
}
.account-elo-match-result{
    text-align:center;
}
.account-elo-match-row time{
    color:var(--muted);
    font-size:.72rem;
}
.account-elo-match-link{
    color:var(--primary-dark);
    font-weight:850;
    white-space:nowrap;
}

.private-message-chat-head-actions{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.private-message-conversation-delete-button{
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:40px;
    padding:8px 12px;
    border:1px solid #efc3c8;
    border-radius:999px;
    background:#fff;
    color:var(--danger);
    font:inherit;
    font-size:.78rem;
    font-weight:850;
    cursor:pointer;
}
.private-message-conversation-delete-button:hover{
    background:#fff0f1;
}
.private-conversation-delete-modal{
    position:fixed;
    inset:0;
    z-index:130;
    display:grid;
    place-items:center;
    padding:18px;
}
.private-conversation-delete-modal[hidden]{
    display:none!important;
}
.private-conversation-delete-backdrop{
    position:absolute;
    inset:0;
    border:0;
    background:rgba(23,25,42,.62);
    backdrop-filter:blur(3px);
}
.private-conversation-delete-dialog{
    position:relative;
    z-index:1;
    width:min(470px,100%);
    margin:0;
    padding:24px;
    border:1px solid var(--border);
    border-radius:22px;
    background:#fff;
    box-shadow:0 28px 90px rgba(23,25,42,.28);
}
.private-conversation-delete-dialog h2{
    margin:3px 0 10px;
}
.private-conversation-delete-dialog p{
    margin:0;
    color:var(--muted);
}
.private-conversation-delete-actions{
    display:flex;
    justify-content:flex-end;
    gap:9px;
    margin-top:22px;
    flex-wrap:wrap;
}
body.private-conversation-delete-open{
    overflow:hidden;
}

@media(max-width:820px){
    .account-elo-summary-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .account-elo-match-row{
        grid-template-columns:minmax(0,1fr) 48px 76px 28px;
    }
    .account-elo-match-row time{
        display:none;
    }
    .account-elo-match-link{
        overflow:hidden;
        font-size:0;
        text-align:right;
    }
    .account-elo-match-link::after{
        content:"→";
        font-size:.9rem;
    }
}

@media(orientation:portrait) and (max-width:900px){
    .elo-ranking-panel{
        padding:7px;
        overflow:hidden;
    }
    .elo-ranking-panel .table-wrap{
        width:100%;
        overflow:hidden;
        border:1px solid var(--border);
        border-radius:10px;
    }
    .elo-ranking-table{
        display:table!important;
        width:100%!important;
        min-width:0!important;
        table-layout:fixed;
        border-collapse:separate;
        border-spacing:0;
    }
    .elo-ranking-table thead{
        display:table-header-group!important;
    }
    .elo-ranking-table tbody{
        display:table-row-group!important;
        width:auto!important;
    }
    .elo-ranking-table tr{
        display:table-row!important;
        width:auto!important;
        padding:0!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important;
        box-shadow:none!important;
    }
    .elo-ranking-table th,
    .elo-ranking-table td{
        display:table-cell!important;
        width:auto!important;
        min-width:0!important;
        padding:4px 1px!important;
        overflow:hidden;
        border-right:1px solid #eef0f6;
        border-bottom:1px solid var(--border);
        text-align:center!important;
        vertical-align:middle;
        white-space:normal;
        font-size:.52rem;
        line-height:1.08;
        font-variant-numeric:tabular-nums;
    }
    .elo-ranking-table th:last-child,
    .elo-ranking-table td:last-child{
        border-right:0;
    }
    .elo-ranking-table thead th{
        height:152px!important;
        padding:4px 0!important;
        background:#f1efff;
        color:#4d4769;
        font-size:.6rem;
        letter-spacing:0;
        text-transform:none;
    }
    .elo-ranking-table .compact-vertical-heading{
        display:inline-block;
        max-height:140px;
        white-space:nowrap;
        writing-mode:vertical-rl;
        transform:rotate(180deg);
        text-orientation:mixed;
        line-height:1;
    }
    .elo-ranking-table td::before{
        display:none!important;
        content:none!important;
    }
    .elo-ranking-table td>*{
        max-width:100%!important;
    }
    .elo-ranking-table th:nth-child(1),
    .elo-ranking-table td:nth-child(1){width:7%}
    .elo-ranking-table th:nth-child(2),
    .elo-ranking-table td:nth-child(2){width:24%}
    .elo-ranking-table th:nth-child(n+3),
    .elo-ranking-table td:nth-child(n+3){width:9.85%}
    .elo-ranking-table td:nth-child(2){
        padding:4px 2px!important;
        text-align:left!important;
    }
    .elo-ranking-table td:nth-child(2) strong{
        display:-webkit-box;
        overflow:hidden;
        font-size:.58rem;
        line-height:1.15;
        overflow-wrap:anywhere;
        -webkit-line-clamp:2;
        -webkit-box-orient:vertical;
    }
    .elo-ranking-table td:nth-child(2) small{
        display:none;
    }
    .elo-ranking-table .elo-rank-number,
    .elo-ranking-table .elo-current-value,
    .elo-ranking-table .elo-change{
        font-size:.55rem;
        line-height:1;
        white-space:nowrap;
    }

    .club-stat-table thead th{
        height:150px!important;
        padding:0!important;
        overflow:hidden;
        vertical-align:middle;
        font-size:.54rem!important;
    }
    .club-stat-sort-button{
        position:relative;
        height:150px!important;
        min-height:150px;
        padding:3px 0 19px!important;
        justify-content:center!important;
    }
    .club-stat-sort-button abbr{
        display:flex;
        align-items:center;
        justify-content:center;
        width:100%;
        height:126px;
        overflow:visible;
    }
    .club-stat-label-short{
        display:none;
    }
    .club-stat-label-full{
        display:inline-block;
        max-height:122px;
        white-space:nowrap;
        writing-mode:vertical-rl;
        transform:rotate(180deg);
        text-orientation:mixed;
        line-height:1;
    }
    .club-stat-sort-icon{
        position:absolute;
        right:50%;
        bottom:5px;
        transform:translateX(50%);
        font-size:.5rem!important;
    }
    .club-stat-table thead th:first-child .club-stat-sort-button{
        justify-content:center!important;
        padding-left:0!important;
    }
    .club-stat-table th,
    .club-stat-table td{
        height:29px!important;
        font-size:.43rem!important;
        letter-spacing:-.04em!important;
    }
    .club-stat-player-cell span{
        font-size:.49rem!important;
        line-height:1.1;
    }
}

@media(max-width:560px){
    .global-back-bar{
        padding-top:9px;
    }
    .global-back-button{
        min-height:36px;
        padding:7px 11px;
        font-size:.78rem;
    }
    .account-elo-filter{
        display:grid;
        grid-template-columns:1fr;
        padding:12px;
    }
    .account-elo-filter label,
    .account-elo-filter .button{
        width:100%;
        min-width:0;
    }
    .account-elo-summary-grid{
        gap:7px;
    }
    .account-elo-summary-grid>div{
        padding:10px;
    }
    .account-elo-summary-grid strong{
        font-size:1.2rem;
    }
    .account-elo-match-row{
        grid-template-columns:minmax(0,1fr) 38px 64px 22px;
        gap:5px;
        padding:9px 7px;
        font-size:.66rem;
    }
    .account-elo-match-link::after{
        font-size:.8rem;
    }
    .private-message-chat-head{
        align-items:flex-start;
    }
    .private-message-chat-head-actions{
        gap:5px;
    }
    .private-message-conversation-delete-button{
        width:42px;
        min-width:42px;
        padding:0;
        justify-content:center;
    }
    .private-message-conversation-delete-button [data-private-message-delete-label]{
        display:none;
    }
    .private-conversation-delete-dialog{
        padding:20px 17px;
    }
    .private-conversation-delete-actions{
        display:grid;
        grid-template-columns:1fr;
    }
    .private-conversation-delete-actions .button{
        width:100%;
    }
}

/* V112 – Zurück-Pfeil im Kopfbereich und auswählbare ELO-Verläufe */
.header-nav-area{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    min-width:0;
    margin-left:auto;
}
.header-back-button{
    display:inline-flex;
    flex:0 0 44px;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    padding:0;
    border:1px solid var(--border);
    border-radius:12px;
    background:#fff;
    color:var(--primary-dark);
    box-shadow:none;
    font:inherit;
    font-size:1.55rem;
    font-weight:900;
    line-height:1;
    cursor:pointer;
    transition:.2s background,.2s border-color,.2s transform;
}
.header-back-button:hover{
    border-color:#c8c0f6;
    background:#f2f0ff;
    transform:translateX(-1px);
}
.header-back-button:focus-visible{
    outline:3px solid rgba(92,66,232,.2);
    outline-offset:2px;
}
.header-nav-area .nav-toggle{
    margin-left:0;
}
.elo-ranking-table tr.is-selected-player td{
    background:#f3f0ff;
}
.elo-player-detail-panel{
    margin-top:22px;
}
.elo-player-detail-panel .account-elo-filter{
    margin-top:4px;
}
.elo-player-detail-heading{
    margin-bottom:18px;
}
.elo-player-detail-heading h2{
    margin:0;
}
.elo-player-detail-heading p{
    margin:5px 0 0;
    color:var(--muted);
}

@media(max-width:1180px){
    .header-nav-area{
        gap:8px;
    }
}

@media(max-width:640px){
    .header-back-button,
    .nav-toggle{
        width:42px;
        height:42px;
        flex-basis:42px;
    }
    .header-back-button{
        font-size:1.42rem;
    }
    .elo-player-detail-panel{
        padding:16px 12px;
    }
}

/* V113 – ELO-Punktinfos, vollständige Klappverwaltung und ELO-Schalter */
.account-elo-chart-card canvas{
    touch-action:manipulation;
}
.account-elo-chart-tooltip{
    position:absolute;
    z-index:8;
    display:grid;
    gap:3px;
    width:max-content;
    max-width:min(300px,calc(100% - 16px));
    padding:10px 12px;
    border:1px solid rgba(92,66,232,.22);
    border-radius:12px;
    background:rgba(23,25,42,.96);
    color:#fff;
    box-shadow:0 12px 34px rgba(23,25,42,.28);
    pointer-events:none;
    font-size:.76rem;
    line-height:1.35;
}
.account-elo-chart-tooltip[hidden]{
    display:none!important;
}
.account-elo-chart-tooltip strong{
    overflow-wrap:anywhere;
    font-size:.82rem;
}
.account-elo-chart-tooltip-result{
    color:#fff;
    font-weight:900;
}
.account-elo-chart-tooltip-meta{
    color:#cfc7ff;
    font-weight:850;
}
.account-elo-chart-tooltip-date{
    color:rgba(255,255,255,.68);
    font-size:.68rem;
}
.has-active-elo-point{
    cursor:pointer;
}

.dart-tournament-completed-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
    width:100%;
}
.dart-tournament-completed-actions>.button{
    flex:1 1 auto;
}
.dart-tournament-elo-toggle-form{
    display:inline-flex;
    margin:0;
}
.dart-tournament-elo-toggle{
    min-width:52px;
    box-shadow:none;
}
.dart-tournament-elo-toggle.is-included{
    background:#ddf8ed;
    color:#176b5d;
    border:1px solid #a9dfce;
}
.dart-tournament-elo-toggle.is-included:hover{
    background:#c9f0e2;
}
.dart-tournament-elo-toggle.is-excluded{
    background:#ffe1e4;
    color:#99313c;
    border:1px solid #efb9bf;
}
.dart-tournament-elo-toggle.is-excluded:hover{
    background:#ffd1d6;
}
.dart-management-overview-content .dart-management-stats{
    margin:0;
}
@media(max-width:700px){
    .dart-tournament-refresh-button{
        max-width:145px;
        white-space:nowrap;
    }
    .account-elo-chart-tooltip{
        padding:9px 10px;
        font-size:.7rem;
    }
}

/* V114 – Turnierstatistik unten und optimierte Dartansicht nur für Tablets im Hochformat */
@media(
    orientation:portrait
) and (
    min-width:701px
) and (
    max-width:1200px
){
    /*
     * Nur die klassische X01-/SplitScore-Oberfläche wird angepasst.
     * Handy, Tablet-Querformat, Cricket und 10 Visits bleiben unverändert.
     */
    body.darts-game-active:not(.darts-cricket-active):not(.darts-ten-visits-active)
    .darts-game{
        grid-template-columns:minmax(0,1fr)!important;
        grid-template-rows:
            auto
            minmax(215px,30dvh)
            minmax(0,1fr)!important;
        grid-template-areas:
            "toolbar"
            "scoreboard"
            "turn"!important;
        gap:6px!important
    }

    body.darts-game-active:not(.darts-cricket-active):not(.darts-ten-visits-active)
    .darts-scoreboard[data-player-count="2"]{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        grid-template-rows:minmax(0,1fr)!important;
        gap:7px!important
    }

    body.darts-game-active:not(.darts-cricket-active):not(.darts-ten-visits-active)
    .darts-score-card{
        padding:10px 12px!important;
        border-radius:14px!important
    }

    body.darts-game-active:not(.darts-cricket-active):not(.darts-ten-visits-active)
    .darts-score-card h2{
        font-size:clamp(1rem,2.5vw,1.4rem)!important
    }

    body.darts-game-active:not(.darts-cricket-active):not(.darts-ten-visits-active)
    .darts-remaining-score{
        margin:4px 0!important;
        font-size:clamp(4.6rem,11dvh,7.2rem)!important;
        line-height:.78!important
    }

    body.darts-game-active:not(.darts-cricket-active):not(.darts-ten-visits-active)
    .darts-player-stats>span{
        min-height:42px!important;
        padding:5px 4px!important
    }

    body.darts-game-active:not(.darts-cricket-active):not(.darts-ten-visits-active)
    .darts-player-stats>span>span{
        font-size:clamp(.5rem,1.25vw,.68rem)!important
    }

    body.darts-game-active:not(.darts-cricket-active):not(.darts-ten-visits-active)
    .darts-player-stats strong{
        font-size:clamp(.72rem,1.75vw,1rem)!important
    }

    body.darts-game-active:not(.darts-cricket-active):not(.darts-ten-visits-active)
    .darts-turn-panel{
        display:grid!important;
        grid-template-columns:minmax(0,1fr)!important;
        grid-template-rows:minmax(0,1fr)!important;
        min-height:0!important;
        padding:6px!important;
        overflow:hidden!important
    }

    body.darts-game-active:not(.darts-cricket-active):not(.darts-ten-visits-active)
    .darts-turn-panel>.darts-score-entry{
        display:grid!important;
        grid-template-columns:minmax(0,1fr) minmax(190px,.36fr)!important;
        grid-template-areas:
            "x01-label x01-label"
            "x01-input x01-input"
            "x01-quick x01-quick"
            "x01-keypad x01-actions"
            "x01-message x01-message"!important;
        grid-template-rows:
            auto
            minmax(64px,8dvh)
            auto
            minmax(0,1fr)
            auto!important;
        gap:7px!important;
        width:100%!important;
        height:100%!important;
        min-width:0!important;
        min-height:0!important;
        padding:9px!important;
        overflow:hidden!important
    }

    body.darts-game-active:not(.darts-cricket-active):not(.darts-ten-visits-active)
    .darts-score-input{
        width:100%!important;
        height:100%!important;
        min-height:64px!important;
        font-size:clamp(3rem,7.5dvh,4.7rem)!important
    }

    body.darts-game-active:not(.darts-cricket-active):not(.darts-ten-visits-active)
    .darts-quick-scores:not([hidden]){
        display:grid!important;
        grid-template-columns:repeat(5,minmax(0,1fr))!important;
        grid-template-rows:repeat(2,minmax(34px,1fr))!important;
        min-height:72px!important;
        max-height:92px!important;
        margin:0!important;
        gap:6px!important
    }

    body.darts-game-active:not(.darts-cricket-active):not(.darts-ten-visits-active)
    .darts-keypad{
        display:grid!important;
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        grid-template-rows:
            repeat(3,minmax(0,1fr))
            minmax(38px,.48fr)
            minmax(0,1fr)!important;
        width:100%!important;
        height:100%!important;
        min-width:0!important;
        min-height:0!important;
        gap:7px!important
    }

    body.darts-game-active:not(.darts-cricket-active):not(.darts-ten-visits-active)
    .darts-keypad button{
        width:100%!important;
        height:100%!important;
        min-height:0!important;
        padding:3px!important;
        border-radius:10px!important;
        font-size:clamp(1.3rem,3.2vw,2rem)!important
    }

    body.darts-game-active:not(.darts-cricket-active):not(.darts-ten-visits-active)
    .darts-rest-score-button{
        min-height:38px!important;
        font-size:clamp(.78rem,1.8vw,1rem)!important
    }

    body.darts-game-active:not(.darts-cricket-active):not(.darts-ten-visits-active)
    .darts-submit-actions{
        display:grid!important;
        grid-template-columns:minmax(0,1fr)!important;
        grid-template-rows:repeat(3,minmax(0,1fr))!important;
        align-self:stretch!important;
        width:100%!important;
        height:100%!important;
        min-width:0!important;
        min-height:0!important;
        margin:0!important;
        gap:7px!important
    }

    body.darts-game-active:not(.darts-cricket-active):not(.darts-ten-visits-active)
    .darts-submit-actions .button{
        width:100%!important;
        height:100%!important;
        min-height:0!important;
        padding:7px 8px!important;
        border-radius:11px!important;
        font-size:clamp(.76rem,1.8vw,1rem)!important
    }

    body.darts-game-active:not(.darts-cricket-active):not(.darts-ten-visits-active)
    .darts-turn-message{
        min-height:16px!important;
        max-height:28px!important;
        margin:0!important;
        padding:2px 4px!important;
        font-size:.68rem!important
    }
}


/* V115 – Schweizer Turniersystem */
.dart-tournament-swiss-settings{
    margin-top:18px;
    padding:18px;
    border:1px solid var(--border);
    border-radius:18px;
    background:var(--surface-soft);
}
.dart-tournament-swiss-settings .form-grid{
    margin-top:0;
}
.dart-tournament-swiss-settings>p{
    margin:12px 0 0;
    color:var(--muted);
}
.dart-tournament-swiss-controls{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-bottom:20px;
    background:linear-gradient(145deg,#fff,#f5f2ff);
}
.dart-tournament-swiss-controls h2{
    margin:4px 0 6px;
}
.dart-tournament-swiss-controls p{
    margin:0;
    color:var(--muted);
}
.dart-tournament-swiss-round-actions,
.dart-tournament-swiss-overlay-actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
}
.dart-tournament-swiss-round-actions form,
.dart-tournament-swiss-overlay-actions form{
    margin:0;
}
.dart-tournament-swiss-table-panel{
    margin-bottom:20px;
}
.dart-tournament-swiss-table{
    min-width:780px;
}
.dart-tournament-swiss-table th:not(:nth-child(2)),
.dart-tournament-swiss-table td:not(:nth-child(2)){
    text-align:center;
}
.dart-tournament-swiss-table tr.is-qualifying-place td{
    background:#e8fff3;
}
.dart-tournament-swiss-table tr.is-own-player td{
    box-shadow:inset 0 2px 0 rgba(92,61,226,.34),inset 0 -2px 0 rgba(92,61,226,.34);
}
.dart-tournament-swiss-overlay{
    position:fixed;
    inset:0;
    z-index:10050;
    display:grid;
    place-items:center;
    padding:24px;
    background:rgba(17,14,37,.68);
    backdrop-filter:blur(8px);
}
.dart-tournament-swiss-overlay-card{
    width:min(620px,100%);
    margin:0;
    box-shadow:0 28px 90px rgba(14,8,48,.35);
}
.dart-tournament-swiss-overlay-card h2{
    margin:7px 0 10px;
}
.dart-tournament-swiss-overlay-card p{
    margin:0 0 20px;
    color:var(--muted);
}
@media(max-width:760px){
    .dart-tournament-swiss-controls{
        align-items:stretch;
        flex-direction:column;
    }
    .dart-tournament-swiss-round-actions,
    .dart-tournament-swiss-overlay-actions{
        align-items:stretch;
        justify-content:stretch;
        flex-direction:column;
    }
    .dart-tournament-swiss-round-actions form,
    .dart-tournament-swiss-overlay-actions form,
    .dart-tournament-swiss-round-actions .button,
    .dart-tournament-swiss-overlay-actions .button{
        width:100%;
    }
    .dart-tournament-swiss-overlay{
        padding:14px;
    }
}

/* V117 – Einführung, Rollen- und Funktionsbeschreibungen */
.guide-overview-hero,
.guide-detail-hero,
.guide-role-hero{
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at 86% 18%,rgba(112,83,255,.2),transparent 32%),
        radial-gradient(circle at 10% 90%,rgba(67,206,162,.13),transparent 31%),
        linear-gradient(145deg,#f9f8ff 0%,#ffffff 56%,#f4f1ff 100%);
}
.guide-overview-hero::after,
.guide-detail-hero::after,
.guide-role-hero::after{
    content:"";
    position:absolute;
    width:340px;
    height:340px;
    right:-170px;
    bottom:-210px;
    border:52px solid rgba(92,61,226,.07);
    border-radius:50%;
    pointer-events:none;
}
.guide-overview-hero-grid,
.guide-detail-hero-grid,
.guide-role-hero-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
    gap:44px;
    align-items:center;
}
.guide-overview-hero h1,
.guide-detail-hero h1,
.guide-role-hero h1{
    max-width:900px;
    margin:8px 0 18px;
}
.guide-hero-facts{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:24px;
}
.guide-hero-facts span{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:9px 12px;
    border:1px solid rgba(92,61,226,.17);
    border-radius:999px;
    background:rgba(255,255,255,.78);
    color:var(--muted);
    font-size:.88rem;
}
.guide-hero-facts strong{
    color:var(--primary);
    font-size:1.03rem;
}
.guide-overview-highlight,
.guide-availability-card,
.guide-role-symbol{
    padding:28px;
    border:1px solid rgba(92,61,226,.16);
    border-radius:25px;
    background:rgba(255,255,255,.88);
    box-shadow:0 24px 70px rgba(39,24,117,.12);
    backdrop-filter:blur(10px);
}
.guide-overview-highlight h2{
    margin:7px 0 17px;
    font-size:clamp(1.45rem,2.4vw,2.05rem);
}
.guide-overview-highlight ul{
    display:grid;
    gap:12px;
    margin:0;
    padding:0;
    list-style:none;
}
.guide-overview-highlight li{
    position:relative;
    padding-left:27px;
    color:var(--muted);
    line-height:1.5;
}
.guide-overview-highlight li::before{
    content:"✓";
    position:absolute;
    left:0;
    top:0;
    color:#15996d;
    font-weight:900;
}
.guide-role-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}
.guide-role-card{
    display:flex;
    flex-direction:column;
    min-width:0;
    padding:24px;
    border:1px solid var(--border);
    border-radius:22px;
    background:#fff;
    box-shadow:0 14px 42px rgba(31,23,79,.07);
}
.guide-role-card.is-member{border-top:5px solid #7b8398}
.guide-role-card.is-captain{border-top:5px solid #1687c5}
.guide-role-card.is-board{border-top:5px solid #b26b16}
.guide-role-card.is-admin{border-top:5px solid var(--primary)}
.guide-role-card-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:17px;
}
.guide-role-letter{
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    border-radius:14px;
    background:var(--surface-soft);
    color:var(--primary);
    font-size:1.2rem;
    font-weight:950;
}
.guide-role-tag{
    color:var(--muted);
    font-size:.75rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.07em;
}
.guide-role-card h3{
    margin:0 0 9px;
    font-size:1.35rem;
}
.guide-role-card>p{
    min-height:92px;
    margin:0 0 15px;
    color:var(--muted);
    line-height:1.52;
}
.guide-role-card ul{
    flex:1;
    display:grid;
    gap:9px;
    margin:0 0 20px;
    padding:0;
    list-style:none;
}
.guide-role-card li{
    position:relative;
    padding-left:21px;
    font-size:.91rem;
    line-height:1.4;
}
.guide-role-card li::before{
    content:"•";
    position:absolute;
    left:3px;
    color:var(--primary);
    font-weight:900;
}
.guide-role-rule{
    margin-top:22px;
    padding:20px 22px;
    border:1px solid #ead5aa;
    border-radius:18px;
    background:#fffaf0;
}
.guide-role-rule strong{display:block;margin-bottom:6px;color:#7b4b0c}
.guide-role-rule p{margin:0;color:#6b5b42;line-height:1.52}
.guide-process-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}
.guide-process-grid article{
    padding:22px;
    border:1px solid var(--border);
    border-radius:20px;
    background:#fff;
}
.guide-process-grid article>span{
    display:inline-grid;
    place-items:center;
    width:42px;
    height:42px;
    margin-bottom:16px;
    border-radius:13px;
    background:var(--primary);
    color:#fff;
    font-weight:900;
}
.guide-process-grid h3{margin:0 0 8px}
.guide-process-grid p{min-height:118px;margin:0 0 14px;color:var(--muted);line-height:1.5}
.guide-process-grid a,
.guide-card-link,
.guide-sidebar-text-link,
.guide-back-link{
    color:var(--primary);
    font-weight:800;
    text-decoration:none;
}
.guide-process-grid a:hover,
.guide-card-link:hover,
.guide-sidebar-text-link:hover,
.guide-back-link:hover{text-decoration:underline}
.guide-category-nav{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:34px;
}
.guide-category-nav a{
    display:inline-flex;
    align-items:center;
    gap:9px;
    padding:10px 14px;
    border:1px solid var(--border);
    border-radius:999px;
    background:#fff;
    color:var(--text);
    font-weight:800;
    text-decoration:none;
}
.guide-category-nav a:hover{
    border-color:rgba(92,61,226,.42);
    color:var(--primary);
}
.guide-category-nav span{
    display:grid;
    place-items:center;
    min-width:25px;
    height:25px;
    padding:0 7px;
    border-radius:999px;
    background:var(--surface-soft);
    color:var(--primary);
    font-size:.77rem;
}
.guide-category-section{
    scroll-margin-top:110px;
    margin-top:48px;
}
.guide-category-section:first-of-type{margin-top:0}
.guide-category-heading{
    display:flex;
    align-items:end;
    gap:14px;
    margin-bottom:18px;
    padding-bottom:12px;
    border-bottom:1px solid var(--border);
}
.guide-category-heading .eyebrow{display:none}
.guide-category-heading h2{margin:0;flex:1}
.guide-category-heading>span:last-child{color:var(--muted);font-size:.9rem}
.guide-feature-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:17px;
}
.guide-feature-card{
    display:flex;
    flex-direction:column;
    min-width:0;
    padding:21px;
    border:1px solid var(--border);
    border-radius:19px;
    background:#fff;
    box-shadow:0 11px 35px rgba(28,21,74,.055);
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.guide-feature-card:hover{
    transform:translateY(-3px);
    border-color:rgba(92,61,226,.32);
    box-shadow:0 18px 45px rgba(35,25,90,.09);
}
.guide-feature-card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
    margin-bottom:13px;
}
.guide-category-label{
    padding:5px 8px;
    border-radius:8px;
    background:var(--surface-soft);
    color:var(--primary);
    font-size:.72rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.05em;
}
.guide-feature-card h3{margin:0 0 8px;font-size:1.17rem}
.guide-feature-card>p{flex:1;margin:0 0 18px;color:var(--muted);line-height:1.48}
.guide-card-link{display:flex;justify-content:space-between;gap:12px;font-size:.9rem}
.guide-role-badges{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:5px;
}
.guide-role-badge{
    display:inline-flex;
    align-items:center;
    min-height:23px;
    padding:3px 7px;
    border-radius:999px;
    font-size:.65rem;
    line-height:1;
    font-weight:900;
    white-space:nowrap;
}
.guide-role-badge.is-member{background:#edf0f4;color:#515b6f}
.guide-role-badge.is-captain{background:#e7f5fc;color:#086895}
.guide-role-badge.is-board{background:#fff0d9;color:#8c5108}
.guide-role-badge.is-admin{background:#eeeaff;color:#4d2bc8}
.guide-final-cta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:36px;
    padding:32px;
    border:1px solid rgba(92,61,226,.2);
    border-radius:25px;
    background:linear-gradient(140deg,#f8f6ff,#fff);
}
.guide-final-cta h2{margin:6px 0 8px}
.guide-final-cta p{margin:0;color:var(--muted)}
.guide-final-cta .hero-actions{justify-content:flex-end;margin:0}
.guide-back-link{
    display:inline-flex;
    margin-bottom:20px;
}
.guide-detail-hero .guide-role-badges{
    justify-content:flex-start;
    margin-top:20px;
}
.guide-availability-card{
    display:grid;
    gap:10px;
}
.guide-availability-card>strong{margin-bottom:4px;font-size:1.02rem}
.guide-availability-card>div{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:10px 12px;
    border-radius:12px;
    background:var(--surface-soft);
}
.guide-availability-card b{color:#16845f}
.guide-detail-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 315px;
    gap:24px;
    align-items:start;
}
.guide-detail-main,
.guide-role-sections{
    display:grid;
    gap:18px;
}
.guide-copy-panel,
.guide-sidebar-card{
    padding:24px;
    border:1px solid var(--border);
    border-radius:20px;
    background:#fff;
    box-shadow:0 11px 34px rgba(35,27,85,.045);
}
.guide-copy-panel h2,
.guide-sidebar-card h2{margin:6px 0 14px}
.guide-copy-panel>p{margin:0;color:var(--muted);line-height:1.65}
.guide-check-list,
.guide-note-list,
.guide-step-list{
    display:grid;
    gap:11px;
    margin:0;
    padding:0;
    list-style:none;
}
.guide-check-list li,
.guide-note-list li{
    position:relative;
    padding:12px 14px 12px 43px;
    border-radius:13px;
    background:#f8f8fc;
    line-height:1.5;
}
.guide-check-list li::before,
.guide-note-list li::before{
    position:absolute;
    left:14px;
    top:11px;
    display:grid;
    place-items:center;
    width:20px;
    height:20px;
    border-radius:50%;
    font-size:.72rem;
    font-weight:950;
}
.guide-check-list li::before{content:"✓";background:#dcf7ec;color:#0b7e57}
.guide-note-list li::before{content:"!";background:#fff0d7;color:#985c0c}
.guide-step-list{counter-reset:guide-step}
.guide-step-list li{
    counter-increment:guide-step;
    position:relative;
    min-height:42px;
    padding:9px 10px 9px 54px;
    line-height:1.52;
}
.guide-step-list li::before{
    content:counter(guide-step);
    position:absolute;
    left:0;
    top:3px;
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border-radius:12px;
    background:var(--primary);
    color:#fff;
    font-weight:900;
}
.guide-detail-sidebar{
    position:sticky;
    top:100px;
    display:grid;
    gap:16px;
}
.guide-sidebar-actions,
.guide-sidebar-card{
    display:grid;
    gap:10px;
}
.guide-sidebar-text-link{
    padding:10px 0;
    border-bottom:1px solid var(--border);
}
.guide-sidebar-text-link:last-child{border-bottom:0}
.guide-role-hero.is-captain{background:linear-gradient(145deg,#f1fbff,#fff 58%,#eaf7ff)}
.guide-role-hero.is-board{background:linear-gradient(145deg,#fff9ef,#fff 58%,#fff3dc)}
.guide-role-symbol{
    display:grid;
    place-items:center;
    min-height:230px;
    text-align:center;
}
.guide-role-symbol span{
    display:grid;
    place-items:center;
    width:104px;
    height:104px;
    margin-bottom:13px;
    border-radius:30px;
    background:var(--primary);
    color:#fff;
    font-size:3.2rem;
    font-weight:950;
    box-shadow:0 20px 45px rgba(92,61,226,.25);
}
.guide-role-hero.is-captain .guide-role-symbol span{background:#1687c5;box-shadow:0 20px 45px rgba(22,135,197,.23)}
.guide-role-hero.is-board .guide-role-symbol span{background:#b26b16;box-shadow:0 20px 45px rgba(178,107,22,.23)}
.guide-role-symbol strong{font-size:1.25rem}
.guide-limit-panel{border-color:#ecd5ac;background:#fffcf6}
@media(max-width:1120px){
    .guide-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .guide-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .guide-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:860px){
    .guide-overview-hero-grid,
    .guide-detail-hero-grid,
    .guide-role-hero-grid,
    .guide-detail-layout{grid-template-columns:1fr}
    .guide-detail-sidebar{position:static}
    .guide-final-cta{align-items:flex-start;flex-direction:column}
    .guide-final-cta .hero-actions{justify-content:flex-start}
    .guide-role-symbol{min-height:180px}
}
@media(max-width:620px){
    .guide-overview-hero-grid,
    .guide-detail-hero-grid,
    .guide-role-hero-grid{gap:25px}
    .guide-overview-highlight,
    .guide-availability-card,
    .guide-role-symbol,
    .guide-copy-panel,
    .guide-sidebar-card{padding:19px}
    .guide-role-grid,
    .guide-process-grid,
    .guide-feature-grid{grid-template-columns:1fr}
    .guide-role-card>p,
    .guide-process-grid p{min-height:0}
    .guide-category-heading{align-items:flex-start;flex-direction:column;gap:5px}
    .guide-feature-card-head{align-items:flex-start;flex-direction:column}
    .guide-role-badges{justify-content:flex-start}
    .guide-final-cta{padding:22px}
    .guide-final-cta .hero-actions,
    .guide-final-cta .button{width:100%}
}

/* Projektversion 118: Vereinslogo, automatische Vereinsfarben und Vereins-Dartzähler-Login */
:root{
    --primary-soft:#eeeaff;
    --primary-soft-strong:#ded7ff;
    --secondary-soft:#dcf7f1;
    --brand-ink:#17192a;
    --primary-rgb:92,66,232;
    --secondary-rgb:19,165,143;
    --surface-rgb:255,255,255
}
body.is-club-branded{
    background:
        radial-gradient(circle at 12% -10%,rgba(var(--primary-rgb),.08),transparent 32rem),
        var(--bg)
}
body.is-club-branded .site-header{
    border-bottom-color:var(--border);
    background:rgba(var(--surface-rgb),.94)
}
body.is-club-branded .brand-name,
body.is-club-branded .main-nav summary:hover,
body.is-club-branded .main-nav>a:not(.button):hover{color:var(--primary-dark)}
.brand-logo.is-club-logo{
    object-fit:contain;
    padding:3px;
    background:#fff;
    border:1px solid var(--border);
    box-shadow:0 10px 24px rgba(var(--primary-rgb),.22)
}
body.is-club-branded .button{box-shadow:0 10px 24px rgba(var(--primary-rgb),.2)}
body.is-club-branded .button-secondary{
    background:var(--primary-soft);
    color:var(--primary-dark);
    box-shadow:none
}
body.is-club-branded .button-secondary:hover{background:var(--primary-soft-strong)}
body.is-club-branded input:focus,
body.is-club-branded select:focus,
body.is-club-branded textarea:focus{box-shadow:0 0 0 4px rgba(var(--primary-rgb),.12)}
body.is-club-branded .hero{
    background:
        radial-gradient(circle at 15% 0,var(--primary-soft) 0,transparent 38%),
        radial-gradient(circle at 90% 20%,var(--secondary-soft) 0,transparent 32%)
}
body.is-club-branded .hero-panel,
body.is-club-branded .welcome-card,
body.is-club-branded .cta-card{background:linear-gradient(145deg,var(--brand-ink),var(--primary-dark))}
body.is-club-branded .mini-card{background:color-mix(in srgb,var(--brand-ink) 82%,var(--primary) 18%)}
body.is-club-branded .mini-card:nth-child(2),
body.is-club-branded .mini-card:nth-child(3){background:var(--primary)}
body.is-club-branded .section-soft,
body.is-club-branded .event-date-box{background:var(--primary-soft)}
body.is-club-branded .action-card:hover,
body.is-club-branded .event-preview-card:hover{border-color:var(--primary-soft-strong)}

.auth-page-multi{align-items:start}
.auth-choice-grid{
    width:min(1080px,100%);
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
    align-items:start
}
.auth-choice-grid .auth-card{width:100%;height:100%}
.auth-card-club-tablet{
    background:linear-gradient(155deg,var(--surface),var(--primary-soft));
    border-color:var(--primary-soft-strong)
}
.club-tablet-login-form .club-search-wrap{position:relative}
.club-tablet-login-form .club-search-results{top:calc(100% - 2px)}

.club-branding-management{display:grid;gap:22px}
.club-branding-preview{
    display:grid;
    grid-template-columns:150px minmax(0,1fr);
    gap:22px;
    align-items:center;
    padding:20px;
    border:1px solid var(--border);
    border-radius:18px;
    background:linear-gradient(145deg,var(--surface),var(--primary-soft))
}
.club-branding-preview-logo{
    display:grid;
    place-items:center;
    width:150px;
    height:150px;
    padding:12px;
    border-radius:28px;
    background:#fff;
    border:1px solid var(--border);
    box-shadow:var(--shadow)
}
.club-branding-preview-logo img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.club-color-swatches{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.club-color-swatches span{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 11px;
    border:1px solid var(--border);
    border-radius:999px;
    background:#fff;
    font-size:.82rem;
    font-weight:800
}
.club-color-swatches i{
    display:block;
    width:20px;
    height:20px;
    border-radius:7px;
    background:var(--swatch);
    box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)
}
.club-logo-upload-form{
    padding:20px;
    border:1px dashed var(--primary-soft-strong);
    border-radius:18px;
    background:var(--primary-soft)
}
.club-branding-platform-note{line-height:1.55}
.club-tablet-password-remove{margin-top:18px}
.club-tablet-login-instruction{
    margin-top:22px;
    padding:20px;
    border-radius:18px;
    background:var(--primary-soft)
}
.club-tablet-login-instruction ol{margin:12px 0 18px;padding-left:22px}
.club-delete-panel{border-color:#f1c8cc}

.dart-tablet-access-banner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    margin-bottom:20px;
    background:linear-gradient(145deg,var(--surface),var(--primary-soft));
    border-color:var(--primary-soft-strong)
}
.dart-tablet-access-banner h2{margin:0}
.dart-tablet-access-banner p{margin:7px 0 0;color:var(--muted);max-width:780px}
body.is-dart-table-login .site-footer .footer-links>a:not([href*="datenschutz"]),
body.is-dart-table-login .site-footer .footer-links>span:nth-of-type(-n+3){display:none}

@media(max-width:820px){
    .auth-choice-grid{grid-template-columns:1fr}
    .club-branding-preview{grid-template-columns:1fr}
    .dart-tablet-access-banner{align-items:flex-start;flex-direction:column}
}
@media(max-width:520px){
    .club-branding-preview-logo{width:120px;height:120px}
    .club-color-swatches{display:grid}
    .club-color-swatches span{justify-content:flex-start}
}

/* Projektversion 119: manuelle Vereinsfarben und kompakte Mitgliederzeilen */
.club-color-picker-form{
    padding:20px;
    border:1px solid var(--border);
    border-radius:18px;
    background:linear-gradient(145deg,var(--surface),var(--secondary-soft));
}
.club-color-picker-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
.club-color-picker-control{
    display:flex;
    align-items:center;
    gap:12px;
    min-height:58px;
    padding:8px 12px;
    border:1px solid var(--border);
    border-radius:14px;
    background:var(--surface);
}
.club-color-picker-control input[type="color"]{
    flex:0 0 54px;
    width:54px;
    height:40px;
    padding:2px;
    border-radius:10px;
    cursor:pointer;
}
.club-color-picker-control strong{
    font-size:.92rem;
    letter-spacing:.04em;
}

.member-team-directory-members{
    overflow:hidden;
}
.member-team-directory-table-head,
.member-team-directory-row{
    display:grid;
    grid-template-columns:minmax(150px,1.35fr) minmax(125px,.95fr) minmax(135px,1fr) 54px;
    align-items:center;
    gap:14px;
}
.member-team-directory-table-head{
    min-height:38px;
    padding:8px 24px;
    border-bottom:1px solid var(--border);
    background:var(--primary-soft);
    color:var(--muted);
    font-size:.7rem;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
}
.member-team-directory-table-head span:last-child{
    text-align:center;
}
.member-team-directory-row{
    min-height:58px;
    padding:10px 24px;
}
.member-team-directory-identity{
    display:flex;
    align-items:center;
    min-width:0;
    gap:7px;
}
.member-team-directory-identity>strong,
.member-team-directory-function,
.member-team-directory-phone>a{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.member-team-directory-identity>strong{
    font-size:.96rem;
}
.member-team-directory-own{
    flex:0 0 auto;
    padding:2px 6px;
    border-radius:999px;
    background:#ffe1e4;
    color:#99313c;
    font-size:.62rem;
    font-weight:900;
    text-transform:uppercase;
}
.member-team-directory-function{
    color:var(--text);
    font-size:.84rem;
    font-weight:750;
}
.member-team-directory-phone{
    display:flex;
    align-items:center;
    min-width:0;
}
.member-team-directory-phone>a{
    color:var(--primary-dark);
    font-size:.86rem;
    font-weight:800;
}
.member-team-directory-action{
    justify-content:center;
    text-align:center;
}
.member-team-pn-button{
    width:44px;
    min-width:44px;
    padding:8px 7px;
}
.member-team-directory-no-action{
    color:var(--muted);
}

@media(max-width:640px){
    .club-color-picker-grid{grid-template-columns:1fr}
    .member-team-directory-table-head,
    .member-team-directory-row{
        grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr) minmax(0,1fr) 42px;
        gap:7px;
    }
    .member-team-directory-table-head{
        padding:7px 10px;
        font-size:.57rem;
        letter-spacing:.025em;
    }
    .member-team-directory-row{
        min-height:52px;
        padding:8px 10px;
    }
    .member-team-directory-identity>strong{font-size:.78rem}
    .member-team-directory-function{font-size:.68rem}
    .member-team-directory-phone>a{font-size:.68rem}
    .member-team-directory-own{display:none}
    .member-team-directory-identity,
    .member-team-directory-function,
    .member-team-directory-phone{
        grid-column:auto;
        grid-row:auto;
    }
    .member-team-directory-action{
        grid-column:4;
        grid-row:1;
        justify-content:center;
        text-align:center;
    }
    .member-team-pn-button{
        width:38px;
        min-width:38px;
        padding:7px 4px;
        font-size:.72rem;
    }
}



/* Projektversion 120: geräteabhängige App-/Push-Anleitung und Login-Hinweis */
.install-guide-hero{background:radial-gradient(circle at 82% 15%,var(--secondary-soft) 0,transparent 28%),radial-gradient(circle at 12% 85%,var(--primary-soft) 0,transparent 30%),var(--surface)}
.install-guide-hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);align-items:center;gap:32px}
.install-guide-importance{max-width:780px;margin-top:24px;padding:18px 20px;border-left:5px solid var(--primary);border-radius:0 18px 18px 0;background:var(--primary-soft)}
.install-guide-importance p{margin:7px 0 0;line-height:1.58}
.install-guide-status-card{padding:24px;border:1px solid var(--primary-soft-strong);border-radius:24px;background:var(--surface);box-shadow:var(--shadow)}
.install-guide-status-card h2{margin:6px 0 18px}
.install-guide-live-status{display:grid;gap:10px}
.install-guide-live-status>div{display:grid;grid-template-columns:70px 1fr;gap:3px 10px;padding:13px 14px;border:1px solid var(--border);border-radius:15px;background:var(--surface-soft)}
.install-guide-live-status>div>span{grid-row:1/3;align-self:center;font-size:.74rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.install-guide-live-status strong{font-size:.92rem}
.install-guide-live-status small{color:var(--muted);line-height:1.35}
.install-guide-live-status>div[data-state="active"]{border-color:#a9dcc0;background:#edf9f2}
.install-guide-live-status>div[data-state="missing"]{border-color:#efc6ca;background:#fff4f5}
.install-guide-live-status>div[data-state="loading"],.install-guide-live-status>div[data-state="waiting"]{border-color:var(--secondary-soft-strong);background:var(--secondary-soft)}
.install-guide-device-select{display:grid;gap:7px;margin-top:18px;font-size:.8rem;font-weight:850}
.install-guide-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:26px}
.install-guide-main{display:grid;gap:22px}
.install-guide-device-panel,.install-guide-action-panel,.install-guide-sidebar>section{padding:26px;border:1px solid var(--border);border-radius:24px;background:var(--surface);box-shadow:0 12px 32px rgba(31,35,65,.06)}
.install-guide-device-heading{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px}
.install-guide-device-heading h2{margin:4px 0 7px}
.install-guide-device-heading p{margin:0;color:var(--muted)}
.install-guide-device-icon{display:grid;flex:0 0 56px;width:56px;height:56px;place-items:center;border-radius:18px;background:linear-gradient(145deg,var(--primary),var(--secondary));color:#fff;font-size:1.45rem;font-weight:950}
.install-guide-step-group+.install-guide-step-group{margin-top:28px}
.install-guide-step-group h3,.install-guide-troubleshooting h3{margin:0 0 12px}
.install-guide-steps{display:grid;gap:11px;margin:0;padding:0;counter-reset:install-step;list-style:none}
.install-guide-steps li{position:relative;min-height:48px;padding:12px 14px 12px 56px;border:1px solid var(--border);border-radius:15px;background:var(--surface-soft);line-height:1.48}
.install-guide-steps li::before{position:absolute;top:10px;left:12px;display:grid;width:30px;height:30px;place-items:center;border-radius:10px;background:var(--primary);color:#fff;font-size:.82rem;font-weight:950;counter-increment:install-step;content:counter(install-step)}
.install-guide-steps li>strong{display:block}
.install-guide-steps li>span{display:block;margin-top:3px;color:var(--muted)}
.install-guide-steps.compact li{padding-top:10px;padding-bottom:10px}
.install-guide-browser-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:26px}
.install-guide-browser-grid>article{padding:18px;border:1px solid var(--border);border-radius:18px;background:var(--primary-soft)}
.install-guide-browser-grid h3{margin:0 0 13px}
.install-guide-troubleshooting{margin-top:26px;padding:18px;border-radius:18px;background:var(--secondary-soft)}
.install-guide-troubleshooting p{margin:0;line-height:1.58}
.install-guide-action-panel{border-color:var(--primary-soft-strong);background:linear-gradient(145deg,var(--surface),var(--primary-soft))}
.install-guide-action-panel h2{margin:5px 0 8px}
.install-guide-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.install-guide-push-check{margin-top:18px;padding:18px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}
.install-guide-push-check>p:first-child{font-weight:900}
.install-guide-push-check form{margin-top:12px}
.install-guide-sidebar{position:sticky;top:92px;display:grid;gap:16px}
.install-guide-sidebar h2{margin:5px 0 12px}
.install-guide-sidebar p{margin:0;line-height:1.55}
.install-guide-checklist{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.install-guide-checklist li{position:relative;padding-left:26px;line-height:1.45}
.install-guide-checklist li::before{position:absolute;left:0;color:var(--primary);font-weight:950;content:"✓"}
.install-modal-actions{display:grid;gap:10px}
.communication-setup-reminder{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;margin:0 0 24px;padding:20px;border:1px solid var(--primary-soft-strong);border-radius:22px;background:linear-gradient(135deg,var(--primary-soft),var(--secondary-soft));box-shadow:0 12px 30px rgba(31,35,65,.08)}
.communication-setup-reminder[hidden]{display:none!important}
.communication-setup-reminder-icon{display:grid;width:52px;height:52px;place-items:center;border-radius:17px;background:var(--surface);font-size:1.55rem}
.communication-setup-reminder h2{margin:4px 0 7px}
.communication-setup-reminder p{margin:0;line-height:1.5}
.communication-setup-status{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.communication-setup-status span{padding:5px 9px;border-radius:999px;background:var(--surface);font-size:.72rem;font-weight:900}
.communication-setup-status span[data-state="active"]{color:#187447}
.communication-setup-status span[data-state="missing"]{color:#a5333f}
.communication-setup-status span[data-state="loading"]{color:var(--secondary-dark)}
.communication-setup-reminder-actions{display:grid;min-width:190px;gap:8px}
@media(max-width:900px){.install-guide-hero-grid,.install-guide-layout{grid-template-columns:1fr}.install-guide-sidebar{position:static}.communication-setup-reminder{grid-template-columns:auto minmax(0,1fr)}.communication-setup-reminder-actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.install-guide-device-panel,.install-guide-action-panel,.install-guide-sidebar>section,.install-guide-status-card{padding:18px}.install-guide-browser-grid{grid-template-columns:1fr}.install-guide-device-heading{gap:11px}.install-guide-device-icon{flex-basis:46px;width:46px;height:46px;border-radius:14px;font-size:1.15rem}.install-guide-steps li{padding-left:50px;font-size:.9rem}.install-guide-actions{display:grid}.communication-setup-reminder{grid-template-columns:1fr;padding:17px}.communication-setup-reminder-icon{display:none}.communication-setup-reminder-actions{grid-column:auto;grid-template-columns:1fr}}

/* V121 – Der Dartzähler übernimmt die Vereinsfarben, ohne die Aufteilung zu verändern. */
:root{
    --darts-shell:#17102d;
    --darts-shell-alt:#101c5c;
    --darts-shell-text:#ffffff;
    --darts-on-primary:#ffffff;
    --darts-on-secondary:#ffffff;
    --darts-primary-soft:#f0edff;
    --darts-primary-soft-strong:#ddd6ff;
    --darts-secondary-soft:#e3f7f2;
    --darts-input:#f7f6ff;
    --darts-input-border:#d9d5ec;
    --darts-neutral:#eef0f5
}

/* Hintergrund und Einrichtungsansicht */
.darts-counter-page,
body.darts-game-active main,
body.darts-game-active .darts-counter-page,
body.online-x01-active .online-game-page.is-x01-local-ui,
body.online-local-game-active .online-game-page.is-local-game-ui{
    background:
        radial-gradient(circle at 18% 0,rgba(var(--primary-rgb),.12),transparent 34%),
        radial-gradient(circle at 92% 10%,rgba(var(--secondary-rgb),.12),transparent 31%),
        var(--bg)!important
}
.darts-action-card,
.darts-format-badge{
    border-color:transparent!important;
    background:linear-gradient(145deg,var(--darts-shell),var(--darts-shell-alt))!important;
    color:var(--darts-shell-text)!important;
    box-shadow:0 16px 40px rgba(var(--primary-rgb),.2)!important
}
.darts-action-card span,
.darts-format-badge span{
    color:rgba(255,255,255,.74)!important
}
.darts-bull-throw-icon{
    border-color:var(--primary)!important;
    background:var(--darts-primary-soft)!important;
    color:var(--primary-dark)!important
}
.darts-split-score-info,
.darts-ten-visits-info,
.darts-cricket-options{
    border-color:var(--darts-input-border)!important;
    background:var(--darts-primary-soft)!important;
    color:var(--primary-dark)!important
}

/* Dunkle Markenflächen des laufenden Spiels */
body.darts-game-active .darts-game-toolbar,
body.darts-game-active .darts-turn-panel,
body.online-x01-active .darts-game-toolbar,
body.online-x01-active .darts-turn-panel,
body.online-local-game-active .darts-game-toolbar,
body.online-local-game-active .darts-turn-panel{
    border-color:rgba(var(--primary-rgb),.32)!important;
    background:linear-gradient(145deg,var(--darts-shell),var(--darts-shell-alt))!important;
    color:var(--darts-shell-text)!important;
    box-shadow:0 22px 58px rgba(var(--primary-rgb),.2)!important
}
.darts-game-toolbar .eyebrow,
.darts-current-turn .eyebrow{
    color:var(--darts-primary-soft-strong)!important
}
.darts-current-turn p{
    color:rgba(255,255,255,.76)!important
}
.darts-split-target-display{
    border-color:rgba(var(--secondary-rgb),.48)!important;
    background:rgba(var(--surface-rgb),.12)!important
}
.darts-split-target-display span{
    color:rgba(255,255,255,.72)!important
}
.darts-split-target-display strong{
    color:var(--darts-shell-text)!important
}

/* Spielerkarten */
body.darts-game-active .darts-score-card,
body.online-x01-active .darts-score-card,
body.online-local-game-active .darts-score-card{
    border-color:var(--border)!important;
    background:var(--surface)!important;
    color:var(--text)!important;
    box-shadow:0 15px 42px rgba(var(--primary-rgb),.11)!important
}
.darts-score-card:after{
    background:radial-gradient(circle,rgba(var(--primary-rgb),.16),transparent 68%)!important
}
.darts-score-card.is-active{
    border-color:var(--primary)!important;
    box-shadow:0 20px 52px rgba(var(--primary-rgb),.24)!important
}
.darts-score-card.is-winner{
    border-color:var(--secondary)!important;
    background:linear-gradient(145deg,var(--surface),var(--darts-secondary-soft))!important
}
.darts-turn-marker{
    background:var(--darts-primary-soft)!important;
    color:var(--primary-dark)!important
}
.darts-legs,
.darts-player-stats span{
    background:var(--darts-primary-soft)!important;
    color:var(--muted)!important
}
.darts-score-card.is-active .darts-remaining-score{
    color:var(--primary-dark)!important
}
.darts-counter .darts-remaining-score.is-score-preview{
    color:var(--secondary)!important;
    text-shadow:0 0 20px rgba(var(--secondary-rgb),.28)!important
}
.darts-player-finish-hint{
    background:var(--darts-secondary-soft)!important;
    color:var(--secondary)!important
}

/* Eingabe, Schnellwerte und Tasten */
.darts-score-entry{
    background:var(--surface)!important;
    color:var(--text)!important
}
.darts-score-input{
    border-color:var(--darts-input-border)!important;
    background:var(--darts-input)!important;
    color:var(--brand-ink)!important;
    -webkit-text-fill-color:var(--brand-ink)!important;
    box-shadow:inset 0 0 0 1px rgba(var(--primary-rgb),.04)!important
}
.darts-score-input:focus{
    border-color:var(--primary)!important;
    box-shadow:0 0 0 4px rgba(var(--primary-rgb),.14)!important
}
.darts-score-input::placeholder{
    color:var(--muted)!important
}
.darts-quick-scores button{
    border-color:var(--darts-input-border)!important;
    background:var(--darts-primary-soft)!important;
    color:var(--primary-dark)!important
}
.darts-quick-scores button:hover,
.darts-quick-scores button:focus-visible{
    border-color:var(--primary)!important;
    background:var(--darts-primary-soft-strong)!important
}
.darts-keypad button,
.online-challenge-hits button{
    background:var(--darts-primary-soft-strong)!important;
    color:var(--brand-ink)!important;
    box-shadow:inset 0 -2px 0 rgba(var(--primary-rgb),.12)!important
}
.darts-keypad button:hover,
.darts-keypad button:focus-visible,
.online-challenge-hits button:hover,
.online-challenge-hits button:focus-visible{
    background:var(--darts-primary-soft)!important;
    outline:2px solid rgba(var(--primary-rgb),.3)!important
}
.darts-keypad .darts-keypad-function,
.darts-rest-score-button{
    background:var(--darts-neutral)!important;
    color:var(--text)!important
}
.darts-checkout-button,
.darts-double-in-button{
    border-color:transparent!important;
    background:linear-gradient(145deg,var(--secondary),var(--primary))!important;
    color:var(--darts-on-secondary)!important;
    box-shadow:0 10px 24px rgba(var(--secondary-rgb),.2)!important
}
.darts-checkout-button:disabled{
    border-color:var(--border)!important;
    background:var(--darts-neutral)!important;
    color:var(--muted)!important;
    box-shadow:none!important
}

/* 10 Visits Challenge */
.darts-challenge-target,
.online-challenge-target{
    border-color:var(--primary)!important;
    background:linear-gradient(145deg,var(--darts-primary-soft),var(--surface))!important;
    color:var(--primary-dark)!important;
    box-shadow:0 8px 22px rgba(var(--primary-rgb),.15)!important
}
.darts-challenge-target span,
.online-challenge-target span{
    color:var(--muted)!important
}
.darts-challenge-target strong,
.online-challenge-target strong{
    color:var(--primary-dark)!important
}
.darts-challenge-hits button,
.online-challenge-hits button{
    background:linear-gradient(145deg,var(--darts-primary-soft),var(--darts-primary-soft-strong))!important;
    color:var(--brand-ink)!important;
    box-shadow:0 8px 18px rgba(var(--primary-rgb),.16)!important
}

/* Cricket */
.darts-cricket-board{
    border-color:var(--darts-input-border)!important;
    background:var(--darts-primary-soft)!important;
    color:var(--text)!important
}
.darts-cricket-board-head h2,
.darts-cricket-dart-count strong{
    color:var(--primary-dark)!important
}
.darts-cricket-portrait-grid,
.darts-cricket-landscape-grid{
    border-color:var(--primary-dark)!important;
    background:rgba(var(--primary-rgb),.28)!important
}
.darts-cricket-corner,
.darts-cricket-player-head,
.darts-cricket-target-controls,
.darts-cricket-mark-cell{
    background:var(--surface)!important;
    color:var(--text)!important
}
.darts-cricket-corner,
.darts-cricket-player-head span{
    color:var(--primary-dark)!important
}
.darts-cricket-player-head.is-active,
.darts-cricket-mark-cell.is-active{
    background:var(--darts-primary-soft-strong)!important;
    box-shadow:inset 0 0 0 2px var(--primary)!important
}
.darts-cricket-target-controls{
    background:var(--darts-secondary-soft)!important
}
.darts-cricket-hit-button{
    background:var(--primary)!important;
    color:var(--darts-on-primary)!important;
    box-shadow:0 5px 13px rgba(var(--primary-rgb),.18)!important
}
.darts-cricket-hit-button:hover:not(:disabled),
.darts-cricket-hit-button:focus-visible:not(:disabled){
    background:var(--primary-dark)!important
}
.darts-cricket-target-controls.is-closed,
.darts-cricket-mark-cell.is-closed{
    background:var(--darts-neutral)!important;
    color:var(--muted)!important
}
.darts-cricket-hit-button:disabled{
    background:var(--darts-neutral)!important;
    color:var(--muted)!important
}
.darts-cricket-mark-cell strong{
    color:var(--text)!important
}

/* Overlays, Statistikauswahl und Spielabschluss */
.darts-checkout-modal-backdrop{
    background:rgba(10,12,25,.74)!important
}
.darts-turn-overlay{
    border-color:var(--darts-input-border)!important;
    background:linear-gradient(145deg,var(--surface),var(--darts-primary-soft))!important;
    color:var(--text)!important;
    box-shadow:0 16px 42px rgba(var(--primary-rgb),.2)!important
}
.darts-turn-overlay .eyebrow{color:var(--primary)!important}
.darts-turn-overlay h2{color:var(--primary-dark)!important}
.darts-turn-overlay p{color:var(--muted)!important}
.darts-checkout-dialog{
    border-color:var(--darts-input-border)!important;
    background:var(--surface)!important
}
.darts-choice-buttons button{
    border-color:var(--darts-input-border)!important;
    background:var(--surface)!important;
    color:var(--brand-ink)!important
}
.darts-choice-buttons button:hover{
    border-color:var(--primary)!important;
    background:var(--darts-primary-soft)!important
}
.darts-choice-buttons button.is-selected{
    border-color:var(--primary)!important;
    background:var(--primary)!important;
    color:var(--darts-on-primary)!important;
    box-shadow:0 8px 20px rgba(var(--primary-rgb),.24)!important
}
.darts-match-summary{
    border-color:var(--darts-input-border)!important;
    background:linear-gradient(145deg,var(--surface),var(--darts-primary-soft))!important
}
.darts-match-duration{
    background:linear-gradient(145deg,var(--darts-shell),var(--darts-shell-alt))!important;
    color:var(--darts-shell-text)!important
}
.darts-final-player-card.is-match-winner{
    border-color:var(--secondary)!important;
    box-shadow:0 16px 40px rgba(var(--secondary-rgb),.17)!important
}
.darts-final-leg-score{
    background:var(--darts-primary-soft)!important;
    color:var(--primary-dark)!important
}
.darts-final-player-card.is-match-winner .darts-final-leg-score,
.darts-leg-winner{
    background:var(--darts-secondary-soft)!important;
    color:var(--text)!important
}
.darts-next-leg-countdown{
    background:var(--darts-primary-soft)!important;
    color:var(--primary-dark)!important
}


body.darts-game-active.darts-match-complete .darts-match-summary,
body.online-x01-active.darts-match-complete .darts-match-summary,
body.online-local-game-active.darts-match-complete .darts-match-summary{
    border-color:var(--darts-input-border)!important;
    background:linear-gradient(145deg,var(--surface),var(--darts-primary-soft))!important
}

/* V122 – Aktiver Restscore in derselben Fläche wie die Zahlentasten 1–9. */
.darts-score-card.is-active .darts-remaining-score,
.darts-score-card.is-active .darts-remaining-score.is-score-preview{
    background:var(--darts-primary-soft-strong)!important;
    box-shadow:inset 0 -2px 0 rgba(var(--primary-rgb),.12)!important;
    border-radius:14px!important
}

/* V123 – Gesamte aktive X01-Spielerkarte in der Farbe der Tasten 1–9. */
body.darts-game-active.darts-x01-active:not(.darts-match-complete)
.darts-counter .darts-score-card.is-active,
body.online-x01-active:not(.darts-match-complete)
.darts-score-card.is-active{
    background:var(--darts-primary-soft-strong)!important;
    border-color:var(--primary)!important;
    box-shadow:
        inset 0 -2px 0 rgba(var(--primary-rgb),.12),
        0 20px 52px rgba(var(--primary-rgb),.24)!important
}

/* Der Restscore ist nun Teil der durchgehend gefärbten Karte und kein eigenes Feld mehr. */
body.darts-game-active.darts-x01-active:not(.darts-match-complete)
.darts-counter .darts-score-card.is-active .darts-remaining-score,
body.darts-game-active.darts-x01-active:not(.darts-match-complete)
.darts-counter .darts-score-card.is-active .darts-remaining-score.is-score-preview,
body.online-x01-active:not(.darts-match-complete)
.darts-score-card.is-active .darts-remaining-score,
body.online-x01-active:not(.darts-match-complete)
.darts-score-card.is-active .darts-remaining-score.is-score-preview{
    background:transparent!important;
    box-shadow:none!important;
    border-radius:0!important
}

/* Unterer Checkout-Hinweisbalken entfällt nur im lokalen X01-Zähler. */
body.darts-game-active.darts-x01-active
.darts-counter .darts-player-finish-hint{
    display:none!important
}

/* V124 – X01-Kontrast, reduzierte Split-Score-Karten und höhere Handy-Querformat-Tasten. */

/* X01: Der Restscore des aktiven Spielers bleibt unabhängig von der Vereinsfarbe immer schwarz. */
body.darts-game-active.darts-x01-active
.darts-counter .darts-score-card.is-active .darts-remaining-score,
body.darts-game-active.darts-x01-active
.darts-counter .darts-score-card.is-active .darts-remaining-score.is-score-preview,
body.online-x01-active
.darts-score-card.is-active .darts-remaining-score,
body.online-x01-active
.darts-score-card.is-active .darts-remaining-score.is-score-preview{
    color:#000!important;
    -webkit-text-fill-color:#000!important;
    text-shadow:none!important
}

/* Split Score: Die komplette aktive Spielerkarte ist grau. */
body.darts-game-active.darts-split-score-active:not(.darts-match-complete)
.darts-counter .darts-score-card.is-active,
.online-game-page.is-local-game-ui.is-split-score-local-ui
.darts-score-card.is-active{
    border-color:#8b909a!important;
    background:var(--darts-neutral)!important;
    color:#000!important;
    box-shadow:
        inset 0 -2px 0 rgba(0,0,0,.08),
        0 18px 44px rgba(31,35,65,.18)!important
}
body.darts-game-active.darts-split-score-active
.darts-counter .darts-score-card.is-active .darts-remaining-score,
body.darts-game-active.darts-split-score-active
.darts-counter .darts-score-card.is-active .darts-remaining-score.is-score-preview,
.online-game-page.is-local-game-ui.is-split-score-local-ui
.darts-score-card.is-active .darts-remaining-score,
.online-game-page.is-local-game-ui.is-split-score-local-ui
.darts-score-card.is-active .darts-remaining-score.is-score-preview{
    border-radius:0!important;
    background:transparent!important;
    color:#000!important;
    -webkit-text-fill-color:#000!important;
    box-shadow:none!important;
    text-shadow:none!important
}

/* Split Score zeigt in den Spielerkarten nur noch den Score – ohne Runden, Halbierungen oder Doppelquote. */
body.darts-game-active.darts-split-score-active
.darts-counter .darts-player-stats,
body.darts-game-active.darts-split-score-active
.darts-counter .darts-player-finish-hint,
body.darts-game-active.darts-split-score-active
.darts-counter .darts-last-visit,
.online-game-page.is-local-game-ui.is-split-score-local-ui
.darts-player-stats,
.online-game-page.is-local-game-ui.is-split-score-local-ui
.darts-player-finish-hint,
.online-game-page.is-local-game-ui.is-split-score-local-ui
.darts-last-visit{
    display:none!important
}
body.darts-game-active.darts-split-score-active
.darts-counter .darts-score-value-row,
.online-game-page.is-local-game-ui.is-split-score-local-ui
.darts-score-value-row{
    grid-template-columns:minmax(0,1fr)!important;
    gap:0!important
}

/* 10 Visits Challenge: Die komplette aktive Spielerkarte ist grau, nicht nur der Score. */
body.darts-game-active.darts-ten-visits-active:not(.darts-match-complete)
.darts-counter .darts-score-card.is-active,
.online-game-page.is-local-game-ui.is-ten-visits
.darts-score-card.is-active{
    border-color:#8b909a!important;
    background:var(--darts-neutral)!important;
    color:#000!important;
    box-shadow:
        inset 0 -2px 0 rgba(0,0,0,.08),
        0 18px 44px rgba(31,35,65,.18)!important
}
body.darts-game-active.darts-split-score-active:not(.darts-match-complete)
.darts-counter .darts-score-card.is-active::after,
body.darts-game-active.darts-ten-visits-active:not(.darts-match-complete)
.darts-counter .darts-score-card.is-active::after,
.online-game-page.is-local-game-ui.is-split-score-local-ui
.darts-score-card.is-active::after,
.online-game-page.is-local-game-ui.is-ten-visits
.darts-score-card.is-active::after{
    display:none!important
}

/* Graue aktive Karten verwenden für alle wesentlichen Texte dunkle Schrift. */
body.darts-game-active.darts-split-score-active
.darts-counter .darts-score-card.is-active h2,
body.darts-game-active.darts-split-score-active
.darts-counter .darts-score-card.is-active .darts-turn-marker,
body.darts-game-active.darts-split-score-active
.darts-counter .darts-score-card.is-active .darts-legs,
body.darts-game-active.darts-split-score-active
.darts-counter .darts-score-card.is-active .darts-legs strong,
body.darts-game-active.darts-ten-visits-active
.darts-counter .darts-score-card.is-active h2,
body.darts-game-active.darts-ten-visits-active
.darts-counter .darts-score-card.is-active .darts-turn-marker,
body.darts-game-active.darts-ten-visits-active
.darts-counter .darts-score-card.is-active .darts-legs,
body.darts-game-active.darts-ten-visits-active
.darts-counter .darts-score-card.is-active .darts-legs strong,
body.darts-game-active.darts-ten-visits-active
.darts-counter .darts-score-card.is-active .darts-last-visit span,
body.darts-game-active.darts-ten-visits-active
.darts-counter .darts-score-card.is-active .darts-last-visit strong{
    color:#000!important;
    -webkit-text-fill-color:#000!important
}

body.darts-game-active.darts-ten-visits-active
.darts-counter .darts-score-card.is-active .darts-remaining-score,
body.darts-game-active.darts-ten-visits-active
.darts-counter .darts-score-card.is-active .darts-remaining-score.is-score-preview,
.online-game-page.is-local-game-ui.is-ten-visits
.darts-score-card.is-active .darts-remaining-score,
.online-game-page.is-local-game-ui.is-ten-visits
.darts-score-card.is-active .darts-remaining-score.is-score-preview{
    border-radius:0!important;
    background:transparent!important;
    color:#000!important;
    -webkit-text-fill-color:#000!important;
    box-shadow:none!important;
    text-shadow:none!important
}

/*
 * Handy im Querformat – nur X01:
 * Die Schnellscore-Zeile wird flacher. Die frei werdende Höhe geht vollständig
 * an die Zahlentastatur; insbesondere die Reihen 1–9 werden deutlich höher.
 */
@media(
    orientation:landscape
) and (
    max-width:1000px
) and (
    max-height:600px
){
    body.darts-game-active.darts-x01-active:not(.darts-match-complete)
    .darts-counter .darts-turn-panel>.darts-score-entry,
    body.online-x01-active:not(.darts-match-complete)
    .darts-turn-panel>.darts-score-entry{
        grid-template-rows:
            auto
            minmax(42px,.56fr)
            minmax(24px,.25fr)
            minmax(0,5.15fr)
            minmax(34px,.42fr)
            auto!important;
        gap:4px!important
    }

    body.darts-game-active.darts-x01-active:not(.darts-match-complete)
    .darts-counter .darts-quick-scores:not([hidden]),
    body.online-x01-active:not(.darts-match-complete)
    .darts-quick-scores:not([hidden]){
        grid-template-columns:repeat(6,minmax(0,1fr))!important;
        grid-template-rows:minmax(24px,1fr)!important;
        min-height:24px!important;
        max-height:30px!important;
        gap:3px!important;
        margin:0!important
    }

    body.darts-game-active.darts-x01-active:not(.darts-match-complete)
    .darts-counter .darts-quick-scores button,
    body.online-x01-active:not(.darts-match-complete)
    .darts-quick-scores button{
        min-height:24px!important;
        height:100%!important;
        padding:1px 2px!important;
        font-size:clamp(.58rem,2.3vh,.78rem)!important;
        line-height:1!important
    }

    body.darts-game-active.darts-x01-active:not(.darts-match-complete)
    .darts-counter .darts-keypad,
    body.online-x01-active:not(.darts-match-complete)
    .darts-keypad{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        grid-template-rows:
            repeat(3,minmax(0,1.55fr))
            minmax(26px,.34fr)
            minmax(30px,.48fr)!important;
        height:100%!important;
        min-height:0!important;
        gap:4px!important
    }

    body.darts-game-active.darts-x01-active:not(.darts-match-complete)
    .darts-counter .darts-keypad button:nth-child(-n+9),
    body.online-x01-active:not(.darts-match-complete)
    .darts-keypad button:nth-child(-n+9){
        min-height:0!important;
        height:100%!important;
        padding:2px!important;
        font-size:clamp(1.25rem,5.8vh,2rem)!important
    }
}


/* V125 – X01-Statistikwerte auf allen Geräten immer schwarz darstellen. */
body.darts-game-active.darts-x01-active
.darts-counter .darts-player-stats strong,
body.online-x01-active
.darts-player-stats strong{
    color:#000!important;
    -webkit-text-fill-color:#000!important;
    opacity:1!important;
    text-shadow:none!important
}

/* V126 – Order of Merit und Turnierserien-Wertigkeiten. */
.dart-series-oom-master-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px
}
.dart-series-oom-help{
    margin-top:16px;
    padding:14px 16px;
    border:1px solid var(--border);
    border-radius:16px;
    background:var(--surface-soft)
}
.dart-series-oom-help p{margin:5px 0 0;color:var(--muted)}
.dart-series-oom-bonus-grid{
    display:grid;
    gap:10px;
    margin-top:16px
}
.dart-series-oom-bonus-grid>label{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(180px,.36fr);
    align-items:center;
    gap:14px;
    margin:0;
    padding:12px 14px;
    border:1px solid var(--border);
    border-radius:14px;
    background:var(--surface-soft)
}
.dart-series-oom-points-input{
    display:grid;
    grid-template-columns:minmax(80px,1fr) auto;
    align-items:center;
    gap:8px
}
.dart-series-oom-points-input small{margin:0;white-space:nowrap}
.order-of-merit-selector-panel{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:18px
}
.order-of-merit-selector{min-width:min(100%,420px)}
.order-of-merit-series-summary{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:8px 14px;
    color:var(--muted)
}
.order-of-merit-series-summary strong{color:var(--text)}
.order-of-merit-table-scroll{
    overflow:auto;
    overscroll-behavior-inline:contain;
    border:1px solid var(--border);
    border-radius:18px
}
.order-of-merit-table{
    width:max-content;
    min-width:100%;
    border-collapse:separate;
    border-spacing:0;
    background:var(--surface)
}
.order-of-merit-table th,
.order-of-merit-table td{
    border-right:1px solid var(--border);
    border-bottom:1px solid var(--border);
    text-align:center
}
.order-of-merit-table tr:last-child>*{border-bottom:0}
.order-of-merit-table tr>*:last-child{border-right:0}
.order-of-merit-table .is-player-column{width:220px}
.order-of-merit-table .is-event-column{width:74px}
.order-of-merit-table .is-total-column{width:92px}
.order-of-merit-table thead th{
    height:230px;
    padding:0;
    vertical-align:bottom;
    background:var(--surface-soft)
}
.order-of-merit-table .is-player-heading,
.order-of-merit-table .is-total-heading{
    height:auto;
    padding:12px;
    vertical-align:middle
}
.order-of-merit-event-heading>a,
.order-of-merit-event-heading>span{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    width:100%;
    height:100%;
    padding:10px 7px;
    writing-mode:vertical-rl;
    transform:rotate(180deg);
    color:inherit;
    text-decoration:none
}
.order-of-merit-event-heading span{
    display:flex;
    gap:6px;
    align-items:center
}
.order-of-merit-event-heading strong{font-size:.82rem;line-height:1.1}
.order-of-merit-event-heading small,
.order-of-merit-event-heading i{font-size:.68rem;color:var(--muted);font-style:normal}
.order-of-merit-player{
    position:sticky;
    left:0;
    z-index:2;
    min-width:220px;
    padding:10px 12px;
    text-align:left!important;
    background:var(--surface)
}
.order-of-merit-player span{display:flex;align-items:center;gap:9px}
.order-of-merit-player i{
    display:inline-grid;
    place-items:center;
    min-width:31px;
    height:26px;
    border-radius:999px;
    background:var(--surface-soft);
    font-style:normal;
    font-size:.72rem
}
.order-of-merit-points a{
    display:grid;
    place-items:center;
    min-height:52px;
    padding:8px;
    color:var(--primary);
    font-weight:900;
    text-decoration:none
}
.order-of-merit-points a:hover{background:var(--primary-soft)}
.order-of-merit-missing{
    min-width:74px;
    background:#f0f1f3;
    color:#616570;
    font-weight:850
}
.order-of-merit-upcoming-cell{
    min-width:74px;
    background:#e4e6ea;
    color:#6a6d75;
    font-weight:850
}
.order-of-merit-upcoming-cell span{
    display:inline-block;
    writing-mode:vertical-rl;
    transform:rotate(180deg);
    padding:12px 0;
    letter-spacing:.02em
}
.order-of-merit-total{
    position:sticky;
    right:0;
    z-index:2;
    min-width:92px;
    padding:10px;
    background:var(--primary-soft-strong);
    color:#000
}
.order-of-merit-table tr.is-own-player .order-of-merit-player{
    box-shadow:inset 4px 0 0 var(--primary)
}
.order-of-merit-legend{
    display:flex;
    flex-wrap:wrap;
    gap:10px 18px;
    margin-top:14px;
    color:var(--muted);
    font-size:.82rem
}
.order-of-merit-legend span{display:flex;align-items:center;gap:7px}
.order-of-merit-legend i{
    display:inline-grid;
    place-items:center;
    width:25px;
    height:25px;
    border-radius:7px;
    font-style:normal;
    font-weight:900
}
.order-of-merit-legend .is-x{background:#f0f1f3}
.order-of-merit-legend .is-future{background:#e4e6ea}
.order-of-merit-bonus-list{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
    gap:10px;
    margin-top:16px
}
.order-of-merit-bonus-list span{
    display:flex;
    justify-content:space-between;
    gap:10px;
    padding:11px 13px;
    border:1px solid var(--border);
    border-radius:13px;
    background:var(--surface-soft)
}
.order-of-merit-bonus-list i{font-style:normal;color:var(--muted)}
@media(max-width:720px){
    .dart-series-oom-master-grid{grid-template-columns:1fr}
    .dart-series-oom-bonus-grid>label{grid-template-columns:1fr}
    .order-of-merit-selector-panel{align-items:stretch;flex-direction:column}
    .order-of-merit-series-summary{justify-content:flex-start}
    .order-of-merit-table .is-player-column{width:160px}
    .order-of-merit-player{min-width:160px;max-width:160px;font-size:.78rem}
    .order-of-merit-table thead th{height:205px}
}


.dart-series-overview-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}

.order-of-merit-event-heading.is-cancelled,.order-of-merit-upcoming-cell.is-cancelled{background:#f4e6e6;color:#8a3131}


/* V127 – Round-Robin-Wertung nach Teilnehmerzahl. */
.dart-series-round-robin-mode-grid{display:grid;grid-template-columns:minmax(240px,460px);gap:14px;margin-bottom:18px}
.dart-series-participant-scoring{display:grid;gap:16px}
.dart-series-participant-scoring .alert{margin:0}
.dart-series-participant-scoring .alert p{margin:7px 0 0}
.round-robin-bonus-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.dart-series-participant-scoring-summary>p{margin-top:0;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:#fafaff;line-height:1.5}
@media(max-width:1000px){.round-robin-bonus-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.dart-series-round-robin-mode-grid{grid-template-columns:1fr}.round-robin-bonus-grid{grid-template-columns:1fr 1fr}}

/* V128 – Einzelturniere in der Order of Merit und sichtbare Punktevarianten. */
.dart-series-round-robin-choice-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin-bottom:18px
}
.dart-series-scoring-choice{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:16px;
    border:2px solid var(--border);
    border-radius:16px;
    background:#fff;
    cursor:pointer;
    transition:border-color .18s ease,background .18s ease,box-shadow .18s ease
}
.dart-series-scoring-choice:hover{
    border-color:var(--primary);
    box-shadow:0 10px 28px rgba(31,35,65,.08)
}
.dart-series-scoring-choice.is-selected{
    border-color:var(--primary);
    background:var(--primary-soft,#f1efff)
}
.dart-series-scoring-choice input{
    width:auto;
    margin:4px 0 0;
    accent-color:var(--primary)
}
.dart-series-scoring-choice span{display:grid;gap:4px}
.dart-series-scoring-choice strong{color:var(--text);font-size:1rem}
.dart-series-scoring-choice small{line-height:1.4}
.dart-tournament-oom-panel{overflow:hidden}
.dart-tournament-oom-custom-settings{display:grid;gap:18px;margin-top:18px}
.dart-tournament-oom-scoring-details{margin:0;padding:0;box-shadow:none}
.dart-tournament-oom-scoring-details>summary{
    list-style:none;
    cursor:pointer;
    padding:18px 20px
}
.dart-tournament-oom-scoring-details>summary::-webkit-details-marker{display:none}
.dart-tournament-oom-scoring-details>summary span{display:grid}
.dart-tournament-oom-scoring-details[open]>summary{
    border-bottom:1px solid var(--border);
    background:var(--surface-soft)
}
.dart-tournament-oom-scoring-body{display:grid;gap:24px;padding:20px}
.dart-tournament-oom-scoring-body h3{margin:0 0 14px}
.dart-tournament-list-main{display:block;min-width:0;flex:1;color:inherit;text-decoration:none}
.dart-tournament-list-main h3{margin:4px 0}
.dart-tournament-status-actions{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:7px;
    flex-wrap:wrap
}
.inline-form{display:inline-flex;margin:0}
.dart-tournament-list-card .button{white-space:nowrap}
@media(max-width:800px){
    .dart-series-round-robin-choice-grid{grid-template-columns:1fr}
    .dart-tournament-status-actions{justify-content:flex-start}
}


/* V129: kompakte persönliche Ranglisten auf der Übersicht */
.dashboard-rankings-section{
    margin:1.4rem 0 1.8rem;
}
.dashboard-rankings-heading{
    align-items:flex-end;
}
.dashboard-rankings-heading p{
    max-width:760px;
    margin:.35rem 0 0;
}
.dashboard-rankings-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1rem;
}
.dashboard-ranking-card{
    min-width:0;
    overflow:hidden;
    border:1px solid var(--border-color);
    border-radius:18px;
    background:var(--surface-color);
    box-shadow:0 12px 32px rgba(15,23,42,.08);
}
.dashboard-ranking-card-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    min-height:78px;
    padding:1rem 1.1rem;
    color:inherit;
    text-decoration:none;
    background:linear-gradient(135deg,var(--club-primary-soft,#eef2ff),var(--club-secondary-soft,#f8fafc));
    border-bottom:1px solid var(--border-color);
}
.dashboard-ranking-card-header span{
    display:grid;
    gap:.18rem;
    min-width:0;
}
.dashboard-ranking-card-header strong{
    font-size:1.08rem;
    line-height:1.2;
}
.dashboard-ranking-card-header small{
    color:var(--muted-color);
    font-size:.78rem;
}
.dashboard-ranking-card-header i{
    flex:0 0 auto;
    font-size:2rem;
    font-style:normal;
    line-height:1;
}
.dashboard-ranking-table-head,
.dashboard-ranking-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(58px,auto);
    align-items:center;
    gap:.55rem;
}
.dashboard-ranking-table-head{
    padding:.62rem .9rem;
    color:var(--muted-color);
    font-size:.69rem;
    font-weight:800;
    letter-spacing:.035em;
    text-transform:uppercase;
    background:rgba(148,163,184,.08);
}
.dashboard-ranking-table-head span:nth-child(n+2){text-align:right}
.dashboard-ranking-list{
    display:grid;
}
.dashboard-ranking-row{
    min-height:52px;
    padding:.55rem .9rem;
    border-top:1px solid rgba(148,163,184,.2);
}
.dashboard-ranking-row:first-child{border-top:0}
.dashboard-ranking-row.is-own-player{
    background:var(--club-primary-soft-strong,rgba(148,163,184,.2));
    box-shadow:inset 4px 0 0 var(--club-primary,var(--primary-color));
}
.dashboard-ranking-player{
    display:grid;
    grid-template-columns:34px minmax(0,1fr) auto;
    align-items:center;
    gap:.4rem;
    min-width:0;
}
.dashboard-ranking-player i{
    color:var(--muted-color);
    font-size:.78rem;
    font-style:normal;
    font-weight:800;
}
.dashboard-ranking-player strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.88rem;
}
.dashboard-ranking-player small{
    padding:.12rem .38rem;
    border-radius:999px;
    color:var(--club-primary-contrast,#fff);
    background:var(--club-primary,var(--primary-color));
    font-size:.62rem;
    font-weight:800;
}
.dashboard-ranking-value{
    text-align:right;
    font-variant-numeric:tabular-nums;
    font-size:.9rem;
}
.dashboard-ranking-change{
    min-width:58px;
    padding:.24rem .42rem;
    border-radius:999px;
    text-align:center;
    font-size:.76rem;
    font-weight:900;
    font-variant-numeric:tabular-nums;
}
.dashboard-ranking-change.is-positive{color:#166534;background:#dcfce7}
.dashboard-ranking-change.is-negative{color:#991b1b;background:#fee2e2}
.dashboard-ranking-change.is-neutral{color:#475569;background:#e2e8f0}
.dashboard-ranking-unranked,
.dashboard-ranking-empty{
    margin:0;
    padding:1rem;
    color:var(--muted-color);
    font-size:.82rem;
}
@media (max-width:1100px){
    .dashboard-rankings-grid{grid-template-columns:1fr 1fr}
    .dashboard-ranking-card-order-of-merit{grid-column:1/-1}
}
@media (max-width:680px){
    .dashboard-rankings-grid{grid-template-columns:1fr}
    .dashboard-ranking-card-order-of-merit{grid-column:auto}
    .dashboard-ranking-card-header{min-height:68px;padding:.85rem .9rem}
    .dashboard-ranking-table-head,.dashboard-ranking-row{padding-left:.72rem;padding-right:.72rem}
    .dashboard-ranking-player{grid-template-columns:30px minmax(0,1fr) auto}
}


/* V130 – OOM-Datumsüberschriften mit Maus-/Touch-Details. */
.order-of-merit-event-heading{position:relative}
.order-of-merit-event-trigger{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    width:100%;
    height:100%;
    margin:0;
    padding:10px 7px;
    border:0;
    border-radius:0;
    background:transparent;
    color:inherit;
    font:inherit;
    writing-mode:vertical-rl;
    transform:rotate(180deg);
    cursor:help
}
.order-of-merit-event-trigger:hover,
.order-of-merit-event-trigger:focus-visible,
.order-of-merit-event-trigger[aria-expanded="true"]{
    background:var(--primary-soft);
    outline:none
}
.order-of-merit-event-trigger span{
    display:block;
    font-weight:850;
    font-size:.78rem;
    letter-spacing:.02em
}
.order-of-merit-event-popover{
    position:fixed;
    z-index:1200;
    width:min(390px,calc(100vw - 24px));
    max-height:min(72vh,620px);
    overflow:auto;
    padding:18px;
    border:1px solid var(--border);
    border-radius:18px;
    background:var(--surface);
    box-shadow:0 24px 70px rgba(20,24,45,.24)
}
.order-of-merit-event-popover[hidden]{display:none}
.order-of-merit-event-popover.is-mobile{
    width:auto!important;
    max-height:74vh
}
.order-of-merit-event-popover-close{
    position:absolute;
    top:8px;
    right:9px;
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    padding:0;
    border:0;
    border-radius:999px;
    background:var(--surface-soft);
    color:var(--text);
    font-size:1.35rem;
    line-height:1;
    cursor:pointer
}
.order-of-merit-event-detail{display:grid;gap:11px;padding-right:24px}
.order-of-merit-event-detail h3{margin:0;font-size:1.12rem}
.order-of-merit-event-series{margin:-5px 0 0;color:var(--muted);font-size:.84rem}
.order-of-merit-event-criteria{display:grid;gap:7px}
.order-of-merit-event-criteria p{
    margin:0;
    padding:9px 11px;
    border-radius:11px;
    background:var(--surface-soft);
    font-size:.82rem;
    line-height:1.42
}
.order-of-merit-event-detail .button{justify-self:start}
.order-of-merit-event-detail .button.is-disabled{opacity:.62;pointer-events:none}
@media(max-width:760px){
    .order-of-merit-event-popover{border-radius:20px}
}

/* V131 – transparentes Punktevergaben-Overlay der Vereins-Order-of-Merit. */
.order-of-merit-title-row{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:12px
}
.order-of-merit-title-row h2{margin:0}
.order-of-merit-rules-modal[hidden]{display:none}
.order-of-merit-rules-modal{
    position:fixed;
    inset:0;
    z-index:1450;
    display:grid;
    place-items:center;
    padding:20px
}
.order-of-merit-rules-backdrop{
    position:absolute;
    inset:0;
    border:0;
    background:rgba(15,18,31,.72);
    backdrop-filter:blur(5px);
    cursor:pointer
}
.order-of-merit-rules-dialog{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto;
    width:min(1040px,100%);
    max-height:calc(100vh - 40px);
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:24px;
    background:var(--surface);
    box-shadow:0 35px 110px rgba(0,0,0,.38)
}
.order-of-merit-rules-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:22px;
    padding:24px 26px 20px;
    border-bottom:1px solid var(--border)
}
.order-of-merit-rules-head h2{margin:0;font-size:clamp(1.55rem,3vw,2.25rem)}
.order-of-merit-rules-head p{margin:7px 0 0;color:var(--muted)}
.order-of-merit-rules-body{
    display:grid;
    gap:22px;
    overflow:auto;
    padding:24px 26px
}
.order-of-merit-rules-formula{
    padding:18px 20px;
    border:1px solid var(--border);
    border-radius:18px;
    background:var(--primary-soft)
}
.order-of-merit-rules-formula h3{margin:0 0 8px}
.order-of-merit-rules-formula p{margin:7px 0 0;line-height:1.55}
.order-of-merit-rules-section{
    display:grid;
    gap:16px;
    padding:20px;
    border:1px solid var(--border);
    border-radius:19px;
    background:#fff
}
.order-of-merit-rules-section-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px
}
.order-of-merit-rules-section-head h3{margin:0}
.order-of-merit-rules-section-head p{max-width:500px;margin:0;color:var(--muted);font-size:.88rem}
.order-of-merit-weight-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:11px
}
.order-of-merit-weight-grid article{
    display:grid;
    gap:5px;
    min-height:125px;
    padding:15px;
    border:1px solid var(--border);
    border-radius:15px;
    background:var(--surface-soft)
}
.order-of-merit-weight-grid strong{font-size:.93rem}
.order-of-merit-weight-grid b{font-size:1.65rem;color:var(--primary)}
.order-of-merit-weight-grid span{align-self:end;color:var(--muted);font-size:.78rem;line-height:1.4}
.order-of-merit-profile-list{display:grid;gap:16px}
.order-of-merit-profile-card{
    display:grid;
    gap:16px;
    padding:18px;
    border:1px solid var(--border);
    border-radius:17px;
    background:var(--surface-soft)
}
.order-of-merit-profile-head{
    display:grid;
    grid-template-columns:minmax(150px,.4fr) minmax(0,1fr);
    gap:18px;
    align-items:start
}
.order-of-merit-profile-head h4{margin:0;font-size:1.12rem}
.order-of-merit-profile-head p{margin:4px 0 0;color:var(--muted);font-size:.8rem}
.order-of-merit-profile-events{display:flex;flex-wrap:wrap;gap:7px}
.order-of-merit-profile-events span{
    padding:6px 9px;
    border:1px solid var(--border);
    border-radius:999px;
    background:#fff;
    font-size:.74rem
}
.order-of-merit-profile-block{
    display:grid;
    gap:10px;
    padding:15px;
    border:1px solid var(--border);
    border-radius:14px;
    background:#fff
}
.order-of-merit-profile-block h5{margin:0;font-size:.96rem}
.order-of-merit-profile-block p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.5}
.order-of-merit-points-grid{
    display:grid;
    gap:7px
}
.order-of-merit-points-grid.is-six{grid-template-columns:repeat(6,minmax(0,1fr))}
.order-of-merit-points-grid.is-ko{grid-template-columns:repeat(5,minmax(0,1fr))}
.order-of-merit-points-grid.is-ranks{grid-template-columns:repeat(8,minmax(0,1fr))}
.order-of-merit-points-grid span{
    display:grid;
    gap:2px;
    min-width:0;
    padding:9px 8px;
    border-radius:11px;
    background:var(--surface-soft);
    text-align:center
}
.order-of-merit-points-grid b{font-size:.69rem;color:var(--muted)}
.order-of-merit-points-grid strong{font-size:1rem;color:var(--text);font-variant-numeric:tabular-nums}
.order-of-merit-rules-example{
    padding:10px 12px;
    border-radius:11px;
    background:#fff8dc;
    color:#65531d!important
}
.order-of-merit-profile-block.is-special{border-color:var(--border)}
.order-of-merit-special-points-list{display:grid;gap:7px}
.order-of-merit-special-points-list span{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    padding:9px 11px;
    border-radius:10px;
    background:var(--surface-soft)
}
.order-of-merit-special-points-list b{font-size:.8rem}
.order-of-merit-special-points-list strong{font-variant-numeric:tabular-nums}
.order-of-merit-special-points-list .is-zero{opacity:.54}
.order-of-merit-special-points-list .is-active strong{color:var(--secondary);font-weight:900}
.order-of-merit-assignment-list{display:grid;gap:7px}
.order-of-merit-assignment-list>div{
    display:grid;
    grid-template-columns:minmax(0,1.5fr) minmax(150px,.65fr) minmax(120px,.45fr);
    align-items:center;
    gap:12px;
    padding:10px 12px;
    border-radius:11px;
    background:var(--surface-soft);
    font-size:.8rem
}
.order-of-merit-assignment-list>div>span:first-child{display:grid;gap:2px}
.order-of-merit-assignment-list>div>span:nth-child(n+2){font-weight:800}
.order-of-merit-rules-actions{
    display:flex;
    justify-content:flex-end;
    padding:16px 26px;
    border-top:1px solid var(--border);
    background:#fff
}
.order-of-merit-rules-open{overflow:hidden}
@media(max-width:900px){
    .order-of-merit-weight-grid{grid-template-columns:1fr 1fr}
    .order-of-merit-points-grid.is-six{grid-template-columns:repeat(3,minmax(0,1fr))}
    .order-of-merit-points-grid.is-ko{grid-template-columns:repeat(3,minmax(0,1fr))}
    .order-of-merit-points-grid.is-ranks{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(max-width:640px){
    .order-of-merit-rules-modal{padding:8px}
    .order-of-merit-rules-dialog{max-height:calc(100vh - 16px);border-radius:18px}
    .order-of-merit-rules-head{padding:18px 17px 15px}
    .order-of-merit-rules-body{padding:16px;gap:16px}
    .order-of-merit-rules-section{padding:15px}
    .order-of-merit-rules-section-head{display:grid;gap:6px}
    .order-of-merit-weight-grid{grid-template-columns:1fr}
    .order-of-merit-weight-grid article{min-height:auto}
    .order-of-merit-profile-head{grid-template-columns:1fr}
    .order-of-merit-points-grid.is-six,
    .order-of-merit-points-grid.is-ko,
    .order-of-merit-points-grid.is-ranks{grid-template-columns:repeat(2,minmax(0,1fr))}
    .order-of-merit-assignment-list>div{grid-template-columns:1fr;gap:5px}
    .order-of-merit-rules-actions{padding:12px 16px}
    .order-of-merit-rules-actions .button{width:100%}
}



/* V132: Order-of-Merit-Verwaltung */
.oom-management-form,
.oom-new-weight-form{display:grid;gap:22px}
.oom-new-weight-form{margin-top:26px;padding-top:24px;border-top:1px solid var(--border)}
.oom-expiry-field{max-width:560px}
.oom-weight-settings{display:grid;gap:16px}
.oom-weight-settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.oom-weight-settings-head h3{margin:2px 0 0}
.oom-weight-settings-head p{max-width:680px;margin:0;color:var(--muted)}
.oom-weight-settings-list{display:grid;gap:10px}
.oom-weight-settings-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(130px,180px) auto;align-items:end;gap:14px;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)}
.oom-weight-settings-row .badge{align-self:center;justify-self:end}
.oom-new-weight-grid{display:grid;grid-template-columns:minmax(240px,1fr) minmax(140px,220px);gap:14px}
@media(max-width:760px){
  .oom-weight-settings-head{display:grid;gap:8px}
  .oom-weight-settings-row,.oom-new-weight-grid{grid-template-columns:1fr}
  .oom-weight-settings-row .badge{justify-self:start}
}


/* V133: OOM-Statusfarben und ELO-Auswahl in der Spielvorbereitung */
.darts-game-type-choice.darts-game-type-and-elo{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);
    gap:16px;
    max-width:780px;
    align-items:start;
}
.darts-game-type-and-elo small{
    display:block;
    line-height:1.4;
}
.dart-management-oom-button{
    min-width:52px;
    border:1px solid transparent!important;
    box-shadow:none!important;
}
.dart-management-oom-button.is-included{
    background:#1f8a61!important;
    border-color:#176e4d!important;
    color:#fff!important;
}
.dart-management-oom-button.is-included:hover{
    background:#176e4d!important;
}
.dart-management-oom-button.is-excluded{
    background:#bc3e49!important;
    border-color:#99313c!important;
    color:#fff!important;
}
.dart-management-oom-button.is-excluded:hover{
    background:#99313c!important;
}
@media(max-width:700px){
    .darts-game-type-choice.darts-game-type-and-elo{
        grid-template-columns:1fr;
    }
}

/* V134: vereinslose Spieler, Spieler-ID, registrierte Gäste und globale Chats */
.player-code-registration-note,
.player-id-account-card,
.player-id-dashboard-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    padding:18px 20px;
    border:1px solid var(--border);
    border-radius:18px;
    background:var(--surface-soft);
}
.player-code-registration-note{display:grid;margin:16px 0;text-align:center}
.player-code-registration-note>span,.player-code-registration-note>small{color:var(--muted)}
.player-code-registration-note>strong,.player-code-value,.player-code-inline{
    font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
    letter-spacing:.08em;
}
.player-code-registration-note>strong,.player-code-value{font-size:clamp(1.35rem,4vw,2rem)}
.player-id-account-card{margin:0 0 20px}
.player-id-account-card h2,.player-id-dashboard-card h2{margin:3px 0 5px}
.player-id-account-card p,.player-id-dashboard-card p{margin:0;color:var(--muted);max-width:760px}
.player-code-lookup{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:end}
.player-code-lookup>label{min-width:0}
.player-code-lookup-result{grid-column:1/-1;min-height:1.4em;margin:0;color:var(--muted)}
.player-code-lookup-result[data-state="success"]{color:#176e4d;font-weight:700}
.player-code-lookup-result[data-state="error"]{color:#a52935;font-weight:700}
.registered-guest-check{margin:8px 0 12px}
.dart-tournament-player-picker [data-tournament-guest-wrap]{display:grid;gap:10px}
.player-message-search-panel{margin-bottom:18px}
.player-message-code-form{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:end}
.player-message-code-form label{margin:0}
.player-message-search-panel>p{margin:10px 0 0;color:var(--muted)}
.player-private-message-layout .private-message-chat-panel{min-height:560px}
.player-private-message-log{display:flex;flex-direction:column;gap:10px;min-height:340px;max-height:62vh;overflow:auto;padding:18px}
.player-private-message-log .private-message-bubble time{display:block;margin-top:6px;font-size:.78rem;color:var(--muted)}
.player-private-message-log .private-message-bubble form{margin-top:6px}
.independent-dashboard-actions{margin:18px 0 24px}
.player-id-dashboard-card{margin-bottom:18px}
.inline-form{display:inline-flex;margin:0}
@media(max-width:700px){
    .player-id-account-card,.player-id-dashboard-card{display:grid;gap:12px}
    .player-code-lookup,.player-message-code-form{grid-template-columns:1fr}
    .player-code-lookup-result{grid-column:auto}
    .player-message-code-form .button,.player-code-lookup .button{width:100%}
}

/* V135: Konto vom Verein lösen oder dauerhaft löschen */
.account-danger-zone{
    margin-top:20px;
    scroll-margin-top:92px;
    border-color:rgba(188,62,73,.28);
}
.account-danger-zone .panel-header{
    margin-bottom:16px;
}
.account-danger-action-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}
.account-danger-action-card{
    display:flex;
    min-width:0;
    min-height:100%;
    flex-direction:column;
    justify-content:space-between;
    gap:18px;
    padding:18px;
    border:1px solid var(--border);
    border-radius:16px;
    background:var(--surface-soft);
}
.account-danger-action-card.is-delete-account{
    border-color:rgba(188,62,73,.34);
    background:rgba(188,62,73,.045);
}
.account-danger-action-card h3{
    margin:4px 0 8px;
}
.account-danger-action-card p{
    margin:0;
    color:var(--muted);
}
.account-danger-action-card .button{
    width:100%;
}
.account-action-dialog{
    width:min(620px,calc(100% - 28px));
    max-height:calc(100vh - 28px);
    margin:auto;
    padding:0;
    border:0;
    border-radius:20px;
    background:transparent;
    color:var(--text);
}
.account-action-dialog::backdrop{
    background:rgba(12,16,28,.68);
    backdrop-filter:blur(3px);
}
.account-action-dialog-card{
    display:grid;
    gap:16px;
    max-height:calc(100vh - 28px);
    overflow:auto;
    padding:22px;
    border:1px solid var(--border);
    border-radius:20px;
    background:var(--surface);
    box-shadow:0 22px 65px rgba(8,12,26,.26);
}
.account-action-dialog-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
}
.account-action-dialog-head h2{
    margin:4px 0 0;
}
.account-action-dialog-close{
    display:grid;
    width:40px;
    height:40px;
    flex:0 0 40px;
    place-items:center;
    border:1px solid var(--border);
    border-radius:50%;
    background:var(--surface-soft);
    color:var(--text);
    font:inherit;
    font-size:1.45rem;
    line-height:1;
    cursor:pointer;
}
.account-action-dialog-card>label:not(.checkbox-card){
    display:grid;
    gap:7px;
    font-weight:800;
}
.account-confirmation-check{
    margin:0;
}
.account-action-dialog-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.account-action-dialog-actions .button{
    width:100%;
}
@media(max-width:700px){
    .account-danger-action-grid{
        grid-template-columns:1fr;
    }
    .account-action-dialog-card{
        padding:18px;
    }
    .account-action-dialog-actions{
        grid-template-columns:1fr;
    }
}
.badge-left{
    background:#eceef4;
    color:#545b6d;
}


/* V136 – Turnierteilnehmer-Zusammenfassung und Mischfunktion. */
.dart-tournament-final-participants .panel-header{
    align-items:flex-start;
    gap:1rem
}
.dart-tournament-participant-summary-list{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:.65rem;
    list-style:none;
    margin:0;
    padding:0
}
.dart-tournament-participant-summary-list li{
    display:flex;
    align-items:center;
    gap:.75rem;
    min-width:0;
    padding:.7rem .8rem;
    border:1px solid var(--border);
    border-radius:12px;
    background:var(--surface-soft,#fafaff)
}
.dart-tournament-participant-summary-list li.is-incomplete{
    border-style:dashed;
    opacity:.72
}
.dart-tournament-participant-summary-list li>span:last-child{
    display:flex;
    min-width:0;
    flex-direction:column
}
.dart-tournament-participant-summary-list strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
}
.dart-tournament-participant-summary-list small{
    color:var(--muted)
}
.dart-tournament-participant-order{
    display:grid;
    place-items:center;
    width:2rem;
    height:2rem;
    flex:0 0 2rem;
    border-radius:999px;
    background:var(--primary-soft);
    color:var(--primary-dark);
    font-weight:800
}
@media(max-width:640px){
    .dart-tournament-final-participants .panel-header{
        display:grid
    }
    .dart-tournament-final-participants .panel-header .button{
        width:100%
    }
    .dart-tournament-participant-summary-list{
        grid-template-columns:1fr
    }
}


/* V137: ELO-Auswahl bleibt auch bei nicht berechtigten Spielern sichtbar */
.darts-game-type-and-elo select:disabled{
    cursor:not-allowed;
    opacity:.65;
}
.darts-game-type-and-elo [data-darts-elo-ranking-note]{
    color:var(--muted);
}


/* V143 – Order of Merit in der kompakten Tabellenhöhe der Vereinsstatistiken. */
.order-of-merit-table-scroll{
    border-radius:12px;
}
.order-of-merit-table{
    table-layout:fixed;
}
.order-of-merit-table .is-player-column{width:205px}
.order-of-merit-table .is-total-column{width:72px}
.order-of-merit-table .is-event-column{width:82px}
.order-of-merit-table th,
.order-of-merit-table td{
    height:31px;
    padding:4px 3px;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    font-size:.68rem;
    font-weight:750;
    line-height:1;
    font-variant-numeric:tabular-nums;
}
.order-of-merit-table thead th,
.order-of-merit-table .is-player-heading,
.order-of-merit-table .is-total-heading{
    height:34px!important;
    min-height:34px!important;
    padding:0 6px!important;
    vertical-align:middle;
    background:#f4f2ff;
    color:#54596d;
    font-size:.64rem;
    font-weight:950;
    letter-spacing:-.02em;
}
.order-of-merit-table .is-player-heading{
    position:sticky;
    left:0;
    z-index:5;
    text-align:left;
    background:#ebe7ff;
}
.order-of-merit-table thead .is-total-heading{
    position:sticky;
    left:205px;
    z-index:5;
    text-align:center;
    background:#e5e1f7;
}
.order-of-merit-event-heading{
    height:34px!important;
    min-height:34px!important;
    padding:0!important;
    vertical-align:middle!important;
}
.order-of-merit-event-trigger{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:34px!important;
    min-height:34px!important;
    padding:0 5px!important;
    writing-mode:horizontal-tb!important;
    transform:none!important;
    white-space:nowrap!important;
    line-height:1!important;
    cursor:help;
}
.order-of-merit-event-trigger span{
    display:block!important;
    writing-mode:horizontal-tb!important;
    transform:none!important;
    font-size:.62rem!important;
    font-weight:900!important;
    letter-spacing:-.02em!important;
}
.order-of-merit-player{
    position:sticky;
    left:0;
    z-index:3;
    min-width:205px;
    max-width:205px;
    height:31px!important;
    padding:4px 8px!important;
    text-align:left!important;
    background:#fff;
    font-size:.68rem!important;
}
.order-of-merit-player span{
    display:flex;
    align-items:center;
    gap:6px;
    min-width:0;
}
.order-of-merit-player i{
    display:inline-block;
    min-width:26px;
    height:auto;
    border-radius:0;
    background:transparent;
    color:var(--muted);
    font-size:.6rem;
    line-height:1;
}
.order-of-merit-total{
    position:sticky;
    left:205px;
    right:auto;
    z-index:3;
    min-width:72px;
    height:31px!important;
    padding:4px 3px!important;
    background:#e7e5eb;
    color:#000;
    font-size:.7rem!important;
}
.order-of-merit-points,
.order-of-merit-missing{
    min-width:82px;
    height:31px!important;
    padding:0!important;
    font-size:.68rem!important;
}
.order-of-merit-points a{
    display:grid;
    place-items:center;
    width:100%;
    height:30px!important;
    min-height:30px!important;
    padding:0 3px!important;
    font-size:.68rem!important;
    line-height:1!important;
}
.order-of-merit-upcoming-cell{
    min-width:82px;
    padding:0!important;
    font-size:.65rem!important;
}
.order-of-merit-table tbody tr:hover>*{background:#faf9ff}
.order-of-merit-table tbody tr:hover .order-of-merit-total{background:#dedbe5}
.order-of-merit-table tr.is-own-player>*{background:#fff0f2}
.order-of-merit-table tr.is-own-player .order-of-merit-total{background:#f4e3e6}
.order-of-merit-table tr.is-own-player .order-of-merit-player{
    box-shadow:inset 4px 0 0 var(--primary);
}
@media(max-width:720px){
    .order-of-merit-table .is-player-column{width:155px}
    .order-of-merit-table .is-total-column{width:62px}
    .order-of-merit-table .is-event-column{width:74px}
    .order-of-merit-player{min-width:155px;max-width:155px;font-size:.62rem!important}
    .order-of-merit-player i{min-width:22px;font-size:.56rem}
    .order-of-merit-total,
    .order-of-merit-table thead .is-total-heading{left:155px;min-width:62px}
    .order-of-merit-table th,
    .order-of-merit-table td{height:28px;font-size:.62rem}
    .order-of-merit-table thead th,
    .order-of-merit-table .is-player-heading,
    .order-of-merit-table .is-total-heading,
    .order-of-merit-event-heading,
    .order-of-merit-event-trigger{height:31px!important;min-height:31px!important}
    .order-of-merit-event-trigger span{font-size:.57rem!important}
    .order-of-merit-points a{height:27px!important;min-height:27px!important;font-size:.62rem!important}
}

/* V144 – Tabellenüberschriften in allen Tabellen von unten nach oben. */
table.has-vertical-table-headings thead th{
    height:164px!important;
    min-height:164px!important;
    padding:0!important;
    overflow:visible!important;
    text-align:center!important;
    vertical-align:middle!important;
}
table.has-vertical-table-headings thead th>.vertical-table-heading-label,
table.has-vertical-table-headings thead th .vertical-table-heading-control .vertical-table-heading-label{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:150px!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    writing-mode:vertical-rl!important;
    text-orientation:mixed!important;
    transform:rotate(180deg)!important;
    transform-origin:center center!important;
    white-space:nowrap!important;
    text-align:center!important;
    line-height:1!important;
}
table.has-vertical-table-headings thead th .vertical-table-heading-control{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:164px!important;
    min-height:164px!important;
    max-height:164px!important;
    margin:0!important;
    padding:6px 2px!important;
    overflow:hidden!important;
    text-align:center!important;
    line-height:1!important;
}
table.has-vertical-table-headings thead th .vertical-table-heading-control abbr{
    text-decoration:none;
}
table.has-vertical-table-headings thead th .club-stat-sort-icon{
    position:static!important;
    right:auto!important;
    bottom:auto!important;
    transform:none!important;
    flex:0 0 auto!important;
}
table.has-vertical-table-headings thead th .dart-tournament-ranking-sort::after{
    flex:0 0 auto;
}
table.has-vertical-table-headings thead th .order-of-merit-event-trigger,
table.has-vertical-table-headings thead th .club-stat-sort-button,
table.has-vertical-table-headings thead th .dart-tournament-ranking-sort{
    cursor:pointer;
}
table.has-vertical-table-headings thead th:first-child .vertical-table-heading-control{
    justify-content:center!important;
    padding-left:2px!important;
    text-align:center!important;
}
.order-of-merit-table.has-vertical-table-headings thead th,
.order-of-merit-table.has-vertical-table-headings .is-player-heading,
.order-of-merit-table.has-vertical-table-headings .is-total-heading,
.order-of-merit-table.has-vertical-table-headings .order-of-merit-event-heading{
    height:164px!important;
    min-height:164px!important;
}
.order-of-merit-table.has-vertical-table-headings .order-of-merit-event-trigger{
    height:164px!important;
    min-height:164px!important;
    max-height:164px!important;
    writing-mode:horizontal-tb!important;
    transform:none!important;
}
.order-of-merit-table.has-vertical-table-headings .order-of-merit-event-trigger span{
    font-size:.62rem!important;
    font-weight:900!important;
    letter-spacing:-.02em!important;
}
@media(max-width:720px){
    table.has-vertical-table-headings thead th,
    table.has-vertical-table-headings thead th .vertical-table-heading-control,
    .order-of-merit-table.has-vertical-table-headings thead th,
    .order-of-merit-table.has-vertical-table-headings .is-player-heading,
    .order-of-merit-table.has-vertical-table-headings .is-total-heading,
    .order-of-merit-table.has-vertical-table-headings .order-of-merit-event-heading,
    .order-of-merit-table.has-vertical-table-headings .order-of-merit-event-trigger{
        height:148px!important;
        min-height:148px!important;
        max-height:148px!important;
    }
    table.has-vertical-table-headings thead th>.vertical-table-heading-label,
    table.has-vertical-table-headings thead th .vertical-table-heading-control .vertical-table-heading-label{
        max-height:136px!important;
    }
}


/* Update V145: Gastspieler direkt beim Turnier registrieren */
.guest-registration-choice-row{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px 18px;
    margin:8px 0 12px
}
.guest-inline-check{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    gap:7px!important;
    cursor:pointer;
    font-weight:850
}
.guest-inline-check input[type="checkbox"]{
    flex:0 0 auto;
    width:17px!important;
    height:17px!important;
    margin:0!important
}
.guest-inline-check span{
    display:inline!important;
    margin:0!important
}
.new-guest-registration-fields{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px
}
.new-guest-registration-fields[hidden]{display:none!important}
.new-guest-registration-fields .full{grid-column:1/-1}
.guest-player-activation-card{width:min(1040px,100%)}
.guest-player-invite-context{
    display:flex;
    flex-wrap:wrap;
    gap:8px 14px;
    margin:16px 0 22px;
    padding:13px 15px;
    border:1px solid var(--border);
    border-radius:14px;
    background:var(--surface-soft)
}
.guest-player-invite-context strong{width:100%;font-size:1.05rem}
.guest-player-invite-context span{color:var(--muted)}
.guest-player-activation-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);
    gap:24px;
    align-items:start
}
.guest-player-benefits{
    padding:20px;
    border:1px solid var(--border);
    border-radius:16px;
    background:var(--surface-soft)
}
.guest-player-benefits h2{margin:4px 0 14px}
.guest-player-benefits ul{display:grid;gap:10px;margin:0;padding-left:20px}
.guest-player-benefits li{line-height:1.45}
@media(max-width:760px){
    .new-guest-registration-fields,
    .guest-player-activation-grid{grid-template-columns:1fr}
    .new-guest-registration-fields .full{grid-column:auto}
    .guest-registration-choice-row{align-items:flex-start;flex-direction:column;gap:10px}
}

/* Update V146: vollständige Vereinsstatistik-Bezeichnungen direkt in der vertikalen Tabellenkopfzeile */
.club-stat-table .club-stat-heading-text{
    display:inline!important;
    margin:0!important;
    padding:0!important;
    white-space:nowrap!important;
    font:inherit!important;
    color:inherit!important;
}
.club-stat-table.has-vertical-table-headings thead th,
.club-stat-table.has-vertical-table-headings thead th .vertical-table-heading-control{
    height:210px!important;
    min-height:210px!important;
    max-height:210px!important;
}
.club-stat-table.has-vertical-table-headings thead th .vertical-table-heading-control .vertical-table-heading-label{
    max-height:194px!important;
}
.club-stat-table.has-vertical-table-headings .club-stat-sort-button{
    padding:6px 2px!important;
}
@media(max-width:720px){
    .club-stat-table.has-vertical-table-headings thead th,
    .club-stat-table.has-vertical-table-headings thead th .vertical-table-heading-control{
        height:190px!important;
        min-height:190px!important;
        max-height:190px!important;
    }
    .club-stat-table.has-vertical-table-headings thead th .vertical-table-heading-control .vertical-table-heading-label{
        max-height:176px!important;
    }
}


/* V147 – nur eine Beschriftung je vertikaler Tabellenüberschrift anzeigen. */
table.has-vertical-table-headings thead th .vertical-table-heading-alternate{
    display:none!important;
}

/* V148: ELO-Schalter für komplette Turniere und einzelne Turnierspiele */
.dart-tournament-master-elo-form,
.dart-tournament-list-elo-form,
.dart-tournament-elo-toggle-form{
    display:inline-flex;
    margin:0;
}
.dart-tournament-master-elo-button,
.dart-tournament-elo-toggle{
    border:1px solid transparent;
    box-shadow:none;
    white-space:nowrap;
}
.dart-tournament-master-elo-button.is-excluded,
.dart-tournament-elo-toggle.is-excluded{
    background:#222126;
    color:#fff;
    border-color:#222126;
}
.dart-tournament-master-elo-button.is-excluded:hover,
.dart-tournament-elo-toggle.is-excluded:hover{
    background:#0f0f12;
    color:#fff;
}
.dart-tournament-master-elo-button.is-included,
.dart-tournament-elo-toggle.is-included{
    background:#c73543;
    color:#fff;
    border-color:#c73543;
}
.dart-tournament-master-elo-button.is-included:hover,
.dart-tournament-elo-toggle.is-included:hover{
    background:#a92331;
    color:#fff;
}
.dart-tournament-match-action .dart-tournament-elo-toggle-form{
    width:100%;
}
.dart-tournament-match-action .dart-tournament-elo-toggle{
    width:100%;
}
.dart-tournament-list-elo-form{
    align-self:flex-end;
}
@media(max-width:700px){
    .dart-tournament-master-elo-button,
    .dart-tournament-elo-toggle{
        width:100%;
    }
    .dart-tournament-list-elo-form{
        width:100%;
    }
}


/* V150 – Vereinsstatistiken ohne Abkürzungslegende und nur mit Volltexten. */
.club-stat-section .club-stat-legend,
.club-stat-section .club-stat-abbreviations{
    display:none!important;
}
.club-stat-table .club-stat-label-short,
.club-stat-table .is-short-label{
    display:none!important;
}
.club-stat-table .club-stat-heading-text{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    white-space:nowrap!important;
}


/* V151: automatische Schreiber-Einteilung bei Steeldart-Turnieren */
.dart-tournament-scorer-settings select:disabled { opacity: .58; cursor: not-allowed; }
.dart-tournament-match-scorer { display: block; margin-top: .28rem; font-size: .78rem; line-height: 1.25; color: var(--muted, #6f6a72); }
.dart-tournament-match-scorer strong { color: var(--text, #22202a); }
.tournament-board-scorer { display: block; margin-top: .35rem; }

/* V152: ausgerichtete Turniererstellung und Spielersuche */
.dart-tournament-create-page .dart-tournament-basic-fields.dart-tournament-basic-table{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    align-items:stretch;
    gap:14px;
    margin-bottom:20px;
}
.dart-tournament-basic-field{
    display:grid;
    grid-template-rows:minmax(2.9em,auto) auto minmax(0,1fr);
    align-content:start;
    gap:7px;
    min-width:0;
}
.dart-tournament-basic-field>label{
    display:flex;
    align-items:flex-end;
    margin:0;
    font-weight:850;
    line-height:1.3;
}
.dart-tournament-basic-field>input,
.dart-tournament-basic-field>select{
    width:100%;
    min-width:0;
    height:52px;
    min-height:52px;
    margin:0;
}
.dart-tournament-basic-field>small{
    display:block;
    min-height:4.1em;
    margin:0;
    color:var(--muted);
    line-height:1.4;
}
.dart-tournament-create-page .darts-game-options-tournament{
    display:grid;
    grid-template-columns:repeat(6,minmax(135px,1fr));
    align-items:start;
    gap:12px;
}
.dart-tournament-create-page .darts-game-options-tournament>label{
    display:grid;
    grid-template-rows:minmax(2.7em,auto) auto;
    align-content:start;
    gap:6px;
    min-width:0;
    margin:0;
}
.dart-tournament-create-page .darts-game-options-tournament>label>select,
.dart-tournament-create-page .darts-game-options-tournament>label>input{
    height:52px;
    min-height:52px;
}
.dart-tournament-player-selection{
    display:grid;
    gap:8px;
}
.dart-tournament-player-search,
.dart-tournament-player-selection>select{
    width:100%;
    min-width:0;
    margin:0;
}
.dart-tournament-player-search-hint{
    display:block;
    min-height:1.3em;
    margin:0;
    color:var(--muted);
    font-size:.72rem;
    line-height:1.3;
}
.dart-tournament-player-picker .dart-tournament-player-selection+[data-tournament-guest-wrap]{
    margin-top:10px;
}
.dart-tournament-player-head-actions{
    margin-left:auto;
}
@media(max-width:1100px){
    .dart-tournament-create-page .darts-game-options-tournament{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}
@media(max-width:900px){
    .dart-tournament-create-page .dart-tournament-basic-fields.dart-tournament-basic-table{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:700px){
    .dart-tournament-create-page .darts-game-options-tournament{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:560px){
    .dart-tournament-create-page .dart-tournament-basic-fields.dart-tournament-basic-table,
    .dart-tournament-create-page .darts-game-options-tournament{
        grid-template-columns:1fr;
    }
    .dart-tournament-basic-field{
        grid-template-rows:auto auto auto;
    }
    .dart-tournament-basic-field>small{
        min-height:0;
    }
}

/* V153 – Board-Checkbox und dynamische OOM-Punkte passend zum Turniermodus. */
.dart-tournament-board-option{
    display:grid;
    align-content:start;
    gap:5px;
    min-width:0
}
.dart-tournament-board-title{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:flex-start;
    gap:10px;
    width:max-content;
    max-width:100%;
    margin:0!important;
    cursor:pointer
}
.dart-tournament-board-title>strong{
    display:inline-block
}
.dart-tournament-board-title>input[type="checkbox"]{
    flex:0 0 auto;
    width:18px!important;
    height:18px!important;
    min-height:0!important;
    margin:0!important;
    accent-color:var(--primary)
}
.dart-tournament-dynamic-points-grid{
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr))
}
.dart-tournament-dynamic-points-grid label{
    display:grid;
    align-content:start;
    gap:7px
}
.dart-tournament-dynamic-points-grid label>span{
    min-height:2.5em;
    line-height:1.25
}
.dart-tournament-dynamic-points-grid label>small{
    margin:0;
    min-height:2.6em;
    line-height:1.3
}
.dart-tournament-oom-scoring-description{
    margin:-6px 0 14px
}
@media(max-width:700px){
    .dart-tournament-board-management{
        grid-template-columns:1fr
    }
    .dart-tournament-dynamic-points-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}
@media(max-width:440px){
    .dart-tournament-dynamic-points-grid{
        grid-template-columns:1fr
    }
}

/* V154 – X01-Eingabe und Tablet-Querformat stabilisieren. */

/* Leganzahl und letzte Aufnahme bleiben unabhängig von aktiver Karte und Vereinsfarbe schwarz. */
body.darts-game-active .darts-counter .darts-score-card .darts-legs strong,
body.darts-game-active .darts-counter .darts-score-card .darts-last-visit strong,
body.online-x01-active .darts-score-card .darts-legs strong,
body.online-x01-active .darts-score-card .darts-last-visit strong,
body.online-local-game-active .darts-score-card .darts-legs strong,
body.online-local-game-active .darts-score-card .darts-last-visit strong{
    color:#000!important;
    -webkit-text-fill-color:#000!important;
    opacity:1!important;
    text-shadow:none!important
}

/* Die Schnellscore-Felder erhalten auf allen Geräten mehr Höhe und Trefferfläche. */
body.darts-game-active.darts-x01-active:not(.darts-match-complete)
.darts-counter .darts-quick-scores:not([hidden]),
body.online-x01-active:not(.darts-match-complete)
.darts-quick-scores:not([hidden]){
    min-height:42px!important;
    max-height:none!important;
    grid-auto-rows:minmax(42px,1fr)!important;
    margin:0!important
}
body.darts-game-active.darts-x01-active:not(.darts-match-complete)
.darts-counter .darts-quick-scores button,
body.online-x01-active:not(.darts-match-complete)
.darts-quick-scores button{
    min-height:42px!important;
    height:100%!important;
    padding:7px 3px!important;
    line-height:1!important
}

/* X01: Restscore steht links in derselben Abschlusszeile wie C, 0 und Löschen. */
body.darts-game-active.darts-x01-active:not(.darts-match-complete)
.darts-counter .darts-keypad,
body.online-x01-active:not(.darts-match-complete)
.darts-keypad{
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    grid-template-rows:repeat(4,minmax(0,1fr))!important
}
body.darts-game-active.darts-x01-active:not(.darts-match-complete)
.darts-counter .darts-keypad>button:nth-child(-n+9),
body.online-x01-active:not(.darts-match-complete)
.darts-keypad>button:nth-child(-n+9){
    grid-column:span 4!important;
    font-size:clamp(1rem,2.1vw,1.45rem)!important
}
body.darts-game-active.darts-x01-active:not(.darts-match-complete)
.darts-counter .darts-keypad>.darts-rest-score-button,
body.darts-game-active.darts-x01-active:not(.darts-match-complete)
.darts-counter .darts-keypad>button:nth-child(n+11),
body.online-x01-active:not(.darts-match-complete)
.darts-keypad>.darts-rest-score-button,
body.online-x01-active:not(.darts-match-complete)
.darts-keypad>button:nth-child(n+11){
    grid-column:span 3!important;
    min-width:0!important
}
body.darts-game-active.darts-x01-active:not(.darts-match-complete)
.darts-counter .darts-rest-score-button,
body.online-x01-active:not(.darts-match-complete)
.darts-rest-score-button{
    min-height:0!important;
    padding:3px!important;
    font-size:clamp(.68rem,1.35vw,.94rem)!important;
    line-height:1.05!important
}

/* Sehr flache Querformat-Handys: Schnellscore größer, Ziffern aber bewusst etwas kleiner. */
@media(orientation:landscape) and (max-width:1000px) and (max-height:600px){
    body.darts-game-active.darts-x01-active:not(.darts-match-complete)
    .darts-counter .darts-turn-panel>.darts-score-entry,
    body.online-x01-active:not(.darts-match-complete)
    .darts-turn-panel>.darts-score-entry{
        grid-template-rows:
            auto
            minmax(42px,.56fr)
            minmax(36px,.42fr)
            minmax(0,5.15fr)
            minmax(34px,.42fr)
            auto!important
    }
    body.darts-game-active.darts-x01-active:not(.darts-match-complete)
    .darts-counter .darts-quick-scores:not([hidden]),
    body.online-x01-active:not(.darts-match-complete)
    .darts-quick-scores:not([hidden]){
        min-height:36px!important;
        max-height:42px!important;
        grid-auto-rows:minmax(36px,1fr)!important
    }
    body.darts-game-active.darts-x01-active:not(.darts-match-complete)
    .darts-counter .darts-quick-scores button,
    body.online-x01-active:not(.darts-match-complete)
    .darts-quick-scores button{
        min-height:36px!important;
        padding:4px 2px!important
    }
    body.darts-game-active.darts-x01-active:not(.darts-match-complete)
    .darts-counter .darts-keypad>button:nth-child(-n+9),
    body.online-x01-active:not(.darts-match-complete)
    .darts-keypad>button:nth-child(-n+9){
        font-size:clamp(1rem,4.5vh,1.5rem)!important
    }
}

/*
 * Tablet im Querformat: nur Touch-Geräte ab Tabletbreite.
 * Die Matchabschlusskarte belegt die gesamte nutzbare Fläche, ohne die
 * zweispaltige Spielansicht aus dem laufenden Match zu übernehmen.
 */
@media(orientation:landscape) and (min-width:700px) and (hover:none),
       (orientation:landscape) and (min-width:700px) and (pointer:coarse){
    body.darts-game-active.darts-match-complete .darts-scoreboard,
    body.darts-game-active.darts-match-complete .darts-turn-panel,
    body.darts-game-active.darts-match-complete .darts-winner-panel,
    body.darts-game-active.darts-match-complete .darts-history-panel,
    body.darts-game-active.darts-match-complete .darts-rules-note,
    body.darts-game-active.darts-match-complete .darts-game-toolbar{
        display:none!important
    }

    body.darts-game-active.darts-match-complete .darts-counter-page,
    body.darts-game-active.darts-match-complete .darts-counter-page>.container,
    body.darts-game-active.darts-match-complete .darts-counter,
    body.darts-game-active.darts-match-complete .darts-game{
        width:100%!important;
        max-width:none!important;
        height:100dvh!important;
        min-height:0!important;
        margin:0!important;
        padding:0!important;
        overflow:hidden!important
    }

    body.darts-game-active.darts-match-complete .darts-game{
        display:block!important
    }

    body.darts-game-active.darts-match-complete .darts-match-summary,
    body.darts-game-active.darts-match-complete .darts-match-summary:not([hidden]){
        position:fixed!important;
        inset:6px!important;
        z-index:2147483500!important;
        display:grid!important;
        grid-template-rows:auto minmax(0,1fr) auto auto!important;
        width:auto!important;
        max-width:none!important;
        height:auto!important;
        min-width:0!important;
        min-height:0!important;
        margin:0!important;
        overflow:hidden!important
    }
}

/* V155 – höhere Schnell-/Funktionstasten und stabile vierteilige Restscore-Zeile. */

/* Legs und letzte Aufnahme sind in aktiven sowie inaktiven Spielerkarten immer schwarz. */
body.darts-game-active .darts-counter .darts-score-card .darts-legs,
body.darts-game-active .darts-counter .darts-score-card .darts-legs span,
body.darts-game-active .darts-counter .darts-score-card .darts-legs strong,
body.darts-game-active .darts-counter .darts-score-card .darts-last-visit,
body.darts-game-active .darts-counter .darts-score-card .darts-last-visit span,
body.darts-game-active .darts-counter .darts-score-card .darts-last-visit strong,
body.online-x01-active .darts-score-card .darts-legs,
body.online-x01-active .darts-score-card .darts-legs span,
body.online-x01-active .darts-score-card .darts-legs strong,
body.online-x01-active .darts-score-card .darts-last-visit,
body.online-x01-active .darts-score-card .darts-last-visit span,
body.online-x01-active .darts-score-card .darts-last-visit strong,
body.online-local-game-active .darts-score-card .darts-legs,
body.online-local-game-active .darts-score-card .darts-legs span,
body.online-local-game-active .darts-score-card .darts-legs strong,
body.online-local-game-active .darts-score-card .darts-last-visit,
body.online-local-game-active .darts-score-card .darts-last-visit span,
body.online-local-game-active .darts-score-card .darts-last-visit strong{
    color:#000!important;
    -webkit-text-fill-color:#000!important;
    opacity:1!important;
    text-shadow:none!important
}

/* Die Funktionszeile ist ein eigener Rasterbereich: Restscore, C, 0 und Löschen. */
.darts-keypad>.darts-keypad-function-row{
    grid-column:1/-1!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:clamp(5px,.65vw,9px);
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:50px!important
}
.darts-keypad>.darts-keypad-function-row.is-three-buttons,
.darts-counter.is-split-score .darts-keypad>.darts-keypad-function-row,
.online-game-page.is-split-score-local-ui .darts-keypad>.darts-keypad-function-row{
    grid-template-columns:repeat(3,minmax(0,1fr))!important
}
.darts-keypad>.darts-keypad-function-row>button:not([hidden]),
.darts-keypad>.darts-keypad-function-row>.darts-rest-score-button:not([hidden]){
    grid-column:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:50px!important;
    margin:0!important;
    padding:8px 4px!important;
    border-radius:10px!important;
    font-size:clamp(.78rem,1.45vw,1.08rem)!important;
    line-height:1!important;
    letter-spacing:0!important;
    white-space:nowrap
}
.darts-keypad>.darts-keypad-function-row>button[hidden]{
    display:none!important
}

/* Jede normale Zahlentastatur besteht jetzt nur noch aus drei Zahlenreihen und der Funktionszeile. */
.darts-keypad{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-rows:
        repeat(3,minmax(0,1fr))
        minmax(50px,.72fr)!important
}

/* X01-Zahlentastatur: drei etwas flachere Zahlenreihen plus hohe Funktionszeile. */
body.darts-game-active.darts-x01-active:not(.darts-match-complete)
.darts-counter .darts-keypad,
body.online-x01-active:not(.darts-match-complete)
.darts-keypad{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-rows:
        repeat(3,minmax(0,.92fr))
        minmax(50px,.72fr)!important;
    gap:clamp(5px,.65vw,9px)!important
}
body.darts-game-active.darts-x01-active:not(.darts-match-complete)
.darts-counter .darts-keypad>button:nth-child(-n+9),
body.online-x01-active:not(.darts-match-complete)
.darts-keypad>button:nth-child(-n+9){
    min-height:0!important;
    height:100%!important;
    padding:2px!important;
    font-size:clamp(1rem,2.7vw,1.7rem)!important
}

/* Schnellwerte erhalten auf allen Geräten eine klar höhere Trefferfläche. */
body.darts-game-active.darts-x01-active:not(.darts-match-complete)
.darts-counter .darts-quick-scores:not([hidden]),
body.online-x01-active:not(.darts-match-complete)
.darts-quick-scores:not([hidden]){
    min-height:52px!important;
    max-height:none!important;
    grid-auto-rows:minmax(52px,1fr)!important;
    margin:0!important
}
body.darts-game-active.darts-x01-active:not(.darts-match-complete)
.darts-counter .darts-quick-scores button,
body.online-x01-active:not(.darts-match-complete)
.darts-quick-scores button{
    min-height:52px!important;
    height:100%!important;
    padding:9px 4px!important;
    font-size:clamp(.76rem,1.45vw,1.02rem)!important;
    line-height:1!important
}

/* Check, No Score und Score übernehmen werden ebenfalls höher. */
body.darts-game-active.darts-x01-active:not(.darts-match-complete)
.darts-counter .darts-submit-actions,
body.online-x01-active:not(.darts-match-complete)
.darts-submit-actions{
    min-height:60px!important;
    gap:clamp(5px,.65vw,9px)!important
}
body.darts-game-active.darts-x01-active:not(.darts-match-complete)
.darts-counter .darts-submit-actions .button,
body.online-x01-active:not(.darts-match-complete)
.darts-submit-actions .button{
    min-height:60px!important;
    height:100%!important;
    padding:9px 7px!important;
    line-height:1.05!important
}

/* Tablet im Querformat: Höhe gezielt von 1–9 zu Schnell- und Funktionstasten verschieben. */
@media(orientation:landscape) and (min-width:700px) and (max-width:1400px) and (min-height:500px) and (max-height:1000px){
    body.darts-game-active.darts-x01-active:not(.darts-match-complete)
    .darts-counter .darts-turn-panel>.darts-score-entry,
    body.online-x01-active:not(.darts-match-complete)
    .darts-turn-panel>.darts-score-entry{
        grid-template-rows:
            auto
            minmax(58px,.66fr)
            minmax(58px,.72fr)
            minmax(0,2.9fr)
            minmax(64px,.74fr)
            auto!important;
        gap:7px!important
    }
    body.darts-game-active.darts-x01-active:not(.darts-match-complete)
    .darts-counter .darts-quick-scores:not([hidden]),
    body.online-x01-active:not(.darts-match-complete)
    .darts-quick-scores:not([hidden]){
        grid-template-columns:repeat(6,minmax(0,1fr))!important;
        grid-template-rows:minmax(58px,1fr)!important;
        min-height:58px!important
    }
    body.darts-game-active.darts-x01-active:not(.darts-match-complete)
    .darts-counter .darts-quick-scores button,
    body.online-x01-active:not(.darts-match-complete)
    .darts-quick-scores button{
        min-height:58px!important;
        padding:10px 3px!important
    }
    body.darts-game-active.darts-x01-active:not(.darts-match-complete)
    .darts-counter .darts-keypad,
    body.online-x01-active:not(.darts-match-complete)
    .darts-keypad{
        grid-template-rows:
            repeat(3,minmax(0,.86fr))
            minmax(58px,.72fr)!important
    }
    .darts-keypad>.darts-keypad-function-row,
    .darts-keypad>.darts-keypad-function-row>button,
    .darts-keypad>.darts-keypad-function-row>.darts-rest-score-button{
        min-height:58px!important
    }
    body.darts-game-active.darts-x01-active:not(.darts-match-complete)
    .darts-counter .darts-submit-actions,
    body.darts-game-active.darts-x01-active:not(.darts-match-complete)
    .darts-counter .darts-submit-actions .button,
    body.online-x01-active:not(.darts-match-complete)
    .darts-submit-actions,
    body.online-x01-active:not(.darts-match-complete)
    .darts-submit-actions .button{
        min-height:64px!important
    }
}

/* Handy im Querformat: trotz knapper Höhe bleiben die wichtigen Reihen gut treffbar. */
@media(orientation:landscape) and (max-height:499px){
    body.darts-game-active.darts-x01-active:not(.darts-match-complete)
    .darts-counter .darts-turn-panel>.darts-score-entry,
    body.online-x01-active:not(.darts-match-complete)
    .darts-turn-panel>.darts-score-entry{
        grid-template-rows:
            auto
            minmax(42px,.52fr)
            minmax(36px,.48fr)
            minmax(0,2.65fr)
            minmax(42px,.56fr)
            auto!important
    }
    body.darts-game-active.darts-x01-active:not(.darts-match-complete)
    .darts-counter .darts-quick-scores:not([hidden]),
    body.online-x01-active:not(.darts-match-complete)
    .darts-quick-scores:not([hidden]),
    body.darts-game-active.darts-x01-active:not(.darts-match-complete)
    .darts-counter .darts-quick-scores button,
    body.online-x01-active:not(.darts-match-complete)
    .darts-quick-scores button{
        min-height:36px!important;
        max-height:none!important
    }
    body.darts-game-active.darts-x01-active:not(.darts-match-complete)
    .darts-counter .darts-keypad,
    body.online-x01-active:not(.darts-match-complete)
    .darts-keypad{
        grid-template-rows:
            repeat(3,minmax(0,.82fr))
            minmax(36px,.7fr)!important
    }
    .darts-keypad>.darts-keypad-function-row,
    .darts-keypad>.darts-keypad-function-row>button,
    .darts-keypad>.darts-keypad-function-row>.darts-rest-score-button{
        min-height:36px!important;
        padding:4px 2px!important;
        font-size:.7rem!important
    }
    body.darts-game-active.darts-x01-active:not(.darts-match-complete)
    .darts-counter .darts-submit-actions,
    body.darts-game-active.darts-x01-active:not(.darts-match-complete)
    .darts-counter .darts-submit-actions .button,
    body.online-x01-active:not(.darts-match-complete)
    .darts-submit-actions,
    body.online-x01-active:not(.darts-match-complete)
    .darts-submit-actions .button{
        min-height:42px!important
    }
    body.darts-game-active.darts-x01-active:not(.darts-match-complete)
    .darts-counter .darts-keypad>button:nth-child(-n+9),
    body.online-x01-active:not(.darts-match-complete)
    .darts-keypad>button:nth-child(-n+9){
        font-size:clamp(.9rem,4.2vh,1.35rem)!important
    }
}

/* Hochformat-Handys und Tablets: dieselben Prioritäten ohne Änderung der Grundaufteilung. */
@media(orientation:portrait) and (max-width:900px){
    body.darts-game-active.darts-x01-active:not(.darts-match-complete)
    .darts-counter .darts-turn-panel>.darts-score-entry,
    body.online-x01-active:not(.darts-match-complete)
    .darts-turn-panel>.darts-score-entry{
        grid-template-rows:
            auto
            minmax(56px,7.5dvh)
            minmax(52px,7dvh)
            minmax(0,1fr)
            minmax(56px,7.5dvh)
            auto!important
    }
    body.darts-game-active.darts-x01-active:not(.darts-match-complete)
    .darts-counter .darts-quick-scores:not([hidden]),
    body.online-x01-active:not(.darts-match-complete)
    .darts-quick-scores:not([hidden]),
    body.darts-game-active.darts-x01-active:not(.darts-match-complete)
    .darts-counter .darts-quick-scores button,
    body.online-x01-active:not(.darts-match-complete)
    .darts-quick-scores button{
        min-height:52px!important
    }
    .darts-keypad>.darts-keypad-function-row,
    .darts-keypad>.darts-keypad-function-row>button,
    .darts-keypad>.darts-keypad-function-row>.darts-rest-score-button{
        min-height:50px!important
    }
    body.darts-game-active.darts-x01-active:not(.darts-match-complete)
    .darts-counter .darts-submit-actions .button,
    body.online-x01-active:not(.darts-match-complete)
    .darts-submit-actions .button{
        min-height:56px!important
    }
}


/* V156 – Zifferntasten 1 bis 9 wieder sicher als 3 × 3 Raster darstellen. */
body.darts-game-active.darts-x01-active:not(.darts-match-complete)
.darts-counter .darts-keypad,
body.online-x01-active:not(.darts-match-complete)
.darts-keypad{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-rows:
        repeat(3,minmax(0,.92fr))
        minmax(50px,.72fr)!important;
    grid-auto-flow:row!important
}

/* V154 hatte die Zifferntasten für ein 12-Spalten-Raster auf span 4 gesetzt.
   Diese Platzierung wird hier ausdrücklich zurückgesetzt. */
body.darts-game-active.darts-x01-active:not(.darts-match-complete)
.darts-counter .darts-keypad>button[data-darts-digit]:not([data-darts-digit="0"]),
body.online-x01-active:not(.darts-match-complete)
.darts-keypad>button[data-darts-digit]:not([data-darts-digit="0"]){
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    min-width:0!important
}

body.darts-game-active.darts-x01-active:not(.darts-match-complete)
.darts-counter .darts-keypad>.darts-keypad-function-row,
body.online-x01-active:not(.darts-match-complete)
.darts-keypad>.darts-keypad-function-row{
    grid-column:1/-1!important;
    grid-row:4!important
}

/* V157 – Spielersuche auch bei normalen Dartspielen wiederhergestellt. */
.darts-player-selection{
    display:grid;
    gap:8px;
    min-width:0;
}
.darts-player-search,
.darts-player-selection>select{
    width:100%;
    min-width:0;
    margin:0;
}
.darts-player-search-hint{
    display:block;
    min-height:1.3em;
    margin:0;
    color:var(--muted);
    font-size:.72rem;
    line-height:1.3;
}

/* V158 – X01-Eingabe neu geordnet, letzte Aufnahme wiederholen und Matchende auf Tablets vollständig sichtbar. */

/* „Letzte Aufnahme“ ist nun eine echte Schaltfläche. Nur die aktive Karte mit vorhandenem Wert ist klickbar. */
body.darts-game-active .darts-counter .darts-last-visit{
    width:100%;
    min-width:0;
    margin:0;
    font:inherit;
    color:#000!important;
    -webkit-text-fill-color:#000!important;
    appearance:none;
    -webkit-appearance:none;
    opacity:1!important
}
body.darts-game-active .darts-counter .darts-last-visit span,
body.darts-game-active .darts-counter .darts-last-visit strong,
body.darts-game-active .darts-counter .darts-last-visit small{
    color:#000!important;
    -webkit-text-fill-color:#000!important
}
body.darts-game-active .darts-counter .darts-last-visit small{
    display:block;
    max-width:15em;
    margin-top:5px;
    font-size:clamp(.42rem,.72vw,.58rem);
    font-weight:750;
    line-height:1.15;
    text-align:center
}
body.darts-game-active .darts-counter .darts-last-visit:disabled{
    cursor:default;
    opacity:1!important
}
body.darts-game-active .darts-counter .darts-last-visit.is-repeatable{
    cursor:pointer;
    border-color:rgba(var(--primary-rgb),.52)!important;
    box-shadow:inset 0 0 0 2px rgba(var(--primary-rgb),.08)
}
body.darts-game-active .darts-counter .darts-last-visit.is-repeatable:hover,
body.darts-game-active .darts-counter .darts-last-visit.is-repeatable:focus-visible{
    outline:2px solid rgba(var(--primary-rgb),.36);
    outline-offset:2px
}

/* Direkt unter 1–9 stehen nur noch C, 0 und Löschen als gleich breite Dreierzeile. */
body.darts-game-active:not(.darts-match-complete)
.darts-counter .darts-keypad>.darts-keypad-function-row{
    grid-template-columns:repeat(3,minmax(0,1fr))!important
}
body.darts-game-active:not(.darts-match-complete)
.darts-counter .darts-keypad>.darts-keypad-function-row>button:not([hidden]){
    grid-column:auto!important;
    min-width:0!important
}

/* X01-Abschlusszeile: Check, Restscore, No Score und Score übernehmen. */
body.darts-game-active.darts-x01-active:not(.darts-match-complete)
.darts-counter .darts-submit-actions{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:clamp(5px,.65vw,9px)!important;
    margin:0!important
}
body.darts-game-active.darts-x01-active:not(.darts-match-complete)
.darts-counter .darts-submit-actions>.button,
body.darts-game-active.darts-x01-active:not(.darts-match-complete)
.darts-counter .darts-submit-actions>.darts-rest-score-button{
    grid-column:auto!important;
    width:100%!important;
    min-width:0!important;
    min-height:60px!important;
    height:100%!important;
    margin:0!important;
    padding:8px 5px!important;
    font-size:clamp(.78rem,1.25vw,1rem)!important;
    font-weight:850!important;
    line-height:1.08!important;
    letter-spacing:0!important;
    white-space:normal!important
}
body.darts-game-active.darts-x01-active:not(.darts-match-complete)
.darts-counter .darts-submit-actions>.darts-rest-score-button{
    border:1px solid var(--border)!important;
    border-radius:var(--button-radius,12px)!important;
    background:var(--darts-neutral)!important;
    color:var(--text)!important;
    -webkit-text-fill-color:var(--text)!important;
    box-shadow:none!important
}

/* Split Score behält trotz des verschobenen Restscore-Buttons seine kompakte Zweierzeile. */
body.darts-game-active.darts-split-score-active:not(.darts-match-complete)
.darts-counter .darts-submit-actions{
    grid-template-columns:repeat(2,minmax(0,1fr))!important
}

@media(orientation:portrait) and (max-width:700px){
    body.darts-game-active.darts-x01-active:not(.darts-match-complete)
    .darts-counter .darts-submit-actions>.button,
    body.darts-game-active.darts-x01-active:not(.darts-match-complete)
    .darts-counter .darts-submit-actions>.darts-rest-score-button{
        min-height:54px!important;
        padding:6px 3px!important;
        font-size:clamp(.64rem,2.7vw,.82rem)!important
    }
    body.darts-game-active .darts-counter .darts-last-visit small{
        margin-top:3px;
        font-size:.4rem
    }
}

/* Tablet-Querformat: Statistik, Speicherstatus und beide Folgeaktionen passen gleichzeitig in den Bildschirm. */
@media(orientation:landscape) and (min-width:700px) and (max-width:1400px) and (min-height:500px) and (max-height:1000px) and (hover:none),
       (orientation:landscape) and (min-width:700px) and (max-width:1400px) and (min-height:500px) and (max-height:1000px) and (pointer:coarse){
    body.darts-game-active.darts-match-complete
    .darts-match-summary,
    body.darts-game-active.darts-match-complete
    .darts-match-summary:not([hidden]){
        display:grid!important;
        grid-template-columns:minmax(0,1fr) minmax(300px,.72fr)!important;
        grid-template-rows:auto minmax(0,1fr) auto!important;
        grid-template-areas:
            "summary-head summary-head"
            "summary-stats summary-stats"
            "summary-status summary-actions"!important;
        gap:6px 9px!important;
        padding:9px!important;
        overflow:hidden!important
    }

    body.darts-game-active.darts-match-complete
    .darts-match-summary-head{
        grid-area:summary-head!important;
        min-width:0!important;
        margin:0!important
    }
    body.darts-game-active.darts-match-complete
    .darts-match-summary-head .eyebrow{
        font-size:.62rem!important
    }
    body.darts-game-active.darts-match-complete
    .darts-match-summary-head h2{
        margin:2px 0 3px!important;
        font-size:clamp(1.45rem,3.1vw,2.35rem)!important;
        line-height:1!important
    }
    body.darts-game-active.darts-match-complete
    .darts-match-summary-head p{
        font-size:clamp(.63rem,1.05vw,.78rem)!important;
        line-height:1.15!important
    }
    body.darts-game-active.darts-match-complete
    .darts-match-duration{
        min-width:106px!important;
        padding:7px 10px!important
    }
    body.darts-game-active.darts-match-complete
    .darts-match-duration span{
        font-size:.58rem!important
    }
    body.darts-game-active.darts-match-complete
    .darts-match-duration strong{
        font-size:1rem!important
    }

    body.darts-game-active.darts-match-complete
    .darts-final-stat-grid{
        grid-area:summary-stats!important;
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        width:100%!important;
        height:100%!important;
        min-width:0!important;
        min-height:0!important;
        gap:8px!important;
        overflow:hidden!important
    }
    body.darts-game-active.darts-match-complete
    .darts-final-player-card{
        display:grid!important;
        grid-template-rows:auto minmax(0,1fr)!important;
        height:100%!important;
        min-width:0!important;
        min-height:0!important;
        padding:8px!important;
        border-radius:12px!important;
        overflow:hidden!important;
        box-shadow:none!important
    }
    body.darts-game-active.darts-match-complete
    .darts-final-player-head{
        align-items:center!important;
        gap:7px!important;
        padding-bottom:5px!important
    }
    body.darts-game-active.darts-match-complete
    .darts-final-player-head .eyebrow{
        font-size:.55rem!important
    }
    body.darts-game-active.darts-match-complete
    .darts-final-player-head h3{
        margin:1px 0 0!important;
        font-size:.88rem!important;
        line-height:1.05!important
    }
    body.darts-game-active.darts-match-complete
    .darts-final-leg-score{
        padding:4px 7px!important;
        font-size:.64rem!important
    }
    body.darts-game-active.darts-match-complete
    .darts-final-stat-list{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        grid-template-rows:repeat(6,minmax(0,1fr))!important;
        align-content:stretch!important;
        width:100%!important;
        height:100%!important;
        min-width:0!important;
        min-height:0!important;
        margin:3px 0 0!important;
        gap:0 10px!important;
        overflow:hidden!important
    }
    body.darts-game-active.darts-match-complete
    .darts-final-stat-list>div{
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        min-width:0!important;
        min-height:0!important;
        gap:5px!important;
        padding:2px 0!important;
        font-size:clamp(.55rem,.82vw,.68rem)!important;
        line-height:1.05!important
    }
    body.darts-game-active.darts-match-complete
    .darts-final-stat-list dt{
        overflow:hidden!important;
        text-overflow:ellipsis!important;
        white-space:nowrap!important
    }
    body.darts-game-active.darts-match-complete
    .darts-final-stat-list dd{
        flex:0 0 auto!important;
        font-size:clamp(.57rem,.86vw,.7rem)!important
    }

    body.darts-game-active.darts-match-complete
    .darts-history-save-status{
        position:static!important;
        inset:auto!important;
        grid-area:summary-status!important;
        display:flex!important;
        align-items:center!important;
        justify-content:flex-start!important;
        min-width:0!important;
        min-height:40px!important;
        margin:0!important;
        padding:5px 7px!important;
        gap:5px!important;
        overflow:hidden!important;
        transform:none!important;
        z-index:auto!important;
        font-size:.58rem!important;
        line-height:1.05!important
    }
    body.darts-game-active.darts-match-complete
    .darts-history-save-status>span{
        min-width:0!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
        white-space:nowrap!important
    }
    body.darts-game-active.darts-match-complete
    .darts-history-save-status .button{
        flex:0 0 auto!important;
        min-width:0!important;
        min-height:30px!important;
        padding:4px 7px!important;
        font-size:.57rem!important
    }

    body.darts-game-active.darts-match-complete
    .darts-match-summary-actions{
        grid-area:summary-actions!important;
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        align-self:stretch!important;
        min-width:300px!important;
        margin:0!important;
        gap:7px!important
    }
    body.darts-game-active.darts-match-complete
    .darts-match-summary-actions .button{
        width:100%!important;
        min-width:0!important;
        min-height:40px!important;
        padding:6px 8px!important;
        font-size:.72rem!important
    }
}
