/* Hall of Honor — cinematic metal podium, live HTML names and scores. */
.honor{position:relative;isolation:isolate;container-type:inline-size;background:#07111f url('assets/honor-stage.png') center bottom/cover no-repeat;color:#fff5dd;border:1px solid #273143;border-radius:16px;padding:26px 28px 12px;margin-bottom:18px;overflow:hidden;box-shadow:0 12px 35px #15264212}
.honor:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#06101b66,transparent 65%);z-index:-1;pointer-events:none}
.honor .kicker{font-size:11px;letter-spacing:.28em;color:#e8bc63;font-weight:600}.honor h2{font-size:clamp(22px,2.3vw,34px);letter-spacing:.03em;color:#f5d689;margin:8px 0;line-height:1.4;text-shadow:0 2px 10px #0008}.honor p{margin:0;color:#d0d7e2;font-size:13px}
.honor-tools{display:flex;gap:10px;position:absolute;right:20px;top:20px;max-width:48%}.honor-tools label{display:grid;gap:5px;font-size:10px;color:#a5afbd;min-width:0}.honor-tools input,.honor-tools select{color-scheme:dark;box-sizing:border-box;background:#08121fc4;border:1px solid #8390a377;box-shadow:inset 0 1px 3px #ffffff0a;border-radius:10px;padding:11px 12px;min-width:0;width:100%;font:inherit;font-size:12px;color:#e1e6ee;height:42px}.honor-tools label:last-child{max-width:160px}.honor-tools input::placeholder{color:#9098a8}.honor-tools :focus-visible{outline:2px solid #edca7f;outline-offset:3px}
.podium{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:0;align-items:end;width:min(790px,80%);margin:26px auto 0;padding-bottom:18px;position:relative;filter:drop-shadow(0 14px 15px #0007)}
.podium-group{min-width:0;display:flex;flex-direction:column;--metal:#d7dfe9;--light:#eef2f4;--mid:#a0a9b1;--dark:#242c36;--rise:0px;--block:72px;--hue:grayscale(1)}
.podium-rank-1{--metal:#f7d374;--light:#fff0ad;--mid:#b98222;--dark:#50300a;--rise:48px;--block:116px;--hue:none;z-index:2}.podium-rank-2{--block:72px;z-index:1}.podium-rank-3{--metal:#e4ad84;--light:#ffcb9a;--mid:#ac6036;--dark:#4b2114;--block:58px;--hue:sepia(.55) saturate(1.4) hue-rotate(338deg);z-index:1}
.podium-people{display:grid;gap:20px;position:relative;padding:0 22px}
.honor-card{display:flex;flex-direction:column;position:relative;min-width:0;text-align:center;padding:105px 0 0;isolation:isolate}
.award-ornament{position:absolute;inset:0 0 auto;height:230px;z-index:-1;pointer-events:none}.award-ornament img{display:block;position:absolute;width:calc(100% + 62px);max-width:none;left:-31px;top:0;height:230px;object-fit:fill;filter:var(--hue);}
.award-number{position:absolute;top:61px;left:50%;transform:translateX(-50%);width:40px;height:40px;display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,var(--light),var(--mid) 65%,var(--dark));border:2px solid var(--metal);border-radius:50%;box-shadow:inset 0 0 0 2px #fff3,0 3px 5px #0008;color:#fff9e7;font-size:30px;font-weight:800;line-height:1;text-shadow:0 2px 2px #503000}
.honor-person{min-height:108px;padding:8px 5px 12px;display:flex;flex-direction:column;justify-content:center;position:relative;background:linear-gradient(115deg,#18212beb,#080e17f5);border:1px solid var(--metal);border-radius:11px;box-shadow:inset 0 1px 10px #ffffff0b,0 8px 16px #0006}
.honor-place{font-size:9px;color:var(--metal);letter-spacing:.12em}.honor-card h3{font-size:21px;line-height:1.35;margin:4px 0 5px;color:#fff8e8;overflow-wrap:anywhere;text-shadow:0 2px 3px #000}.honor-location{display:block;color:#d8dce2;font-size:11px;line-height:1.6;overflow-wrap:anywhere}.breakdown{font-size:12px;color:#f1f0eb;margin-top:3px;line-height:1.6}
.honor-score{position:relative;z-index:3;flex-shrink:0;height:var(--block);margin:18px -22px 0;padding-top:9px;background:linear-gradient(100deg,var(--dark),var(--mid) 20%,var(--light) 20.5%,var(--mid) 22%,var(--dark) 77%,var(--mid) 78%,var(--light) 79%,var(--mid));border-bottom:1px solid var(--dark);box-shadow:inset 0 1px 1px var(--light),inset 0 -8px 15px #0003;font-size:39px;line-height:1.05;font-weight:800;color:#fff0be;text-shadow:0 0 10px #ffcf7299,0 2px 2px #4a2b13;display:flex;flex-direction:column;justify-content:center}
.honor-score:before{content:'';position:absolute;left:0;right:0;top:-17px;height:18px;clip-path:polygon(15% 0,85% 0,100% 100%,0 100%);background:linear-gradient(100deg,var(--mid),var(--light) 45%,var(--metal) 65%,var(--mid));filter:drop-shadow(0 0 8px var(--metal))}.honor-score small{display:block;font-size:11px;font-weight:600;line-height:1.7}.podium-rank-1 .honor-score{font-size:53px}.podium-rank-1 .honor-person{min-height:125px}.podium-rank-1 .honor-card{padding-top:105px}.podium-rank-1 .honor-card h3{font-size:24px}.podium-step{display:none}.podium-vacant{min-height:180px;display:flex;align-items:end;justify-content:center;padding-bottom:25px;color:#c8bfa9;font-size:11px;text-align:center}.honor-note{font-size:10px;color:#b4bdcb;line-height:1.6;text-align:center;margin:0 auto 0;max-width:850px}
.honor-summary{font-size:12px;color:#697c96;padding:4px 0 12px}.honor-table{padding:0!important;overflow:hidden;border-radius:13px!important}.honor-table .table-wrap{border:0;border-radius:0}.honor-table table{min-width:670px}.honor-table caption{text-align:left;font-size:18px;font-weight:800;color:#20314c;padding:18px 22px}.honor-table th{background:#f8fafc}.honor-table td{padding:11px 18px}.honor-table .rank-label{font-weight:700;color:#77623b}.honor-table td:last-child{font-size:17px;font-weight:800;color:#172d4d}.honor-table tr[data-rank="1"]{background:#fcf3df}.honor-table tr[data-rank="2"]{background:#f0f2f5}.honor-table tr[data-rank="3"]{background:#fbf0e7}.honor-state{text-align:center;padding:25px}
@media(min-width:1400px){.honor{padding-top:28px}.podium{margin-top:8px}}
@media(max-width:1050px){.honor-tools{position:static;max-width:none;margin-top:14px}.honor-tools label{flex:1}.honor-tools label:last-child{max-width:none}.podium{margin-top:14px;width:90%}}
@media(max-width:650px){.honor{padding:18px 10px 12px;border-radius:14px}.honor .kicker{font-size:8px;letter-spacing:.2em}.honor h2{font-size:21px}.honor p{font-size:11px}.honor-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px}.honor-tools label:last-child{grid-column:1/-1}.honor-tools input,.honor-tools select{font-size:11px;padding:8px;height:36px}.podium{width:100%;margin-top:8px;padding:0 0 15px;grid-template-columns:1fr 1.12fr 1fr}.podium-people{padding:0 6px;gap:12px}.honor-card{padding-top:83px}.award-ornament{height:186px}.award-ornament img{height:186px;width:calc(100% + 28px);left:-14px}.award-number{top:50px;width:28px;height:28px;font-size:22px}.honor-person{padding:6px 3px 9px;min-height:107px;border-radius:8px}.honor-card h3{font-size:15px}.honor-location,.breakdown{font-size:9px}.honor-place{font-size:8px;letter-spacing:0}.podium-rank-1 .honor-person{min-height:121px}.podium-rank-1 .honor-card{padding-top:83px}.podium-rank-1 .honor-card h3{font-size:17px}.honor-score{margin:13px -6px 0;font-size:28px;height:65px}.honor-score:before{top:-12px;height:13px}.podium-rank-1 .honor-score{height:99px;font-size:39px}.podium-rank-3 .honor-score{height:48px;font-size:26px}.honor-score small{font-size:9px}.honor-note{font-size:9px}.podium-vacant{font-size:9px;min-height:210px}}
/* Match the ornament's transparent nameplate and keep medal numerals dynamic. */
.honor-card,.podium-rank-1 .honor-card{padding-top:145px}.honor-person{min-height:88px}.podium-rank-1 .honor-person{min-height:110px}.award-number{height:62px;width:44px;top:59px;border:0;border-radius:45%;font-size:37px;box-shadow:none;background:radial-gradient(ellipse at 30% 20%,var(--light),var(--mid));}
@media(max-width:650px){.honor-card,.podium-rank-1 .honor-card{padding-top:117px}.honor-person{min-height:92px}.podium-rank-1 .honor-person{min-height:104px}.award-number{height:49px;width:31px;top:49px;font-size:27px}}
@media(min-width:1051px){.podium{margin-top:-28px}}
