:root{color:#191b1d;background:#fff}body{background:#fff;color:#191b1d}.top{background:#fff;border-bottom:1px solid #e7e9e6;box-shadow:0 2px 12px #20282009}.brand{color:#191b1d}.brand b{color:#e62b40}.account{background:#fff;color:#d51d33;border-color:#e5c7cc}.account:hover{background:#fff1f3}.hero{padding-top:54px}.kicker,.eyebrow,.meta{color:#d51d33}.hero h1{color:#17191b}.hero em{color:#e62b40}.hero p{color:#5b6063}.hero-stat span{color:#d51d33;border-color:#eac7cd;background:#fff7f8}.hero-stat strong{color:#292d2f}.nav{background:#fffd;border-color:#e6e8e4;box-shadow:0 3px 10px #20282008}.nav button{color:#555e5d}.nav button:hover{background:#f5f6f4}.nav button.active{background:#e62b40;color:#fff}.section-head h2{color:#1a1d1f}.btn{background:#e62b40;color:#fff}.btn:hover{background:#c91b30}.btn.secondary{background:#fff;color:#d51d33;border:1px solid #e8bec6}.btn.secondary:hover{background:#fff2f4}.btn.ghost{background:#fff;color:#4f5656;border:1px solid #d8dcda}.btn.ghost:hover{background:#f7f8f6}.btn.danger{background:#fff1f0;color:#b42929;border:1px solid #f0ceca}.card,.calendar,.list-item{background:#fff;border-color:#e4e8e5;box-shadow:0 8px 28px #2028200d}.card p,.muted{color:#626a6c}.card h3{color:#191b1d}.tag{background:#fff1f3;color:#b51d32}.filter button{background:#fff;border-color:#dfe4e1;color:#596060}.filter button.active{background:#e62b40;border-color:#e62b40;color:#fff}.cal-grid span{color:#777f7d}.cal-grid button{background:#f7f9f7;color:#2a3030}.cal-grid button:hover{background:#fff1f3}.cal-grid button.has{border-color:#e62b40;color:#c91b30}.field label{color:#252a2a}.field input,.field textarea,.field select{background:#fff;color:#1b2020;border-color:#cfd6d2}.field input:focus,.field textarea:focus,.field select:focus{border-color:#e62b40;box-shadow:0 0 0 3px #e62b4017}.field input::placeholder,.field textarea::placeholder{color:#8d9693}.field small{color:#68716d}.option-box{background:#f9faf8;border-color:#e0e5e0}.optional-toggle{background:#fff7f8;color:#bd1d31;border-color:#e5a9b2}.optional-toggle:hover{background:#ffedf0}.link-status{color:#bd1d31}.list-item{box-shadow:none}.progress{background:#e6ebe5}.progress i{background:#e62b40}.table th{color:#d51d33}.table th,.table td{border-color:#e4e8e5}dialog{background:#fff;color:#1b2020;border-color:#e1e6e2;box-shadow:0 20px 70px #0003}.close{color:#333b3a}#toast{background:#252a2a;color:#fff}.type-regular{border-left-color:#e62b40}.type-irregular{border-left-color:#f47d4b}.type-race{border-left-color:#eeb52d}.type-meet{border-left-color:#a778de}.type-other{border-left-color:#5bb7d6}@media(max-width:560px){.hero{padding-top:39px}.top{height:62px}.card,.calendar{border-radius:14px}}
.hero-logo{position:absolute;right:2%;top:17px;width:min(38vw,390px);height:350px;object-fit:contain;object-position:center;pointer-events:none}.hero .kicker,.hero h1,.hero p,.hero-stat{position:relative;z-index:1}.hero p{max-width:55%}@media(max-width:720px){.hero-logo{position:static;display:block;width:min(72vw,340px);height:auto;max-height:350px;margin:18px auto 8px}.hero p{max-width:none}}
.schedule-dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex:none;vertical-align:middle;margin-right:6px;background:var(--type-color,#e62b40)}.type-dot-regular,.type-label-regular{--type-color:#e62b40;--type-tint:#fff0f2}.type-dot-irregular,.type-label-irregular{--type-color:#ef7842;--type-tint:#fff4ed}.type-dot-race,.type-label-race{--type-color:#b88400;--type-tint:#fff8e3}.type-dot-meet,.type-label-meet{--type-color:#8e5bc5;--type-tint:#f7efff}.type-dot-other,.type-label-other{--type-color:#248fa9;--type-tint:#ebf9fc}.schedule-type{display:inline-flex;align-items:center;border-radius:999px;background:var(--type-tint);color:var(--type-color);padding:5px 9px;font-weight:900;margin-right:7px}.schedule-type:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--type-color);margin-right:6px}.schedule-card{border-left-width:5px}.cal-grid button.has{border-color:#d9dfdb;color:#222}.cal-dots{display:block;white-space:nowrap;margin-top:3px}.cal-dots .schedule-dot{width:7px;height:7px;margin:0 2px}.filter button{display:inline-flex;align-items:center}.filter button.active .schedule-dot{background:#fff}
.schedule-option-list{border:1px solid #d9dfdc;border-radius:12px;background:#fbfcfb;padding:5px 12px;margin:6px 0 12px}.schedule-option-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border-bottom:1px solid #e6eae7;min-width:0;padding:5px 0}.schedule-option-row:last-child{border-bottom:0}.schedule-option-row .option-input{min-width:0;width:100%;border:0;background:transparent;padding:9px 7px;margin:0;box-shadow:none}.schedule-option-row .option-input:focus{border:0;background:#fff;box-shadow:0 0 0 2px #e62b4040}.schedule-option-row .remove-option{min-height:34px;padding:7px 10px;white-space:nowrap;font-size:11px;border-radius:8px}@media(max-width:560px){.schedule-option-list{padding:4px 8px}.schedule-option-row{gap:4px}.schedule-option-row .option-input{font-size:13px;padding:8px 5px}.schedule-option-row .remove-option{padding:7px 8px}}

/* v4.3 — v2-inspired navigation and schedule colors */
.nav-v2{display:flex;justify-content:space-around;align-items:stretch;gap:4px;padding:7px 4px;background:#fff;position:sticky;top:0;z-index:8;border-top:1px solid #eceeed;border-bottom:1px solid #e4e7e5;overflow-x:auto}
.nav-v2 button{min-width:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:7px 10px!important;border-radius:14px;color:#555!important;background:transparent!important;font-weight:900}
.nav-v2 button span{display:block;font-size:22px;line-height:1.1;filter:grayscale(.1)}
.nav-v2 button.active{color:#df253b!important;background:#fff5f6!important}
.nav-v2 button.active span{filter:none}

.filter{background:#fff;border:1px solid #e5e8e6;border-radius:18px;padding:13px;box-shadow:0 7px 24px #2028200a;gap:8px}
.filter button{border:0!important;font-size:12px;padding:9px 14px!important;font-weight:900}
.filter .filter-all{background:#fff0f2!important;color:#a7192d!important}
.filter .type-filter-regular{background:#edf3ff!important;color:#365c9b!important}
.filter .type-filter-irregular{background:#eee9ff!important;color:#62459d!important}
.filter .type-filter-race{background:#fff0d8!important;color:#8b5813!important}
.filter .type-filter-meet{background:#e9f8f1!important;color:#27765b!important}
.filter button.active{outline:2px solid currentColor;outline-offset:1px;box-shadow:0 2px 7px #00000010}

.cal-grid button{position:relative;min-height:88px!important;padding:8px 5px!important;text-align:left!important;background:#fff!important;border-radius:0!important;border-right:1px solid #e4e7e5!important;border-bottom:1px solid #e4e7e5!important;color:#1c2020!important;overflow:hidden}
.cal-grid .cal-day{display:block;font-size:13px;margin-bottom:6px;color:#17191b}
.cal-event{display:block!important;white-space:normal!important;overflow:hidden!important;text-overflow:ellipsis!important;border-radius:9px;padding:6px 5px!important;margin:3px 0;font-size:9px!important;line-height:1.25;font-weight:900;color:#202425!important}
.type-bg-regular{background:#ffe7ec!important}.type-bg-irregular{background:#e9efff!important}.type-bg-race{background:#ffedd3!important}.type-bg-meet{background:#e5f7ef!important}.type-bg-other{background:#eee9ff!important}.cal-more{color:#777!important;background:transparent!important;padding:2px!important}

/* v2 participation editor look: one large dashed panel, roomy input rows */
.option-editor{border:2px dashed #cfd3d1!important;border-radius:22px!important;padding:20px!important;background:#fff!important}
.option-editor>label{font-size:19px!important;color:#17191b!important}.option-editor>.muted{font-size:13px!important;color:#747a7a!important}
.schedule-option-list{border:0!important;background:transparent!important;padding:0!important;margin:14px 0!important;display:grid!important;gap:10px!important}
.schedule-option-row{border:0!important;padding:0!important;gap:10px!important;grid-template-columns:minmax(0,1fr) 52px!important}
.schedule-option-row .option-input{border:1px solid #dfe2e0!important;border-radius:12px!important;background:#fff!important;padding:14px 15px!important;font-size:16px!important}
.schedule-option-row .option-x{border:0!important;border-radius:12px!important;background:#f1f2f2!important;color:#1788ef!important;min-height:50px!important;font-size:22px!important}
.option-actions{gap:10px!important}.option-actions .btn{background:#f4f5f4!important;color:#1c2020!important;border:0!important;border-radius:999px!important}

/* Challenge: match the light homepage so all text stays readable */
#challenge-form,.mission-box,.record-board,.feature-box{background:#fff!important;color:#1b2020!important;border-color:#e1e6e2!important}
#challenge-form .field input,#challenge-form .field textarea,#challenge-form .field select,.run-form input{background:#fff!important;color:#1b2020!important;border-color:#cfd6d2!important}
#challenge-form .muted,.mission-box .muted,.record-board .muted{color:#68716d!important}
.mission-box .list-item,.record-board .list-item,.team-score div,.record-calendar div{background:#f8faf8!important;color:#1b2020!important;border-color:#e1e6e2!important}
.record-calendar span,.team-score strong,.record-board .eyebrow,.mission-box .eyebrow{color:#d51d33!important}
.run-sheet tfoot{background:#f7f8f6!important}.record-board .table th{color:#d51d33!important}.record-board .table td,.record-board .table th{border-color:#e4e8e5!important}
@media(max-width:560px){.nav-v2{margin-left:-18px;margin-right:-18px}.nav-v2 button{min-width:66px;font-size:11px}.nav-v2 button span{font-size:20px}.cal-grid button{min-height:76px!important}.cal-event{font-size:8px!important;padding:5px 4px!important}.option-editor{padding:16px!important}}

/* v4.4 — fixed v2 mobile bottom navigation */
@media(max-width:800px){
  body{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
  .layout{padding-bottom:28px}
  .nav-v2{position:fixed!important;left:0;right:0;bottom:0;top:auto!important;z-index:50;margin:0!important;padding:7px 5px calc(7px + env(safe-area-inset-bottom));background:rgba(255,255,255,.98)!important;border-top:1px solid #e1e4e2;border-bottom:0;box-shadow:0 -5px 20px #20282012;justify-content:space-around;overflow-x:auto}
  .nav-v2 button{min-width:58px!important;padding:5px 7px!important;border-radius:10px!important;font-size:10px!important;gap:2px}
  .nav-v2 button span{font-size:19px!important}
  .nav-v2 button.active{background:transparent!important;color:#df253b!important}
  #toast{bottom:calc(84px + env(safe-area-inset-bottom))}
}
/* v2 participation presets */
.option-editor{border:2px dashed #cfd3d1!important;border-radius:20px!important;background:#fff!important;padding:18px!important}.schedule-option-list{border:0!important;background:transparent!important;padding:0!important}.schedule-option-row{border:0!important;gap:10px!important;padding:6px 0!important}.schedule-option-row .option-input{border:1px solid #dfe3e0!important;border-radius:12px!important;background:#fff!important;padding:13px 14px!important}.option-x{border:0!important;border-radius:12px!important;background:#f2f3f2!important;color:#168af0!important;width:50px!important;height:48px!important}.option-actions .btn{background:#f3f4f2!important;color:#202322!important;border:0!important}
/* title-only notices */
.notice-title-list{display:grid;gap:9px}.notice-title-row{width:100%;border:1px solid #e2e6e3;background:#fff;border-radius:14px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;text-align:left;box-shadow:0 6px 22px #2028200a}.notice-title-row span{display:grid;gap:5px}.notice-title-row small{color:#858d89;font-size:11px}.notice-title-row strong{font-size:16px;color:#1c2020}.notice-title-row>b{font-size:25px;color:#d51d33}.notice-detail-meta{color:#858d89;font-size:11px;margin:8px 0 18px}.notice-body{line-height:1.75;margin-bottom:20px}.comment-form{grid-template-columns:1fr auto}.comment-form textarea{min-height:48px;max-height:130px;resize:vertical;background:#fff;color:#1b2020;border:1px solid #cfd6d2;border-radius:10px;padding:12px}
/* v2 participation dashboard */
.period-presets{display:flex;gap:7px;overflow-x:auto;margin-bottom:8px}.period-presets .btn{white-space:nowrap}.participation-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:14px 0}.participation-stats .stat{display:flex;justify-content:space-between;align-items:center}.participation-stats small,.participation-stats span{display:block;color:#747c79;font-size:11px}.participation-stats strong{display:block;font-size:28px;margin:4px 0}.participation-stats b{font-size:27px}.participation-table{margin-top:13px}.my-participation{margin-top:13px}.my-participation>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.my-participation span{display:grid;gap:5px}.my-participation small{color:#777f7c}.my-participation strong{font-size:25px}@media(max-width:620px){.participation-stats{grid-template-columns:1fr}.my-participation>div{grid-template-columns:repeat(3,1fr)}.comment-form{grid-template-columns:1fr}.comment-form .btn{width:100%}}
/* v4.5 fixes */
.hero[hidden]{display:none!important}
.compact-btn{padding:9px 14px!important;font-size:14px!important;white-space:nowrap}
.att-date-row{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-top:14px}.att-date-row label{font-size:12px;font-weight:700;color:#5f6664}.att-date-row input[type=date]{display:block;width:150px;max-width:42vw;margin-top:5px;padding:8px 9px;font-size:13px;border:1px solid #d9dedb;border-radius:10px;background:#fff;color:#202424}.participation-toolbar[hidden]{display:none!important}
.notice-title-row{cursor:pointer;position:relative;z-index:1}
@media(max-width:560px){.att-date-row{gap:7px}.att-date-row input[type=date]{width:132px;max-width:39vw;padding:7px;font-size:12px}.participation-toolbar{padding:14px}.period-presets{gap:6px}}
/* v4.6: keep notice/comment modal in the current light visual system */
html,body,dialog,#modal,#modal-content,.comment-section,.comment-list,.comment,.comment-form{color-scheme:light}
#modal{background:#fff!important;color:#1b2020!important;border:1px solid #e1e6e2!important}
#modal-content,.comment-section{background:#fff!important;color:#1b2020!important}
.comment{background:#f7f8f7!important;border:1px solid #e3e7e4!important;color:#1b2020!important}
.comment p,.comment strong{color:#1b2020!important}.comment small{color:#7a827f!important}
.comment-form textarea,.comment-form input{background:#fff!important;color:#1b2020!important;border:1px solid #cfd6d2!important}
.comment-form textarea::placeholder,.comment-form input::placeholder{color:#8a918e!important}
.period-presets .active-period{background:#e62b40!important;color:#fff!important;border-color:#e62b40!important}
.instagram-id-btn{text-transform:none;letter-spacing:0}

/* v4.8 — compact mobile crew directory */
.crew-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.crew-card{background:#fff;border:1px solid #e3e7e4;border-radius:14px;padding:14px;min-width:0;box-shadow:0 4px 14px #20282008}
.crew-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}
.crew-role{display:inline-flex;align-items:center;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:900;line-height:1;white-space:nowrap}
.crew-role.role-admin{background:#fff0f2;color:#d51d33}
.crew-role.role-member{background:#eef4ff;color:#315d9c}
.crew-role.role-guest{background:#f1f2f1;color:#737b77}
.crew-card h3{margin:0 0 7px;font-size:15px;line-height:1.25;color:#171b1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crew-instagram{display:block;color:#4c5b55;font-size:10px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;margin-bottom:6px}
.crew-admin-info{min-height:14px;color:#858d89;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crew-role-button{margin-top:7px;border:1px solid #e0e4e1;background:#fff;color:#d51d33;border-radius:8px;padding:6px 8px;font-size:9px;font-weight:900}
@media(max-width:620px){
  .crew-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .crew-card{padding:10px;border-radius:11px}
  .crew-card h3{font-size:13px;margin-bottom:5px}
  .crew-role{font-size:8px;padding:3px 6px}
  .crew-instagram{font-size:9px;margin-bottom:4px}
  .crew-admin-info{font-size:8px;min-height:11px}
  .crew-role-button{font-size:8px;padding:5px 6px;margin-top:5px}
}
@media(max-width:360px){.crew-grid{gap:5px}.crew-card{padding:8px}.crew-card h3{font-size:12px}}

/* v4.10 — robust fixed mobile nav + visible crew roles */
@media(max-width:900px){
  html,body{overflow-x:hidden}
  body{padding-bottom:calc(82px + env(safe-area-inset-bottom))!important}
  .nav-v2{position:fixed!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;width:100vw!important;max-width:none!important;margin:0!important;z-index:9999!important;transform:translateZ(0);-webkit-transform:translateZ(0);padding:7px 5px calc(7px + env(safe-area-inset-bottom))!important;background:#fff!important;border-top:1px solid #e1e4e2!important;border-bottom:0!important;box-shadow:0 -5px 20px #20282012!important;overscroll-behavior:none}
  .nav-v2 button{flex:1 0 0;min-width:0!important}
  #toast{bottom:calc(88px + env(safe-area-inset-bottom))!important}
}

/* v4.12: calendar date selection + inline daily schedules */
.cal-grid button.selected-day{background:#fff1f3!important;box-shadow:inset 0 0 0 2px #e62b40!important;border-color:#e62b40!important}
.cal-grid button.selected-day .cal-day{color:#d51d33!important}
.selected-schedule{margin:14px 0 24px;padding:16px;border:1px solid #e4e8e5;border-radius:18px;background:#f8f9f8}
.selected-schedule-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.selected-schedule-head strong{font-size:18px;color:#1a1d1f}.selected-schedule-head span{font-size:12px;color:#7a8280}
.selected-schedule-list{display:grid;gap:10px}.selected-schedule-card{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;background:#fff;border:1px solid #e2e6e3;border-left:5px solid #e62b40;border-radius:14px;padding:13px 14px;cursor:pointer;color:#1b2020;box-shadow:0 5px 18px #2028200b}.selected-schedule-card.type-irregular{border-left-color:#f47d4b}.selected-schedule-card.type-race{border-left-color:#eeb52d}.selected-schedule-card.type-meet{border-left-color:#a778de}.selected-schedule-card h3{font-size:16px;margin:7px 0 5px}.selected-schedule-card p{font-size:12px;color:#626a6c;margin:0}.selected-schedule-card .schedule-type{font-size:10px;padding:4px 7px}.selected-count{min-width:48px;text-align:center;font-size:10px;color:#777}.selected-count b{font-size:20px;color:#d51d33}.selected-empty{padding:20px 12px;text-align:center;background:#fff;border:1px dashed #d8ddda;border-radius:12px;color:#777}.schedule-all-head{margin:24px 2px 12px;font-size:16px}
@media(max-width:560px){.selected-schedule{padding:12px;margin-top:10px;border-radius:14px}.selected-schedule-head strong{font-size:16px}.selected-schedule-card{padding:11px 10px}.selected-schedule-card h3{font-size:14px}.selected-schedule-card p{font-size:11px}.selected-count{min-width:42px}}
