:root{--bg:#211b2b;--ink:#f8f0df;--muted:#c5bbd0;--accent:#e4ef9a;--violet:#bda2ef;--paper:#f5f0e7;--dark:#2e2539}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;line-height:1.55}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #b194e4;outline-offset:5px}img{max-width:100%;display:block}.wrap{width:min(1240px,calc(100% - 44px));margin-inline:auto}.header{display:flex;align-items:center;justify-content:space-between;height:98px;border-bottom:1px solid #ffffff19}.logo{font-size:37px;font-weight:850;letter-spacing:-3px;display:flex;align-items:center;gap:6px;line-height:1}.logo-star{font-size:26px;color:var(--accent);font-weight:normal;letter-spacing:0}.header nav{display:none;gap:34px;font-size:14px;color:var(--muted)}.header nav a:hover{color:var(--ink)}.preview{font-size:12px;color:var(--muted);display:flex;gap:8px;align-items:center}.preview i{width:6px;height:6px;border-radius:50%;background:var(--accent)}.hero{padding-top:44px;display:grid;gap:22px}.eyebrow{font-size:12px;letter-spacing:.07em;font-weight:600;display:flex;gap:12px;align-items:center;margin:0 0 24px}.line{width:25px;height:1px;background:var(--accent)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(42px,10.2vw,68px);line-height:1.06;letter-spacing:-.045em;margin:0 0 24px;font-weight:650}em{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.05em;color:var(--accent)}.intro{font-size:17px;color:var(--muted);line-height:1.6;margin-bottom:26px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:54px;padding:14px 23px;border-radius:32px;font-weight:650;font-size:15px;transition:transform .2s}.primary{background:var(--accent);color:var(--bg)}.button:hover{transform:translateY(-3px)}.button span{font-size:22px;line-height:1}.small-note{font-size:11px;color:var(--muted);margin-top:16px}.pet-stage{position:relative;min-width:0;isolation:isolate;padding-top:22px;scroll-margin-top:20px}.stage-note{position:relative;z-index:1;display:block;text-align:center;font:italic 16px Georgia,serif;color:var(--muted);transform:rotate(-5deg)}.pet-art{width:100%;max-width:550px;margin:-6px auto -35px;position:relative;z-index:-1;overflow:hidden;border-radius:45%}.pet-art img{width:100%;mix-blend-mode:lighten;transition:opacity .15s}.pet-art.happy{animation:bounce .5s ease}.orbit{position:absolute;width:95%;height:65%;border:1px solid #bda2ef38;border-radius:50%;top:20px;left:3%;transform:rotate(-20deg);z-index:-2}.spark{position:absolute;color:var(--accent);font-size:34px;z-index:1}.s1{left:7%;top:90px}.s2{right:3%;top:190px;font-size:26px}.pet-speech{margin:0 auto 21px;position:relative;max-width:95%;width:fit-content;padding:10px 15px;border:1px solid #ffffff25;background:#2b2337ed;border-radius:18px;font-size:13px;text-align:center}.stage-bottom{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-inline:4px;margin-bottom:18px}.pet-overline{font-size:10px;letter-spacing:.08em;color:var(--muted)}.stage-bottom h2{font-size:28px;letter-spacing:-1px;line-height:1.3;margin:2px 0 0}.care-button{border:1px solid #e4ef9a70;background:transparent;color:var(--accent);border-radius:28px;padding:11px 17px;min-height:48px;font-size:13px}.care-button:hover{background:#e4ef9a15}.care-button span{margin-left:8px;font-size:20px}.pet-picker{display:grid;grid-template-columns:repeat(4,1fr);padding:5px;border:1px solid #ffffff21;border-radius:32px;background:#ffffff04;gap:2px}.pet-choice{border:0;background:transparent;border-radius:26px;color:var(--muted);min-height:44px;font-size:11px;padding:8px 4px}.pet-choice.active{background:var(--ink);color:var(--bg);font-weight:650}.demo-note{color:var(--muted);font-size:10px;text-align:center;margin:11px 0 0}.chapter-line{display:flex;justify-content:space-between;border-top:1px solid #ffffff20;margin-top:46px;padding:22px 0;font-size:10px;color:var(--muted);gap:12px}.chapter-line span:last-child{text-align:right}.world{background:var(--paper);color:var(--dark);padding:60px 0 70px;border-radius:28px 28px 0 0}.section-heading h2,.details h2,.ending h2{font-size:clamp(38px,10vw,68px);line-height:1.07;letter-spacing:-.045em;font-weight:650;margin-bottom:24px}.world em{color:#75608c}.section-heading>p:last-child{font-size:16px;line-height:1.6;color:#695e72}.world-grid{display:grid;gap:34px;margin-top:35px}.tabs{display:flex;gap:4px;padding:4px;background:#e8e0ee;border-radius:26px;width:fit-content;margin-bottom:30px}.tab{min-height:44px;border-radius:22px;padding:10px 23px;background:transparent;border:0;color:#665674;font-size:14px}.tab.active{background:#30253d;color:#fff6e6}.world-story h3{font-size:24px;line-height:1.2;letter-spacing:-.03em;margin-bottom:16px}.world-story>p{font-size:16px;line-height:1.75;color:#695e72;max-width:470px}.hand-note{font:italic 20px/1.5 Georgia,serif;color:#79618f;max-width:330px;margin-top:28px}.chat{border:1px solid #d5cadc;border-radius:23px;overflow:hidden;background:#e9e1ed;box-shadow:0 16px 32px #32203d0c;align-self:center}.chat-header{display:flex;align-items:center;gap:11px;background:#fffaf3;padding:17px}.avatar{width:44px;height:44px;border-radius:50%;overflow:hidden}.chat-header strong{display:block;font-size:13px}.chat-header span{display:block;font-size:10px;color:#776a80}.chat-header .chat-menu{margin-left:auto;font-size:25px}.chat-body{padding:23px 18px 28px;min-height:270px;display:flex;flex-direction:column;align-items:flex-start;gap:14px}.chat-time{align-self:center;font-size:10px;color:#796b85;margin-bottom:4px}.bubble{font-size:14px;line-height:1.6;padding:12px 16px;max-width:88%;border-radius:15px}.outgoing{align-self:flex-end;background:#d5dfb8;border-bottom-right-radius:4px}.incoming{background:#fffaf4;border-bottom-left-radius:4px}.chat-reaction{font-size:11px;color:#695279;background:#f7f0fb;padding:6px 11px;border-radius:20px}.chat-footer{font-size:10px;color:#796b85;text-align:center;padding:13px;background:#fffaf380}.details{padding-block:65px;display:grid;gap:10px}.feature-list article{display:flex;align-items:flex-start;gap:16px;padding:25px 0;border-bottom:1px solid #ffffff25}.feature-number{color:var(--violet);font-size:11px;padding-top:4px}.feature-list h3{font-size:19px;line-height:1.3;font-weight:600;letter-spacing:-.02em;margin-bottom:12px}.feature-list p{font-size:14px;color:var(--muted);margin:0;max-width:470px;line-height:1.7}.feature-sign{margin-left:auto;font-size:28px;line-height:1;color:var(--accent)}.ending{text-align:center;padding:38px 0 60px;border-top:1px solid #ffffff20}.end-star{font-size:64px;color:var(--violet);display:block;line-height:1;margin-bottom:30px}.ending .eyebrow{display:block;font-size:10px}.ending h2{margin-bottom:27px}.end-note{font-size:11px;color:var(--muted);margin-top:25px;line-height:1.8}.footer{padding-block:26px;display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:20px;border-top:1px solid #ffffff20}.footer .logo{font-size:27px}.footer .logo-star{font-size:20px}.footer>span{font-size:10px;color:var(--muted)}.footer>span:last-child{width:100%}@keyframes bounce{0%,100%{transform:translateY(0) rotate(0)}40%{transform:translateY(-13px) rotate(-3deg)}70%{transform:translateY(-5px) rotate(2deg)}}@media(min-width:760px){.wrap{width:min(1240px,calc(100% - 96px))}.header nav{display:flex}.hero{grid-template-columns:1.02fr 1fr;gap:45px;padding-top:60px;align-items:center;min-height:690px}.hero-copy{padding-block:15px}h1{font-size:clamp(48px,5.3vw,78px)}.intro{font-size:18px}.pet-stage{padding-top:0;align-self:start}.pet-art{margin:-10px auto -46px}.stage-note{font-size:18px}.pet-speech{font-size:13px}.pet-choice{font-size:12px}.chapter-line{font-size:11px;margin-top:40px;padding-block:28px}.world{padding-block:80px 90px;border-radius:40px 40px 0 0}.section-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:90px}.section-heading .eyebrow{grid-column:1/-1}.section-heading>p:last-child{align-self:end;padding-bottom:10px;font-size:18px}.world-grid{grid-template-columns:1fr 1fr;gap:90px;margin-top:30px}.chat-header{padding:20px 24px}.chat-header strong{font-size:15px}.chat-header span{font-size:11px}.chat-body{padding:25px;min-height:285px}.bubble{font-size:15px}.details{grid-template-columns:.8fr 1fr;gap:70px;padding-block:95px}.details-header{padding-top:25px}.feature-list article{gap:25px;padding-block:28px}.feature-list h3{font-size:23px}.feature-list p{font-size:16px}.ending{padding-block:60px 80px}.ending h2{font-size:78px}.ending .eyebrow{font-size:12px}.footer>span:last-child{width:auto}.footer{padding-block:33px}.pet-overline{font-size:11px}.stage-bottom h2{font-size:30px}.care-button{font-size:14px}.chat-footer{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media(min-width:760px){.hero{padding-top:38px;min-height:640px;gap:65px}.pet-art{max-width:430px;margin:-8px auto -27px}.hero-copy{padding-bottom:0}h1{font-size:clamp(48px,5vw,72px)}.pet-stage{width:100%;max-width:550px;justify-self:end}.orbit{height:63%}.stage-note{margin-bottom:6px}.chapter-line{margin-top:30px}}
img{height:auto}
[hidden]{display:none!important}.support-top{font-size:12px;color:var(--accent);border-bottom:1px solid #e4ef9a66;padding:10px 0}.reading-progress{position:fixed;z-index:40;top:0;left:0;right:0;height:3px;background:transparent}.reading-progress>div{height:100%;width:0;background:var(--accent);box-shadow:0 0 18px #e4ef9a77}.intro-screen{position:fixed;inset:0;z-index:100;background:#17121e;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:opacity .8s,visibility .8s}.intro-screen:before{content:'';position:absolute;width:min(70vw,650px);aspect-ratio:1;border:1px solid #bda2ef40;border-radius:50%;animation:intro-orbit 4s both}.intro-screen:after{content:'✳';position:absolute;color:#bda2ef10;font-size:min(110vw,950px);animation:intro-turn 5s both}.intro-brand,.intro-project{position:absolute;text-align:center;z-index:1;font-size:clamp(36px,9vw,80px);font-weight:650;letter-spacing:-.05em}.intro-brand span{display:block;font-size:14px;letter-spacing:.25em;color:var(--muted);margin-top:12px;font-weight:400}.intro-brand{animation:intro-brand 3.6s both}.intro-project{animation:intro-project 3.6s both;font-size:clamp(70px,17vw,160px)}.intro-project>span:first-child{display:block;font-size:15px;font-weight:400;color:var(--muted);letter-spacing:.35em}.intro-flower{display:inline-block;font-size:.65em;color:var(--accent);margin-left:12px}.intro-screen button{position:absolute;bottom:40px;z-index:2;min-height:44px;color:var(--muted);font-size:12px;border:0;border-bottom:1px solid #ffffff20;background:none}.intro-rule{height:1px;background:var(--accent);position:absolute;bottom:0;left:0;animation:intro-rule 3.6s linear both}.intro-screen.finished{opacity:0;visibility:hidden;pointer-events:none}.manifesto{padding-block:80px 50px}.manifesto h2{font-size:clamp(34px,8vw,76px);line-height:1.25;letter-spacing:-.045em;font-weight:550}.manifesto h2>span{color:var(--muted)}.manifesto-bottom{display:flex;align-items:center;gap:22px;border-top:1px solid #ffffff20;padding-top:26px}.big-plus{font-size:60px;color:var(--accent);font-weight:200;line-height:1}.manifesto-bottom p{margin:0;font-size:14px;color:var(--muted)}.games-section{padding-block:45px 75px}.split-heading h2,.moderation-section h2,.gecko-section h2,.future h2{font-size:clamp(36px,9vw,64px);line-height:1.1;letter-spacing:-.045em;font-weight:650}.split-heading>p{font-size:15px;color:var(--muted);line-height:1.7}.game-layout{display:grid;gap:30px;margin-top:28px}.game-tabs{display:flex;gap:3px;background:#ffffff09;border:1px solid #ffffff20;border-radius:24px;padding:4px;width:fit-content;margin-bottom:28px}.game-tabs button{min-height:44px;border:0;border-radius:21px;background:none;color:var(--muted);padding:10px 15px;font-size:12px}.game-tabs button.active{background:var(--violet);color:var(--bg)}.game-copy h3{font-size:28px;line-height:1.2;letter-spacing:-.03em}.game-copy>p{font-size:15px;line-height:1.8;color:var(--muted);max-width:430px}.game-instruction{font-size:13px;color:var(--accent);margin-top:22px}.text-button{border:0;border-bottom:1px solid #ffffff40;background:none;color:var(--ink);padding:12px 0;min-height:44px;margin-top:10px;font-size:13px}.game-message{background:#30283d;border:1px solid #bda2ef50;border-radius:23px;overflow:hidden;box-shadow:0 20px 75px #0002}.message-top{display:flex;gap:10px;align-items:center;padding:18px;background:#ffffff05}.mini-mark{display:grid;place-items:center;border-radius:13px;background:var(--accent);color:var(--bg);font-size:27px;font-weight:800;width:42px;height:42px}.message-top strong{font-size:15px;display:block}.message-top div span{font-size:10px;display:block;color:var(--muted)}.message-tag{font-size:10px;color:var(--accent);margin-left:auto;border:1px solid #e4ef9a50;border-radius:12px;padding:3px 8px}.game-message-body{padding:18px}.game-score{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted);margin-bottom:18px}.game-score>span:first-child{color:var(--accent)}.sea-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.sea-cell{min-width:0;aspect-ratio:1;min-height:44px;background:#ffffff04;border:1px solid #bda2ef45;border-radius:9px;color:var(--muted);font-size:11px;transition:background .3s,transform .3s}.sea-cell:not(:disabled):hover{background:#bda2ef40;transform:translateY(-2px)}.sea-cell.hit{background:var(--accent);border-color:var(--accent);color:var(--bg);font-size:26px;animation:cell-pop .5s both}.sea-cell.miss{background:#ffffff10;border-color:#ffffff08;color:#a394b3;font-size:22px;animation:ripple .4s both}.game-footnote{font-size:11px;color:var(--muted);text-align:center;margin:15px 0 0}.xo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;max-width:320px;margin-inline:auto}.xo-cell{aspect-ratio:1;min-height:65px;border:1px solid #bda2ef45;border-radius:13px;background:#ffffff04;font-size:42px;line-height:1;color:var(--accent);transition:background .2s}.xo-cell.bot{color:var(--violet)}.xo-cell.winner{background:#e4ef9a25;animation:cell-pop .5s}.moderation-section{padding-block:65px;background:#18141f;border-block:1px solid #ffffff15}.moderation-grid{display:grid;gap:36px}.moderation-text{font-size:16px;line-height:1.8;color:var(--muted);max-width:440px;margin-bottom:28px}.scenario-note{font-size:11px;color:var(--muted);margin:18px 0 0}.moderation-chat{border:1px solid #ffffff20;background:#262030;border-radius:23px;overflow:hidden;align-self:center}.mod-head{padding:19px;display:flex;align-items:center;gap:9px;border-bottom:1px solid #ffffff15;font-size:14px}.mod-head>span:last-child{margin-left:auto;color:var(--muted);font-size:10px}.live-dot{width:7px;height:7px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 4px #e4ef9a12}.mod-messages{padding:22px 18px;min-height:300px;display:flex;flex-direction:column;gap:13px}.mod-msg{background:#ffffff08;border-radius:13px;padding:11px 15px;max-width:90%;animation:message-in .5s both}.mod-msg b{font-size:11px;color:var(--violet)}.mod-msg p{font-size:14px;margin:4px 0 0}.mod-msg.troublesome b{color:#e1a5a7}.mod-msg.admin{align-self:flex-end;background:#e4ef9a10}.mod-msg.admin b{color:var(--accent)}.mod-msg.leaving{animation:message-out .5s both}.mod-pending{font-size:11px;color:var(--muted);text-align:center;margin-top:13px}.mod-system{font-size:11px;color:var(--accent);text-align:center;padding:8px 0;animation:message-in .5s both}.mod-bottom{font-size:10px;color:var(--muted);padding:15px 18px;border-top:1px solid #ffffff15}.gecko-section{padding-block:50px 80px;display:grid;gap:40px;align-items:center}.gecko-frame{position:relative;width:min(100%,430px);justify-self:center;padding:8px;border:1px solid #bda2ef60;border-radius:32px;transform:rotate(-2deg);background:#31233e;box-shadow:15px 15px 0 #bda2ef0a}.gecko-frame>img{display:block;width:100%;height:auto;border-radius:25px;aspect-ratio:542/644;object-fit:cover}.video-label{position:absolute;top:22px;left:24px;right:24px;border-radius:20px;background:#211b2be6;color:var(--ink);font-size:10px;padding:9px 14px;display:flex;align-items:center;gap:7px;backdrop-filter:blur(12px)}.video-label span{width:5px;height:5px;border-radius:50%;background:var(--accent)}.gecko-copy>p:not(.eyebrow){font-size:17px;line-height:1.8;color:var(--muted)}.gecko-copy>p.gecko-note{font-size:12px;max-width:430px}.outlined{border:1px solid #bda2ef70;color:var(--ink);margin-top:12px}.future{padding-bottom:75px}.future h2{margin-bottom:40px}.future-row{border-top:1px solid #ffffff25;padding-block:22px;display:grid;gap:15px}.future-row>span{font-size:20px;line-height:1.35;letter-spacing:-.02em}.future-row p{font-size:14px;line-height:1.8;color:var(--muted);margin:0;max-width:600px}.development-note{padding:20px;border:1px solid #bda2ef40;border-radius:17px;font-size:11px;color:var(--muted);margin-top:22px;line-height:1.7}.development-note i{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin-right:7px}.js-motion .reveal{opacity:0;transform:translateY(38px);filter:blur(6px);transition:opacity 1s,transform 1s cubic-bezier(.16,1,.3,1),filter 1s}.js-motion .reveal.visible{opacity:1;transform:none;filter:none}.pet-art{animation:pet-float 6s ease-in-out infinite}.pet-art.happy{animation:bounce .5s ease}.spark{animation:star-turn 12s ease-in-out infinite}.s2{animation-delay:-5s}.orbit{animation:orbit-breathe 8s ease-in-out infinite}.logo-star{animation:star-turn 20s ease-in-out infinite}.pet-speech{transition:background .3s}.care-button:hover{box-shadow:0 0 24px #e4ef9a15}.button:active{transform:scale(.97)}
@keyframes intro-brand{0%{opacity:0;filter:blur(15px);transform:translateY(20px)}18%,34%{opacity:1;filter:none;transform:none}48%,100%{opacity:0;filter:blur(10px);transform:translateY(-15px)}}@keyframes intro-project{0%,40%{opacity:0;filter:blur(20px);transform:scale(1.1)}65%,90%{opacity:1;filter:none;transform:scale(1)}100%{opacity:0;filter:blur(7px);transform:scale(.98)}}@keyframes intro-orbit{0%{transform:scale(.6);opacity:0}40%{opacity:1}100%{transform:scale(1.4);opacity:0}}@keyframes intro-turn{from{transform:rotate(-60deg) scale(.7);opacity:0}60%{opacity:1}to{transform:rotate(40deg) scale(1.3);opacity:0}}@keyframes intro-rule{from{width:0}to{width:100%}}@keyframes cell-pop{0%{transform:scale(.8)}65%{transform:scale(1.08)}100%{transform:scale(1)}}@keyframes ripple{from{box-shadow:inset 0 0 0 20px #bda2ef20}to{box-shadow:inset 0 0 0 0 transparent}}@keyframes message-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes message-out{to{opacity:0;transform:translateX(-30px);filter:blur(5px)}}@keyframes pet-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes star-turn{0%,100%{transform:rotate(0);opacity:.7}50%{transform:rotate(85deg);opacity:1}}@keyframes orbit-breathe{0%,100%{transform:rotate(-20deg) scale(.97)}50%{transform:rotate(-15deg) scale(1.03)}}
@media(min-width:760px){.manifesto{padding-block:105px 75px}.manifesto h2{font-size:clamp(50px,6vw,80px)}.manifesto-bottom{margin-left:35%;gap:30px;padding-top:35px}.manifesto-bottom p{font-size:17px}.split-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:end}.split-heading>p{padding-bottom:14px;font-size:16px}.game-layout{grid-template-columns:1fr 1fr;gap:100px;margin-top:42px;align-items:center}.game-copy h3{font-size:38px}.game-copy>p{font-size:17px}.game-tabs button{font-size:14px;padding-inline:22px}.game-message-body{padding:25px}.game-message{max-width:480px;width:100%;justify-self:end}.message-top{padding:22px}.game-score{font-size:12px}.sea-grid{gap:7px}.sea-cell{font-size:13px}.games-section{padding-block:45px 100px}.moderation-section{padding-block:95px}.moderation-grid{grid-template-columns:1fr 1fr;gap:90px}.mod-messages{padding:25px;min-height:340px}.mod-msg p{font-size:16px}.mod-msg b{font-size:12px}.mod-bottom{font-size:11px}.gecko-section{grid-template-columns:1fr 1fr;gap:100px;padding-block:60px 110px}.gecko-copy>p:not(.eyebrow){font-size:20px}.gecko-copy>p.gecko-note{font-size:13px}.gecko-frame{max-width:410px}.future{padding-block:30px 100px}.future-row{grid-template-columns:1fr 1fr;gap:90px;padding-block:30px}.future-row>span{font-size:26px}.future-row>p{font-size:16px}.development-note{font-size:12px}.video-label{font-size:11px}}@media(prefers-reduced-motion:reduce){.intro-screen{display:none}.js-motion .reveal{opacity:1;transform:none;filter:none}.pet-art,.spark,.logo-star,.orbit{animation:none}*{transition:none!important}}
.pet-stage{overflow:clip}body{overflow-x:clip}
/* Content remains readable even if intersection events are delayed in an embedded preview. */
.js-motion .reveal{opacity:1;transform:none;filter:none;transition:none}.js-motion .reveal.visible{animation:section-arrive .9s cubic-bezier(.16,1,.3,1) both}@keyframes section-arrive{from{opacity:.25;transform:translateY(35px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}@media(prefers-reduced-motion:reduce){.js-motion .reveal.visible{animation:none}}
.outlined{background:transparent}.outlined:hover{background:#bda2ef15}
/* V2 — brighter, sharply separated colour scenes. */
:root{--bg:#220b52;--ink:#fffaff;--muted:#e2d4f9;--accent:#dfff53;--violet:#e3a9ff;--paper:#fff5ff;--dark:#2d0b4d}body{background:var(--bg);padding-bottom:100px}.header{border-color:#d9b8ff55}.logo-star{font-size:27px;animation:none;letter-spacing:0}.intro-flower{font-family:system-ui,sans-serif}.intro-screen{background:#210742}.intro-screen:after{color:#a145ff22}.pet-stage:before{content:'';position:absolute;inset:12% 3% 20%;border-radius:50%;background:radial-gradient(ellipse,#b041ed66,transparent 68%);z-index:-3}.pet-art{mask-image:radial-gradient(ellipse at center,#000 56%,transparent 73%)}.pet-speech{background:#4b1b79;border-color:#e4b3ff77;color:#fff}.pet-picker{background:#3c166c;border-color:#c594ee77}.pet-choice{color:#f3e5ff}.pet-choice.active{background:var(--accent);color:#230b45}.pet-overline,.demo-note,.small-note{color:#e4d6fa}.orbit{border-color:#dc8aff99}.stage-note{color:#eedcff}.care-button{border-color:var(--accent)}.world{background:linear-gradient(140deg,#fff9ff,#eee0ff);border-top:3px solid #bd73ff}.world em{color:#7c21b2}.section-heading>p:last-child,.world-story>p{color:#513565}.tabs{background:#dcc3f4}.tab{color:#4b255e}.tab.active{background:#7519b8;color:#fff}.hand-note{color:#76299c}.chat{border-color:#b17bd1;background:#e5ccf5}.chat-header{background:#fff9ff}.chat-header span,.chat-time,.chat-footer{color:#5f3978}.outgoing{background:#ddff8b}.incoming{background:#fff}.chat-reaction{color:#642281;background:#f8eeff}.chat-footer{background:#f6e9ff}.game-message{background:#3a146d;border-color:#ce8fff}.message-top{background:#56208b}.game-tabs{background:#391467;border-color:#bc7eeb}.game-tabs button{color:#f2deff}.game-tabs button.active{background:#eb9cff;color:#310746}.sea-cell{border-color:#aa74d9;background:#4d2080;color:#f2e2ff}.sea-cell.miss{background:#5e3289;color:#fff;border-color:#9e71c8}.sea-cell.hit{background:var(--accent);color:#250941}.game-score{color:#f1deff}.xo-cell{background:#4d2080;border-color:#b682e6}.moderation-section{background:#160235;border-color:#a859d84d}.moderation-chat{background:#321052;border-color:#9a52cb}.mod-head{background:#4c1a75}.mod-msg{background:#62308b}.mod-msg b{color:#f0b9ff}.mod-msg.troublesome b{color:#ffc1c8}.mod-msg.admin{background:#50651b}.mod-msg.admin b{color:#e6ff92}.mod-pending,.mod-bottom{color:#e0c5f2}.mod-system{color:#e6ff8d}.feature-number{color:#f0b4ff}.future-row{border-color:#e0baff66}.development-note{border-color:#b080df;background:#371163}.ending{border-color:#d5a4ff66}.footer{border-color:#d5a4ff66}.support-top{font-size:13px}.button.primary:hover{background:#e8ff8a;box-shadow:0 9px 36px #c4ff4525}.button.primary{box-shadow:0 4px 0 #a3c220}.outlined{border-color:#d7a5ff}.gecko-section{scroll-margin-top:35px}.gecko-frame{transform:none;width:100%;max-width:490px;aspect-ratio:1/1.16;padding:0;border:1px solid #dda4ff;border-radius:35px;background:radial-gradient(ellipse at 45% 28%,#b25be9 0%,#6b2bb1 36%,#351166 76%);box-shadow:0 20px 90px #9c32d630;overflow:hidden;isolation:isolate;perspective:700px}.gecko-scene-label{position:absolute;left:24px;top:22px;font-size:10px;letter-spacing:.1em;color:#fff;z-index:4}.gecko-halo{position:absolute;left:10%;right:10%;top:10%;aspect-ratio:1;border:1px solid #f8d4ff66;border-radius:50%;box-shadow:0 0 0 23px #dd9fff0d,0 0 0 50px #dd9fff09;animation:gecko-ring 8s ease-in-out infinite}.gecko-moon{position:absolute;right:12%;top:15%;width:14px;height:14px;background:var(--accent);border-radius:50%;box-shadow:0 0 40px #e5ff6299}.gecko-floor{position:absolute;width:60%;height:9%;bottom:25%;left:20%;border-radius:50%;background:#1b003877;filter:blur(9px);animation:gecko-shadow 4s ease-in-out infinite}.gecko-character{position:absolute;top:8%;left:7%;width:86%;padding:0;margin:0;border:0;background:transparent;transform-origin:50% 90%;cursor:pointer;z-index:2;animation:gecko-breathe 4s ease-in-out infinite;will-change:transform}.gecko-character img{width:100%;height:auto;filter:drop-shadow(0 7px 9px #25002d55);transition:filter .4s;pointer-events:none}.gecko-character:hover img{filter:drop-shadow(0 0 16px #ffe6ae77)}.gecko-character.hopping{animation:gecko-hop .85s cubic-bezier(.3,0,.2,1)}.gecko-character.cuddling{animation:gecko-cuddle .9s ease-in-out}.gecko-reply{position:absolute;z-index:4;bottom:16%;left:6%;right:6%;text-align:center;font-size:12px;line-height:1.4;min-height:35px;color:#fff4ff;pointer-events:none}.gecko-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;position:absolute;bottom:5%;left:5%;right:5%;z-index:5}.gecko-actions button{border-radius:25px;border:1px solid #e9c4ff99;background:#35105bc9;min-height:44px;color:#fff;font-size:11px;padding:8px 4px;backdrop-filter:blur(12px)}.gecko-actions button:hover{background:var(--accent);color:#210534;border-color:var(--accent)}.gecko-specks{position:absolute;inset:0;pointer-events:none}.gecko-specks i{position:absolute;width:4px;height:4px;border-radius:50%;background:#f3ff9a;animation:speck-drift 7s ease-in-out infinite;box-shadow:0 0 12px #dfff53aa}.gecko-specks i:nth-child(1){left:13%;top:35%}.gecko-specks i:nth-child(2){left:77%;top:28%;animation-delay:-3s}.gecko-specks i:nth-child(3){left:88%;top:54%;animation-delay:-1s}.gecko-specks i:nth-child(4){left:17%;top:68%;animation-delay:-5s}.gecko-specks i:nth-child(5){left:51%;top:15%;animation-delay:-2s}.gecko-specks i:nth-child(6){left:69%;top:72%;animation-delay:-4s}.gecko-frame.magical{animation:scene-magic 2.5s ease-in-out}.gecko-frame.paused *{animation-play-state:paused!important}.gecko-frame.paused .gecko-character.cuddling,.gecko-frame.paused .gecko-character.hopping{animation-play-state:running!important}.gecko-copy .gecko-note{color:#ecdcff}.scene-dock{position:fixed;z-index:50;bottom:max(14px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:6px;padding:7px;border:1px solid #dcb2ff99;background:#2e085be8;backdrop-filter:blur(20px);border-radius:22px;box-shadow:0 8px 35px #10002080;width:min(320px,calc(100% - 32px))}.scene-dock>button{width:47px;min-height:47px;border:0;border-radius:15px;background:#7233a7;color:#fff;font-size:24px;line-height:1}.scene-dock>button:hover{background:var(--accent);color:#290b4a}.scene-dock>button:disabled{opacity:.35;cursor:default}.scene-select-wrap{flex:1;min-width:0;padding-inline:7px}.scene-select-wrap>span{display:block;font-size:9px;letter-spacing:.08em;color:#e0c5f4}.scene-select-wrap select{max-width:100%;width:100%;border:0;background:transparent;font:600 13px/1.5 inherit;color:#fff;min-height:27px;padding:0;cursor:pointer}.scene-select-wrap option{background:#350b5e;color:#fff}.scene-transition{position:fixed;inset:0;z-index:45;pointer-events:none;opacity:0;background:linear-gradient(115deg,#a13fff55,transparent 40%,#dfff5320)}.scene-transition.moving{animation:scene-wipe .65s ease-out}.interaction-spark{position:fixed;pointer-events:none;z-index:80;font-size:23px;animation:interaction-burst .95s ease-out both;color:#e6ff6d}.pet-art.swapping{animation:pet-swap .6s cubic-bezier(.2,1,.3,1)}.tabs .tab,.game-tabs button,.pet-choice{transition:background .25s,color .25s,transform .25s}.tabs .tab:active,.game-tabs button:active,.pet-choice:active{transform:scale(.95)}.chat-body.changing{animation:chat-change .5s ease-out}.intro-screen{z-index:100}
@keyframes gecko-breathe{0%,100%{transform:translateY(0) rotate(-1deg) scale(1)}50%{transform:translateY(-9px) rotate(1deg) scale(1.025)}}@keyframes gecko-ring{0%,100%{transform:scale(.92) rotate(-10deg);opacity:.6}50%{transform:scale(1.04) rotate(15deg);opacity:1}}@keyframes gecko-shadow{0%,100%{transform:scale(1);opacity:.75}50%{transform:scale(.85);opacity:.4}}@keyframes gecko-hop{0%,100%{transform:translateY(0) rotate(0)}20%{transform:translateY(5px) scale(1.03,.95)}45%{transform:translateY(-40px) rotate(5deg)}75%{transform:translateY(0) scale(1.04,.97)}}@keyframes gecko-cuddle{0%,100%{transform:rotate(0)}30%{transform:rotate(-6deg) scale(1.04)}65%{transform:rotate(5deg) scale(1.04)}}@keyframes speck-drift{0%,100%{transform:translateY(7px);opacity:.25}50%{transform:translateY(-18px);opacity:1}}@keyframes scene-magic{0%,100%{filter:hue-rotate(0deg)}50%{filter:hue-rotate(26deg) brightness(1.15)}}@keyframes scene-wipe{0%{opacity:0;transform:translateX(-25%)}35%{opacity:1}100%{opacity:0;transform:translateX(25%)}}@keyframes interaction-burst{from{opacity:1;transform:translate(0,0) scale(.5) rotate(0)}to{opacity:0;transform:translate(var(--tx),var(--ty)) scale(1.25) rotate(var(--turn))}}@keyframes pet-swap{0%{opacity:.2;transform:translateX(20px) scale(.95);filter:blur(6px)}100%{opacity:1;transform:none;filter:none}}@keyframes chat-change{from{opacity:.3;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(min-width:760px){.gecko-actions button{font-size:13px}.gecko-scene-label{font-size:11px}.gecko-reply{font-size:14px;bottom:16.5%}.scene-dock{width:350px;bottom:23px}.scene-select-wrap>span{font-size:10px}.scene-select-wrap select{font-size:14px}.support-top{font-size:14px}}@media(prefers-reduced-motion:reduce){.gecko-character,.gecko-floor,.gecko-halo,.gecko-specks i{animation:none!important}.interaction-spark{display:none}.scene-transition{display:none}.pet-art.swapping,.chat-body.changing{animation:none}.scene-dock{backdrop-filter:none}}
.gecko-character{top:5%;left:9%;width:82%}
.logo-star{display:inline-block;background:var(--accent);color:#210742;border-radius:50%;padding:5px;font-size:20px;line-height:1}.footer .logo-star{font-size:17px}.intro-flower{background:var(--accent);border-radius:.28em;padding:.04em;line-height:1;vertical-align:middle}
.gecko-frame.paused{animation-play-state:paused!important}
/* A pawprint trail instead of the circular opening motif. */
.intro-screen::before,.intro-screen::after{display:none}.paw-run{position:absolute;inset:0;overflow:hidden;pointer-events:none}.paw-run span{position:absolute;font-size:clamp(28px,5vw,55px);color:#deff53;opacity:0;left:-12%;top:70%;filter:drop-shadow(0 0 13px #dfff5340);animation:paws-cross 2.9s linear infinite}.paw-run span:nth-child(2){animation-delay:.22s}.paw-run span:nth-child(3){animation-delay:.44s}.paw-run span:nth-child(4){animation-delay:.66s}.paw-run span:nth-child(5){animation-delay:.88s}.paw-run span:nth-child(6){animation-delay:1.1s}.paw-run span:nth-child(7){animation-delay:1.32s}.intro-project,.intro-brand{pointer-events:none}@keyframes paws-cross{0%{left:-12%;top:72%;opacity:0;transform:rotate(-28deg) scale(.8)}12%{opacity:.95}35%{top:64%;transform:rotate(-20deg) scale(1)}60%{top:46%;transform:rotate(-28deg) scale(.85)}85%{opacity:.85}100%{left:112%;top:28%;opacity:0;transform:rotate(-20deg) scale(.8)}}
/* Layered gecko puppet: independently moving eyes, eyelids and a scratch pose. */
.gecko-puppet{display:block;width:100%;height:auto;overflow:visible;filter:drop-shadow(0 7px 9px #25002d55);pointer-events:none}.eye-track{transform:translate(var(--look-x,0px),var(--look-y,0px));transition:transform .35s ease-out}.eye-roam{animation:eye-roam 9.3s ease-in-out infinite}.blink-lid{transform:scaleY(0);transform-box:view-box}.lid-left{transform-origin:0 185px}.lid-right{transform-origin:0 160px}.blinking .blink-lid{animation:gecko-blink .22s ease-in-out both}.gecko-scratching{display:none}.scratching .gecko-normal{display:none}.scratching .gecko-scratching{display:inline}.scratching .scratch-paw{animation:paw-scratch .19s ease-in-out infinite alternate;transform-origin:148px 380px}.scratching.gecko-character{animation:gecko-scratch-body .38s ease-in-out infinite alternate}@keyframes eye-roam{0%,15%,45%,100%{transform:translate(0,0)}22%,32%{transform:translate(4px,-1px)}60%,72%{transform:translate(-4px,1px)}82%,88%{transform:translate(1px,-3px)}}@keyframes gecko-blink{0%,100%{transform:scaleY(0)}40%,60%{transform:scaleY(1)}}@keyframes paw-scratch{from{transform:translate(0,-3px) rotate(-1deg)}to{transform:translate(3px,4px) rotate(1.2deg)}}@keyframes gecko-scratch-body{from{transform:translateY(-2px) rotate(-.6deg)}to{transform:translateY(-4px) rotate(.7deg)}}
/* Scrollytelling has a complete static layout before enhancement. */
.story-scroll{position:relative;background:#1a063d;isolation:isolate;border-block:1px solid #c99aff44}.story-sticky{padding-block:65px 55px}.story-copy h2{font-size:clamp(32px,7.4vw,68px);line-height:1.16;font-weight:550;letter-spacing:-.045em;margin-bottom:20px}.story-copy h2>span{color:#b795d2;transition:color .35s,text-shadow .35s}.story-copy h2>span.lit{color:var(--accent);text-shadow:0 0 35px #dfff5322}.story-caption{color:var(--muted);font-size:14px;max-width:400px;min-height:44px;line-height:1.6}.story-steps{display:flex;gap:5px;margin-top:20px}.story-steps button{font-size:11px;border:1px solid #c997ef66;border-radius:20px;min-height:44px;padding:9px 12px;background:transparent;color:#e4d0f7}.story-steps button.active{background:var(--accent);border-color:var(--accent);color:#210939}.story-stage{position:relative;perspective:900px;transform-style:preserve-3d;display:grid;gap:22px;margin-top:35px}.story-object{position:relative;background:#501688;border:1px solid #f2baff99;border-radius:25px;padding:24px;color:#fffaff;box-shadow:0 20px 45px #09001544;backface-visibility:hidden;transform-style:preserve-3d;overflow:hidden;text-align:center}.story-card-number{position:absolute;top:14px;left:17px;font-size:10px;letter-spacing:.08em;color:#fff9}.story-object h3{font-size:22px;line-height:1.1;letter-spacing:-.04em;margin:15px 0 9px}.story-object p{font-size:12px;color:#efdcff;margin:0;line-height:1.5}.story-game{background:linear-gradient(145deg,#7733c9,#3e116e)}.story-order{background:linear-gradient(145deg,#b9dd4c,#e8ff91);color:#220a3d}.story-order p,.story-order .story-card-number{color:#402553}.story-pet{background:#45206e}.story-pet img{width:160px;height:150px;object-fit:cover;object-position:center;border-radius:50%;margin-inline:auto;mix-blend-mode:lighten;transform:translateZ(20px)}.tiny-xo{width:115px;height:115px;display:grid;grid-template-columns:repeat(3,1fr);margin:10px auto 0;transform:translateZ(30px)}.tiny-xo i{font-style:normal;display:grid;place-items:center;font-size:35px;line-height:1;border-right:1px solid #e4c4ff77;border-bottom:1px solid #e4c4ff77;color:var(--accent)}.tiny-xo i:nth-child(3n){border-right:0}.tiny-xo i:nth-child(n+7){border-bottom:0}.story-shield{height:125px;width:110px;display:block;margin:3px auto 0;transform:translateZ(28px)}.story-bottom{display:flex;align-items:center;gap:16px;margin-top:35px;font-size:10px;color:#ddc8f4}.story-bottom>div{height:2px;background:#e4baff33;flex:1;overflow:hidden}.story-bottom i{display:block;width:100%;height:2px;background:var(--accent);transform-origin:left;transform:scaleX(0)}.story-glow,.story-orbit{display:none}.motion-story .story-scroll{height:215svh}.motion-story .story-sticky{position:sticky;top:0;height:100svh;min-height:660px;display:grid;grid-template-rows:auto 1fr auto;padding-block:35px 105px;overflow:clip}.motion-story .story-copy h2{font-size:clamp(30px,5.3vw,64px);margin-bottom:12px}.motion-story .story-copy .eyebrow{font-size:10px;margin-bottom:14px}.motion-story .story-caption{margin-bottom:0;min-height:35px;font-size:13px}.motion-story .story-steps{margin-top:10px}.motion-story .story-stage{display:block;height:270px;margin-top:10px;align-self:center}.motion-story .story-object{position:absolute;left:50%;top:50%;width:235px;height:250px;padding:18px}.motion-story .story-object h3{font-size:21px}.motion-story .story-object p{font-size:11px}.motion-story .story-object.story-pet h3{margin-top:6px}.motion-story .story-pet img{height:145px}.motion-story .story-bottom{margin-top:20px}.motion-story .story-glow{display:block;position:absolute;width:115%;height:115%;left:-7%;top:-7%;background:radial-gradient(ellipse,#b239ef66,transparent 65%);filter:blur(15px);z-index:-2}.motion-story .story-orbit{display:block;position:absolute;width:300px;height:240px;left:50%;top:50%;border:1px solid #e2b5ff55;border-radius:50%;transform:translate(-50%,-50%) rotateX(65deg) rotateZ(-20deg);z-index:-1}.story-scroll .story-object{will-change:transform}.gsap-depth{transform-style:preserve-3d;will-change:transform}.section-cue{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#eac8ff0d,transparent 80%);z-index:-1}
@media(min-width:760px){.story-stage{grid-template-columns:repeat(3,1fr)}.story-caption{font-size:17px}.story-steps button{font-size:13px;padding-inline:18px}.motion-story .story-sticky{grid-template-columns:1.05fr 1fr;grid-template-rows:1fr auto;gap:0 50px;padding-block:60px 105px;min-height:620px}.motion-story .story-copy{align-self:center}.motion-story .story-stage{height:410px;align-self:center}.motion-story .story-object{width:280px;height:310px;padding:30px 22px}.motion-story .story-object h3{font-size:26px;margin-top:22px}.motion-story .story-object p{font-size:13px}.motion-story .story-pet img{height:185px;width:185px}.motion-story .tiny-xo{height:150px;width:150px;margin-top:10px}.motion-story .tiny-xo i{font-size:44px}.motion-story .story-shield{height:165px}.motion-story .story-bottom{grid-column:1/-1;font-size:11px}.motion-story .story-copy .eyebrow{font-size:11px;margin-bottom:25px}.motion-story .story-caption{font-size:16px;margin-block:20px;min-height:52px}.motion-story .story-orbit{width:430px;height:350px}}
@media(max-height:680px) and (max-width:759px){.motion-story .story-sticky{min-height:540px;padding-top:20px;padding-bottom:90px}.motion-story .story-copy h2{font-size:26px}.motion-story .story-copy .eyebrow{font-size:9px;margin-bottom:8px}.motion-story .story-caption{font-size:11px;min-height:28px}.motion-story .story-stage{height:210px}.motion-story .story-object{height:205px;width:210px;padding:15px}.motion-story .tiny-xo{height:90px;width:90px;margin-top:7px}.motion-story .story-object h3{font-size:18px}.motion-story .story-shield{height:105px}.motion-story .story-pet img{height:110px;width:110px}.motion-story .story-bottom{margin-top:10px}}
@media(prefers-reduced-motion:reduce){.paw-run{display:none}.eye-roam,.blink-lid,.scratch-paw,.scratching.gecko-character{animation:none!important}.eye-track{transform:none;transition:none}.story-object{will-change:auto}.gsap-depth{transform:none!important;opacity:1!important}.story-steps button{transition:none}}
.paw-run span{width:clamp(30px,5vw,56px);height:clamp(30px,5vw,56px);color:#dfff53}.paw-run svg{display:block;width:100%;height:100%;fill:currentColor}
/* Unified sound control, readable on touch screens. */
.header-actions{display:flex;align-items:center;gap:12px}.sound-control{position:relative;display:flex;align-items:center;gap:4px}.sound-control>button{width:40px;min-height:44px;border:1px solid #dcb2ff77;border-radius:16px;background:#361264;color:#fff;font-size:20px}.sound-control>button+button{width:30px;font-size:17px}.sound-control>button[aria-pressed="true"]{background:var(--accent);color:#270a46;border-color:var(--accent)}.sound-control>button:hover{border-color:var(--accent)}.sound-panel{position:absolute;top:calc(100% + 10px);right:0;z-index:60;width:220px;padding:16px;border:1px solid #dcb2ff;background:#2c0b54;color:#fffaff;border-radius:18px;box-shadow:0 14px 45px #100020aa}.sound-panel[hidden]{display:none}.sound-panel label{display:block;font-size:12px;margin-bottom:8px}.sound-panel input{width:100%;min-height:38px;accent-color:var(--accent)}.sound-panel small{display:block;font-size:10px;color:#e2d4f9;line-height:1.5;margin-top:6px}.sound-control button:focus-visible,.sound-panel input:focus-visible{outline-color:var(--accent)}@media(max-width:759px){.header-actions{gap:8px}.sound-control{gap:2px}.sound-control>button{width:39px}.sound-control>button+button{width:25px}.support-top{font-size:11px}}
/* Colour follows the chosen starter character, with a gentle time-of-day wash. */
:root{--ambienceTint:#9a44dc}html[data-mood="fox"]{--accent:#ffe279;--violet:#ffd1a9;--ambienceTint:#a343cb}html[data-mood="cat"]{--accent:#9eeeff;--violet:#cdbaff;--ambienceTint:#3567dc}html[data-mood="dog"]{--accent:#ffb5c2;--violet:#ffe0b2;--ambienceTint:#b84b9d}html[data-mood="gecko"]{--accent:#b2ff90;--violet:#aaffea;--ambienceTint:#159c8a}body{background-image:radial-gradient(ellipse at 10% 0%,var(--ambienceTint),transparent 52%);background-attachment:fixed;transition:background-image .8s}.time-wash{position:fixed;z-index:-1;inset:0;pointer-events:none;opacity:.16;background:linear-gradient(135deg,var(--timeGlow),transparent 60%);mix-blend-mode:screen;transition:background .9s;contain:strict}html[data-daypart="dawn"]{--timeGlow:#ffdc9b}html[data-daypart="day"]{--timeGlow:#93bfff}html[data-daypart="dusk"]{--timeGlow:#ff9ed3}html[data-daypart="night"]{--timeGlow:#79d7ff}html[data-daypart="dusk"] .story-glow{background:radial-gradient(ellipse,#ff66c044,transparent 65%)}html[data-daypart="night"] .story-glow{background:radial-gradient(ellipse,#57d7ff3d,transparent 65%)}
/* Five balanced paw steps walk in alternating left/right rhythm. */
.paw-run span:nth-child(even){animation-name:paws-cross-even}.paw-run span:nth-child(3n){animation-delay:.42s}.paw-run span:nth-child(4n){animation-delay:.84s}.paw-run span:nth-child(5n){animation-delay:1.26s}@keyframes paws-cross-even{0%{left:-12%;top:72%;opacity:0;transform:rotate(34deg) scale(.8)}12%{opacity:.9}35%{top:70%;transform:rotate(28deg) scale(1)}60%{top:51%;transform:rotate(34deg) scale(.88)}85%{opacity:.85}100%{left:112%;top:34%;opacity:0;transform:rotate(28deg) scale(.8)}}.logo-star{background:none!important;display:inline-flex;align-items:center;gap:0;padding:0!important;font-size:22px!important;line-height:1!important;white-space:nowrap}.logo-star b{display:inline-block;background:var(--accent);color:#210742;border-radius:50%;padding:3px;font-size:17px;font-weight:400;filter:drop-shadow(0 0 5px #dfff5344)}.logo-star b:first-child{transform:rotate(-22deg) scale(.9)}.logo-star b:last-child{transform:rotate(18deg) scale(.82) translate(-3px,3px)}.footer .logo-star b{font-size:14px}.intro-flower{display:inline-flex;align-items:center;gap:2px;background:none!important}.intro-flower b{display:inline-block;background:var(--accent);color:#210742;border-radius:50%;padding:.035em;font-size:.5em;line-height:1;font-weight:400}.intro-flower b:first-child{transform:rotate(-22deg) scale(.9)}.intro-flower b:last-child{transform:rotate(18deg) scale(.82) translate(-.05em,.1em)}
/* Quiet sonic-design switch, always opt-in, with persistent user choice. */

/* A shorter, user-steered sequence: naturally scrollable; not a forced snap. */
.motion-story .story-scroll{height:215svh}
.story-steps button{transition:transform .25s,background .25s,color .25s}.story-steps button:hover{transform:translateY(-3px)}
.scene-transition.moving{animation:liquid-pass .7s cubic-bezier(.2,.75,.25,1)}@keyframes liquid-pass{0%{opacity:0;clip-path:ellipse(0 110% at 0 50%);transform:scaleY(.6)}25%{opacity:.88}58%{clip-path:ellipse(100% 125% at 44% 50%);transform:scaleY(1.04)}100%{opacity:0;clip-path:ellipse(0 105% at 100% 50%);transform:scaleY(.96)}}
/* Soft, brief paw marks respond to intentional taps, not every page gesture. */
.page-paw{position:fixed;z-index:1;pointer-events:none;color:#dfff53;font-size:18px;filter:drop-shadow(0 0 6px #dfff5377);animation:paw-fade 1.65s ease-out forwards;will-change:transform,opacity}@keyframes paw-fade{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) scale(.55)}20%{opacity:.8}100%{opacity:0;transform:translate(calc(-50% + var(--drift)),calc(-50% - 24px)) rotate(var(--angle)) scale(.78)}}
html.magic-mode{--accent:#f4a7ff;--violet:#9fffe7;--ambienceTint:#7a36f0}html.magic-mode .story-glow{background:radial-gradient(ellipse,#e35cff66,transparent 64%);filter:blur(22px)}html.magic-mode .gecko-moon{box-shadow:0 0 55px #f4a7ffcc}html.magic-mode .scene-dock{border-color:#f4a7ff;box-shadow:0 8px 45px #f56bf044}html.magic-mode .story-orbit{border-color:#f4a7ff99}.magic-note{position:fixed;z-index:110;top:95px;left:50%;transform:translate(-50%,-12px);opacity:0;pointer-events:none;background:#f4a7ff;color:#291044;padding:11px 18px;border-radius:24px;font-size:12px;font-weight:650;box-shadow:0 8px 35px #0005;transition:opacity .25s,transform .25s;max-width:min(90vw,390px);text-align:center}.magic-note.visible{opacity:1;transform:translate(-50%,0)}.magic-flare{position:fixed;z-index:80;pointer-events:none;color:#f4a7ff;font-size:20px;animation:magic-flare .95s ease-out forwards}@keyframes magic-flare{from{opacity:1;transform:translate(0,0) scale(.6) rotate(0)}to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(1.5) rotate(70deg)}}.secret-overlay{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px;background:#17032de8;backdrop-filter:blur(12px);animation:secret-in .5s both}.secret-overlay[hidden]{display:none}.secret-card{width:min(430px,100%);text-align:center;border:1px solid #e1b2ff;border-radius:30px;padding:30px 24px;background:radial-gradient(ellipse at 50% 0%,#7d3bb5,#2c0b54 70%);box-shadow:0 22px 80px #05000980}.secret-card>span{font-size:37px;letter-spacing:.2em;color:var(--accent)}.secret-card h2{font:500 40px/1.1 Georgia,serif;margin-block:12px}.secret-card>p:not(.eyebrow){color:#e9dbfb;line-height:1.7;font-size:14px}.secret-card .eyebrow{justify-content:center;margin:20px 0 7px;font-size:10px}.magic-note+.secret-overlay{}.secret-card .button{margin-top:10px}.secret-found{animation:secret-found .7s both}@keyframes secret-in{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes secret-found{0%{filter:brightness(1)}50%{filter:brightness(1.6) saturate(1.5)}100%{filter:brightness(1)}}@media(prefers-reduced-motion:reduce){.paw-run span,.page-paw,.magic-flare{animation:none!important;display:none}.time-wash{transition:none}.magic-note{transition:none}.scene-transition.moving{animation:none;clip-path:none;opacity:0}.story-scroll{height:auto!important}.story-sticky{position:static!important;height:auto!important;min-height:unset!important}.story-stage{display:grid!important;grid-template-columns:1fr!important;height:auto!important}.story-object{position:relative!important;inset:auto!important;left:auto!important;top:auto!important;width:100%!important;height:auto!important;min-height:210px;opacity:1!important;transform:none!important}.story-bottom{margin-top:22px}.gsap-depth{transform:none!important;opacity:1!important}}
/* No scroll-jacking or pinning. Every pixel of a swipe moves the real page. */
.story-scroll,.motion-story .story-scroll{height:auto!important}.story-sticky,.motion-story .story-sticky{position:relative!important;height:auto!important;min-height:0!important;display:block!important;overflow:visible;padding-block:65px 50px}.story-stage,.motion-story .story-stage{display:grid!important;height:auto!important;margin-top:35px;perspective:1000px;gap:18px}.story-object,.motion-story .story-object{position:relative!important;left:auto!important;top:auto!important;width:100%!important;height:auto!important;min-height:245px}.story-copy{max-width:780px}.story-copy h2{font-size:clamp(34px,6vw,70px)}.story-caption{min-height:50px}.story-glow{display:block;position:absolute;inset:-20% 0;background:radial-gradient(ellipse,#a454ff25,transparent 65%);z-index:-1;pointer-events:none}.story-steps{flex-wrap:wrap}.story-bottom{margin-top:30px}.story-orbit{display:none!important}.story-copy .eyebrow{color:#e9c9ff}.natural-story .story-stage{grid-template-columns:1fr}@media(min-width:760px){.natural-story .story-stage{grid-template-columns:repeat(3,1fr)}.story-object{padding:35px 22px;min-height:300px}.story-pet img{height:165px;width:165px}.story-copy .eyebrow{font-size:11px}.story-scroll{border-radius:50% 50% 0 0 / 24px 24px 0 0}.story-sticky{padding-top:85px!important}.story-shield{height:140px}.tiny-xo{height:140px;width:140px}}
/* The pet walks, leaving prints in place; the final two become the mark. */
.paw-run{inset:0}.paw-run span{left:calc(8% + var(--step) * 11%)!important;top:calc(72% - var(--step) * 3.5%)!important;width:clamp(24px,4vw,44px);height:clamp(24px,4vw,44px);animation:paw-step 2.1s both!important;animation-delay:calc(var(--step) * .14s)!important;transform:rotate(30deg)}.paw-run span:nth-child(even){margin-top:29px;transform:rotate(12deg)}.paw-run span:nth-last-child(-n+2){color:var(--accent);filter:drop-shadow(0 0 14px #e1ff69aa);animation-name:paw-last!important}.logo-star b{width:24px;height:25px;display:inline-block}.logo-star svg,.intro-flower svg{display:block;width:100%;height:100%;fill:currentColor}.intro-flower b{width:.55em;height:.57em}.intro-flower{font-size:.85em}.intro-brand{animation-duration:2.4s}.intro-project{animation-duration:2.4s}.intro-rule{animation-duration:2.4s}.intro-screen .intro-sound{left:24px;bottom:22px;right:auto;font-size:11px;border:1px solid #ffffff55;border-radius:20px;padding:7px 12px;background:#271049}.intro-screen #skip-intro{right:24px;bottom:22px;font-size:11px}.intro-screen.finished{transition:opacity .5s,visibility .5s}.intro-screen[hidden]{display:none}@keyframes paw-step{0%{opacity:0;scale:.6}12%,60%{opacity:.8;scale:1}100%{opacity:0;scale:.9}}@keyframes paw-last{0%{opacity:0;scale:.6}12%,100%{opacity:1;scale:1}}
.intent-compass{margin-top:27px;border-top:1px solid #dcb2ff55;padding-top:17px;max-width:385px}.intent-compass>span{font-size:11px;color:#ecd8ff}.intent-compass>div{display:flex;gap:7px;margin-top:10px;flex-wrap:wrap}.intent-compass button{border:1px solid #dcb2ff77;background:#321050;color:#fffbff;border-radius:18px;min-height:40px;padding:8px 15px;font-size:12px}.intent-compass button:hover{background:var(--accent);color:#291044}.intent-compass p{font-size:10px;color:#e4d1f5;margin:9px 0 0}.hero{padding-bottom:25px}.game-tools{display:flex;gap:20px;flex-wrap:wrap}.sea-cell{position:relative;overflow:hidden;background:linear-gradient(150deg,#603095,#3c1762)}.sea-cell.hit:after,.sea-cell.miss:after{content:'';position:absolute;border:2px solid currentColor;inset:0;border-radius:50%;pointer-events:none;animation:water-ring .65s both}.sea-cell.sonar{box-shadow:0 0 0 3px #b2efff,inset 0 0 20px #b2efff99;animation:sonar-pulse 1s ease-in-out 2}.xo-cell:not(:empty){animation:symbol-in .24s both}.xo-grid .winner{box-shadow:inset 0 0 25px #dfff5344;border-color:var(--accent)}@keyframes water-ring{from{opacity:.9;transform:scale(.2)}to{opacity:0;transform:scale(1.6)}}@keyframes sonar-pulse{50%{filter:brightness(1.5)}}@keyframes symbol-in{from{scale:.87;filter:blur(2px)}to{scale:1;filter:none}}.chat-footer{display:flex;gap:10px;align-items:center;justify-content:space-between;text-align:left}.chat-footer button{border:0;background:none;color:#65228b;text-decoration:underline;font-size:10px;min-height:35px;max-width:85px}.mod-msg.admin{border-right:2px solid var(--accent)}.mod-msg.leaving{animation:sweep-out .55s ease-in both}.moderation-chat.processing{box-shadow:0 0 40px #dfff5320}.mod-messages{background-image:radial-gradient(#d7aaff0d 1px,transparent 1px);background-size:16px 16px}@keyframes sweep-out{to{transform:translateX(80px) rotate(5deg);opacity:0;filter:blur(4px)}}.gecko-frame{background:radial-gradient(ellipse at var(--light-x,45%) var(--light-y,28%),#b25be9 0%,#6b2bb1 36%,#351166 76%)}.gecko-moon{cursor:pointer;z-index:6;min-width:22px;min-height:22px;border:4px solid transparent;box-sizing:content-box;background-clip:padding-box}.secret-crystal{cursor:pointer;min-width:30px;min-height:35px}.end-star{margin-inline:auto;border:0;background:none;cursor:pointer;min-height:70px;padding:0;font-family:Georgia,serif;line-height:1}.final-constellation{display:flex;justify-content:center;gap:0;margin:10px auto 35px;max-width:360px;isolation:isolate}.final-constellation img{width:25%;height:auto;aspect-ratio:1;border:1px solid #f4c2ff77;border-radius:50%;object-fit:cover;box-shadow:0 12px 35px #0a001740;transition:transform .6s,border-color .6s}.final-constellation img:nth-child(2),.final-constellation img:nth-child(4){transform:translateY(13px)}.final-constellation.lit img{transform:translateY(-6px);border-color:var(--accent);box-shadow:0 0 25px #ffdc882b}.final-memory{font:italic 17px/1.5 Georgia,serif;color:var(--violet);margin:25px auto 0;max-width:420px}.ending{position:relative;background:radial-gradient(ellipse at 50% 50%,#8f40ba24,transparent 60%);padding-top:50px;padding-bottom:70px}.ending .end-note{margin-top:20px}.ending .button{max-width:100%}.ending #replay-intro{font-size:11px}.intro-sound{z-index:3!important}
@media(prefers-reduced-motion:reduce){.natural-story .story-object{opacity:1!important;transform:none!important}.final-constellation img{transition:none}.scene-transition.moving{display:none}.sea-cell:after{display:none}.xo-cell:not(:empty),.mod-msg.leaving,.sea-cell.sonar{animation:none}.intro-screen{display:none!important}html{scroll-behavior:auto!important}}
@supports not (backdrop-filter:blur(1px)){.scene-dock{background:#2e085b}.sound-panel{background:#2c0b54}}
.page-paw svg{display:block;width:100%;height:100%;fill:currentColor}.replaying .intro-brand,.replaying .intro-project,.replaying .paw-run span,.replaying .intro-rule{animation:none!important}.time-wash{z-index:0;opacity:.11}body>main,body>.header,body>.footer{position:relative;z-index:1}.secret-crystal:focus-visible,.gecko-moon:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.secret-overlay .button{justify-content:center}.scene-select-wrap select{font-family:inherit;font-size:13px;font-weight:600}.final-constellation img{position:relative}html.magic-mode .final-constellation img{border-color:var(--accent)}.mod-msg.admin:before{content:'🐾';float:right;font-size:13px;margin-left:8px}.scene-transition{z-index:45}.scene-dock{z-index:50}.game-tools .text-button[hidden]{display:none}@media(min-width:760px){.hero-copy{max-width:560px}.hero{min-height:750px}.pet-stage{align-self:center}}@media(prefers-reduced-motion:reduce){.js-motion .reveal.visible,.chat-body.changing,.pet-art.happy,.scratching.gecko-character,.blink-lid,.eye-roam{animation:none!important}.eye-track{transform:none!important}.secret-overlay{animation:none}.natural-story .story-stage{grid-template-columns:1fr}.time-wash{display:none}}
.gecko-moon{min-width:36px;min-height:36px;border-width:4px;right:9%;top:12%;background-size:14px 14px}.hero-copy>.small-note{margin-bottom:0}.sound-panel input{touch-action:pan-x}.story-steps button{touch-action:manipulation}.story-object{scroll-margin-top:40px}html{scroll-padding-bottom:100px}
@property --accent{syntax:'<color>';inherits:true;initial-value:#ffe279}@property --ambienceTint{syntax:'<color>';inherits:true;initial-value:#a343cb}@property --violet{syntax:'<color>';inherits:true;initial-value:#ffd1a9}html{transition:--accent .7s ease,--ambienceTint 1s ease,--violet .7s ease}.primary{color:#250b46}.button.primary{box-shadow:0 4px 0 #7f5297}.pet-speech,.pet-picker,.gecko-actions button{backdrop-filter:blur(8px)}@media(prefers-reduced-motion:reduce){html{transition:none!important}}
/* Mobile polish — the paw light becomes the actual wordmark, in one logo cell. */
.intro-project{animation:logo-stage 2.4s both!important;line-height:1.1;font-size:clamp(72px,18vw,136px);letter-spacing:-.07em}.intro-project>span:first-child{font-size:12px;margin-bottom:17px}.intro-logo-morph{position:relative;display:block;width:3.1em;height:1.12em;margin-inline:auto;font-weight:850;letter-spacing:-.09em;text-align:left}.morph-name{position:absolute;left:0;top:0;line-height:1;animation:name-from-paws 1.45s .65s both}.morph-mark{position:absolute;right:.04em;top:.16em;width:.83em;height:.8em;display:block;color:var(--accent);letter-spacing:0}.morph-mark b{position:absolute;display:block;width:.5em;height:.54em;left:0;top:0;animation:paw-becomes-a 1.45s .65s both;transform-origin:center}.morph-mark b+ b{left:.31em;top:.15em;animation-name:paw-becomes-b;animation-delay:.79s}.morph-mark svg{display:block;width:100%;height:100%;fill:currentColor}.morph-orbit{position:absolute;left:-.05em;top:-.1em;width:2.45em;height:1.3em;border:1px solid #e1ff5a55;border-radius:50%;animation:logo-halo 1.6s .5s both;pointer-events:none}.intro-brand{animation-duration:2s!important}.intro-brand span{font-size:12px}.intro-project .morph-mark{background:none}.intro-screen{background:radial-gradient(ellipse at 50% 50%,#54227e,#210742 70%)}
@keyframes logo-stage{0%,22%{opacity:0;transform:translateY(8px)}34%,100%{opacity:1;transform:none}}@keyframes name-from-paws{0%,22%{opacity:0;clip-path:inset(0 100% 0 0);transform:translateX(12px)}70%,100%{opacity:1;clip-path:inset(0 0 0 0);transform:none}}@keyframes paw-becomes-a{0%{opacity:0;transform:translate(-1.5em,.1em) rotate(-26deg) scale(1.2);filter:drop-shadow(0 0 20px #e5ff7b)}18%,32%{opacity:1;transform:translate(-1.4em,0) rotate(-26deg) scale(1.2);filter:drop-shadow(0 0 20px #e5ff7b)}77%,100%{opacity:1;transform:rotate(-22deg) scale(.9);filter:drop-shadow(0 0 2px #e5ff7b55)}}@keyframes paw-becomes-b{0%{opacity:0;transform:translate(-1.4em,.15em) rotate(18deg) scale(1.2);filter:drop-shadow(0 0 20px #e5ff7b)}16%,30%{opacity:1;transform:translate(-1.18em,.05em) rotate(18deg) scale(1.2);filter:drop-shadow(0 0 20px #e5ff7b)}77%,100%{opacity:1;transform:rotate(18deg) scale(.82);filter:drop-shadow(0 0 2px #e5ff7b55)}}@keyframes logo-halo{0%{opacity:0;transform:scale(.65) rotate(-20deg)}35%{opacity:1}100%{opacity:0;transform:scale(1.1) rotate(8deg)}}.replaying .morph-name,.replaying .morph-mark b,.replaying .morph-orbit{animation:none!important}
/* A shared little stage: transparent art, a cast shadow, reflected light and tiny breaths. */
.pet-stage{overflow:visible;padding-top:10px;isolation:isolate}.pet-stage:before{display:none}.pet-light{position:absolute;pointer-events:none;z-index:-3;left:4%;right:4%;top:8%;height:65%;background:radial-gradient(ellipse,var(--ambienceTint),transparent 70%);opacity:.55;filter:blur(18px);border-radius:50%}.pet-ground{position:absolute;pointer-events:none;z-index:-2;left:17%;right:14%;top:59%;height:13%;border-radius:50%;background:radial-gradient(ellipse,#13042699,transparent 67%);filter:blur(6px);animation:ground-breathe 5.2s ease-in-out infinite}.pet-art{mask-image:none!important;-webkit-mask-image:none!important;border-radius:0;overflow:visible;z-index:0;animation:none!important;margin:-2px auto -25px;max-width:510px}.pet-art img{mix-blend-mode:normal;filter:drop-shadow(0 12px 15px #0a001c66);opacity:1;transform:none}.pet-breath{transform-origin:50% 88%;animation:fox-breathe 5.2s ease-in-out infinite;will-change:transform}.pet-stage[data-species="cat"] .pet-breath{animation:cat-curious 6.2s ease-in-out infinite}.pet-stage[data-species="dog"] .pet-breath{animation:dog-listen 5.4s ease-in-out infinite}.pet-stage[data-species="gecko"] .pet-breath{animation:gecko-peek 6s ease-in-out infinite}.pet-art.swapping{animation:live-pet-enter .5s cubic-bezier(.2,.8,.2,1) both!important}.pet-art.happy .pet-breath{animation:pet-greeting .8s ease-in-out}.pet-motes{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:clip}.pet-motes i{position:absolute;width:3px;height:3px;border-radius:50%;background:var(--accent);left:13%;top:25%;box-shadow:0 0 13px var(--accent);animation:pet-mote 6s ease-in-out infinite}.pet-motes i:nth-child(2){left:82%;top:40%;animation-delay:-2s}.pet-motes i:nth-child(3){left:70%;top:13%;animation-delay:-4s}.orbit{width:95%;height:62%;top:25px;border-style:dashed;border-color:#e6bcff66;opacity:.65}.stage-note{z-index:1;font-size:14px;transform:rotate(-3deg);margin-bottom:0}.pet-picker{position:relative;z-index:2;background:#351250c9;border-color:#e7c6ff66}.pet-choice.active{box-shadow:0 0 18px #dfff5319}.pet-choice:active{transform:scale(.96)}.pet-speech{font-size:13px;background:#441b72db;border-color:#e7c6ff66}.pet-picker,.pet-speech,.stage-bottom{position:relative;z-index:2}.stage-bottom{margin-bottom:14px}.demo-note{font-size:10px;margin-top:9px}.hero-copy .intro{font-size:16px}.intent-compass{margin-top:20px;padding-top:14px}
@keyframes fox-breathe{0%,100%{transform:translateY(0) rotate(-.5deg)}50%{transform:translateY(-4px) rotate(.5deg)}}@keyframes cat-curious{0%,100%{transform:translateY(0) rotate(0)}40%{transform:translateY(-3px) rotate(-1.5deg)}60%{transform:translateY(-3px) rotate(1deg)}}@keyframes dog-listen{0%,70%,100%{transform:translateY(0) rotate(0)}30%,45%{transform:translateY(-4px) rotate(1.6deg)}}@keyframes gecko-peek{0%,100%{transform:translateY(0)}40%,60%{transform:translateY(-5px) rotate(-1deg)}}@keyframes ground-breathe{0%,100%{opacity:.65;transform:scaleX(1)}50%{opacity:.45;transform:scaleX(.94)}}@keyframes live-pet-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes pet-greeting{0%,100%{transform:translateY(0)}35%{transform:translateY(-9px) rotate(-1.5deg)}65%{transform:translateY(-3px) rotate(1deg)}}@keyframes pet-mote{0%,100%{opacity:.15;transform:translateY(8px)}50%{opacity:.8;transform:translateY(-12px)}}
/* Fixed layout width, no scroll-linked scaling, no font-driven iOS form zoom.
   Pinch zoom remains available: no maximum-scale or user-scalable restrictions. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;max-width:100%;width:100%}body{width:100%;max-width:100%;overflow-x:clip}img,svg{max-width:100%}.hero,.story-stage,.game-layout,.moderation-grid,.world-grid{min-width:0}.hero>*{min-width:0}
@media(max-width:759px),(pointer:coarse){
 body{background-attachment:scroll}.hero .pet-stage,.story-object,.game-message,.moderation-chat,.world .chat,.gecko-frame,.details-header,.future h2,.ending h2{transform:none!important;perspective:none!important;scale:none!important}.story-object{opacity:1!important}.js-motion .reveal.visible{animation:mobile-arrive .4s ease-out both!important}.scene-transition.moving{animation:mobile-wipe .45s ease-out!important;transform:none!important}.scene-select-wrap select,.sound-panel input,input,select,textarea{font-size:16px!important}.scene-select-wrap select{min-height:30px}.scene-select-wrap>span{font-size:9px}.scene-dock{padding:6px;width:min(320px,calc(100% - 28px));bottom:max(10px,env(safe-area-inset-bottom))}.scene-dock>button{min-height:46px;width:44px}.hero{padding-top:26px;gap:16px}.hero h1{font-size:clamp(40px,10.8vw,56px);margin-bottom:14px}.hero-copy .intro{margin-bottom:18px}.hero .button{min-height:48px;font-size:14px;padding:11px 20px}.intent-compass{margin-top:16px}.intent-compass p{font-size:11px}.pet-art{width:min(100%,370px);margin-top:-2px;margin-bottom:-17px}.pet-stage{padding-top:5px}.stage-note{font-size:13px}.pet-ground{top:55%}.pet-light{top:5%;height:66%}.pet-speech{margin-bottom:14px;font-size:12px}.stage-bottom h2{font-size:25px}.chapter-line{margin-top:30px;padding-block:17px}.story-sticky{padding-block:40px!important}.story-copy h2{font-size:34px}.story-caption{font-size:14px;min-height:0}.story-object{min-height:215px;padding:22px}.story-object h3{font-size:22px}.story-object p{font-size:14px}.story-stage{gap:14px}.games-section{padding-block:35px 50px}.split-heading>p{font-size:16px}.game-copy>p,.moderation-text,.world-story>p,.feature-list p,.future-row p{font-size:16px;line-height:1.6}.game-copy h3{font-size:26px;margin-bottom:12px}.game-tabs{margin-bottom:18px}.game-layout{gap:22px;margin-top:20px}.moderation-section{padding-block:45px}.moderation-grid{gap:25px}.world{padding-block:45px}.section-heading>p:last-child{font-size:16px}.world-grid{margin-top:23px;gap:24px}.hand-note{font-size:18px;margin-top:18px}.details{padding-block:45px}.details-header .eyebrow{margin-bottom:17px}.feature-list article{padding-block:20px}.gecko-section{gap:25px;padding-block:35px 50px}.gecko-copy>p:not(.eyebrow){font-size:17px}.future{padding-bottom:45px}.future h2{margin-bottom:25px}.future-row{gap:10px;padding-block:18px}.development-note{font-size:12px;padding:14px}.ending{padding-top:35px;padding-bottom:50px}.final-memory{font-size:16px}.feature-sign{flex-shrink:0}.header{height:82px}.eyebrow{font-size:10px}.world-story .tabs{margin-bottom:20px}
}
@keyframes mobile-arrive{from{opacity:.6;filter:none}to{opacity:1;filter:none}}@keyframes mobile-wipe{0%{opacity:0;clip-path:inset(0 100% 0 0)}40%{opacity:.6}100%{opacity:0;clip-path:inset(0 0 0 100%)}}
@media(prefers-reduced-motion:reduce){.pet-breath,.pet-ground,.pet-motes i,.pet-art.swapping,.pet-art.happy .pet-breath,.intro-project,.morph-name,.morph-mark b,.morph-orbit,.js-motion .reveal.visible{animation:none!important;transform:none!important}.intro-screen{display:none!important}.morph-name{opacity:1;clip-path:none}.pet-motes{display:none}.scene-transition.moving{display:none!important}.pet-art img{filter:none}.pet-light{filter:none;opacity:.25}}
/* Final polish: TwoeYa is the brand; RDMD is a quiet creator credit. */
.maker-brand{display:inline-flex;align-items:baseline;gap:6px;white-space:nowrap}.maker-brand small,.maker-byline{font-family:inherit;font-size:9px;font-weight:400;letter-spacing:.015em;color:var(--muted);text-transform:none}.intro-brand .maker-byline{display:block;font-size:11px;line-height:1.5;letter-spacing:.04em;margin-top:8px}.footer .maker-brand{font-size:12px;color:var(--ink);font-weight:600}.footer .maker-brand small{font-size:9px;font-weight:400}.footer .maker-caption{display:block;margin-top:5px;font-size:9px;color:var(--muted)}.hero .eyebrow{flex-wrap:wrap;row-gap:3px}.hero .eyebrow .maker-brand{gap:4px}
/* No visible scrollbar gutter or lateral canvas. Native scrolling and pinch zoom remain. */
html{width:100%;max-width:100%;overflow-x:clip;scrollbar-width:none;scrollbar-gutter:auto}body{width:100%;max-width:100%;margin:0;overflow-x:clip;scrollbar-width:none;scrollbar-gutter:auto}html::-webkit-scrollbar,body::-webkit-scrollbar{width:0;height:0;display:none}main{max-width:100%;overflow-x:clip}.wrap{max-width:100%}.header-actions,.hero-copy,.pet-stage,.story-copy,.story-stage,.game-copy,.game-message,.moderation-grid>*,.world-grid>*,.gecko-copy,.future-row>*{min-width:0}.future-row,.world-grid,.moderation-grid,.game-layout{max-width:100%}.scene-dock{max-width:calc(100% - 28px)}.pet-ground,.pet-light{pointer-events:none}@supports not (overflow:clip){html,body,main{overflow-x:hidden}}
/* Tiny local plate motion only: no viewport scale, no scroll capture, no accumulating drift. */
.living-plate{--plate-angle:.65deg;--plate-rise:-2px;transform-origin:50% 50%;animation:plate-float 8s ease-in-out infinite;animation-play-state:paused;backface-visibility:hidden}.living-plate.plate-visible{animation-play-state:running}.living-plate:nth-child(2){animation-delay:-2.3s}.living-plate:nth-child(3){animation-delay:-4.7s}.living-plate:focus-within{animation-play-state:paused}.living-plate:hover{animation-play-state:paused}.living-plate.plate-visible{border-top-color:#f3d7ffb3;box-shadow:0 2px 0 #f1d4ff10,0 16px 40px #0b001d30;transition:box-shadow .4s,border-color .4s}@keyframes plate-float{0%,100%{translate:0 0;rotate:1 .7 0 calc(var(--plate-angle) * -1)}50%{translate:0 var(--plate-rise);rotate:1 .7 0 var(--plate-angle)}}@media(max-width:759px),(pointer:coarse){.living-plate{--plate-angle:.4deg;--plate-rise:-1.5px}.hero .eyebrow .maker-brand small{font-size:9px}}@media(prefers-reduced-motion:reduce){.living-plate,.living-plate.plate-visible{animation:none!important;translate:none!important;rotate:none!important;transition:none!important}}

/* Release announcement in the existing launch screen. */
.intro-release{margin:24px 18px 0;letter-spacing:0;line-height:1.5;font-weight:400}.intro-release strong{display:block;color:var(--accent);font-size:clamp(22px,5vw,32px);font-weight:600}.intro-release span{display:block;color:var(--muted);font-size:clamp(16px,3.8vw,20px);margin-top:5px}

/* Five-second opening: 1.5s brand, 2s logo animation, 1.5s logo + announcement. */
.intro-brand{animation:opening-brand 1.5s both!important}
.intro-project{animation:opening-project 3.5s 1.5s both!important}
.morph-name{animation-duration:1.7s;animation-delay:1.6s}
.morph-mark b{animation-duration:1.7s;animation-delay:1.6s}
.morph-mark b+b{animation-delay:1.75s}
.morph-orbit{animation-duration:1.9s;animation-delay:1.5s}
.intro-project .intro-release{position:absolute;top:100%;left:50%;translate:-50% 0;z-index:1;text-align:center;width:min(90vw,620px);max-width:620px;margin:24px 0 0;pointer-events:none;animation:opening-release 1.5s 3.5s both}
.intro-release strong{font-size:clamp(30px,8vw,54px)}
.intro-release span{margin-top:10px;font-size:clamp(17px,4.5vw,24px)}
.intro-rule{animation-duration:5s}
.intro-screen.finished{transition:none}
.replaying .intro-brand,.replaying .intro-project,.replaying .intro-release{animation:none!important}
@keyframes opening-brand{0%{opacity:0;filter:blur(12px);transform:translateY(16px)}18%,83%{opacity:1;filter:none;transform:none}100%{opacity:0;filter:blur(6px);transform:translateY(-12px)}}
@keyframes opening-project{0%{opacity:0;transform:translateY(10px)}10%,100%{opacity:1;transform:none}}
@keyframes opening-release{0%{opacity:0;transform:translateY(12px)}20%,100%{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.intro-screen{display:none!important}}
