@font-face{font-family:Fredoka;src:url(assets/fredoka.ttf) format('truetype');font-weight:300 700;font-display:swap}@font-face{font-family:Geist;src:url(assets/sans.woff2) format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Geist;src:url(assets/sans-semibold.woff2) format('woff2');font-weight:600 900;font-display:swap}@font-face{font-family:Mono;src:url(assets/mono.woff2) format('woff2');font-weight:100 900;font-display:swap}
:root{--paper:#f6f2df;--ink:#254c39;--forest:#284f39;--mint:#d7e0b8;--line:#36503a25;--pink:#e4a3a5;--mono:Mono,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#e9edce;color:var(--ink);font:14px/1.7 Geist,Arial,sans-serif;-webkit-font-smoothing:antialiased}p,h1,h2,ol{margin:0}button,input{font:inherit}button{cursor:pointer;color:inherit;background:none;border:0}a{color:inherit;text-decoration:none}button,a,input{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid #805656;outline-offset:4px}::selection{background:#dab9b0;color:var(--ink)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;z-index:50;top:-90px;left:16px;background:var(--forest);color:var(--paper);padding:12px;border-radius:7px}.skip-link:focus{top:12px}
.dream-stage{position:relative;isolation:isolate;min-height:740px;height:100svh;overflow:hidden}.landscape{position:absolute;inset:0;z-index:-1;overflow:hidden;background:#e9edce}.world-backdrop{position:absolute;inset:0;background-image:url(assets/world-woods.webp);background-size:cover;background-position:50% 58%;transition:opacity .7s}.landscape[data-world=clouds] .world-backdrop{background-image:url(assets/world-clouds.webp)}.landscape[data-world=grove] .world-backdrop{background-image:url(assets/world-grove.webp)}.landscape canvas{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}.world-header{position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:30px;margin:0 4.5%;padding:25px 0}.brand{display:flex;align-items:center;gap:10px;font:15px/.95 Fredoka,Arial,sans-serif;letter-spacing:.1px}.brand b{font:500 29px/1 Fredoka,sans-serif}.brand-symbol{width:48px;height:48px;display:grid;place-items:center;background:#fff9e783;border:1px solid #718a5a44;border-radius:50%}.brand-symbol img{width:45px;height:45px}.world-header nav{display:flex;align-items:center;gap:9px;font:10px/1.5 var(--mono)}.world-header nav button{font:inherit;min-height:41px;background:#fcf8e9de;border:1px solid #5870473d;padding:10px 16px;border-radius:24px;box-shadow:0 3px 0 #36503a0b;transition:background .2s,transform .2s}.world-header nav button:hover{background:#fff9e9;transform:translateY(-2px)}.memory-link{display:flex;align-items:center;gap:8px}.count{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#e4e9cb;font-size:9px}
.world-copy{position:absolute;left:4.5%;top:21%;max-width:470px;z-index:2}.eyebrow{font:8px/1.5 var(--mono);letter-spacing:1.3px;color:#5b7351;display:flex;align-items:center;gap:8px}.eyebrow>span{font-size:19px;color:#ad8660}.world-copy h1{font:500 clamp(42px,4.8vw,70px)/1.06 Fredoka,sans-serif;letter-spacing:-1.4px;margin:16px 0 20px;text-shadow:0 1px 0 #f9f8e9}.world-copy h1 em{font-style:normal;color:#6c895d}.world-copy>p:not(.eyebrow){font-size:13px;line-height:1.8;color:#4f6748}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:21px;background:var(--forest);color:var(--paper);border:1px solid #26452f;border-radius:27px;padding:13px 20px;font:500 13px/1.5 Fredoka,sans-serif;box-shadow:0 4px 0 #18372418;transition:transform .2s,background .2s}.world-copy .primary-button{margin-top:24px}.primary-button:hover{background:#416840;transform:translateY(-2px)}.primary-button>span{font:13px/1 var(--mono);border:1px solid #f6f2df55;border-radius:50%;display:grid;place-items:center;width:22px;height:22px}
.creature-position{position:absolute;left:61%;top:60%;width:370px;max-width:42%;transform:translate(-50%,-50%);transition:left 1.5s ease,top 1.5s ease;pointer-events:none;z-index:2}.creature{position:relative;display:block;width:100%;height:auto;z-index:2;transform-origin:50% 72%;animation:wobble 4.2s ease-in-out infinite}.creature-thought{position:absolute;bottom:80%;left:50%;transform:translateX(-50%);z-index:4;background:#fffae8ed;border:1px solid #4c623d70;border-radius:15px;padding:10px 14px;font:10px/1.5 var(--mono);color:#546b45;box-shadow:0 5px 0 #2b4e3610;white-space:nowrap}.creature-thought:after{content:'';position:absolute;top:100%;left:50%;border:6px solid transparent;border-top-color:#fffae8;transform:translateX(-50%)}.creature-thought>span{margin-left:5px;color:#bd8b7e;animation:blink 1.4s steps(2,end) infinite}.sleep-symbol{position:absolute;left:74%;top:39%;font:25px/1 Fredoka,sans-serif;color:#687b54;z-index:3;opacity:0}.sleep-symbol small{font-size:17px}.sleep-symbol small:last-child{font-size:11px}.landscape[data-mode=dream] .sleep-symbol{opacity:1;animation:drift 4s ease-in-out infinite}.creature-shadow{position:absolute;bottom:22%;left:33%;right:30%;height:14px;background:#28493224;border-radius:50%;filter:blur(4px)}.landscape[data-mode=plant] .creature{animation:hop .55s ease-in-out 2,wobble 4.2s ease-in-out 1.1s infinite}.scene-coordinates{position:absolute;left:4.5%;bottom:24%;font:7px/1.5 var(--mono);color:#385c3970;letter-spacing:1px}.world-label{position:absolute;right:4.5%;top:16%;display:flex;align-items:center;gap:8px;z-index:3;background:#fff9e2c9;border:1px solid #58704740;border-radius:21px;padding:9px 13px;box-shadow:0 3px 0 #36503a0b}.world-label h2{font:10px/1.5 var(--mono);font-weight:400}.world-label>button{font:12px/1 var(--mono);padding:3px 0 3px 10px;border-left:1px solid #58704730;margin-left:6px}.status-dot{display:inline-block;width:5px;height:5px;flex-shrink:0;background:#849b64;border-radius:50%}
.dream-dock{position:absolute;z-index:4;bottom:49px;left:50%;transform:translateX(-50%);width:calc(100% - 9%);max-width:1160px;border:1px solid #47623a50;border-radius:18px;background:#f9f5e4f2;box-shadow:0 8px 0 #36503a0d,0 18px 40px #254b3912;padding:13px 19px 17px}.dock-top{display:flex;align-items:center;gap:18px;padding:1px 0 11px;border-bottom:1px solid var(--line);min-height:32px}.dream-status{display:flex;align-items:center;gap:6px;white-space:nowrap;color:#779363;font:9px/1.5 var(--mono)}.dream-status b{font-weight:400}#garden-log{list-style:none;padding:0;margin:0;height:23px;overflow-y:auto;flex:1;font:9px/1.8 var(--mono);color:#667b52;scrollbar-width:none}#garden-log li{display:flex;gap:8px;align-items:baseline;overflow-wrap:anywhere}#garden-log .log-prefix{color:#8d9e75}.log-user{color:#946b61}.flower-count{font:9px/1.5 var(--mono);white-space:nowrap;color:#768464}.flower-count b{font-weight:400}.flower-count>span{color:#be8b7f;font-size:16px;vertical-align:middle;margin-right:4px}.dock-bottom{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-top:12px}.command-bar{display:flex;align-items:center;gap:8px}.command-bar button{font:500 13px/1.5 Fredoka,sans-serif;display:flex;align-items:center;gap:9px;padding:9px 14px;border:1px solid #63764b3d;border-radius:12px;background:#e9edcf;transition:transform .18s,background .18s;min-height:40px;white-space:nowrap}.command-bar button:hover{transform:translateY(-2px);background:#dce5bc}.command-bar button:nth-child(2){background:#ede5d0}.command-bar button:nth-child(2):hover{background:#e4d8b7}.command-bar button:nth-child(3){background:#f0ded3}.command-bar button:nth-child(3):hover{background:#e8cfbf}.command-icon{font:19px/1 Fredoka,sans-serif;min-width:18px}#command-form{display:flex;align-items:center;gap:10px;min-width:0;flex:1;max-width:470px;border:1px solid #788b5b42;border-radius:12px;padding:10px 13px;background:#fffdf2;min-height:43px}#command-input{font:10px/1.6 var(--mono);min-width:0;width:100%;flex:1;background:none;border:0;color:#476337;padding:0;outline:none}#command-input::placeholder{color:#899476}#command-form:focus-within{border-color:#798e5c;box-shadow:0 0 0 2px #849b5f15}#command-form button{font:19px/1 var(--mono);padding:0 3px;color:#708654}#command-input:focus-visible{outline:none}.world-footer{position:absolute;bottom:13px;left:4.5%;right:4.5%;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:20px;font:7px/1.7 var(--mono);color:#3c603a}.world-footer a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:#5970496b}.world-footer a:hover{text-decoration-color:#264f32}
.paper-dialog{width:min(590px,calc(100% - 32px));max-height:calc(100svh - 40px);overflow-y:auto;padding:27px 32px 32px;background:var(--paper);color:var(--ink);border:1px solid #78936366;border-radius:19px;box-shadow:0 24px 80px #12381d44}.paper-dialog::backdrop{background:#25483375;backdrop-filter:blur(4px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:20px}.dialog-heading>button{font:14px/1 var(--mono);padding:7px}.paper-dialog h2{font:500 39px/1.1 Fredoka,sans-serif;margin-bottom:22px;letter-spacing:-.4px}.paper-dialog h2 em{font-style:normal;color:#778f5d}.paper-dialog p{font-size:12px;line-height:1.9;color:#62734f;margin-bottom:20px}.paper-dialog .fine-print{font:9px/1.9 var(--mono);color:#647653;border-top:1px solid var(--line);padding-top:17px;margin-top:23px}.command-guide{margin:23px 0 27px}.command-guide>div{display:grid;grid-template-columns:135px 1fr;gap:17px;border-top:1px solid var(--line);padding:12px 0}.command-guide dt{font:10px/1.8 var(--mono)}.command-guide dd{font-size:11px;line-height:1.8;margin:0;color:#62734f}.pair-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:23px 0;font:12px/1.9 var(--mono)}.pair-row>span:last-child{text-align:right}.pair-row b{font-size:21px;font-weight:400;color:#96a373}.pair-row small{font-size:8px;color:#65764f}.paper-dialog .mint-label{font:8px/1.5 var(--mono);letter-spacing:.5px;margin-bottom:9px}.mint{display:block;font:10px/1.9 var(--mono);overflow-wrap:anywhere}.dialog-links{display:flex;align-items:center;justify-content:space-between;gap:16px;font:9px/1.6 var(--mono);margin:15px 0}.text-button{font:inherit;text-decoration:underline;text-underline-offset:4px;padding:6px 0}.memory-list{padding:0;list-style:none;margin:22px 0}.memory-list li{padding:13px 0;border-top:1px solid var(--line)}.memory-list p{font:11px/1.8 var(--mono);color:var(--ink);overflow-wrap:anywhere;margin:0}.memory-list time{font:8px/1.7 var(--mono);color:#6e7e5c;display:block;margin-bottom:7px}.toast{position:fixed;z-index:100;bottom:25px;left:50%;transform:translate(-50%,12px);background:#2a523b;color:var(--paper);padding:12px 20px;font:10px/1.6 var(--mono);border:1px solid #c6d9ac;border-radius:12px;max-width:calc(100% - 32px);text-align:center;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translate(-50%,0)}body.dialog-open{overflow:hidden}body.motion-paused .creature,body.motion-paused .sleep-symbol,body.motion-paused .creature-thought>span{animation-play-state:paused}.canvas-fallback{display:none}
@keyframes wobble{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-7px) rotate(1deg)}}@keyframes hop{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-20px) rotate(3deg)}}@keyframes drift{0%,100%{transform:translateY(0);opacity:.65}50%{transform:translateY(-5px);opacity:1}}@keyframes blink{50%{opacity:0}}
@media(min-width:1500px){.world-copy{top:24%;max-width:610px}.world-copy h1{font-size:75px}.world-copy>p:not(.eyebrow){font-size:15px}.creature-position{width:460px}.dream-dock{bottom:65px}.world-footer{bottom:23px;font-size:8px}.scene-coordinates{bottom:23%}}
@media(max-width:1000px){.world-copy{max-width:380px;top:22%}.world-copy h1{font-size:48px}.world-header nav{font-size:9px}.world-header nav button{padding:9px 12px}.creature-position{width:335px;left:62%;top:61%;max-width:45%}.creature-thought{font-size:8px}.dream-dock{padding:12px 15px 15px}.dock-bottom{gap:15px}.command-bar button{font-size:12px;padding:9px 11px;gap:6px}.command-icon{font-size:17px}.dock-top{gap:12px}#garden-log{font-size:8px}.flower-count{font-size:8px}.world-footer{font-size:6px}}
@media(max-width:700px){.dream-stage{min-height:850px;height:100svh}.world-header{padding-top:20px;gap:15px}.brand{font-size:11px;gap:7px}.brand b{font-size:23px}.brand-symbol{width:39px;height:39px}.brand-symbol img{width:37px;height:37px}.world-header nav{gap:5px}.world-header nav button{font-size:8px;padding:8px 9px;min-height:37px}.world-header nav button:nth-child(1){display:none}.memory-link{gap:5px}.count{width:15px;height:15px;font-size:8px}.world-copy{top:16%;max-width:92%;left:6%}.world-copy h1{font-size:45px;line-height:1.04;letter-spacing:-.9px;margin:13px 0 16px}.eyebrow{font-size:7px;letter-spacing:.8px}.world-copy>p:not(.eyebrow){font-size:12px}.world-copy .primary-button{margin-top:19px;padding:10px 15px;font-size:12px}.world-label{top:45%;right:6%;font-size:9px;padding:7px 10px}.world-label h2{font-size:8px}.creature-position{width:320px;max-width:80%;top:62%;left:57%}.creature-thought{font-size:8px;bottom:79%;white-space:normal;width:180px;text-align:center;padding:8px 10px}.scene-coordinates{display:none}.world-backdrop{background-position:56% center}.dream-dock{bottom:56px;width:88%;padding:12px;border-radius:16px}.dock-top{flex-wrap:wrap;gap:9px;padding-bottom:10px}.dream-status{font-size:8px}.flower-count{margin-left:auto;font-size:8px}#garden-log{order:3;width:100%;flex:initial;font-size:8px;height:24px}.dock-bottom{flex-direction:column;align-items:stretch;gap:10px;padding-top:11px}.command-bar{justify-content:space-between;gap:7px}.command-bar button{flex:1;justify-content:center;font-size:12px;padding:8px 7px;gap:5px;min-height:39px}.command-icon{min-width:14px;font-size:18px}#command-form{max-width:none;flex:auto;min-height:42px;padding:10px 12px}#command-input{font-size:10px}.world-footer{left:6%;right:6%;bottom:12px;flex-wrap:wrap;gap:4px 10px;font-size:6px}.world-footer>span:nth-child(2){display:none}.world-footer>a{margin-left:auto}.paper-dialog{padding:24px}.paper-dialog h2{font-size:34px}.command-guide>div{grid-template-columns:1fr;gap:5px}.dialog-links{font-size:8px}.paper-dialog .fine-print{font-size:8px}}
@media(max-width:380px){.world-header{margin-inline:5%}.world-header nav button{padding-inline:8px;font-size:7px}.brand b{font-size:22px}.world-copy h1{font-size:41px}.world-copy{top:15.5%}.creature-position{top:61%;width:290px}.command-bar button{font-size:11px}.world-footer{font-size:5px}.dream-dock{width:90%}.world-copy .primary-button{margin-top:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* A soft wash keeps the story readable over the painted landscape. */
.world-copy{top:17%;max-width:540px}.world-copy:before{content:'';position:absolute;z-index:-1;inset:-45px -50px -36px -35px;pointer-events:none;background:radial-gradient(ellipse at 40% 45%,#f9f4e2e8 0%,#f9f4e2ba 35%,#f9f4e200 73%)}.world-copy h1 em{color:#496b43}.world-footer{font-size:8px;color:#294f34}.world-footer>span:first-child,.world-footer>a{background:#f9f4e2cf;border-radius:5px;padding:3px 7px}.world-footer>span:nth-child(2){display:none}.world-header nav button:disabled{opacity:.5;cursor:default}.dream-status,.flower-count{color:#5c7349}#command-input::placeholder{color:#647852}
@media(max-width:1000px){.world-copy{top:17%;max-width:490px}.world-copy h1{font-size:46px}.world-footer{font-size:7px}}
@media(max-width:700px){.world-copy{top:15.5%;max-width:90%}.world-copy h1{font-size:43px}.world-copy:before{inset:-26px -25px -25px -22px}.world-footer{font-size:6px}.world-footer>span:first-child{max-width:100%;padding:3px 5px}.world-footer>a{margin-left:0;padding:3px 5px}}
@media(max-width:380px){.world-copy h1{font-size:40px}.world-footer{font-size:6px}}
.world-backdrop{opacity:0}.landscape.is-loaded .world-backdrop{opacity:1}
.footer-story{font:inherit;color:inherit;padding:3px 7px;border-radius:5px;background:#f9f4e2cf;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}

/* Piptopia: the original Pippin drawing is preserved exactly. */
.brand small{font:7px/1.2 var(--mono);letter-spacing:.5px}.brand b{font-size:30px}.brand-symbol{background:#284f39;overflow:hidden}.brand-symbol img{width:100%;height:100%}@media(max-width:700px){.brand small{font-size:5px}.brand b{font-size:24px}}

/* Piptopia official X destination */
.world-header nav .social-x{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:43px;min-height:41px;color:var(--ink);font:9px/1 var(--mono);background:#fcf8e9de;border:1px solid #5870473d;border-radius:24px;box-shadow:0 3px 0 #36503a0b;transition:background .2s,transform .2s}.social-x svg{display:block;flex-shrink:0}.world-header nav .social-x:hover{background:#fff9e9;transform:translateY(-2px)}@media(max-width:700px){.world-header nav .social-x{min-width:36px;min-height:37px;gap:3px;font-size:8px}.social-x svg{width:11px;height:11px}.memory-link{position:relative;width:37px;min-width:37px;justify-content:center}.memory-label{font-size:0}.memory-label:before{content:"♡";font:18px/1 Fredoka,sans-serif}.memory-link .count{position:absolute;top:2px;right:1px;width:12px;height:12px;font-size:7px}.world-header{gap:10px}.world-header nav{gap:5px}}
