:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:100%;color-scheme:light dark;--bg:#f5f7fb;--surface:#fff;--text:#17243a;--muted:#536176;--line:#d5dce7;--accent:#175cd3;--on-accent:#fff;--soft:#edf3ff;--success:#13704c;--focus:#975900;--shadow:0 12px 40px #263e6210;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;font-size:1.0625rem;line-height:1.55}button,input,textarea,select{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a{color:var(--accent);text-underline-offset:.2em}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}button,input,select,textarea{border:1px solid var(--line);border-radius:12px}button{min-height:46px;padding:.6rem 1rem;background:var(--surface);color:var(--text);font-weight:600}button:hover{border-color:var(--accent);background:var(--soft)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}input,select,textarea{min-height:48px;width:100%;padding:.72rem .85rem;background:var(--surface);color:var(--text)}textarea{resize:vertical;min-height:96px}label{display:block;font-weight:600}label small,.helper{display:block;font-size:.875rem;color:var(--muted);font-weight:400;margin:.35rem 0 0}input[type=checkbox]{width:22px;min-height:22px;height:22px;accent-color:var(--accent);flex-shrink:0}h1,h2,h3,p{margin-top:0}h1{font-size:2.45rem;line-height:1.12;letter-spacing:-.045em;font-weight:700;margin-bottom:.85rem}h2{font-size:1.35rem;line-height:1.3;letter-spacing:-.02em;margin-bottom:1rem}h3{font-size:1.0625rem;margin-bottom:.5rem}p{margin-bottom:1rem}.topbar{max-width:1200px;margin:auto;padding:1.8rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:flex;gap:.35rem;align-items:center;text-decoration:none;color:var(--text);font-size:1.35rem;font-weight:700;letter-spacing:-.04em}.brand-icon{width:36px;height:36px;background:var(--accent);color:#fff;border-radius:11px;display:grid;place-items:center;margin-right:.4rem;font-size:1.7rem;line-height:1}.brand-light{font-weight:400;color:var(--muted)}.top-note{font-size:.875rem;color:var(--muted)}main{max-width:1136px;margin:1.6rem auto 0;padding:0 2rem;min-height:70vh}.intro{max-width:700px;margin-bottom:1.8rem}.eyebrow{color:var(--accent);font-weight:700;font-size:.8125rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.7rem}.intro>p:not(.eyebrow){color:var(--muted);max-width:64ch}.layout{display:grid;grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr);gap:1.5rem;align-items:start}.panel{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:1.65rem;box-shadow:var(--shadow)}.stack{display:grid;gap:1.15rem}.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem}.field{display:grid;gap:.4rem;align-content:start}.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.primary:hover{background:#104aa9;color:#fff}.wide{width:100%}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.section-title h2{margin-bottom:.6rem}.small{font-size:.875rem;color:var(--muted)}.quiet{background:none;border-color:transparent;color:var(--accent)}.template-row{display:flex;gap:.55rem;flex-wrap:wrap;margin-bottom:1.4rem}.template-row button{font-size:.875rem;min-height:44px;padding:.4rem .8rem}.template-row [aria-pressed=true]{color:var(--accent);border-color:var(--accent);background:var(--soft)}.date-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem}.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}.chip{font-size:.875rem;border-radius:10px;padding:.35rem .65rem;min-height:44px}.hintbox{background:var(--soft);border-radius:15px;padding:1.05rem;color:var(--muted);font-size:.9375rem}.preview-list{display:grid;gap:.7rem;margin:1.3rem 0}.preview-slot{padding:.9rem 1rem;border:1px solid var(--line);border-radius:13px;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.preview-slot strong{font-size:1rem}.preview-slot span{font-size:.875rem;color:var(--muted)}.preview-heading{font-size:1.5rem;margin-bottom:.6rem;overflow-wrap:anywhere}.preview-text,.event-description{white-space:pre-line;overflow-wrap:anywhere}.feature-line{display:flex;gap:.7rem;align-items:start;margin-top:1rem;font-size:.9375rem;color:var(--muted)}.feature-line>b{color:var(--accent)}.meta{display:flex;gap:.6rem;flex-wrap:wrap;margin:1rem 0}.meta span{font-size:.875rem;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:.3rem .65rem}.event-head{display:flex;gap:1.5rem;justify-content:space-between;align-items:start;margin-bottom:1.3rem}.event-head .intro{margin:0}.event-head h1{overflow-wrap:anywhere}.event-head button{flex-shrink:0}.event-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:1.5rem;align-items:start}.date-row{border-top:1px solid var(--line);padding:1rem 0}.date-row:first-child{border-top:0;padding-top:.3rem}.date-heading{display:flex;justify-content:space-between;gap:.5rem;align-items:baseline;margin-bottom:.65rem}.date-heading strong{font-size:1.0625rem}.time-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.time-choice{border:1px solid var(--line);border-radius:13px;display:flex;gap:.7rem;align-items:center;padding:.8rem;cursor:pointer;min-height:72px}.time-choice:has(input:checked){border-color:var(--accent);background:var(--soft)}.time-choice>span{display:grid;line-height:1.4;min-width:0}.time-choice small{font-size:.8125rem;margin:0;font-weight:400;color:var(--muted)}.time-choice strong{font-size:1rem}.check-row{display:flex;gap:.75rem;align-items:center;font-weight:500;min-height:48px;cursor:pointer}.error{color:#a22720;font-size:.9375rem;font-weight:500}.error:empty{display:none}.save-area{padding-top:1rem;border-top:1px solid var(--line)}.save-area .primary{margin:.8rem 0 .5rem}.results-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.results-top button{padding:.3rem .6rem;min-height:44px;font-size:.875rem}.statline{display:flex;gap:1.5rem;margin:.6rem 0 1.3rem}.statline strong{display:block;font-size:1.8rem;letter-spacing:-.04em;line-height:1.2}.statline span{font-size:.875rem;color:var(--muted)}.rank{margin:.9rem 0}.rank-title{display:flex;justify-content:space-between;gap:1rem;font-size:.9375rem;margin-bottom:.3rem}.rank-title strong{white-space:nowrap}.rank progress{width:100%;height:7px;display:block;border:0;border-radius:4px;accent-color:var(--accent)}progress::-webkit-progress-bar{background:var(--line);border-radius:4px}progress::-webkit-progress-value{background:var(--accent);border-radius:4px}.rank small{color:var(--muted);font-size:.8125rem;overflow-wrap:anywhere;display:block;margin-top:.3rem}.households{margin-top:1.7rem;border-top:1px solid var(--line);padding-top:1.2rem}.household{padding:.85rem 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.household:last-child{border-bottom:0}.household-head{display:flex;justify-content:space-between;gap:.8rem}.household-head strong{font-weight:600}.household p{font-size:.875rem;color:var(--muted);margin:.4rem 0 0}.empty{padding:1.4rem .5rem;text-align:center;color:var(--muted)}.empty-symbol{width:48px;height:48px;border-radius:15px;background:var(--soft);color:var(--accent);margin:0 auto .75rem;display:grid;place-items:center;font-size:1.5rem}.empty strong{display:block;color:var(--text);margin-bottom:.4rem}.banner{background:var(--soft);border:1px solid var(--line);border-radius:17px;padding:1.1rem 1.3rem;margin-bottom:1.3rem}.banner p:last-child{margin-bottom:0}.link-row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.link-row input{flex:1;min-width:0;font-size:.875rem}.link-row button{font-size:.875rem}.owner-panel{margin-top:1.3rem}.owner-panel summary{cursor:pointer;min-height:44px;font-weight:600}.owner-panel .stack{padding-top:1rem}.loading{color:var(--muted)}footer{max-width:1136px;margin:3rem auto 1rem;padding:1rem 2rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.875rem;color:var(--muted)}#toast:not(:empty){position:fixed;bottom:24px;left:50%;transform:translateX(-50%);border-radius:12px;padding:.8rem 1.2rem;background:var(--text);color:var(--surface);box-shadow:var(--shadow);max-width:calc(100% - 2rem);z-index:10}.skip{position:absolute;top:-100px;left:1rem;padding:.7rem;background:var(--surface);z-index:20}.skip:focus{top:1rem}.notice{font-size:.875rem;color:var(--muted);margin-top:1rem}.inline-actions{display:flex;gap:.5rem;flex-wrap:wrap}.success-title{color:var(--success)}.new-link{display:inline-flex;min-height:44px;align-items:center}.template-link{margin-top:1rem}.preview-badge{display:inline-block;font-size:.8125rem;color:var(--muted);border:1px solid var(--line);padding:.25rem .6rem;border-radius:8px;margin-bottom:1.2rem}
@media(max-width:850px){.layout,.event-layout{grid-template-columns:minmax(0,1fr)}.event-results{order:0}.event-form{order:1}.top-note{display:none}.event-head{flex-wrap:wrap}.preview-panel{display:none}.event-results .households{margin-top:1rem}.event-results .rank-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}.event-results .households details:not([open]){margin:0}.event-results .statline{margin-bottom:.5rem}}
@media(max-width:480px){.topbar{padding:1.2rem}main{padding:0 1rem;margin-top:1rem}h1{font-size:2rem}.panel{padding:1.15rem;border-radius:18px}.two{grid-template-columns:1fr}.time-choice{padding:.65rem;gap:.45rem}.event-results .rank-list{grid-template-columns:1fr}.rank{margin:.6rem 0}footer{padding:1rem}.topbar .brand{font-size:1.2rem}.link-row{align-items:stretch}.link-row input{flex-basis:100%}}
@media(prefers-color-scheme:dark){:root{--bg:#111820;--surface:#1a2532;--text:#edf3fa;--muted:#b0bfd1;--line:#3e4e62;--accent:#91b9ff;--on-accent:#102849;--soft:#22354f;--success:#7fdeb1;--focus:#ffcd77;--shadow:0 12px 40px #00000010}.primary:hover{background:#b0cdff;color:#102849}.brand-icon{background:#175cd3}.error{color:#ffb4a9}}
.mobile-only{display:none}.more-times{grid-column:1/-1}.more-times summary,.households summary{min-height:44px;cursor:pointer;font-size:.9375rem;color:var(--accent);padding:.6rem 0}.names-at-time{overflow-wrap:anywhere;font-weight:500!important}.names-at-time:empty{display:none}#your-availability{scroll-margin-top:1rem}.time-options{grid-template-columns:repeat(auto-fit,minmax(min(100%,145px),1fr))}
@media(max-width:850px){.mobile-only{display:inline-flex}.more-times:not([open]){margin:0}.event-results .rank-list{display:block}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(forced-colors:active){.time-choice:has(input:checked),.template-row [aria-pressed=true]{outline:2px solid Highlight}progress{forced-color-adjust:auto}}

.button-link{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.6rem 1rem;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);font-weight:600;text-decoration:none}.button-link:hover{border-color:var(--accent);background:var(--soft)}

.history-panel{margin-bottom:1.5rem}.recent-plans{list-style:none;padding:0;margin:1rem 0 0}.recent-plans li{display:flex;align-items:start;justify-content:space-between;gap:1rem;padding:.8rem 0;border-top:1px solid var(--line)}.recent-plans li>div{min-width:0}.recent-plans a{font-weight:600;overflow-wrap:anywhere}.recent-plans p{margin:0 0 .3rem;overflow-wrap:anywhere}.recent-plans button{flex-shrink:0}

.schedule-dates{display:grid;gap:1rem;margin-top:1rem}.schedule-date{border-top:1px solid var(--line);padding-top:1rem}.schedule-date .chips{margin:0 0 .8rem}.schedule-date h3{margin:0}.schedule-date .section-title{margin-bottom:.5rem}.schedule-date .date-add input{min-width:0}
