:root{--ink:#302640;--muted:#766c85;--purple:#8d72c8;--purple-dark:#7155b3;--lilac:#eee7ff;--peach:#ffe8df;--mint:#e0f5e9;--cream:#fffaf6;--line:#e9dfed;--shadow:0 24px 70px rgba(78,52,100,.12)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif;background:radial-gradient(circle at 5% 16%,#ffe9e1 0,transparent 28%),radial-gradient(circle at 96% 15%,#e9e3ff 0,transparent 31%),#fffaf8}
button,input{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
.page-shell{overflow:hidden;min-height:100vh}
.wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}
.site-header{height:98px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:11px;font-size:19px;font-weight:900;letter-spacing:-.065em;white-space:nowrap}
.brand-mark{display:grid;place-items:center;width:38px;height:38px;background:#f3d7ec;border:1px solid #edc5e3;border-radius:13px;color:#9a69ab;font-size:26px;box-shadow:0 5px 0 #e8c4dc}
.brand-accent{color:#9a76d1}.brand-dot{color:#e8a7a7}
.top-nav{display:flex;align-items:center;gap:35px;font-size:13px;font-weight:800;color:#695d7a}
.top-nav>a{transition:color .2s}.top-nav>a:hover{color:var(--purple-dark)}
.nav-login{border:1px solid #d9c9e8;background:#fffafc;color:#59456f;border-radius:13px;padding:12px 18px;font-weight:900;box-shadow:0 5px 0 #e9dded;transition:transform .2s,box-shadow .2s}
.nav-login:hover{transform:translateY(-3px);box-shadow:0 8px 0 #e9dded}.nav-login span{margin-left:7px}
.hero{min-height:630px;display:grid;grid-template-columns:1fr 1.04fr;align-items:center;gap:18px;padding:44px 0 72px}
.hero-copy{position:relative;z-index:2;padding-bottom:16px}
.eyebrow,.section-kicker,.auth-eyebrow{text-transform:uppercase;letter-spacing:.2em;font-weight:900;font-size:11px;color:#9b7cbc}
.eyebrow{display:inline-flex;align-items:center;gap:9px;background:#f6edfc;border:1px solid #ebdaf5;border-radius:99px;padding:9px 14px;margin-bottom:29px}
.eyebrow-star{font-size:15px;color:#d7a0c2}
h1,h2,h3,p{margin-top:0}
h1,h2{letter-spacing:-.07em;line-height:1.07}
h1{font-size:clamp(52px,5.25vw,78px);max-width:580px;margin-bottom:25px;font-weight:900}
h1 em,h2 em{font-family:Georgia,serif;font-weight:400;color:#a283d0;letter-spacing:-.065em}
.title-spark{position:relative;top:-25px;margin-left:8px;font-size:24px;color:#efb2a9}
.hero-lead{max-width:470px;color:var(--muted);font-size:17px;line-height:1.8;margin-bottom:30px}
.hero-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.button{display:inline-flex;justify-content:center;align-items:center;gap:22px;border:0;border-radius:16px;font-weight:900;font-size:14px;min-height:55px;padding:0 24px;transition:transform .2s,box-shadow .2s,background .2s}
.button:hover{transform:translateY(-3px)}
.button-primary{background:var(--purple);color:#fff;box-shadow:0 7px 0 #6f55af,0 16px 23px rgba(117,80,168,.17)}
.button-primary:hover{background:#977bd3;box-shadow:0 10px 0 #6f55af,0 20px 23px rgba(117,80,168,.15)}
.button-text{color:#766489;padding-inline:10px;gap:10px}
.button-text:hover{color:#6f55af}
.hero-note{display:flex;align-items:center;gap:12px;margin-top:49px;color:#94879e;font-size:12px;font-weight:700}
.note-hearts{color:#e9a2b8;letter-spacing:-4px;font-size:20px;margin-right:4px}
.cat-world{position:relative;height:520px;isolation:isolate;border-radius:47% 53% 49% 51% / 42% 44% 56% 58%;background:radial-gradient(circle at 50% 35%,#fffdfa 0 22%,#f8efff 55%,#f2eaff 100%);box-shadow:inset 0 0 0 1px #f5e6fb,0 24px 75px rgba(140,112,166,.07);touch-action:pan-y}
.cat-world:before{content:"";position:absolute;inset:22px;border:1px dashed #e4d5f1;border-radius:48% 52% 45% 55% / 45% 43% 57% 55%;pointer-events:none}
.world-sun{position:absolute;left:34%;top:14%;height:170px;width:170px;border-radius:50%;background:#ffe9d8;box-shadow:0 0 0 31px #fff4e8aa,0 0 0 61px #fff8ef80}
.world-orbit{position:absolute;border:1px solid rgba(186,163,211,.3);border-radius:50%;pointer-events:none}.orbit-one{inset:66px 54px 99px;transform:rotate(-18deg)}.orbit-two{inset:132px 97px 69px;transform:rotate(23deg)}
.cloud{position:absolute;background:#fff;border-radius:50px;opacity:.86;filter:drop-shadow(0 7px 10px #e3dbea66)}.cloud:before,.cloud:after{content:"";position:absolute;border-radius:50%;background:inherit}.cloud:before{width:45px;height:45px;left:18px;top:-23px}.cloud:after{width:37px;height:37px;right:17px;top:-16px}.cloud-one{width:115px;height:31px;top:92px;right:33px}.cloud-two{width:92px;height:27px;left:32px;top:182px;transform:scale(.8)}
.floating-star,.floating-heart{position:absolute;z-index:4;pointer-events:none;animation:twinkle 3s ease-in-out infinite alternate}.star-one{top:45px;left:33%;color:#e5b4c9;font-size:27px}.star-two{top:139px;left:17%;color:#ac9bd4;font-size:25px;animation-delay:1s}.star-three{top:94px;right:16%;color:#ecc7a5;font-size:23px;animation-delay:1.6s}.heart-one{top:248px;left:19%;color:#eab0bb;font-size:19px}.heart-two{right:9%;top:278px;color:#b9a5e2;font-size:19px;animation-delay:1.3s}
.platform{position:absolute;left:8%;right:8%;bottom:64px;height:81px;background:#f9e1d8;border-radius:50%;box-shadow:0 17px 0 #eecfc9,0 31px 35px #a88cb338}
.platform:after{content:"";position:absolute;inset:15px 35px;background:#ffece4;border-radius:50%}
.cat-runner{position:absolute;z-index:5;width:235px;height:235px;left:0;top:0;will-change:transform;filter:drop-shadow(0 18px 12px rgba(92,75,113,.15))}
.cat-runner svg{display:block;width:100%;height:100%;overflow:visible}
.cat-art{animation:bob 3.4s ease-in-out infinite}.black-art{animation-delay:-1.7s}.silver-tail,.night-tail{transform-origin:77% 68%;animation:tail-wag 2.2s ease-in-out infinite alternate}.night-tail{animation-delay:-.8s}
.cat-tag{position:absolute;left:64px;bottom:-10px;background:#fff;color:#725a87;padding:8px 16px;border-radius:99px;font-size:12px;font-weight:900;box-shadow:0 6px 20px #9777aa30;border:1px solid #f1e7f5}.cat-tag span{color:#dfa2c4}.dark-tag{background:#41384f;color:#fff}.dark-tag span{color:#eb9db9}
.pupil{transform:translate(var(--look-x,0px),var(--look-y,0px));transition:transform .12s}
.yarn{position:absolute;z-index:8;left:0;top:0;width:48px;height:48px;display:grid;place-items:center;background:radial-gradient(circle at 32% 28%,#ffcddc 0,#e894bb 63%,#ce7da8 100%);border:3px solid #fff;border-radius:50%;box-shadow:0 7px 0 #ce7da8,0 11px 19px #ae78926b;transform:translate(-100px,-100px);pointer-events:none;opacity:0;transition:opacity .18s}.yarn:after{content:"";position:absolute;inset:8px;border:2px dashed #fff8;border-radius:50%}.yarn span{color:#fff;font-size:15px}
.cat-world:hover .yarn{opacity:1}.world-hint{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);white-space:nowrap;color:#a38eac;font-size:11px;font-weight:800;letter-spacing:.03em}
.about{padding:90px 0 105px;text-align:center}.section-kicker{margin-bottom:15px}.about h2,.friends h2{font-size:clamp(38px,4vw,56px);margin-bottom:45px}.about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px;text-align:left}.feature-card{min-height:225px;border-radius:28px;padding:28px 31px;border:1px solid #ffffffb8;box-shadow:0 18px 45px #6e5c7f0c;transition:transform .25s}.feature-card:hover{transform:translateY(-8px)}.feature-card.peach{background:#fff0e9}.feature-card.lilac{background:#f1ebff}.feature-card.mint{background:#e8f8ef}.feature-icon{display:grid;place-items:center;width:48px;height:48px;background:#fff9;border-radius:15px;color:#9c77bc;font-size:27px;margin-bottom:26px}.feature-card h3{font-size:22px;letter-spacing:-.05em;margin-bottom:10px}.feature-card p{color:#81768c;line-height:1.65;font-size:14px;margin-bottom:0}
.friends{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-bottom:100px;padding:42px 55px;background:#fff;box-shadow:var(--shadow);border:1px solid #f2e8f1;border-radius:32px}.friends h2{margin:0}.friend-copy{max-width:390px;border-left:2px solid #eedff5;padding-left:30px;color:#796e84;font-size:14px;line-height:1.65}.friend-copy p:last-child{margin-bottom:0}.friend-copy strong{color:#75549a}
.site-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:30px 0 40px;color:#9b90a5;font-size:12px}.site-footer span:last-child span{color:#d9a0b7}
.modal-backdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:20px;background:#32264595;backdrop-filter:blur(9px)}.modal-backdrop[hidden]{display:none}.auth-dialog{position:relative;width:min(100%,430px);background:#fffafc;border:1px solid #fff;border-radius:32px;padding:36px 38px 27px;box-shadow:0 35px 100px #28153955;text-align:center;animation:modal-in .25s ease-out}.modal-close{position:absolute;right:20px;top:18px;border:0;background:#f6edf8;color:#8b77a2;border-radius:50%;width:35px;height:35px;font-size:24px;line-height:1}.modal-close:hover{background:#eadcf1}.auth-icon{display:grid;place-items:center;margin:0 auto 18px;width:59px;height:59px;background:#efddf4;color:#ac79b8;border-radius:21px;font-size:34px}.auth-eyebrow{margin-bottom:7px}.auth-dialog h2{font-size:37px;margin-bottom:8px}.auth-subtitle{font-size:13px;color:#91839a;margin-bottom:25px}.auth-dialog form{text-align:left}.auth-dialog label{display:block;margin:16px 0 8px;font-size:12px;font-weight:900;color:#6d5a7f}.auth-dialog input{width:100%;height:49px;border:1px solid #e7dbec;border-radius:12px;background:#fff;padding:0 15px;outline:none;color:#3f304e}.auth-dialog input:focus{border-color:#a78ad1;box-shadow:0 0 0 4px #eee4fa}.auth-submit{width:100%}.demo-note{font-size:11px;line-height:1.55;color:#a89aaf;margin:23px 0 0}.toast{position:fixed;left:50%;bottom:25px;z-index:50;transform:translate(-50%,20px);padding:13px 19px;max-width:min(90vw,440px);border-radius:13px;background:#443450;color:#fff;box-shadow:0 15px 45px #33244355;text-align:center;font-size:13px;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}.toast.show{opacity:1;transform:translate(-50%,0)}
.auth-dialog .auth-submit{margin-top:24px}
.state-page{min-height:100vh;display:flex;flex-direction:column}.state-main{flex:1;display:grid;place-items:center;padding:40px 0 90px}.state-card{width:min(100%,710px);padding:60px 50px 56px;border-radius:38px;background:#fffafb;border:1px solid #f1e4ef;box-shadow:var(--shadow);text-align:center;position:relative;overflow:hidden}.state-card:before{content:"";position:absolute;width:280px;height:280px;left:-110px;top:-140px;border-radius:50%;background:#f6ebff}.state-card:after{content:"";position:absolute;width:250px;height:250px;right:-130px;bottom:-155px;border-radius:50%;background:#ffebe4}.state-content{position:relative;z-index:1}.state-visual{font-family:Georgia,serif;font-size:112px;line-height:1;color:#a487d3;letter-spacing:-.1em;margin-bottom:24px;text-shadow:5px 6px 0 #f4dce9}.state-card h1{font-size:clamp(38px,5vw,56px);max-width:none;margin-bottom:14px}.state-card p{color:#857891;font-size:16px;line-height:1.65;max-width:470px;margin:0 auto 27px}.state-paw{display:block;margin:0 auto 26px;font-size:47px;color:#e4a9be}.state-actions{display:flex;justify-content:center;gap:15px;flex-wrap:wrap}
@keyframes bob{from,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-9px) rotate(2deg)}}@keyframes twinkle{to{transform:translateY(-9px) rotate(15deg);opacity:.56}}@keyframes tail-wag{to{transform:rotate(10deg)}}@keyframes modal-in{from{opacity:0;transform:translateY(13px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:1020px){.hero{grid-template-columns:1fr;gap:36px;padding-top:30px}.hero-copy{text-align:center;display:flex;flex-direction:column;align-items:center}.hero-lead{margin-inline:auto}.hero-note{margin-top:32px}.cat-world{width:min(100%,620px);margin-inline:auto}.about{padding-top:50px}}
@media(max-width:700px){.wrap{width:min(100% - 36px,600px)}.site-header{height:78px}.brand{font-size:16px}.brand-mark{width:33px;height:33px}.top-nav{gap:0}.top-nav>a{display:none}.nav-login{padding:9px 12px;font-size:12px}.hero{padding:25px 0 55px;min-height:0}.eyebrow{margin-bottom:23px}h1{font-size:clamp(45px,10vw,62px)}.hero-lead{font-size:15px}.hero-actions{justify-content:center}.hero-note{font-size:10px}.cat-world{height:420px}.cat-runner{width:180px;height:180px}.world-sun{width:130px;height:130px}.platform{bottom:55px}.world-hint{font-size:9px}.cat-tag{left:47px;bottom:-6px}.about{padding:55px 0 70px}.about-grid{grid-template-columns:1fr}.feature-card{min-height:0}.friends{display:block;margin-bottom:65px;padding:34px 27px}.friends h2{margin-bottom:26px}.friend-copy{border-left:0;border-top:2px solid #eedff5;padding:22px 0 0;max-width:none}.site-footer{flex-direction:column;gap:6px}.auth-dialog{padding:30px 25px 25px}.state-card{padding:48px 25px}.state-visual{font-size:86px}}
@media(max-width:400px){.brand{font-size:14px}.cat-world{height:360px}.cat-runner{width:155px;height:155px}.world-hint{bottom:12px}.hero-actions{gap:4px}.button{font-size:12px;min-height:50px;padding-inline:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.cat-runner{will-change:auto}}
