/* Google Fonts @import removed: it was render-blocking (3 serialized round trips)
   and fonts.googleapis.com is unreachable from mainland China. System stack below. */
:root{--ink:#15231e;--muted:#65706c;--cream:#f8f7f1;--paper:#fff;--lime:#baf236;--green:#1f6047;--orange:#ff8a55;--line:#dfe4dd;--radius:28px;--shadow:0 24px 70px rgba(27,57,44,.1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}em{font-style:normal;color:var(--green)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(248,247,241,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(21,35,30,.07)}.nav-wrap{height:82px;max-width:1240px;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;font-weight:900;font-size:19px;letter-spacing:-.5px}.site-nav{display:flex;align-items:center;gap:42px;font-size:14px;font-weight:700}.site-nav a{position:relative;padding:30px 0}.site-nav a:after{content:"";position:absolute;left:50%;bottom:19px;width:0;height:3px;border-radius:3px;background:var(--green);transition:.25s}.site-nav a:hover:after,.site-nav a.active:after{left:0;width:100%}.menu-toggle{display:none;background:transparent;border:0;padding:8px}.menu-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px}
.hero{min-height:720px;max-width:1240px;margin:auto;padding:76px 28px 90px;display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:45px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:800;color:var(--green);display:flex;align-items:center;gap:10px;margin:0 0 24px}.eyebrow>span{width:26px;height:2px;background:var(--lime)}.hero h1,.about-hero h1{font-size:clamp(56px,6.6vw,92px);line-height:1.06;letter-spacing:-5px;margin:0;font-weight:900}.hero-lead{font-size:19px;color:var(--muted);margin:27px 0 34px}.hero-actions{display:flex;align-items:center;gap:34px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:17px 22px;border-radius:13px;font-weight:800;font-size:14px}.button.primary{background:var(--ink);color:white;box-shadow:0 9px 24px rgba(21,35,30,.18)}.button.primary span{color:var(--lime);font-size:20px}.text-link{font-size:14px;font-weight:800}.text-link span{margin-left:8px;color:var(--green)}.platforms{margin-top:60px;display:flex;gap:11px;flex-wrap:wrap}.platforms span,.tags span{font-size:11px;font-weight:800;color:var(--muted);padding:8px 11px;background:white;border:1px solid var(--line);border-radius:30px}
.hero-art{height:560px;position:relative}.game-card{position:absolute;border:7px solid var(--ink);box-shadow:var(--shadow)}.card-main{width:350px;height:445px;left:90px;top:45px;background:#eaf5cf;border-radius:45px;overflow:hidden;transform:rotate(4deg);z-index:3}.card-back{width:280px;height:350px;left:25px;top:128px;border-radius:38px;background:#ffb45d;transform:rotate(-12deg);display:grid;place-items:center;color:#fff;font-size:48px;letter-spacing:-4px}.mini-dot{position:absolute;left:30px;top:25px;width:12px;height:12px;border-radius:50%;background:var(--ink)}.card-sky{position:absolute;inset:0 0 50% 0;background:#c5f0eb}.sun{position:absolute;right:42px;top:43px;width:63px;height:63px;background:#ffda55;border:6px solid var(--ink);border-radius:50%}.cloud{position:absolute;width:58px;height:20px;border:5px solid var(--ink);border-radius:20px;background:white}.c1{left:36px;top:70px}.c2{right:26px;top:137px;transform:scale(.7)}.hill{position:absolute;border:6px solid var(--ink);border-radius:50% 50% 0 0}.h1{width:330px;height:230px;left:-90px;bottom:52px;background:#91d16c;transform:rotate(8deg)}.h2{width:330px;height:245px;right:-145px;bottom:40px;background:#5ab779;transform:rotate(-12deg)}.character{position:absolute;width:125px;height:118px;left:105px;bottom:85px;border:6px solid var(--ink);background:#fff5d3;border-radius:50% 50% 45% 45%;z-index:4;display:grid;place-items:center}.ear{position:absolute;width:42px;height:48px;background:#fff5d3;border:6px solid var(--ink);top:-23px;z-index:-1}.ear.left{left:8px;border-radius:9px 30px 10px 25px;transform:rotate(-20deg)}.ear.right{right:8px;border-radius:30px 9px 25px 10px;transform:rotate(20deg)}.face{font-size:25px;font-weight:900}.card-ui{position:absolute;z-index:5;bottom:22px;left:25px;right:25px;height:45px;background:rgba(255,255,255,.9);border:4px solid var(--ink);border-radius:16px;display:flex;align-items:center;padding:8px;gap:8px}.card-ui span{height:10px;flex:1;background:var(--lime);border:2px solid var(--ink);border-radius:5px}.card-ui i{width:15px;height:15px;border:3px solid var(--ink);border-radius:50%}.float-chip{position:absolute;z-index:7;border:4px solid var(--ink);box-shadow:5px 6px 0 var(--ink);font-weight:900}.chip-a{right:20px;top:80px;background:var(--lime);padding:15px 18px;border-radius:50%;transform:rotate(9deg)}.chip-b{left:5px;top:60px;background:#ff8b66;color:#fff;padding:11px 16px;border-radius:12px;transform:rotate(-11deg)}.spark{position:absolute;font-size:36px;color:var(--green)}.s1{right:15px;bottom:65px}.s2{left:60px;bottom:30px;color:var(--orange);font-size:22px}.orbit{position:absolute;border:2px dashed #c4cbc3;border-radius:50%}.orbit-one{width:500px;height:500px;top:25px;left:10px}.orbit-two{width:400px;height:400px;top:75px;left:60px}
.section{padding:120px max(28px,calc((100% - 1184px)/2))}.section-heading h2{font-size:clamp(38px,4.2vw,58px);line-height:1.12;letter-spacing:-2.6px;margin:0}.section-heading.row{display:flex;justify-content:space-between;align-items:end}.section-note{max-width:390px;color:var(--muted);font-size:15px;line-height:1.9;margin:0 0 6px}.capabilities{background:white}.capability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:60px}.capability-card{min-height:390px;border:1px solid var(--line);border-radius:var(--radius);padding:28px;position:relative;display:flex;flex-direction:column;align-items:flex-start;transition:.3s}.capability-card:hover{transform:translateY(-8px);box-shadow:var(--shadow)}.capability-card h3{font-size:23px;margin:0 0 14px}.capability-card p{color:var(--muted);line-height:1.8;font-size:14px;margin:0 0 25px}.tags{display:flex;gap:7px;margin-top:auto}
.works-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:60px}.work-card{background:white;border-radius:var(--radius);padding:14px;box-shadow:0 7px 30px rgba(30,50,42,.05)}.work-cover{height:390px;border-radius:20px;position:relative;overflow:hidden}.match{background:linear-gradient(145deg,#ffd6af,#ff976f)}.puzzle-world{background:linear-gradient(145deg,#b9e9e6,#76cbbb)}.status{position:absolute;top:18px;left:18px;z-index:5;background:var(--ink);color:white;border-radius:20px;padding:8px 13px;font-size:11px;font-weight:800}.status.planned{background:white;color:var(--ink)}.match-board{width:248px;height:248px;background:#fff7dc;border:7px solid var(--ink);border-radius:30px;position:absolute;left:50%;top:50%;transform:translate(-50%,-45%) rotate(-7deg);display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:18px;box-shadow:13px 15px 0 rgba(21,35,30,.16)}.match-board i{font-style:normal;border:4px solid var(--ink);border-radius:17px;display:grid;place-items:center;font-size:25px;background:var(--lime)}.match-board i:nth-child(3n+2){background:#ffde5e}.match-board i:nth-child(3n){background:#85d8cf}.match-pop{position:absolute;right:35px;top:65px;background:white;border:5px solid var(--ink);box-shadow:5px 6px 0 var(--ink);border-radius:12px;padding:11px;font-weight:900;transform:rotate(10deg)}.island{position:absolute;width:330px;height:190px;left:50%;bottom:30px;transform:translateX(-50%);background:#67ae60;border:7px solid var(--ink);border-radius:50% 50% 35% 35%;box-shadow:inset 0 -35px #d89a5e}.door{position:absolute;width:90px;height:115px;left:120px;bottom:45px;border:6px solid var(--ink);background:#ffe169;border-radius:45px 45px 8px 8px;display:grid;place-items:center;font-size:48px;font-weight:900}.tree{position:absolute;font-size:80px;color:#216e51;-webkit-text-stroke:5px var(--ink);z-index:-1}.t1{left:25px;top:-70px}.t2{right:25px;top:-60px;transform:scale(.8)}.bubble{position:absolute;background:white;border:5px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:32px;font-weight:900;box-shadow:5px 6px 0 var(--ink)}.b1{width:72px;height:72px;right:45px;top:54px}.b2{width:54px;height:54px;left:45px;top:85px;background:var(--lime)}.work-info{padding:24px 12px 14px;display:grid;grid-template-columns:1fr auto}.category{font-size:11px;color:var(--green);font-weight:800}.work-info h3{font-size:24px;margin:6px 0}.work-info p{grid-column:1/3;color:var(--muted);font-size:14px;line-height:1.8;margin:9px 0 0}.arrow{font-size:23px}
.philosophy{background:#eef5e7}.center{text-align:center}.center .eyebrow{justify-content:center}.principles{display:grid;grid-template-columns:repeat(3,1fr);margin-top:66px;border-top:1px solid #cdd8ca}.principles article{padding:38px 45px;border-right:1px solid #cdd8ca}.principles article:last-child{border:0}.principles span{font-size:11px;font-weight:800;color:var(--green)}.principles h3{font-size:25px;margin:44px 0 12px}.principles p{font-size:14px;color:var(--muted);line-height:1.8}.contact{min-height:530px;background:var(--ink);color:white;padding:90px max(28px,calc((100% - 1184px)/2));display:grid;grid-template-columns:1fr 1fr;overflow:hidden}.eyebrow.light{color:var(--lime)}.contact h2{font-size:clamp(45px,5vw,70px);line-height:1.08;letter-spacing:-3px;margin:0}.contact-inner>p:not(.eyebrow){color:#9da9a4;margin:22px 0 45px}.contact-list{display:flex;gap:70px}.contact-list div{display:flex;flex-direction:column;gap:7px}.contact-list small{color:#84908b;font-size:11px}.contact-list a,.contact-list span{font-size:14px;font-weight:700}.contact-art{position:relative}.planet{position:absolute;width:240px;height:240px;border-radius:50%;background:var(--lime);right:60px;top:75px}.ring{position:absolute;width:360px;height:120px;border:12px solid white;border-radius:50%;right:0;top:135px;transform:rotate(-20deg)}.rocket{position:absolute;right:155px;top:35px;color:var(--orange);font-size:78px;transform:rotate(-45deg);z-index:3}.star{position:absolute;font-style:normal}.st1{left:70px;top:60px;font-size:40px;color:var(--orange)}.st2{right:10px;bottom:60px;font-size:28px}.st3{left:100px;bottom:50px;font-size:80px;color:var(--lime)}
.site-footer{max-width:1240px;margin:auto;padding:52px 28px;display:flex;justify-content:space-between;align-items:end}.footer-brand{margin-bottom:16px}.site-footer>div>p{color:var(--muted);font-size:12px}.footer-meta{text-align:right}.footer-meta p{margin:7px 0}.footer-meta a:hover{text-decoration:underline}
.about-hero{min-height:590px;padding:90px max(28px,calc((100% - 1184px)/2));display:grid;grid-template-columns:1.05fr .95fr;align-items:center;overflow:hidden}.about-hero p:last-child{font-size:18px;color:var(--muted);margin-top:28px}.about-shapes{height:400px;position:relative}.shape{position:absolute;border:6px solid var(--ink);box-shadow:10px 12px 0 var(--ink)}.s-round{width:180px;height:180px;border-radius:50%;background:var(--lime);right:70px;top:15px}.s-square{width:145px;height:145px;border-radius:30px;background:var(--orange);left:80px;bottom:30px;transform:rotate(-12deg)}.s-triangle{width:0;height:0;border-left:75px solid transparent;border-right:75px solid transparent;border-bottom:140px solid var(--green);border-top:0;box-shadow:none;right:0;bottom:20px;filter:drop-shadow(7px 8px 0 var(--ink))}.s-pill{width:160px;height:65px;border-radius:40px;background:#8ed8d0;left:40px;top:30px;transform:rotate(25deg)}.about-content{background:white;padding-top:55px;padding-bottom:55px}.about-row{display:grid;grid-template-columns:70px 1fr 1.25fr;gap:40px;align-items:center;padding:65px 0;border-bottom:1px solid var(--line)}.about-row:last-child{border:0}.about-row .eyebrow{margin-bottom:14px}.about-row h2{font-size:34px;margin:0}.about-row>p{color:var(--muted);font-size:16px;line-height:2;margin:0}.about-cta{text-align:center;padding:120px 28px;background:#eef5e7}.about-cta>p{font-size:11px;color:var(--green);letter-spacing:2px;font-weight:800}.about-cta h2{font-size:clamp(38px,5vw,62px);margin:18px 0 32px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.site-nav{position:absolute;left:18px;right:18px;top:70px;background:white;border-radius:18px;box-shadow:var(--shadow);padding:12px;display:none;flex-direction:column;gap:0}.site-nav.open{display:flex}.site-nav a{padding:14px;width:100%}.site-nav a:after{display:none}.menu-toggle{display:block}.hero{grid-template-columns:1fr;padding-top:55px}.hero-art{order:-1;height:460px;transform:scale(.82);transform-origin:center}.capability-grid,.principles{grid-template-columns:1fr}.works-grid{grid-template-columns:1fr}.section-heading.row{display:block}.section-note{margin-top:24px}.principles article{border-right:0;border-bottom:1px solid #cdd8ca;padding:30px 0}.contact{grid-template-columns:1fr}.contact-art{display:none}.about-hero{grid-template-columns:1fr;padding-top:70px}.about-shapes{height:330px}.about-row{grid-template-columns:40px 1fr}.about-row>p{grid-column:2}.site-footer{align-items:flex-start;gap:30px}.footer-meta{max-width:50%}}
@media(max-width:560px){.nav-wrap{height:68px;padding:0 20px}.brand{font-size:17px}.hero{padding:45px 20px 70px;min-height:auto}.hero h1,.about-hero h1{font-size:50px;letter-spacing:-3px}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.platforms{margin-top:40px}.hero-art{height:370px;transform:scale(.65);margin:-40px -90px}.section{padding:82px 20px}.section-heading h2{font-size:38px}.capability-grid{margin-top:40px}.capability-card{min-height:350px}.work-cover{height:310px}.match-board{transform:translate(-50%,-45%) rotate(-7deg) scale(.8)}.contact{padding:70px 20px}.contact-list{flex-direction:column;gap:25px}.site-footer{padding:42px 20px;display:block}.footer-meta{text-align:left;max-width:none;margin-top:32px}.about-hero{padding:70px 20px 35px}.about-shapes{transform:scale(.75);transform-origin:left center;margin-right:-100px}.about-row{gap:18px}.about-row h2{font-size:28px}.about-row>p{font-size:14px}.about-cta{padding:85px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

body{font-size:16px;line-height:1.65}
.brand{font-size:18px}.site-nav{font-size:15px}.eyebrow{font-size:13px;letter-spacing:1.5px}
.brand-logo{display:block;width:46px;height:46px;object-fit:contain;filter:drop-shadow(0 3px 5px rgba(21,35,30,.12))}
.hero h1,.about-hero h1{font-size:clamp(50px,5.6vw,78px);line-height:1.1;letter-spacing:-3.5px}
.hero-lead{font-size:18px;line-height:1.75;max-width:620px}
.button,.text-link{font-size:15px}.platforms span,.tags span{font-size:12px}
.section-heading h2{font-size:clamp(36px,3.7vw,52px);line-height:1.18;letter-spacing:-2px}
.section-note{max-width:410px;font-size:16px;line-height:1.85}
.status,.category,.principles span{font-size:12px}
.capability-card h3,.work-info h3,.principles h3{font-size:22px}
.capability-card p,.work-info p,.principles p{font-size:15px;line-height:1.8}
.tags{flex-wrap:wrap}
.contact h2{font-size:clamp(40px,4.4vw,58px);line-height:1.14;letter-spacing:-2.2px}
.contact-inner>p:not(.eyebrow){font-size:16px;line-height:1.8;color:#aeb8b4}
.contact-list small{font-size:13px;color:#9da8a3}.contact-list a{font-size:16px}
.site-footer>div>p{font-size:13px;line-height:1.7}
.about-hero p:last-child{font-size:17px;line-height:1.8}
.about-cta>p{font-size:13px}.about-row h2{font-size:30px}.about-row>p{line-height:1.9}
.about-cta h2{font-size:clamp(36px,4.2vw,52px)}
@media(max-width:560px){.hero h1,.about-hero h1{font-size:44px;letter-spacing:-2.2px}.section-heading h2{font-size:34px}.about-row h2{font-size:27px}.about-row>p{font-size:15px}}

.card-back{background:var(--green);color:var(--lime);overflow:hidden}
.card-back::before{content:"";position:absolute;inset:26px;background-image:linear-gradient(rgba(186,242,54,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(186,242,54,.2) 1px,transparent 1px);background-size:28px 28px;border:2px solid rgba(186,242,54,.38);border-radius:22px}
.card-back::after{content:"";position:absolute;width:86px;height:86px;border:3px solid var(--lime);border-radius:50%;box-shadow:0 0 0 14px rgba(186,242,54,.1),0 0 0 28px rgba(186,242,54,.06)}
.card-back b{position:relative;z-index:2;font-size:29px;letter-spacing:2px;background:var(--green);padding:8px 12px;border:2px solid var(--lime);border-radius:8px}
.card-back .mini-dot{z-index:3;background:var(--lime)}
.orbit-one{border-style:solid;border-color:rgba(31,96,71,.22)}
.orbit-two{border-color:rgba(255,138,85,.45)}
.principles h3{margin-top:8px}
.capability-card{min-height:355px;overflow:hidden}.capability-card::after{content:"";position:absolute;width:120px;height:120px;border:20px solid currentColor;border-radius:50%;right:-58px;top:-56px;opacity:.045}
.capability-card h3,.capability-card p,.capability-card .tags{position:relative;z-index:1}
.principles article{text-align:center}.principle-icon{width:76px;height:76px;margin:0 auto 24px;display:grid;place-items:center;border:4px solid var(--ink);border-radius:24px;background:var(--lime);box-shadow:7px 8px 0 var(--ink);font-size:28px;font-weight:900;transform:rotate(-5deg)}
.principles article:nth-child(2) .principle-icon{background:#8ed8d0;transform:rotate(5deg)}
.principles article:nth-child(3) .principle-icon{background:var(--orange);color:white;transform:rotate(-3deg)}
.principles h3{margin-top:0}.principles p{margin-bottom:0}
.about-row{grid-template-columns:1fr 1.25fr}.about-row>p{grid-column:auto}
@media(max-width:900px){.about-row{grid-template-columns:1fr}.about-row>p{grid-column:auto}}

.capability-grid.dual-core{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.system-relation{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin:48px 0 18px;color:var(--green);font-size:13px;font-weight:800;letter-spacing:.8px}.system-relation span{padding:12px 18px;border:1px solid #cbd8cf;border-radius:30px;background:#f5faef;text-align:center}.system-relation i{font-style:normal;color:var(--muted);font-size:12px;position:relative;padding:0 26px}.system-relation i::before,.system-relation i::after{content:"";position:absolute;top:50%;width:18px;height:2px;background:var(--lime)}.system-relation i::before{left:0}.system-relation i::after{right:0}
.core-card{min-height:510px;padding:18px 18px 28px;background:#fff}
.core-card.engine-card{background:var(--green);color:#fff;border-color:var(--green);transform:translateY(-12px)}
.core-card.engine-card:hover{transform:translateY(-20px)}
.system-visual{height:220px;width:100%;border-radius:20px;margin-bottom:26px;position:relative;overflow:hidden;border:1px solid rgba(21,35,30,.1)}
.flow-visual{background:linear-gradient(145deg,#fff1cf,#ffd786)}
.flow-visual::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(21,35,30,.13) 1.5px,transparent 1.5px);background-size:20px 20px;opacity:.5}
.idea-orb{position:absolute;left:32px;top:74px;width:72px;height:72px;border:5px solid var(--ink);border-radius:50%;display:grid;place-items:center;background:var(--lime);font-size:13px;font-weight:900;box-shadow:6px 7px 0 var(--ink);z-index:2}
.flow-path{position:absolute;left:98px;right:128px;top:108px;height:6px;background:var(--ink)}
.flow-path::after{content:"";position:absolute;right:-2px;top:-7px;border-left:16px solid var(--ink);border-top:10px solid transparent;border-bottom:10px solid transparent}
.build-block{position:absolute;width:32px;height:32px;border:4px solid var(--ink);border-radius:8px;z-index:2}.block-one{left:39%;top:62px;background:#8ed8d0;transform:rotate(-8deg)}.block-two{left:47%;top:102px;background:var(--orange);transform:rotate(7deg)}.block-three{left:55%;top:68px;background:#fff;transform:rotate(12deg)}
.playable-screen{position:absolute;right:25px;top:54px;width:112px;height:112px;border:5px solid var(--ink);border-radius:22px;background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;box-shadow:7px 8px 0 var(--ink);z-index:2}.playable-screen i{font-style:normal;font-size:30px;color:var(--green)}.playable-screen b{font-size:10px;letter-spacing:1px}
.engine-visual{background:linear-gradient(145deg,#123c2d,#246c50);border-color:rgba(255,255,255,.15)}
.engine-visual::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(186,242,54,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(186,242,54,.08) 1px,transparent 1px);background-size:26px 26px}
.engine-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:116px;height:116px;border:4px solid var(--lime);border-radius:32px;background:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:3;box-shadow:0 0 0 12px rgba(186,242,54,.08)}.engine-core b{font-size:38px;line-height:1;color:var(--lime)}.engine-core small{font-size:9px;letter-spacing:2px;margin-top:7px}
.device{position:absolute;width:52px;height:66px;border:3px solid #fff;border-radius:12px;background:#2d7a5c;display:grid;place-items:center;color:var(--lime);font-size:22px;z-index:2}.device-one{left:30px;top:76px}.device-two{right:30px;top:76px}.device-three{right:82px;top:18px;width:54px;height:43px}
.engine-link{position:absolute;height:3px;background:var(--lime);opacity:.75;transform-origin:left}.link-one{left:81px;top:110px;width:126px}.link-two{right:79px;top:110px;width:126px}.link-three{right:110px;top:61px;width:80px;transform:rotate(28deg)}
.core-kicker{font-size:12px;letter-spacing:1px;font-weight:800;color:var(--green)}.engine-card .core-kicker{color:var(--lime)}
.core-card h3{font-size:28px;margin:8px 0 10px}.core-card p{font-size:15px;line-height:1.75;max-width:500px}.engine-card p{color:rgba(255,255,255,.78)}.engine-card .tags span{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15);color:#fff}
@media(max-width:900px){.capability-grid.dual-core{grid-template-columns:1fr}.core-card.engine-card{transform:none}.core-card.engine-card:hover{transform:translateY(-8px)}}
@media(max-width:560px){.system-relation{grid-template-columns:1fr;margin-top:36px;gap:8px}.system-relation i{padding:8px 0}.system-relation i::before,.system-relation i::after{display:none}.system-visual{height:190px}.idea-orb{left:18px;top:61px;transform:scale(.85)}.playable-screen{right:15px;top:44px;transform:scale(.82)}.flow-path{left:78px;right:98px;top:95px}.build-block{transform:scale(.8)}.block-one{left:36%;top:50px}.block-two{left:46%;top:96px}.block-three{left:54%;top:55px}.device-one{left:16px}.device-two{right:16px}.device-three{right:52px}.engine-link{opacity:.5}}

:root{--ink:#18152f;--muted:#69657f;--cream:#f7f5ff;--paper:#fff;--lime:#75ecff;--green:#6657e8;--orange:#ff4eb2;--line:#ddd8f0;--shadow:0 24px 70px rgba(61,43,130,.16)}
body{background:var(--cream);background-image:radial-gradient(circle at 8% 5%,rgba(117,236,255,.18),transparent 24%),radial-gradient(circle at 92% 9%,rgba(255,78,178,.13),transparent 23%)}
main{overflow:hidden}.site-header{background:rgba(247,245,255,.88);border-bottom-color:rgba(75,61,139,.1)}
.brand-logo{filter:drop-shadow(0 4px 7px rgba(102,87,232,.2))}
.site-nav a:after{background:linear-gradient(90deg,var(--green),var(--orange))}
.hero{position:relative;isolation:isolate}.hero::before{content:"";position:absolute;z-index:-2;width:720px;height:720px;right:-210px;top:-120px;border-radius:50%;background:radial-gradient(circle,rgba(117,236,255,.2),rgba(102,87,232,.08) 48%,transparent 70%)}
.hero::after{content:"";position:absolute;z-index:-1;left:-25vw;right:-25vw;bottom:0;height:170px;background-image:linear-gradient(rgba(102,87,232,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(102,87,232,.07) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(to top,#000,transparent)}
.hero h1 em{background:linear-gradient(90deg,#5141da,#e83fa3 65%,#ff7dc6);-webkit-background-clip:text;background-clip:text;color:transparent}
.button.primary{background:linear-gradient(135deg,#292051,#17132d);box-shadow:0 10px 0 rgba(102,87,232,.16),0 18px 34px rgba(43,29,105,.22)}
.button.primary:hover{transform:translateY(-2px)}
.button.primary span{color:var(--lime)}
.platforms span{background:rgba(255,255,255,.82);border-color:#d7d0f2;color:#5d527a;box-shadow:0 5px 14px rgba(68,47,135,.06)}
.orbit-one{border-color:rgba(102,87,232,.3)}.orbit-two{border-color:rgba(255,78,178,.42)}
.card-back{background:#423593;color:var(--lime);box-shadow:0 25px 55px rgba(64,44,151,.28)}
.card-back::before{background-image:linear-gradient(rgba(117,236,255,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(117,236,255,.2) 1px,transparent 1px);border-color:rgba(117,236,255,.4)}
.card-back::after{border-color:var(--lime);box-shadow:0 0 0 14px rgba(117,236,255,.1),0 0 0 28px rgba(117,236,255,.06)}
.card-back b{background:#423593;border-color:var(--lime)}
.card-main{background:#eeeaff;box-shadow:0 28px 65px rgba(64,44,151,.26)}.card-sky{background:linear-gradient(#aef3ff,#d9f8ff)}
.h1{background:#8ae4e7}.h2{background:#8f7df5}.character{background:#fff0c5}.ear{background:#fff0c5}.card-ui span{background:linear-gradient(90deg,var(--lime),#a690ff)}
.chip-a{background:var(--lime)}.chip-b{background:var(--orange)}.s1{color:var(--green)}.s2{color:var(--orange)}
.hero-hud{position:absolute;z-index:9;right:20px;bottom:18px;width:210px;padding:12px 14px;border:4px solid var(--ink);border-radius:14px;background:#fff;box-shadow:7px 8px 0 var(--ink);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;transform:rotate(-3deg);font-size:11px}.hero-hud b{color:var(--green)}.hero-hud span{height:10px;border:2px solid var(--ink);border-radius:8px;overflow:hidden;background:#ece8fa}.hero-hud span i{display:block;width:82%;height:100%;background:linear-gradient(90deg,var(--lime),var(--green))}.hero-hud em{font-style:normal;color:var(--orange);font-weight:900}
.game-token{position:absolute;z-index:8;display:grid;place-items:center;border:4px solid var(--ink);box-shadow:5px 6px 0 var(--ink);font-weight:900}.token-heart{width:52px;height:52px;border-radius:16px;background:var(--orange);color:#fff;right:42px;top:185px;transform:rotate(12deg)}.token-coin{width:38px;height:38px;border-radius:50%;background:#ffdc57;color:#ff9f27;left:30px;bottom:92px}.token-star{width:44px;height:44px;border-radius:50%;background:var(--lime);color:var(--green);right:92px;bottom:100px;transform:rotate(-10deg)}
.capabilities{position:relative;background:linear-gradient(180deg,#fff 0%,#f5f2ff 100%)}.capabilities::before{content:"";position:absolute;right:-90px;top:70px;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle,var(--lime) 0 5%,transparent 6% 100%);background-size:28px 28px;opacity:.28}
.section-heading h2{color:#211b42}.eyebrow{color:var(--green)}
.system-relation span{background:#eeebff;border-color:#d2cbf3;color:#5144c7}
.core-card{box-shadow:0 16px 44px rgba(68,47,135,.09);border-color:#ded8f2}.core-card.engine-card{background:linear-gradient(145deg,#5544cf,#2c235e);border-color:#4d3dbb;box-shadow:0 25px 55px rgba(69,49,165,.24)}
.flow-visual{background:linear-gradient(145deg,#e9fbff,#d9d1ff 58%,#ffc9e8)}
.idea-orb{background:var(--orange);color:#fff}.build-block.block-one{background:var(--lime)}.build-block.block-two{background:var(--orange)}.build-block.block-three{background:#9a83ff}.playable-screen i{color:var(--green)}
.engine-visual{background:linear-gradient(145deg,#18152f,#42359e)}.engine-core{background:#201943;border-color:var(--lime)}.device{background:#6554d7}.engine-link{background:var(--lime)}
.works{position:relative;background:linear-gradient(180deg,#f7f5ff,#fff7fc)}.works::after{content:"";position:absolute;left:-100px;top:240px;width:260px;height:260px;border:42px solid rgba(255,78,178,.08);border-radius:70px;transform:rotate(24deg);pointer-events:none}.work-card{border:1px solid #e1dbf3;box-shadow:0 15px 42px rgba(68,47,135,.1)}.work-cover{border:1px solid rgba(24,21,47,.08);box-shadow:inset 0 0 0 8px rgba(255,255,255,.15)}.match{background:linear-gradient(145deg,#ffaddb,#9c83ff)}.puzzle-world{background:linear-gradient(145deg,#b9f5ff,#75dbe9)}.match-board{background:#fff8dd}.island{background:#7e6ee3;box-shadow:inset 0 -35px #ff8abe}.tree{color:#473b9d}.status{background:#201943}.status.planned{background:#fff;color:#3c326d}.category{color:var(--green)}
.philosophy{background:linear-gradient(135deg,#e9fbff 0%,#ede8ff 50%,#ffe9f5 100%)}.principles{border-top-color:#ccc3ed}.principles article{border-right-color:#ccc3ed}.principle-icon{background:var(--lime);box-shadow:7px 8px 0 #28214c}.principles article:nth-child(2) .principle-icon{background:#a38cff}.principles article:nth-child(3) .principle-icon{background:var(--orange)}
.contact{position:relative;background:radial-gradient(circle at 78% 42%,rgba(102,87,232,.5),transparent 26%),radial-gradient(circle at 90% 12%,rgba(255,78,178,.25),transparent 20%),var(--ink)}.planet{background:linear-gradient(145deg,var(--lime),#8f7df5)}.ring{border-color:#fff}.rocket{color:var(--orange)}.st1{color:var(--orange)}.st3{color:var(--lime)}
.about-hero{position:relative;background:radial-gradient(circle at 80% 28%,rgba(117,236,255,.2),transparent 25%),radial-gradient(circle at 90% 70%,rgba(255,78,178,.13),transparent 22%)}.s-round{background:var(--lime)}.s-square{background:var(--orange)}.s-triangle{border-bottom-color:var(--green)}.s-pill{background:#a38cff}.about-content{background:linear-gradient(180deg,#fff,#f7f5ff)}.about-cta{background:linear-gradient(135deg,#dffaff,#ebe5ff 55%,#ffe5f4)}
@media(max-width:900px){.hero-hud{right:50px}.token-heart{right:60px}.token-star{right:115px}}
@media(max-width:560px){.hero-hud{right:35px;bottom:18px}.game-token{transform:scale(.82)}.token-heart{right:75px;top:140px}.token-star{right:100px}.capabilities::before{display:none}}

.capabilities{background:linear-gradient(145deg,#e6e0f3 0%,#ddd5ed 52%,#eaddea 100%)}
.capabilities::before{opacity:.18}
.system-relation{grid-template-columns:minmax(0,1fr) 180px minmax(0,1fr);align-items:center;gap:22px;margin:48px 0 28px}
.system-relation span{min-height:58px;display:flex;align-items:center;justify-content:center;background:#d8d0ee;border:2px solid #bcb0dc;color:#493ca8;box-shadow:inset 0 1px 0 rgba(255,255,255,.65)}
.system-relation i{display:flex;align-items:center;justify-content:center;height:58px;color:#514966;font-size:13px}
.system-relation i::before,.system-relation i::after{background:#4fcfe9}
.capability-grid.dual-core{align-items:stretch}
.core-card,.core-card.engine-card{min-height:510px;transform:none;margin:0}
.core-card{background:#f2edf9;border:2px solid #c2b7dd;box-shadow:0 18px 42px rgba(54,39,105,.14)}
.core-card.engine-card{background:linear-gradient(150deg,#523daf,#352773);border-color:#6753c7;box-shadow:0 18px 42px rgba(54,39,105,.22)}
.core-card:hover,.core-card.engine-card:hover{transform:translateY(-6px)}
.core-card .system-visual{border-width:2px}
.core-card:not(.engine-card) .tags span{background:#e5def5;border-color:#c9bce6;color:#4f4568}
@media(max-width:900px){.system-relation{grid-template-columns:1fr;gap:8px}.system-relation i{height:38px}.system-relation i::before,.system-relation i::after{display:none}.core-card,.core-card.engine-card{transform:none}}

.match{background:linear-gradient(145deg,#6748df 0%,#a35ee9 48%,#ff5bad 100%)}
.match::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.24) 1.5px,transparent 1.5px);background-size:22px 22px;mask-image:linear-gradient(135deg,#000,transparent 72%)}
.match-hud{position:absolute;z-index:6;top:16px;right:16px;display:flex;align-items:center;gap:12px;padding:8px 12px;border:3px solid var(--ink);border-radius:14px;background:#fff;box-shadow:4px 5px 0 var(--ink);transform:rotate(2deg)}
.match-hud span{display:flex;align-items:baseline;gap:6px}.match-hud small{font-size:10px;color:var(--muted);font-weight:800}.match-hud b{font-size:17px;color:var(--green)}.match-hud em{font-size:12px;font-style:normal;color:var(--orange);letter-spacing:1px}
.match .match-board{width:238px;height:238px;top:51%;background:#fff8d9;box-shadow:12px 14px 0 rgba(24,21,47,.26)}
.match .match-board i{background:#74e9ff}.match .match-board i:nth-child(3n+2){background:#ffdc57}.match .match-board i:nth-child(3n){background:#ff82c7}
.match .match-pop{top:auto;right:auto;left:24px;bottom:20px;background:#ffdc57;transform:rotate(-7deg);padding:9px 12px;font-size:14px;z-index:7}
.booster{position:absolute;right:22px;bottom:22px;z-index:7;width:48px;height:48px;border:4px solid var(--ink);border-radius:50%;background:var(--lime);display:grid;place-items:center;font-size:23px;box-shadow:5px 6px 0 var(--ink);transform:rotate(8deg)}
.puzzle-world{background:radial-gradient(circle at 28% 20%,rgba(117,236,255,.36),transparent 18%),linear-gradient(150deg,#272052 0%,#49379e 55%,#7555db 100%)}
.puzzle-world::before{content:"";position:absolute;inset:0;background-image:radial-gradient(#fff 1.2px,transparent 1.2px),radial-gradient(rgba(117,236,255,.8) 1.5px,transparent 1.5px);background-position:0 0,14px 17px;background-size:34px 34px,46px 46px;opacity:.34}
.world-hud{position:absolute;top:16px;right:16px;z-index:7;display:flex;gap:12px;align-items:center;padding:9px 12px;border:3px solid #fff;border-radius:13px;background:rgba(24,21,47,.82);box-shadow:4px 5px 0 rgba(24,21,47,.55);color:#fff;font-size:12px;font-weight:900}.world-hud b{color:#ff74bd;letter-spacing:2px}
.puzzle-world .island{width:325px;height:175px;bottom:56px;background:#53d3ae;border-color:var(--ink);box-shadow:inset 0 -34px #8c63df,0 15px 0 rgba(24,21,47,.24)}
.puzzle-world .tree{color:#2a937d;-webkit-text-stroke-color:var(--ink)}
.puzzle-world .door{width:76px;height:98px;left:124px;bottom:48px;background:#ffdc57;font-size:30px}
.mini-hero{position:absolute;left:73px;bottom:40px;width:52px;height:56px;border:4px solid var(--ink);border-radius:50% 50% 44% 44%;background:#fff0bf;display:grid;place-items:center;font-size:13px;font-weight:900;z-index:4;box-shadow:4px 5px 0 rgba(24,21,47,.25)}
.mini-hero::before{content:"";position:absolute;top:-15px;width:22px;height:24px;border:4px solid var(--ink);border-bottom:0;border-radius:50% 50% 0 0;background:var(--orange)}
.slime{position:absolute;right:65px;bottom:40px;width:58px;height:43px;border:4px solid var(--ink);border-radius:50% 50% 38% 38%;background:#9f87ff;display:grid;place-items:center;font-size:12px;font-weight:900;z-index:4}
.treasure{position:absolute;right:18px;bottom:43px;width:43px;height:35px;border:4px solid var(--ink);border-radius:8px;background:#ffb74e;display:grid;place-items:center;color:#fff;font-size:14px;z-index:4;box-shadow:3px 4px 0 rgba(24,21,47,.25)}
.puzzle-world .bubble{z-index:6;background:#fff}.puzzle-world .b1{width:54px;height:54px;right:42px;top:80px;font-size:24px}.puzzle-world .b2{width:48px;height:48px;left:42px;top:91px;background:var(--lime);font-size:18px}
.quest-bar{position:absolute;z-index:7;left:50%;bottom:14px;transform:translateX(-50%);width:250px;padding:7px 10px;border:3px solid var(--ink);border-radius:12px;background:#fff;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:9px;box-shadow:4px 5px 0 rgba(24,21,47,.45)}.quest-bar span{font-size:10px;font-weight:900;color:#5144c7}.quest-bar i{height:8px;border:2px solid var(--ink);border-radius:8px;background:#e4dff3;overflow:hidden}.quest-bar i b{display:block;width:68%;height:100%;background:linear-gradient(90deg,var(--lime),var(--orange))}
@media(max-width:560px){.match-hud,.world-hud{transform:scale(.88);transform-origin:top right}.match .match-board{transform:translate(-50%,-45%) rotate(-7deg) scale(.74)}.puzzle-world .island{transform:translateX(-50%) scale(.82);transform-origin:bottom center}.quest-bar{transform:translateX(-50%) scale(.88);transform-origin:bottom center}}

.site-footer{position:relative;isolation:auto;width:100%;max-width:none;margin:0;padding:52px max(28px,calc((100% - 1184px)/2));background:#cfc7f5;background-image:none;box-shadow:none;clip-path:none;border-top:1px solid #ab9fe8}
.site-footer>div,.site-footer .footer-meta,.site-footer .footer-brand,.site-footer p,.site-footer a,.site-footer strong,.site-footer span{background:transparent!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important}
.site-footer .brand-logo{background:transparent!important;filter:none}
.site-footer>div>p{color:#453f63}.site-footer strong{color:var(--ink)}.site-footer .footer-meta a{color:#3d3663}
@media(max-width:560px){.site-footer{padding:42px 20px}}

.site-header{background:#f7f5ff;backdrop-filter:none;-webkit-backdrop-filter:none}


/* Accessibility: visible keyboard focus + anchor offset for the 82px sticky header */
a:focus-visible,button:focus-visible{outline:3px solid var(--green);outline-offset:3px;border-radius:6px}
#home,#capabilities,#works,#contact{scroll-margin-top:100px}
@media(max-width:560px){#home,#capabilities,#works,#contact{scroll-margin-top:86px}}
/* .contact-list 样式为预留：邮箱/微信确定后直接在 #contact 里加回列表即可 */

/* Mobile/tablet hero fix.
   .reveal.visible{transform:none} is (0,2,0) and was beating .hero-art{transform:scale()} (0,1,0),
   so the illustration never actually scaled down once the reveal animation ran — it rendered at
   full 560px inside a 370px box and spilled over the h1, and margin:0 -90px pushed it off both
   screen edges. Match the specificity, keep the box at its natural height so the 445px card fits,
   scale from the top, then pull following content up by exactly what the scale freed. */
@media(max-width:900px){
  .hero-art{height:560px;transform-origin:top center;margin:0 0 -101px}
  .hero-art.reveal{transform:scale(.82) translateY(24px)}
  .hero-art.reveal.visible{transform:scale(.82)}
}
@media(max-width:560px){
  .hero-art{height:560px;transform-origin:top left;margin:0 0 -246px}
  .hero-art.reveal{transform:scale(.56) translateY(24px)}
  .hero-art.reveal.visible{transform:scale(.56)}
}

/* Mixed CJK/Latin runs like "小游戏、Android、iOS 与鸿蒙。" depend on the browser applying
   CJK line-breaking. Where font fallback resolves differently the whole run becomes
   unbreakable and overflows. Let long runs break only when they would otherwise overflow. */
body{overflow-wrap:break-word}
