body{--page-bg:#11100f;--surface:#1b1814;--text:#f5f0e6;--score:#e4c990;--accent:#e4c990;--line:#393229;--muted:#b8b1a5;--paper:#f5f0e6}
body{background:#11100f;color:var(--paper)}
button,input{font:inherit}button{cursor:pointer}[hidden]{display:none!important}
button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.hero{position:relative;isolation:isolate;overflow:hidden;padding:24px 24px 30px;text-align:center;background:radial-gradient(ellipse at 50% 0,#473824 0,transparent 70%),#151310}
.back-link{display:block;text-align:left;position:relative;z-index:1;color:var(--muted);font-size:12px;letter-spacing:2px;text-decoration:none;min-height:44px}
.hero-art{position:absolute;inset:0;z-index:-1;opacity:.42;overflow:hidden}.beam{position:absolute;top:-130px;width:90px;height:570px;background:linear-gradient(#e4c99055,transparent);filter:blur(12px);transform-origin:top}.beam.left{left:5%;transform:rotate(-25deg)}.beam.right{right:5%;transform:rotate(25deg)}.arch{position:absolute;inset:65px 58px -80px;border:1px solid #e4c99055;border-radius:160px 160px 0 0}.runway{position:absolute;left:24%;right:24%;bottom:-105px;height:235px;background:linear-gradient(#b18b5144,transparent);transform:perspective(140px) rotateX(35deg);border:1px solid #e4c99033}
.eyebrow{color:var(--accent);font-size:11px;letter-spacing:4px;margin:14px 0 20px}.hero h1{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:clamp(25px,7.6vw,34px);line-height:1.6;letter-spacing:3px;font-weight:600}.hero-copy{margin:16px 0 22px;font-size:13px;letter-spacing:1px;color:#d3c9b6}.hero-period{font-size:18px;letter-spacing:2px}.hero-period span{margin:0 8px;color:var(--accent)}.hero-prize{border-top:1px solid #e4c99044;margin:24px auto 0;padding-top:20px;font-size:12px;line-height:2;color:var(--muted)}.hero-prize strong{color:var(--accent);font-size:17px;font-weight:500;letter-spacing:1px}
.tab-bar{margin-top:0}.tab-btn{min-height:52px;color:var(--muted)}.tab-btn.active{color:var(--paper)}.tab-btn.active::after{background:var(--accent)}
.event-timer{padding:24px 16px 12px}.section-label{color:var(--accent);font-size:12px;letter-spacing:1px;margin-bottom:10px}.event-timer .period{font-size:13px;color:var(--paper)}.countdown{color:var(--accent)!important;font-size:12px!important;margin-top:8px}
.score-rule{display:flex;justify-content:center;gap:16px;font-size:12px;color:var(--muted);padding:12px 8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 16px}
.update-bar{gap:6px;flex-wrap:wrap;font-size:11px;color:var(--muted);padding:16px}.status{font-size:11px!important;color:var(--muted)!important}
.search{display:flex;align-items:center;gap:12px;margin:0 16px;border:1px solid var(--line);border-radius:6px;background:#1b1814;padding:0 12px}.search>span{white-space:nowrap;color:var(--muted);font-size:12px}.search input{width:100%;min-width:0;background:none;border:0;color:var(--paper);font-size:16px;min-height:46px}.search input::placeholder{color:#b8b1a5;font-size:13px}
.list-caption{display:flex;justify-content:space-between;font-size:12px;margin:18px 16px 10px;color:var(--muted)}.ranking-list{padding-bottom:0}.rank-card{background:#1b1814;border-color:var(--line)}.rank-card.top1{background:linear-gradient(110deg,#3b2b14,#1b1814);border-color:#9f7c39}.rank-card.top2{background:linear-gradient(110deg,#302c24,#1b1814)}.rank-info .tiktok-id{color:var(--muted)}.point-unit{font-size:11px;color:var(--muted);margin-left:4px}.diamond-count{display:block;font-size:11px;color:var(--muted);margin-top:4px}
.empty{text-align:center;padding:36px 20px;font-size:14px;line-height:2;color:var(--muted)}.data-footnote{text-align:center;font-size:12px;line-height:1.8;color:var(--muted);padding:26px 16px}
.event-details{padding:28px 20px}.event-details h2{font-family:'Yu Mincho',serif;font-size:27px;color:var(--accent);margin:0 0 16px}.event-details h3{font-size:17px;margin:30px 0 12px}.event-details p{font-size:14px;line-height:1.9;color:#e1d9cc}.event-details p.muted,.event-details small{color:var(--muted);font-size:12px}.event-details p+p{margin-top:12px}.stage{display:flex;gap:16px;margin:16px 0;padding:18px 0;border-top:1px solid var(--line)}.stage-number{font-size:24px;color:var(--accent);font-family:Georgia,serif}.stage h4{font-size:16px;margin-bottom:6px}.prizes{padding:0 16px;border:1px solid var(--line);background:#1b1814}.prizes dt{color:var(--muted);font-size:12px;padding-top:18px}.prizes dd{font-size:16px;padding:6px 0 18px;color:var(--accent);line-height:1.8}.prizes dd+dt{border-top:1px solid var(--line)}.hashtag{overflow-wrap:anywhere;color:var(--accent)!important}.source-link,.event-link{display:block;text-align:center;color:var(--accent);border:1px solid #7e6843;border-radius:6px;padding:15px;margin-top:26px;font-size:14px;text-decoration:none;min-height:48px}.event-link{border:0;margin-top:10px}.source-link:hover{background:#30271c}footer{text-align:center;border-top:1px solid var(--line);padding:28px 16px;color:var(--muted);font-size:11px;line-height:2;letter-spacing:1px}footer a{color:var(--muted);display:inline-block;padding:8px;min-height:44px}
@media(max-width:350px){.hero{padding-left:16px;padding-right:16px}.hero h1{letter-spacing:1px}.score-rule{gap:10px;font-size:11px}.rank-avatar{width:36px;height:36px;margin:0 6px}.rank-num{width:24px}.rank-card{padding:10px 6px}.rank-info .nickname{font-size:12px}.rank-score{margin-left:4px}.rank-score .diamonds{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.hero{padding:0 0 24px}.hero-kv{display:block;width:100%;height:auto}.hero .hero-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.hero-period{margin:24px 16px 0}.hero-prize{margin:20px 16px 0}@media(max-width:350px){.hero{padding-left:0;padding-right:0}}

/* Separate the event introduction from ranking controls. */
.hero{border-bottom:1px solid #e4c99080;padding-bottom:32px}
.hero + main{border-top:8px solid #08080d;padding-top:8px;background:#11100f}

/* Compact event summary with clean Japanese sans-serif typography. */
.hero{padding-bottom:20px}
.hero-period,.hero-prize{font-family:"Noto Sans JP","Yu Gothic", "Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-variant-numeric:tabular-nums}
.hero-period{margin:16px 16px 0;font-size:15px;font-weight:500;letter-spacing:.06em;line-height:1.5}
.hero-period span{margin:0 6px}
.hero-prize{margin:14px 16px 0;padding-top:12px;font-size:11px;font-weight:400;line-height:1.8;letter-spacing:.02em}
.hero-prize strong{display:inline-block;font-size:16px;font-weight:600;letter-spacing:.03em;line-height:1.6}
