:root{--bg:#0d1117;--panel:#161b22;--panel2:#1c2330;--text:#e6edf3;--muted:#8b949e;--line:#2a3240;--accent:#3fb950;--accent2:#58a6ff;--warn:#f0883e;--sub:#a371f7;--radius:14px}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,Inter,sans-serif}
a{color:var(--accent2)}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.hero{background:radial-gradient(1200px 400px at 10% -10%,#1f6f3a55,transparent),radial-gradient(900px 300px at 90% 0,#1f4f8a55,transparent);border-bottom:1px solid var(--line);padding:42px 0 28px}
.hero h1{margin:0;font-size:clamp(28px,5vw,44px);letter-spacing:-.02em}
.logo{display:inline-block;transform:rotate(-8deg)}
.tagline{margin:.4em 0 0;color:#c9d1d9;font-size:clamp(15px,2.2vw,18px)}
.updated{margin:.8em 0 0;color:var(--muted);font-size:14px}
.controls{position:sticky;top:0;z-index:5;background:linear-gradient(var(--bg) 80%,transparent);padding:16px 0 10px;display:flex;flex-direction:column;gap:8px}
.chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.chips::-webkit-scrollbar{display:none}
.chip{flex:0 0 auto;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:999px;padding:6px 14px;font-size:14px;cursor:pointer;white-space:nowrap}
.chip[aria-pressed=true]{background:var(--text);color:var(--bg);border-color:var(--text)}
.chip .n{opacity:.6;margin-left:4px}
h2{font-size:20px;margin:22px 0 14px}
.count{color:var(--muted);font-weight:500;font-size:15px}
.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,border-color .15s}
.card:hover{transform:translateY(-2px);border-color:#3b4656}
.thumb{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,#243047,#1a2233);overflow:hidden}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.thumb.noimg::after{content:attr(data-initial);position:absolute;inset:0;display:grid;place-items:center;font-size:42px;font-weight:800;color:#ffffff30}
.platform{position:absolute;left:10px;top:10px;background:#000000b3;backdrop-filter:blur(6px);color:#fff;font-size:12px;font-weight:600;padding:4px 9px;border-radius:999px;border:1px solid #ffffff25}
.body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.meta{display:flex;justify-content:space-between;align-items:center;gap:8px}
.type{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:6px}
.type.keep{background:#3fb95022;color:var(--accent)}
.type.weekend{background:#f0883e22;color:var(--warn)}
.type.f2p{background:#58a6ff22;color:var(--accent2)}
.type.sub{background:#a371f722;color:var(--sub)}
.price{font-size:13px;color:var(--muted)}
.price s{opacity:.8}
.title{margin:2px 0 0;font-size:17px;line-height:1.3}
.desc{margin:0;color:#c9d1d9;font-size:14px}
.note{margin:0;color:var(--muted);font-size:12.5px}
.note:empty{display:none}
.foot{margin-top:auto;padding-top:10px;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;border-top:1px solid var(--line)}
.time{display:flex;flex-direction:column;font-size:13px}
.until{color:var(--muted)}
.countdown{font-weight:700;font-variant-numeric:tabular-nums}
.countdown.soon{color:var(--warn)}
.claim{flex:0 0 auto;background:var(--accent);color:#04120a;text-decoration:none;font-weight:700;font-size:14px;padding:9px 14px;border-radius:10px}
.claim:hover{filter:brightness(1.1)}
.card.upcoming .claim{background:var(--panel2);color:var(--text);border:1px solid var(--line)}
.empty{color:var(--muted);text-align:center;padding:40px 0}
.footer{border-top:1px solid var(--line);margin-top:40px;padding-top:20px;padding-bottom:40px;color:#c9d1d9;font-size:14px}
.muted{color:var(--muted)}
@media (max-width:520px){.wrap{padding:0 14px}.grid{grid-template-columns:1fr}.hero{padding:30px 0 20px}}
