:root{--bg:#0f1115;--card:#181b22;--border:#2a2f3a;--text:#e6e8ec;--muted:#9aa3b2;--accent:#e10600;--accent-hover:#ff1e1e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}.container{max-width:860px;margin:0 auto;padding:2.5rem 1.25rem 4rem}h1{font-size:1.9rem;margin:0 0 .25rem}h2{font-size:1.25rem;margin:0 0 .75rem}.muted,p.muted{color:var(--muted)}a{color:var(--accent-hover)}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-top:1.5rem}label{display:block;font-size:.85rem;color:var(--muted);margin:.75rem 0 .25rem}input,textarea{width:100%;padding:.6rem .7rem;background:#0f1115;border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.95rem}textarea{min-height:80px;resize:vertical}.btn,button{display:inline-flex;align-items:center;gap:.4rem;margin-top:1rem;padding:.6rem 1rem;background:var(--accent);color:white;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;text-decoration:none}.btn:hover,button:hover{background:var(--accent-hover)}.btn.secondary,button.secondary{background:transparent;border:1px solid var(--border);color:var(--text)}button.danger{background:transparent;border:1px solid var(--accent);color:var(--accent-hover)}.row{gap:.75rem}.between,.row{display:flex;align-items:center;flex-wrap:wrap}.between{justify-content:space-between;gap:1rem}table{width:100%;border-collapse:collapse;margin-top:1rem;font-size:.9rem}td,th{text-align:left;padding:.6rem .5rem;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--muted);font-weight:600}.notice{margin-top:1rem;padding:.7rem .9rem;border-radius:8px;border:1px solid var(--border);background:#12161d;font-size:.9rem}.notice.error{border-color:var(--accent);color:var(--accent-hover)}.badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;background:var(--accent);color:white;font-size:.72rem;font-weight:700;vertical-align:middle}.badge.muted-badge{background:var(--border);color:var(--muted)}.subnav{display:flex;gap:.5rem;margin-top:1.25rem;border-bottom:1px solid var(--border)}.subnav a{padding:.55rem .9rem;color:var(--muted);text-decoration:none;font-weight:600;font-size:.92rem;border-bottom:2px solid transparent;margin-bottom:-1px}.subnav a.current{color:var(--text);border-bottom-color:var(--accent)}.standings{margin-top:2.5rem}.standings .between{align-items:baseline}.standings-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem;margin-top:.5rem}.standings-grid h3{margin:0 0 .5rem;font-size:1rem}.standings-grid table{margin-top:0}.standings-grid td,.standings-grid th{padding:.4rem;font-size:.85rem}.standings-grid .num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}@media (max-width:640px){.standings-grid{grid-template-columns:1fr}}.event-title a{color:var(--text);text-decoration:none}.event-title a:hover{color:var(--accent-hover)}.event-public .event-tools{margin-top:.9rem}.event-count{margin:.75rem 0 0;font-size:.85rem;color:var(--muted);font-weight:600}.rsvp{margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--border)}.rsvp-buttons{display:flex;gap:.5rem}.rsvp-btn{flex:1 1;margin:0;padding:.6rem .4rem;background:transparent;border:1px solid var(--border);color:var(--text);font-weight:600}.rsvp-btn.going{background:#1f7a1f;border-color:#1f7a1f}.rsvp-btn.maybe{background:#b8860b;border-color:#b8860b}.rsvp-btn.not_going{background:var(--border);border-color:var(--border)}.rsvp-guests{display:flex;align-items:center;gap:.6rem;margin-top:.75rem}.rsvp-guests label{margin:0}.rsvp-guests input{width:5rem}.link-btn{margin:.75rem 0 0;padding:0;background:none;border:none;color:var(--muted);font-size:.85rem;text-decoration:underline;cursor:pointer}.rsvp-summary{margin-top:.85rem}.roster{list-style:none;margin:.5rem 0 0;padding:0}.roster li{display:flex;justify-content:space-between;gap:1rem;padding:.3rem 0;border-bottom:1px solid var(--border);font-size:.88rem}.past-events{margin-top:2rem}.past-events summary{cursor:pointer;color:var(--muted);font-weight:600;padding:.5rem 0}.past-events .cards{opacity:.8}.datetime-row{display:flex;gap:.75rem}.datetime-row>div{flex:1 1}.event-when{margin-top:.2rem;color:var(--accent-hover);font-size:.88rem;font-weight:600}.event-loc{margin:.75rem 0 0;font-size:.9rem}.event-desc{margin:.5rem 0 0;font-size:.92rem;color:var(--muted);white-space:pre-wrap}.event-form{width:100%}@media (max-width:520px){.datetime-row{flex-direction:column;gap:0}}.dashboard{margin-top:1.5rem}.card.import{margin:0 0 1.25rem;padding:1rem 1.1rem}.import-toggle{margin-top:0;width:100%}.import-body{margin-top:1rem}.import-text{min-height:130px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.import-hint{margin:.5rem 0 0;font-size:.8rem}.import-hint code{background:#0f1115;border:1px solid var(--border);border-radius:4px;padding:.05rem .3rem;font-size:.78rem}.search{margin-bottom:.75rem}.segmented{display:flex;gap:.4rem;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:.3rem}.segmented .seg{flex:1 1;margin:0;padding:.55rem .4rem;background:transparent;color:var(--muted);font-size:.82rem;font-weight:600;border-radius:7px}.segmented .seg.active{background:var(--accent);color:white}.cards{list-style:none;margin:1.25rem 0 0;padding:0;display:flex;flex-direction:column;gap:1rem}.card.attendee{margin-top:0;padding:1.1rem 1.15rem}.card.attendee.archived{opacity:.65}.attendee-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.attendee-id{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:1.05rem}.attendee-fields{margin:.85rem 0 0;display:grid;grid-gap:.6rem;gap:.6rem}.attendee-fields div{display:grid;grid-template-columns:4.5rem 1fr;grid-gap:.5rem;gap:.5rem}.attendee-fields dt{margin:0;color:var(--muted);font-size:.8rem}.attendee-fields dd{margin:0;font-size:.92rem;word-break:break-word}.attendee-form{margin-top:.5rem}.attendee-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--border)}.btn.small,button.small{margin-top:0;padding:.45rem .8rem;font-size:.85rem}@media (max-width:520px){.attendee-fields div{grid-template-columns:1fr;gap:.15rem}.btn,button{min-height:44px}}