:root{--bg:#0e0f13;--bg2:#16181f;--panel:#1b1e27;--panel2:#222634;--line:#2c3142;--ink:#f2f3f7;--sub:#a7adbe;--muted:#6f7689;--red:#e23b4e;--red2:#ff5a6e;--gold:#f2c14e;--gold2:#ffd479;--blue:#5aa9ff;--green:#4ad295;--radius:14px;--maxw:1080px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:radial-gradient(1200px 600px at 70% -10%,rgba(226,59,78,.18),transparent 60%),var(--bg);color:var(--ink);font-family:PingFang SC,Microsoft YaHei,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}.container{padding:32px 0 80px}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(14,15,19,.82);border-bottom:1px solid var(--line)}.nav-inner{max-width:var(--maxw);margin:0 auto;padding:14px 20px;gap:18px}.brand,.nav-inner{display:flex;align-items:center}.brand{gap:10px;font-weight:800;font-size:18px;letter-spacing:.5px}.brand .logo{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--red),var(--gold));display:flex;align-items:center;justify-content:center;font-size:16px;color:#1a1206;font-weight:900}.brand b{color:var(--gold2)}.nav-links{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap}.nav-links a{padding:8px 13px;border-radius:9px;font-size:14px;color:var(--sub);transition:.15s}.nav-links a:hover{color:var(--ink);background:var(--panel)}.nav-links a.active{color:var(--gold2);background:var(--panel2)}.hero{padding:54px 0 30px}.hero .eyebrow{display:inline-block;font-size:13px;color:var(--gold2);border:1px solid var(--line);padding:4px 12px;border-radius:30px;background:var(--panel)}.hero h1{font-size:42px;line-height:1.2;margin:16px 0 10px;font-weight:900;letter-spacing:.5px}.hero h1 span{background:linear-gradient(90deg,var(--red2),var(--gold2));-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{color:var(--sub);font-size:16px;max-width:640px}.hero-cta{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:11px;font-weight:700;font-size:14px;cursor:pointer;border:1px solid transparent;transition:.15s}.btn-primary{background:linear-gradient(135deg,var(--red),var(--red2));color:#fff}.btn-primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn-ghost{border-color:var(--line);color:var(--ink);background:var(--panel)}.btn-ghost:hover{background:var(--panel2)}.search{margin-top:24px;display:flex;gap:10px;max-width:560px}.search input{flex:1 1;background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:12px 14px;color:var(--ink);font-size:15px;outline:none}.search input:focus{border-color:var(--gold)}.section{margin-top:46px}.section-head{display:flex;align-items:baseline;gap:12px;margin-bottom:18px}.section-head h2{font-size:24px;margin:0;font-weight:800}.section-head .more{margin-left:auto;color:var(--sub);font-size:14px}.section-head .sub{color:var(--muted);font-size:13px}.grid{display:grid;grid-gap:16px;gap:16px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.card{background:linear-gradient(180deg,var(--panel),var(--bg2));border:1px solid var(--line);border-radius:var(--radius);padding:18px;transition:.18s;position:relative;overflow:hidden}.card:hover{border-color:var(--gold);transform:translateY(-2px)}.card h3{margin:0 0 6px;font-size:17px}.card p{margin:0;font-size:14px}.card p,.tag{color:var(--sub)}.tag{display:inline-block;font-size:12px;padding:2px 10px;border-radius:20px;background:var(--panel2);margin:0 6px 6px 0;border:1px solid var(--line)}.tag.red{color:var(--red2);border-color:rgba(226,59,78,.4)}.tag.gold{color:var(--gold2);border-color:rgba(242,193,78,.4)}.tag.blue{color:var(--blue);border-color:rgba(90,169,255,.4)}.tag.green{color:var(--green);border-color:rgba(74,210,149,.4)}.tier{position:absolute;top:14px;right:14px;font-weight:900;font-size:13px;width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center}.tier.S{background:linear-gradient(135deg,#ffd479,#ff9d2f);color:#3a2400}.tier.A{background:linear-gradient(135deg,#9be7ff,#5aa9ff);color:#06243a}.tier.B{background:linear-gradient(135deg,#c9d2e6,#a7adbe);color:#1b1e27}.tier.TBD{background:var(--panel2);color:var(--muted);font-size:11px;width:auto;padding:0 8px}.ava{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:18px;color:#0e0f13;margin-bottom:12px;background:linear-gradient(135deg,var(--red),var(--gold))}.ava-img{height:150px;object-position:top center;margin-bottom:12px}.ava-img,.comp-img{width:100%;object-fit:cover;border-radius:10px;background:var(--panel2);display:block}.comp-img{height:220px;object-position:center;margin-bottom:14px}.board-img{width:100%;max-width:780px;height:auto;display:block;border-radius:12px;margin-top:6px;background:#0e0f13}.board-cap{margin:10px 0 0;font-size:13px;color:var(--sub)}.board-cap .star{color:#ffd479;font-weight:800}.cm-cover{position:relative;width:100%;aspect-ratio:3/4;border-radius:10px;overflow:hidden;margin-bottom:14px;background:var(--panel2)}.cm-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}.cm-cover:after{content:"";position:absolute;left:0;right:0;bottom:0;height:60%;background:linear-gradient(0deg,rgba(14,15,19,.95) 0,rgba(14,15,19,.55) 45%,transparent);pointer-events:none;z-index:1}.cm-cover .tier{top:10px;right:10px;z-index:3}.cm-cover-info{position:absolute;left:0;right:0;bottom:0;padding:14px;z-index:2}.cm-cover-info h3{margin:0 0 8px;font-size:20px;color:var(--ink);text-shadow:0 2px 6px rgba(0,0,0,.55)}.cm-cover-info p{margin:0}.comp .core{color:var(--gold2);font-weight:700}.comp .diff{font-size:12px;padding:2px 9px;border-radius:20px}.diff.easy{background:rgba(74,210,149,.15);color:var(--green)}.diff.mid{background:rgba(242,193,78,.15);color:var(--gold2)}.diff.hard{background:rgba(226,59,78,.15);color:var(--red2)}.bar{height:6px;border-radius:6px;background:var(--panel2);overflow:hidden;margin-top:8px}.bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--red),var(--gold))}.notice{border:1px dashed var(--line);border-left:4px solid var(--gold);background:var(--panel);border-radius:10px;padding:12px 16px;color:var(--sub);font-size:13px;margin:14px 0}.detail-hero{padding:30px 0 10px}.breadcrumb{color:var(--muted);font-size:13px;margin-bottom:10px}.breadcrumb a:hover{color:var(--gold2)}.kv{display:grid;grid-template-columns:96px 1fr;grid-gap:8px 14px;gap:8px 14px;margin-top:14px;font-size:14px}.kv dt{color:var(--muted)}.kv dd{margin:0;color:var(--ink)}.footer{border-top:1px solid var(--line);margin-top:60px;padding:30px 0;color:var(--muted);font-size:13px}.role-legend{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:16px 0 4px;padding:11px 15px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.role-legend-label{color:var(--muted);font-size:13px;font-weight:700}.role-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--sub)}.role-legend-item i{width:9px;height:9px;border-radius:50%;display:inline-block;flex-shrink:0}.role-group{margin-top:22px}.section-head+.role-group{margin-top:0}.role-head{display:flex;align-items:center;gap:9px;margin-bottom:12px;padding-bottom:7px;border-bottom:1px dashed var(--line)}.role-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.role-name{font-weight:800;font-size:16px;letter-spacing:.5px}.role-count{color:var(--muted);font-size:12px}.footer .wrap{display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between}.giscus-box{margin-top:28px;border:1px solid var(--line);border-radius:var(--radius);padding:22px;text-align:center;background:var(--panel);color:var(--sub)}.results{margin-top:18px}.result-item{display:block;padding:12px 14px;border:1px solid var(--line);border-radius:10px;margin-bottom:8px;background:var(--panel)}.result-item:hover{border-color:var(--gold)}.result-item small{color:var(--muted)}@media(max-width:860px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}.hero h1{font-size:32px}}@media(max-width:560px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.nav-links{display:none}}