:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{margin:0}#root{min-height:100svh}:root{--ink:#1f2a24;--muted:#6b746d;--line:#dfe5df;--bg:#f5f7f4;--card:#fff;--err:#b3261e}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:16px/1.55 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.signup{max-width:560px;margin:0 auto;padding:28px 18px 64px}.signup header{margin-bottom:18px}.pill{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);border-radius:20px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.signup h1{margin:12px 0 4px;font-family:Georgia,serif;font-size:27px}.lead{color:var(--muted);margin:0}fieldset{border:1px solid var(--line);background:var(--card);border-radius:14px;margin:16px 0;padding:16px 16px 6px}fieldset.guardian{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent)}legend{padding:0 8px;font-size:14px;font-weight:700}.field{margin-bottom:14px;display:block}.lbl{margin-bottom:5px;font-size:13.5px;font-weight:600;display:block}.req{color:var(--accent)}.hint{color:var(--muted);margin-top:4px;font-size:12.5px;display:block}input:not([type=checkbox]):not([type=radio]),textarea{width:100%;font:inherit;color:var(--ink);border:1px solid var(--line);box-sizing:border-box;background:#fff;border-radius:10px;min-height:46px;padding:11px 12px}input:not([type=checkbox]):not([type=radio]):not([type=date]):not([type=time]),textarea{appearance:none}input[type=date]{min-height:46px;color:var(--ink);text-align:left;line-height:22px;display:block}input[type=date]::-webkit-date-and-time-value{text-align:left}input:not([type=checkbox]):not([type=radio]):focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);outline:none}textarea{resize:vertical;min-height:80px}select{width:100%;font:inherit;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:10px;height:46px;padding:11px 12px}select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);outline:none}.row2{gap:0 14px;display:grid}@media (width>=460px){.row2{grid-template-columns:1fr 1fr}}.toggle{text-align:left;width:100%;font:inherit;color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:flex-start;gap:12px;padding:10px 0;font-size:14px;display:flex}.toggle:disabled{cursor:default;opacity:1}.toggle .box{border:2px solid var(--line);color:#fff;background:#fff;border-radius:7px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;margin-top:1px;font-size:16px;font-weight:700;line-height:1;transition:background .12s,border-color .12s;display:flex}.toggle.on .box{background:var(--accent);border-color:var(--accent)}.toggle .txt{padding-top:2px}.fs-note{color:var(--muted);margin:0 0 10px;font-size:13px}.choice{flex-wrap:wrap;gap:8px;display:flex}.chip{font:inherit;cursor:pointer;border:1.5px solid var(--line);color:var(--ink);-webkit-tap-highlight-color:transparent;background:#fff;border-radius:999px;padding:10px 14px;font-size:14px}.chip.on{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:600}.join-cta{background:color-mix(in srgb, var(--accent) 8%, #fff);border:1px solid color-mix(in srgb, var(--accent) 25%, var(--line));border-radius:12px;margin-top:14px;padding:14px}.join-cta p{margin:0 0 10px;font-size:14px}.join-btn{background:var(--accent);color:#fff;border-radius:10px;padding:11px 16px;font-weight:600;text-decoration:none;display:inline-block}.join-cta .hint{margin-top:8px}.build{text-align:center;color:#b8bfb8;letter-spacing:.05em;margin-top:10px;font-size:11px}.hp{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}button[type=submit]{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;margin-top:8px;padding:15px;font:600 16px/1 inherit}button[type=submit]:disabled{opacity:.6;cursor:default}.err{color:var(--err);background:#fdeceb;border:1px solid #f3c6c2;border-radius:10px;margin:4px 0 12px;padding:10px 12px;font-size:14px}.foot{color:var(--muted);text-align:center;margin-top:18px;font-size:12px;font-style:italic}.done-card{background:var(--card);border:1px solid var(--line);text-align:center;border-radius:16px;margin-top:24px;padding:32px 24px}.tick{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 12px;font-size:30px;display:flex}.done-card h1{margin:0 0 8px;font-family:Georgia,serif}.done-card .muted{color:var(--muted);font-size:14px}.card{border:1px solid var(--line);background:#fff;border-radius:14px;margin:14px 0;padding:16px 18px}.card h2{margin:0 0 10px;font-size:16px}.muted{color:var(--muted);font-size:13.5px}dl{margin:0}dl>div{border-bottom:1px dashed var(--line);justify-content:space-between;gap:16px;padding:6px 0;display:flex}dl>div:last-child{border-bottom:none}dt{color:var(--muted);font-size:13px}dd{text-align:right;margin:0;font-weight:600}.signin-link{color:var(--muted);margin-top:8px;font-size:13px}.signin-link a,.foot a{color:var(--accent);font-weight:600;text-decoration:none}.acts{flex-direction:column;gap:8px;margin-top:12px;display:flex}.act{border:1px solid var(--line);border-radius:10px;align-items:center;gap:12px;padding:10px 12px;display:flex}.act-main{flex:1;min-width:0}.act-title{font-size:14px;font-weight:650}.act-meta{color:var(--muted);margin-top:2px;font-size:12px}.rsvp-btn{border:1.5px solid var(--accent);color:var(--accent);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;background:#fff;border-radius:20px;flex:none;padding:8px 13px;font:600 13px inherit}.rsvp-btn.on{background:var(--accent);color:#fff}.rsvp-btn:disabled{opacity:.6;cursor:default}.tap-wrap{flex-direction:column;align-items:center;gap:14px;padding:6px 0 2px;display:flex}.tap-wrap select{max-width:340px}.tapbtn{cursor:pointer;color:#fff;-webkit-tap-highlight-color:transparent;border:none;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:190px;height:190px;padding:8px;transition:transform 80ms,box-shadow .12s;display:flex;box-shadow:0 8px 22px #0000002e}.tapbtn:active{transform:scale(.96)}.tapbtn:disabled{opacity:.5;box-shadow:none;cursor:default}.tapbtn.in{background:radial-gradient(circle at 50% 34%,#34d17a,#12984f)}.tapbtn.out{background:radial-gradient(circle at 50% 34%,#f26069,#cf1f2d)}.tap-lbl{letter-spacing:.04em;font-size:30px;font-weight:800;line-height:1}.tap-sub{opacity:.95;text-align:center;max-width:160px;font-size:12.5px;font-weight:600}.status-chip{letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--line);color:var(--muted);white-space:nowrap;background:#fff;border-radius:20px;flex:none;padding:4px 9px;font-size:11px;font-weight:700}.status-chip.pending{color:#8a5a00;background:#fff8e6;border-color:#f0d69a}.status-chip.approved{color:#1c6b3a;background:#eafaf0;border-color:#b7e0c4}.status-chip.rejected{color:var(--err);background:#fdeceb;border-color:#f3c6c2}.steward{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 10%, transparent)}.steward-h{text-transform:uppercase;letter-spacing:.04em;color:var(--ink);margin:16px 0 6px;font-size:13.5px;font-weight:700}.small{font-size:13px}.approve-row{flex:none;gap:8px;display:flex}.rsvp-btn.ghost{border-color:var(--line);color:var(--muted)}.rsvp-group{border-bottom:1px dashed var(--line);padding:8px 0}.rsvp-group:last-child{border-bottom:none}.auto-tag{letter-spacing:.04em;text-transform:uppercase;color:#8a5a00;vertical-align:middle;background:#fff8e6;border:1px solid #f0d69a;border-radius:10px;margin-left:8px;padding:1px 7px;font-size:10px;font-weight:700}.hours-edit{align-items:center;gap:6px;margin-top:6px;display:flex}.hours-edit input{border:1px solid var(--line);width:72px;min-height:38px;font:inherit;border-radius:8px;padding:6px 8px}.hours-unit{color:var(--muted);font-size:12px}.checkmail{background:color-mix(in srgb, var(--accent) 10%, #fff);border:1px solid color-mix(in srgb, var(--accent) 32%, var(--line));color:var(--ink);border-radius:12px;margin:14px 0;padding:14px 16px;font-size:16px;font-weight:600;line-height:1.45}
