:root{--paper:#f6f1e6;--paper-2:#fbf8f1;--card:#fffdf8;--ink:#2b2433;--ink-2:#55495f;--ink-3:#8a7f93;--line:rgba(43,36,51,0.12);--line-soft:rgba(43,36,51,0.08);--amber:#f0b429;--coral:#e8805e;--rose:#b06a8c;--teal:#43a79a;--blue:#5b8bc9;--violet:#8b7ec8;--night:#241f2e;--taptap:#00d9c5;--taptap-ink:#053836;--serif:var(--font-serif),"Noto Serif SC","Songti SC","STSong",serif;--sans:var(--font-sans),"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;--radius:22px;--shadow-card:0 2px 6px rgba(43,36,51,0.05),0 18px 44px -18px rgba(43,36,51,0.16);--ease-out:cubic-bezier(0.22,1,0.36,1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden}::selection{background:rgba(240,180,41,.4)}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{font-family:inherit}:focus-visible{outline:3px solid rgba(67,167,154,.65);outline-offset:3px;border-radius:6px}.container{width:min(1160px,100% - 48px);margin-inline:auto}.aurora{position:fixed;inset:0;z-index:-2;overflow:hidden;pointer-events:none}.aurora i{position:absolute;width:44vw;height:44vw;border-radius:50%;filter:blur(110px);opacity:.32}.aurora i:first-child{background:var(--amber);top:-18vw;left:-10vw;animation:drift-1 34s ease-in-out infinite alternate}.aurora i:nth-child(2){background:var(--rose);top:12vh;right:-16vw;opacity:.26;animation:drift-2 42s ease-in-out infinite alternate}.aurora i:nth-child(3){background:var(--teal);bottom:-22vw;left:8vw;opacity:.22;animation:drift-3 38s ease-in-out infinite alternate}.aurora i:nth-child(4){background:var(--violet);bottom:4vh;right:-8vw;opacity:.2;animation:drift-4 46s ease-in-out infinite alternate}@keyframes drift-1{to{transform:translate(9vw,7vh) scale(1.15)}}@keyframes drift-2{to{transform:translate(-8vw,10vh) scale(.9)}}@keyframes drift-3{to{transform:translate(10vw,-8vh) scale(1.1)}}@keyframes drift-4{to{transform:translate(-7vw,-6vh) scale(1.2)}}body:after{content:"";position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.05;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:999px;font-size:12.5px;font-weight:500;letter-spacing:.08em;white-space:nowrap}.chip-ink{background:var(--ink);color:var(--paper)}.chip-ghost{border:1px solid var(--line);color:var(--ink-2);background:rgba(255,253,248,.6)}.chip-teal{background:rgba(67,167,154,.14);color:#2c7a70;border:1px solid rgba(67,167,154,.35)}.badge-btn{display:inline-flex;align-items:center;transition:transform .25s var(--ease-out)}.badge-btn:hover{transform:translateY(-2px)}.badge-img{width:auto;display:block}.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 28px;border-radius:999px;font-size:16.5px;font-weight:700;letter-spacing:.02em;transition:transform .25s var(--ease-out),box-shadow .25s,background .25s;will-change:transform}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn-ghost{border:1.5px solid var(--line);color:var(--ink);background:rgba(255,253,248,.7)}.btn-ghost:hover{border-color:rgba(43,36,51,.3);background:var(--card)}.btn-ghost svg{width:19px;height:19px}.nav{position:fixed;top:0;left:0;right:0;z-index:50;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(246,241,230,.72);border-bottom:1px solid var(--line-soft)}.nav-inner{gap:32px;height:70px}.nav-inner,.nav-logo{display:flex;align-items:center}.nav-logo{gap:11px;margin-right:auto}.nav-logo img{border-radius:9px;box-shadow:0 3px 10px -2px rgba(43,36,51,.3)}.nav-logo-name{font-family:var(--serif);font-weight:900;font-size:19px;letter-spacing:.06em}.nav-logo-sub{font-size:11px;letter-spacing:.22em;color:var(--ink-3);border-left:1px solid var(--line);padding-left:10px;padding-top:2px}.nav-links{display:flex;gap:30px;font-size:14.5px;font-weight:500;color:var(--ink-2)}.nav-links a{position:relative;padding-block:4px;transition:color .2s}.nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:linear-gradient(90deg,var(--amber),var(--coral),var(--rose));border-radius:2px;transition:right .3s var(--ease-out)}.nav-links a:hover{color:var(--ink)}.nav-links a:hover:after{right:0}.nav-cta{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:var(--paper);font-size:13.5px;font-weight:700;padding:9px 18px;border-radius:999px;transition:transform .25s var(--ease-out),background .2s}.nav-cta:hover{transform:translateY(-1px);background:#3a3147}.hero{display:grid;grid-template-columns:1.06fr .94fr;align-items:center;grid-gap:clamp(32px,5vw,72px);gap:clamp(32px,5vw,72px);padding-top:clamp(130px,16vh,176px);padding-bottom:clamp(56px,8vh,96px)}.hero-eyebrow{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px;animation:rise .9s var(--ease-out) both}.hero-title{font-family:var(--serif);font-weight:900;font-size:clamp(64px,9.5vw,118px);line-height:1.04;letter-spacing:.045em;display:flex}.hero-title span{display:inline-block;animation:rise .9s var(--ease-out) both;animation-delay:calc(80ms + var(--d) * 90ms);position:relative}.hero-title span:first-child:after,.hero-title span:nth-child(2):after{content:"";position:absolute;left:14%;right:14%;bottom:.02em;height:.09em;border-radius:99px}.hero-title span:first-child:after{background:linear-gradient(90deg,var(--amber),var(--coral))}.hero-title span:nth-child(2):after{background:linear-gradient(90deg,var(--teal),var(--blue))}@keyframes rise{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}.hero-tagline{font-family:var(--serif);font-weight:700;font-size:clamp(24px,3.2vw,34px);letter-spacing:.1em;margin-top:22px;animation:rise .9s .45s var(--ease-out) both}.hero-tagline-dot{color:var(--coral)}.hero-desc{max-width:34em;color:var(--ink-2);font-size:16.5px;margin-top:18px;animation:rise .9s .55s var(--ease-out) both}.hero-cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:34px;animation:rise .9s .65s var(--ease-out) both}.hero-stats{display:flex;gap:clamp(28px,4vw,52px);margin-top:44px;padding-top:28px;border-top:1px solid var(--line-soft);animation:rise .9s .75s var(--ease-out) both}.hero-stats div{display:flex;flex-direction:column}.hero-stats dt{font-family:var(--serif);font-weight:900;font-size:clamp(30px,3.4vw,42px);line-height:1.1;background:linear-gradient(120deg,var(--coral),var(--rose),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}.hero-stats dd{font-size:13px;color:var(--ink-3);letter-spacing:.05em;margin-top:4px;word-break:keep-all}.hero-board{position:relative;display:flex;justify-content:center;animation:rise 1.1s .5s var(--ease-out) both}.board-glow{position:absolute;inset:6% -4%;background:radial-gradient(45% 32% at 30% 20%,rgba(240,180,41,.4),transparent 70%),radial-gradient(45% 32% at 75% 55%,rgba(176,106,140,.32),transparent 70%),radial-gradient(50% 36% at 45% 85%,rgba(67,167,154,.35),transparent 70%);filter:blur(42px);z-index:-1}.board-tilt{transform:rotate(2.6deg);animation:board-float 7s ease-in-out infinite alternate}@keyframes board-float{0%{transform:rotate(2.2deg) translateY(0)}to{transform:rotate(3deg) translateY(-12px)}}.board-wrap{position:relative}.board-tag{position:absolute;top:-18px;left:-20px;z-index:3;display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:var(--paper);font-size:13px;font-weight:500;letter-spacing:.06em;padding:8px 16px;border-radius:999px;box-shadow:0 10px 24px -8px rgba(43,36,51,.5);transform:rotate(-2deg)}.board-tag-dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--amber),var(--coral))}.board{position:relative;width:min(292px,72vw);aspect-ratio:30/71;padding:0;border-radius:18px}.tile{position:absolute;top:0;left:0;width:calc((100% - 2 * 10px) / 3);aspect-ratio:4/3;border:0;padding:0;cursor:pointer;border-radius:10px;transform:translate(calc(var(--c) * (100% + 10px)),calc(var(--r) * (100% + 10px)));transition:transform .55s var(--ease-out),box-shadow .2s,filter .2s;box-shadow:0 1px 3px rgba(43,36,51,.18)}.tile:after{content:"";position:absolute;top:50%;left:50%;width:5px;height:5px;border-radius:2px;background:rgba(20,16,26,.55);transform:translate(-50%,-50%)}.tile:hover{filter:brightness(1.06);box-shadow:0 6px 16px -4px rgba(43,36,51,.35);z-index:2}.tile.is-selected{filter:brightness(1.08);outline:3px solid rgba(255,255,255,.95);outline-offset:1px;box-shadow:0 12px 26px -6px rgba(43,36,51,.45);transform:translate(calc(var(--c) * (100% + 10px)),calc(var(--r) * (100% + 10px) - 6px)) scale(1.04);z-index:3}.board-solved{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-2deg) scale(.9);background:var(--paper-2);color:var(--ink);font-family:var(--serif);font-weight:700;font-size:15px;letter-spacing:.1em;padding:10px 22px;border-radius:999px;box-shadow:0 16px 40px -10px rgba(43,36,51,.45);opacity:0;pointer-events:none;transition:opacity .5s var(--ease-out),transform .5s var(--ease-out);z-index:4}.board-solved.show{opacity:1;transform:translate(-50%,-50%) rotate(-2deg) scale(1)}.board-actions{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:22px;flex-wrap:wrap}.board-btn{border:1.5px solid var(--line);background:rgba(255,253,248,.75);color:var(--ink);font-size:13px;font-weight:700;letter-spacing:.06em;padding:7px 16px;border-radius:999px;cursor:pointer;transition:transform .2s var(--ease-out),background .2s,border-color .2s}.board-btn:hover{transform:translateY(-1px);border-color:rgba(43,36,51,.32);background:var(--card)}.board-btn-accent{background:var(--ink);color:var(--paper);border-color:var(--ink)}.board-btn-accent:hover{background:#3a3147}.board-hint{font-size:12.5px;color:var(--ink-3);letter-spacing:.04em}.ribbon{overflow:hidden;padding-block:34px 24px;margin-block:8px}.ribbon-track{display:flex;gap:14px;width:max-content;transform:rotate(-1.1deg);animation:ribbon 42s linear infinite}.ribbon-track i{width:104px;height:46px;border-radius:13px;box-shadow:0 8px 20px -8px rgba(43,36,51,.25)}@keyframes ribbon{0%{transform:rotate(-1.1deg) translateX(0)}to{transform:rotate(-1.1deg) translateX(calc(-50% - 7px))}}.sec{padding-block:clamp(72px,10vh,116px);scroll-margin-top:76px}.sec-head{max-width:620px;margin-bottom:clamp(40px,6vh,64px)}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13.5px;font-weight:700;letter-spacing:.3em;color:var(--ink-3);margin-bottom:14px}.eyebrow:before{content:"";width:26px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--amber),var(--coral))}.sec-title{font-family:var(--serif);font-weight:900;font-size:clamp(34px,4.6vw,52px);line-height:1.2;letter-spacing:.04em}.sec-sub{color:var(--ink-2);margin-top:16px;font-size:16.5px}.reveal{opacity:0;transform:translateY(28px);transition:opacity .85s var(--ease-out),transform .85s var(--ease-out)}.reveal.in{opacity:1;transform:translateY(0)}.bento{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px}.card{position:relative;background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius);padding:28px 26px 24px;overflow:hidden;box-shadow:var(--shadow-card);transition:transform .35s var(--ease-out),box-shadow .35s}.card:hover{transform:translateY(-5px);box-shadow:0 4px 10px rgba(43,36,51,.06),0 26px 54px -18px rgba(43,36,51,.22)}.card-wide{grid-column:span 2;background:radial-gradient(58% 90% at 100% 0,rgba(240,180,41,.16),transparent 65%),radial-gradient(46% 80% at 0 100%,rgba(232,128,94,.12),transparent 65%),var(--card)}.card h3{font-family:var(--serif);font-weight:700;font-size:20px;letter-spacing:.03em;margin:16px 0 8px}.card p{color:var(--ink-2);font-size:14.5px;line-height:1.8}.card-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px}.card-icon svg{width:24px;height:24px}.icon-amber{background:rgba(240,180,41,.16);color:#b07a10}.icon-coral{background:rgba(232,128,94,.16);color:#bd5732}.icon-teal{background:rgba(67,167,154,.15);color:#2c7a70}.icon-blue{background:rgba(91,139,201,.16);color:#3a6aa8}.icon-rose{background:rgba(176,106,140,.16);color:#8d4b6b}.card-num{position:absolute;right:20px;bottom:12px;font-family:var(--serif);font-weight:900;font-size:44px;color:rgba(43,36,51,.07);line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chapters{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px;align-items:stretch}.chapter{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius);padding:26px 24px 24px;box-shadow:var(--shadow-card);transition:transform .35s var(--ease-out),box-shadow .35s}.chapter:hover{transform:translateY(-5px);box-shadow:0 4px 10px rgba(43,36,51,.06),0 26px 54px -18px rgba(43,36,51,.22)}.chapter header{display:flex;flex-direction:column}.chapter-no{font-size:15px;letter-spacing:.2em;color:rgba(255,255,255,.95);background:var(--ink);align-self:flex-start;padding:3px 12px 4px;border-radius:999px}.chapter h3,.chapter-no{font-family:var(--serif);font-weight:900}.chapter h3{font-size:27px;letter-spacing:.05em;margin-top:14px}.chapter-tag{font-size:13.5px;color:var(--ink-3);margin-top:4px}.chapter-band{height:52px;border-radius:14px;margin:18px 0 16px}.band-warm{background:linear-gradient(90deg,#f7e3a9,#f2b06d,#e97c54,#c291af,#7d4868)}.band-cool{background:linear-gradient(90deg,#a3ded6,#52abae,#43888f,#5b8bc9,#39656c)}.band-night{background:linear-gradient(90deg,#8b7ec8,#b06a8c,#55495f,#2b2433)}.chapter ul{list-style:none;display:flex;flex-direction:column;gap:13px}.chapter li{display:flex;gap:12px;align-items:flex-start}.mech-chip{flex:none;font-size:10.5px;font-weight:700;letter-spacing:.1em;font-family:ui-monospace,SF Mono,Menlo,monospace;color:var(--ink-2);background:rgba(43,36,51,.07);border:1px solid var(--line-soft);padding:3px 8px;border-radius:7px;margin-top:2px}.mech-chip-light{color:rgba(255,255,255,.9);background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18)}.chapter li strong{font-size:15px;font-weight:700;letter-spacing:.02em}.chapter li p{font-size:13.5px;color:var(--ink-2);line-height:1.65;margin-top:1px}.chapter-note{margin-top:auto;padding-top:18px;font-family:var(--serif);font-size:13.5px;letter-spacing:.06em;color:var(--ink-3);border-top:1px dashed var(--line-soft)}.chapter-night .chapter-note{color:rgba(242,237,247,.45);border-top-color:rgba(255,255,255,.1)}.chapter-night{background:linear-gradient(165deg,#322a41,#241f2e 55%);border-color:rgba(255,255,255,.08);color:#f2edf7}.chapter-night .chapter-no{background:linear-gradient(90deg,var(--violet),var(--rose));color:#fff}.chapter-night .chapter-tag,.chapter-night li p{color:rgba(242,237,247,.55)}.dl{position:relative;display:grid;grid-template-columns:1.15fr .85fr;grid-gap:clamp(32px,5vw,64px);gap:clamp(32px,5vw,64px);align-items:center;background:radial-gradient(52% 68% at 88% 8%,rgba(16,198,194,.2),transparent 65%),radial-gradient(48% 62% at 4% 96%,rgba(176,106,140,.28),transparent 65%),linear-gradient(160deg,#322a41,var(--night) 58%);color:#f2edf7;border-radius:34px;padding:clamp(36px,5vw,72px);overflow:hidden;box-shadow:0 40px 90px -30px rgba(36,31,46,.65)}.dl-copy h2{font-family:var(--serif);font-weight:900;font-size:clamp(30px,4vw,46px);line-height:1.25;letter-spacing:.04em;margin-top:18px}.dl-steps{list-style:none;display:flex;flex-direction:column;gap:20px;margin:32px 0 36px}.dl-steps li{display:flex;gap:16px;align-items:flex-start}.dl-steps li>span{flex:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;font-family:var(--serif);font-weight:900;font-size:15px;color:var(--night);background:linear-gradient(135deg,#f7e3a9,#e97c54);margin-top:2px}.dl-steps li:nth-child(2)>span{background:linear-gradient(135deg,#a3ded6,#43888f)}.dl-steps li:nth-child(3)>span{background:linear-gradient(135deg,#dfc0d2,#8b5576);color:#fff}.dl-steps strong{font-size:16.5px;letter-spacing:.03em}.dl-steps p{font-size:13.5px;color:rgba(242,237,247,.6);margin-top:2px}.dl-cta{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.dl-cta .badge-btn{background:#000;border-radius:12px}.dl-link{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13.5px;letter-spacing:.04em;color:rgba(242,237,247,.55);border:1px dashed rgba(242,237,247,.3);padding:8px 14px;border-radius:10px}.dl-qr{display:flex;justify-content:center}.qr-card{position:relative;background:var(--paper-2);color:var(--ink);border-radius:24px;padding:26px 26px 22px;width:min(300px,100%);text-align:center;transform:rotate(-2.4deg);box-shadow:0 30px 70px -20px rgba(0,0,0,.55);transition:transform .4s var(--ease-out)}.qr-card:hover{transform:rotate(0deg) scale(1.02)}.qr-tape{position:absolute;top:-13px;left:50%;transform:translateX(-50%) rotate(3deg);width:110px;height:26px;background:rgba(240,180,41,.5);border-radius:3px;box-shadow:0 4px 10px rgba(0,0,0,.12)}.qr-card img{width:100%;border-radius:14px;border:1px solid var(--line-soft)}.qr-card strong{display:block;font-family:var(--serif);font-weight:700;font-size:17px;letter-spacing:.08em;margin-top:16px}.qr-card span{display:block;font-size:12.5px;color:var(--ink-3);margin-top:3px}.sec-faq .sec-head{margin-bottom:28px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;font-family:var(--serif);font-weight:700;font-size:18.5px;letter-spacing:.04em;padding:24px 4px;transition:color .2s}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"";flex:none;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line);transition:transform .3s var(--ease-out),background .2s}.faq-list details[open] summary:after,.faq-list summary:after{background:linear-gradient(var(--ink),var(--ink)) 50% /10px 1.5px no-repeat,linear-gradient(var(--ink),var(--ink)) 50% /1.5px 10px no-repeat}.faq-list details[open] summary:after{transform:rotate(45deg)}.faq-list summary:hover{color:#6d4a86}.faq-list details p{color:var(--ink-2);padding:0 40px 26px 4px;max-width:42em}.footer{border-top:1px solid var(--line);background:rgba(251,248,241,.65);margin-top:40px}.footer-inner{justify-content:space-between;gap:28px;padding-block:34px;flex-wrap:wrap}.footer-brand,.footer-inner{display:flex;align-items:center}.footer-brand{gap:13px}.footer-brand img{border-radius:8px}.footer-brand strong{font-family:var(--serif);font-weight:900;font-size:16.5px;letter-spacing:.08em}.footer-brand p{font-size:12.5px;color:var(--ink-3)}.footer-links{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:500;color:var(--ink-2);flex-wrap:wrap}.footer-links a{display:inline-flex;align-items:center;gap:6px;transition:color .2s}.footer-links a:hover{color:var(--ink)}.footer-links svg{width:14px;height:14px}.footer-fine{border-top:1px solid var(--line-soft);padding-block:18px}.footer-fine p{font-size:12.5px;color:var(--ink-3);letter-spacing:.04em}@media (max-width:1020px){.hero{grid-template-columns:1fr;padding-top:120px;text-align:center}.hero-cta,.hero-eyebrow,.hero-stats,.hero-title{justify-content:center}.hero-desc{margin-inline:auto}.hero-board{margin-top:28px}.bento,.chapters{grid-template-columns:1fr 1fr}.card-wide,.chapter-wide{grid-column:span 2}.dl{grid-template-columns:1fr;text-align:center}.dl-copy .chip,.dl-cta,.dl-steps{justify-content:center;text-align:left}.dl-steps{max-width:460px;margin-inline:auto}.dl-steps li{text-align:left}}@media (max-width:760px){.nav-links,.nav-logo-sub{display:none}.bento,.chapters{grid-template-columns:1fr}.card-wide{grid-column:span 1}.hero-stats{gap:24px}.hero-stats dd{max-width:9em}.board-tag{left:-8px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.aurora i,.board-tilt,.hero-board,.hero-cta,.hero-desc,.hero-eyebrow,.hero-stats,.hero-tagline,.hero-title span,.ribbon-track{animation:none!important}.reveal{opacity:1;transform:none;transition:none}.tile{transition-duration:.01s}}