*{box-sizing:border-box}body{margin:0;background:#f4f8ff;color:#172e59;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.5}main{max-width:820px;margin:auto;padding:40px 24px}header{margin-bottom:28px}h1{font-size:clamp(2rem,5vw,2.8rem);letter-spacing:-.04em;line-height:1.15;margin:8px 0 12px}header>p:last-child{color:#465773;margin:0}.eyebrow{font-size:.875rem;font-weight:750;letter-spacing:.12em;margin:0;color:#172e59}.controls{background:white;border:1px solid #d9e2ed;border-top:5px solid #fcd37c;border-radius:14px;padding:28px;box-shadow:0 8px 24px #172e5908}.selects{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:20px;margin-bottom:28px}label{display:block;font-weight:650;margin-bottom:8px}select,input[type=number]{width:100%;font:inherit;color:inherit;background:#fff;border:1px solid #aebdd0;border-radius:8px;padding:8px 12px;height:3rem;min-height:3rem;line-height:1.5}output{display:block;font-size:1.2rem;font-weight:700;color:#172e59;margin:10px 0 16px}input[type=range]{--progress:0%;appearance:none;width:100%;margin:10px 0;height:8px;border-radius:8px;background:linear-gradient(to right,#6dacff var(--progress),#dbe3ed var(--progress));cursor:pointer}input[type=range]::-webkit-slider-thumb{appearance:none;width:26px;height:26px;border-radius:50%;background:#6dacff;border:3px solid white;box-shadow:0 0 0 1px #6dacff}input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#6dacff;border:3px solid white;box-shadow:0 0 0 1px #6dacff}select:focus-visible,input:focus-visible{outline:3px solid #355f99;outline-offset:5px}.endpoints{display:flex;justify-content:space-between;font-size:.875rem;color:#58677d;margin-top:8px}.help{font-size:.875rem;color:#58677d;margin-bottom:0}.results{margin-top:30px}.result-title{display:flex;align-items:center;justify-content:space-between;gap:12px}h2{font-size:1.4rem;margin:0}#count{font-size:.875rem;color:#58677d}#status{color:#58677d}ul{padding:0;list-style:none;display:grid;gap:10px;margin:16px 0}li{background:#fff;border:1px solid #d9e2ed;border-radius:10px;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;gap:16px}h3{font-size:1rem;margin:0}li p{margin:0;font-size:.9375rem;color:#465773;white-space:nowrap}footer{font-size:.875rem;color:#58677d;margin-top:28px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(max-width:560px){main{padding:24px 16px}.controls{padding:20px}.selects{grid-template-columns:1fr;gap:16px}li{display:block;padding:16px 18px}li p{margin-top:6px;white-space:normal}}

[hidden]{display:none!important}

.choir-toggle{display:flex;align-items:center;gap:12px;min-height:44px;margin:20px 0 0;cursor:pointer}.choir-toggle input{appearance:none;flex:none;width:44px;height:26px;margin:0;border:1px solid #71829a;border-radius:20px;background:#71829a;position:relative;cursor:pointer}.choir-toggle input::before{content:'';position:absolute;width:18px;height:18px;top:3px;left:3px;border-radius:50%;background:white}.choir-toggle input:checked{background:#6dacff;border-color:#6dacff}.choir-toggle input:checked::before{left:21px}@media(forced-colors:active){.choir-toggle input{appearance:auto}.choir-toggle input::before{display:none}}

.email-button{display:inline-block;padding:12px 20px;min-height:48px;border-radius:8px;background:#fcd37c;color:#172e59;font:inherit;font-weight:650;text-decoration:none}.email-button:hover{background:#f6c45c}.email-button:focus-visible,button:focus-visible{outline:3px solid #355f99;outline-offset:5px}#email-action{margin-top:24px}

.brand-header{display:flex;align-items:center;gap:24px}.brand-logo{width:110px;height:auto;flex:none}.brand-header h1{margin-top:0}.brand-header p{margin:0;color:#465773}
.selection-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:16px 0}
.selection-controls button{font:inherit;font-size:.875rem;color:#58677d;background:none;border:0;border-radius:3px;min-height:44px;padding:8px 0;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.selection-controls button:hover{color:#172e59}#selected-count{font-size:.875rem;color:#58677d;margin-left:auto}
#matches li{display:block;padding:0}
.group-choice{display:flex;align-items:center;gap:14px;padding:18px 22px;margin:0;font-weight:400;cursor:pointer;min-height:64px}
.group-choice input{width:22px;height:22px;flex:none;margin:0;accent-color:#355f99}
.group-details{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-width:0}
.group-name{font-weight:650}.group-time{font-size:.9375rem;color:#465773;flex-shrink:0;max-width:52%}
@media(max-width:560px){.brand-header{gap:16px}.brand-logo{width:76px}.brand-header h1{font-size:1.8rem}.group-choice{padding:16px}.group-details{display:block}.group-time{display:block;max-width:none;margin-top:6px}#selected-count{margin-left:4px}}

.selects>div{min-width:0}.result-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px}.result-title{flex-wrap:wrap}.result-title .choir-toggle{margin:0;font-size:.875rem;font-weight:500;gap:8px}.result-title .choir-toggle input{width:38px;height:24px}.result-title .choir-toggle input::before{width:16px;height:16px}.result-title .choir-toggle input:checked::before{left:17px}

.clash-warning{margin:16px 0;padding:14px 16px;border-left:3px solid #fcd37c;background:#fff8e9;border-radius:6px;font-size:.875rem}.clash-warning ul{display:block;list-style:disc;padding-left:20px;margin:8px 0}.clash-warning li{display:list-item;background:none;border:0;padding:0;margin:6px 0;border-radius:0}.clash-warning p{margin:8px 0 0}
