:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--cb-bg:#090c0e;--cb-surface:#111619;--cb-surface-raised:#171d20;--cb-text:#c5c2b8;--cb-text-strong:#f2eee1;--cb-text-muted:#85867f;--cb-accent:#d09a45;--cb-accent-strong:#edbd6e;--cb-line:#dbbc8124;--cb-line-strong:#dbbc8152;--cb-danger:#c7695e;--cb-font-sans:"Noto Sans SC", Inter, "Microsoft YaHei", sans-serif;--cb-font-display:"Noto Serif SC", "Songti SC", "SimSun", Georgia, serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--cb-bg);color:var(--cb-text);font-family:var(--cb-font-sans);line-height:1.75;overflow-x:hidden}::selection{color:var(--cb-text-strong);background:#d09a4559}.section{max-width:1160px;margin:0 auto;padding:120px 24px;position:relative}.section-label{letter-spacing:.42em;color:var(--cb-accent);text-transform:uppercase;margin-bottom:14px;font-size:12px}.section-title{font-family:var(--cb-font-display);color:var(--cb-text-strong);letter-spacing:.08em;margin-bottom:8px;font-size:clamp(28px,4vw,42px);font-weight:900}.section-sub{color:var(--cb-text-muted);margin-bottom:56px;font-size:15px}.section-ornament{color:var(--cb-accent);letter-spacing:1em;margin:18px 0 0;font-size:13px}.reveal{opacity:0;transition:opacity .9s,transform .9s;transform:translateY(28px)}.reveal.is-visible{opacity:1;transform:none}.nav{z-index:50;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;padding:18px 32px;transition:background .4s,border-color .4s;display:flex;position:fixed;inset:0 0 auto}.nav.is-scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom-color:var(--cb-line);background:#090c0ee0}.nav-brand{font-family:var(--cb-font-display);letter-spacing:.24em;color:var(--cb-text-strong);font-size:18px;font-weight:900;text-decoration:none}.nav-brand small{font-family:var(--cb-font-sans);letter-spacing:.5em;color:var(--cb-accent);font-size:10px;font-weight:400;display:block}.nav-links{align-items:center;gap:30px;display:flex}.nav-links a{color:var(--cb-text);letter-spacing:.14em;font-size:14px;text-decoration:none;transition:color .25s}.nav-links a:hover{color:var(--cb-accent-strong)}.nav-cta{border:1px solid var(--cb-line-strong);border-radius:999px;padding:8px 20px;color:var(--cb-accent-strong)!important}.nav-cta:hover{background:#d09a451f}@media (width<=760px){.nav-links a:not(.nav-cta){display:none}}.hero{text-align:center;justify-content:center;align-items:center;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero-bg{opacity:.5;background:url(/images/town-bg.webp) 50%/cover no-repeat;animation:26s ease-in-out infinite alternate heroDrift;position:absolute;inset:0;transform:scale(1.06)}@keyframes heroDrift{0%{transform:scale(1.06)translateY(0)}to{transform:scale(1.12)translateY(-18px)}}.hero-veil{background:radial-gradient(ellipse at 50% 62%, transparent 0%, #090c0e9e 68%), linear-gradient(to bottom, #090c0e8c, #090c0e2e 40%, var(--cb-bg) 96%);position:absolute;inset:0}.hero-inner{z-index:1;max-width:860px;padding:120px 24px 80px;position:relative}.hero-kicker{letter-spacing:.55em;color:var(--cb-accent-strong);margin-bottom:26px;font-size:13px}.hero-title{font-family:var(--cb-font-display);letter-spacing:.16em;color:var(--cb-text-strong);text-shadow:0 6px 60px #000000a6;font-size:clamp(56px,11vw,120px);font-weight:900;line-height:1.1}.hero-sub{letter-spacing:.5em;color:var(--cb-text-muted);text-transform:uppercase;margin-top:14px;font-size:clamp(12px,1.6vw,15px)}.hero-quote{font-family:var(--cb-font-display);color:var(--cb-text);letter-spacing:.1em;max-width:560px;margin:40px auto 0;font-size:clamp(16px,2.2vw,20px)}.hero-quote footer{color:var(--cb-text-muted);font-size:13px;font-family:var(--cb-font-sans);margin-top:10px}.hero-actions{flex-wrap:wrap;justify-content:center;gap:18px;margin-top:44px;display:flex}.btn{letter-spacing:.2em;border-radius:999px;align-items:center;gap:8px;padding:14px 34px;font-size:15px;text-decoration:none;transition:transform .25s,box-shadow .25s,background .25s;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--cb-accent), var(--cb-accent-strong));color:#171208;font-weight:700;box-shadow:0 12px 40px #d09a4547}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 52px #d09a4561}.btn-ghost{border:1px solid var(--cb-line-strong);color:var(--cb-text-strong)}.btn-ghost:hover{background:#dbbc8114;transform:translateY(-2px)}.hero-scroll{z-index:1;color:var(--cb-text-muted);letter-spacing:.4em;writing-mode:vertical-rl;font-size:12px;animation:2.6s ease-in-out infinite bob;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}@keyframes bob{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,10px)}}.hero-marquee{z-index:1;border-top:1px solid var(--cb-line);white-space:nowrap;background:#090c0eb8;padding:10px 0;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.hero-marquee span{letter-spacing:.35em;color:var(--cb-text-muted);padding-right:48px;font-size:12px;animation:36s linear infinite marquee;display:inline-block}@keyframes marquee{to{transform:translate(-50%)}}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;display:grid}.feature-card{background:var(--cb-surface);border:1px solid var(--cb-line);border-radius:14px;padding:34px 30px;transition:border-color .3s,transform .3s,background .3s;position:relative}.feature-card:hover{border-color:var(--cb-line-strong);background:var(--cb-surface-raised);transform:translateY(-4px)}.feature-card .glyph{color:var(--cb-accent);margin-bottom:18px;font-size:26px}.feature-card h3{font-family:var(--cb-font-display);letter-spacing:.12em;color:var(--cb-text-strong);margin-bottom:12px;font-size:20px}.feature-card p{color:var(--cb-text-muted);font-size:14px}.world{background:radial-gradient(ellipse at 18% 12%, #d09a450f, transparent 55%), var(--cb-bg);border-top:1px solid var(--cb-line);border-bottom:1px solid var(--cb-line)}.world-layout{grid-template-columns:5fr 7fr;align-items:start;gap:56px;display:grid}@media (width<=880px){.world-layout{grid-template-columns:1fr}}.world-quote{font-family:var(--cb-font-display);color:var(--cb-text-strong);letter-spacing:.08em;border-left:2px solid var(--cb-accent);padding-left:26px;font-size:clamp(22px,3vw,30px);line-height:1.9;position:sticky;top:120px}.world-quote footer{color:var(--cb-text-muted);font-size:14px;font-family:var(--cb-font-sans);margin-top:18px}.world-body p{margin-bottom:20px;font-size:15px}.world-body strong{color:var(--cb-accent-strong);font-weight:500}.stat-row{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px;margin-top:40px;display:grid}.stat{border:1px solid var(--cb-line);text-align:center;border-radius:12px;padding:20px 14px}.stat b{font-family:var(--cb-font-display);color:var(--cb-accent-strong);font-size:30px;display:block}.stat span{letter-spacing:.2em;color:var(--cb-text-muted);font-size:12px}.scene-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:64px;display:grid}.scene-card{border:1px solid var(--cb-line);aspect-ratio:4/5;border-radius:14px;position:relative;overflow:hidden}.scene-card img{object-fit:cover;filter:saturate(.88);width:100%;height:100%;transition:transform .8s;position:absolute;inset:0}.scene-card:hover img{transform:scale(1.06)}.scene-card .scene-info{background:linear-gradient(#0000,#090c0eeb);padding:40px 20px 18px;position:absolute;inset:auto 0 0}.scene-info h4{font-family:var(--cb-font-display);letter-spacing:.16em;color:var(--cb-text-strong);margin-bottom:6px;font-size:17px}.scene-info p{color:var(--cb-text-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:12px;display:-webkit-box;overflow:hidden}.npc-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;display:grid}.npc-card{background:var(--cb-surface);border:1px solid var(--cb-line);cursor:pointer;border-radius:14px;transition:border-color .3s,transform .3s;overflow:hidden}.npc-card:hover{border-color:var(--cb-line-strong);transform:translateY(-4px)}.npc-portrait{aspect-ratio:16/10;position:relative;overflow:hidden}.npc-portrait img{object-fit:cover;filter:saturate(.85)brightness(.92);width:100%;height:100%;transition:transform .7s}.npc-card:hover .npc-portrait img{transform:scale(1.05)}.npc-role-tag{letter-spacing:.2em;color:var(--cb-accent-strong);border:1px solid var(--cb-line-strong);background:#090c0ec7;border-radius:999px;padding:4px 12px;font-size:11px;position:absolute;bottom:12px;left:14px}.npc-body{padding:20px 22px 24px}.npc-body h3{font-family:var(--cb-font-display);letter-spacing:.14em;color:var(--cb-text-strong);font-size:19px}.npc-body .npc-info{color:var(--cb-text-muted);margin-top:10px;font-size:13px}.npc-line{border-top:1px dashed var(--cb-line-strong);font-family:var(--cb-font-display);color:var(--cb-accent-strong);letter-spacing:.06em;opacity:0;border-top-color:#0000;max-height:0;margin-top:0;padding-top:0;font-size:14px;transition:max-height .5s,opacity .5s,margin .5s,padding .5s;overflow:hidden}.npc-card.is-open .npc-line{opacity:1;border-top-color:var(--cb-line-strong);max-height:120px;margin-top:14px;padding-top:14px}.npc-hint{letter-spacing:.3em;color:var(--cb-text-muted);margin-top:12px;font-size:11px}.module-filter{flex-wrap:wrap;gap:10px;margin-bottom:36px;display:flex}.module-filter button{border:1px solid var(--cb-line);color:var(--cb-text-muted);letter-spacing:.12em;cursor:pointer;font-size:13px;font-family:var(--cb-font-sans);background:0 0;border-radius:999px;padding:7px 18px;transition:all .25s}.module-filter button:hover{color:var(--cb-text-strong);border-color:var(--cb-line-strong)}.module-filter button.is-active{border-color:var(--cb-accent);color:var(--cb-accent-strong);background:#d09a4524}.module-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;display:grid}.module-card{border:1px solid var(--cb-line);background:linear-gradient(160deg, var(--cb-surface-raised), var(--cb-surface));border-radius:12px;padding:24px 22px;transition:border-color .3s,transform .3s;position:relative}.module-card:hover{border-color:var(--cb-line-strong);transform:translateY(-3px)}.module-card .genre{letter-spacing:.28em;color:var(--cb-accent);font-size:11px}.module-card h3{font-family:var(--cb-font-display);letter-spacing:.1em;color:var(--cb-text-strong);margin-top:10px;font-size:18px}.module-card .meta{color:var(--cb-text-muted);margin-top:12px;font-size:12px}.module-card.is-hidden{display:none}.notice-list{border-top:1px solid var(--cb-line)}.notice-item{border-bottom:1px solid var(--cb-line);grid-template-columns:120px 90px 1fr auto;align-items:baseline;gap:20px;padding:22px 8px;transition:background .25s;display:grid}.notice-item:hover{background:#dbbc810a}.notice-date{color:var(--cb-text-muted);font-variant-numeric:tabular-nums;font-size:13px}.notice-tag{letter-spacing:.2em;color:var(--cb-accent-strong);border:1px solid var(--cb-line-strong);text-align:center;border-radius:999px;padding:2px 12px;font-size:11px}.notice-item h3{color:var(--cb-text-strong);letter-spacing:.04em;font-size:15px;font-weight:500}.notice-item p{color:var(--cb-text-muted);margin-top:4px;font-size:13px}.notice-arrow{color:var(--cb-text-muted)}@media (width<=700px){.notice-item{grid-template-columns:1fr;gap:8px}.notice-arrow{display:none}}.cta{text-align:center;background:radial-gradient(ellipse at 50% 110%, #d09a451a, transparent 60%), var(--cb-bg);padding:140px 24px}.cta h2{font-family:var(--cb-font-display);letter-spacing:.14em;color:var(--cb-text-strong);font-size:clamp(30px,5vw,52px);font-weight:900}.cta p{color:var(--cb-text-muted);max-width:520px;margin:20px auto 0;font-size:15px}.cta .hero-actions{margin-top:40px}.cta-platforms{letter-spacing:.4em;color:var(--cb-text-muted);margin-top:34px;font-size:12px}.footer{border-top:1px solid var(--cb-line);text-align:center;padding:48px 32px 40px}.footer-brand{font-family:var(--cb-font-display);letter-spacing:.3em;color:var(--cb-text-strong);font-size:16px}.footer-nav{flex-wrap:wrap;justify-content:center;gap:26px;margin-top:18px;display:flex}.footer-nav a{color:var(--cb-text-muted);letter-spacing:.12em;font-size:13px;text-decoration:none}.footer-nav a:hover{color:var(--cb-accent-strong)}.footer-note{color:var(--cb-text-muted);margin-top:26px;font-size:12px;line-height:2}
