:root{--night:#0b0c10;--panel:#171a22;--panel-raised:#202530;--ink:#fff8eb;--muted:#d1c7b6;--gold:#ffc14d;--ember:#ef7957;--teal:#55d1c4;--line:#5a6270;--focus:#73e7dc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 15% 20%,#29263d 0 1px,transparent 1.8px) 0 0/43px 43px,var(--night);color:var(--ink);font:17px/1.6 Manrope,sans-serif}main{width:min(1120px,calc(100% - 32px));margin:auto;padding:38px 0 90px}h1,h2,h3,h4{font-family:Rye,serif;letter-spacing:.025em;color:var(--ink)}h1{font-size:clamp(2.45rem,6vw,5.2rem);line-height:1;margin:0;color:var(--gold)}h2{font-size:clamp(1.55rem,3vw,2.4rem);margin:.2rem 0 .65rem}.kicker{font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin:0 0 .35rem}.event-line{font-size:1.12rem;font-weight:700;margin:.65rem 0 0}.event-detail,.field-help{color:var(--muted);font-size:.94rem}.masthead{display:flex;justify-content:space-between;align-items:end;gap:24px}.header-save{color:#12100a;background:var(--gold);font-weight:800;padding:11px 16px;border-radius:7px;text-decoration:none;white-space:nowrap}.site-nav{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;gap:8px;background:rgba(11,12,16,.95);backdrop-filter:blur(10px);padding:14px 0;margin:22px 0 0;border-bottom:1px solid var(--line)}.site-nav a{color:var(--ink);text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:8px 13px;font-size:.86rem;font-weight:800}.site-nav a:hover{background:var(--panel-raised);border-color:var(--teal)}.panel{background:linear-gradient(135deg,#1b1f29,#151820);border:1px solid var(--line);border-radius:12px;padding:clamp(22px,4vw,42px);margin:24px 0;box-shadow:8px 10px 0 rgba(0,0,0,.3)}.completion{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center}.completion>p{grid-column:1/-1;margin:0;color:var(--muted)}.login{margin:12vh auto;width:min(500px,100%)}a{color:var(--gold);text-underline-offset:3px}.plan{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 26px}.section-intro,.full,.sticky{grid-column:1/-1}.section-intro{border-top:1px solid var(--line);padding-top:28px;margin-top:16px}.section-intro h3{margin:.15rem 0}.section-intro p:last-child{max-width:68ch;margin:.2rem 0;color:var(--muted)}label{display:grid;gap:7px;margin:12px 0;font-size:.94rem;font-weight:800;color:var(--ink)}fieldset{border:1px solid var(--line);border-radius:9px;margin:14px 0;padding:14px;display:flex;flex-wrap:wrap;gap:10px;align-content:start}legend{font-family:Rye,serif;padding:0 6px;color:var(--gold)}fieldset label{display:flex;align-items:center;gap:7px;min-height:38px;margin:0;font-size:.9rem;font-weight:600}fieldset .field-help{width:100%;margin:0 0 4px}input,textarea,select,button{min-height:46px;border-radius:7px;border:1px solid #68717f;background:#0d1017;color:var(--ink);padding:10px 12px;font:inherit}textarea{min-height:96px}input[type=radio]{min-height:20px;min-width:20px;accent-color:var(--teal)}.button,button{display:inline-flex;justify-content:center;align-items:center;background:var(--gold);color:#151108;text-decoration:none;font-weight:800;border:0;padding:11px 18px;cursor:pointer}.sticky{position:sticky;bottom:14px;width:100%;box-shadow:0 8px 24px #000;z-index:3}.saved{background:var(--teal);color:#07100f;padding:13px 16px;border-radius:8px;font-weight:800}progress{width:100%;height:14px;accent-color:var(--gold)}.outfit-board{background:#16151e;border:1px solid #51405a;border-radius:9px;padding:20px;margin-top:12px}.outfit-board article{background:#0f1117;border-left:3px solid var(--ember);padding:12px 15px;margin:12px 0}.outfit-board h4{margin:0 0 5px}.outfit-board p{margin:0}.swatches{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.swatches span{width:24px;height:24px;border-radius:99px;border:1px solid var(--ink)}footer{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:20px 0;color:var(--muted)}footer div{display:flex;flex-wrap:wrap;gap:14px}footer form{margin:0}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}@media(max-width:760px){body{font-size:16px}main{width:min(100% - 24px,1120px);padding-top:24px}.masthead{display:block}.header-save{display:inline-flex;margin-top:16px}.site-nav{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px;flex-wrap:nowrap;overflow-x:auto}.site-nav a{white-space:nowrap}.plan{grid-template-columns:1fr}.completion{display:block}.completion progress{margin:12px 0}.panel{padding:22px 18px}fieldset{padding:12px}.sticky{bottom:8px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.camp-gear{border-top:1px solid var(--line);padding-top:24px}.camp-gear>details{background:#11141b;border:1px solid var(--line);border-radius:10px;margin:14px 0;padding:0 16px 16px}.camp-gear summary{cursor:pointer;min-height:54px;display:flex;align-items:center;font-family:Rye,serif;color:var(--gold);font-size:1.15rem}.gear-grid,.custom-gear{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.gear-grid fieldset,.custom-gear fieldset{margin:0;min-width:0;background:#171b24}.quantity-label{display:grid;align-items:stretch;width:100%;font-size:.8rem;color:var(--muted)}.quantity-label input{width:100%;margin-top:4px}.custom-gear{padding-top:4px}.custom-gear label{min-width:0}.custom-gear input,.custom-gear select{width:100%}@media(max-width:760px){.gear-grid,.custom-gear{grid-template-columns:1fr}.camp-gear>details{padding:0 12px 12px}}
.group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.group-grid article{background:#11141b;border:1px solid var(--line);border-radius:9px;padding:16px}.group-grid h3{margin:0 0 10px}.group-grid dl{margin:0;display:grid;grid-template-columns:max-content 1fr;gap:7px 10px}.group-grid dt{color:var(--teal);font-weight:800}.group-grid dd{margin:0;color:var(--muted)}

.site-nav button{min-height:40px;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:8px 13px;font-size:.86rem;font-weight:800}
.site-nav button[aria-selected=true]{background:var(--teal);border-color:var(--teal);color:#07100f}
.header-save{border:0;cursor:pointer}
.import-confirmation{grid-column:1/-1;display:flex;align-items:center;gap:12px;min-height:0;margin:16px 0 4px;padding:14px 16px;border:1px solid var(--teal);border-radius:9px;background:rgba(85,209,196,.12);font-weight:700;line-height:1.35}
.import-confirmation input{flex:0 0 auto;min-height:22px;min-width:22px;margin:0;accent-color:var(--teal)}
[hidden]{display:none!important}
@media(max-width:760px){.site-nav{gap:6px}.site-nav button{min-height:44px;padding:8px 14px}.import-confirmation{align-items:flex-start;padding:13px 14px}}
.sms-consent{grid-column:1/-1;display:flex;align-items:center;gap:10px;margin:8px 0 0;padding:10px 0;font-weight:700}.sms-consent input{flex:0 0 auto;min-height:22px;min-width:22px;margin:0;accent-color:var(--teal)}

:root{
  --sippy-pink:#FF5CA8;
  --sippy-purple:#7B2CBF;
  --sippy-blue:#2878FF;
  --sippy-sea-green:#2ECCA0;
  --sippy-black:#09090B;
}

.camp-gear>details{
  overflow:clip;
  background:var(--panel);
  padding:0 18px 18px;
}
.camp-gear summary{
  justify-content:space-between;
  gap:16px;
}
.camp-gear summary::after{
  content:"+";
  color:var(--teal);
  font-family:Manrope,sans-serif;
  font-size:1.35rem;
  font-weight:800;
}
.camp-gear details[open] summary::after{content:"−"}
.camp-gear summary::marker{color:var(--teal)}
.gear-grid{gap:16px}
.gear-grid .gear-card{
  display:block;
  padding:16px;
  background:var(--panel-raised);
}
.gear-card legend{
  max-width:calc(100% - 12px);
  line-height:1.35;
}
.gear-choices{
  display:grid;
  gap:8px;
}
.gear-card--personal .gear-choices{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.gear-choices label,
.option-choices label{
  min-height:44px;
  padding:6px 8px;
  border:1px solid transparent;
  border-radius:7px;
  background:var(--panel);
  line-height:1.25;
}
.gear-choices label:has(input:checked),
.option-choices label:has(input:checked){
  border-color:var(--teal);
}
.gear-choices input,
.option-choices input{
  flex:0 0 auto;
  min-width:20px;
  min-height:20px;
}
.gear-card .quantity-label{
  margin:10px 0 0;
  padding-top:14px;
  border-top:1px solid var(--line);
}
.gear-card--custom>label{
  display:grid;
  margin:10px 0 0;
}
.coordination-card,
.outfit-card{
  display:block;
  padding:18px;
}
.coordination-card>.field-help,
.outfit-board>.field-help{
  margin:0 0 14px;
}
.option-groups{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.option-group{
  min-width:0;
  padding:12px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--panel-raised);
}
.option-label{
  display:block;
  margin-bottom:8px;
  color:var(--muted);
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.option-choices{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(88px,1fr));
  gap:8px;
}
.coordination-notes{
  display:grid;
  width:100%;
  margin:16px 0 0;
}
.coordination-notes textarea{width:100%}
.outfit-board{
  padding:22px;
  background:var(--panel);
  border-color:var(--line);
}
.outfit-card{
  margin:16px 0 0;
  background:var(--night);
}
.theme-reference{
  margin:2px 0 14px;
  padding:12px 14px;
  border-left:3px solid var(--sippy-pink);
  background:var(--panel-raised);
}
.theme-reference p{margin:0}
.theme-reference p+p{margin-top:8px}
.swatches{
  margin:10px 0;
  gap:8px;
}
.swatches span{
  display:block;
  width:28px;
  height:28px;
  border:2px solid var(--ink);
}
.swatches .swatch-pink{background:var(--sippy-pink)}
.swatches .swatch-purple{background:var(--sippy-purple)}
.swatches .swatch-blue{background:var(--sippy-blue)}
.swatches .swatch-sea-green{background:var(--sippy-sea-green)}
.swatches .swatch-black{background:var(--sippy-black)}
.outfit-reference-grid article:last-child{
  border-left:3px solid var(--sippy-pink);
}
.outfit-reference-grid .swatches{margin:12px 0}

@media(max-width:760px){
  .camp-gear>details{padding:0 12px 12px}
  .camp-gear summary{
    font-size:1.02rem;
    line-height:1.35;
  }
  .gear-grid{gap:12px}
  .gear-grid .gear-card{padding:14px}
  .gear-card--personal .gear-choices{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .gear-card--personal .gear-choices label:last-child{
    grid-column:1/-1;
  }
  .option-groups{grid-template-columns:1fr}
  .coordination-card,
  .outfit-card{padding:15px}
  .outfit-board{padding:18px 14px}
}

.co-planner-panel{
  border-color:var(--teal);
  box-shadow:8px 10px 0 var(--night);
}
.co-planner-intro{
  max-width:68ch;
  margin-bottom:18px;
  color:var(--muted);
}
.co-planner-status{
  margin:14px 0;
  padding:12px 14px;
  border-left:3px solid var(--gold);
  background:var(--panel-raised);
}
.co-planner-status h3{margin:0 0 6px}
.co-planner-status p{margin:6px 0}
.co-planner-request{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:end;
  margin-top:16px;
}
.co-planner-request label{margin:0}
.co-planner-request button{min-height:46px}

@media(max-width:760px){
  .co-planner-request{grid-template-columns:1fr}
  .co-planner-request button{width:100%}
}
.weather-strip{margin:18px 0 24px;padding:14px 18px;border:1px solid var(--teal);border-radius:9px;background:rgba(85,209,196,.1);color:var(--ink)}.weather-strip a{font-weight:800}.coverage-section{margin:28px 0}.coverage-section h3{margin-bottom:12px}.coverage-card strong{color:var(--gold);font-size:1.3rem}.personal-only{padding-top:10px;border-top:1px solid var(--line);color:var(--muted)}.venue-card{border-color:#7b5a91!important}.travel-card{background:#11141b;border:1px solid var(--line);border-radius:9px;padding:16px;margin:14px 0}.meetup-card{border-color:var(--teal)}.meetup-editor{display:grid;gap:8px}.meetup-editor label{margin:0}@media(max-width:760px){.weather-strip{padding:13px 14px}.travel-card{padding:14px}}
.weather-strip{display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:start}.weather-strip p{margin:0}.weather-label{font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:3px!important}.weather-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--teal);border-radius:50%;background:rgba(255,193,77,.12);color:var(--gold);font-size:1.65rem;line-height:1}@media(max-width:760px){.weather-strip{grid-template-columns:auto 1fr;gap:10px}.weather-icon{width:38px;height:38px;font-size:1.45rem}}