.point-page {margin-bottom:20px;}
.point-hero {display:flex; align-items:stretch; justify-content:space-between; gap:18px; padding:28px 30px; border-radius:18px; color:#fff; margin-bottom:18px; box-shadow:0 18px 40px rgba(16, 24, 40, 0.18);}
.point-hero-all {background:radial-gradient(circle at top left, rgba(255, 217, 102, 0.18) 0%, rgba(255, 217, 102, 0) 30%), linear-gradient(135deg, #121723 0%, #1c2741 55%, #233767 100%);}
.point-hero-month {background:radial-gradient(circle at top left, rgba(255, 125, 125, 0.18) 0%, rgba(255, 125, 125, 0) 30%), linear-gradient(135deg, #1b1423 0%, #3d1f38 45%, #6a2d4f 100%);}
.point-hero-copy {max-width:520px;}
.point-hero-kicker {display:inline-block; padding:6px 12px; border-radius:999px; background:rgba(255,255,255,0.14); color:#ffe29b; font-size:11px; font-weight:800; letter-spacing:1.4px;}
.point-hero h2 {margin:14px 0 10px; font-size:34px; font-weight:700; letter-spacing:-1.2px;}
.point-hero p {margin:0; color:rgba(255,255,255,0.84); font-size:14px; line-height:1.7;}
.point-hero-meta {display:grid; grid-template-columns:repeat(2, minmax(120px, 1fr)); gap:12px; align-content:start; min-width:290px;}
.point-hero-meta-month {grid-template-columns:repeat(2, minmax(120px, 1fr));}
.point-stat-card {padding:16px 18px; border-radius:16px; background:rgba(255,255,255,0.1); backdrop-filter:blur(10px);}
.point-stat-card .label {display:block; color:rgba(255,255,255,0.66); font-size:11px; font-weight:700; letter-spacing:0.6px; margin-bottom:7px;}
.point-stat-card strong {display:block; font-size:24px; font-weight:800; letter-spacing:-0.6px;}
.point-stat-card.highlight {background:linear-gradient(135deg, rgba(255, 225, 138, 0.24) 0%, rgba(255, 177, 66, 0.18) 100%);}
.point-hero-link {display:flex; align-items:center; justify-content:center; min-height:56px; padding:0 18px; border-radius:16px; background:#fff; color:#1c2741; font-size:14px; font-weight:800; box-shadow:0 14px 24px rgba(6, 11, 22, 0.18);}
.point-hero-link:hover {color:#d9364c;}
.point-select-box .form-control {height:56px; border:0; border-radius:16px; box-shadow:none; font-size:14px; font-weight:700; color:#1f2833;}

.point-podium {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:14px; margin-bottom:18px;}
.point-podium-card {position:relative; padding:24px 22px; border-radius:18px; background:#fff; box-shadow:0 14px 30px rgba(18, 27, 45, 0.08); overflow:hidden;}
.point-podium-card:before {content:''; position:absolute; top:0; left:0; right:0; height:5px;}
.point-podium-card.rank-1:before {background:linear-gradient(90deg, #f9d660 0%, #f4a000 100%);}
.point-podium-card.rank-2:before {background:linear-gradient(90deg, #d5dce6 0%, #94a3b8 100%);}
.point-podium-card.rank-3:before {background:linear-gradient(90deg, #ffcf9f 0%, #ef7f37 100%);}
.point-podium-rank {display:inline-flex; align-items:center; justify-content:center; min-width:72px; height:30px; padding:0 10px; border-radius:999px; background:#f4f6fb; color:#4b5563; font-size:12px; font-weight:800;}
.point-podium-name {margin-top:18px; color:#1f2833; font-size:20px; font-weight:800; line-height:1.3; word-break:break-all;}
.point-podium-name img {width:28px; height:28px; margin-right:6px; border-radius:50%; vertical-align:-7px;}
.point-podium-point {margin-top:16px; color:#df3650; font-size:30px; font-weight:800; letter-spacing:-1px;}
.point-podium-point span {margin-left:4px; font-size:14px; color:#8791a1;}

.point-board-wrap {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:16px;}
.point-board-card {background:#fff; border-radius:18px; box-shadow:0 14px 30px rgba(18, 27, 45, 0.08); overflow:hidden;}
.point-board-head {padding:18px 20px 14px; border-bottom:1px solid #edf0f5; background:linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);}
.point-board-head h3 {font-size:17px; font-weight:800; color:#1f2833; letter-spacing:-0.5px;}
.point-board-list {padding:6px 20px 14px;}
.point-board-row {display:grid; grid-template-columns:56px 1fr auto; gap:12px; align-items:center; padding:13px 0; border-bottom:1px solid #edf0f5;}
.point-board-row:last-child {border-bottom:0;}
.point-board-row .rank {display:inline-flex; align-items:center; justify-content:center; width:38px; height:28px; border-radius:999px; background:#f4f6fb; color:#556070; font-size:12px; font-weight:800;}
.point-board-row .name {min-width:0; color:#253041; font-size:14px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.point-board-row .name img {width:20px; height:20px; margin-right:5px; border-radius:50%; vertical-align:-5px;}
.point-board-row .point {color:#df3650; font-size:13px; font-weight:800;}

.point-empty {padding:60px 20px; text-align:center; border-radius:18px; background:#fff; color:#697386; font-size:15px; font-weight:700; box-shadow:0 14px 30px rgba(18, 27, 45, 0.08);}

@media (max-width: 991px) {
	.point-hero {flex-direction:column; padding:22px 20px;}
	.point-hero h2 {font-size:28px;}
	.point-hero-meta,
	.point-hero-meta-month {grid-template-columns:repeat(2, minmax(0, 1fr)); min-width:0;}
	.point-podium {grid-template-columns:1fr;}
	.point-board-wrap {grid-template-columns:1fr;}
}