/* v8: seat-history.php と同じ sg-page-title 構造・CSS */
.oshi-sort-page-body{min-height:100vh}
.sg-page-title{box-sizing:border-box;width:100%;max-width:1000px;margin:6px auto 20px;padding:0 20px;color:#24364d;font-family:'Noto Sans JP',system-ui,sans-serif;text-align:left}
.sg-page-title .sg-title-eyebrow{display:block;margin:0 0 6px;padding:0;font-size:11px;line-height:1.6;font-weight:400;letter-spacing:2px;color:#5c8293}
.sg-page-title h1{display:block;margin:0;padding:0;font-family:inherit;font-size:clamp(26px,3vw,36px);line-height:1.45;font-weight:700;letter-spacing:normal;color:#24364d;overflow-wrap:anywhere}
.sg-page-title .sg-title-description{display:block;margin:8px 0 0;padding:0;font-size:13px;line-height:1.8;font-weight:400;letter-spacing:normal;color:#667c8d}
@media(max-width:600px){.sg-page-title{padding:0 12px;margin-top:4px;margin-bottom:18px}.sg-page-title .sg-title-eyebrow{font-size:10px;margin-bottom:6px}.sg-page-title .sg-title-description{margin-top:8px;font-size:12px}}
.oshi-sort-page-shell{overflow:hidden;border:1px solid var(--oshi-page-line);border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.055)}
.oshi-sort-page-shell .oshimen-modal{position:static!important;inset:auto!important;z-index:auto!important;display:block!important;padding:0!important}
.oshi-sort-page-shell .oshimen-modal-panel{position:static!important;display:flex!important;width:100%!important;max-height:none!important;min-height:650px!important;overflow:visible!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;animation:none!important}
.oshi-sort-page-shell .oshimen-modal-panel::before{display:none!important}
.oshi-sort-page-shell .oshi-sort-view{display:flex!important;min-height:650px!important;background:#fff!important}
.oshi-sort-page-shell .oshi-sort-head{padding:15px 20px 13px!important;border-bottom:1px solid var(--oshi-page-line)!important;background:#fff!important;backdrop-filter:none!important}
.oshi-sort-page-shell .oshi-sort-head-kicker{color:#64748b!important;letter-spacing:.15em!important}
.oshi-sort-page-shell .oshi-sort-head-title{color:var(--oshi-page-navy)!important;font-size:18px!important}
.oshi-sort-page-shell #oshiSortBack,.oshi-sort-page-shell #oshiSortClose{display:none!important}
.oshi-sort-page-shell .oshi-sort-stage{padding:22px 24px 30px!important}
.oshi-sort-page-shell .oshi-sort-setup{width:min(100%,760px)!important}
.oshi-sort-page-shell .oshi-sort-setup-hero{padding-top:8px!important}
.oshi-sort-page-shell .oshi-sort-setup-kicker,.oshi-sort-page-shell .oshi-sort-setup-catch{color:#64748b!important}
.oshi-sort-page-shell .oshi-sort-setup-hero h3,.oshi-sort-page-shell .oshi-sort-result-hero h3,.oshi-sort-page-shell .oshi-sort-history-intro h3,.oshi-sort-page-shell .oshi-sort-history-login h3{color:var(--oshi-page-navy)!important}
.oshi-sort-page-shell .oshi-sort-setup-ranking,.oshi-sort-page-shell .oshi-sort-team-select,.oshi-sort-page-shell .oshi-sort-history-card{border-color:var(--oshi-page-line)!important;box-shadow:none!important}
.oshi-sort-page-shell .oshi-sort-setup-ranking-head,.oshi-sort-page-shell .oshi-sort-team-select-title,.oshi-sort-page-shell .oshi-sort-section-title{color:#334155!important}
.oshi-sort-page-shell .oshi-sort-setup-ranking-head a,.oshi-sort-page-shell .oshi-sort-ranking-link,.oshi-sort-page-shell .oshi-sort-history-entry-button{color:#1d4ed8!important}
.oshi-sort-page-shell .oshi-sort-setup-ranking-cta{color:#475569!important}
.oshi-sort-page-shell .oshi-sort-team-option.is-selected{border-color:#93a4bd!important;background:#f1f5f9!important;color:var(--oshi-page-navy)!important;box-shadow:inset 0 0 0 1px rgba(23,37,84,.06)!important}
.oshi-sort-page-shell .oshi-sort-team-option.is-selected .oshi-sort-team-check{border-color:var(--oshi-page-navy)!important;background:var(--oshi-page-navy)!important}
.oshi-sort-page-shell .oshi-sort-result-button.primary,.oshi-sort-page-shell .oshi-sort-restart{border-color:var(--oshi-page-navy)!important;background:var(--oshi-page-navy)!important;color:#fff!important}
.oshi-sort-page-shell .oshi-sort-result-button{border-color:#cbd5e1!important;color:#334155!important}
.oshi-sort-page-shell .oshi-sort-progress-bar{background:var(--oshi-page-navy)!important}
.oshi-sort-page-shell .oshi-sort-progress-track{background:#e2e8f0!important}
.oshi-sort-page-shell .oshi-sort-progress-row{color:#475569!important}
.oshi-sort-page-shell .oshi-sort-progress-row strong{color:var(--oshi-page-navy)!important}
.oshi-sort-page-shell .oshi-sort-card{border-color:var(--oshi-page-line)!important;box-shadow:0 7px 22px rgba(15,23,42,.06)!important}
.oshi-sort-page-shell .oshi-sort-card:hover{border-color:#94a3b8!important;box-shadow:0 10px 28px rgba(15,23,42,.1)!important}
.oshi-sort-page-shell .oshi-sort-team{background:#f1f5f9!important;color:#475569!important}
.oshi-sort-page-shell .oshi-sort-rank,.oshi-sort-page-shell .oshi-sort-result-team{color:#334155!important}
@media(max-width:700px){.oshi-sort-page-main{width:min(100% - 20px,1120px);padding-top:20px}.oshi-sort-page-lead{margin-bottom:16px}.oshi-sort-page-shell{border-radius:14px}.oshi-sort-page-shell .oshimen-modal-panel,.oshi-sort-page-shell .oshi-sort-view{min-height:600px!important}.oshi-sort-page-shell .oshi-sort-head{padding:12px 12px 10px!important}.oshi-sort-page-shell .oshi-sort-stage{padding:14px 10px 22px!important}}


/* v10: 外側の sg-page-title を唯一のページタイトルにする */
.oshi-sort-page-shell .oshi-sort-head{display:none!important}
.oshi-sort-page-shell .oshi-sort-stage{padding-top:28px!important}
.oshi-sort-page-shell .oshi-sort-setup-hero{padding-top:0!important;margin-bottom:22px!important}
.oshi-sort-page-shell .oshi-sort-setup-hero::before{content:"RANKING";display:block;width:34px;height:2px;margin:0 auto 14px;background:#e79543;border-radius:999px}
.oshi-sort-page-shell .oshi-sort-setup-kicker{font-size:10px!important;letter-spacing:.18em!important;color:#73869a!important}
.oshi-sort-page-shell .oshi-sort-setup-catch{margin-top:5px!important;font-size:12px!important;color:#667c8d!important}
.oshi-sort-page-shell .oshi-sort-setup-hero h3{margin-top:7px!important;font-size:clamp(24px,3vw,34px)!important;line-height:1.35!important;letter-spacing:.01em!important}
.oshi-sort-page-shell .oshi-sort-setup-hero p{margin-top:10px!important;color:#667c8d!important;font-size:12px!important;line-height:1.75!important}
.oshi-sort-page-shell .oshi-sort-setup-ranking{border:1px solid #dfe6ee!important;border-radius:16px!important;background:#fff!important}
.oshi-sort-page-shell .oshi-sort-team-select{margin-top:14px!important;border:1px solid #dfe6ee!important;border-radius:16px!important;background:#fbfcfe!important}
.oshi-sort-page-shell .oshi-sort-team-option{border-color:#d8e2ec!important;background:#fff!important}
.oshi-sort-page-shell .oshi-sort-history-entry{margin-top:22px!important}
@media(max-width:700px){
  .oshi-sort-page-shell .oshi-sort-stage{padding-top:22px!important}
  .oshi-sort-page-shell .oshi-sort-setup-hero{margin-bottom:18px!important}
  .oshi-sort-page-shell .oshi-sort-setup-hero h3{font-size:24px!important}
}

/* v12: setup screen — simpler ranking heading / flatter panels / cleaner controls */
.oshi-sort-page-shell .oshi-sort-stage{padding-top:24px!important}
.oshi-sort-page-shell .oshi-sort-setup-hero{margin:0 0 18px!important;padding:0!important;text-align:left!important}
.oshi-sort-page-shell .oshi-sort-setup-hero::before{display:none!important;content:none!important}
.oshi-sort-page-shell .oshi-sort-setup-kicker,
.oshi-sort-page-shell .oshi-sort-setup-catch,
.oshi-sort-page-shell .oshi-sort-setup-hero>p{display:none!important}
.oshi-sort-page-shell .oshi-sort-setup-hero h3{margin:0!important;font-size:20px!important;line-height:1.5!important;font-weight:800!important;letter-spacing:0!important;color:#24364d!important;text-align:left!important}

/* ranking: remove the heavy enclosing frame */
.oshi-sort-page-shell .oshi-sort-setup-ranking{margin-top:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.oshi-sort-page-shell .oshi-sort-setup-ranking-head{margin:0 0 10px!important;padding:0 2px!important}
.oshi-sort-page-shell .oshi-sort-setup-ranking-list{gap:8px!important}
.oshi-sort-page-shell .oshi-sort-setup-ranking-item{border:0!important;border-radius:12px!important;background:#f7f9fc!important;box-shadow:none!important}
.oshi-sort-page-shell .oshi-sort-setup-ranking-item:first-child{background:#fffaf0!important;box-shadow:inset 0 0 0 1px #f1d79a!important}
.oshi-sort-page-shell .oshi-sort-setup-ranking-cta{margin-top:10px!important}

/* team selector: section, not a box inside a box */
.oshi-sort-page-shell .oshi-sort-team-select{margin-top:28px!important;padding:22px 0 0!important;border:0!important;border-top:1px solid #e5eaf0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.oshi-sort-page-shell .oshi-sort-team-select-title{margin:0 0 12px!important;font-size:14px!important;font-weight:800!important;color:#24364d!important}
.oshi-sort-page-shell .oshi-sort-team-options{gap:8px!important}
.oshi-sort-page-shell .oshi-sort-team-option{min-height:46px!important;padding:10px 14px!important;border:1px solid #e0e6ed!important;border-radius:10px!important;background:#fff!important;color:#34495f!important;box-shadow:none!important;transition:border-color .18s ease,background .18s ease,transform .18s ease!important}
.oshi-sort-page-shell .oshi-sort-team-option:hover{border-color:#b9c6d4!important;background:#f8fafc!important;transform:translateY(-1px)!important}
.oshi-sort-page-shell .oshi-sort-team-option.is-selected{border-color:#4f6f91!important;background:#eef3f8!important;color:#24364d!important;box-shadow:none!important}
.oshi-sort-page-shell .oshi-sort-team-check{width:18px!important;height:18px!important;border-radius:5px!important}
.oshi-sort-page-shell .oshi-sort-team-option.is-selected .oshi-sort-team-check{border-color:#4f6f91!important;background:#4f6f91!important}

/* make action buttons restrained rather than large rounded pills */
.oshi-sort-page-shell button:not(.oshi-sort-card){box-shadow:none!important}
.oshi-sort-page-shell .oshi-sort-start,
.oshi-sort-page-shell .oshi-sort-result-button,
.oshi-sort-page-shell .oshi-sort-restart{border-radius:10px!important;box-shadow:none!important}

@media(max-width:700px){
  .oshi-sort-page-shell .oshi-sort-stage{padding-top:18px!important}
  .oshi-sort-page-shell .oshi-sort-setup-hero{margin-bottom:14px!important}
  .oshi-sort-page-shell .oshi-sort-setup-hero h3{font-size:18px!important}
  .oshi-sort-page-shell .oshi-sort-team-select{margin-top:22px!important;padding-top:18px!important}
}

/* v13: primary start action must always be visible on standalone page */
.oshi-sort-page-shell .oshi-sort-setup-actions{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:10px!important;
  margin:22px 0 0!important;
  padding:0!important;
}
.oshi-sort-page-shell #oshiSortStart{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  align-items:center!important;
  justify-content:center!important;
  width:min(100%,360px)!important;
  min-width:0!important;
  min-height:48px!important;
  padding:12px 24px!important;
  border:0!important;
  border-radius:9px!important;
  background:#24364d!important;
  color:#fff!important;
  box-shadow:none!important;
  font:800 13px/1.2 'Noto Sans JP',system-ui,sans-serif!important;
  letter-spacing:.03em!important;
  cursor:pointer!important;
}
.oshi-sort-page-shell #oshiSortStart:hover{background:#1b2b3e!important;transform:none!important}
.oshi-sort-page-shell #oshiSortResume:not([hidden]){display:inline-flex!important}
@media(max-width:560px){
  .oshi-sort-page-shell .oshi-sort-setup-actions{display:flex!important;margin-top:18px!important}
  .oshi-sort-page-shell #oshiSortStart{width:100%!important;min-height:46px!important}
}
