
:root{--paper:#fcf8f5;--ink:#111011;--pink:#e4567b;--line:#d3cbca;--ease:cubic-bezier(.2,.75,.2,1)}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 -apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--pink);outline-offset:5px}.page{max-width:1600px;margin:auto;container-type:inline-size;border:1px solid var(--line);overflow:clip}
header{height:6.2cqw;display:flex;align-items:center;padding:0 2.4cqw 0 4cqw;border-bottom:1px solid var(--line);gap:3cqw;position:relative;z-index:4}.brand{font:800 2.65cqw/1 Arial,sans-serif;letter-spacing:-.07cqw;display:flex;align-items:center;gap:1cqw}.brand b{color:var(--pink)}.cat-logo{width:3.7cqw;height:3.5cqw;position:relative;overflow:hidden;flex:none}.cat-logo img{display:block;width:100%;height:100%;object-fit:contain}.nav-divider{height:2cqw;border-left:1px solid var(--line);margin-left:3.8cqw}nav{display:flex;justify-content:center;gap:4.8cqw;flex:1;font-size:1.23cqw;font-weight:600}nav a:hover{color:var(--pink)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2.4cqw;border:1px solid var(--pink);background:var(--pink);color:white;border-radius:.45cqw;padding:.75cqw 1.6cqw;font-size:1.28cqw;line-height:1.5}.button:hover{background:#d3446a}.button .arrow{font-size:2.2cqw;line-height:1}.header-cta{min-width:11.4cqw}
.hero{height:auto;min-height:56cqw;position:relative;isolation:isolate}.art{position:absolute;inset:0 0 0 43.5%;overflow:visible;z-index:0;isolation:isolate}
.art .character{position:absolute;left:.1cqw;bottom:-.6cqw;width:auto;height:calc(100% + 1cqw);aspect-ratio:680/760;object-fit:contain;object-position:bottom;display:block;z-index:2}
.moe-type{position:absolute;left:-5cqw;top:19cqw;font:italic 31cqw/.9 Georgia,'Times New Roman',serif;letter-spacing:-3.5cqw;white-space:nowrap;z-index:0;color:var(--pink);user-select:none}.moe-type b{font-weight:400;color:#151215}
.halftone{position:absolute;right:4.5cqw;bottom:2.5cqw;width:13cqw;height:20cqw;border-radius:50%;transform:rotate(18deg);background:radial-gradient(circle,#e9688c 1.2px,transparent 1.8px) 0 0/7px 7px;mask-image:linear-gradient(150deg,transparent 8%,black 70%);z-index:1}
.marginalia{position:absolute;right:2.9cqw;top:6.8cqw;writing-mode:vertical-rl;font-size:1cqw;letter-spacing:.19cqw;line-height:2;z-index:3}.marginalia p{margin:0}.marginalia small{color:var(--pink);font:.7cqw/2 monospace;letter-spacing:.14cqw;margin-top:1.6cqw}.marginalia .paw{font-size:1.6cqw;color:var(--pink);margin-top:.8cqw}
.crop-mark{position:absolute;right:3.1cqw;width:2.5cqw;height:2.5cqw;z-index:3}.crop-mark:before,.crop-mark:after{content:'';position:absolute;background:#a28b93}.crop-mark:before{height:1px;left:0;right:0;top:50%}.crop-mark:after{width:1px;top:0;bottom:0;left:50%}.crop-mark.top{top:2.3cqw}.crop-mark.middle{bottom:17cqw}.crop-mark.bottom{bottom:3cqw}
.copy{position:relative;z-index:2;width:43.5%;padding:2.55cqw 0 3.4cqw 4.1cqw}.chapter{display:flex;align-items:center;gap:2cqw;color:var(--pink);height:3.3cqw}.chapter-label{display:flex;flex-direction:column;line-height:1}.chapter strong{font:800 1.9cqw/1 Georgia,serif}.chapter small{color:var(--ink);font-size:.65cqw;font-weight:700;letter-spacing:.13cqw;margin-top:.45cqw;white-space:nowrap}.rule{height:1px;background:var(--pink);flex:1;position:relative;margin-right:3cqw;align-self:flex-start;margin-top:.95cqw}.rule:after{content:'////';position:absolute;right:-3cqw;top:-.75cqw;letter-spacing:.25cqw;font-size:1cqw}
h1{font-size:10.45cqw;line-height:1.035;letter-spacing:-.55cqw;font-weight:900;margin:1.0cqw -2cqw 1.25cqw 0;white-space:nowrap}.title-line{display:block;overflow:hidden;padding:0 0 .5cqw}.title-line>span{display:block;transform-origin:0 100%}.pink{color:var(--pink)}.tagline{font-size:clamp(14px,1.35cqw,20px);margin:0 0 clamp(22px,2cqw,30px) .9cqw;letter-spacing:.01cqw;white-space:nowrap;color:#50464b}
.actions{display:flex;align-items:center;gap:clamp(24px,2.4cqw,36px);margin-left:.9cqw}
.actions .button{min-width:clamp(148px,13.4cqw,200px);padding:clamp(11px,1cqw,15px) clamp(20px,1.8cqw,28px);font-size:clamp(14px,1.2cqw,18px);border-radius:5px}
.actions .button .arrow{font-size:24px}
.doc-link{display:inline-flex;align-items:center;gap:9px;font-size:clamp(13px,1.05cqw,16px);color:#685760;min-height:44px;white-space:nowrap}.doc-link span:first-child{border-bottom:1px solid #d8c4cd;padding:3px 0}.doc-link:hover{color:var(--pink)}.doc-link:hover span:first-child{border-color:var(--pink)}.doc-link svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.4}
.hero-benefits{margin:clamp(26px,2.6cqw,38px) 0 0 .9cqw;width:32cqw}
.stats{border:0;margin-top:clamp(22px,2cqw,30px);padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.2cqw,18px)}
.stat{display:grid;grid-template-columns:18px 1fr;align-items:center;column-gap:6px;row-gap:5px;padding:0;border:0}.stat div{display:contents}.stat svg{width:18px;height:21px;fill:none;stroke:#c17c94;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.stat strong{font-size:clamp(12px,1cqw,15px);font-weight:600;line-height:1.5;white-space:nowrap;color:#55444d}.stat small{grid-column:1/-1;font-size:clamp(10px,.8cqw,12px);line-height:1.6;white-space:nowrap;color:#9a8891}
.micro{position:absolute;z-index:2;left:39.4%;bottom:2.1cqw;color:#d85375;font:.68cqw/1.5 monospace}.micro p{margin:0 0 1cqw}.micro .star{display:block;text-align:right;font-size:1.4cqw}
.news{height:4.2cqw;display:flex;align-items:center;gap:2cqw;padding:0 3.1cqw 0 4.1cqw;background:var(--pink);color:#fff;border-top:1px solid #c74668;border-bottom:1px solid #c74668;font-size:1.1cqw;white-space:nowrap;position:relative;z-index:3}.news-label{border:1px solid #ffc2d1;padding:.25cqw 1cqw;border-radius:2px;font-size:1cqw}.news-copy{flex:1;overflow:hidden}.news-copy span{padding:0 1.2cqw;color:#fac3d1}.github{display:flex;align-items:center;gap:1cqw;font-size:1.15cqw}.github svg{width:1.9cqw;height:1.9cqw;fill:currentColor}.github .arrow{font-size:2cqw}
.about{min-height:13.2cqw;display:grid;grid-template-columns:44% 36% 20%;align-items:center;padding:2.2cqw 0 1.5cqw 4.2cqw;position:relative;overflow:hidden}.about .chapter{width:18cqw;height:3cqw}.about .rule{background:#d39ca9}.about h2{font-size:2.95cqw;line-height:1.2;letter-spacing:-.1cqw;margin:.65cqw 0 0;white-space:nowrap}.about h2 em{font-family:Georgia,serif;font-style:normal;color:var(--pink);letter-spacing:-.12cqw}.about-text{padding:0 2.8cqw 0 3.3cqw;border-left:1px solid var(--pink);font-size:1cqw;line-height:1.9}.about-text p{margin:0}.mini-art{position:absolute;right:0;bottom:0;width:20cqw;height:12cqw;overflow:hidden}.mini-art img{position:absolute;width:100%;height:100%;object-fit:contain;object-position:bottom;right:0;bottom:0}
.review{max-width:1600px;margin:0 auto;padding:18px 4%;display:flex;align-items:center;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);font-size:12px;color:#83727b}.review button{background:none;border:1px solid #cabdc3;color:inherit;padding:7px 12px;border-radius:4px}.review a{text-decoration:underline;text-underline-offset:4px}.review p{margin:0;flex:1;min-width:200px}dialog{width:min(430px,90vw);padding:30px;border:1px solid var(--line);background:var(--paper);border-radius:8px;color:var(--ink)}dialog::backdrop{background:#20121a66}dialog h2{margin-top:0}dialog p{font-size:14px;color:#6c5c65}dialog button{padding:9px 20px;border:0;background:var(--pink);color:white;border-radius:4px}
.micro{width:8cqw;padding-right:.6cqw}.title-line:first-child>span{letter-spacing:-.1cqw}
.entering .title-line>span{animation:title-in .65s var(--ease) both}.entering .title-line:nth-child(2)>span{animation-delay:.1s}.entering .art{animation:art-in .85s var(--ease) backwards}.entering .hero-benefits{animation:fade-in .5s ease .25s both}
@keyframes title-in{from{transform:translateY(110%) rotate(2deg)}to{transform:translateY(0)}}@keyframes art-in{from{clip-path:polygon(110% 0,150% 0,110% 100%,80% 100%);transform:translateX(20px)}to{clip-path:polygon(-30% -20%,120% -20%,120% 120%,-30% 120%);transform:translateX(0)}}@keyframes fade-in{from{opacity:0}to{opacity:1}}
@media(max-width:700px){header{height:76px;padding:0 5%;gap:12px}.brand{font-size:21px;gap:7px}.cat-logo{display:block;width:27px;height:26px}.nav-divider{display:none}nav{gap:15px;justify-content:flex-end;font-size:12px}nav a:first-child{display:none}.header-cta{display:none}.hero{height:auto;min-height:1140px}.copy{width:100%;padding:26px 6% 0}.chapter{height:36px;gap:20px}.chapter strong{font-size:24px}.chapter small{font-size:9px;letter-spacing:1px;margin-top:5px}.rule{margin-top:10px;margin-right:35px}.rule:after{right:-35px;top:-10px;font-size:14px;letter-spacing:3px}h1{font-size:clamp(66px,14.3cqw,98px);letter-spacing:-.065em;margin:22px 0 14px;line-height:1.09}.tagline{font-size:14px;margin:0 0 22px;white-space:normal}.actions{margin:0;gap:24px}.actions .button{font-size:15px;padding:12px 22px;min-width:0;gap:25px;border-radius:5px}.button .arrow{font-size:24px}.hero-benefits{width:100%;margin:28px 0 0}.stats{padding:0;margin-top:24px;gap:10px}.stat{column-gap:6px;row-gap:5px;padding:0}.stat svg{width:18px;height:21px}.stat strong{font-size:12px}.stat small{font-size:10px}.art{left:0;top:590px;height:550px;bottom:auto}.art .character{width:420px;height:565px;left:calc(50% - 210px);bottom:-10px}.moe-type{font-size:265px;letter-spacing:-30px;left:calc(50% - 230px);top:210px}.halftone{width:135px;height:220px;right:5%;bottom:30px}.marginalia{right:4%;top:40px;font-size:10px;letter-spacing:2px}.marginalia small{font-size:8px;margin-top:15px}.marginalia .paw{font-size:16px}.crop-mark{right:5%;width:25px;height:25px}.crop-mark.top{top:10px}.crop-mark.middle{bottom:150px}.crop-mark.bottom{bottom:25px}.micro{left:6%;bottom:24px;font-size:9px;width:110px}.micro p{margin-bottom:10px}.micro .star{font-size:20px}.news{height:auto;min-height:66px;gap:14px;padding:12px 6%;font-size:12px;flex-wrap:wrap}.news-label{padding:3px 10px;font-size:11px}.news-copy{white-space:normal;min-width:190px}.news-copy span{padding:0 8px}.github{font-size:12px;gap:12px;margin-left:auto}.github svg{width:20px;height:20px}.github .arrow{font-size:22px}.about{display:block;padding:35px 6% 150px;min-height:390px}.about .chapter{width:220px;height:40px}.about h2{font-size:clamp(23px,5.5cqw,35px);letter-spacing:-1px;margin-top:12px}.about h2 em{letter-spacing:-1px}.about-text{padding:0 0 0 18px;margin-top:25px;font-size:13px}.mini-art{width:240px;height:150px}.mini-art img{width:100%;height:100%}.review{gap:12px;padding:18px 6%}.review p{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.entering *{animation:none!important}#replay{display:none}}

.service-links{max-width:1600px;margin:auto;display:flex;gap:22px;flex-wrap:wrap;padding:18px 4%;font-size:13px;color:#75646e;border-top:1px solid #ead9df}.service-links span{margin-right:auto}