/* F1 Weekend GUIDE 전용: Timeline / Progression / Race Weekend */
.weekend-hero { margin-bottom: 2.75rem; }
.weekend-hero-label, .weekend-eyebrow { margin: 0 0 .35rem; color: #dc2626; font-size: .8rem; font-weight: 700; letter-spacing: .07em; }
.weekend-hero-lead { max-width: 46rem; margin: 0 0 .85rem; color: #ddd; font-size: 1rem; line-height: 1.7; }
.weekend-hero-intro { max-width: 46rem; margin: 0 0 1rem; color: #aaa; font-size: .9rem; line-height: 1.75; }
.weekend-hero-badges, .weekend-session-list, .weekend-race-flow, .weekend-qualifying-flow, .weekend-sq-flow, .weekend-memory ol { margin: 0; padding: 0; list-style: none; }
.weekend-hero-badges { display: flex; flex-wrap: wrap; gap: .5rem; }
.weekend-badge { display: inline-flex; align-items: center; padding: .3rem .7rem; background: #111; border: 1px solid #2a2a2a; border-radius: 999px; color: #aaa; font-size: .75rem; font-weight: 600; }
.weekend-badge--accent { background: rgba(220,38,38,.12); border-color: #3a2020; color: #f87171; }
.weekend-section { margin-bottom: 3.25rem; }
.weekend-section-number { margin: 0 0 .35rem; color: #666; font-size: .75rem; font-weight: 700; letter-spacing: .08em; }
.weekend-section-title { margin: 0 0 .5rem; padding-left: .65rem; border-left: 3px solid #dc2626; color: #f5f5f5; font-size: 1.3rem; font-weight: 700; line-height: 1.4; }
.weekend-section-title small { display: block; margin-top: .15rem; color: #888; font-size: .75rem; font-weight: 500; }
.weekend-section-desc, .weekend-body-copy { max-width: 46rem; margin: 0 0 1.25rem; color: #999; font-size: .9rem; line-height: 1.7; }
.weekend-section-lead { max-width: 46rem; margin: 0 0 .6rem; color: #f5f5f5; font-size: 1.05rem; font-weight: 600; line-height: 1.5; }
.weekend-overview { padding: 1.2rem; background: #111; border: 1px solid #2a2a2a; border-radius: .75rem; }
.weekend-timeline { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.weekend-day { position: relative; padding: 1rem; background: #151515; border: 1px solid #2a2a2a; border-radius: .6rem; }
.weekend-day:not(:last-child)::before { position: absolute; top: 50%; right: -1rem; width: 1rem; height: 1px; background: #383838; content: ''; transform: translateY(-50%); pointer-events: none; }
.weekend-day:not(:last-child)::after { position: absolute; top: 50%; right: -1.55rem; z-index: 1; color: #666; content: '→'; font-size: .95rem; line-height: 1; transform: translateY(-50%); pointer-events: none; }
.weekend-day-label { margin: 0 0 .75rem; color: #aaa; font-size: .75rem; font-weight: 700; letter-spacing: .07em; }
.weekend-session-list { display: grid; gap: .55rem; }
.weekend-session { display: grid; gap: .15rem; padding: .7rem; background: #1a1a1a; border-left: 3px solid #555; border-radius: .35rem; }
.weekend-session span { color: #e5e5e5; font-size: .78rem; font-weight: 700; letter-spacing: .03em; }
.weekend-session small { color: #999; font-size: .75rem; line-height: 1.45; }
.weekend-session--qualifying { border-left-color: #dc2626; }
.weekend-session--race { border-left-color: #f87171; background: #241515; }
.weekend-overview-summary { margin: 1rem 0 0; color: #ddd; font-size: .9rem; font-weight: 600; line-height: 1.7; text-align: center; }
.weekend-practice-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 1.25rem 2rem; align-items: start; }
.weekend-purpose-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; }
.weekend-purpose-grid article, .weekend-sprint-reasons article, .weekend-watch-grid article { padding: .95rem 1rem; background: #111; border: 1px solid #2a2a2a; border-radius: .5rem; }
.weekend-purpose-grid h3, .weekend-sprint-reasons h3, .weekend-watch-grid h3 { margin: 0 0 .4rem; color: #f5f5f5; font-size: .92rem; line-height: 1.4; }
.weekend-purpose-grid p, .weekend-sprint-reasons p, .weekend-watch-grid p { margin: 0; color: #aaa; font-size: .82rem; line-height: 1.65; }
.weekend-insight, .weekend-pole-callout { max-width: 46rem; margin: 1.2rem 0 0; padding: .95rem 1rem; background: #111; border: 1px solid #2a2a2a; border-left: 3px solid #60a5fa; border-radius: .45rem; }
.weekend-insight h3, .weekend-pole-callout h3 { margin: 0 0 .35rem; color: #f5f5f5; font-size: .92rem; }
.weekend-insight p, .weekend-pole-callout p { margin: 0; color: #ccc; font-size: .87rem; line-height: 1.7; }
.weekend-qualifying-flow { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.weekend-qualifying-flow > li { position: relative; padding: 1rem; background: #111; border: 1px solid #2a2a2a; border-radius: .6rem; text-align: center; }
.weekend-qualifying-flow > li:not(:last-child)::after { position: absolute; top: 50%; right: -1.55rem; z-index: 1; color: #666; content: '→'; font-size: 1.15rem; transform: translateY(-50%); }
.weekend-qualifying-stage { display: grid; gap: .15rem; padding: .8rem; background: #1a1a1a; border-radius: .4rem; }
.weekend-qualifying-stage span { order: 2; color: #aaa; font-size: .78rem; font-weight: 700; letter-spacing: .07em; }
.weekend-qualifying-stage strong { order: 3; color: #ddd; font-size: .86rem; }
.weekend-qualifying-stage em { order: 1; color: #f5f5f5; font-size: 1.65rem; font-style: normal; font-weight: 800; letter-spacing: -.02em; line-height: 1.05; font-variant-numeric: tabular-nums; }
.weekend-qualifying-stage--final { background: #2a1717; border: 1px solid #612020; }
.weekend-elimination { margin: .7rem 0 .25rem; color: #f87171; font-size: .78rem; font-weight: 600; }
.weekend-advance { margin: 0; color: #aaa; font-size: .76rem; }
.weekend-pole { margin: .5rem 0 0; color: #f87171; font-size: .75rem; font-weight: 700; letter-spacing: .06em; }
.weekend-race-flow { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .6rem; }
.weekend-race-flow li { position: relative; display: grid; gap: .25rem; min-height: 5.2rem; padding: .75rem; background: #111; border: 1px solid #2a2a2a; border-radius: .5rem; align-content: center; }
.weekend-race-flow li:not(:last-child)::after { position: absolute; top: 50%; right: -.58rem; z-index: 1; color: #555; content: '→'; transform: translateY(-50%); }
.weekend-race-flow b, .weekend-race-flow span { color: #f5f5f5; font-size: .76rem; font-weight: 700; letter-spacing: .04em; }
.weekend-race-flow small { color: #999; font-size: .72rem; line-height: 1.45; }
.weekend-connection { max-width: 46rem; margin: 1rem 0 0; color: #ddd; font-size: .9rem; font-weight: 600; line-height: 1.7; }
.weekend-chapter-break { margin: 4rem 0 3.5rem; padding: 1.5rem 0; border-top: 1px solid #2a2a2a; border-bottom: 1px solid #2a2a2a; text-align: center; }
.weekend-chapter-break p { margin: 0 0 .35rem; color: #999; font-size: 1rem; }
.weekend-chapter-break strong { color: #f5f5f5; font-size: 1.18rem; }
.weekend-format-compare { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.weekend-format { overflow: hidden; background: #111; border: 1px solid #2a2a2a; border-radius: .65rem; }
.weekend-format h3 { margin: 0; padding: .85rem 1rem; background: #1a1a1a; color: #aaa; font-size: .8rem; letter-spacing: .06em; }
.weekend-format div { display: grid; grid-template-columns: 5.5rem minmax(0,1fr); gap: .5rem; padding: .8rem 1rem; border-top: 1px solid #222; }
.weekend-format b { color: #aaa; font-size: .77rem; }
.weekend-format p { margin: 0; color: #e5e5e5; font-size: .82rem; font-weight: 600; line-height: 1.45; }
.weekend-format--sprint { border-color: #542020; }
.weekend-format--sprint h3 { background: #281616; color: #f87171; }
.weekend-change-summary { display: flex; align-items: center; justify-content: center; gap: .9rem; max-width: 42rem; margin: 1.3rem auto .5rem; text-align: center; }
.weekend-change-summary div { display: grid; gap: .2rem; padding: .8rem 1rem; background: #111; border: 1px solid #2a2a2a; border-radius: .45rem; }
.weekend-change-summary div:last-child { border-color: #542020; }
.weekend-change-summary div > span { color: #888; font-size: .75rem; }
.weekend-change-summary strong { color: #eee; font-size: .85rem; line-height: 1.5; }
.weekend-change-summary > span { color: #dc2626; font-size: 1.1rem; }
.weekend-change-copy { margin: 0; color: #f87171; font-size: .95rem; font-weight: 700; text-align: center; }
.weekend-sprint-qualifying { padding: 1.25rem; background: #111; border: 1px solid #2a2a2a; border-top: 3px solid #dc2626; border-radius: .65rem; }
.weekend-sq-flow { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem; }
.weekend-sq-flow li { display: grid; gap: .2rem; padding: .8rem; background: #1a1a1a; border: 1px solid #2a2a2a; border-radius: .45rem; text-align: center; }
.weekend-sq-flow b { color: #f5f5f5; font-size: .9rem; }
.weekend-sq-flow span { color: #ddd; font-size: .82rem; }
.weekend-sq-flow small { color: #999; font-size: .75rem; }
.weekend-sprint-reasons { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; }
.weekend-sprint-reasons article > span { display: block; margin-bottom: .55rem; color: #f87171; font-size: .75rem; font-weight: 700; letter-spacing: .06em; }
.weekend-watch-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
.weekend-watch-grid article { border-left: 3px solid #3a3a3a; }
.weekend-watch-grid article > span { display: block; margin-bottom: .5rem; color: #f87171; font-size: .72rem; font-weight: 700; letter-spacing: .06em; }
.weekend-memory { display: grid; grid-template-columns: minmax(0,1fr) 14rem; gap: 1rem; padding: 1.25rem; background: #111; border: 1px solid #2a2a2a; border-radius: .7rem; }
.weekend-memory h2 { grid-column: 1 / -1; margin: 0; color: #f5f5f5; font-size: 1.2rem; }
.weekend-memory ol { display: grid; gap: .55rem; }
.weekend-memory li { display: grid; grid-template-columns: 7rem minmax(0,1fr); gap: .75rem; padding: .7rem .85rem; background: #1a1a1a; border-radius: .4rem; }
.weekend-memory li:not(:last-child)::after { content: '↓'; color: #666; grid-column: 1 / -1; justify-self: center; margin-bottom: -.8rem; }
.weekend-memory li b { color: #f5f5f5; font-size: .78rem; }
.weekend-memory li span { color: #aaa; font-size: .82rem; }
.weekend-memory aside { display: grid; align-content: center; gap: .45rem; padding: 1rem; background: #281616; border: 1px solid #542020; border-radius: .45rem; }
.weekend-memory aside strong { color: #f87171; font-size: .75rem; letter-spacing: .06em; }
.weekend-memory aside span { color: #ddd; font-size: .83rem; font-weight: 700; }
.weekend-memory aside p { margin: .25rem 0 0; color: #aaa; font-size: .78rem; line-height: 1.55; }
.weekend-details { margin-bottom: .6rem; overflow: hidden; background: #111; border: 1px solid #2a2a2a; border-radius: .5rem; }
.weekend-details summary { display: flex; align-items: center; min-height: 44px; padding: .85rem 1rem; color: #f5f5f5; cursor: pointer; font-size: .925rem; font-weight: 600; line-height: 1.5; list-style: none; }
.weekend-details summary::-webkit-details-marker { display: none; }
.weekend-details summary::after { margin-left: auto; color: #dc2626; content: '+'; font-size: 1.1rem; }
.weekend-details[open] summary::after { content: '−'; }
.weekend-details[open] summary { border-bottom: 1px solid #222; }
.weekend-details summary:hover { background: #161616; }
.weekend-details summary:focus-visible { outline: 2px solid #dc2626; outline-offset: -2px; }
.weekend-details > div { padding: 1rem; }
.weekend-details p { margin: 0; color: #bbb; font-size: .875rem; line-height: 1.75; }
.weekend-term-chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.weekend-term-chips a { display: inline-flex; align-items: center; min-height: 36px; padding: .4rem .8rem; background: #1a1a1a; border: 1px solid #2a2a2a; border-radius: 999px; color: #ddd; font-size: .825rem; text-decoration: none; transition: border-color .2s,color .2s; }
.weekend-term-chips a:hover, .weekend-term-chips a:focus-visible { border-color: #dc2626; color: #fff; }
.weekend-next-guide { display: grid; gap: .35rem; padding: 1.15rem 1.25rem; background: #111; border: 1px solid #2a2a2a; border-radius: .6rem; color: inherit; text-decoration: none; transition: border-color .2s; }
.weekend-next-guide:hover, .weekend-next-guide:focus-visible { border-color: #dc2626; }
.weekend-next-guide > span, .weekend-next-guide i { color: #dc2626; font-size: .75rem; font-style: normal; font-weight: 700; letter-spacing: .06em; }
.weekend-next-guide strong { color: #aaa; font-size: .8rem; }
.weekend-next-guide b { color: #f5f5f5; font-size: 1.05rem; }
.weekend-next-guide em { color: #888; font-size: .82rem; font-style: normal; }
.weekend-next-guide p { max-width: 46rem; margin: .2rem 0 .3rem; color: #999; font-size: .85rem; line-height: 1.6; }
.weekend-source { padding-top: 1.5rem; border-top: 1px solid #222; }
.weekend-source h2 { margin: 0 0 .6rem; color: #aaa; font-size: .925rem; }
.weekend-source p { max-width: 46rem; margin: 0 0 .6rem; color: #888; font-size: .825rem; line-height: 1.7; }
.weekend-source-links { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.weekend-source-links a { color: #999; text-decoration: underline; }
.weekend-source-links a:hover, .weekend-source-links a:focus-visible { color: #f5f5f5; }
.weekend-context-link { max-width: 46rem; margin: .85rem 0 0; color: #aaa; font-size: .85rem; line-height: 1.7; }
.weekend-context-link a, .weekend-pole-callout > a, .weekend-chapter-break a, .weekend-race-flow a { color: #f87171; font-weight: 700; text-decoration: none; }
.weekend-context-link a:hover, .weekend-context-link a:focus-visible, .weekend-pole-callout > a:hover, .weekend-pole-callout > a:focus-visible, .weekend-chapter-break a:hover, .weekend-chapter-break a:focus-visible, .weekend-race-flow a:hover, .weekend-race-flow a:focus-visible { color: #fff; text-decoration: underline; }
.weekend-pole-callout > a { display: inline-block; margin-top: .65rem; font-size: .82rem; }
.weekend-chapter-break a { font-size: 1.18rem; }
.weekend-race-flow a { font-size: .76rem; letter-spacing: .04em; }
.weekend-quickview-overlay { position: fixed; inset: 0; z-index: 1100; display: flex; align-items: center; justify-content: center; padding: 1rem; background: rgba(0,0,0,.75); }
.weekend-quickview-overlay[hidden] { display: none; }
.weekend-quickview { position: relative; width: 100%; max-width: 420px; max-height: 80vh; overflow-y: auto; padding: 1.5rem; background: #1a1a1a; border: 1px solid #2a2a2a; border-radius: .75rem; }
.weekend-quickview button { position: absolute; top: .85rem; right: .85rem; padding: .25rem; background: none; border: 0; color: #888; cursor: pointer; font-size: 1.4rem; line-height: 1; }
.weekend-quickview button:hover, .weekend-quickview button:focus-visible { color: #f5f5f5; }
.weekend-quickview button:focus-visible { outline: 2px solid #dc2626; outline-offset: 2px; }
.weekend-quickview h3 { margin: 0 .5rem .3rem 0; padding-right: 1.75rem; color: #f5f5f5; font-size: 1.15rem; line-height: 1.4; }
.weekend-quickview #weekend-quickview-eng { margin: 0 0 .75rem; color: #888; font-size: .85rem; }
.weekend-quickview #weekend-quickview-desc { margin: 0 0 1.1rem; color: #ccc; font-size: .9rem; line-height: 1.65; }
.weekend-quickview a { color: #f87171; font-size: .875rem; font-weight: 600; text-decoration: none; }
.weekend-quickview a:hover, .weekend-quickview a:focus-visible { text-decoration: underline; }
@media (max-width: 767px) { .weekend-timeline, .weekend-qualifying-flow, .weekend-format-compare, .weekend-sprint-reasons, .weekend-watch-grid { grid-template-columns: 1fr; } .weekend-day:not(:last-child)::before { display: none; } .weekend-day:not(:last-child)::after, .weekend-qualifying-flow > li:not(:last-child)::after { top: auto; right: 50%; bottom: -1.45rem; transform: translateX(50%) rotate(90deg); } .weekend-day, .weekend-qualifying-flow > li { margin-bottom: .7rem; } .weekend-practice-layout { grid-template-columns: 1fr; } .weekend-race-flow { grid-template-columns: 1fr; } .weekend-race-flow li { min-height: 0; grid-template-columns: 7.5rem minmax(0,1fr); align-items: center; } .weekend-race-flow li:not(:last-child)::after { top: auto; right: 50%; bottom: -.73rem; transform: translateX(50%) rotate(90deg); } .weekend-sq-flow { grid-template-columns: 1fr; } .weekend-sq-flow li { grid-template-columns: 4rem 5rem minmax(0,1fr); align-items: center; text-align: left; } .weekend-memory { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .guide-page { padding-inline: .25rem; } .guide-page-title { font-size: 1.5rem; line-height: 1.3; } .guide-page-subtitle { margin-bottom: 1.15rem; } .weekend-section { margin-bottom: 2rem; } .weekend-overview, .weekend-sprint-qualifying, .weekend-memory { padding: .9rem; } .weekend-purpose-grid { grid-template-columns: 1fr; } .weekend-format div { grid-template-columns: 1fr; gap: .2rem; } .weekend-change-summary { flex-direction: column; } .weekend-change-summary > span { transform: rotate(90deg); } .weekend-memory li { grid-template-columns: 1fr; gap: .25rem; } .weekend-memory li:not(:last-child)::after { display: none; } .weekend-details summary { padding: .7rem .9rem; } .weekend-quickview { max-height: 85vh; padding: 1.25rem; } }
@media (prefers-reduced-motion: reduce) { .weekend-term-chips a, .weekend-next-guide { transition: none; } }