:root{--bg:#111318;--nav:#151820;--panel:#1A1E27;--panel2:#222733;--accent:#F45132;--accent-hover:#FF684E;--gold:#D7A84B;--text:#F7F8FA;--body:#D5D8DF;--muted:#AEB4C0;--line:rgba(255,255,255,.09);--wrap:1200px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--body);font-family:system-ui,"PingFang SC","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.75;overflow-x:hidden}
body.drawer-open{overflow:hidden}
a{color:#f0f2f6;text-decoration:none;touch-action:manipulation;min-height:40px;display:inline-flex;align-items:center}
a:hover{color:#fff}
img{max-width:100%;height:auto}
button{font:inherit}
.wrap{width:min(calc(100% - 32px),var(--wrap));margin:0 auto}
.site-header{position:sticky;top:0;z-index:9000;background:var(--nav);border-bottom:1px solid var(--line)}
.desktop-header{height:72px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px}
.brand,.drawer-brand{display:flex;align-items:center;gap:10px;min-width:max-content}
.brand-logo{width:42px;height:42px;object-fit:contain;border-radius:9px}
.logo-placeholder{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:#10131a;color:var(--accent);font-weight:800}
.brand-text{display:flex;flex-direction:column;line-height:1.12;color:var(--text)}
.brand-text strong{font-size:19px}.brand-text small{margin-top:4px;color:var(--muted);font-size:10px;letter-spacing:.12em}
.main-nav{display:flex;align-items:stretch;justify-content:center;gap:2px;min-width:0;height:72px}
.main-nav a{position:relative;padding:0 13px;color:#c9ced8;white-space:nowrap;height:72px}
.main-nav a:hover,.main-nav a.active{color:#fff}
.main-nav a.active:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;background:var(--accent);border-radius:3px 3px 0 0}
.register-btn{height:42px;min-height:42px;padding:0 21px;border-radius:999px;background:var(--accent);color:#fff;font-weight:700;justify-content:center;white-space:nowrap}
.register-btn:hover{background:var(--accent-hover);color:#fff}
.mobile-header{display:none}
.channel-strip{background:#12151b;border-bottom:1px solid var(--line)}
.channel-links{display:flex;align-items:center;gap:20px;min-height:42px;overflow-x:auto;scrollbar-width:none}
.channel-links::-webkit-scrollbar{display:none}.channel-links a{color:var(--muted);font-size:14px;white-space:nowrap}.channel-links a:hover{color:var(--text)}
main{display:block;padding-bottom:42px}
.page-shell{padding:42px 0 58px}
.hero{padding:34px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(140deg,var(--panel),#151922);margin-bottom:26px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--gold);font-size:13px;letter-spacing:.08em;text-transform:uppercase}.eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold)}
h1{margin:8px 0 12px;color:var(--text);font-size:clamp(32px,4vw,42px);line-height:1.22;letter-spacing:-.02em}
h2{color:var(--text);font-size:24px;line-height:1.35;margin:0 0 12px}h3{color:var(--text);font-size:19px;margin:0 0 8px;line-height:1.4}
p{margin:0 0 14px}.lead{font-size:18px;color:#e2e5eb;max-width:900px}.subtle{color:var(--muted)}
.content-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;margin:22px 0}.card{grid-column:span 4;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px}.card.wide{grid-column:span 6}.card.full{grid-column:1/-1}.card p:last-child{margin-bottom:0}
.prose{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:26px;margin:20px 0}.prose p:last-child{margin-bottom:0}
.text-link{color:#fff;border-bottom:1px solid var(--accent);min-height:auto;display:inline}.text-link:hover{color:var(--accent-hover)}
.link-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.link-row a{padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:#151922}.link-row a:hover{border-color:rgba(244,81,50,.5)}
.media{position:relative;width:100%;max-width:100%;overflow:hidden;border-radius:10px;background:#12151c;aspect-ratio:16/9;border:1px solid var(--line)}
.media > img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center center;display:block}
.media-4x5{aspect-ratio:4/5}
.media-placeholder{position:absolute;inset:0;background:linear-gradient(135deg,#11141b,#202631);display:grid;place-items:center}.media-placeholder:after{content:"";width:38%;aspect-ratio:1;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 18px rgba(255,255,255,.02)}
.media-note{margin-top:10px;color:var(--muted);font-size:14px}
.split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:24px;align-items:start}.split.reverse{grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr)}
.feature-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature-item{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px}.feature-item .num{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:50%;background:#12151c;color:var(--gold);border:1px solid var(--line);font-weight:700;margin-bottom:10px}
.venue-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.venue-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px}.venue-card h3{margin-top:12px}.venue-card p{color:var(--muted);font-size:14px;margin-bottom:0}
.qa-list{display:grid;gap:14px}.qa{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px}.qa h3{font-size:18px}.qa p{margin:0;color:var(--body)}
.notice{border-left:3px solid var(--accent);background:#171b23;padding:18px 20px;border-radius:0 10px 10px 0;margin:18px 0}
.carousel{width:100%;overflow-x:auto;display:flex;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:14px}.carousel::-webkit-scrollbar{display:none}.slide{flex:0 0 100%;scroll-snap-align:start}.slide .media{height:clamp(220px,23vw,300px);aspect-ratio:auto;border-radius:0}.slide:first-child .media{border-radius:14px 0 0 14px}.slide:last-child .media{border-radius:0 14px 14px 0}
.site-footer{background:#0e1015;border-top:1px solid var(--line);padding:42px 0 92px}.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.footer-grid h2{font-size:16px}.footer-grid section{display:flex;flex-direction:column;gap:4px}.footer-grid a{color:var(--muted);font-size:14px}.footer-grid a:hover{color:#fff}.footer-bottom{border-top:1px solid var(--line);margin-top:28px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:#9097a5;font-size:13px}.footer-bottom p{margin:0}
.mobile-bottom{display:none}.back-top{position:fixed;right:20px;bottom:24px;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#1b202a;color:#fff;z-index:8000;opacity:0;pointer-events:none;transition:.2s;cursor:pointer}.back-top.show{opacity:1;pointer-events:auto}
.mobile-drawer,
.drawer-mask{display:none}
@media(max-width:980px){
.desktop-header{display:none}.mobile-header{height:64px;display:grid;grid-template-columns:54px minmax(0,1fr) 74px;align-items:center;width:min(calc(100% - 24px),var(--wrap));margin:0 auto;gap:4px}.menu-toggle{width:44px;height:44px;background:transparent;border:0;color:#fff;padding:10px;display:flex;flex-direction:column;justify-content:center;gap:5px;cursor:pointer}.menu-toggle span{display:block;height:2px;background:#fff;border-radius:2px}.mobile-brand{justify-self:center;display:flex;align-items:center;gap:7px;color:#fff;font-weight:800;min-width:0;white-space:nowrap}.mobile-brand .brand-logo,.mobile-brand .logo-placeholder{width:32px;height:32px;flex:0 0 auto}.mobile-register{height:40px;min-height:40px;padding:0 15px;justify-self:end}.channel-strip{display:none}
.mobile-drawer{display:block;position:fixed;inset:0 auto 0 0;width:min(84vw,320px);background:#151820;color:#F7F8FA;z-index:12000;transform:translateX(-105%);transition:transform .2s ease;overflow-y:auto;padding:14px 16px 110px}.mobile-drawer.is-open{transform:translateX(0)}
.drawer-mask{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:11000;opacity:0;pointer-events:none}.drawer-mask.is-visible{display:block;opacity:1;pointer-events:auto}
.drawer-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:12px}.drawer-brand{font-weight:800}.drawer-brand .brand-logo,.drawer-brand .logo-placeholder{width:36px;height:36px}.drawer-close{width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:#202530;color:#fff;font-size:24px;cursor:pointer}.drawer-group{padding:18px 0;border-bottom:1px solid var(--line)}.drawer-group h2{font-size:13px;color:var(--muted);letter-spacing:.08em;margin-bottom:7px}.drawer-group a{display:flex;color:#eff1f5;padding:6px 0;min-height:42px}
.page-shell{padding:28px 0 36px}.hero{padding:24px}.content-grid{grid-template-columns:1fr}.card,.card.wide,.card.full{grid-column:1}.split,.split.reverse{grid-template-columns:1fr}.feature-list{grid-template-columns:1fr}.venue-grid{grid-template-columns:repeat(2,1fr)}
.mobile-bottom{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:8500;background:#151820;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.mobile-bottom a{justify-content:center;min-height:58px;color:#d5d8df;font-size:14px}.mobile-bottom .bottom-register{color:var(--accent);font-weight:800}
.site-footer{padding-bottom:112px}.back-top{bottom:76px}.slide .media{height:clamp(140px,43vw,180px)}
}
@media(max-width:640px){.wrap{width:min(calc(100% - 24px),var(--wrap))}.hero{padding:20px;border-radius:12px}h1{font-size:30px}h2{font-size:21px}.lead{font-size:17px}.prose{padding:20px}.venue-grid{grid-template-columns:1fr 1fr}.venue-card{padding:10px}.venue-card .media{max-height:260px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.media-4x5{max-height:260px}.carousel{border-radius:10px}}
@media(max-width:390px){.mobile-header{grid-template-columns:48px minmax(0,1fr) 68px}.mobile-brand{font-size:15px}.mobile-register{padding:0 12px}.venue-grid{grid-template-columns:1fr}}
