.travpuls-analysis { width: 100%; max-width: none; box-sizing: border-box; container-type: inline-size; margin: 2rem 0; color: #17231b; }
.travpuls-analysis__banner { position: relative; aspect-ratio: 2172 / 320; overflow: hidden; margin: 0 0 1rem; background: #07130b; border-radius: 10px; box-shadow: 0 5px 16px rgba(8, 25, 12, .18); }
.travpuls-analysis__banner::after { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(0, 0, 0, .22), transparent 62%), linear-gradient(0deg, rgba(0, 12, 4, .9), transparent 47%); content: ''; pointer-events: none; }
.travpuls-analysis__banner img { display: block; width: 100%; height: 100%; object-fit: cover; }
.travpuls-analysis__banner-caption { position: absolute; z-index: 2; bottom: clamp(.65rem, 1.5vw, 1.05rem); left: 12%; display: flex; gap: .5rem; flex-wrap: wrap; }
.travpuls-analysis__banner-caption span { padding: .42rem .65rem; color: #173e16; background: #eef3ec; border-radius: 4px; font-size: .88rem; font-weight: 800; }
@supports (width: 1cqw) { .travpuls-analysis__banner-caption { bottom: 12%; gap: clamp(.35rem, .9cqw, .85rem); }.travpuls-analysis__banner-caption span { padding: clamp(.32rem, .8cqw, .75rem) clamp(.5rem, 1.25cqw, 1rem); font-size: clamp(.75rem, 1.5cqw, 1.35rem); } }
.travpuls-analysis__tabs { position: sticky; top: 1rem; z-index: 10; display: flex; gap: .45rem; flex-wrap: wrap; margin: 0 0 1.25rem; padding: .75rem; background: #edf0ed; border: 1px solid #dce3dc; border-radius: 7px; box-shadow: 0 3px 10px rgba(25, 49, 29, .1); }
.travpuls-analysis__sticky-backdrop { position: fixed !important; z-index: 9; top: 0; right: 0; left: 0; display: none; box-sizing: border-box; width: 100vw; height: 0; max-height: 100vh; max-height: 100dvh; overflow: hidden; contain: layout paint; background: #edf0ed; pointer-events: none; }.travpuls-analysis__sticky-backdrop.is-visible { display: block; }
body.admin-bar .travpuls-analysis__tabs { top: calc(1rem + 32px); }
.travpuls-analysis__tabs button { min-width: 68px; padding: .7rem 1rem; color: #1f5420; background: #fff; border: 1px solid #cad7ca; border-radius: 4px; font: inherit; font-weight: 800; cursor: pointer; transition: background-color .15s ease, color .15s ease, transform .15s ease; }
.travpuls-analysis__tabs.is-compact { display: grid; grid-template-columns: repeat(var(--travpuls-tab-count), minmax(0, 1fr)); gap: clamp(.2rem, .55cqw, .45rem); padding: clamp(.35rem, .8cqw, .65rem); }
.travpuls-analysis__tabs.is-compact button { width: 100%; min-width: 0; padding: clamp(.35rem, .8cqw, .6rem) clamp(.15rem, .3cqw, .35rem); font-size: clamp(.65rem, 1.35cqw, 1rem); white-space: nowrap; }
.travpuls-analysis__tabs button:hover { color: #fff; background: #38742a; border-color: #38742a; }
.travpuls-analysis__tabs button.is-active { color: #fff; background: #24571c; border-color: #24571c; box-shadow: 0 2px 5px rgba(24, 67, 22, .25); }
.travpuls-analysis__panel { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(310px, .92fr); align-items: start; gap: 1.35rem; }
.travpuls-analysis__panel[hidden] { display: none; }
.travpuls-analysis__ranking, .travpuls-analysis__section { overflow: hidden; background: #fff; border: 1px solid #dfe5df; border-radius: 8px; box-shadow: 0 3px 12px rgba(25, 49, 29, .08); }
.travpuls-analysis__heading { padding: 1.35rem 1.5rem 1.1rem; background: linear-gradient(135deg, #f6f8f5, #e9eee8); border-bottom: 1px solid #dfe5df; }
.travpuls-analysis__heading span { display: block; margin-bottom: .25rem; color: #2b5a21; font-size: .78rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.travpuls-analysis__heading h2 { margin: 0; color: #1e4d17; font-size: clamp(1.25rem, 2vw, 1.7rem); line-height: 1.2; }
.travpuls-analysis__race-facts { display: flex; gap: .5rem; flex-wrap: wrap; padding: .85rem 1.5rem; background: #fff; border-bottom: 1px solid #dfe5df; }
.travpuls-analysis__race-facts span { padding: .42rem .65rem; color: #173e16; background: #eef3ec; border-radius: 4px; font-size: .88rem; font-weight: 800; }
.travpuls-analysis__race-facts--mobile { display: none; }
.travpuls-analysis--tabs-wrap .travpuls-analysis__banner-caption { display: none; }
.travpuls-analysis--tabs-wrap .travpuls-analysis__race-facts--mobile { display: flex; }
.travpuls-analysis table { width: 100%; margin: 0; border-collapse: collapse; }
.travpuls-analysis th { padding: .85rem 1rem; color: #fff; background: #24571c; border: 0; font-size: .84rem; font-weight: 800; text-align: left; }
.travpuls-analysis td { padding: .72rem 1rem; border: 0; border-bottom: 1px solid #e7ece6; text-align: left; vertical-align: middle; }
.travpuls-analysis tbody tr:nth-child(even) { background: #f4f6f3; }
.travpuls-analysis th:first-child, .travpuls-analysis td:first-child { width: 76px; }
.travpuls-analysis th:last-child, .travpuls-analysis td:last-child { width: 115px; text-align: right; font-weight: 700; }
.travpuls-analysis__rank-badge { display: inline-flex; width: 30px; height: 30px; align-items: center; justify-content: center; color: #fff; background: #737b73; border-radius: 50%; font-size: .82rem; font-weight: 900; }
.travpuls-analysis__rank--a .travpuls-analysis__rank-badge { background: #168144; }.travpuls-analysis__rank--b .travpuls-analysis__rank-badge { background: #2878b7; }.travpuls-analysis__rank--c .travpuls-analysis__rank-badge { background: #ba7817; }.travpuls-analysis__rank--d .travpuls-analysis__rank-badge { background: #a24949; }
.travpuls-analysis__rank--a td:first-child { border-left: 4px solid #168144; }.travpuls-analysis__rank--b td:first-child { border-left: 4px solid #2878b7; }.travpuls-analysis__rank--c td:first-child { border-left: 4px solid #ba7817; }.travpuls-analysis__rank--d td:first-child { border-left: 4px solid #a24949; }
.travpuls-analysis__scratched { padding: 1rem 1.5rem 1.25rem; background: #fcf4f4; border-top: 1px solid #ebd1d1; }.travpuls-analysis__scratched h3 { margin: 0 0 .65rem; color: #a12d2e; font-size: .95rem; letter-spacing: .06em; text-transform: uppercase; }.travpuls-analysis__scratched ul { margin: 0; padding: 0; list-style: none; }.travpuls-analysis__scratched li { display: flex; align-items: center; gap: .65rem; padding: .35rem 0; color: #777; }.travpuls-analysis__scratched li span { display: inline-grid; width: 24px; height: 24px; place-items: center; color: #fff; background: #a12d2e; border-radius: 50%; font-size: .75rem; font-weight: 800; }.travpuls-analysis__scratched del { color: #777; text-decoration-color: #c83132; text-decoration-thickness: 2px; }.travpuls-analysis__scratched em { margin-left: auto; color: #a12d2e; font-size: .75rem; font-style: normal; font-weight: 800; text-transform: uppercase; }
.travpuls-analysis__notes { display: grid; gap: 1rem; }
.travpuls-analysis__section { margin: 0; padding: 1.4rem 1.55rem; background: #f4f6f3; }
.travpuls-analysis__section-title { display: flex; align-items: center; gap: .6rem; margin: 0 0 1rem; color: #24571c; font-size: clamp(1.2rem, 2vw, 1.65rem); font-weight: 900; letter-spacing: .045em; text-transform: uppercase; }
.travpuls-analysis__section-title::before { display: inline-grid; width: 1.3em; height: 1.3em; place-items: center; color: #fff; background: #24571c; border-radius: 50%; font-size: .65em; line-height: 1; }
.travpuls-analysis__section--pole .travpuls-analysis__section-title::before { content: '✦'; }.travpuls-analysis__section--race .travpuls-analysis__section-title::before { content: '⚑'; }.travpuls-analysis__section--notes .travpuls-analysis__section-title::before { content: '✎'; }
.travpuls-analysis__section p { margin: 0 0 .8rem; line-height: 1.55; }.travpuls-analysis__section p:last-child { margin-bottom: 0; }
@media (max-width: 700px) { .travpuls-analysis__tabs { top: .5rem; }.travpuls-analysis__panel { grid-template-columns: 1fr; gap: 1.25rem; }.travpuls-analysis__banner-caption { display: none; }.travpuls-analysis__race-facts--mobile { display: flex; } }
@media (max-width: 782px) { body.admin-bar .travpuls-analysis__tabs { top: calc(.5rem + 46px); } }
@supports (top: env(safe-area-inset-top)) { .travpuls-analysis__tabs { top: calc(1rem + env(safe-area-inset-top)); }body.admin-bar .travpuls-analysis__tabs { top: calc(1rem + 32px + env(safe-area-inset-top)); }@media (max-width: 700px) { .travpuls-analysis__tabs { top: calc(.5rem + env(safe-area-inset-top)); } }@media (max-width: 782px) { body.admin-bar .travpuls-analysis__tabs { top: calc(.5rem + 46px + env(safe-area-inset-top)); } } }
@media (max-width: 480px) { .travpuls-analysis__tabs { gap: .3rem; padding: .5rem; }.travpuls-analysis__tabs button { min-width: 0; padding: .55rem .65rem; font-size: .85rem; }.travpuls-analysis th, .travpuls-analysis td { padding: .65rem .55rem; }.travpuls-analysis th:first-child, .travpuls-analysis td:first-child { width: 56px; }.travpuls-analysis th:last-child, .travpuls-analysis td:last-child { width: 82px; }.travpuls-analysis__section { padding: 1.2rem; } }
