*,*:before,*:after{box-sizing:border-box}*{margin:0}html{interpolate-size:allow-keywords}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p{overflow-wrap:break-word;text-wrap:pretty}h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;text-wrap:balance}#root,#app{isolation:isolate}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;color-scheme:light dark;--color-bg: #f7f5ef;--color-surface: #fffdf9;--color-sand: #eee3d2;--color-sage: #7c9473;--color-sage-dark: #61795a;--color-olive-light: #e7ead9;--color-text: #35342c;--color-text-muted: #74725f;--color-border: #ddd5c2;--shadow-sm: 0 1px 3px rgba(53, 52, 44, .06);--shadow-md: 0 6px 20px rgba(53, 52, 44, .08);--radius: 16px;--radius-sm: 10px;--space-1: .5rem;--space-2: 1rem;--space-3: 1.75rem;--space-4: 2.75rem}@media(prefers-color-scheme:dark){:root{--color-bg: #23241f;--color-surface: #2c2d26;--color-sand: #383627;--color-sage: #93ab88;--color-sage-dark: #b4c6ab;--color-olive-light: #33362a;--color-text: #ece9df;--color-text-muted: #a6a390;--color-border: #45443a;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 6px 20px rgba(0, 0, 0, .35)}}body{min-height:100dvh;background-color:var(--color-bg);color:var(--color-text)}a{color:var(--color-sage-dark)}h1,h2,h3{font-weight:600;color:var(--color-text)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.page{max-width:72ch;margin-inline:auto;padding:var(--space-4) var(--space-3);display:flex;flex-direction:column;gap:var(--space-3)}.page__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.app-shell{display:flex;flex-direction:column;min-height:100dvh}.app-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);background-color:var(--color-surface);border-bottom:1px solid var(--color-border)}.app-nav{display:flex;align-items:center;gap:var(--space-3)}.app-nav__brand{font-weight:600;font-size:1.1rem;color:var(--color-sage-dark)}.app-nav__links{display:flex;gap:var(--space-2)}.app-nav__links a{color:var(--color-text-muted);text-decoration:none;padding:.35rem .1rem;border-bottom:2px solid transparent;transition:color .3s ease,border-color .3s ease}.app-nav__links a:hover,.app-nav__links a.active{color:var(--color-sage-dark);border-bottom-color:var(--color-sage)}.name-widget{display:flex;align-items:center;gap:.4rem;color:var(--color-text-muted)}.name-widget--form{display:flex;gap:.5rem}.name-widget input{width:10rem}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:var(--space-2);transition:box-shadow .4s ease,transform .4s ease}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-2)}a.card,.quick-link{display:block;text-decoration:none;color:inherit}a.card:hover,.quick-link:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.hike-card__header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-1)}.hike-card__meta{color:var(--color-text-muted);font-size:.9rem;margin-top:.35rem}.hike-card__rsvp{margin-top:var(--space-1);color:var(--color-sage-dark);font-size:.9rem}.trail-card__suggested-by{color:var(--color-text-muted);font-size:.85rem}.badge{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:500;background-color:var(--color-olive-light);color:var(--color-sage-dark)}.badge--hard{background-color:var(--color-sand);color:#9a5b3c}.button,button{border-radius:var(--radius-sm)}.button,button[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background-color:var(--color-sage);color:var(--color-surface);border:1px solid var(--color-sage);padding:.55rem 1.1rem;font-weight:500;cursor:pointer;text-decoration:none;transition:background-color .3s ease,transform .3s ease}.button:hover,button[type=submit]:hover{background-color:var(--color-sage-dark);border-color:var(--color-sage-dark)}.button--secondary{background-color:transparent;color:var(--color-text);border:1px solid var(--color-border)}.button--secondary:hover{background-color:var(--color-olive-light)}.button--active{background-color:var(--color-sage-dark);border-color:var(--color-sage-dark)}button:disabled{opacity:.5;cursor:not-allowed}.link-button{background:none;border:none;padding:0;color:var(--color-sage-dark);text-decoration:underline;cursor:pointer;font:inherit}.form,.checklist__form{display:flex;flex-direction:column;gap:.4rem}.form label{font-size:.85rem;color:var(--color-text-muted);margin-top:var(--space-1)}.form input,.form select,.form textarea,.checklist input[type=text],input,select,textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.5rem .7rem;background-color:var(--color-surface);color:var(--color-text)}.form button{align-self:flex-start;margin-top:var(--space-1)}.dashboard__header h1{font-size:1.9rem}.dashboard__subtitle{color:var(--color-text-muted);font-size:.95rem}.dashboard__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-2)}.stat-card{background-color:var(--color-sand);border-radius:var(--radius);padding:var(--space-2);display:flex;flex-direction:column;gap:.2rem}.stat-card__value{font-size:1.6rem;font-weight:600;color:var(--color-sage-dark)}.stat-card__label{font-size:.85rem;color:var(--color-text-muted)}.dashboard__section{display:flex;flex-direction:column;gap:var(--space-2)}.dashboard__section-header{display:flex;align-items:baseline;justify-content:space-between}.dashboard__quick-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-2)}.hike-detail__header{display:flex;align-items:baseline;gap:var(--space-2)}.hike-detail__facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-2)}.hike-detail__facts dt{font-size:.8rem;color:var(--color-text-muted)}.hike-detail__facts dd{font-weight:500}.hike-detail__description{color:var(--color-text)}.rsvp-buttons{display:flex;gap:.6rem;margin:var(--space-2) 0}.rsvp-lists{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-2)}.rsvp-lists__group ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:.2rem}.checklist__list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.4rem;margin-bottom:var(--space-2)}.checklist__item{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.checklist__label-wrap{display:flex;align-items:center;gap:.5rem}.checklist__label--checked{color:var(--color-text-muted);text-decoration:line-through}.checklist__remove{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:1.1rem;line-height:1;padding:.1rem .4rem}.checklist__form{flex-direction:row;gap:.5rem}.checklist__form input{flex:1}.checklist__empty,.empty-state{color:var(--color-text-muted);font-style:italic}
