:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--accent:#ec3013;--accent-dark:#ae1800;--accent-soft-bg:#fff2ef;--accent-soft-text:#7c1405;--bg:#eae7e7;--card:#f3f2f2;--text:#201e1d;--muted:#605d5d;--muted-2:#9b9797;--border:#201e1d66;--border-soft:#201e1d26;--danger:#ae1800;--radius:0}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Archivo,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app{max-width:900px;margin:0 auto;padding-bottom:80px}.app-header{z-index:20;background:var(--card);color:var(--text);border-bottom:2px solid var(--border);justify-content:space-between;align-items:center;padding:16px;display:flex;position:sticky;top:0}.app-header h1{letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:800}.help-btn{border:1px solid var(--border);width:20px;height:20px;color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.app-header .me{cursor:pointer;border:1px solid var(--border);color:var(--text);background:0 0;align-items:center;gap:6px;padding:6px 10px;font-size:.75rem;font-weight:800;display:inline-flex}.tabbar{z-index:20;border-top:2px solid var(--border);background:#eae9e9;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar button{color:#7d7979;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:4px;padding:10px 4px 20px;font-size:.62rem;font-weight:600;display:flex}.tabbar button .ico{display:flex}.tabbar button.active{color:var(--accent);font-weight:800}.content{padding:16px}.card{box-shadow:none;border:none;border-bottom:2px solid var(--border);background:0 0;border-radius:0;margin-bottom:4px;padding:14px 0}.card h3{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:0 0 10px;font-size:.65rem;font-weight:800}button.btn{border:1px solid var(--border);cursor:pointer;background:var(--accent);color:var(--card);border-color:var(--accent);border-radius:0;align-items:center;gap:6px;padding:9px 14px;font-size:.85rem;font-weight:800;display:inline-flex}button.btn:hover{background:var(--accent-dark);border-color:var(--accent-dark)}button.btn.secondary,button.btn.ghost{color:var(--text);border:1px solid var(--border);background:0 0}button.btn.danger{color:var(--danger);border:1px solid var(--danger);background:0 0}button.btn.small{padding:5px 10px;font-size:.8rem}button:disabled{opacity:.5;cursor:not-allowed}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spacer{flex:1}input,select{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:0;padding:8px 10px;font-family:inherit;font-size:.9rem}label.field{color:var(--muted);flex-direction:column;gap:4px;font-size:.75rem;display:flex}.muted{color:var(--muted)}.small{font-size:.8rem}.pill{background:var(--bg);color:var(--muted);border-radius:0;padding:3px 10px;font-size:.72rem;font-weight:700;display:inline-block}.pill.grey{background:var(--bg);color:var(--muted)}.pill.warn{background:var(--accent-soft-bg);color:var(--accent-soft-text)}.pill.outline{border:1px solid var(--accent);color:var(--accent);background:0 0}.playday{border-left:none}.playday.free{opacity:1;border-left-color:#0000}.playday .date-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.playday .date-head .date{white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;font-size:.95rem;font-weight:800;display:inline-flex}.playday.free .date-head .date{color:var(--muted-2)}.playday.incomplete{background:var(--accent-soft-bg);border-bottom-color:var(--accent);margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.mini-cal{max-width:340px;margin:0 auto}.mini-cal-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.mini-cal-title{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-size:.65rem;font-weight:800}.mini-cal-swipe{touch-action:pan-y;-webkit-user-select:none;user-select:none;overflow:hidden}.mini-cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.mini-cal-grid.slide-left{animation:.14s ease-out mini-cal-in-left}.mini-cal-grid.slide-right{animation:.14s ease-out mini-cal-in-right}@keyframes mini-cal-in-left{0%{opacity:.4;transform:translate(14%)}}@keyframes mini-cal-in-right{0%{opacity:.4;transform:translate(-14%)}}@media (prefers-reduced-motion:reduce){.mini-cal-grid.slide-left,.mini-cal-grid.slide-right{animation:none}}.mini-cal-wd{text-align:center;color:var(--muted);padding-bottom:4px;font-size:.7rem}.mini-cal-cell{aspect-ratio:1;color:var(--muted);justify-content:center;align-items:center;font-size:.85rem;display:flex}.mini-cal-cell.empty{visibility:hidden}.mini-cal-cell.day{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:0;padding:0;font-family:inherit;font-size:.85rem}.mini-cal-cell.today{font-weight:800;position:relative}.mini-cal-cell.today:after{content:"";background:currentColor;width:3px;height:3px;margin-left:-1.5px;position:absolute;bottom:2px;left:50%}.mini-cal-cell.spieltag{background-color:var(--accent-soft-bg)}.mini-cal-cell.free{color:var(--muted-2);outline:1px dashed var(--muted-2);outline-offset:-1px}.mini-cal-cell.mine{background-color:var(--accent);color:var(--card);font-weight:700}.mini-cal-cell.abwesend{color:var(--muted-2);text-decoration:line-through}.mini-cal-cell.abwesend.mine{color:var(--card);opacity:.75}.mini-cal-cell.past{opacity:.55}.mini-cal-cell.outside{opacity:.4}.mini-cal-cell.outside.past{opacity:.28}.mini-cal-legend{color:var(--muted);flex-wrap:wrap;gap:4px 10px;margin-top:8px;font-size:.68rem;display:flex}.mini-cal-legend span{align-items:center;gap:4px;display:inline-flex}.mini-cal-legend .mini-cal-cell{aspect-ratio:auto;cursor:default;flex:none;width:17px;height:17px;font-size:.62rem;font-style:normal}.court{background:0 0;border-radius:0;margin-top:8px;padding:0}.court .court-title{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:6px;font-size:.72rem;display:flex}.players-flat{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.player-chip{background:var(--card);border:1px solid var(--border);border-radius:0;align-items:center;gap:6px;padding:4px 10px;font-size:.82rem;display:inline-flex}.player-chip.me{border-color:var(--accent);background:var(--accent-soft-bg);font-weight:700}.spot-empty{border:1px dashed var(--border);color:var(--accent);cursor:pointer;background:0 0;border-radius:0;align-items:center;gap:5px;padding:4px 10px;font-size:.82rem;font-weight:700;display:inline-flex}.avail-flex{align-items:flex-start;display:flex}.avail-names{flex-direction:column;flex:none;gap:3px;width:100px;display:flex}.avail-grid-wrap{flex:1;min-width:0;overflow-x:auto}.avail-grid{align-items:center;gap:3px;display:grid}.ag-spacer{height:26px}.ag-head{text-align:center;height:26px;color:var(--muted);justify-content:center;align-items:center;font-size:.62rem;font-weight:800;display:flex}.ag-head.past{color:var(--muted-2);opacity:.6}.ag-row-label{white-space:nowrap;text-overflow:ellipsis;align-items:center;height:29px;padding-right:8px;font-size:.8rem;display:flex;overflow:hidden}.ag-cell{background:var(--bg);justify-content:center;align-items:center;height:29px;display:flex}.ag-cell.available{color:var(--accent-soft-text);background:var(--accent-soft-bg)}.ag-cell.absent{color:var(--muted-2);background:var(--bg)}.ag-cell.past{opacity:.5}table.stats{border-collapse:collapse;width:100%;font-size:.85rem}table.stats th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:2px solid var(--border);padding:6px 0;font-size:.62rem;font-weight:700}table.stats td{text-align:left;border-bottom:1px solid var(--border-soft);padding:7px 0}table.stats th.num,table.stats td.num{text-align:right;font-variant-numeric:tabular-nums}table.stats td.num:first-of-type{font-weight:700}.bar{background:var(--accent);height:6px}.segmented{border:1px solid var(--border);display:inline-flex}.segmented button{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:6px 12px;font-size:.75rem;font-weight:800}.segmented button+button{border-left:1px solid var(--border)}.segmented button.active{background:var(--accent);color:var(--card)}.avail-day{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:9px 0;font-size:.85rem;display:flex}.toggle{cursor:pointer;background:0 0;border:none;border-radius:0;align-items:center;gap:5px;padding:0;font-size:.72rem;font-weight:700;display:inline-flex}.toggle.available{color:var(--accent-soft-text)}.toggle.absent{color:var(--muted-2)}.name-pick{border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;border-radius:0;padding:9px 14px;font-family:inherit;font-size:.9rem;font-weight:700}.name-pick:hover:not(:disabled){border-color:var(--accent)}.name-pick.selected{border-color:var(--accent);background:var(--accent-soft-bg);color:var(--accent-soft-text)}.name-pick:disabled{opacity:.4;cursor:not-allowed}.site-gate{justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.site-gate .card{width:100%;max-width:320px}.modal-backdrop{z-index:50;background:#201e1d80;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--card);border:2px solid var(--border);border-radius:0;width:100%;max-width:420px;max-height:85vh;padding:18px;overflow-y:auto}.modal h3{margin-top:0;font-size:.9rem;font-weight:800}.help-section-title{margin:14px 0 2px;font-size:.8rem;font-weight:800}.help-section-title:first-of-type{margin-top:0}.list-row{border-bottom:1px solid var(--border-soft);align-items:center;gap:8px;padding:9px 0;display:flex}.center{text-align:center}.loading{text-align:center;color:var(--muted);padding:40px}.error-banner{background:var(--accent-soft-bg);color:var(--accent-soft-text);border:1px solid var(--accent);border-radius:0;margin-bottom:12px;padding:8px 12px;font-size:.85rem}.season-picker{align-items:center;gap:8px;margin-bottom:12px;display:flex}.grid-2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.range-cal{border:1px solid var(--border);border-radius:0;max-width:340px;padding:10px}.range-cal-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.range-cal-title{font-size:.9rem;font-weight:700}.range-cal-nav{border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;border-radius:0;width:30px;height:30px;font-size:1.1rem;line-height:1}.range-cal-nav:hover{border-color:var(--accent);color:var(--accent)}.range-cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.range-cal-wd{text-align:center;color:var(--muted);padding-bottom:4px;font-size:.7rem}.range-cal-cell{aspect-ratio:1;justify-content:center;align-items:center;font-size:.85rem;display:flex}.range-cal-cell.empty{visibility:hidden}button.range-cal-cell.day{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:0;padding:0}button.range-cal-cell.day:hover:not(.selected),button.range-cal-cell.in-range{background:var(--accent-soft-bg)}button.range-cal-cell.selected{background:var(--accent);color:var(--card);font-weight:700}button.range-cal-cell.selected:hover{background:var(--accent-dark)}
