@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap');
:root{--bg:#0c111c;--panel:#171d2b;--line:#293040;--ink:#f4f4f0;--muted:#9ca7b7;--accent:#e3fb81;--font:'DM Sans','Noto Sans SC',system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.shell{max-width:1230px;padding-left:34px;padding-right:34px;margin:0 auto}.ambient{position:absolute;pointer-events:none;filter:blur(100px);opacity:.3;border-radius:50%;z-index:-1}.a1{width:490px;height:490px;right:-210px;top:50px;background:#315577}.a2{width:300px;height:300px;top:650px;left:-220px;background:#567135}.topbar{height:90px;max-width:1230px;padding:0 34px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:16px;font-size:13px;font-weight:700;letter-spacing:2px}.brand-mark{font-size:34px;font-weight:700;letter-spacing:-4px}.brand-mark span,.footer strong span{color:var(--accent)}.brand-muted{color:#748093}.nav{display:flex;gap:36px;color:#b4bdc9;font-size:13px}.nav a:hover{color:var(--accent)}.menu-toggle{display:none;background:none;border:0;color:white;font-size:26px}.hero{min-height:615px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;padding-top:60px;padding-bottom:80px;gap:24px}.eyebrow,.section-kicker,.card-index,.micro,.art-tag{font:11px 'DM Mono',monospace;letter-spacing:1.5px}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--accent)}.eyebrow .line{height:1px;width:33px;background:var(--accent)}.ping,.status span{width:7px;height:7px;border-radius:50%;background:var(--accent);display:inline-block;box-shadow:0 0 0 4px #e3fb8115}.hero h1{font-size:clamp(40px,5.1vw,74px);line-height:1.34;letter-spacing:-3px;margin:30px 0 22px;font-weight:600}.hero .serif{color:var(--accent)}.headline-dot{color:var(--accent)}.lede{color:#9eabba;font-size:16px;max-width:590px;line-height:2}.hero-actions{display:flex;gap:14px;margin-top:36px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;padding:16px 21px;border-radius:5px;font-size:13px;font-weight:700;transition:transform .2s}.btn:hover{transform:translateY(-3px)}.btn-primary{background:var(--accent);color:#131b0c}.btn-outline{border:1px solid #485061;color:#e7ebec}.micro{display:flex;align-items:center;gap:15px;color:#677488;margin-top:75px}.micro-line{height:1px;width:48px;background:#4e5a68}.arrow{font-size:20px}.hero-art{height:410px;position:relative;display:grid;place-items:center}.orbit{border:1px solid #3b4658;border-radius:50%;position:absolute;aspect-ratio:1}.orbit-one{width:335px;transform:rotate(-14deg) scaleY(.77)}.orbit-two{width:405px;border-style:dashed;opacity:.4;transform:rotate(23deg) scaleY(.77)}.core{width:200px;height:200px;border-radius:38px;background:linear-gradient(140deg,#e4fa86,#79976e);display:grid;place-items:center;transform:rotate(-12deg);box-shadow:0 20px 100px #a7ef4640}.core-inner{font:700 54px 'DM Mono',monospace;color:#14231b;transform:rotate(12deg)}.art-tag{position:absolute;color:#beced5;background:#192331;border:1px solid #3e495a;padding:10px 12px}.t1{top:32px;left:10px}.t2{bottom:50px;right:4px}.t3{right:15px;top:100px;color:var(--accent)}.projects{padding-top:55px;padding-bottom:100px}.section-top{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section-kicker{color:var(--accent)}h2{font-size:clamp(32px,4vw,53px);letter-spacing:-1px;margin:12px 0 0}h2 span{color:#758496}.section-top p{color:#94a0ae;font-size:13px;max-width:300px;line-height:1.9}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.project-card{background:#151c29;border:1px solid #303849;border-radius:13px;min-height:320px;position:relative;padding:28px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transition:transform .2s,border-color .2s}.project-card:hover{transform:translateY(-4px);border-color:#8fa76d}.project-card-feature{grid-row:span 2;min-height:658px;background:linear-gradient(145deg,#233329,#14251d 55%,#182420)}.card-top{display:flex;justify-content:space-between;align-items:center;color:#a9b5c3}.visit-icon{font-size:25px;color:var(--accent)}.card-bottom{display:flex;justify-content:space-between;align-items:end;gap:12px}.card-bottom h3{font-size:26px;letter-spacing:-.8px;margin:10px 0}.card-bottom p{font-size:13px;line-height:1.9;color:#a3b0b9;margin:0;max-width:320px}.status{font-size:11px;color:#bfdbb1}.status span{width:6px;height:6px;margin-right:8px}.status-upcoming{color:#aeb3c1}.pill{border:1px solid #465365;border-radius:20px;padding:7px 10px;font:10px 'DM Mono',monospace;white-space:nowrap;color:#aab7c8}.game-graphic{height:370px;position:relative;display:grid;place-items:center}.board{width:min(80%,320px);aspect-ratio:1;border:11px solid #9f8a60;background-color:#d6b986;background-image:linear-gradient(#896f49aa 1px,transparent 1px),linear-gradient(90deg,#896f49aa 1px,transparent 1px);background-size:calc(100% / 11) calc(100% / 11);box-shadow:16px 18px 30px #08110977;transform:rotate(-7deg)}.stone{position:absolute;border-radius:50%;width:22px;height:22px;box-shadow:3px 4px 8px #0008}.stone.black{background:radial-gradient(circle at 35% 25%,#5d5d5a,#050707 75%)}.stone.white{background:radial-gradient(circle at 30% 25%,#fff,#c1c9c4 80%)}.s1{top:135px;left:42%}.s2{top:158px;left:49%}.s3{top:182px;left:56%}.s4{top:206px;left:49%}.card-glyph{height:164px;display:flex;align-items:center;justify-content:center;font:700 98px 'DM Mono',monospace;color:#c2d0e7;letter-spacing:-10px}.glyph-cv span{color:var(--accent)}.glyph-fit{color:#aad3b7;font-size:150px}.glyph-fit i{display:block;border-bottom:3px solid #96ba9e;width:80px;transform:rotate(-18deg)}.glyph-ai{color:#c1a9ef}.glyph-liuyao{color:#e9c58f}.project-card-upcoming{opacity:.85}.lock{color:#8090a6}.about{border-top:1px solid var(--line);padding-top:65px;padding-bottom:90px}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.about-layout p{font-size:17px;line-height:2;color:#b9c4d0;margin:0}.skill-grid{display:flex;gap:11px;flex-wrap:wrap}.skill-grid span{border:1px solid #354354;color:#b4c1c9;border-radius:5px;padding:12px 14px;font:12px 'DM Mono','Noto Sans SC',monospace}.footer{min-height:115px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:#8795a6;font-size:12px}.footer>div{display:flex;gap:20px;align-items:center}.footer strong{font-size:23px;color:#fff}.footer a:hover{color:var(--accent)}
@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:auto;padding-top:80px}.hero-art{height:260px;order:-1}.orbit-one{width:230px}.orbit-two{width:270px}.core{width:125px;height:125px;border-radius:25px}.core-inner{font-size:34px}.t3{top:10px}.t2{bottom:5px}.hero h1{font-size:52px}.project-card-feature{min-height:560px}.about-layout{gap:25px}}@media(max-width:650px){.topbar{height:73px;padding:0 20px}.shell{padding-left:20px;padding-right:20px}.menu-toggle{display:block}.nav{position:absolute;left:0;right:0;top:73px;background:#131b29;border-bottom:1px solid #394558;display:none;flex-direction:column;gap:0;padding:12px 20px;z-index:9}.nav.open{display:flex}.nav a{padding:13px 0}.hero{padding-top:50px;padding-bottom:65px;gap:0}.hero-art{height:230px}.hero h1{font-size:clamp(37px,9vw,50px);letter-spacing:-2px}.lede{font-size:14px}.hero-actions{flex-direction:column;align-items:stretch}.btn{justify-content:space-between}.micro{margin-top:50px}.section-top{display:block}.section-top p{margin-top:20px}.project-grid{grid-template-columns:1fr}.project-card,.project-card-feature{min-height:300px;grid-row:auto}.game-graphic{height:280px}.project-card-feature{min-height:530px}.card-bottom h3{font-size:23px}.pill{font-size:9px}.about-layout{grid-template-columns:1fr}.footer,.footer>div{flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;padding-top:18px;padding-bottom:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}