:root{--navy:#13314b;--navy-2:#1d4a70;--red:#d63f42;--ink:#16293a;--muted:#5a6b7c;--line:#d9e1e9;--soft:#eef2f6;--card:#fff;--ok:#1f7a4d;--ok-bg:#e6f4ec;--warn:#8a5a00;--warn-bg:#fff4dc;--err:#b42d30;--err-bg:#fdecec;--radius:10px;
 font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--soft);line-height:1.5;-webkit-text-size-adjust:100%}
*{box-sizing:border-box}body{margin:0;min-height:100vh}[hidden]{display:none!important}
a{color:var(--navy-2)}a:hover{color:var(--navy)}
.top{background:var(--navy);color:#fff}
.top-in{max-width:1120px;margin:auto;padding:10px 16px;display:flex;align-items:center;gap:14px;min-height:58px}
.top a.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;min-width:0}
.top a.brand img{height:42px;width:auto;display:block}
.top .club-logo{height:38px;width:auto;max-width:120px;object-fit:contain;border-radius:6px;background:#fff;padding:3px}
.club-hero-logo{display:block;max-height:90px;max-width:260px;margin:4px 0 10px;object-fit:contain}
.top .title{font-weight:650;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top nav{margin-left:auto;display:flex;gap:4px;flex-wrap:wrap}
.top nav a{color:#dfe8f1;text-decoration:none;font-size:14px;padding:7px 10px;border-radius:8px}
.top nav a:hover,.top nav a[aria-current]{background:#ffffff1f;color:#fff}
main{max-width:1120px;margin:auto;padding:22px 16px 40px}
h1{font-size:clamp(22px,4.2vw,32px);line-height:1.2;margin:4px 0 6px;letter-spacing:-.01em}
h2{font-size:18px;margin:0 0 12px}h3{font-size:15px;margin:0 0 6px}
.eyebrow{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0}
.eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--red)}
.muted{color:var(--muted);font-size:14px}.small{font-size:13px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;margin:16px 0}
.badges{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 0}
.badge{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;padding:4px 10px;border-radius:999px;background:#e8eef4;color:#2a4258}
.badge.live{background:var(--ok-bg);color:var(--ok)}.badge.live:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok)}
.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.off{background:#f1f1f1;color:#666}
label{display:block;font-size:13px;font-weight:600;color:#33475a;margin:0 0 5px}
input,select,textarea,button{font:inherit;font-size:15px}
input,select,textarea{width:100%;min-height:42px;border:1px solid #c7d2dd;border-radius:9px;padding:9px 11px;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid #6f9bc4;outline-offset:1px}
input[type=checkbox]{width:18px;height:18px;min-height:0;padding:0;margin:0;accent-color:var(--navy);flex:0 0 18px}
label.check{display:flex;align-items:center;gap:9px;font-weight:500;font-size:14.5px;color:var(--ink);margin:8px 0}
button,.button{font-size:15px;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:8px 14px;border-radius:9px;border:1px solid var(--navy);background:var(--navy);color:#fff;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap}
button:hover,.button:hover{background:var(--navy-2);color:#fff}
button.secondary,.button.secondary{background:#fff;color:var(--navy);border-color:#c3cfdb}button.secondary:hover,.button.secondary:hover{background:#f2f6fa;color:var(--navy)}
button.danger{background:#fff;color:var(--err);border-color:#e6b8b9}button.danger:hover{background:var(--err-bg)}
button.link{background:none;border:0;color:var(--navy-2);padding:4px 6px;min-height:0;font-weight:600}
button[disabled]{opacity:.55;cursor:not-allowed}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.row>*{flex:1 1 180px;min-width:0}.row>.fit{flex:0 0 auto}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.msg{min-height:0;margin:10px 0;font-size:14.5px}.msg:empty{display:none}
.msg.ok{background:var(--ok-bg);color:var(--ok);padding:10px 12px;border-radius:9px}.msg.err{background:var(--err-bg);color:var(--err);padding:10px 12px;border-radius:9px}
.empty{color:var(--muted);padding:18px;text-align:center;border:1px dashed #c9d4df;border-radius:12px;background:#fafcfe}
.list{display:grid;gap:8px}
.item{display:flex;gap:12px;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;text-decoration:none;color:inherit}
a.item:hover{border-color:#9fb4c8;background:#fbfdff}
.item strong{display:block;font-size:15.5px}.item .muted{font-size:13px}
.item .go{color:var(--navy-2);font-weight:700;white-space:nowrap}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0}
.tabs button{background:#fff;color:#2c4257;border-color:var(--line);font-weight:600}
.tabs button[aria-selected=true]{background:var(--navy);color:#fff;border-color:var(--navy)}
.tabs .print-btn{margin-left:auto}
/* Rankings */
.controls{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.4fr) minmax(0,1fr);gap:10px;margin:14px 0}
.rank-table{width:100%;border-collapse:collapse;font-size:14.5px;background:#fff}
.rank-table th{position:sticky;top:0;background:#f3f6f9;color:#40576d;font-size:12px;font-weight:700;text-align:left;padding:9px 8px;border-bottom:1px solid var(--line);z-index:1}
.rank-table td{padding:9px 8px;border-bottom:1px solid #edf1f5;vertical-align:top}
/* One line per row: long club or person names are shortened with «…» (full name as tooltip); only column headings may wrap. */
.rank-table td,.group-card td{white-space:nowrap}.rank-table th.num{white-space:normal}
.rank-table td.club{max-width:clamp(120px,24vw,320px);overflow:hidden;text-overflow:ellipsis}
.rank-table td.name,.group-card td.name{max-width:clamp(120px,18vw,260px);overflow:hidden;text-overflow:ellipsis}
.rank-table tr:hover td{background:#fafcfe}
.rank-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.rank-table td.rank{font-weight:700;color:#40576d;width:52px}
.rank-table td.total{font-weight:750}
.rank-table mark,.rank-card mark{background:#ffe9a6;color:inherit;border-radius:3px}
.table-wrap{border:1px solid var(--line);border-radius:12px;overflow:auto;max-width:100%}
.rank-cards{display:none}
.rank-card{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:2px 10px;align-items:center;padding:10px 12px;border-bottom:1px solid #edf1f5;background:#fff}
.rank-card .r{font-weight:750;color:#40576d;font-size:15px;text-align:center}
.rank-card .n{font-weight:650;font-size:15.5px;line-height:1.25}
.rank-card .d{grid-column:2;font-size:13px;color:var(--muted);line-height:1.35}
.rank-card .p{grid-row:1/span 2;grid-column:3;font-weight:800;font-size:18px;font-variant-numeric:tabular-nums}
.group-card{border:1px solid var(--line);border-radius:12px;background:#fff;margin:0 0 10px;overflow:hidden}
.group-card summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:2px 10px;align-items:center;padding:12px 14px}
.group-card summary::-webkit-details-marker{display:none}
.group-card .r{font-weight:800;color:#40576d;font-size:16px;text-align:center}.group-card .n{font-weight:700}.group-card .d{grid-column:2;font-size:13px;color:var(--muted)}
.group-card .p{grid-row:1/span 2;grid-column:3;font-weight:800;font-size:19px}
.group-card table{width:100%;border-collapse:collapse;font-size:14px;border-top:1px solid #edf1f5}
.group-card td,.group-card th{padding:7px 12px;border-bottom:1px solid #f0f3f6;text-align:left}.group-card th{font-size:12px;color:#53687c;background:#f7f9fb}
.member-cards{display:none;border-top:1px solid #edf1f5}
.member-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 10px;padding:8px 14px;border-bottom:1px solid #f0f3f6}
.member-card .n{font-weight:600;grid-column:1;grid-row:1}.member-card .p{grid-row:1/span 2;grid-column:2;font-weight:750;align-self:center}.member-card .d{grid-column:1;grid-row:2;font-size:12.5px;color:var(--muted)}
.more{display:flex;justify-content:center;margin:12px 0}
.footer-note{margin-top:26px;padding-top:14px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
/* Personal */
.shot-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
.shot-face{background:#f6f7f2;border:1px solid #dde3dc;border-radius:12px;padding:12px}.shot-face svg{width:100%;max-height:460px;display:block}
.score{font-size:26px;font-weight:800;margin:4px 0 10px}
.shot-miss-mark{display:inline-block;color:#b91c1c;font-weight:900;font-size:.9em;margin-left:.15em;vertical-align:sub}
.code-input{letter-spacing:.18em;text-transform:uppercase;font-size:18px;font-variant-numeric:tabular-nums}
/* Statistics (online-statistics.js) */
.online-stat-sheet{padding:10px 0;border-top:1px solid #edf1f5}.online-stat-sheet:first-child{border-top:0}
.stat-chart{display:flex;align-items:center;gap:22px}.stat-chart svg{width:230px;max-width:45%;flex-shrink:0}
.stat-legend{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;font-size:13px}.stat-legend>b{grid-column:1/-1}.stat-legend i{display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:2px}
.stat-cards,.stat-weapons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.stat-cards>div,.stat-weapons>div{padding:12px;background:#f1f5f9;border-radius:10px}
.stat-cards strong,.stat-cards b,.stat-cards small,.stat-weapons>*>*{display:block}.stat-cards strong{font-size:22px}.stat-cards .quota{font-size:30px;color:var(--navy)}
.stat-note{font-size:11.5px;color:var(--muted)}.stat-weapons strong{font-size:20px;color:var(--navy)}
.online-stat-sheet table{width:100%;border-collapse:collapse;font-size:13.5px}.online-stat-sheet td,.online-stat-sheet th{padding:7px 6px;border-bottom:1px solid #edf1f5;text-align:left}
/* Embedded on a club website */
body.embedded{background:transparent}body.embedded .top,body.embedded .no-embed{display:none!important}body.embedded main{padding:8px 4px 16px}
/* Narrow windows and narrow website frames: the card list instead of a table that would need sideways scrolling. */
@media(max-width:920px){.rank-table-wrap,.member-table{display:none}.member-cards{display:block}.rank-cards{display:block;border:1px solid var(--line);border-radius:12px;overflow:hidden}}
@media(max-width:720px){
 .controls{grid-template-columns:1fr}
 .top-in{flex-wrap:wrap;gap:4px 10px;padding:8px 12px}.top a.brand img{height:34px}.top nav{margin-left:0;width:100%;flex-wrap:nowrap;overflow-x:auto;gap:2px}
 .top nav a{white-space:nowrap}
 .rank-table-wrap,.member-table{display:none}.member-cards{display:block}.rank-cards{display:block;border:1px solid var(--line);border-radius:12px;overflow:hidden}
 .shot-grid{grid-template-columns:1fr}.top nav a{padding:6px 8px;font-size:13.5px}.top .title{font-size:14px}
 .card{padding:14px;border-radius:12px}.stat-cards,.stat-weapons{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-legend{grid-template-columns:1fr}
 .stat-chart{flex-direction:column;align-items:flex-start}.stat-chart svg{max-width:70%}
}
@media print{
 @page{size:A4;margin:12mm 12mm 14mm;
   @bottom-left{content:"Rangliste erstellt mit STANDKLAR";font:8pt Arial,sans-serif;color:#53687c}
   @bottom-right{content:"Seite " counter(page) " / " counter(pages);font:8pt Arial,sans-serif;color:#53687c}}
 .embed-credit,.footer-note,.eyebrow,#badges{display:none!important}
 body{background:#fff}.top,.controls,.tabs,.no-print,.more,button{display:none!important}
 main{padding:0;max-width:none}.card{border:0;padding:0;margin:0}.rank-cards{display:none!important}.rank-table-wrap,.member-table{display:block!important;border:0}.member-cards{display:none!important}
 .table-wrap{overflow:visible;border:0}.rank-table{font-size:8.5pt;width:100%}.rank-table th{padding:4px 5px;font-size:7.5pt}.rank-table td{padding:3px 5px}.rank-table td.club{max-width:58mm}.rank-table td.name,.group-card td.name{max-width:48mm}.rank-table th{position:static}thead{display:table-header-group}tr{break-inside:avoid}
 .print-head{display:flex!important;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.print-head img{max-height:50px}
}
.print-head{display:none}

.embed-only{display:none}body.embedded .embed-only{display:block}body.embedded .club-hero-logo{display:none!important}body.embedded .eyebrow{text-transform:none;letter-spacing:0;font-size:14px;margin-bottom:6px}body.embedded .eyebrow:before{display:none}body.embedded h1{font-size:24px}.embed-credit{margin:22px 0 0;padding-top:10px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);text-align:right}.embed-credit strong{letter-spacing:.06em;color:var(--ink,#13314b)}
html:has(body.embedded){background:transparent}

/* 0.12.5 */
.count-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.count-row p{margin:0}
.count-row #expandAll{padding:6px 12px;font-size:14px}
