/*
Theme Name: Podium Ladder
Author: Studio
Version: 4.29889501
Requires PHP: 8.0
*/
:root {
	--tp-bg: #f5f4fa;
	--tp-card: #fff;
	--tp-ink: #1c1530;
	--tp-soft: #675f7d;
	--tp-line: #e5e1ef;
	--tp-tint: #fde8f3;
	--tp-gold: #efb60a;
	--tp-silver: #a6aec0;
	--tp-bronze: #c98142;
	--tp-up: #11975a;
	--tp-down: #d23157;
	--tp-disp: "Big Shoulders Display", "Arial Narrow", Impact, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 80px; }
body { margin: 0; background: var(--tp-bg); color: var(--tp-ink); font: 400 16px/1.6 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; overflow-x: hidden; }
img, video { max-width: 100%; display: block; }
a { color: var(--tp-hot-deep); text-underline-offset: 2px; }
a:hover { color: var(--tp-hot); }
h1, h2, h3 { font-family: var(--tp-disp); font-weight: 800; line-height: 1.12; margin: 0; letter-spacing: .005em; }
h2 { font-size: 1.6rem; margin: 2.2rem 0 .7rem; text-transform: uppercase; }
h3 { font-size: 1.15rem; }
p { margin: 0 0 1rem; }
button { font: inherit; }
.tp-ico { flex: none; }
.tp-skip { position: absolute; left: -999px; top: 6px; z-index: 99; background: #fff; padding: 8px 12px; }
.tp-skip:focus { left: 6px; }
.tp-top { position: sticky; top: 0; z-index: 30; display: flex; align-items: center; gap: 22px; height: 62px; padding: 0 24px; background: rgba(255, 255, 255, .94); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border-bottom: 1px solid var(--tp-line); }
.tp-logo { display: inline-flex; align-items: center; gap: 9px; text-decoration: none; flex: none; }
.tp-logo-w { font-family: var(--tp-disp); text-transform: uppercase; font-size: 1.28rem; line-height: 1; display: inline-flex; align-items: baseline; gap: .22em; white-space: nowrap; }
.tp-logo-w b { background: var(--tp-gold); color: var(--tp-ink); border-radius: 4px; padding: 2px 5px 1px; font-size: .74em; font-weight: 700; }
.tp-logo-w span { color: var(--tp-hot); font-weight: 700; }
.tp-logo-w i { font-style: normal; color: transparent; -webkit-text-stroke: 1.3px var(--tp-hot); font-weight: 700; }
.tp-tabs { display: flex; gap: 2px; overflow-x: auto; scrollbar-width: none; flex: 1; min-width: 0; }
.tp-tabs::-webkit-scrollbar { display: none; }
.tp-tabs a { font-family: var(--tp-disp); text-transform: uppercase; font-size: .86rem; letter-spacing: .03em; color: var(--tp-soft); text-decoration: none; padding: 8px 10px; border-radius: 8px; white-space: nowrap; }
.tp-tabs a:hover { color: var(--tp-ink); background: var(--tp-bg); }
.tp-tabs a[aria-current="page"] { color: var(--tp-hot); box-shadow: inset 0 -3px 0 var(--tp-hot); border-radius: 0; }
.tp-board-btn { display: none; }
.tp-wrap { max-width: 1340px; margin: 0 auto; padding: 24px; display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 28px; align-items: start; }
.tp-main { min-width: 0; }
.tp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; text-decoration: none; font-weight: 700; color: #fff; background: var(--tp-hot); border: 0; border-radius: 12px; padding: 12px 20px; cursor: pointer; box-shadow: 0 8px 20px -10px var(--tp-hot); }
.tp-btn:hover { color: #fff; background: var(--tp-hot-deep); }
.tp-btn-s { padding: 8px 14px; font-size: .9rem; }
.tp-btn-line { background: #fff; color: var(--tp-hot-deep); border: 2px solid var(--tp-hot); box-shadow: none; }
.tp-btn-line:hover { color: #fff; }
.tp-btn-deal { background: linear-gradient(135deg, var(--tp-hot), #ff5a3d); }
.tp-textlink { font-weight: 700; }
.tp-flag { display: inline-block; background: #ff7417; color: #fff; font-size: .72rem; border-radius: 5px; padding: 1px 6px; margin-left: 4px; }
.tp-kicker { font-size: .82rem; color: var(--tp-soft); margin: 0 0 6px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.tp-k { font-family: var(--tp-disp); text-transform: uppercase; letter-spacing: .06em; font-size: .74rem; background: var(--tp-ink); color: #fff; border-radius: 5px; padding: 2px 8px; }
.tp-lead { font-size: 1.05rem; color: #3d3552; }
.tp-crumbs { font-size: .8rem; color: var(--tp-soft); display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 6px; }
.tp-crumbs a { color: var(--tp-soft); }
.tp-status { display: flex; gap: 8px; align-items: flex-start; font-size: .84rem; color: var(--tp-soft); background: var(--tp-card); border: 1px solid var(--tp-line); border-radius: 12px; padding: 9px 12px; margin: 10px 0 0; }
.tp-status b { color: var(--tp-ink); }
.tp-status-zero { border-style: dashed; }
.tp-stage { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "txt" "pod"; gap: 20px; margin-bottom: 18px; }
.tp-stage-spot { grid-template-columns: minmax(0, 1fr) 230px; grid-template-areas: "txt spot" "pod spot"; }
.tp-stage-txt { grid-area: txt; }
.tp-stage .tp-podium { grid-area: pod; }
.tp-stage .tp-spot { grid-area: spot; }
.tp-stage h1, .tp-head h1, .tp-entry h1 { font-size: clamp(1.9rem, 3.6vw, 2.9rem); text-transform: uppercase; margin-bottom: 10px; }
.tp-podium { display: grid; grid-template-columns: 1fr 1.12fr 1fr; gap: 14px; align-items: end; padding: 18px 16px 0; background: radial-gradient(120% 90% at 50% 100%, var(--tp-tint), transparent 70%); border-radius: 22px; }
.tp-step { display: flex; flex-direction: column; min-width: 0; text-align: center; grid-row: 1; }
.tp-step-1 { grid-column: 2; }
.tp-step-2 { grid-column: 1; }
.tp-step-3 { grid-column: 3; }
.tp-step-card { position: relative; display: block; border-radius: 14px; overflow: hidden; aspect-ratio: 5 / 7; border: 3px solid var(--tp-silver); background: #2a1d3d; box-shadow: 0 14px 28px -16px rgba(30, 10, 50, .55); animation: tp-drop .7s cubic-bezier(.2, .8, .3, 1.2) both; }
.tp-step-card img { width: 100%; height: 100%; object-fit: cover; }
.tp-step-1 .tp-step-card { border-color: var(--tp-gold); animation-delay: .35s; }
.tp-step-2 .tp-step-card { animation-delay: .15s; }
.tp-step-3 .tp-step-card { border-color: var(--tp-bronze); animation-delay: .25s; }
.tp-medal { position: absolute; left: 8px; top: 8px; min-width: 34px; height: 34px; padding: 0 6px; border-radius: 17px; display: grid; place-items: center; font-family: var(--tp-disp); font-weight: 700; font-size: 1.1rem; background: var(--tp-silver); color: #fff; box-shadow: 0 2px 6px rgba(0, 0, 0, .3); }
.tp-step-1 .tp-medal { background: var(--tp-gold); color: var(--tp-ink); }
.tp-step-3 .tp-medal { background: var(--tp-bronze); }
.tp-step-1 .tp-step-card::after { content: ""; position: absolute; right: 8px; top: 6px; width: 30px; height: 22px; background: var(--tp-gold); clip-path: polygon(0 100%, 0 25%, 25% 60%, 50% 0, 75% 60%, 100% 25%, 100% 100%); filter: drop-shadow(0 2px 2px rgba(0, 0, 0, .3)); animation: tp-crown 2.4s ease-in-out 1.2s infinite; }
.tp-step-name { font-family: var(--tp-disp); font-size: 1rem; line-height: 1.15; margin: 9px 0 2px; }
.tp-step-name a { color: var(--tp-ink); text-decoration: none; }
.tp-step-meta { font-size: .76rem; color: var(--tp-soft); margin: 0 0 6px; display: flex; gap: 6px; justify-content: center; align-items: center; }
.tp-step .tp-vote { justify-content: center; }
.tp-block { display: grid; place-items: center; margin-top: 10px; font-family: var(--tp-disp); font-weight: 700; color: rgba(255, 255, 255, .92); font-size: 2.2rem; border-radius: 12px 12px 0 0; transform-origin: bottom; animation: tp-rise .6s ease-out both; }
.tp-step-1 .tp-block { height: 116px; background: linear-gradient(180deg, #f6c935, #d99c00); animation-delay: .1s; }
.tp-step-2 .tp-block { height: 82px; background: linear-gradient(180deg, #c4cad6, #8c95a8); }
.tp-step-3 .tp-block { height: 58px; background: linear-gradient(180deg, #df9a5c, #b26a2c); animation-delay: .2s; }
@keyframes tp-rise { from { transform: scaleY(0); } }
@keyframes tp-drop { from { transform: translateY(-22px) scale(.96); } }
@keyframes tp-crown { 50% { transform: translateY(-3px) rotate(-6deg); } }
.tp-spot { margin: 0; align-self: start; }
.tp-spot-media { position: relative; display: block; aspect-ratio: 5 / 7; border-radius: 18px; overflow: hidden; background: #1c1530; box-shadow: 0 16px 32px -18px rgba(30, 10, 50, .6); }
.tp-spot-media img, .tp-spot-media video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.tp-spot-media video { opacity: 0; transition: opacity .6s; }
.tp-spot-media video.is-on { opacity: 1; }
.tp-spot-play { position: absolute; right: 10px; bottom: 10px; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--tp-hot); color: #fff; }
.tp-spot figcaption { font-size: .86rem; margin-top: 8px; line-height: 1.3; }
.tp-spot-k { display: block; font-family: var(--tp-disp); text-transform: uppercase; font-size: .72rem; letter-spacing: .06em; color: var(--tp-soft); }
.tp-spot figcaption a { color: var(--tp-ink); font-weight: 600; text-decoration: none; }
.tp-spot-pos { font-family: var(--tp-disp); color: var(--tp-hot); }
.tp-vote { display: inline-flex; gap: 4px; }
.tp-vb { display: inline-flex; align-items: center; gap: 3px; border: 1px solid var(--tp-line); background: #fff; color: var(--tp-ink); border-radius: 9px; padding: 5px 8px; cursor: pointer; font-size: .84rem; font-weight: 600; font-variant-numeric: tabular-nums; transition: background .15s, color .15s, transform .1s; }
.tp-vb:active { transform: scale(.94); }
.tp-vb-up:hover { color: #fff; background: var(--tp-up); border-color: var(--tp-up); }
.tp-vb-down:hover { color: #fff; background: var(--tp-down); border-color: var(--tp-down); }
.tp-vb-pod { color: #a87600; }
.tp-vb-pod:hover { color: var(--tp-ink); background: var(--tp-gold); border-color: var(--tp-gold); }
.tp-vote-s .tp-vb { padding: 4px 6px; font-size: .76rem; border-radius: 8px; }
.tp-vb[disabled] { cursor: default; opacity: .45; }
.tp-vb[disabled]:hover { background: #fff; color: var(--tp-ink); border-color: var(--tp-line); }
.tp-vb.is-mine, .tp-vb.is-mine:hover { opacity: 1; color: #fff; }
.tp-vb-up.is-mine { background: var(--tp-up); border-color: var(--tp-up); }
.tp-vb-down.is-mine { background: var(--tp-down); border-color: var(--tp-down); }
.tp-vb-pod.is-mine { background: var(--tp-gold); border-color: var(--tp-gold); color: var(--tp-ink); }
.tp-vb.is-busy { animation: tp-pulse .8s ease-in-out infinite; }
@keyframes tp-pulse { 50% { opacity: .5; } }
.tp-mv { display: inline-flex; align-items: center; gap: 1px; font-family: var(--tp-disp); font-size: .86rem; color: #a49cb8; font-variant-numeric: tabular-nums; }
.tp-mv-up { color: var(--tp-up); }
.tp-mv-down { color: var(--tp-down); }
.tp-ladder { list-style: none; margin: 1rem 0 1.4rem; padding: 0; display: grid; gap: 8px; }
.tp-row { display: grid; grid-template-columns: 52px 40px 52px minmax(0, 1fr) auto 38px; grid-template-areas: "pos mv pic main vote go"; align-items: center; gap: 12px; background: var(--tp-card); border: 1px solid var(--tp-line); border-radius: 14px; padding: 8px 10px 8px 6px; position: relative; }
.tp-row-top { border-color: #f3cfe2; background: linear-gradient(90deg, #fff6fb, #fff 40%); }
.tp-row.is-flash { animation: tp-flash 1.4s ease-out; }
@keyframes tp-flash { 0% { box-shadow: 0 0 0 3px var(--tp-hot); } 100% { box-shadow: 0 0 0 0 transparent; } }
.tp-pos { grid-area: pos; text-align: center; font-family: var(--tp-disp); line-height: 1; }
.tp-pos b { display: block; font-size: 1.7rem; font-weight: 700; }
.tp-pos small { font-size: .7rem; color: var(--tp-soft); }
.tp-row:nth-child(1) .tp-pos b { color: #c48f00; }
.tp-row:nth-child(2) .tp-pos b { color: #7e8799; }
.tp-row:nth-child(3) .tp-pos b { color: #a9612a; }
.tp-row > .tp-mv { grid-area: mv; justify-content: center; }
.tp-row-pic { grid-area: pic; }
.tp-row-pic img, .tp-row-ph { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; background: var(--tp-tint); border: 2px solid #fff; box-shadow: 0 0 0 1px var(--tp-line); }
.tp-row-main { grid-area: main; min-width: 0; }
.tp-row-name { font-weight: 700; color: var(--tp-ink); text-decoration: none; line-height: 1.25; display: block; }
.tp-row-name:hover { color: var(--tp-hot); }
.tp-row-meta { font-size: .76rem; color: var(--tp-soft); margin: 2px 0 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tp-row > .tp-vote { grid-area: vote; }
.tp-row-go { grid-area: go; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--tp-tint); color: var(--tp-hot-deep); }
.tp-row-go:hover { background: var(--tp-hot); color: #fff; }
.tp-chip { display: inline-block; font-size: .64rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; border-radius: 4px; padding: 0 5px; margin-right: 5px; vertical-align: 1px; }
.tp-chip-spicy { background: var(--tp-hot); color: #fff; }
.tp-chip-star { background: var(--tp-gold); color: var(--tp-ink); }
.tp-head, .tp-entry { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 24px; align-items: center; margin-bottom: 18px; }
.tp-head-card, .tp-entry-card { position: relative; display: block; aspect-ratio: 5 / 7; border-radius: 16px; overflow: hidden; background: #2a1d3d; box-shadow: 0 14px 30px -16px rgba(30, 10, 50, .55); }
.tp-head-card img, .tp-entry-card img { width: 100%; height: 100%; object-fit: cover; }
.tp-entry { grid-template-columns: 260px minmax(0, 1fr); grid-template-areas: "card txt" "card rank"; align-items: start; }
.tp-entry-card { grid-area: card; border: 3px solid var(--tp-gold); }
.tp-entry-card .tp-medal { background: var(--tp-hot); top: 10px; left: 10px; }
.tp-entry-txt { grid-area: txt; }
.tp-entry-rank { grid-area: rank; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; background: var(--tp-card); border: 1px solid var(--tp-line); border-radius: 16px; padding: 14px 16px; }
.tp-entry-pos { display: flex; align-items: baseline; gap: 6px; margin: 0; font-family: var(--tp-disp); }
.tp-entry-pos span { font-size: .78rem; text-transform: uppercase; color: var(--tp-soft); }
.tp-entry-pos b { font-size: 3rem; line-height: 1; color: var(--tp-hot); }
.tp-entry-pos small { color: var(--tp-soft); }
.tp-entry-move { margin: 0; display: flex; gap: 6px; align-items: center; font-size: .8rem; color: var(--tp-soft); }
.tp-entry-move .tp-mv { font-size: 1.1rem; }
.tp-entry-small { flex-basis: 100%; font-size: .78rem; color: var(--tp-soft); margin: 0; }
.tp-entry-go { margin: 12px 0 0; }
.tp-body { max-width: 900px; }
.tp-body > ul:not([class]), .tp-body > ol:not([class]) { padding-left: 1.3rem; }
.tp-body li { margin-bottom: .3rem; }
.tp-plot { font-size: 1.06rem; }
.tp-src { font-size: .8rem; color: var(--tp-soft); }
.tp-callout { background: #fff; border: 1px solid var(--tp-line); border-left: 5px solid var(--tp-gold); border-radius: 12px; padding: 14px 16px; margin: 1.2rem 0; }
.tp-facts { list-style: none; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px; }
.tp-facts li { background: #fff; border: 1px solid var(--tp-line); border-radius: 12px; padding: 10px 12px; font-size: .86rem; color: var(--tp-soft); }
.tp-facts b { display: block; font-family: var(--tp-disp); font-size: 1.5rem; color: var(--tp-ink); }
.tp-points { list-style: none; padding: 0 !important; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.tp-points li { background: #fff; border: 1px solid var(--tp-line); border-radius: 14px; padding: 12px; text-align: center; font-size: .86rem; color: var(--tp-soft); }
.tp-points b { display: block; font-family: var(--tp-disp); font-size: 1.9rem; color: var(--tp-ink); }
.tp-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 16px; margin: 1rem 0 1.6rem; }
.tp-tile h3 { font-size: .98rem; margin-top: 8px; }
.tp-tile h3 a { color: var(--tp-ink); text-decoration: none; }
.tp-tile p { font-size: .76rem; color: var(--tp-soft); margin: 2px 0 0; }
.tp-tile-pic { position: relative; display: block; aspect-ratio: 5 / 7; border-radius: 12px; overflow: hidden; background: #2a1d3d; }
.tp-tile-pic img { width: 100%; height: 100%; object-fit: cover; }
.tp-tile-pos { position: absolute; left: 6px; top: 6px; background: rgba(28, 21, 48, .82); color: #fff; font-family: var(--tp-disp); border-radius: 6px; padding: 0 6px; font-size: .9rem; }
.tp-noimg { display: grid; place-items: center; height: 100%; color: #fff; padding: 10px; text-align: center; font-size: .8rem; background: linear-gradient(160deg, var(--tp-hot-deep), #3b2266); }
.tp-movers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.tp-movers section { background: #fff; border: 1px solid var(--tp-line); border-radius: 16px; padding: 12px; }
.tp-movers h3 { text-transform: uppercase; margin-bottom: 6px; }
.tp-movers-up h3 { color: var(--tp-up); }
.tp-movers-down h3 { color: var(--tp-down); }
.tp-movers .tp-row { grid-template-columns: 40px 34px 40px minmax(0, 1fr) 30px; grid-template-areas: "pos mv pic main go"; border: 0; padding: 4px 0; background: none; }
.tp-movers .tp-vote { display: none; }
.tp-movers .tp-row-pic img, .tp-movers .tp-row-ph { width: 40px; height: 40px; }
.tp-movers .tp-row-go { width: 30px; height: 30px; }
.tp-empty { font-size: .86rem; color: var(--tp-soft); margin: 0; }
.tp-scroll { overflow-x: auto; background: #fff; border: 1px solid var(--tp-line); border-radius: 14px; margin: 1rem 0 1.4rem; }
.tp-table { width: 100%; border-collapse: collapse; font-size: .86rem; }
.tp-table th, .tp-table td { text-align: left; padding: 8px 11px; border-bottom: 1px solid var(--tp-line); white-space: nowrap; font-variant-numeric: tabular-nums; }
.tp-table thead th { font-family: var(--tp-disp); text-transform: uppercase; font-weight: 500; letter-spacing: .04em; font-size: .76rem; color: var(--tp-soft); background: #faf9fd; }
.tp-table tbody th { white-space: normal; min-width: 180px; font-weight: 600; }
.tp-table tbody tr:last-child > * { border-bottom: 0; }
.tp-cats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 1rem 0 1.6rem; }
.tp-cat { background: #fff; border: 1px solid var(--tp-line); border-radius: 16px; padding: 14px; }
.tp-cat h3 { text-transform: uppercase; margin-bottom: 8px; }
.tp-cat h3 a { color: var(--tp-ink); text-decoration: none; }
.tp-cat h3 span { font-family: system-ui, sans-serif; font-size: .74rem; color: var(--tp-soft); text-transform: none; font-weight: 400; }
.tp-cat ol { list-style: none; margin: 0 0 8px; padding: 0; display: grid; gap: 6px; }
.tp-cat li { display: grid; grid-template-columns: 22px 40px minmax(0, 1fr); grid-template-areas: "n img a" "n img s"; column-gap: 8px; align-items: center; font-size: .88rem; line-height: 1.2; }
.tp-cat-n { grid-area: n; font-family: var(--tp-disp); font-size: 1.2rem; color: var(--tp-hot); }
.tp-cat li img { grid-area: img; border-radius: 50%; width: 40px; height: 40px; object-fit: cover; }
.tp-cat li a { grid-area: a; color: var(--tp-ink); font-weight: 600; text-decoration: none; }
.tp-cat li small { grid-area: s; color: var(--tp-soft); font-size: .72rem; }
.tp-more { font-size: .84rem; font-weight: 700; }
.tp-catlinks { list-style: none; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 8px; }
.tp-catlinks a { display: inline-flex; gap: 6px; align-items: center; background: #fff; border: 1px solid var(--tp-line); border-radius: 999px; padding: 6px 12px; text-decoration: none; color: var(--tp-ink); font-size: .88rem; }
.tp-catlinks span { color: var(--tp-soft); font-size: .76rem; }
details { background: #fff; border: 1px solid var(--tp-line); border-radius: 12px; margin: 0 0 8px; padding: 0 14px; }
details summary { cursor: pointer; font-weight: 700; padding: 12px 22px 12px 0; position: relative; list-style: none; }
details summary::-webkit-details-marker { display: none; }
details summary::after { content: ""; position: absolute; right: 2px; top: 17px; width: 8px; height: 8px; border-right: 2px solid var(--tp-hot); border-bottom: 2px solid var(--tp-hot); transform: rotate(45deg); transition: transform .2s; }
details[open] summary::after { transform: rotate(225deg); top: 21px; }
.tp-side { position: sticky; top: 80px; max-height: calc(100vh - 96px); overflow-y: auto; background: var(--tp-card); border: 1px solid var(--tp-line); border-radius: 20px; padding: 16px; font-size: .9rem; }
.tp-side-head { display: flex; justify-content: space-between; align-items: center; }
.tp-side-t { font-family: var(--tp-disp); text-transform: uppercase; font-size: 1.15rem; margin: 0; display: flex; gap: 8px; align-items: center; color: var(--tp-hot); }
.tp-side-x { display: none; }
.tp-side .tp-status { font-size: .78rem; padding: 7px 9px; }
.tp-side-h { font-family: var(--tp-disp); text-transform: uppercase; letter-spacing: .05em; font-size: .78rem; color: var(--tp-soft); margin: 16px 0 6px; }
.tp-mini { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.tp-mini li { display: grid; grid-template-columns: 22px 32px minmax(0, 1fr); gap: 8px; align-items: center; line-height: 1.2; transition: background .3s; border-radius: 8px; }
.tp-mini li > span { font-family: var(--tp-disp); font-size: 1.05rem; text-align: center; color: var(--tp-soft); }
.tp-mini li:nth-child(-n+3) > span { color: var(--tp-hot); }
.tp-mini img { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; }
.tp-mini a { color: var(--tp-ink); text-decoration: none; font-size: .84rem; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tp-you { background: var(--tp-tint); border-radius: 12px; padding: 2px 12px 10px; margin-top: 14px; }
.tp-you p { margin: 0; }
.tp-you .tp-side-h { margin-top: 10px; }
.tp-you-small { font-size: .74rem; color: var(--tp-soft); margin-top: 4px !important; }
.tp-side-cats { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.tp-side-cats li a { display: inline-block; text-decoration: none; color: var(--tp-ink); border: 1px solid var(--tp-line); border-radius: 999px; padding: 3px 10px; font-size: .8rem; }
.tp-side-cats li { display: inline-flex; align-items: center; gap: 3px; }
.tp-side-cats li span { font-size: .7rem; color: var(--tp-soft); }
.tp-side-go { margin: 16px 0 0; }
.tp-side-go .tp-btn { width: 100%; }
.tp-side-nav { display: grid; gap: 2px; margin-top: 16px; border-top: 1px solid var(--tp-line); padding-top: 10px; }
.tp-side-nav a { display: flex; gap: 8px; align-items: center; color: var(--tp-ink); text-decoration: none; padding: 6px 4px; border-radius: 8px; font-size: .86rem; }
.tp-side-nav a:hover { background: var(--tp-bg); }
.tp-price { display: inline-flex; flex-direction: column; background: #fff; border: 2px solid var(--tp-hot); border-radius: 16px; padding: 10px 16px; margin: 4px 0 12px; }
.tp-price span { font-size: .76rem; color: var(--tp-soft); }
.tp-price b { font-family: var(--tp-disp); font-size: 2.2rem; line-height: 1.05; color: var(--tp-hot-deep); }
.tp-price em { font-style: normal; font-size: .8rem; color: var(--tp-soft); }
.tp-head-go { margin: 0 0 8px; }
.tp-fine { font-size: .76rem; color: var(--tp-soft); }
.tp-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 1rem 0 .4rem; }
.tp-plan { background: #fff; border: 1px solid var(--tp-line); border-radius: 16px; padding: 14px; display: flex; flex-direction: column; }
.tp-plan-top { border: 2px solid var(--tp-gold); }
.tp-plan-name { font-family: var(--tp-disp); text-transform: uppercase; margin: 0; }
.tp-plan-name span { font-family: system-ui, sans-serif; text-transform: none; font-size: .68rem; background: var(--tp-gold); border-radius: 4px; padding: 1px 5px; vertical-align: 2px; }
.tp-plan-off { color: var(--tp-up); font-weight: 700; font-size: .84rem; margin: 0 0 6px; }
.tp-plan-price { font-family: var(--tp-disp); font-size: 1.8rem; line-height: 1.1; margin: 0; }
.tp-plan-price small { font-family: system-ui, sans-serif; font-size: .8rem; color: var(--tp-soft); }
.tp-plan-sub { font-size: .76rem; color: var(--tp-soft); flex: 1; }
.tp-plans-note, .tp-plans-none { font-size: .78rem; color: var(--tp-soft); }
.tp-perks { list-style: none; padding: 0 !important; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 16px; }
.tp-perks li { position: relative; padding-left: 24px; }
.tp-perks li::before { content: "★"; position: absolute; left: 0; color: var(--tp-gold); }
.tp-foot { background: var(--tp-ink); color: #cfc8e2; padding: 30px 24px 26px; margin-top: 30px; font-size: .86rem; }
.tp-foot-in { max-width: 1340px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.3fr .8fr; gap: 28px; }
.tp-foot a { color: #fff; }
.tp-foot-h { font-family: var(--tp-disp); text-transform: uppercase; color: #fff; letter-spacing: .05em; margin-bottom: 6px; }
.tp-foot-links { display: flex; flex-direction: column; gap: 4px; }
.tp-logo-foot .tp-logo-w { font-size: 1.15rem; }
.tp-foot-note { max-width: 1340px; margin: 18px auto 0; font-size: .76rem; color: #9b93b3; }
.tp-toast { position: fixed; left: 50%; bottom: 22px; transform: translateX(-50%); z-index: 70; background: var(--tp-ink); color: #fff; border-radius: 12px; padding: 10px 16px; font-size: .9rem; box-shadow: 0 16px 34px -12px rgba(0, 0, 0, .5); max-width: min(520px, calc(100vw - 32px)); }
.tp-toast[hidden] { display: none; }
.tp-toast.is-bad { background: #7a1430; }
.tp-age { position: fixed; left: 0; right: 0; bottom: 0; z-index: 65; display: flex; flex-wrap: wrap; gap: 10px 20px; align-items: center; justify-content: center; background: #fff; border-top: 3px solid var(--tp-hot); padding: 12px 16px; box-shadow: 0 -10px 30px -12px rgba(30, 10, 50, .3); font-size: .9rem; }
.tp-age[hidden] { display: none; }
.tp-age p { margin: 0; }
.tp-age-do { display: flex; gap: 14px; align-items: center; }
.tp-age-do a { color: var(--tp-soft); font-size: .84rem; }
.tp-dim { position: fixed; inset: 0; z-index: 44; background: rgba(20, 10, 35, .45); }
.tp-dim[hidden] { display: none; }
@media (max-width: 1120px) {
	.tp-wrap { grid-template-columns: minmax(0, 1fr); }
	.tp-board-btn { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--tp-line); background: #fff; color: var(--tp-ink); border-radius: 10px; padding: 7px 10px; font-family: var(--tp-disp); text-transform: uppercase; font-size: .86rem; cursor: pointer; flex: none; }
	.tp-side { position: fixed; left: 0; right: 0; bottom: 0; top: auto; z-index: 45; max-height: 82vh; border-radius: 22px 22px 0 0; transform: translateY(102%); transition: transform .28s ease; box-shadow: 0 -20px 40px -10px rgba(30, 10, 50, .35); }
	body.tp-sheet .tp-side { transform: none; }
	.tp-side-x { display: grid; place-items: center; width: 36px; height: 36px; background: var(--tp-bg); border: 0; border-radius: 50%; cursor: pointer; color: var(--tp-ink); }
}
@media (max-width: 860px) {
	.tp-top { gap: 10px; padding: 0 14px; height: 56px; }
	.tp-tabs { display: none; }
	.tp-logo { flex: 1; min-width: 0; }
	.tp-logo-w { font-size: 1.08rem; }
	.tp-wrap { padding: 10px 14px 24px; }
	.tp-stage, .tp-stage-spot { grid-template-columns: minmax(0, 1fr); grid-template-areas: "pod" "txt" "spot"; gap: 14px; }
	.tp-spot { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 12px; align-items: center; }
	.tp-spot figcaption { margin: 0; }
	.tp-podium { gap: 8px; padding: 8px 6px 0; }
	.tp-step-name { font-size: .82rem; margin-top: 6px; min-height: 2.3em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
	.tp-step-meta { flex-direction: column; gap: 0; font-size: .68rem; }
	.tp-medal { min-width: 26px; height: 26px; font-size: .9rem; left: 5px; top: 5px; }
	.tp-step-1 .tp-step-card::after { width: 22px; height: 16px; right: 5px; }
	.tp-step .tp-vb { padding: 3px 4px; font-size: .7rem; gap: 1px; }
	.tp-step .tp-vb svg { width: 12px; height: 12px; }
	.tp-step .tp-vote { gap: 2px; }
	.tp-step-1 .tp-block { height: 56px; font-size: 1.6rem; }
	.tp-step-2 .tp-block { height: 40px; font-size: 1.3rem; }
	.tp-step-3 .tp-block { height: 28px; font-size: 1.1rem; }
	.tp-row { grid-template-columns: 36px 46px minmax(0, 1fr) 34px; grid-template-areas: "pos pic main go" "mv pic vote go"; gap: 2px 10px; padding: 8px 8px 8px 4px; }
	.tp-pos b { font-size: 1.35rem; }
	.tp-row-pic img, .tp-row-ph { width: 46px; height: 46px; }
	.tp-row > .tp-vote { justify-self: start; margin-top: 4px; }
	.tp-row-go { width: 32px; height: 32px; }
	.tp-head { grid-template-columns: 104px minmax(0, 1fr); gap: 14px; align-items: start; }
	.tp-entry { grid-template-columns: 132px minmax(0, 1fr); grid-template-areas: "card rank" "txt txt"; gap: 14px; }
	.tp-entry-rank { flex-direction: column; align-items: flex-start; gap: 8px; padding: 10px 12px; }
	.tp-entry-pos b { font-size: 2.4rem; }
	.tp-stage h1, .tp-head h1, .tp-entry h1 { font-size: 1.7rem; }
	.tp-head h1 { font-size: 1.45rem; }
	.tp-movers, .tp-cats { grid-template-columns: minmax(0, 1fr); }
	.tp-plans { grid-template-columns: minmax(0, 1fr); }
	.tp-perks { grid-template-columns: minmax(0, 1fr); }
	.tp-points { grid-template-columns: minmax(0, 1fr); }
	.tp-foot-in { grid-template-columns: minmax(0, 1fr); gap: 18px; }
	.tp-foot { padding-bottom: 96px; }
	h2 { font-size: 1.35rem; }
}
@media (max-width: 400px) {
	.tp-board-btn span { display: none; }
	.tp-entry-rank .tp-vb { padding: 4px 6px; }
}
body.tp-haunted { --tp-bg: #f6f2fa; }
.tp-hw { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 36px; padding: 4px 14px; background: #1f0d33; color: #f3e7ff; text-decoration: none; font-size: .86rem; position: relative; overflow: hidden; }
.tp-hw:hover { color: #fff; }
.tp-hw-tag { font-family: Butcherman, var(--tp-disp); font-size: 1.15rem; color: #ff8a1c; letter-spacing: .04em; line-height: 1; }
.tp-hw-bats { display: inline-flex; gap: 6px; color: #b98cff; }
.tp-hw-bats .tp-bat { animation: tp-flap 1.6s ease-in-out infinite; }
.tp-hw-bats .tp-bat + .tp-bat { animation-delay: .4s; }
@keyframes tp-flap { 50% { transform: translateY(-3px) scaleX(.82); } }
.tp-hw-deal b { color: #ffb15c; }
.tp-hw-go { background: #ff7417; color: #fff; border-radius: 6px; padding: 2px 10px; font-weight: 700; font-size: .78rem; text-transform: uppercase; white-space: nowrap; }
.tp-hw-deal { white-space: nowrap; }
.tp-haunted .tp-podium { background: radial-gradient(120% 90% at 50% 100%, #efe0ff, transparent 70%); }
.tp-haunted .tp-step-1 .tp-block { background: linear-gradient(180deg, #ff9a3c, #e0620a); }
.tp-haunted .tp-step-2 .tp-block { background: linear-gradient(180deg, #8c6ad1, #5a3a9c); }
.tp-haunted .tp-step-3 .tp-block { background: linear-gradient(180deg, #b78ee6, #7b56b5); }
.tp-haunted .tp-step-1 .tp-step-card { border-color: #ff8a1c; }
.tp-haunted .tp-step-1 .tp-step-card::after { background: #ff8a1c; clip-path: none; border-radius: 50% 50% 46% 46%; width: 26px; height: 22px; box-shadow: inset -4px 0 0 rgba(0, 0, 0, .15), inset 4px 0 0 rgba(0, 0, 0, .1); }
.tp-haunted .tp-step-1 .tp-medal { background: #ff8a1c; color: #fff; }
.tp-haunted .tp-tab-deal { color: #d45a00; }
.tp-haunted .tp-side { border-top: 4px solid #7b4bc4; }
.tp-price-hw { border-color: #ff7417; background: linear-gradient(170deg, #fff, #fff2e6); }
.tp-head-deal .tp-head-card { border: 3px solid #ff8a1c; }
@media (max-width: 860px) {
	.tp-hw { justify-content: flex-start; gap: 8px; font-size: .78rem; }
	.tp-hw-bats, .tp-hw-x { display: none; }
	.tp-hw-go { margin-left: auto; padding: 2px 7px; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; }
}
.tp-freepanel { background: #fff; border: 1px solid var(--tp-line); border-radius: 18px; padding: 14px 16px; margin: 0 0 6px; }
.tp-freepanel h2 { font-size: 1.3rem; margin: 0 0 10px; }
.tp-freepanel p { margin-bottom: 8px; }
.tp-fp { list-style: none; margin: 0 0 10px; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 6px; }
.tp-fp li { display: flex; flex-direction: column; align-items: center; min-width: 52px; padding: 5px 6px; border-radius: 10px; font-size: .68rem; text-transform: uppercase; letter-spacing: .03em; margin: 0; }
.tp-fp b { font-family: var(--tp-disp); font-size: 1.2rem; line-height: 1; }
.tp-fp-guest { background: #e2f6ec; color: var(--tp-up); }
.tp-fp-acct { background: var(--tp-tint); color: var(--tp-hot-deep); }
.tp-fp-paid { background: #efedf4; color: var(--tp-soft); }
.tp-fp-lock { background: var(--tp-ink); color: #fff; padding: 8px 12px; }
.tp-aka { font-size: .82rem; color: var(--tp-soft); }
.tp-aka i { font-style: normal; color: var(--tp-ink); font-weight: 600; }
.tp-stars { list-style: none; margin: 1rem 0 1.4rem; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 10px; }
.tp-stars a { display: flex; gap: 10px; align-items: center; background: #fff; border: 1px solid var(--tp-line); border-radius: 14px; padding: 8px 10px; text-decoration: none; color: var(--tp-ink); }
.tp-stars img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.tp-stars span { display: flex; flex-direction: column; line-height: 1.25; }
.tp-stars em { font-style: normal; font-size: .76rem; color: var(--tp-soft); }
.tp-newbox { background: linear-gradient(135deg, #fff, var(--tp-tint)); border: 1px solid #f3cfe2; border-radius: 20px; padding: 14px 16px 4px; margin: 6px 0 18px; }
.tp-newbox h2 { margin: 0 0 4px; font-size: 1.4rem; }
.tp-newbox .tp-ladder { margin-top: .6rem; }
.tp-side-fresh { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.tp-side-fresh li { display: grid; grid-template-columns: 22px 32px minmax(0, 1fr); gap: 8px; align-items: center; line-height: 1.2; }
.tp-side-fresh li > span { font-family: var(--tp-disp); text-align: center; color: var(--tp-up); }
.tp-side-fresh img { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; }
.tp-side-fresh a { color: var(--tp-ink); text-decoration: none; font-size: .84rem; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
