.page-home .hero-shell{padding-top:1.2rem}

.page-home .ctx{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);padding:.5rem 0 .9rem;border-bottom:2px solid var(--ink)}
.page-home .ctx__mark{background:var(--ink);color:var(--sand);padding:.18rem .5rem;font-weight:600}
.page-home .ctx__note{margin-left:auto;color:var(--flame);font-weight:600}

.page-home .hero__title{font-size:clamp(2rem,8.4vw,3.6rem);line-height:1.03;letter-spacing:-.03em;font-weight:900;margin:1rem 0 .8rem;transform:skewX(-2deg);transform-origin:left center;padding-right:.2rem}
.page-home .hero__title em{font-style:normal;color:var(--flame)}
.page-home .hero__lead{max-width:54ch;font-size:1rem;line-height:1.75;color:#2c3a3f;margin:0}

.page-home .hero{display:grid;gap:1.1rem;margin-top:1.3rem;min-width:0}
@media (min-width:960px){
  .page-home .hero{grid-template-columns:clamp(190px,21%,280px) minmax(0,1fr);gap:1.4rem;align-items:start}
}

/* 场馆刻度 */
.page-home .scale{background:var(--slate);color:#eef3f4;border:3px solid var(--ink);box-shadow:var(--hard);padding:.9rem .85rem;min-width:0}
.page-home .scale__label{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;color:var(--gold-light);border-bottom:2px solid rgba(232,201,138,.4);padding-bottom:.5rem;margin:0 0 .55rem}
.page-home .scale__list{list-style:none;margin:0;padding:0;display:grid;gap:.1rem}
.page-home .scale__item a{display:flex;align-items:baseline;gap:.55rem;padding:.3rem .2rem;border-left:3px solid transparent;color:#e9eef0;text-decoration:none;font-size:.86rem;transition:background .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease)}
.page-home .scale__num{font-family:var(--font-mono);font-size:.72rem;color:var(--gold-light);min-width:2.6em;letter-spacing:.04em}
.page-home .scale__item a:hover,.page-home .scale__item a:focus-visible{border-left-color:var(--flame);background:rgba(232,201,138,.14);color:#fff}
@media (min-width:960px){
  .page-home .scale{padding:1.1rem 1rem}
  .page-home .scale__item a{padding:.42rem .2rem;font-size:.9rem}
}

/* 日期泳道与拼贴 */
.page-home .stage{display:grid;gap:1rem;min-width:0}
.page-home .lane{display:flex;gap:.5rem;overflow-x:auto;padding:.15rem .15rem .9rem;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.page-home .lane__chip{flex:0 0 auto;scroll-snap-align:start;display:grid;gap:.1rem;min-width:84px;padding:.5rem .7rem;background:var(--sand);border:2px solid var(--ink);box-shadow:var(--hard-sm);text-decoration:none;color:var(--ink);transition:transform .18s var(--ease)}
.page-home .lane__chip:hover,.page-home .lane__chip:focus-visible{transform:translateY(-2px)}
.page-home .lane__idx{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.1em;color:var(--slate)}
.page-home .lane__day{font-weight:900;font-size:1rem;letter-spacing:-.02em}
.page-home .lane__cnt{font-family:var(--font-mono);font-size:.68rem;color:var(--slate)}
.page-home .lane__chip.is-current{background:var(--flame);border-color:var(--ink);box-shadow:3px 3px 0 var(--ink);color:#fff}
.page-home .lane__chip.is-current .lane__idx,.page-home .lane__chip.is-current .lane__cnt{color:#ffe1d7}

.page-home .collage{display:grid;gap:.85rem;min-width:0}
@media (min-width:760px){
  .page-home .collage{grid-template-columns:1.4fr 1fr;grid-template-areas:"shot brief" "shot memo";align-items:start}
  .page-home .shot{grid-area:shot}
  .page-home .brief{grid-area:brief}
  .page-home .memo{grid-area:memo}
}
.page-home .shot{margin:0;border:3px solid var(--ink);box-shadow:var(--hard);background:var(--ink);overflow:hidden}
.page-home .shot img{display:block;width:100%;height:auto;max-width:100%;object-fit:cover}
.page-home .shot figcaption{font-family:var(--font-mono);font-size:.68rem;line-height:1.5;color:var(--sand);background:var(--ink);padding:.5rem .6rem}
@media (min-width:760px){
  .page-home .shot{height:100%;display:flex;flex-direction:column}
  .page-home .shot img{flex:1 1 auto;height:100%;min-height:220px}
}

.page-home .brief{background:var(--gold-light);border:3px solid var(--ink);border-left-width:8px;border-left-color:var(--flame);box-shadow:var(--hard-sm);padding:.8rem .9rem;display:grid;gap:.35rem;justify-items:start}
.page-home .brief__tag{margin:0;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--slate)}
.page-home .brief__time{margin:0;font-family:var(--font-mono);font-size:2rem;font-weight:600;line-height:1;color:var(--ink);letter-spacing:-.02em}
.page-home .brief__meta{margin:0;font-size:.82rem;color:#3a474c}
.page-home .brief .btn{margin-top:.3rem}

.page-home .memo{list-style:none;margin:0;padding:0;border:3px solid var(--ink);background:var(--sand);box-shadow:var(--hard-sm)}
.page-home .memo li{display:flex;align-items:baseline;gap:.6rem;padding:.5rem .7rem;font-size:.82rem;color:#2c3a3f}
.page-home .memo li+li{border-top:2px solid rgba(17,24,28,.18)}
.page-home .memo__num{font-family:var(--font-mono);font-size:.72rem;color:var(--flame);font-weight:600;min-width:2.4em}

/* 今日重点赛程带 */
.page-home .band{position:relative;margin:2.4rem 0 0;border-top:3px solid var(--ink);border-bottom:3px solid var(--ink);background:var(--indigo);color:#fff;overflow:hidden}
.page-home .band__bg{position:absolute;inset:0}
.page-home .band__bg img{display:block;width:100%;height:100%;object-fit:cover;opacity:.3;filter:saturate(.65)}
.page-home .band__inner{position:relative;padding:1.7rem 0 1.9rem}
.page-home .band__list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.page-home .band__item{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"time body" "badge badge";gap:.25rem .8rem;align-items:center;padding:.65rem .8rem;background:rgba(247,240,227,.96);color:var(--ink);border:2px solid var(--ink);border-left:6px solid var(--blue);box-shadow:4px 4px 0 rgba(17,24,28,.85)}
.page-home .band__item--done{border-left-color:var(--wine)}
.page-home .band__time{grid-area:time;font-family:var(--font-mono);font-size:1.15rem;font-weight:600;letter-spacing:-.02em}
.page-home .band__body{grid-area:body;font-size:.88rem;line-height:1.5}
.page-home .band__body strong{font-weight:700}
.page-home .band__item .badge{grid-area:badge;justify-self:start;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.06em}
.page-home .band__foot{margin:1rem 0 0;font-size:.85rem;color:#dbe4e6}
.page-home .band__foot a{color:var(--gold-light);text-decoration:underline;text-underline-offset:3px}
@media (min-width:720px){
  .page-home .band__list{grid-template-columns:1fr 1fr;gap:.7rem}
  .page-home .band__item{grid-template-columns:auto 1fr auto;grid-template-areas:"time .page-home badge";gap:.8rem}
  .page-home .band__item .badge{justify-self:end}
}

/* 通用标题组 */
.page-home .head{display:grid;gap:.4rem;margin-bottom:1.1rem}
.page-home .head__eyebrow{margin:0;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--flame)}
.page-home .head__title{margin:0;font-size:clamp(1.45rem,4.6vw,2.15rem);font-weight:900;letter-spacing:-.02em;line-height:1.14}
.page-home .head__rule{display:block;height:3px;width:66px;background:var(--ink)}
.page-home .head--light .head__eyebrow{color:var(--gold-light)}
.page-home .head--light .head__rule{background:var(--gold-light)}

/* 收藏回看 */
.page-home .collect{padding:2.3rem 0 .4rem}
.page-home .collect__grid{display:grid;gap:1.3rem;min-width:0}
@media (min-width:900px){
  .page-home .collect__grid{grid-template-columns:1.05fr .95fr;gap:1.8rem;align-items:start}
}
.page-home .collect__text{margin:.9rem 0 1rem;font-size:.96rem;line-height:1.75;color:#2c3a3f;max-width:46ch}
.page-home .collect__points{list-style:none;margin:0 0 1.2rem;padding:0;display:grid;gap:.55rem}
.page-home .collect__points li{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start;font-size:.9rem;line-height:1.65;color:#2c3a3f;padding-bottom:.55rem;border-bottom:2px dotted rgba(17,24,28,.25)}
.page-home .collect__num{font-family:var(--font-mono);font-size:.72rem;font-weight:600;color:var(--sand);background:var(--slate);padding:.1rem .35rem}
.page-home .collect__side{display:grid;gap:.9rem;min-width:0}
@media (min-width:900px){
  .page-home .collect__side{grid-template-columns:1fr 1fr;align-items:start}
  .page-home .shot--tall{grid-row:span 2}
  .page-home .saved{grid-column:2}
}
.page-home .shot--tall img{aspect-ratio:9/11}
.page-home .saved{background:var(--sand);border:3px solid var(--ink);box-shadow:var(--hard);padding:.8rem .85rem}
.page-home .saved__title{margin:0 0 .6rem;font-weight:900;font-size:1rem;letter-spacing:-.02em;display:flex;align-items:center;gap:.5rem}
.page-home .saved__count{font-family:var(--font-mono);font-size:.78rem;background:var(--flame);color:#fff;padding:.05rem .4rem}
.page-home .saved__list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.page-home .saved__list li{display:flex;align-items:center;gap:.5rem;font-size:.85rem;padding:.35rem .45rem;background:var(--gold-light);border:2px solid var(--ink)}
.page-home .saved__num{font-family:var(--font-mono);font-size:.72rem;font-weight:600;color:var(--wine)}
.page-home .saved__flag{margin-left:auto;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.06em;color:#fff;background:var(--flame);padding:.05rem .35rem}
.page-home .saved__hint{margin:.6rem 0 0;font-family:var(--font-mono);font-size:.66rem;color:var(--slate)}

/* 双步骤赛道 */
.page-home .tracks{background:var(--gold-light);border-top:3px solid var(--ink);border-bottom:3px solid var(--ink);padding:2rem 0 2.2rem;margin:2.4rem 0 0}
.page-home .tracks__grid{display:grid;gap:1.4rem;min-width:0}
@media (min-width:880px){
  .page-home .tracks__grid{grid-template-columns:1fr 1fr;gap:1.8rem;align-items:start}
}
.page-home .track{min-width:0}
.page-home .track__label{margin:0 0 .7rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);background:var(--sand);display:inline-block;padding:.2rem .5rem;border:2px solid var(--ink)}
.page-home .steps{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.5rem}
.page-home .steps__item{background:var(--sand);border:2px solid var(--ink);box-shadow:var(--hard-sm)}
.page-home .steps summary{display:flex;align-items:center;gap:.7rem;padding:.65rem .75rem;cursor:pointer;font-weight:700;font-size:.92rem;list-style:none}
.page-home .steps summary::-webkit-details-marker{display:none}
.page-home .steps summary::after{content:"+";margin-left:auto;font-family:var(--font-mono);font-weight:600;color:var(--flame)}
.page-home .steps details[open] summary::after{content:"–"}
.page-home .steps details[open] summary{background:var(--gold-light)}
.page-home .steps__num{font-family:var(--font-mono);font-size:.72rem;font-weight:600;background:var(--ink);color:var(--gold-light);padding:.1rem .4rem}
.page-home .steps details[open] .steps__num{background:var(--flame);color:#fff}
.page-home .steps__body{margin:0;padding:0 .85rem .8rem;font-size:.88rem;line-height:1.7;color:#2f3d42}

/* 服务节奏 */
.page-home .clockwrap{background:var(--slate);color:#eef3f4;padding:2.1rem 0 2.3rem}
.page-home .clockwrap__grid{display:grid;gap:1.3rem;min-width:0}
@media (min-width:880px){
  .page-home .clockwrap__grid{grid-template-columns:.9fr 1.1fr;gap:1.8rem;align-items:start}
}
.page-home .clockwrap .shot{border-color:var(--ink);box-shadow:6px 6px 0 rgba(17,24,28,.75)}
.page-home .shot--wide img{aspect-ratio:10/7}
.page-home .clock{list-style:none;margin:0;padding:0;display:grid;gap:.15rem;border-left:3px solid var(--blue)}
.page-home .clock__row{display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:baseline;padding:.6rem .8rem;border-bottom:2px dotted rgba(215,225,225,.32)}
.page-home .clock__row:last-child{border-bottom:0}
.page-home .clock__num{font-family:var(--font-mono);font-size:1rem;font-weight:600;color:var(--blue);letter-spacing:-.01em;white-space:nowrap}
.page-home .clock__txt{margin:0;font-size:.88rem;line-height:1.65;color:#dce5e7}
.page-home .clockwrap__link{margin:1rem 0 0;font-size:.85rem;color:#dce5e7}
.page-home .clockwrap__link a{color:var(--gold-light);text-decoration:underline;text-underline-offset:3px}

/* 场馆总览 */
.page-home .venues{background:var(--slate-light);border-top:3px solid var(--ink);padding:2rem 0 2.3rem}
.page-home .venues__lead{margin:.2rem 0 0;font-size:.92rem;line-height:1.7;color:#2c3a3f;max-width:56ch}
.page-home .filter{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.1rem 0 1.2rem}
.page-home .filter-btn{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;padding:.4rem .7rem;background:var(--sand);border:2px solid var(--ink);box-shadow:var(--hard-sm);color:var(--ink);cursor:pointer;transition:transform .16s var(--ease),background .16s var(--ease)}
.page-home .filter-btn:hover{transform:translateY(-2px)}
.page-home .filter-btn[aria-pressed="true"]{background:var(--flame);color:#fff;border-color:var(--ink)}
.page-home .vgrid{display:grid;gap:.8rem;grid-template-columns:1fr;min-width:0}
@media (min-width:620px){.page-home .vgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.page-home .vgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.page-home .vcard{background:var(--sand);border:3px solid var(--ink);box-shadow:var(--hard-sm);padding:.8rem .85rem;display:grid;gap:.3rem;align-content:start;transition:transform .18s var(--ease)}
.page-home .vcard:hover{transform:translate(-2px,-2px)}
.page-home .vnum{margin:0;font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.1em;color:#fff;background:var(--slate);display:inline-block;justify-self:start;padding:.1rem .45rem}
.page-home .vcard__title{margin:0;font-size:1.05rem;font-weight:900;letter-spacing:-.02em}
.page-home .vcard__txt{margin:0;font-size:.85rem;line-height:1.65;color:#33424a}
.page-home .vcard__meta{margin:0;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.06em;color:var(--wine);border-top:2px solid rgba(17,24,28,.2);padding-top:.35rem}
.page-home .empty{margin:1rem 0;padding:.8rem .9rem;border:2px dashed var(--slate);font-size:.88rem;color:var(--slate)}
.page-home .venues__foot{margin:1.3rem 0 0;font-size:.88rem;line-height:1.7;color:#2c3a3f}
.page-home .venues__foot a{color:var(--slate);font-weight:700;text-decoration:underline;text-underline-offset:3px}
</main>
