#contents-wrapper{
  width: 1000px;
  text-align: center;
  margin: 0 auto;
}

/* index */
.search {
    width: 1000px;
    margin: 40px auto;
}

.search-tab-btn {
    font-size: 24px;
    cursor: pointer;
    width: 100%;
    padding: 10px;
    color: #091E55;
    background: white;
    border: solid 2px;
    border-color: #091E55 #091E55 transparent #091E55;
}

.search-tab-btn {
    background: #091E55;
    color: white;
}

.search-input-common {
    display: flex;
    margin: 10px 0;
}

.search-input {
    padding: 20px 80px 10px;
    border: solid 2px #091E55;
    position: relative;
    margin-bottom: 20px;
}

.search-result {
    border: solid 2px #091E55;
    border-top: none;
}

.search-run {
    position: absolute;
    bottom: 20px;
    right: 20px;
    background: #091E55;
    color: #fff;
    padding: 10px;
    font-size: 20px;
    width: 200px;
    text-align: center;
    border-radius: 5px;
}

.search-run {
    right: 80px;
}

.search-run:hover {
    opacity: 0.8;
}

.box-title {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 5px;
    text-align: center;
    background-color: #091E55;
    color: #FFFFFF;
    border-radius: 0.4em;
    position: relative;
}

.result-table-area {
    width: 90%;
    margin-top: 10px;
    margin-bottom: 10px;
    margin-left: auto;
    margin-right: auto;
}

.result-table-area table {
    width: 100%;
}

.result-table-area td {
    font-size: 18px;
    text-align: center;
}

.result-table-area tr:nth-child(odd) {
    background-color: rgba(0, 0, 0, 0.2);
}

.result-table-area tr:nth-child(even) {
    background-color: rgba(0, 0, 0, 0.1);
}

td a:link {
    text-decoration: underline;
}

.slide-triangle {
    position: absolute;
    top: 7px;
    right: 15px;
    border-right: 13px solid transparent;
    border-bottom: 20px solid white;
    border-left: 13px solid transparent;
    transition: 0.5s;
}

.slide-triangle-active {
    transform: rotate(180deg);
}

/* nation */
.content {
    width: 1000px;
    margin: 0 auto;
}

.box-header {
    margin-bottom: 5px;
    text-align: center;
    background-color: #091E55;
    color: #FFFFFF;
    border-radius: 0.2em;
}

.table {
    text-align: center;
    font-weight: bold;
}

.nation-flag {
    width: 200px;
}

.result-table-area-race {
    width: 95%;
    margin: 0 auto;
}

.result-table-area table,
.result-table-area tr,
.result-table-area th,
.result-table-area td {
    border: 2px solid #FFFFFF;
    border-collapse: collapse;
    padding: 4px;
}

.result-table-area th {
    margin-bottom: 5px;
    text-align: center;
    background-color: #091E55;
    color: #FFFFFF;
    border-radius: 0.2em;
}

.box-title-inner {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 5px;
    text-align: center;
    background-color: #091E55;
    color: #FFFFFF;
    border-radius: 0.4em;
    position: relative;
}

.related {
    width: 95%;
    margin: 0 auto;
}

/* athlete */
.nation-flag-athlete {
    width: 50px;
}

/* race */
.nation-flag-indi {
    width: 35px;
}

.related2 {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}

.left {
    text-align: left;
}

/* search */
.search-run-s {
    right: 80px;
}

/* .search-result {
    display: none !important;
} */

.nation-flag-s {
    width: 50px;
}
:root{
    --aqua:#0FAFCE;
    --aqua-deep:#0A7C9B;
    --aqua-pale:#EAF7FA;
    --semi:#C9922B;
    --semi-pale:#FBF3E2;
    --final-accent:#C9557B;
    --final-pale:#FCEEF1;
    --navy-text:#12262F;
    --sub-text:#5C7480;
    --line:#E3ECEF;
    --white:#FFFFFF;
    --time-final:#9E76B4;
  }
      .display{font-family:'Shippori Antique B1','Noto Sans JP',sans-serif;}
      .mono{font-family:'JetBrains Mono',monospace;}
    
      .topbar{
        display:flex; justify-content:space-between; align-items:center;
        padding:22px 6vw; font-size:13px; letter-spacing:0.08em; color:var(--aqua-deep);
        border-bottom:1px solid var(--line);
      }
      .topbar .brand{ font-weight:700; color:var(--navy-text); }
    
      main{ padding:32px 6vw 80px; max-width:960px; margin:0 auto; }
    
      /* ---------- BREADCRUMB ---------- */
      .breadcrumb{ font-size:13px; color:var(--sub-text); margin-bottom:26px; }
      .breadcrumb a{ color:var(--aqua-deep); text-decoration:none; font-weight:700; }
      .breadcrumb a:hover{ text-decoration:underline; }
      .breadcrumb .sep{ margin:0 8px; color:#B7C6CC; }
    
      .page-head{ margin-bottom:32px; }
      .page-head .eyebrow{
        font-size:12px; letter-spacing:0.12em; color:var(--aqua-deep); font-weight:700; margin-bottom:10px;
        display:flex; align-items:center; gap:10px;
        margin-top: 10px;
      }
      .page-head .eyebrow::before{ content:""; width:24px; height:2px; background:var(--aqua-deep); display:inline-block; }
      .page-head h1{ 
        font-size:clamp(26px,3.4vw,34px);
        font-weight: bold;
         margin:0; 
         text-align: left;
        }
    
      /* ---------- RECORD CARDS ---------- */
      .record-grid{ 
        display:grid; 
        grid-template-columns:1fr 1fr; 
        gap:16px; 
        margin-bottom:44px; }
      .record-card{
        border-radius:8px; 
        padding:20px 22px; 
        border:1px solid var(--line);
        text-align: left;
      }
      .record-card.wr{
         background:var(--semi-pale); 
         font-weight: bold;
        }
      .record-card.nr{
         background:var(--aqua-pale); 
        }
      .record-card .lbl{
        display:inline-block; 
        font-size:11px; 
        font-weight:700; 
        letter-spacing:0.04em;
        color:var(--white); 
        padding:3px 10px; 
        border-radius:100px; 
        margin-bottom:12px;
      }
      .record-card.wr .lbl{ 
        background:var(--semi); 
    }
      .record-card.nr .lbl{ 
        background:var(--aqua-deep); 
    }
      .record-card .time{ 
        font-size:30px; 
        font-weight:700; 
        color:var(--navy-text); 
        margin-bottom:10px; 
    }
      .record-card .names{ 
        font-size:13.5px; 
        color:var(--navy-text); 
        line-height:1.6; 
        margin-bottom:8px; 
    }
      .record-card .meta{ font-size:12px; color:var(--sub-text); }
    
      /* ---------- SESSION ACCORDION ---------- */
      .session-group{ margin-bottom:16px; border-radius:8px; overflow:hidden; border:1px solid var(--line); }
      .session-toggle{
        width:100%; display:flex; justify-content:space-between; align-items:center;
        border:none; padding:15px 22px; cursor:pointer;
        font-family:'Noto Sans JP',sans-serif; font-size:15px; font-weight:700; letter-spacing:0.02em;
        color:var(--white);
      }
      .session-group.final .session-toggle{ background:var(--final-accent); }
      .session-group.semi .session-toggle{ background:var(--semi); }
      .session-group.prelim .session-toggle{ background:var(--aqua-deep); }
      .session-group.time-final .session-toggle{ background:var(--time-final); }
      .session-toggle .arrow{
        width:10px; height:10px; border-right:2px solid var(--white); border-bottom:2px solid var(--white);
        transform:rotate(45deg); transition:transform .2s;
      }
      .session-group.open .session-toggle .arrow{ transform:rotate(-135deg); }
      .session-body{ display:none; background:var(--white); }
      .session-group.open .session-body{ display:block; }
    
      .rank-row{
        display:grid; grid-template-columns:44px 1.4fr 1.4fr 90px;
        align-items:center; gap:16px;
        padding:14px 22px; border-bottom:1px solid var(--line);
      }
      .rank-row:last-child{ border-bottom:none; }
      .rank-row:hover{ background:#F7FBFC; }
      .rank-row.header{
        font-size:11px; color:var(--sub-text); letter-spacing:0.05em; padding:10px 22px; background:#F7FBFC;
      }
      .rank-no{
        font-family:'JetBrains Mono',monospace; font-weight:700; font-size:14px; color:var(--navy-text);
      }
      .rank-row:nth-child(2) .rank-no, .rank-row:nth-child(2){ }
      .country{ display:flex; align-items:center; gap:8px; font-weight:700; font-size:14px; }
      .country .flag{ font-size:16px; }
      .swimmers{ font-size:13px; color:var(--sub-text); line-height:1.7; }
      .swimmers b{ color:var(--navy-text); font-weight:700; }
      .rank-time{ font-family:'JetBrains Mono',monospace; font-weight:700; text-align:right; }
    
      .medal-1 .rank-no{ color:var(--semi); }
      .medal-2 .rank-no{ color:#8C99A0; }
      .medal-3 .rank-no{ color:#B5722F; }
      .box-title-inner.related2{
        font-size: 24px;
        font-weight: bold;
        margin-top: 10px;
        margin-bottom: 10px;
        text-align: center;
        background-color: aliceblue;
        color: black;
        border-radius: 0.4em;
        position: relative;
    }
    .related2 .slide-triangle {
        position: absolute;
        top: 11px;
        right: 15px;
        border-right: 12px solid transparent;
        border-bottom: 16px solid black;
        border-left: 12px solid transparent;
        transition: 0.5s;
    }
    .rank-row2 {
        display: grid;
        grid-template-columns: 85px 1fr 1.4fr 90px 0.5fr;
        align-items: center;
        gap: 16px;
        padding: 14px 22px;
        border-bottom: 1px solid var(--line);
    }
    .box-title-inner{
        margin-bottom: 16px;
        border-radius: 8px;
        overflow: hidden;
        border: 1px solid var(--line);
    }
    .box-title-inner{
        margin-bottom: 7px;
        border-radius: 8px;
        overflow: hidden;
        border: 1px solid var(--line);
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        border: none;
        padding: 15px 22px;
        cursor: pointer;
        font-family: 'Noto Sans JP', sans-serif;
        font-size: 15px;
        font-weight: 700;
        letter-spacing: 0.02em;
        color: var(--white);
    }
    .box-title-inner.final{ background:var(--final-accent); }
    .box-title-inner.semi{ background:var(--semi); }
    .box-title-inner.prelim{ background:var(--aqua-deep); }
    .box-title-inner.time-final{ background:var(--time-final); }
    .result-table-area-race {
        width: 100%;
        margin: 0 auto;
    }
    .result-table-area th {
        margin-bottom: 7px;
        text-align: center;
        background-color: #F7FBFC;
        color: #FFFFFF;
        border-radius: 0.2em;
        font-size: 11px;
        color: var(--sub-text);
        letter-spacing: 0.05em;
        padding: 10px 22px;
    }
    .result-table-area table, .result-table-area tr, .result-table-area th, .result-table-area td {
        border: 0px solid #FFFFFF;
        border-collapse: collapse;
        padding: 4px;
    }
    .result-table-area tr:nth-child(odd) {
        background-color: rgba(0, 0, 0, 0);
    }
    .result-table-area tr:nth-child(even) {
        background-color: rgba(0, 0, 0, 0);
    }
    .result-table-area table, .result-table-area tr, .result-table-area th, .result-table-area td {
        border: 0px solid #FFFFFF;
        border-bottom: 1px solid rgba(0, 0, 0, 0.1);
        border-collapse: collapse;
        padding: 15px;
        text-align: left;
    }
    .box-title-inner.related2 {
        font-size: 15px;
        font-weight: 200;
        margin-top: 10px;
        margin-bottom: 10px;
        text-align: center;
        background-color: aliceblue;
        color: black;
        border-radius: 0.4em;
        position: relative;
        padding: 11px;
    }
    /* ---------- LEGEND ---------- */
  .legend{ display:flex; gap:18px; margin-bottom:28px; flex-wrap:wrap; }
  .legend span{ display:flex; align-items:center; gap:7px; font-size:12px; color:var(--sub-text); }
  .legend .sw{ width:10px; height:10px; border-radius:3px; display:inline-block; }

  .session-pill{
    flex-shrink:0; font-size:11px; font-weight:700; letter-spacing:0.03em;
    padding:4px 11px; border-radius:100px; color:var(--white); min-width:64px; text-align:center;
  }
  .session-pill.prelim{ background:var(--aqua); }
  .session-pill.semi{ background:var(--semi); }
  .session-pill.final{ background:var(--final-accent); }
  .session-pill.time-final{ background:var(--time-final); }
