/* Warm editorial skin for a friendly, beginner-first reading experience. */
.material-ui {
  --md-primary: #e87535; --md-on-primary: #fff; --md-primary-container: #fff0d8;
  --md-on-primary-container: #5a2e12; --md-surface: #fffdf8; --md-surface-2: #f8f2e8;
  --md-outline: #756d63; --md-text: #24211e; --md-muted: #5f5952;
  color: var(--md-text); background: #f6f3ee; font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;
}
.material-ui .site-header { min-height: 64px; padding: 8px max(24px,calc((100vw - 1180px)/2)); background: rgba(255,253,248,.96); border-bottom: 1px solid #e8e0d5; box-shadow: none; }
.material-ui .brand-mark { background: #2e2a25; box-shadow: none; }
.material-ui .brand-copy strong { color: var(--md-text); }
.material-ui .desktop-nav { gap: 8px; }
.material-ui .desktop-nav a,.material-ui .desktop-nav button { padding: 10px 12px; color: var(--md-muted); background: transparent; border: 0; border-radius: 20px; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.material-ui .desktop-nav a:hover,.material-ui .desktop-nav button:hover { background: var(--md-primary-container); color: #a94619; }
.material-ui .header-review-button { min-height: 40px; padding: 0 18px; color: #a94619; background: #fff; border: 1px solid #d8c8b8; border-radius: 8px; box-shadow: none; }
.material-ui .hero { min-height: auto; color: var(--md-text); background: linear-gradient(100deg,#fffdf8 0%,#fffdf8 58%,#fff3db 100%); border-bottom: 1px solid #eee3d5; }
.material-ui .hero::after,.material-ui .hero-orb,.material-ui .float-note { display: none; }
.material-ui .hero-inner { width: min(1180px,calc(100vw - 48px)); min-height: 420px; grid-template-columns: minmax(0,1.08fr) minmax(360px,.92fr); gap: 64px; padding: 64px 0 72px; }
.material-ui .eyebrow,.material-ui .section-kicker { width: max-content; margin-bottom: 10px; padding: 4px 8px; color: #a94619; background: #ffe7bd; border-radius: 3px; font-family: inherit; font-size: 10px; letter-spacing: .04em; }
.material-ui .eyebrow span { background: var(--md-primary); }
.material-ui .hero h1 { max-width: 680px; color: var(--md-text); line-height: 1.25; letter-spacing: -.025em; }
.material-ui .hero h1 > span { display: block; font-size: clamp(33px,3.3vw,43px); font-weight: 780; line-height: 1.35; }
.material-ui .hero h1 em { position: relative; z-index: 0; color: var(--md-text); font-style: normal; }
.material-ui .hero h1 em::before { content: ""; position: absolute; left: -3px; right: -3px; bottom: 2px; z-index: -1; height: 10px; background: rgba(255,207,74,.82); border-radius: 2px; transform: rotate(-1deg); }
.material-ui .hero h1 > small { display: block; margin-top: 8px; color: var(--md-primary); font-size: clamp(20px,2.25vw,29px); font-weight: 700; letter-spacing: -.015em; }
.material-ui .hero h1 em { color: var(--md-text); }
.material-ui .hero h1 em::after { display: none; }
.material-ui .hero-lead { max-width: 620px; color: var(--md-muted); font-size: 15px; line-height: 1.85; }
.material-ui .hero-proof { display: none; }
.material-ui .primary-button { min-height: 48px; padding: 0 24px; color: var(--md-on-primary); background: var(--md-primary); border-radius: 8px; box-shadow: 0 3px 0 #bb5423; }
.material-ui .text-link { min-height: 48px; padding: 0 14px; color: #a94619; background: transparent; border: 0; border-radius: 7px; font-weight: 800; cursor: pointer; }
.material-ui .text-link:hover { background: var(--md-primary-container); }
.material-ui .hero-card-wrap { width: 100%; transform: none; }
.material-ui .hero-card { padding: 24px; color: var(--md-text); background: #fff; border: 1px solid #e5d8c9; border-top: 6px solid #ffcb45; border-radius: 10px; box-shadow: 0 7px 24px rgba(76,56,37,.08); }
.material-ui .recommend-pill { color: var(--md-primary); background: var(--md-primary-container); }
.material-ui .date-tile { color: var(--md-on-primary); background: var(--md-primary); }
.material-ui .hero-card h2,.material-ui .event-place { color: var(--md-text); }
.material-ui .event-format { color: var(--md-muted); }
.material-ui .official-panel { background: #fbf5eb; border-color: transparent; }
.material-ui .hero-card-foot button,.material-ui .hero-card-foot a { color: var(--md-primary); }
.material-ui .search-dock { width: min(1180px,calc(100vw - 48px)); margin: 24px auto 0; padding: 28px; background: #fff; border: 1px solid #e5ddd2; border-top: 6px solid #ffcb45; border-radius: 10px; box-shadow: 0 6px 22px rgba(76,56,37,.05); }
.material-ui .prototype-note { margin: 0 0 24px; color: var(--md-muted); background: #f7f2fa; border: 0; border-radius: 12px; }
.material-ui .prototype-note span { color: var(--md-primary); background: var(--md-primary-container); }
.material-ui .source-note a { color: var(--md-primary); }
.material-ui .search-heading h2,.material-ui .section-bar h2,.material-ui .voices-heading h2 { color: var(--md-text); }
.material-ui .search-heading h2,.material-ui .section-bar h2 { font-size: clamp(25px,3vw,36px); }
.material-ui .voices-heading h2 { font-size: clamp(29px,3.4vw,40px); }
.material-ui .filter-status { display: flex; align-items: center; gap: 8px; color: var(--md-muted); font-size: 11px; }
.material-ui .filter-status > span { color: #168b82; font-size: 8px; }
.material-ui .clear-button { padding: 8px 12px; color: var(--md-primary); border-radius: 18px; }
.material-ui .finder-form { grid-template-columns: 1.35fr repeat(4,1fr); gap: 12px; }
.material-ui .field input,.material-ui .field select { color: var(--md-text); background: #faf6ef; border: 1px solid #eee4d8; border-radius: 8px; }
.material-ui .field input:focus,.material-ui .field select:focus { border-color: var(--md-primary); box-shadow: 0 0 0 1px var(--md-primary); }
.material-ui .quick-filters label span,.material-ui .filter-chip { color: var(--md-muted); background: #fff; border: 1px solid #cac4d0; border-radius: 18px; }
.material-ui .quick-filters input:checked + span { color: var(--md-on-primary-container); background: var(--md-primary-container); border-color: transparent; }
.material-ui .catalog-freshness { margin: 14px 0 0; color: var(--md-muted); font-size: 11px; line-height: 1.6; }
.material-ui .active-filters:empty { display: none; }
.material-ui .event-directory,.material-ui .personalized-events { width: min(1180px,calc(100vw - 48px)); margin: 28px auto 0; }
.material-ui .event-directory { padding: 26px 28px; background: #fffaf1; border: 1px solid #eadfce; border-radius: 12px; }
.material-ui .event-directory-heading { display: grid; grid-template-columns: auto 1fr; column-gap: 18px; align-items: end; }
.material-ui .event-directory-heading .section-kicker { grid-row: 1; grid-column: 1/-1; }
.material-ui .event-directory-heading h2 { margin: 0; color: var(--md-text); font-size: 25px; }
.material-ui .event-directory-heading > p:not(.section-kicker) { justify-self: end; margin: 0; color: var(--md-muted); font-size: 11px; }
.material-ui .event-directory-groups { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-top: 20px; }
.material-ui .event-directory-groups details { min-width: 0; padding: 16px; background: #fff; border: 1px solid #e7e0d8; border-radius: 10px; }
.material-ui .event-directory-groups summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--md-text); font-size: 13px; font-weight: 900; cursor: pointer; }
.material-ui .event-directory-groups summary span { color: var(--md-muted); font-size: 10px; font-weight: 700; }
.material-ui .event-directory-groups summary::after { content: "＋"; color: var(--md-primary); font-size: 16px; }
.material-ui .event-directory-groups details[open] summary::after { content: "−"; }
.material-ui .event-directory-links { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 13px; }
.material-ui .event-directory-links a,.material-ui .collection-related a { display: inline-flex; align-items: center; gap: 7px; min-height: 34px; padding: 0 10px; color: #704013; background: #fff5e4; border-radius: 999px; font-size: 10px; font-weight: 800; }
.material-ui .event-directory-links a:hover,.material-ui .collection-related a:hover { color: #fff; background: var(--md-primary); }
.material-ui .event-directory-links a span,.material-ui .collection-related a span { color: var(--md-muted); font-size: 9px; }
.material-ui .event-directory-links a:hover span,.material-ui .collection-related a:hover span { color: inherit; }
.material-ui .personalized-events { padding: 26px 28px; background: #eff8f5; border: 1px solid #d0e8e1; border-radius: 12px; }
.material-ui .personalized-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.material-ui .personalized-heading h2 { margin: 0; color: var(--md-text); font-size: 25px; }
.material-ui .personalized-heading p:not(.section-kicker) { margin: 7px 0 0; color: var(--md-muted); font-size: 11px; }
.material-ui .personalized-heading > button { min-height: 38px; padding: 0 14px; color: #356b62; background: transparent; border: 1px solid #8bb9ae; border-radius: 20px; font-size: 10px; font-weight: 800; cursor: pointer; }
.material-ui .personalized-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 18px; }
.material-ui .personalized-card { min-width: 0; display: flex; flex-direction: column; padding: 18px; background: #fff; border: 1px solid #d8e7e2; border-radius: 10px; }
.material-ui .personalized-card > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.material-ui .personalized-card time { color: #356b62; font-size: 10px; font-weight: 900; }
.material-ui .personalized-card .entry-status { margin: 0; }
.material-ui .personalized-card h3 { margin: 11px 0 0; font-size: 16px; line-height: 1.55; }
.material-ui .personalized-card h3 a { color: var(--md-text); }
.material-ui .personalized-card > p { margin: 7px 0 0; overflow: hidden; color: var(--md-muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.material-ui .personalized-card ul { display: flex; flex-wrap: wrap; gap: 5px; margin: 13px 0 0; padding: 0; list-style: none; }
.material-ui .personalized-card li { padding: 5px 7px; color: #285f55; background: #dcf1eb; border-radius: 999px; font-size: 9px; font-weight: 800; }
.material-ui .personalized-card > a { margin-top: auto; padding-top: 16px; color: #356b62; font-size: 10px; font-weight: 900; }
.material-ui .events-section { padding: 52px 0 64px; }
.material-ui .section-bar,.material-ui .event-grid,.material-ui .active-filters,.material-ui .event-list-more,.material-ui .calendar-panel { width: min(1180px,calc(100vw - 48px)); }
.material-ui .sort-control select,.material-ui .view-switch { background: #fff; border: 1px solid #d8cfc3; border-radius: 8px; }
.material-ui .view-switch button.active { color: var(--md-on-primary-container); background: var(--md-primary-container); }
.material-ui .event-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.material-ui .event-card { background: #fff; border: 1px solid #e5ddd2; border-radius: 10px; box-shadow: 0 1px 2px rgba(76,56,37,.05); overflow: hidden; }
.material-ui .event-card:hover { transform: translateY(-2px); box-shadow: 0 5px 14px rgba(76,56,37,.12); }
.material-ui .event-visual { height: 94px; background: #fff4df; border-bottom: 1px solid #efe1cf; }
.material-ui .event-visual::after { opacity: .12; }
.material-ui .event-number { color: rgba(232,117,53,.16); }
.material-ui .event-visual-label { color: var(--md-primary); }
.material-ui .event-card-body { padding: 16px; }
.material-ui .event-card-body h3 { min-height: 3.1em; display: -webkit-box; overflow: hidden; color: var(--md-text); -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.material-ui .card-date,.material-ui .card-location,.material-ui .score-copy small { color: var(--md-muted); }
.material-ui .format-row { min-height: 0; margin-top: 10px; padding: 8px 0; }
.material-ui .format-row span { color: var(--md-muted); background: #f7f2fa; border: 0; border-radius: 8px; }
.material-ui .card-score-row { margin-top: 10px; }
.material-ui .card-score-row.no-reviews .card-rating { display: none; }
.material-ui .event-badge { color: #146c2e; background: #c4eed0; border: 0; }
.material-ui .event-badge.secondary { color: var(--md-primary); background: var(--md-primary-container); }
.material-ui .event-badge.is-community { color: #7d5700; background: #ffdea3; }
.material-ui .event-badge.kind-race { color: #4f378b; background: #eaddff; }
.material-ui .event-badge.kind-training { color: #25456f; background: #d7e3ff; }
.material-ui .event-badge.kind-experience { color: #704d00; background: #ffdea3; }
.material-ui .event-badge.kind-championship { color: #7d294f; background: #ffd8e4; }
.material-ui .event-badge.participation-public,.material-ui .event-badge.is-open { color: #146c2e; background: #c4eed0; }
.material-ui .event-badge.participation-restricted { color: #7d5700; background: #ffdea3; }
.material-ui .event-badge.participation-check,.material-ui .event-badge.is-check,.material-ui .event-badge.is-closed { color: #49454f; background: #e7e0ec; }
.material-ui .review-score-bubble { color: var(--md-primary); background: var(--md-primary-container); }
.material-ui .gotcha { color: var(--md-muted); background: #faf6ef; border-left: 3px solid var(--md-primary); }
.material-ui .detail-button { min-height: 42px; color: var(--md-on-primary); background: var(--md-primary); border-radius: 7px; }
.material-ui .calendar-button { color: #a94619; background: transparent; border-color: #d8cfc3; border-radius: 7px; }
.material-ui .event-list-more { display: grid; justify-items: center; gap: 12px; margin: 28px auto 0; padding-top: 24px; border-top: 1px solid #e7e0ec; }
.material-ui .event-list-more p { margin: 0; color: var(--md-muted); font-size: 12px; font-weight: 700; }
.material-ui .event-list-more button { min-height: 44px; display: inline-flex; align-items: center; gap: 12px; padding: 0 20px; color: var(--md-primary); background: #fff; border: 1px solid #79747e; border-radius: 22px; font-size: 13px; font-weight: 800; cursor: pointer; }
.material-ui .event-list-more button:hover { background: var(--md-surface-2); }
.material-ui .event-list-more button:focus-visible { outline: 3px solid var(--md-primary-container); outline-offset: 2px; }
.material-ui .event-list-more button small { padding-left: 12px; color: var(--md-muted); border-left: 1px solid #cac4d0; font-size: 10px; font-weight: 700; }
.material-ui .calendar-panel { padding: 20px; background: #fff; border: 1px solid #e5ddd2; border-top: 6px solid #ffcb45; border-radius: 10px; box-shadow: none; }
.material-ui .calendar-event { color: var(--md-primary); background: var(--md-primary-container); border-left-color: var(--md-primary); }
.material-ui .calendar-event.is-community { color: #5d4200; background: #ffdea3; border-left-color: #825500; }
.material-ui .calendar-agenda { margin-top: 24px; }
.material-ui .calendar-agenda h4 { margin: 0 0 10px; color: var(--md-text); font-size: 15px; }
.material-ui .calendar-agenda-list { display: grid; gap: 8px; }
.material-ui .calendar-agenda-item { width: 100%; min-height: 64px; display: grid; grid-template-columns: 100px minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 10px 14px; color: var(--md-text); background: #fff; border: 1px solid #e7e0ec; border-left: 4px solid var(--md-primary); border-radius: 12px; text-align: left; text-decoration: none; cursor: pointer; }
.material-ui .calendar-agenda-item:hover { background: var(--md-surface-2); }
.material-ui .calendar-agenda-item.is-community { border-left-color: #825500; }
.material-ui .calendar-agenda-item time { color: var(--md-primary); font-size: 12px; font-weight: 800; }
.material-ui .calendar-agenda-item > span { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.material-ui .calendar-agenda-item strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.material-ui .calendar-agenda-item small { overflow: hidden; color: var(--md-muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.material-ui .calendar-agenda-item em { padding: 5px 9px; color: var(--md-primary); background: var(--md-primary-container); border-radius: 20px; font-size: 9px; font-style: normal; font-weight: 800; white-space: nowrap; }
.material-ui .calendar-agenda-item.is-community em { color: #5d4200; background: #ffdea3; }
.material-ui .calendar-agenda-empty { display: flex; flex-direction: column; gap: 5px; padding: 24px; color: var(--md-muted); background: var(--md-surface-2); border-radius: 12px; text-align: center; }
.material-ui .calendar-agenda-empty strong { color: var(--md-text); font-size: 13px; }
.material-ui .calendar-agenda-empty span { font-size: 11px; }
.material-ui .calendar-agenda-more { color: var(--md-primary); border-color: #d8cfc3; }
.material-ui .calendar-contribute { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; padding: 16px; background: #fff5e4; border-radius: 8px; }
.material-ui .calendar-contribute div { display: flex; flex-direction: column; gap: 4px; }
.material-ui .calendar-contribute span { color: var(--md-muted); font-size: 11px; }
.material-ui .calendar-contribute button,.material-ui .submit-community-event { min-height: 42px; padding: 0 20px; color: var(--md-on-primary); background: var(--md-primary); border: 0; border-radius: 7px; font-weight: 800; cursor: pointer; }
.material-ui .source-dot { display: inline-block; width: 9px; height: 9px; margin: 0 4px 0 10px; border-radius: 50%; }
.material-ui .source-dot.official { background: var(--md-primary); }
.material-ui .source-dot.community { background: #825500; }
.material-ui dialog { border: 0; border-radius: 24px; box-shadow: 0 12px 36px rgba(29,27,32,.22); }
.material-ui .community-event-dialog { width: min(680px,calc(100vw - 32px)); padding: 28px; }
.material-ui .community-event-dialog form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.material-ui .community-event-dialog form > label { display: flex; flex-direction: column; gap: 7px; color: var(--md-muted); font-size: 11px; font-weight: 800; }
.material-ui .community-event-dialog input,.material-ui .community-event-dialog select,.material-ui .community-event-dialog textarea { width: 100%; padding: 12px; color: var(--md-text); background: #f7f2fa; border: 1px solid transparent; border-radius: 10px; font: inherit; }
.material-ui .community-event-dialog textarea { min-height: 96px; resize: vertical; }
.material-ui .community-event-dialog .wide-field,.material-ui .community-event-dialog .consent,.material-ui .community-event-dialog .submit-community-event,.material-ui .community-event-dialog .form-note { grid-column: 1/-1; }
.material-ui .dialog-review-availability { margin: 18px 0 0; color: var(--md-muted); font-size: 12px; text-align: center; }
.visually-hidden { position: absolute!important; width: 1px!important; height: 1px!important; padding: 0!important; overflow: hidden!important; clip: rect(0,0,0,0)!important; white-space: nowrap!important; border: 0!important; }
.material-ui .guide-section { width: min(1180px,calc(100vw - 48px)); display: block; margin: 0 auto; padding: 96px 0; color: var(--md-text); background: transparent; }
.material-ui .guide-section::before { display: none; }
.material-ui .guide-intro { max-width: 820px; }
.material-ui .guide-intro h2 { margin: 8px 0 0; color: var(--md-text); font-size: clamp(30px,4vw,48px); line-height: 1.3; }
.material-ui .guide-intro > p:not(.section-kicker) { max-width: 720px; margin: 18px 0 0; color: var(--md-muted); font-size: 15px; line-height: 1.8; }
.material-ui .guide-jump-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.material-ui .guide-intro .guide-jump-links a { display: inline-flex; min-height: 38px; align-items: center; padding: 0 14px; color: var(--md-primary); background: #fff; border: 1px solid #cac4d0; border-radius: 20px; font-size: 12px; font-weight: 800; text-decoration: none; }
.material-ui .guide-intro .guide-jump-links a:hover { background: var(--md-primary-container); border-color: transparent; }
.material-ui .guide-content { min-width: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 40px; }
.material-ui .guide-module { min-width: 0; scroll-margin-top: 80px; padding: 30px; color: var(--md-text); background: #fff; border: 1px solid #e7e0ec; border-radius: 20px; box-shadow: 0 1px 3px rgba(29,27,32,.06); }
.material-ui .guide-distance,.material-ui .guide-raceday { grid-column: 1/-1; }
.material-ui .guide-step { display: flex; align-items: center; gap: 10px; }
.material-ui .guide-step span { padding: 5px 9px; color: var(--md-on-primary-container); background: var(--md-primary-container); border-radius: 8px; font-size: 10px; font-weight: 900; letter-spacing: .06em; }
.material-ui .guide-step p { margin: 0; color: var(--md-muted); font-size: 11px; font-weight: 800; }
.material-ui .guide-module h3 { margin: 14px 0 0; color: var(--md-text); font-size: 24px; line-height: 1.45; }
.material-ui .guide-module .guide-lead { max-width: 820px; margin: 10px 0 0; color: var(--md-muted); font-size: 13px; line-height: 1.8; }
.material-ui .distance-table { width: 100%; max-width: 100%; margin-top: 24px; overflow: hidden; border: 1px solid #e7e0ec; border-radius: 14px; }
.material-ui .distance-row { display: grid; grid-template-columns: 150px 1fr 1fr; align-items: center; }
.material-ui .distance-row + .distance-row { border-top: 1px solid #e7e0ec; }
.material-ui .distance-row > * { min-width: 0; padding: 14px 16px; color: var(--md-muted); font-size: 12px; line-height: 1.55; }
.material-ui .distance-row > * + * { border-left: 1px solid #e7e0ec; }
.material-ui .distance-row strong { color: var(--md-text); font-size: 13px; }
.material-ui .distance-header { background: #f7f2fa; }
.material-ui .distance-header span { color: var(--md-text); font-size: 10px; font-weight: 900; letter-spacing: .04em; }
.material-ui .readiness-panel { display: grid; grid-template-columns: minmax(220px,.72fr) minmax(360px,1.3fr); gap: 24px; margin-top: 24px; padding: 24px; background: #f7f2fa; border-radius: 16px; }
.material-ui .guide-mini-label { margin: 0; color: var(--md-primary); font-size: 9px; font-weight: 900; letter-spacing: .12em; }
.material-ui .readiness-panel h4 { margin: 8px 0 0; color: var(--md-text); font-size: 17px; line-height: 1.5; }
.material-ui .readiness-panel > div > p:last-child { margin: 8px 0 0; color: var(--md-muted); font-size: 11px; line-height: 1.7; }
.material-ui #readiness-check { display: grid; gap: 8px; margin: 0; padding: 0; border: 0; }
.material-ui #readiness-check label { min-height: 42px; display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; color: var(--md-text); background: #fff; border: 1px solid #e7e0ec; border-radius: 10px; font-size: 11px; line-height: 1.55; cursor: pointer; }
.material-ui #readiness-check label:has(input:checked) { color: var(--md-on-primary-container); background: var(--md-primary-container); border-color: transparent; }
.material-ui #readiness-check input { flex: 0 0 auto; width: 17px; height: 17px; margin: 0; accent-color: var(--md-primary); }
.material-ui #readiness-result { grid-column: 1/-1; display: flex; align-items: center; gap: 14px; min-height: 54px; padding: 12px 16px; color: var(--md-muted); background: #fff; border-left: 4px solid var(--md-outline); border-radius: 10px; font-size: 12px; }
.material-ui #readiness-result[data-level="building"] { border-left-color: #9a6700; }
.material-ui #readiness-result[data-level="ready"] { border-left-color: #2e7d32; }
.material-ui #readiness-result strong { color: var(--md-primary); font-size: 19px; white-space: nowrap; }
.material-ui .plan-timeline { display: grid; gap: 0; margin: 24px 0 0; padding: 0; list-style: none; }
.material-ui .plan-timeline li { position: relative; display: grid; grid-template-columns: 76px 1fr; gap: 14px; padding: 0 0 24px; }
.material-ui .plan-timeline li:last-child { padding-bottom: 0; }
.material-ui .plan-timeline li::before { content: ""; position: absolute; left: 74px; top: 23px; bottom: 0; width: 2px; background: #e7e0ec; }
.material-ui .plan-timeline li:last-child::before { display: none; }
.material-ui .plan-timeline time { height: max-content; padding: 6px 8px; color: var(--md-primary); background: var(--md-primary-container); border-radius: 8px; font-size: 10px; font-weight: 900; text-align: center; }
.material-ui .plan-timeline div { padding-left: 10px; }
.material-ui .plan-timeline strong { color: var(--md-text); font-size: 13px; }
.material-ui .plan-timeline p { margin: 5px 0 0; color: var(--md-muted); font-size: 11px; line-height: 1.7; }
.material-ui .guide-note { margin: 24px 0 0; padding: 12px 14px; color: var(--md-muted); background: #f7f2fa; border-radius: 10px; font-size: 10px; line-height: 1.7; }
.material-ui .entry-checklist { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; margin: 20px 0 0; padding: 0; list-style: none; }
.material-ui .entry-checklist li { display: grid; grid-template-columns: 28px 1fr; align-items: start; gap: 8px; padding: 12px 0; color: var(--md-muted); border-bottom: 1px solid #e7e0ec; font-size: 11px; line-height: 1.55; }
.material-ui .entry-checklist span { color: var(--md-primary); font-size: 9px; font-weight: 900; }
.material-ui .race-timeline { display: grid; grid-template-columns: repeat(6,1fr); margin-top: 26px; overflow: hidden; border: 1px solid #e7e0ec; border-radius: 14px; }
.material-ui .race-timeline > div { min-width: 0; padding: 16px; }
.material-ui .race-timeline > div + div { border-left: 1px solid #e7e0ec; }
.material-ui .race-timeline time { display: block; margin-bottom: 11px; color: var(--md-primary); font-size: 11px; font-weight: 900; }
.material-ui .race-timeline p { margin: 0; }
.material-ui .race-timeline strong { display: block; color: var(--md-text); font-size: 12px; line-height: 1.5; }
.material-ui .race-timeline span { display: block; margin-top: 7px; color: var(--md-muted); font-size: 10px; line-height: 1.65; }
.material-ui .safety-callout { display: flex; align-items: flex-start; gap: 20px; margin-top: 20px; padding: 18px; color: #5d4200; background: #ffdea3; border-radius: 12px; }
.material-ui .safety-callout strong { flex: 0 0 auto; font-size: 12px; }
.material-ui .safety-callout p { margin: 0; font-size: 11px; line-height: 1.65; }
.material-ui .guide-sources { grid-column: 1/-1; display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 24px 28px; color: var(--md-text); background: var(--md-primary-container); border-radius: 18px; }
.material-ui .guide-sources h3 { margin: 5px 0 0; color: var(--md-on-primary-container); font-size: 18px; }
.material-ui .guide-sources div > p:last-child { max-width: 650px; margin: 7px 0 0; color: #49405d; font-size: 11px; line-height: 1.7; }
.material-ui .guide-sources nav { flex: 0 0 270px; display: grid; gap: 7px; }
.material-ui .guide-sources a { display: flex; justify-content: space-between; gap: 12px; padding: 9px 12px; color: var(--md-primary); background: rgba(255,255,255,.72); border-radius: 9px; font-size: 10px; font-weight: 800; text-decoration: none; }
.material-ui .guide-sources a:hover { background: #fff; }
.material-ui .guide-preview { width: min(1180px,calc(100vw - 48px)); display: grid; grid-template-columns: 1.08fr .92fr; gap: 56px; align-items: center; margin: 40px auto; padding: 48px; background: #fff1d7; border-top: 7px solid #ffcb45; border-radius: 10px; }
.material-ui .guide-preview-visual { margin: 0; }
.material-ui .guide-preview-visual img { width: 100%; aspect-ratio: 3/2; display: block; object-fit: cover; border-radius: 8px 8px 2px 2px; }
.material-ui .guide-preview-visual figcaption { display: flex; gap: 14px; padding: 10px 0 0; color: var(--md-muted); border-top: 3px solid var(--md-primary); font-size: 10px; }
.material-ui .guide-preview-copy { max-width: 480px; }
.material-ui .guide-preview-copy h2 { margin: 10px 0 0; color: var(--md-text); font-size: clamp(28px,3.2vw,39px); line-height: 1.45; letter-spacing: -.035em; }
.material-ui .guide-preview-copy > p:not(.section-kicker) { margin: 18px 0 0; color: var(--md-muted); font-size: 13px; line-height: 1.85; }
.material-ui .guide-preview-copy ol { display: grid; gap: 0; margin: 26px 0 0; padding: 0; border-top: 1px solid #dedbe1; list-style: none; }
.material-ui .guide-preview-copy li { display: grid; grid-template-columns: 34px 1fr; gap: 12px; align-items: center; padding: 13px 0; border-bottom: 1px solid #dedbe1; }
.material-ui .guide-preview-copy li > span { color: var(--md-primary); font-size: 9px; font-weight: 900; }
.material-ui .guide-preview-copy li div { display: flex; flex-direction: column; gap: 2px; }
.material-ui .guide-preview-copy li strong { color: var(--md-text); font-size: 12px; }
.material-ui .guide-preview-copy li small { color: var(--md-muted); font-size: 9px; }
.material-ui .guide-preview-link { min-height: 44px; display: inline-flex; align-items: center; gap: 34px; margin-top: 26px; padding: 0 20px; color: #fff; background: var(--md-primary); border-radius: 7px; box-shadow: 0 3px 0 #bb5423; font-size: 11px; font-weight: 800; }
.material-ui .voices-section { padding: 72px 0; background: #fff8ed; border-top: 1px solid #eee1d1; border-bottom: 1px solid #eee1d1; }
.material-ui .featured-voice,.material-ui .rating-summary,.material-ui .review-cta { border-radius: 10px; box-shadow: none; }
.material-ui .rating-summary { background: #fff0d8; }
.material-ui .review-cta { background: #168b82; }
.material-ui .review-cta > span { background: #ffcf4a; }
.material-ui .final-cta { width: min(1180px,calc(100vw - 48px)); margin-inline: auto; padding: 48px max(24px,calc((100vw - 1180px)/2)); color: #fff; background: #2e2924; border-radius: 8px; }
.material-ui .final-cta::after { display: none; }
.material-ui .final-cta h2 { color: #fff; }
.material-ui .section-kicker.light { color: #553611; background: #ffcf4a; }
.material-ui .final-cta p:not(.section-kicker) { color: #ded7cf; }
.material-ui .final-cta > a { color: #fff; background: var(--md-primary); border-radius: 7px; box-shadow: 0 3px 0 #a7461c; }
.material-ui .site-footer { padding-top: 40px; background: #211e1b; }
.material-ui .mobile-nav { background: rgba(255,253,248,.97); border-top-color: #e8e0d5; box-shadow: 0 -2px 8px rgba(76,56,37,.08); }
.material-ui .mobile-nav span { color: var(--md-primary); }

.material-ui.event-detail-page { min-height: 100vh; padding-bottom: 0; }
.material-ui .event-page { width: min(920px,calc(100vw - 48px)); margin: 0 auto; padding: 38px 0 72px; }
.material-ui .event-breadcrumbs { display: flex; gap: 8px; align-items: center; overflow: hidden; margin-bottom: 18px; color: var(--md-muted); font-size: 12px; white-space: nowrap; }
.material-ui .event-breadcrumbs a { flex: 0 0 auto; color: var(--md-primary); font-weight: 800; }
.material-ui .event-breadcrumbs span:last-child { overflow: hidden; text-overflow: ellipsis; }
.material-ui .event-page-card { padding: 42px; background: #fff; border: 1px solid #e5ddd2; border-top: 6px solid #ffcb45; border-radius: 14px; box-shadow: 0 8px 28px rgba(76,56,37,.07); }
.material-ui .event-page-heading h1 { max-width: 760px; margin: 10px 0 0; color: var(--md-text); font-size: clamp(30px,5vw,48px); line-height: 1.35; letter-spacing: -.035em; }
.material-ui .event-page-heading > p:last-child { display: flex; flex-wrap: wrap; gap: 7px; margin: 16px 0 0; color: var(--md-muted); font-size: 14px; font-weight: 700; }
.material-ui .event-page-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin: 34px 0 0; overflow: hidden; background: #e7e0d8; border: 1px solid #e7e0d8; border-radius: 12px; }
.material-ui .event-page-facts div { min-width: 0; padding: 18px; background: #faf6ef; }
.material-ui .event-page-facts dt { color: var(--md-muted); font-size: 11px; font-weight: 800; }
.material-ui .event-page-facts dd { margin: 6px 0 0; color: var(--md-text); font-size: 14px; font-weight: 800; line-height: 1.5; }
.material-ui .event-page-facts dd a { color: #a94619; text-decoration: underline; text-decoration-color: #e9c6a9; text-underline-offset: 3px; }
.material-ui .event-page-facts dd small { display: block; margin-top: 4px; color: var(--md-primary); font-size: 10px; }
.material-ui .event-page-source { display: grid; grid-template-columns: minmax(160px,.55fr) minmax(0,1fr); gap: 14px 24px; align-items: start; margin-top: 18px; padding: 18px 20px; background: #f3f7fb; border: 1px solid #dbe5ee; border-radius: 12px; }
.material-ui .event-page-source h2 { margin: 4px 0 0; color: var(--md-text); font-size: 18px; }
.material-ui .event-source-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; color: var(--md-text); font-size: 12px; line-height: 1.7; }
.material-ui .event-source-list a { color: #31536c; font-weight: 900; text-decoration: underline; text-decoration-color: #aac3d6; text-underline-offset: 3px; }
.material-ui .event-page-source > small { grid-column: 2; color: var(--md-muted); font-size: 9px; line-height: 1.7; }
.material-ui .deadline-countdown { width: fit-content; margin: 22px 0 0; padding: 7px 11px; color: #4f5b5d; background: #edf1f0; border-radius: 999px; font-size: 11px; font-weight: 900; }
.material-ui .deadline-countdown.is-soon { color: #765200; background: #fff0bd; }
.material-ui .deadline-countdown.is-urgent { color: #8a2f19; background: #ffe0d3; }
.material-ui .deadline-countdown.is-closed { color: #5f6c70; background: #edf1f0; }
.material-ui .event-card-body > .deadline-countdown { margin: 0 0 9px; }
.material-ui .official-panel .deadline-countdown { display: inline-flex; margin-top: 9px; }
.material-ui .favorite-event-card > .deadline-countdown { margin: 9px 0 0; }
.material-ui .event-page-official-notices { margin-top: 30px; padding: 24px; background: #f3f7fb; border: 1px solid #dbe5ee; border-radius: 12px; }
.material-ui .event-page-official-notices h2 { margin: 6px 0 0; color: var(--md-text); font-size: 20px; }
.material-ui .event-page-official-notices ol { display: grid; gap: 9px; margin: 18px 0 0; padding: 0; list-style: none; }
.material-ui .event-page-official-notices li { padding: 14px 16px; background: #fff; border: 1px solid #dbe5ee; border-left: 4px solid #55748d; border-radius: 9px; }
.material-ui .event-page-official-notices li.is-entry { border-left-color: #2e846a; }
.material-ui .event-page-official-notices li.is-guide { border-left-color: #8a66b1; }
.material-ui .event-page-official-notices li.is-change { border-left-color: #d17b22; }
.material-ui .event-page-official-notices li.is-cancellation { border-left-color: #b53b2d; }
.material-ui .event-page-official-notices li > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.material-ui .event-page-official-notices li > div span { padding: 4px 7px; color: #31536c; background: #e5eef5; border-radius: 999px; font-size: 9px; font-weight: 900; }
.material-ui .event-page-official-notices li.is-entry > div span { color: #245e4d; background: #dff2eb; }
.material-ui .event-page-official-notices li.is-guide > div span { color: #654184; background: #eee4f7; }
.material-ui .event-page-official-notices li.is-change > div span { color: #71410e; background: #fff0d8; }
.material-ui .event-page-official-notices time { color: var(--md-muted); font-size: 9px; font-weight: 700; }
.material-ui .event-page-official-notices li > a { display: inline-block; margin-top: 9px; color: var(--md-text); font-size: 12px; font-weight: 900; line-height: 1.6; }
.material-ui .event-page-official-notices li > a:hover { color: var(--md-primary); }
.material-ui .event-page-official-notices li > small { display: block; margin-top: 6px; color: var(--md-muted); font-size: 9px; line-height: 1.6; }
.material-ui .event-page-official-notices > p { margin: 12px 0 0; color: var(--md-muted); font-size: 9px; line-height: 1.7; }
.material-ui .event-page-planning { margin-top: 30px; padding: 24px; background: #faf6ef; border-radius: 12px; }
.material-ui .event-page-planning h2 { margin: 6px 0 0; color: var(--md-text); font-size: 20px; }
.material-ui .event-page-planning dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 18px 0 0; }
.material-ui .event-page-planning dl div { min-width: 0; padding: 14px; background: #fff; border: 1px solid #e7e0d8; border-radius: 9px; }
.material-ui .event-page-planning dt { color: var(--md-muted); font-size: 10px; font-weight: 800; }
.material-ui .event-page-planning dd { margin: 5px 0 0; color: var(--md-text); font-size: 13px; font-weight: 800; line-height: 1.6; overflow-wrap: anywhere; }
.material-ui .event-page-planning .event-field-source { display: inline-flex; align-items: center; gap: 3px; margin-left: 8px; color: #31536c; font-size: 9px; font-weight: 900; white-space: nowrap; text-decoration: underline; text-decoration-color: #aac3d6; text-underline-offset: 3px; }
.material-ui .event-page-planning dd > small { display: block; margin-top: 3px; color: var(--md-muted); font-size: 8px; font-weight: 700; }
.material-ui .event-page-missing-details { margin: 16px 0 0; color: var(--md-muted); font-size: 11px; line-height: 1.7; }
.material-ui .event-page-beginner { margin-top: 24px; padding: 20px; color: #285638; background: #e5f5e9; border-radius: 12px; }
.material-ui .event-page-beginner strong { font-size: 14px; }
.material-ui .event-page-beginner p { margin: 7px 0 0; font-size: 12px; line-height: 1.7; }
.material-ui .event-page-tags { margin-top: 28px; }
.material-ui .event-page-tags h2,.material-ui .event-page-review h2 { margin: 0; color: var(--md-text); font-size: 20px; }
.material-ui .event-page-tags ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
.material-ui .event-page-tags li { padding: 7px 11px; color: var(--md-muted); background: #f7f2fa; border-radius: 20px; font-size: 11px; font-weight: 800; }
.material-ui .event-page-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 32px; }
.material-ui .event-page-actions .primary-button,.material-ui .event-page-secondary { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 0 22px; border-radius: 8px; font-size: 13px; font-weight: 800; }
.material-ui .event-page-secondary { color: var(--md-primary); background: #fff; border: 1px solid #d8cfc3; }
.material-ui .event-page-review { margin-top: 32px; padding: 24px; background: #fff5e4; border-radius: 12px; }
.material-ui .event-page-review p { margin: 8px 0 0; color: var(--md-muted); font-size: 13px; line-height: 1.7; }
.material-ui .event-page-review a { min-height: 44px; display: inline-flex; align-items: center; margin-top: 16px; padding: 0 18px; color: #fff; background: var(--md-primary); border-radius: 7px; font-size: 12px; font-weight: 800; }
.material-ui .event-page-community { margin-top: 24px; padding: 20px; color: #5d4200; background: #ffdea3; border-radius: 12px; }
.material-ui .event-page-community strong { font-size: 14px; }
.material-ui .event-page-community p { margin: 7px 0 0; font-size: 12px; line-height: 1.7; }
.material-ui .event-page-notes,.material-ui .event-page-experiences { margin-top: 30px; }
.material-ui .event-page-notes h2,.material-ui .event-page-experiences h2 { margin: 0; color: var(--md-text); font-size: 20px; }
.material-ui .event-page-notes p,.material-ui #event-page-review-list > p { margin: 10px 0 0; color: var(--md-muted); font-size: 13px; line-height: 1.8; }
.material-ui .event-page-actions button { border: 0; cursor: pointer; }
.material-ui .event-page-favorite { min-height: 48px; padding: 0 22px; color: #a94619; background: #fff5e4; border-radius: 8px; font-size: 13px; font-weight: 800; }
.material-ui .event-page-favorite.is-favorite { color: #fff; background: #a94619; }
.material-ui #event-page-review-list { display: grid; gap: 12px; margin-top: 14px; }
.material-ui .event-page-review-card { padding: 18px; background: #faf6ef; border: 1px solid #e7e0d8; border-radius: 12px; }
.material-ui .event-page-review-card > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.material-ui .event-page-review-card > div span { color: #e87535; font-size: 12px; }
.material-ui .event-page-review-card small { display: block; margin-top: 3px; color: var(--md-muted); font-size: 10px; }
.material-ui .event-page-review-card h3 { margin: 12px 0 0; color: var(--md-text); font-size: 16px; }
.material-ui .event-page-review-card p { margin: 7px 0 0; color: var(--md-muted); font-size: 12px; line-height: 1.75; white-space: pre-wrap; }
.material-ui .event-page-review-card aside { display: grid; gap: 4px; margin-top: 13px; padding: 12px; color: #5d4200; background: #fff0d8; border-radius: 8px; }
.material-ui .event-page-review-card aside span { font-size: 9px; font-weight: 800; }
.material-ui .event-page-review-card aside strong { font-size: 11px; line-height: 1.6; }
.material-ui .event-recommendations { margin-top: 34px; }
.material-ui .event-recommendation-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 14px; }
.material-ui .event-recommendation-heading h2 { margin: 8px 0 0; color: var(--md-text); font-size: 25px; }
.material-ui .event-recommendation-heading > a { color: var(--md-primary); font-size: 10px; font-weight: 900; }
.material-ui .event-recommendation-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.material-ui .event-recommendation-card { min-width: 0; display: flex; flex-direction: column; gap: 7px; padding: 18px; color: var(--md-text); background: #fff; border: 1px solid #e5ddd2; border-radius: 12px; text-decoration: none; }
.material-ui .event-recommendation-card:hover { border-color: var(--md-primary); box-shadow: 0 6px 18px rgba(76,56,37,.07); }
.material-ui .event-recommendation-card time { color: var(--md-primary); font-size: 11px; font-weight: 900; }
.material-ui .event-recommendation-card strong { font-size: 14px; line-height: 1.55; }
.material-ui .event-recommendation-card span { overflow: hidden; color: var(--md-muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.material-ui .event-recommendation-card small { margin-top: auto; color: var(--md-primary); font-size: 10px; font-weight: 800; }
.material-ui .event-recommendation-reasons { display: flex; flex-wrap: wrap; gap: 5px; margin: 4px 0 6px; padding: 0; list-style: none; }
.material-ui .event-recommendation-reasons li { padding: 4px 7px; color: #5d4200; background: #fff0d8; border-radius: 999px; font-size: 9px; font-weight: 800; }
.material-ui .event-page-disclaimer { margin: 18px 0 0; color: var(--md-muted); font-size: 11px; text-align: center; }
.material-ui .triathlon-rakuten-ad { width: min(100%,840px); display: grid; grid-template-columns: minmax(0,1fr) 300px; align-items: center; gap: 24px; margin: 38px auto; padding: 20px; overflow: hidden; color: var(--md-text); background: #fffaf1; border: 1px solid #e7e0d8; border-radius: 14px; box-sizing: border-box; }
.material-ui .triathlon-rakuten-ad__copy { min-width: 0; }
.material-ui .triathlon-rakuten-ad__copy span { display: inline-flex; align-items: center; min-height: 22px; padding: 0 8px; color: #7b5223; background: #ffe6bd; border-radius: 999px; font-size: 9px; font-weight: 900; letter-spacing: .08em; }
.material-ui .triathlon-rakuten-ad__copy p { margin: 10px 0 0; font-size: 15px; font-weight: 900; line-height: 1.6; }
.material-ui .triathlon-rakuten-ad__copy small { display: block; margin-top: 6px; color: var(--md-muted); font-size: 9px; line-height: 1.6; }
.material-ui .triathlon-rakuten-ad__widget { width: 300px; max-width: 100%; min-height: 160px; margin-inline: auto; overflow: hidden; text-align: center; }
.material-ui .triathlon-rakuten-ad__widget iframe { max-width: 100%; }
.material-ui .handbook-article > .triathlon-rakuten-ad { width: 100%; margin-block: 34px; }
.material-ui .event-page-footer { min-height: 160px; }

.material-ui.favorites-page { min-height: 100vh; padding-bottom: 0; }
.material-ui .favorites-shell { width: min(1180px,calc(100vw - 48px)); min-height: 65vh; margin: 0 auto; padding: 50px 0 80px; }
.material-ui .favorites-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; }
.material-ui .favorites-heading h1 { margin: 10px 0 0; color: var(--md-text); font-size: clamp(34px,5vw,54px); letter-spacing: -.04em; }
.material-ui .favorites-heading p:not(.section-kicker) { margin: 12px 0 0; color: var(--md-muted); font-size: 13px; }
.material-ui .favorites-heading > a,.material-ui .favorites-empty a { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; padding: 0 20px; color: #fff; background: var(--md-primary); border-radius: 8px; font-size: 12px; font-weight: 800; }
.material-ui .favorites-summary { display: flex; gap: 14px; align-items: baseline; margin: 38px 0 14px; }
.material-ui .favorites-summary strong { color: var(--md-text); font-size: 18px; }
.material-ui .favorites-summary span { color: var(--md-muted); font-size: 11px; }
.material-ui .favorites-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.material-ui .favorite-event-card { min-width: 0; display: flex; flex-direction: column; padding: 22px; background: #fff; border: 1px solid #e5ddd2; border-top: 5px solid #ffcb45; border-radius: 12px; }
.material-ui .favorite-event-card__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.material-ui .favorite-event-card__head span { color: #5d4200; background: #fff0d8; border-radius: 999px; padding: 5px 9px; font-size: 9px; font-weight: 800; }
.material-ui .favorite-event-card__head button { width: 40px; height: 40px; color: #a94619; background: #fff5e4; border: 0; border-radius: 50%; font-size: 17px; cursor: pointer; }
.material-ui .favorite-event-card > time { margin-top: 16px; color: var(--md-primary); font-size: 11px; font-weight: 900; }
.material-ui .favorite-event-card h2 { margin: 8px 0 0; font-size: 19px; line-height: 1.5; }
.material-ui .favorite-event-card h2 a { color: var(--md-text); }
.material-ui .favorite-event-card > p { margin: 8px 0 0; color: var(--md-muted); font-size: 12px; }
.material-ui .favorite-event-card > div:not(.favorite-event-card__head) { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 15px; }
.material-ui .favorite-event-card > div:not(.favorite-event-card__head) span { padding: 5px 8px; color: var(--md-muted); background: #f7f2fa; border-radius: 999px; font-size: 9px; }
.material-ui .favorite-event-card__link { min-height: 42px; display: flex; align-items: center; justify-content: center; margin-top: 18px; color: #fff; background: var(--md-primary); border-radius: 7px; font-size: 11px; font-weight: 800; }
.material-ui .favorites-empty { padding: 70px 20px; color: var(--md-muted); background: #fff; border: 1px dashed #cac4d0; border-radius: 16px; text-align: center; }
.material-ui .favorites-empty > span { color: var(--md-primary); font-size: 46px; }
.material-ui .favorites-empty h2 { margin: 10px 0 0; color: var(--md-text); }
.material-ui .favorites-empty p { margin: 8px 0 20px; font-size: 13px; }

.material-ui.collection-page { min-height: 100vh; padding-bottom: 0; }
.material-ui .collection-shell { width: min(1180px,calc(100vw - 48px)); min-height: 65vh; margin: 0 auto; padding: 38px 0 80px; }
.material-ui .collection-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-top: 22px; padding: 34px; background: linear-gradient(115deg,#fffdf8,#fff0d8); border: 1px solid #eadfce; border-top: 6px solid #ffcb45; border-radius: 14px; }
.material-ui .collection-heading h1 { max-width: 800px; margin: 8px 0 0; color: var(--md-text); font-size: clamp(32px,4.8vw,52px); line-height: 1.3; letter-spacing: -.035em; }
.material-ui .collection-heading > div:first-child > p:not(.section-kicker) { max-width: 720px; margin: 14px 0 0; color: var(--md-muted); font-size: 13px; line-height: 1.8; }
.material-ui .collection-summary { flex: 0 0 auto; display: grid; justify-items: end; padding-left: 26px; border-left: 1px solid #dfcfbb; }
.material-ui .collection-summary strong { color: var(--md-primary); font-size: 34px; line-height: 1; }
.material-ui .collection-summary span { margin-top: 5px; color: var(--md-text); font-size: 11px; font-weight: 900; }
.material-ui .collection-summary small { margin-top: 10px; color: var(--md-muted); font-size: 9px; }
.material-ui .collection-related { margin-top: 20px; padding: 20px; background: #fff; border: 1px solid #e7e0d8; border-radius: 12px; }
.material-ui .collection-related > strong { display: block; margin-bottom: 12px; font-size: 12px; }
.material-ui .collection-related > div { display: flex; flex-wrap: wrap; gap: 7px; }
.material-ui .collection-event-list { margin-top: 42px; }
.material-ui .collection-list-heading h2 { margin: 7px 0 0; color: var(--md-text); font-size: 27px; }
.material-ui .collection-event-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-top: 18px; }
.material-ui .collection-event-card { min-width: 0; display: flex; flex-direction: column; padding: 20px; background: #fff; border: 1px solid #e5ddd2; border-radius: 12px; }
.material-ui .collection-event-card > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.material-ui .collection-event-card time { color: var(--md-primary); font-size: 10px; font-weight: 900; }
.material-ui .collection-status { padding: 5px 8px; color: #49454f; background: #e7e0ec; border-radius: 999px; font-size: 9px; font-weight: 900; white-space: nowrap; }
.material-ui .collection-status.is-open { color: #146c2e; background: #c4eed0; }
.material-ui .collection-status.is-closed { color: #5f5952; background: #ece7e1; }
.material-ui .collection-event-card .deadline-countdown { margin-top: 10px; }
.material-ui .collection-event-card h2 { margin: 13px 0 0; font-size: 18px; line-height: 1.55; }
.material-ui .collection-event-card h2 a { color: var(--md-text); }
.material-ui .collection-event-location { margin: 8px 0 0; overflow: hidden; color: var(--md-muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.material-ui .collection-event-card ul { display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 0 0; padding: 0; list-style: none; }
.material-ui .collection-event-card li { padding: 5px 8px; color: var(--md-muted); background: #f7f2fa; border-radius: 999px; font-size: 9px; }
.material-ui .collection-event-link { min-height: 42px; display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 16px; color: var(--md-primary); font-size: 10px; font-weight: 900; }
.material-ui .collection-empty { margin-top: 40px; padding: 64px 24px; color: var(--md-muted); background: #fff; border: 1px dashed #cac4d0; border-radius: 14px; text-align: center; }
.material-ui .collection-empty > span { color: var(--md-primary); font-size: 42px; }
.material-ui .collection-empty h2 { margin: 8px 0 0; color: var(--md-text); }
.material-ui .collection-empty p { max-width: 620px; margin: 9px auto 20px; font-size: 12px; line-height: 1.8; }
.material-ui .collection-empty a { min-height: 44px; display: inline-flex; align-items: center; padding: 0 18px; color: #fff; background: var(--md-primary); border-radius: 7px; font-size: 11px; font-weight: 800; }
.material-ui .collection-search-cta { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 38px; padding: 28px; color: var(--md-text); background: #fff5e4; border-radius: 12px; }
.material-ui .collection-search-cta h2 { margin: 7px 0 0; font-size: 24px; }
.material-ui .collection-search-cta p:not(.section-kicker) { margin: 8px 0 0; color: var(--md-muted); font-size: 11px; }
.material-ui .collection-search-cta > a { min-height: 46px; display: inline-flex; align-items: center; gap: 20px; flex: 0 0 auto; padding: 0 18px; color: #fff; background: var(--md-primary); border-radius: 7px; font-size: 11px; font-weight: 900; }

@media (max-width: 1020px) {
  .material-ui .hero-inner { grid-template-columns: 1fr 1fr; gap: 28px; }
  .material-ui .finder-form { grid-template-columns: 1fr 1fr; }
  .material-ui .finder-form .field:nth-child(4) { grid-column: auto; }
  .material-ui .event-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .material-ui .personalized-grid,.material-ui .collection-event-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .material-ui .guide-preview { gap: 36px; }
  .material-ui .guide-content { grid-template-columns: 1fr; }
  .material-ui .guide-distance,.material-ui .guide-raceday,.material-ui .guide-sources { grid-column: 1; }
  .material-ui .race-timeline { grid-template-columns: repeat(3,1fr); }
  .material-ui .race-timeline > div:nth-child(4) { border-left: 0; border-top: 1px solid #e7e0ec; }
  .material-ui .race-timeline > div:nth-child(5),.material-ui .race-timeline > div:nth-child(6) { border-top: 1px solid #e7e0ec; }
}
@media (max-width: 760px) {
  .material-ui .site-header { min-height: 60px; padding: 8px 14px; }
  .material-ui .event-page { width: calc(100vw - 24px); padding: 20px 0 40px; }
  .material-ui .event-page-card { padding: 24px 16px; border-radius: 16px; }
  .material-ui .event-page-heading h1 { font-size: 30px; }
  .material-ui .event-page-facts { grid-template-columns: 1fr 1fr; }
  .material-ui .event-page-facts div { padding: 14px; }
  .material-ui .event-page-source { grid-template-columns: 1fr; padding: 16px 14px; }
  .material-ui .event-page-source > small { grid-column: 1; }
  .material-ui .event-page-planning { padding: 20px 14px; }
  .material-ui .event-page-official-notices { padding: 20px 14px; }
  .material-ui .event-page-planning dl { grid-template-columns: 1fr; }
  .material-ui .event-page-actions > * { width: 100%; }
  .material-ui .event-recommendation-grid,.material-ui .favorites-grid { grid-template-columns: 1fr; }
  .material-ui .event-recommendation-heading,.material-ui .favorites-heading { align-items: flex-start; flex-direction: column; }
  .material-ui .triathlon-rakuten-ad { grid-template-columns: 1fr; gap: 14px; padding: 16px; text-align: center; }
  .material-ui .favorites-shell { width: calc(100vw - 24px); padding: 30px 0 90px; }
  .material-ui .favorites-heading > a { width: 100%; }
  .material-ui .favorites-summary { align-items: flex-start; flex-direction: column; gap: 4px; margin-top: 26px; }
  .material-ui .hero-inner { width: calc(100vw - 32px); min-height: 0; grid-template-columns: 1fr; gap: 0; padding: 14px 0 16px; }
  .material-ui .hero h1 { font-size: 29px; }
  .material-ui .hero h1 > span { font-size: 29px; line-height: 1.3; }
  .material-ui .hero h1 > small { font-size: 21px; }
  .material-ui .hero-lead { margin: 9px 0 6px; font-size: 13px; line-height: 1.7; }
  .material-ui .hero-actions { align-items: center; flex-flow: row wrap; gap: 6px; }
  .material-ui .hero-actions .primary-button { display: none; }
  .material-ui .hero-actions .text-link { min-height: 40px; padding: 0 8px; }
  .material-ui .hero-card-wrap { display: none; }
  .material-ui .brand-copy small { font-size: 9px; line-height: 1.25; }
  .material-ui .search-dock { width: calc(100vw - 24px); margin-top: 8px; padding: 18px 14px; border-radius: 16px; }
  .material-ui .event-directory,.material-ui .personalized-events { width: calc(100vw - 24px); margin-top: 18px; padding: 20px 14px; }
  .material-ui .event-directory-heading { display: block; }
  .material-ui .event-directory-heading h2,.material-ui .personalized-heading h2 { font-size: 22px; }
  .material-ui .event-directory-heading > p:not(.section-kicker) { margin-top: 7px; line-height: 1.6; }
  .material-ui .event-directory-groups { grid-template-columns: 1fr; gap: 10px; margin-top: 16px; }
  .material-ui .event-directory-groups details { padding: 14px 12px; }
  .material-ui .personalized-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
  .material-ui .personalized-grid { grid-template-columns: 1fr; }
  .material-ui .collection-shell { width: calc(100vw - 24px); padding: 20px 0 90px; }
  .material-ui .collection-heading { align-items: flex-start; flex-direction: column; gap: 20px; margin-top: 16px; padding: 24px 16px; }
  .material-ui .collection-heading h1 { font-size: 31px; }
  .material-ui .collection-summary { width: 100%; justify-items: start; padding: 18px 0 0; border-top: 1px solid #dfcfbb; border-left: 0; }
  .material-ui .collection-related { padding: 16px 12px; }
  .material-ui .collection-event-list { margin-top: 32px; }
  .material-ui .collection-list-heading h2 { font-size: 23px; }
  .material-ui .collection-event-grid { grid-template-columns: 1fr; }
  .material-ui .collection-search-cta { align-items: flex-start; flex-direction: column; padding: 22px 16px; }
  .material-ui .collection-search-cta > a { width: 100%; justify-content: center; }
  .material-ui .search-heading { align-items: flex-start; flex-direction: column; gap: 10px; }
  .material-ui .finder-form { grid-template-columns: 1fr 1fr; }
  .material-ui .keyword-field { grid-column: 1/-1; }
  .material-ui .field > span,.material-ui .quick-filters legend { font-size: 12px; }
  .material-ui .quick-filters span { min-height: 44px; padding: 7px 13px; font-size: 12px; }
  .material-ui .section-bar,.material-ui .event-grid,.material-ui .active-filters,.material-ui .event-list-more,.material-ui .calendar-panel,.material-ui .guide-section,.material-ui .final-cta { width: calc(100vw - 24px); }
  .material-ui .event-grid { grid-template-columns: 1fr; margin-top: 12px; }
  .material-ui .event-list-more button { width: 100%; justify-content: center; }
  .material-ui .events-section { padding: 36px 0 42px; }
  .material-ui .section-bar { gap: 10px; }
  .material-ui .active-filters { margin-top: 12px; }
  .material-ui .event-list-more { margin-top: 20px; padding-top: 18px; }
  .material-ui .calendar-contribute { align-items: flex-start; flex-direction: column; }
  .material-ui .calendar-contribute button { width: 100%; }
  .material-ui .calendar-weekdays,.material-ui .calendar-grid { display: none; }
  .material-ui .calendar-agenda { margin-top: 18px; }
  .material-ui .calendar-agenda-item { grid-template-columns: 72px minmax(0,1fr); gap: 10px; padding: 12px 10px; }
  .material-ui .calendar-agenda-item small { font-size: 12px; }
  .material-ui .calendar-agenda-item em { grid-column: 2; width: max-content; }
  .material-ui .calendar-agenda-item em { font-size: 10px; }
  .material-ui .calendar-help { font-size: 12px; line-height: 1.6; }
  .material-ui .community-event-dialog { padding: 24px 16px; }
  .material-ui .community-event-dialog form { grid-template-columns: 1fr; }
  .material-ui .community-event-dialog form > * { grid-column: 1!important; }
  .material-ui .guide-preview { width: calc(100vw - 24px); grid-template-columns: 1fr; gap: 20px; margin: 22px auto; padding: 22px 16px; border-radius: 18px; }
  .material-ui .guide-preview-copy { max-width: none; }
  .material-ui .guide-preview-copy { order: -1; }
  .material-ui .guide-preview-copy > p:not(.section-kicker) { margin-top: 12px; }
  .material-ui .guide-preview-copy ol { margin-top: 18px; }
  .material-ui .guide-preview-copy li { padding: 10px 0; }
  .material-ui .guide-preview-link { margin-top: 18px; }
  .material-ui .voices-section { padding: 44px 0; }
  .material-ui .voice-layout { margin-top: 24px; }
  .material-ui .empty-review { min-height: 220px; padding: 24px 18px; }
  .material-ui .final-cta { gap: 18px; padding: 34px 18px; }
  .material-ui .site-footer { padding: 30px 18px 24px; }
  .material-ui .mobile-nav a,.material-ui .mobile-nav button { font-size: 10px; }
  .material-ui .guide-section { padding: 72px 0; }
  .material-ui .guide-intro h2 { font-size: 30px; }
  .material-ui .guide-module { padding: 22px 16px; border-radius: 16px; }
  .material-ui .guide-module h3 { font-size: 21px; }
  .material-ui .distance-table { overflow-x: auto; }
  .material-ui .distance-row { min-width: 660px; grid-template-columns: 130px 230px 1fr; }
  .material-ui .readiness-panel { grid-template-columns: 1fr; padding: 18px 14px; }
  .material-ui #readiness-result { grid-column: 1; align-items: flex-start; flex-direction: column; gap: 3px; }
  .material-ui .entry-checklist { grid-template-columns: 1fr; }
  .material-ui .race-timeline { grid-template-columns: 1fr; }
  .material-ui .race-timeline > div + div,.material-ui .race-timeline > div:nth-child(4) { border-top: 1px solid #e7e0ec; border-left: 0; }
  .material-ui .safety-callout,.material-ui .guide-sources { align-items: flex-start; flex-direction: column; }
  .material-ui .guide-sources { padding: 22px 18px; }
  .material-ui .guide-sources nav { width: 100%; flex-basis: auto; }
}
