@charset "UTF-8";
:root{--paper:#faf7ef;--ink:#3c4b3c;--muted:#818777;--green:#6a805d;--dark:#4c6647;--line:#dedfd2;--pencil:#666459;--hand:"STKaiti","KaiTi","楷体",serif;--sans:"Microsoft YaHei","PingFang SC",sans-serif}
*{box-sizing:border-box}body{margin:0;background:#eeeee3;color:var(--ink);font-family:var(--sans);font-size:14px}button,input,textarea{font:inherit}button{cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid #536e49;outline-offset:4px}button{border:0;background:none}button:disabled{cursor:default;opacity:.42}p{line-height:1.9}h1,h2,h3,p{margin-top:0}.exhibit{min-height:100vh;display:flex;justify-content:center;align-items:center;gap:72px;padding:46px 36px;background:radial-gradient(ellipse at 25% 70%,#e2e8d9 0,transparent 50%),radial-gradient(ellipse at 80% 25%,#f5eadb 0,transparent 45%)}.brand-panel{width:240px;align-self:center}.edition{font-size:9px;letter-spacing:2px;line-height:1.8;color:#8b917d}.app-icon{width:100px;height:100px;border-radius:25px;box-shadow:0 7px 25px #56674716;margin:35px 0 25px}.brand-panel h1{font:44px var(--hand);letter-spacing:2px;white-space:nowrap;margin-bottom:24px}.brand-leaf{color:#81946b;font-size:32px;margin-left:5px}.brand-tagline{font:23px/1.8 var(--hand);letter-spacing:2px}.intro-copy{color:#828777;font-size:12px;margin:35px 0 26px}.swatches{display:flex;gap:10px}.swatches i{width:20px;height:20px;border-radius:50%;background:#839b73}.swatches i:nth-child(2){background:#f2d98f}.swatches i:nth-child(3){background:#efa88c}.swatches i:nth-child(4){background:#9abed0}.swatches i:nth-child(5){background:#cf806b}.bottom-edition{margin-top:45px;font-size:9px}.device-wrap{flex-shrink:0}.device{width:390px;height:844px;background:var(--paper);border-radius:45px;position:relative;overflow:hidden;box-shadow:0 30px 75px #4853391a,0 3px 12px #44513518,0 0 0 7px #fdfcf6,0 0 0 8px #d1d5c8}.status-bar{position:absolute;top:0;left:0;width:100%;height:46px;display:flex;align-items:center;justify-content:space-between;padding:0 29px;font-size:12px;font-weight:600;z-index:30;pointer-events:none;color:#344534}.status-signs{font-size:12px;letter-spacing:1px}.home-indicator{position:absolute;bottom:9px;width:108px;height:4px;border-radius:8px;background:#394636;left:50%;transform:translateX(-50%);z-index:30;pointer-events:none;opacity:.65}#app{height:100%;position:relative}.device-caption{font:14px var(--hand);text-align:center;color:#8a8c79;margin:25px 0 0;letter-spacing:2px}.guide-panel{width:236px}.guide-panel h2{font:25px/1.5 var(--hand);margin:24px 0 14px}.guide-panel>p{font-size:12px;color:#899080;line-height:2.1;min-height:76px}.journey{display:grid;gap:4px;margin:28px 0}.journey button{display:flex;align-items:center;gap:17px;text-align:left;font-size:12px;color:#909580;padding:12px 0}.journey button span{font-family:Georgia,serif;font-size:10px;border:1px solid #cbd2c1;border-radius:50%;width:23px;height:23px;display:grid;place-content:center}.journey button.current{color:#415c3c}.journey button.current span{background:#738b62;color:white;border-color:#738b62}.preview-tools{border-top:1px solid #d9ddcc;padding-top:22px}.preview-tools p{font-size:11px;color:#939883;margin-bottom:8px}#mood-previews{display:flex;gap:6px}#mood-previews button{padding:7px 10px;border:1px solid #cfd6c4;border-radius:15px;font-size:11px}.text-button{font-size:12px;text-decoration:underline;text-underline-offset:5px;padding:12px 0;color:#6f8161}.demo-note{font-size:9px!important;letter-spacing:.5px}.sprite{background-image:url('assets/characters-cute-v2.webp');background-size:300% 200%;background-repeat:no-repeat;aspect-ratio:1;mix-blend-mode:multiply}.pig-logo{background-position:0 0}.pig-walk{background-position:50% 0}.pig-happy{background-position:100% 0}.pig-sad{background-position:0 100%}.pig-anxious{background-position:50% 100%}.pig-angry{background-position:100% 100%}.icon-art{background-image:url('assets/icons-alpha.webp');background-size:300% 200%;background-repeat:no-repeat;aspect-ratio:1;display:inline-block;mix-blend-mode:multiply}.apple-anxious{background-position:0 0}.apple-happy{background-position:50% 0}.apple-sad{background-position:100% 0}.apple-angry{background-position:0 100%}.basket-art{background-position:50% 100%}.book-art{background-position:100% 100%}.screen{position:absolute;inset:0;background:var(--paper);overflow:hidden;animation:pageIn .45s ease both}.screen::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.15;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23695530' opacity='.2' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");z-index:18}.screen>*{position:relative}.forest-bg{position:absolute!important;inset:0;background:url('assets/forest.webp') center/cover}.forest-wash{position:absolute!important;inset:0;background:linear-gradient(180deg,#fbf9eeed 0%,#faf7efc9 22%,#faf7ef05 52%,#faf7ef00 72%,#faf7efdf 100%)}.hand{font-family:var(--hand);font-weight:400}.eyebrow{font-size:10px;letter-spacing:3px;color:var(--muted)}.topbar{height:97px;padding:48px 21px 5px;display:flex;align-items:center;justify-content:space-between;z-index:10}.topbar button{height:40px;min-width:40px;border-radius:50%;font-size:13px}.back{font:30px var(--hand)!important}.topbar .center-label{font-size:12px;color:#69725f;letter-spacing:2px}.topbar .quiet{font-size:11px;color:#738167}.screen-heading{text-align:center;margin:10px 22px 0}.screen-heading h2{font:30px/1.5 var(--hand);letter-spacing:2px;margin:8px 0 8px}.screen-heading p{font-size:12px;letter-spacing:1px;color:#7e8975}.primary{width:100%;border:1px solid #667c5960;border-radius:25px;background:#718763;color:#fffdf5;padding:15px 20px;font-size:14px;letter-spacing:2px;box-shadow:inset 0 0 20px #bfd0a82b}.secondary{width:100%;border-radius:25px;padding:14px 20px;font-size:13px;border:1px solid #cbd1bd;color:#65775b}.small-link{font-size:12px;padding:11px 12px;color:#758267}.bottom-actions{position:absolute!important;left:30px;right:30px;bottom:41px;text-align:center;z-index:20}.bottom-actions p{font-size:10px;color:#859076;letter-spacing:1px;margin:13px 0 0}.nav{position:absolute!important;left:0;right:0;bottom:0;height:91px;background:#faf7eff2;border-top:1px solid #e3e4d7;display:flex;padding:5px 28px 23px;justify-content:space-between;z-index:20}.nav button{width:72px;font-size:10px;color:#969a87;display:flex;flex-direction:column;align-items:center;gap:0;justify-content:center}.nav button.active{color:#485f40}.nav .nav-image{width:34px;height:34px}.nav .forest-nav{position:relative;width:32px;height:32px;display:grid;place-items:center;color:#839973;font-size:28px;font-family:var(--hand)}.nav .forest-nav:after{content:'♧';font-size:20px;position:absolute;left:17px;bottom:0;color:#b2bf95}.welcome .welcome-brand{position:absolute;top:100px;left:30px;right:30px;text-align:center}.welcome h2{font:44px var(--hand);letter-spacing:5px;margin:0 0 12px}.welcome-brand p{font:19px/1.85 var(--hand);letter-spacing:2px}.welcome .welcome-pig{position:absolute;bottom:185px;left:144px;width:126px;transform:rotate(-5deg);filter:drop-shadow(0 12px 7px #4d543326)}.welcome .tiny-note{position:absolute;bottom:167px;left:36px;right:36px;text-align:center;font:15px var(--hand);color:#435d36;letter-spacing:2px}.welcome .bottom-actions{bottom:49px}.welcome .version{position:absolute;top:62px;right:30px;font-size:9px;letter-spacing:1px;color:#6e8262}.login .login-logo{width:108px;margin:30px auto 18px;border-radius:24px}.login .screen-heading h2{font-size:28px}.login .login-form{margin:38px 32px 0}.login label{display:block;font-size:12px;color:#7c8771;margin-bottom:12px}.login input{width:100%;background:transparent;border:0;border-bottom:1px solid #bfc8b2;padding:13px 0;color:#4c5f44;outline:none;font:24px var(--hand);border-radius:0}.login input:focus{border-color:#576f49}.login .welcome-note{font:19px/2 var(--hand);margin-top:29px;color:#859177}.login .bottom-actions p{font-size:10px;letter-spacing:0;line-height:1.9}.walk .forest-bg{transform:none}.walk .walk-heading{position:absolute;top:126px;left:30px;right:30px;text-align:center;font:28px/1.7 var(--hand);letter-spacing:2px}.walk .walking-pig{position:absolute;width:144px;left:0;top:0;offset-position:0 0;offset-anchor:50% 92%;offset-rotate:0deg;transform-origin:50% 92%;offset-distance:0%;z-index:2}.walk .walking-pig.following-path{animation:forestPathTravel 8s linear both}.walk .walking-pig .sprite{width:100%;transform-origin:50% 92%;animation:waddle .54s ease-in-out infinite}.walk .walk-caption{position:absolute;bottom:55px;left:0;right:0;text-align:center;font:15px var(--hand);color:#60744f}.walk .skip{position:absolute;top:56px;right:24px;font-size:11px;padding:10px 15px;background:#faf7efbd;border-radius:20px;z-index:20}.walk .walk-wash{position:absolute;inset:0;background:linear-gradient(#fff8eaa8,transparent 50%)}.mood .forest-bg{opacity:.33;filter:saturate(.7)}.mood .forest-wash{background:linear-gradient(#faf7eff0,#faf7efca 30%,#faf7ef4a 65%,#faf7efe0)}.mood .screen-heading{margin-top:0}.mood .screen-heading h2{font-size:30px}.mood-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 25px;margin:24px 38px 0;z-index:5}.mood-card{padding:0 0 6px;border:1px solid transparent;border-radius:23px;transition:transform .2s;position:relative}.mood-card:hover{transform:translateY(-5px)}.mood-card .icon-art{width:115px;display:block;margin:auto;animation:appleAwake 1s both}.mood-card:nth-child(2) .icon-art{animation-delay:.12s}.mood-card:nth-child(3) .icon-art{animation-delay:.24s}.mood-card:nth-child(4) .icon-art{animation-delay:.36s}.mood-card strong{display:block;font:23px var(--hand);margin:0 0 6px}.mood-card small{font-size:10px;line-height:1.8;color:#78866b}.mood-card.selected{background:#faf7efd6;border-color:#a6b892;transform:scale(1.03)}.picker-footer{position:absolute!important;left:22px;right:22px;bottom:91px;height:131px;display:flex;align-items:center;gap:7px}.picker-footer .sprite{width:95px;flex-shrink:0;transform:rotate(-6deg)}.picker-footer p{font:16px/1.8 var(--hand);color:#788268;letter-spacing:1px}.pickup-apple{position:absolute;left:175px;top:290px;width:72px;z-index:16;animation:pickup 1.15s ease-in forwards}.comfort{background:#f9f6ed}.comfort.sad{background:#f0f3f0}.comfort.happy{background:#faf6e9}.comfort.angry{background:#fcf2e9}.comfort.anxious{background:#f8f4e6}.comfort .mood-tag{display:flex;align-items:center;gap:6px;justify-content:center;font-size:11px;color:#8c927d;letter-spacing:2px;margin-top:13px}.mood-tag .icon-art{width:27px}.comfort-stage{height:465px;margin-top:8px;position:relative}.comfort-halo{position:absolute;left:27px;right:27px;top:34px;height:330px;background:radial-gradient(ellipse,#e0ead3a8,transparent 69%);border-radius:50%}.sad .comfort-halo{background:radial-gradient(ellipse,#cbdfe9a8,transparent 70%)}.angry .comfort-halo{background:radial-gradient(ellipse,#f4d8c4a8,transparent 70%)}.anxious .comfort-halo{background:radial-gradient(ellipse,#f1e8bba8,transparent 70%)}.comfort-pig{position:absolute;left:28px;top:35px;width:334px;animation:breathe 4s ease-in-out infinite;transform-origin:50% 80%;z-index:4}.sad .comfort-pig{animation:sob 2.3s ease-in-out infinite;top:25px}.comfort-quote{position:absolute;left:22px;right:22px;bottom:11px;text-align:center;font:24px/1.75 var(--hand);letter-spacing:1px;color:#5e7260;z-index:6;animation:quoteIn 1.2s both}.sad .comfort-quote{color:#667b87}.angry .comfort-quote{color:#96715e}.comfort-sub{position:absolute;bottom:162px;left:24px;right:24px;text-align:center;font:15px/1.7 var(--hand);color:#909782;letter-spacing:1px}.comfort .bottom-actions{bottom:72px}.comfort .small-link{font-size:11px;margin-top:6px}.replay-control{position:absolute!important;right:24px;top:112px;padding:10px;z-index:20;font-size:11px;color:#7f8c72}.comfort.dissolving .comfort-stage,.comfort.dissolving .comfort-sub{animation:dissolve 1.2s ease-in forwards}.comfort.dissolving .bottom-actions{opacity:0;transition:opacity .4s}.particle{position:absolute;width:11px;height:6px;background:#9dac7b;border-radius:80% 0 80% 0;z-index:5;opacity:0;animation:leafDrift 5.6s linear infinite}.wind-line{position:absolute;height:17px;border-top:1px solid #98a986;border-radius:50%;z-index:5;width:88px;animation:wind 4s infinite;opacity:0}.hair{position:absolute;z-index:6;left:49%;top:51px;height:22px;width:15px;border-left:1.4px solid #8a7360;border-radius:50%;transform-origin:50% 100%;animation:hairSway 1.7s ease-in-out infinite}.hair.h2{left:51%;top:49px;animation-delay:.15s}.hair.h3{left:53%;top:55px;height:17px;animation-delay:.3s}.rain-drop{position:absolute;width:1px;height:16px;background:#97b4c9;transform:rotate(14deg);opacity:0;animation:rain 1.8s linear infinite;z-index:2}.tear{position:absolute;width:4px;height:9px;background:#8fc0d4;border-radius:70% 30% 70% 40%;top:240px;left:123px;z-index:7;animation:tearfall 1.5s infinite}.tear.t2{left:163px;animation-delay:.65s}.breath-ring{position:absolute;top:43px;left:43px;width:305px;height:305px;border:1px solid #c5cfac;border-radius:50%;animation:breathRing 6s infinite}.steam{position:absolute;top:35px;right:85px;font:36px var(--hand);color:#b4a58f;animation:steamAway 3.5s infinite}.book-transition .sprite{width:230px;position:absolute;left:80px;top:238px;animation:bookPig 2.4s both}.book-transition .book-art{position:absolute;width:155px;left:125px;top:340px;z-index:8;animation:bookZoom 2.6s ease-in-out both}.book-transition .moving-apple{position:absolute;width:62px;left:168px;top:311px;animation:putApple 1s ease-in forwards}.book-transition h2{text-align:center;position:absolute;top:150px;left:25px;right:25px;font:26px var(--hand);letter-spacing:2px}.book-transition p{position:absolute;bottom:100px;left:0;right:0;text-align:center;font:18px var(--hand);color:#8b937e}.journal{background:#f9f4e7}.journal .paper-margin{position:absolute;top:107px;bottom:125px;left:38px;width:1px;background:#d7b9a36e}.journal .paper-holes{position:absolute;left:13px;top:132px;bottom:130px;display:flex;flex-direction:column;justify-content:space-between}.journal .paper-holes i{width:9px;height:9px;border-radius:50%;background:#d6cdb72e;border:1px solid #d1c4aa70;box-shadow:inset 1px 1px 2px #927e5826}.journal-head{margin:17px 29px 0 55px;display:flex;align-items:center;justify-content:space-between}.journal-head .eyebrow{font-size:10px;letter-spacing:1.6px}.journal-head h2{font:28px var(--hand);margin:10px 0 0}.journal-head .icon-art{width:83px;transform:rotate(8deg)}.journal-date{font-size:10px;color:#949580;letter-spacing:1px;margin:20px 25px 13px 57px}.journal-title{margin:0 29px 4px 55px;font:24px var(--hand);line-height:40px;color:#696959}.writing-area{position:relative;margin:0 28px 0 55px;height:302px;background:repeating-linear-gradient(transparent 0,transparent 37px,#c9cdb459 38px,#c9cdb459 39px);background-position:0 0}.writing-area textarea{resize:none;background:transparent;border:0;outline:none;width:100%;height:100%;padding:4px 1px 0;line-height:39px;font-size:21px;letter-spacing:1px;font-family:var(--hand);color:var(--pencil);text-shadow:.3px .3px .2px #66645933;caret-color:#65744b;overflow:auto}.writing-area textarea::placeholder{color:#a3a58d;line-height:39px;font-size:18px}.writing-hint{display:flex;justify-content:space-between;align-items:center;margin:9px 31px 0 56px;color:#989b85;font-size:10px;min-height:20px}.writing-state{font-family:var(--hand);font-size:13px}.pencil-cursor{position:absolute;right:-12px;bottom:0;font-size:21px;color:#9e8962;pointer-events:none;opacity:0;transform:rotate(-32deg)}.writing-area.writing .pencil-cursor{opacity:1;animation:pencilWrite .35s infinite alternate}.journal .bottom-actions{bottom:45px;left:39px;right:28px}.journal .bottom-actions p{margin-top:10px;font-family:var(--hand);font-size:13px;letter-spacing:1px}.saved .screen-heading{margin-top:28px}.saved .screen-heading h2{font-size:29px}.saved-illustration{position:absolute;top:305px;left:30px;right:30px;height:250px}.saved-illustration .sprite{position:absolute;width:176px;top:-63px;left:86px;animation:savedPig 2.2s ease-in-out both}.saved-illustration .basket-art{position:absolute;width:240px;left:40px;top:32px}.saved-illustration .stored-apple{position:absolute;width:58px;left:135px;top:-13px;z-index:4;animation:dropApple 1.9s .3s cubic-bezier(.3,.1,.5,1) both}.saved-note{position:absolute;top:559px;left:34px;right:34px;text-align:center;font:18px/1.8 var(--hand);color:#849172}.saved .bottom-actions{bottom:71px}.saved .bottom-actions .small-link{margin-top:12px}.archive .screen-heading{margin-top:0}.archive .screen-heading h2{font-size:28px}.archive .screen-heading p{font-family:var(--hand);font-size:16px;letter-spacing:1px}.month-control{display:flex;align-items:center;justify-content:center;gap:21px;margin:12px 0 3px}.month-control button{padding:10px 12px;font-size:20px}.month-control span{font-size:11px;letter-spacing:2px;color:#8a947c}.basket-button{display:block;width:320px;height:278px;margin:6px auto 0;position:relative;border-radius:35px}.basket-button>.basket-art{width:320px;height:320px;position:absolute;inset:0;z-index:2}.basket-apples{position:absolute;left:50px;right:50px;top:81px;z-index:3;height:118px}.basket-apples .icon-art{position:absolute;width:44px;height:44px;filter:drop-shadow(0 2px 1px #655b4020)}.basket-apples.full .icon-art{width:36px;height:36px}.basket-empty-note{position:absolute;top:136px;left:55px;right:55px;z-index:4;font:17px var(--hand);color:#987e58}.basket-count{text-align:center;font:21px var(--hand);letter-spacing:1px;margin:2px 0 9px}.basket-count strong{font-weight:400;color:#738762;font-size:29px}.basket-hint{text-align:center;font-size:10px;color:#989d87;letter-spacing:1px}.mood-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin:21px 33px 0;border-top:1px solid #dfe3d4;padding-top:14px}.mood-stat{text-align:center}.mood-stat .icon-art{width:42px;display:block;margin:auto}.mood-stat span{font-size:10px;color:#7f8b70;display:block;margin-top:4px}.mood-stat b{font-weight:400;font-family:Georgia;font-size:16px;color:#667653;padding-left:4px}.archive .archive-cta{position:absolute;bottom:109px;left:51px;right:51px;text-align:center;font:16px var(--hand);letter-spacing:1px;padding:9px}.demo-pill{display:inline-block;padding:4px 9px;border:1px solid #cbd3bd;border-radius:15px;font-size:9px;letter-spacing:.5px;color:#8a9579;margin-left:9px;vertical-align:middle}.calendar .month-control{margin:18px 0 11px;gap:30px}.calendar .month-control span{font:24px var(--hand);letter-spacing:1px;color:#526d47}.calendar .screen-heading p{font:16px var(--hand)}.calendar-sheet{margin:17px 23px 0;padding:18px 12px 15px;border:1px solid #e6e0ce;border-radius:3px 3px 29px 3px;box-shadow:3px 5px 0 #e9e4d680;background:#fffdf666;position:relative}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;color:#999e87;font-size:10px;padding-bottom:15px}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:56px;gap:4px 0}.day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;font-family:Georgia;font-size:13px;padding:2px 0;border-radius:17px;min-width:0}.day .day-number{position:relative;z-index:3;display:grid;place-items:center;width:24px;height:24px}.day .icon-art{width:32px;position:absolute;top:23px}.day.today .day-number{background:#829873;color:#fff;border-radius:50%}.day.has-record:hover{background:#e7eddd}.calendar-caption{margin:22px 30px 0;display:flex;align-items:center;gap:12px;font-size:11px;color:#949b84}.calendar-caption .icon-art{width:30px;flex-shrink:0}.calendar .bottom-actions{bottom:116px;left:40px;right:40px}.calendar .bottom-actions p{font:14px var(--hand);color:#90977e}.detail .detail-text{margin:8px 30px 0 55px;white-space:pre-wrap;font:21px/39px var(--hand);letter-spacing:1px;color:#6d6b5d;background:repeating-linear-gradient(transparent 0,transparent 37px,#c9cdb459 38px,#c9cdb459 39px);height:300px;padding:4px 1px;overflow:auto}.detail .detail-text.empty{color:#a3a58d;font-size:18px}.detail .detail-controls{display:flex;gap:12px}.detail .delete-record{font-size:11px;color:#aa9280;padding:14px 20px;margin-top:7px}.profile .profile-pig{width:142px;margin:8px auto 5px}.profile .screen-heading h2{font-size:28px}.profile .screen-heading p{font:16px var(--hand)}.settings-list{margin:28px 30px 0;border-top:1px solid #e0e3d4}.setting-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:20px 0;border-bottom:1px solid #e0e3d4;font-size:12px;text-align:left}.setting-row span small{display:block;margin-top:7px;color:#a1a78d;font-size:10px}.toggle{display:inline-block;width:37px;height:22px;background:#d6ddcd;border-radius:14px;position:relative;flex-shrink:0}.toggle:after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fffaf0;transition:left .2s}.toggle.on{background:#829774}.toggle.on:after{left:18px}.profile-note{font:16px/1.9 var(--hand);text-align:center;margin:30px;color:#929b82}.empty-day-art{width:125px;margin:30px auto;display:block}.empty-day .screen-heading{margin-top:60px}.empty-day .screen-heading h2{font-size:25px}.empty-day .screen-heading p{font:17px/1.8 var(--hand);letter-spacing:0}.modal-shade{position:absolute;inset:0;background:#41543a50;z-index:60;display:flex;align-items:flex-end;padding:18px;backdrop-filter:blur(3px)}.modal{background:#faf7ef;border-radius:25px;padding:26px 24px 22px;width:100%;box-shadow:0 12px 40px #31412b30;margin-bottom:12px}.modal h3{font:25px var(--hand);margin-bottom:12px}.modal p{font-size:12px;color:#8a937b}.modal .primary,.modal .secondary{margin-top:10px;font-size:13px}.modal input{border:0;border-bottom:1px solid #ccd2be;padding:12px 0;background:none;width:100%;outline:none;font:22px var(--hand);margin-bottom:20px}.danger-button{background:#ab806d;border-color:#ab806d}#toast{position:absolute;left:30px;right:30px;bottom:107px;padding:13px 15px;background:#516249e8;color:#fffcf2;border-radius:15px;z-index:90;font-size:12px;text-align:center;opacity:0;pointer-events:none;transform:translateY(8px);transition:.3s}#toast.visible{opacity:1;transform:none}.fade-out{animation:pageOut .4s forwards!important}.reduce-motion *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.export-mode .status-bar,.export-mode .home-indicator,.export-mode .topbar,.export-mode .bottom-actions,.export-mode .replay-control{display:none}.export-mode .comfort .mood-tag{margin-top:40px}.export-mode .comfort-stage{margin-top:14px}.export-mode .comfort-sub{bottom:55px}.export-mode .comfort-stage{height:470px}.export-mode .comfort{animation:none!important}
@keyframes pageIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes pageOut{to{opacity:0;transform:translateY(-8px)}}@keyframes quoteIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes forestForward{to{transform:scale(1.14) translateY(16px)}}@keyframes walkAway{0%{transform:translate(0,0) scale(1)}40%{transform:translate(22px,-56px) scale(.87)}100%{transform:translate(-8px,-165px) scale(.64)}}@keyframes waddle{0%,100%{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(4deg) translateY(-6px)}}@keyframes appleAwake{0%{opacity:0;transform:translateY(-16px) scale(.76) rotate(-9deg);filter:saturate(.1)}70%{transform:translateY(3px) scale(1.04) rotate(2deg)}100%{opacity:1;transform:none;filter:none}}@keyframes pickup{0%{transform:translate(0,0) scale(1);opacity:1}45%{transform:translate(-40px,-40px) scale(1.2)}100%{transform:translate(-104px,312px) scale(.35);opacity:0}}@keyframes breathe{0%,100%{transform:scale(1) rotate(-.5deg)}50%{transform:scale(1.018) rotate(.8deg)}}@keyframes sob{0%,100%{transform:translateY(0) rotate(-.5deg)}45%{transform:translateY(-2px) rotate(.5deg)}55%{transform:translateY(1px)}65%{transform:translateY(-1px)}}@keyframes leafDrift{0%{transform:translate(-35px,0) rotate(-15deg);opacity:0}15%,75%{opacity:.6}100%{transform:translate(300px,-50px) rotate(160deg);opacity:0}}@keyframes wind{0%{opacity:0;transform:translateX(-60px)}35%{opacity:.45}100%{opacity:0;transform:translateX(190px)}}@keyframes hairSway{0%,100%{transform:rotate(-10deg)}50%{transform:rotate(35deg) skewX(10deg)}}@keyframes rain{0%{transform:translate(12px,-20px) rotate(14deg);opacity:0}20%{opacity:.55}100%{transform:translate(-23px,260px) rotate(14deg);opacity:0}}@keyframes tearfall{0%{opacity:0;transform:translateY(0)}20%{opacity:.6}100%{opacity:0;transform:translateY(36px)}}@keyframes breathRing{0%,100%{transform:scale(.88);opacity:.3}50%{transform:scale(1.1);opacity:.65}}@keyframes steamAway{0%{transform:translateY(15px);opacity:0}30%{opacity:.5}100%{transform:translateY(-30px);opacity:0}}@keyframes dissolve{0%{opacity:1;filter:blur(0);transform:translateY(0)}100%{opacity:0;filter:blur(8px);transform:translateY(-13px)}}@keyframes bookPig{0%,35%{opacity:1;transform:translateY(0)}70%,100%{opacity:0;transform:translateY(30px)}}@keyframes putApple{0%{transform:translateY(-18px);opacity:1}100%{transform:translate(17px,100px) scale(.3);opacity:0}}@keyframes bookZoom{0%,25%{transform:scale(.2) rotate(-15deg);opacity:0}45%{transform:scale(1) rotate(-8deg);opacity:1}75%{transform:scale(1.2) rotate(0)}100%{transform:scale(5);opacity:0}}@keyframes pencilWrite{to{transform:rotate(-25deg) translateX(2px)}}@keyframes savedPig{0%{opacity:0;transform:translateX(-60px)}50%,100%{opacity:1;transform:none}}@keyframes dropApple{0%{transform:translate(-36px,-50px) rotate(-20deg);opacity:0}15%{opacity:1}75%{transform:translate(0,79px) rotate(3deg)}90%{transform:translate(0,69px) rotate(0)}100%{transform:translate(0,76px);opacity:1}}
@media(max-height:980px) and (min-width:761px){.exhibit{padding:32px;gap:64px}.device-wrap{height:calc(844px * .87 + 37px);width:calc(390px * .87);position:relative}.device{transform:scale(.87);transform-origin:top left}.device-caption{position:absolute;top:calc(844px * .87);width:100%;font-size:12px}.brand-panel{width:235px}.guide-panel{width:218px}}
@media(max-width:1120px){.exhibit{gap:42px}.brand-panel{width:205px}.brand-panel h1{font-size:36px}.guide-panel{width:188px}.guide-panel h2{font-size:22px}}
@media(max-width:900px){.guide-panel{display:none}.exhibit{gap:70px}}
@media(max-width:760px){html,body{background:var(--paper);height:100%;overflow:hidden}.exhibit{padding:0;display:block;min-height:100%;height:100%;background:var(--paper)}.brand-panel,.guide-panel,.device-caption{display:none}.device-wrap{width:100%;height:100%}.device{width:100%;height:100dvh;min-height:640px;border-radius:0;box-shadow:none;transform:none}.status-bar{padding-top:env(safe-area-inset-top);height:46px}.home-indicator{bottom:max(8px,env(safe-area-inset-bottom))}.comfort-pig{width:calc(100% - 56px)}.mood-grid{margin-top:20px}.comfort-stage{height:min(55dvh,465px)}.writing-area{height:calc(100dvh - 527px);min-height:188px}.device .detail-text{height:calc(100dvh - 495px);min-height:180px}.nav{padding-bottom:max(23px,env(safe-area-inset-bottom))}}
@media(max-height:740px) and (max-width:760px){.welcome .welcome-brand{top:85px}.welcome .welcome-pig{bottom:151px;width:111px}.welcome .tiny-note{bottom:142px}.screen-heading h2{font-size:26px}.mood-grid{gap:8px 25px;margin-top:8px}.mood-card .icon-art{width:88px}.picker-footer{height:90px;bottom:87px}.picker-footer .sprite{width:73px}.comfort-stage{height:365px;margin-top:0}.comfort-pig{width:290px;left:calc(50% - 145px);top:15px}.comfort-quote{font-size:21px;bottom:0}.comfort-sub{bottom:144px}.comfort .bottom-actions{bottom:42px}.comfort .mood-tag{margin-top:0}.comfort .hair{top:29px}.journal-head{margin-top:0}.journal-head .icon-art{width:57px}.journal-date{margin-top:10px}.journal .bottom-actions{bottom:36px}.basket-button{height:237px;width:285px}.basket-button>.basket-art{width:285px;height:285px}.basket-apples{top:72px;left:43px;right:43px}.mood-stats{margin-top:14px;padding-top:8px}.calendar .screen-heading{margin-top:0}.calendar .screen-heading h2{font-size:24px;margin-bottom:3px}.calendar .screen-heading p{font-size:14px;margin-bottom:3px}.calendar .month-control{margin:0}.calendar-sheet{margin-top:5px;padding-top:12px}.calendar-days{grid-auto-rows:48px;gap:0}.calendar-caption{margin-top:12px}.calendar .bottom-actions{bottom:99px}.calendar .bottom-actions p{display:none}.saved .screen-heading{margin-top:8px}.saved-illustration{top:253px}.saved-note{top:470px}.saved .bottom-actions{bottom:38px}.profile .profile-pig{width:98px}.settings-list{margin-top:14px}.setting-row{padding:14px 0}.profile-note{margin-top:19px}.book-transition h2{top:115px}.book-transition .sprite{top:190px}.book-transition .book-art{top:285px}.book-transition .moving-apple{top:265px}}
@media(prefers-reduced-motion:reduce){.screen,.mood-card .icon-art{animation:none}}
/* Final illustrated cutouts and spacing refinement. */
.sprite{background-image:url('assets/characters-cute-v2.webp');mix-blend-mode:normal}
.icon-art{background-image:url('assets/icons-alpha.webp');mix-blend-mode:normal}
.app-icon{background-color:#e4e8d8}
.welcome .welcome-pig{width:134px;left:134px}
.mood .forest-bg{opacity:.5}
.mood .forest-wash{background:linear-gradient(#faf7efed,#faf7efcc 30%,#faf7ef55 65%,#faf7efdf)}
.archive .basket-button{width:300px;height:242px;margin-top:10px}
.archive .basket-button>.basket-art{width:300px;height:300px;top:-24px}
.archive .basket-apples{top:49px;left:45px;right:45px}
.archive .mood-stats{margin-top:20px}
.archive .archive-cta{font-size:14px;bottom:106px}
.calendar .screen-heading h2{font-size:24px;letter-spacing:0;margin-top:13px}
.calendar .screen-heading p{font-size:14px;margin-bottom:8px}
.calendar .calendar-sheet{margin-top:9px}
.calendar .calendar-caption{margin-top:15px;font-size:10px}
.calendar .bottom-actions{bottom:111px}
.calendar .bottom-actions .secondary{padding:10px 20px;font-size:12px}
.calendar .bottom-actions p{display:none}
@media(max-height:740px) and (max-width:760px){
 .archive .basket-button{width:270px;height:206px;margin-top:0}
 .archive .basket-button>.basket-art{width:270px;height:270px;top:-26px}
 .archive .basket-apples{top:45px;left:40px;right:40px;transform:scale(.86);transform-origin:top left}
 .archive .mood-stats{margin-top:12px}
 .archive .archive-cta{bottom:98px}
 .calendar .screen-heading h2{font-size:22px;margin-top:0}
 .calendar .calendar-caption{margin-top:8px}
 .calendar .bottom-actions{bottom:100px}
}
@media(max-height:740px) and (max-width:760px){
 .archive .screen-heading .eyebrow{display:none}
 .archive .screen-heading h2{font-size:25px;margin:0 0 3px}
 .archive .screen-heading p{font-size:14px;margin-bottom:4px;line-height:1.7}
 .archive .month-control{margin:0;height:39px}
 .archive .basket-button{width:246px;height:177px;margin:0 auto}
 .archive .basket-button>.basket-art{width:246px;height:246px;top:-23px}
 .archive .basket-apples{top:32px;left:34px;right:34px;transform:scale(.79)}
 .archive .basket-count{font-size:18px;line-height:1.7;margin:0 0 4px}
 .archive .basket-count strong{font-size:24px}
 .archive .basket-hint{font-size:9px;margin:4px 0}
 .archive .mood-stats{margin-top:10px;padding-top:7px}
 .archive .mood-stat .icon-art{width:30px}
 .archive .mood-stat span{font-size:9px;margin-top:2px}
 .archive .mood-stat b{font-size:14px}
 .archive .archive-cta{bottom:98px;padding:6px;font-size:13px}
 .calendar .bottom-actions{display:none}
}

/* Round baby-pig mascot revision. */
.comfort .hair{left:34%;top:63px;height:22px}
.comfort .hair.h2{left:36%;top:59px;height:24px}
.comfort .hair.h3{left:38%;top:65px;height:19px}
@media(max-height:740px) and (max-width:760px){.comfort .hair{top:43px}.comfort .hair.h2{top:39px}.comfort .hair.h3{top:45px}}


@keyframes forestPathTravel{
  0%{offset-distance:0%;transform:scale(1)}
  25%{offset-distance:30%;transform:scale(.84)}
  50%{offset-distance:58%;transform:scale(.62)}
  75%{offset-distance:84%;transform:scale(.34)}
  100%{offset-distance:100%;transform:scale(.12)}
}
@media(prefers-reduced-motion:reduce){.walk .walking-pig.following-path{animation-duration:.01ms}.walk .walking-pig .sprite{animation:none}}

/* Keep mood cards and the companion message in one flow, even in short embeds. */
.mood{display:flex;flex-direction:column;padding-bottom:91px}
.mood>.topbar,.mood>.screen-heading{flex:none}
.mood-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding-bottom:14px;scrollbar-width:thin;scrollbar-color:#a9b99b transparent}
.mood .mood-grid{margin:14px 24px 0;gap:18px 16px}
.mood .mood-card{min-width:0;padding:0 0 6px}
.mood .mood-card .icon-art{width:clamp(80px,13dvh,112px);max-width:100%}
.mood .mood-card strong{font-size:23px;line-height:1.4;margin:3px 0 5px}
.mood .mood-card small{display:block;font-size:10px;line-height:1.8;overflow-wrap:break-word}
.mood .picker-footer{position:relative!important;inset:auto;height:auto;min-height:90px;margin:20px 22px 0;gap:12px;align-items:center}
.mood .picker-footer .sprite{width:clamp(73px,11dvh,95px)}
.mood .picker-footer p{flex:1;min-width:0;margin:0;font-size:15px;line-height:1.9;letter-spacing:.5px}
@media(max-width:760px){.device:has(.mood){min-height:0}}

/* A single lightweight, rounded line-art family for all four destinations. */
.nav button{gap:3px;color:#89947e}
.nav .nav-symbol{display:block;flex:none;width:29px;height:29px;padding:2px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.nav button.active{color:#506c42}
.nav button.active .nav-symbol{background:#e6ebdd;border-radius:9px}
