body.family-mode{margin:0;background:#f8f5ec;color:#4b594a;overflow:auto;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-size:14px}.family-mode *{box-sizing:border-box}.family-mode button,.family-mode input,.family-mode select{font:inherit}.family-mode button{cursor:pointer}.family-mode button:disabled{cursor:default;opacity:.48}.family-mode button:focus-visible,.family-mode a:focus-visible{outline:3px solid #c79865;outline-offset:4px}.family-mode h1,.family-mode h2,.family-mode h3,.family-mode p{margin:0}.family-mode h1{font-size:38px;font-weight:650;letter-spacing:.02em}.family-mode h2{font-size:25px;line-height:1.4;margin-bottom:16px}.family-mode h3{font-size:17px;line-height:1.6}.family-mode p{line-height:1.9}.family-mode small{font-size:11px}.f-eyebrow{font-size:10px!important;letter-spacing:2.5px;color:#909b86;margin-bottom:14px!important}.f-muted{color:#879080;font-size:13px;margin-bottom:22px!important}.f-footnote{font-size:11px!important;color:#939889;line-height:1.8!important;margin-top:20px!important}.f-button{display:inline-flex;align-items:center;justify-content:center;grid-gap:8px;gap:8px;padding:12px 19px;min-height:44px;border:1px solid #dfe2d4;border-radius:15px;background:#fffcf5;color:#57654f;font-weight:550;transition:background .2s,transform .2s;text-decoration:none}.f-button:hover:not(:disabled){background:#edf0e2;transform:translateY(-1px)}.f-button.f-primary{background:#7e9476;color:#fffaf0;border-color:#7e9476;box-shadow:0 5px 13px #7e947620}.f-button.f-primary:hover:not(:disabled){background:#6e8667}.f-button.selected{background:#e2e8d6;border-color:#92a383}.f-button.f-text-button{background:none;border:0;color:#819171;padding:8px 0;min-height:32px;font-size:12px}.f-wide{width:100%;margin-top:18px}.f-actions{display:flex;grid-gap:10px;gap:10px;flex-wrap:wrap;margin-top:20px}.f-welcome{min-height:100vh;min-height:100svh;max-width:1100px;margin:auto;padding:65px 35px 35px;text-align:center;background:radial-gradient(ellipse at 50% 20%,#e7ecd965,transparent 65%)}.f-leaf-mark{margin:auto auto 15px;color:#94a285;font-size:60px;line-height:1}.f-welcome h1{font-size:46px;letter-spacing:8px}.f-intro{color:#83917a;margin:22px 0 34px!important;font-size:16px;letter-spacing:2px}.f-mode-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px;max-width:760px;margin:auto}.f-mode-card{text-align:left;border:1px solid #e1e4d6;background:#fffcf5;border-radius:30px;padding:25px 30px;box-shadow:0 14px 45px #6c7b5710;color:#53624c;transition:transform .2s,border-color .2s}.f-mode-card:hover{transform:translateY(-5px);border-color:#9fae91}.f-mode-art{display:block;font-size:55px;background:radial-gradient(ellipse,#dce6cb,#f2f4e8 70%);height:100px;border-radius:20px;text-align:center;padding:15px;margin-bottom:20px}.f-mode-family .f-mode-art{background:radial-gradient(ellipse,#ecd6ad,#f6ecda 70%)}.f-mode-card strong{display:block;font-size:25px;margin:7px 0 13px}.f-mode-card small{color:#9caa90;letter-spacing:1px}.f-mode-card p{font-size:12px;color:#89947f}.f-link{display:block;margin-top:24px;font-size:13px;color:#829571}.f-switch-free{position:fixed;bottom:15px;left:20px;z-index:12;border:1px solid #d7dfca;border-radius:20px;background:#faf7efdd;color:#75856d;padding:9px 15px;font-size:11px}.family-shell{min-height:100vh;min-height:100svh;max-width:1700px;margin:auto;padding:26px 40px 18px}.f-header{display:flex;justify-content:space-between;align-items:center;height:62px;position:relative;z-index:2}.f-brand{display:flex;grid-gap:12px;gap:12px;align-items:center;color:inherit;text-decoration:none}.f-brand-symbol{display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:#e6ebd9;color:#819672;font-size:37px}.f-brand strong{font-size:21px;letter-spacing:3px;display:block}.f-brand small{font-size:10px;color:#a1a58f;letter-spacing:1.5px;display:block;margin-top:4px}.f-header-right{display:flex;align-items:center;grid-gap:24px;gap:24px}.f-wallet{background:#f3eddc;border:1px solid #e7dec4;border-radius:25px;font-size:12px;padding:9px 16px;grid-gap:9px;gap:9px}.f-wallet b{font-size:18px;color:#987e4e}.f-coin{display:grid;place-items:center;background:#d9bd80;color:#fcf0d5;width:25px;height:25px;border-radius:50%;border:2px solid #c6a86a;font-size:17px}.f-parent-link{border:none;background:transparent;color:#929b89;font-size:12px}.f-stage{position:relative;height:calc(100vh - 230px);height:calc(100svh - 230px);min-height:510px;max-height:820px}.f-stage:before{content:"";position:absolute;inset:10% 10% 0 15%;border-radius:50%;background:radial-gradient(ellipse,#e7ead74d,transparent 65%);pointer-events:none}#f-world{position:absolute;inset:0 -10px 0 70px}#f-world canvas{display:block;touch-action:none}.f-world-caption{position:absolute;right:6px;top:28px;color:#9da58f;font-size:10px;display:flex;align-items:center;grid-gap:9px;gap:9px;letter-spacing:1px}.f-dot{width:5px;height:5px;background:#a2b58c;border-radius:50%}.f-pet-card{position:absolute;top:40px;left:5px;width:214px;background:#faf8eee8;border:1px solid #eeebdf;border-radius:23px;padding:24px 20px;box-shadow:0 10px 35px #7e82620a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.f-pet-card .f-eyebrow{font-size:8px!important;letter-spacing:1.5px}.f-pet-card h1{display:flex;justify-content:space-between;font-size:28px}.f-tiny-flower{color:#c4a476;font-size:27px}.f-star-row{display:flex;flex-direction:column;grid-gap:5px;gap:5px;margin:10px 0 22px}#f-stars{color:#b8a16e;letter-spacing:3px;font-size:15px}#f-star-title{color:#97a087}.f-need{display:flex;align-items:center;grid-gap:8px;gap:8px;font-size:10px;margin:13px 0;color:#94a085}.f-need progress{width:104px;height:7px;border:0;border-radius:8px;overflow:hidden;appearance:none}.family-mode progress::-webkit-progress-bar{background:#e9ebdd;border-radius:8px}.family-mode progress::-webkit-progress-value{background:#9fb08e;border-radius:8px}#f-mood::-webkit-progress-value{background:#d9b07f}.f-need b{font-size:10px;width:20px;font-weight:500}.f-pet-card #f-status{font-size:10px;color:#a0a48f;border-top:1px solid #e9e7d9;padding-top:14px;margin-top:16px;min-height:44px}.f-pet-card .f-text-button{font-size:10px}#f-holiday{font-size:10px;color:#a38865}.f-goal{position:absolute;bottom:25px;left:50%;transform:translate(-50%);display:flex;align-items:center;grid-gap:15px;gap:15px;min-width:350px;padding:17px 24px;border:1px solid #e2e5d5;border-radius:22px;background:#fdfcf3ed;box-shadow:0 8px 35px #65754710;color:#6a795d;text-align:left;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.f-goal-icon{font-size:24px}.f-goal small{display:block;color:#a1ab8f;font-size:10px;letter-spacing:1px;margin-bottom:5px}.f-goal strong{font-size:13px;font-weight:550}.f-goal>span:last-child{margin-left:auto}.f-camera{position:absolute;right:0;bottom:28px;display:flex;grid-gap:6px;gap:6px}.f-camera button{width:39px;height:39px;min-height:39px;border-radius:50%;padding:0;background:#fcfaf0e8;font-size:18px;color:#a3a98f;border-color:#e5e6d7}.f-nav{display:flex;justify-content:center;grid-gap:14px;gap:14px;position:relative;z-index:2;margin-top:8px}.f-nav .f-button{width:100px;height:76px;display:flex;flex-direction:column;grid-gap:8px;gap:8px;background:#fbf9ef;border:1px solid #e9e7d9;border-radius:20px;box-shadow:0 4px 12px #69795506}.f-nav span{font-size:23px;line-height:1}.f-nav strong{font-size:11px;letter-spacing:2px;font-weight:550}.f-page-note{text-align:center;font-size:9px;color:#a8ac97;letter-spacing:1px;margin-top:18px!important}.f-dialog{position:fixed;margin:auto;width:660px;max-width:calc(100vw - 32px);max-height:86vh;max-height:86svh;border:1px solid #e4e4d4;border-radius:28px;padding:0;background:#fcfaf2;color:#52604b;box-shadow:0 25px 100px #39422b26;overflow:auto}.f-dialog::backdrop{background:#4c584544;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.f-dialog-body{padding:36px}.f-close{position:sticky;float:right;top:14px;margin:12px 12px -45px 0;right:14px;z-index:4;border:0;background:#edeedd;width:32px;height:32px;min-height:32px;border-radius:50%;font-size:23px;color:#8e967e}.family-mode label{display:flex;flex-direction:column;grid-gap:8px;gap:8px;color:#839078;font-size:12px;margin:17px 0}.family-mode input,.family-mode select{border:1px solid #dee1d1;border-radius:13px;padding:12px 14px;min-height:46px;background:#fffef7;color:#58654c;width:100%;outline:none}.family-mode input:focus,.family-mode select:focus{border-color:#95a581;box-shadow:0 0 0 3px #b8c5a633}.family-mode hr{border:0;border-top:1px solid #e3e5d5;margin:28px 0}.family-mode .f-check{flex-direction:row;align-items:center}.f-check input{width:18px;min-height:18px;accent-color:#869877}.f-form-error,#f-form-error{font-size:12px;color:#ae715c}.f-onboarding{display:grid;grid-template-columns:1.35fr 1fr;min-height:100vh;min-height:100svh;max-width:1500px;margin:auto;padding:35px}.f-onboard-art{min-height:550px;align-self:stretch}.f-onboard-form{padding:20px 35px;max-width:480px;align-self:center}.f-onboard-form h1{line-height:1.5;margin-bottom:20px}.f-species-options{display:flex;grid-gap:8px;gap:8px;margin-bottom:24px}.f-species-options button{flex:1;font-size:12px;padding:10px}.f-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.f-choice{display:flex;flex-direction:column;padding:22px 10px}.f-choice>span{font-size:30px}.f-choice small{color:#99a389;font-size:10px}.f-product-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:18px;gap:18px}.f-product{padding:15px;border:1px solid #e5e5d6;background:#fffdf5;border-radius:22px;text-align:left;color:#5c684f;transition:transform .2s}.f-product:hover{transform:translateY(-3px)}.f-product-art{display:grid;place-items:center;height:110px;background:radial-gradient(ellipse,var(--item-color),#f6f3e7 73%);font-size:52px;border-radius:15px}.f-product-kind{display:block;font-size:9px;color:#a1a68f;margin:15px 0 5px}.f-product strong{font-size:16px}.f-product p{font-size:11px;color:#99a18d;margin-top:10px;min-height:42px}.f-product>div{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eeeddf;margin-top:14px;padding-top:12px}.f-product>div b{color:#b1996a}.f-product>div span{font-size:10px;color:#a1ab91}.f-shop-banner{display:flex;justify-content:space-between;align-items:center;background:#edf0e1;border-radius:15px;padding:12px 18px;margin-bottom:20px;font-size:12px}.f-shop-banner .f-text-button{font-size:11px}.f-wish-line{font-size:11px;color:#a18b66;margin-bottom:20px!important}.f-product-hero{height:155px;background:radial-gradient(ellipse,var(--item-color),#f6f4e8 67%);display:grid;place-items:center;font-size:72px;border-radius:22px;margin:10px 0 25px}.f-product-facts p{font-size:12px;color:#939e87;margin-bottom:15px}.f-product-facts b{display:inline-block;color:#637158;margin-right:15px}.f-price-line{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e7e6d7;padding-top:20px;margin-top:20px}.f-price-line strong{color:#a58958;font-size:15px}.f-price-line span{font-size:11px;color:#9aa68b}.f-colors{display:flex;grid-gap:12px;gap:12px;margin:16px 0}.f-swatch{border:3px solid #fcfaf2;width:39px;height:39px;border-radius:50%;color:#fff;font-size:17px;box-shadow:0 0 0 1px #d6ddc9}.f-swatch[aria-pressed=true]{box-shadow:0 0 0 2px #8ca17a}.f-wish-progress{width:100%;height:14px;border:0;border-radius:10px;overflow:hidden;margin:18px 0;appearance:none}.f-empty{text-align:center;padding:35px 10px;font-size:50px;width:100%;grid-column:1/-1}.f-empty h3{font-size:19px;margin:20px 0 12px}.f-empty p{font-size:13px;color:#939e87}.f-empty .f-button{margin-top:20px;font-size:13px}.f-balance-large{font-size:42px;color:#ab905b;background:#f1ecda;border-radius:20px;padding:25px;text-align:center;margin:20px 0}.f-balance-large small{display:block;margin-top:10px;color:#9c9e85}.f-ledger>div{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid #e8e8d9}.f-ledger b{display:block;font-size:12px;font-weight:500}.f-ledger small{display:block;color:#a0a78e;margin-top:7px}.f-ledger strong{color:#a98d6d}.f-ledger strong.positive{color:#87a073}.f-growth-hero{display:flex;align-items:center;grid-gap:22px;gap:22px;padding:24px;background:#edf0e1;border-radius:22px;margin:20px 0 28px}.f-growth-hero>span{font-size:50px}.f-growth-hero small{color:#95a086}.f-gold{color:#b8a06d;letter-spacing:4px;margin:7px 0!important}.f-book-nodes{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:8px;gap:8px;margin:16px 0}.f-book-nodes span{padding:14px 12px;background:#f2f1e7;border-radius:12px;font-size:11px;color:#adb19e}.f-book-nodes .done{background:#e7edda;color:#7f946d}.f-milestones{display:flex;grid-gap:10px;gap:10px;margin-bottom:16px}.f-milestones span{border:1px solid #e4e5d6;border-radius:12px;padding:10px;font-size:9px;color:#a8ad97}.f-milestones .done{color:#a18a5f;background:#f5edda}.f-route-list{display:flex;flex-direction:column;grid-gap:18px;gap:18px;margin-top:16px}.f-route-list article{padding:18px;background:#f6f5e9;border:1px solid #e5e7d6;border-radius:20px}.f-route-list article>div{display:flex;align-items:center;grid-gap:10px;gap:10px;margin-bottom:12px}.f-route-list article>div>span{font-size:26px}.f-route-list small{margin-left:auto;color:#a6af95;font-size:10px}.f-route-step{display:flex;width:100%;justify-content:flex-start;font-size:12px;margin-top:7px}.f-decor-preview{height:160px;border-radius:24px;background:radial-gradient(ellipse,var(--decor-color),#f7f4e8 72%);display:flex;align-items:center;justify-content:center;grid-gap:30px;gap:30px;font-size:44px}.f-doorway{display:flex;align-items:center;grid-gap:15px;gap:15px;width:100%;padding:20px;text-align:left;background:#eaf0de;border:1px solid #dfe6cf;border-radius:20px;margin:20px 0;color:#7e916d}.f-doorway>span{font-size:28px}.f-doorway p{font-size:11px;color:#9baa8e}.f-doorway>span:last-child{margin-left:auto;font-size:20px}.f-map-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.f-map-grid article{padding:20px;border:1px solid #e3e4d5;border-radius:24px;background:linear-gradient(145deg,#fcfbf3 50%,var(--place-color))}.f-map-grid article>span{display:block;font-size:40px;margin-bottom:14px}.f-map-grid small{font-size:8px;letter-spacing:1px;color:#a6ae96}.f-map-grid h3{margin:8px 0}.f-map-grid p{font-size:10px;color:#8e9a80}.f-map-grid .f-button{font-size:11px;padding:11px 13px;margin-top:15px;width:100%}.f-map-grid .f-text-button{margin-top:3px}.f-pet-list article{display:flex;align-items:center;grid-gap:18px;gap:18px;padding:20px 0;border-bottom:1px solid #e4e6d5}.f-pet-list article>span{font-size:36px}.f-pet-list p{font-size:12px;color:#9aa68b}.f-pet-list small{font-size:10px;color:#b09a71}.f-pet-list button{margin-left:auto;font-size:11px}.f-album-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}.f-album-grid button{padding:10px 10px 15px;background:#fffdf6;border:1px solid #e7e6d9;border-radius:15px;text-align:left;color:#8c977f}.f-album-grid img{width:100%;aspect-ratio:1.25;object-fit:cover;background:#f1f0e5;border-radius:8px}.f-album-grid strong{font-size:11px;display:block;margin:10px 3px 5px}.f-album-grid small{font-size:9px;margin:0 3px;color:#adb198}.f-full-photo{display:block;max-width:100%;border-radius:12px;margin-bottom:20px;background:#eeeeda}.f-journal article{padding:20px 0;border-bottom:1px dashed #dce0ca}.f-journal small{color:#b2b69d;font-size:10px}.f-journal p{margin-top:12px;font-size:13px;line-height:2.1}.f-journal{margin-bottom:28px}#f-toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,20px);padding:15px 23px;max-width:calc(100vw - 32px);width:max-content;border-radius:18px;background:#647857;color:#fffcf0;font-size:12px;line-height:1.8;z-index:100;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;box-shadow:0 8px 40px #4d653b2b}#f-toast.visible{opacity:1;transform:translate(-50%)}#f-play-panel{position:absolute;right:0;bottom:15px;width:min(460px,55%);z-index:3;background:#fdfbf1f5;border:1px solid #e1e4d1;border-radius:25px;padding:25px;box-shadow:0 16px 45px #5e734e20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}#f-play-panel[hidden]{display:none}#f-play-panel h2{font-size:21px;margin-bottom:10px}#f-play-panel p{font-size:12px;color:#92a082}#f-play-panel .f-button{font-size:12px;padding:11px 14px}#f-play-panel .f-eyebrow{font-size:9px!important}#f-play-panel .f-story-art{font-size:37px;letter-spacing:9px;text-align:center;padding:22px 10px;background:#f0f2e5;border-radius:15px;margin-top:16px}.f-success-mark{font-size:35px;color:#c3a163}.f-race-panel{width:calc(100% - 260px)!important;top:35px;bottom:15px!important;overflow:auto}.f-race-world{height:300px;min-height:220px}.f-race-stat{display:flex;justify-content:space-between;font-size:11px;color:#8b9c7b;margin:16px 0}.f-race-panel .f-button{flex-direction:column;grid-gap:3px;gap:3px}.f-race-panel .f-button small{font-size:9px;font-weight:400}@media(min-width:1450px){.f-stage{height:calc(100vh - 230px);height:calc(100svh - 230px)}.f-pet-card{top:70px;left:25px}.f-goal{bottom:40px}#f-world{inset:0 20px 0 100px}}@media(max-width:900px){.family-shell{padding:18px 20px 14px}.f-stage{min-height:480px;height:calc(100vh - 220px);height:calc(100svh - 220px)}.f-pet-card{width:170px;padding:17px 14px}.f-pet-card h1{font-size:23px}.f-pet-card .f-eyebrow{font-size:6px!important}.f-need progress{width:78px}.f-need{grid-gap:5px;gap:5px}.f-nav{grid-gap:8px;gap:8px}.f-nav .f-button{width:82px}#f-world{inset:20px -20px 20px 25px}.f-camera{bottom:10px}.f-goal{bottom:12px;left:40%;min-width:285px;padding:13px 17px}.f-goal strong{font-size:11px}.f-onboarding{grid-template-columns:1fr 1fr;padding:15px}.f-onboard-form{padding:20px}.f-race-panel{width:calc(100% - 180px)!important}.f-race-world{height:230px}}@media(max-width:600px){.family-shell{padding:12px 16px 16px;min-height:100vh;min-height:100svh}.f-header{height:48px}.f-brand-symbol{width:33px;height:33px;font-size:29px;border-radius:11px}.f-brand{grid-gap:8px;gap:8px}.f-brand strong{font-size:17px;letter-spacing:2px}.f-brand small{font-size:7px;letter-spacing:.5px}.f-header-right{grid-gap:4px;gap:4px}.f-wallet{font-size:9px;padding:6px 9px;grid-gap:5px;gap:5px;min-height:34px}.f-wallet b{font-size:14px}.f-wallet>span:last-child{display:none}.f-coin{width:20px;height:20px;font-size:13px}.f-parent-link{padding:7px;font-size:9px;min-height:40px}.f-stage{min-height:485px;height:calc(100vh - 200px);height:calc(100svh - 200px);max-height:720px}#f-world{inset:45px -16px 50px}.f-world-caption{top:126px;right:0;font-size:8px;grid-gap:5px;gap:5px;letter-spacing:.5px}.f-pet-card{top:15px;left:0;right:0;width:100%;height:106px;border-radius:18px;padding:13px 15px;display:grid;grid-template-columns:110px 1fr;grid-template-rows:24px 25px 18px;column-gap:18px}.f-pet-card .f-eyebrow,.f-pet-card .f-tiny-flower{display:none}.f-pet-card h1{font-size:23px;grid-column:1;grid-row:1/3}.f-star-row{grid-column:1;grid-row:2/4;grid-gap:4px;gap:4px;margin:9px 0 0}.f-star-row #f-stars{font-size:11px;letter-spacing:2px}.f-star-row small{font-size:8px}.f-need{grid-column:2;margin:2px 0;font-size:9px;justify-content:flex-end}.f-need progress{width:90px}.f-need b{font-size:9px}.f-pet-card #f-status{grid-column:2;grid-row:3;border:0;margin:2px 0 0;padding:0;text-align:right;font-size:8px;min-height:0}.f-pet-card .f-text-button{position:absolute;right:15px;bottom:7px;font-size:8px;min-height:20px;padding:2px}.f-pet-card #f-holiday{position:absolute;left:14px;bottom:-15px;background:#faf6e7;font-size:8px}.f-goal{left:0;right:0;bottom:8px;transform:none;min-width:0;width:calc(100% - 45px);padding:11px 13px;border-radius:17px;grid-gap:10px;gap:10px}.f-goal-icon{font-size:20px}.f-goal small{font-size:8px;margin-bottom:3px}.f-goal strong{font-size:10px}.f-camera{right:0;bottom:13px;flex-direction:column;grid-gap:5px;gap:5px}.f-camera button{width:32px;height:32px;min-height:32px;font-size:17px}.f-camera button:nth-child(1),.f-camera button:nth-child(2){display:none}.f-nav{grid-gap:5px;gap:5px;justify-content:space-between;margin-top:7px}.f-nav .f-button{padding:9px 3px;width:calc(100% / 7 - 4px);height:58px;grid-gap:7px;gap:7px;border-radius:13px;min-height:58px}.f-nav span{font-size:20px}.f-nav strong{font-size:9px;letter-spacing:0}.f-page-note{font-size:7px;letter-spacing:0;margin-top:12px!important}.f-dialog{max-width:calc(100vw - 20px);max-height:90vh;max-height:90svh;border-radius:23px}.f-dialog-body{padding:29px 22px}.family-mode h2{font-size:22px}.f-muted{font-size:12px}.f-product-grid{grid-gap:10px;gap:10px}.f-product{padding:10px;border-radius:17px}.f-product-art{height:95px;font-size:42px}.f-product strong{font-size:14px}.f-product p{font-size:10px;min-height:48px}.f-product>div b{font-size:13px}.f-product>div span{font-size:9px}.f-product-kind{font-size:8px}.f-shop-banner{padding:10px 12px;font-size:10px}.f-shop-banner .f-text-button{font-size:10px}.f-product-facts b{display:block;margin-bottom:4px}.f-price-line{grid-gap:10px;gap:10px;align-items:flex-start}.f-price-line strong{font-size:13px}.f-price-line span{font-size:10px}.f-choice-grid{grid-gap:8px;gap:8px}.f-choice{padding:15px 5px;font-size:12px;grid-gap:5px;gap:5px}.f-choice>span{font-size:25px}.f-choice strong{font-size:12px}.f-route-list article{padding:14px}.f-route-list h3{font-size:15px}.f-route-list small{font-size:9px}.f-book-nodes{grid-gap:6px;gap:6px}.f-book-nodes span{font-size:10px;padding:12px 8px}.f-milestones{grid-gap:5px;gap:5px}.f-milestones span{padding:8px 5px;font-size:8px}.f-map-grid{grid-gap:10px;gap:10px}.f-map-grid article{padding:15px 12px}.f-map-grid small{font-size:6px}.f-map-grid h3{font-size:16px}.f-map-grid p{font-size:9px}.f-map-grid .f-button{font-size:10px;padding:10px 7px}.f-pet-list article{grid-gap:12px;gap:12px}.f-pet-list h3{font-size:15px}.f-pet-list article>span{font-size:30px}.f-pet-list button{padding:9px;font-size:10px}.f-doorway{padding:16px 12px;grid-gap:10px;gap:10px}.f-doorway p{font-size:9px}.f-doorway strong{font-size:13px}#f-play-panel{width:100%;bottom:5px;padding:18px;border-radius:20px}#f-play-panel h2{font-size:18px}#f-play-panel p{font-size:11px}#f-play-panel .f-button{font-size:11px;min-height:44px}#f-play-panel .f-story-art{padding:15px;font-size:30px;margin-top:10px}#f-play-panel .f-actions{grid-gap:6px;gap:6px;margin-top:12px}.f-race-panel{top:120px;width:100%!important}.f-race-world{height:215px;min-height:150px}.f-race-panel .f-button small{display:none}.f-race-panel .f-actions{grid-gap:5px;gap:5px}.f-onboarding{display:flex;flex-direction:column;padding:0 20px 30px}.f-onboard-art{height:290px;min-height:290px;width:100%;margin-bottom:-15px}.f-onboard-form{padding:0 8px;width:100%;max-width:420px}.f-onboard-form h1{font-size:30px;line-height:1.45}.f-onboard-form h1 br{display:none}.f-onboard-form .f-muted{font-size:11px}.f-onboard-form .f-eyebrow{margin-bottom:10px!important}.f-onboard-form label{margin:13px 0}.f-onboard-form .f-footnote{font-size:10px!important}.f-species-options{margin-bottom:17px}.f-welcome{padding:40px 23px 28px}.f-welcome h1{font-size:34px}.f-leaf-mark{font-size:45px;margin-bottom:10px}.f-intro{font-size:13px;margin:18px 0 25px!important}.f-mode-grid{grid-gap:15px;gap:15px;grid-template-columns:1fr}.f-mode-card{padding:20px 22px;border-radius:23px;position:relative;min-height:175px}.f-mode-art{position:absolute;right:18px;top:22px;width:95px;height:95px;font-size:45px}.f-mode-card strong{font-size:22px;margin:6px 0 9px}.f-mode-card p{font-size:10px;max-width:65%}.f-mode-card small{font-size:9px}.f-link{margin-top:15px;font-size:11px}.f-welcome .f-footnote{font-size:9px!important}.f-switch-free{inset:80px 14px auto auto;font-size:9px;padding:7px 11px}}@media(prefers-reduced-motion:reduce){.family-mode *{transition:none!important;scroll-behavior:auto!important}}body.family-mode #app{display:block;height:auto;min-height:100vh;min-height:100svh;max-width:none;padding:0;overflow:visible}body.family-mode #app>.family-shell{display:block;grid-area:auto;height:auto;min-height:100vh;min-height:100svh;width:100%;margin:0 auto;padding:26px 40px 18px}body.family-mode .f-nav{margin-left:0;height:auto}body.family-mode #app>.f-onboarding{height:auto;min-height:100vh;min-height:100svh;grid-area:auto}body.family-mode #app>.f-welcome{height:auto;min-height:100vh;min-height:100svh;grid-area:auto}body.family-mode #app>.f-start-error{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100svh;padding:32px 20px;grid-area:auto;height:auto}.f-start-error section{width:100%;max-width:520px;padding:42px 30px;border:1px solid #e1e4d6;border-radius:28px;background:#fffcf5;text-align:center;box-shadow:0 14px 45px #6c7b5710}.f-start-error h1{font-size:clamp(22px,5vw,30px);line-height:1.5;letter-spacing:0;outline:none}.f-start-error #start-error-message{margin:18px 0 26px;color:#7b8772;font-size:14px;overflow-wrap:anywhere}.f-start-error-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}@media(max-width:420px){.f-start-error section{padding:32px 20px}.f-start-error-actions .f-button{width:100%}}@media(max-width:900px){body.family-mode #app>.family-shell{padding:18px 20px 14px}}@media(max-width:600px){body.family-mode #app>.family-shell{padding:12px 16px 16px}#f-world{inset:120px -16px 85px}.f-camera button{width:40px;height:40px;min-height:40px}.f-pet-card #f-status{padding-right:0}.f-close{width:44px;height:44px;min-height:44px;margin-top:7px}}.f-trip-counter,.f-tool-note{font-size:10px!important;margin-top:9px!important;color:#a19876!important}@media(max-width:600px){.family-shell.is-playing .f-stage{height:auto;min-height:0;max-height:none;padding-top:450px}.family-shell.is-playing #f-world{inset:120px -16px auto;height:330px}.family-shell.is-playing #f-play-panel{position:relative;inset:auto;padding:18px;margin-bottom:8px}.family-shell.is-playing .f-goal,.family-shell.is-playing .f-camera{display:none}.family-shell.is-racing .f-stage{padding-top:120px}.family-shell.is-racing #f-world{visibility:hidden}.family-shell.is-racing .f-race-panel{position:relative!important;inset:auto!important}}.f-play-tools{display:flex;align-items:center;justify-content:flex-end;grid-gap:15px;gap:15px;border-top:1px solid #e8e9db;margin-top:14px;padding-top:5px}.f-play-tools .f-text-button{font-size:10px!important;min-height:40px}.f-memory-cards{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin:16px 0 22px}.f-memory-cards article{border:1px solid #e1e5d2;border-radius:16px;background:#f5f1df;padding:15px}.f-memory-cards article>span{display:block;font-size:27px;margin-bottom:12px}.f-memory-cards strong{display:block;font-size:12px;color:#8c8967}.f-memory-cards small{display:block;font-size:9px;color:#a3a48a;margin-top:7px;line-height:1.8}.f-backpack-list article{display:flex;align-items:center;grid-gap:15px;gap:15px;padding:18px 0;border-bottom:1px solid #e2e6d2}.f-backpack-list article>span{font-size:32px}.f-backpack-list small{font-size:10px;color:#a2ad92}.f-backpack-list .f-button{margin-left:auto;font-size:11px;padding:10px 15px}.family-mode button:focus,.family-mode a:focus{outline:2px solid #a5b58d;outline-offset:3px}.family-mode input,.family-mode select,.f-header-right,.f-brand,.f-actions>*{min-width:0}.f-album-grid img{height:140px}.f-dialog{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}@supports (aspect-ratio:1){.f-album-grid img{height:auto}}@supports not(width:min(100px,50%)){#f-play-panel{width:55%;max-width:460px}@media(max-width:600px){#f-play-panel{width:100%;max-width:none}}}.no-flex-gap .f-actions>*{margin:4px}.no-flex-gap .f-header-right>*+*,.no-flex-gap .f-brand>*+*,.no-flex-gap .f-colors>*+*,.no-flex-gap .f-species-options>*+*{margin-left:8px}.no-flex-gap .f-nav>*+*{margin-left:5px}.no-flex-gap .f-need>*+*,.no-flex-gap .f-wallet>*+*{margin-left:5px}.no-flex-gap .f-route-list>article+article{margin-top:16px}body.family-mode #app>.family-shell{padding-top:calc(26px + var(--safe-area-inset-top, env(safe-area-inset-top, 0px)));padding-bottom:calc(18px + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)))}@media(max-width:600px){body.family-mode #app>.family-shell{padding-top:calc(12px + var(--safe-area-inset-top, env(safe-area-inset-top, 0px)));padding-bottom:calc(16px + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)))}}@media(max-width:350px){.f-header-right{gap:1px}.f-brand strong{font-size:15px}.f-brand small{letter-spacing:0;font-size:6px}.f-parent-link{font-size:8px;padding:5px}.f-wallet{padding:5px 7px}.f-need progress{width:66px}.f-goal strong{font-size:9px}}@media(min-width:1200px){.f-race-world{height:420px;height:clamp(320px,42vh,460px)}}.f-photo-comparison{display:grid;grid-gap:16px;gap:16px}.f-photo-comparison.is-paired{grid-template-columns:repeat(2,minmax(0,1fr))}.f-photo-comparison figure{margin:0;min-width:0}.f-photo-comparison figcaption{font-size:12px;color:#68795d;line-height:1.7;margin-top:8px}@media(max-width:600px){.f-photo-comparison.is-paired{grid-template-columns:1fr}}.f-swatch{width:44px;height:44px;min-width:44px;min-height:44px}.family-shell.is-playing .f-goal{display:none}@media(min-width:601px){.family-shell.is-playing:not(.is-racing) .f-stage{display:grid;grid-template-columns:minmax(0,1fr) 460px;column-gap:24px;height:auto;min-height:630px;max-height:none;padding-top:112px}.family-shell.is-playing:not(.is-racing) #f-world{inset:112px 484px 0 0}.family-shell.is-playing:not(.is-racing) #f-play-panel{position:relative;grid-column:2;align-self:start;inset:auto;width:100%;margin-bottom:16px}.family-shell.is-playing:not(.is-racing) .f-pet-card{top:8px;left:0;width:calc(100% - 484px);padding:12px 16px;display:grid;grid-template-columns:1fr 1fr;column-gap:18px}.family-shell.is-playing:not(.is-racing) .f-pet-card>.f-eyebrow,.family-shell.is-playing:not(.is-racing) .f-pet-card>.f-text-button,.family-shell.is-playing:not(.is-racing) #f-star-title{display:none}.family-shell.is-playing:not(.is-racing) .f-pet-card h1{grid-column:1;grid-row:1;font-size:21px}.family-shell.is-playing:not(.is-racing) .f-star-row{grid-column:1;grid-row:2;margin:0}.family-shell.is-playing:not(.is-racing) .f-need{grid-column:2;grid-row:1;margin:0}.family-shell.is-playing:not(.is-racing) .f-need+.f-need{grid-row:2}.family-shell.is-playing:not(.is-racing) .f-pet-card #f-status{grid-column:1/-1;grid-row:3;margin:3px 0 0;padding:0;border:0;min-height:0}.family-shell.is-playing:not(.is-racing) .f-world-caption{display:none}.family-shell.is-playing:not(.is-racing) .f-camera{display:none}}@media(min-width:601px)and (max-width:1050px){.family-shell.is-playing:not(.is-racing) .f-stage{display:block;min-height:0;padding-top:560px}.family-shell.is-playing:not(.is-racing) #f-world{inset:112px 0 auto;height:440px}.family-shell.is-playing:not(.is-racing) .f-pet-card{width:100%}}.f-reading-choices .f-choice{min-width:0;padding:15px 8px}.f-reading-choices .f-choice strong{white-space:normal;line-height:1.5;font-size:12px}.f-story-collection{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:9px;padding:17px;background:#faf6e9;border:1px solid #dedfcd;border-radius:17px}.f-story-collection>span{font-size:25px}.f-story-collection small{font-size:10px;color:#778467;line-height:1.6}.f-story-collection strong{white-space:normal;font-size:13px;line-height:1.6}.f-goal-wrap{position:absolute;bottom:16px;left:50%;transform:translate(-50%);width:350px;border:1px solid #e2e5d5;border-radius:22px;background:#fdfcf3ed;box-shadow:0 8px 35px #65754710;overflow:hidden}.f-goal-wrap .f-goal{position:static;transform:none;width:100%;min-width:0;border:0;border-radius:0;background:transparent;box-shadow:none;padding:13px 18px}.f-goal-wrap .f-intentions-link{width:100%;min-height:36px;border:0;border-top:1px solid #ecebdc;border-radius:0;background:#f1f2e5;color:#748667;font-size:11px;padding:7px 12px}.f-focus-choice{background:#edf1e3;border:1px solid #dce4cb;border-radius:22px;padding:20px;margin:0 0 26px}.f-focus-choice p{color:#7b886b;font-size:13px;margin:8px 0 16px}.f-wishes-title{margin-bottom:14px!important}.f-little-wishes{display:grid;grid-template-columns:1fr 1fr;gap:14px;grid-gap:14px}.f-little-wish{padding:20px;border:1px solid #e6e1cc;border-radius:22px;background:#fffaf0;min-width:0}.f-little-wish.done{background:#eff3e8;border-color:#d8e3cb}.f-little-wish.resting{background:#f6f5ed;border-style:dashed}.f-wish-picture{display:block;font-size:34px;margin-bottom:12px}.f-little-wish>small{display:block;color:#7d8c6c;margin-bottom:8px}.f-little-wish p{font-size:12px;color:#828973;margin-top:8px}.f-intention-options .f-choice small{line-height:1.7;white-space:normal}.family-shell.is-playing .f-goal-wrap{display:none}@media(max-width:1100px){.f-goal-wrap{left:40%;width:300px;bottom:10px}}@media(max-width:600px){.f-goal-wrap{left:0;right:45px;bottom:8px;width:auto;transform:none;border-radius:17px}.f-goal-wrap .f-goal{width:100%;padding:10px 12px}.f-goal-wrap .f-goal strong{font-size:11px}.f-goal-wrap .f-intentions-link{min-height:40px}.f-little-wishes{grid-template-columns:1fr}.f-little-wish{padding:18px}}.f-next-reward{display:grid;grid-template-columns:62px minmax(0,1fr);gap:16px;grid-gap:16px;background:#f2ecd8;border:1px solid #e5d9b8;border-radius:23px;padding:23px;margin:22px 0 14px}.f-reward-symbol{display:grid;place-items:center;width:62px;height:70px;font-size:35px;border-radius:24px;background:#fcf8e9;border:1px dashed #c5b997}.f-next-reward small{color:#958567;display:block;margin-bottom:5px}.f-next-reward p{font-size:12px;color:#8b806b;margin:6px 0 10px}.f-next-reward strong{font-size:12px;color:#718568}.f-next-reward>.f-button{grid-column:1/-1;justify-self:start}.f-reward-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;grid-gap:8px;margin-bottom:20px}.f-reward-tabs button{font-size:11px;padding:9px 12px}.f-reward-tabs .earned{background:#eaf0df;border-color:#d2dec4}.f-route-opening{font-size:11px;line-height:1.75!important;color:#8e937f;margin:10px 0 0!important}.f-reward-condition{padding:15px 18px;background:#f1eddf;border-radius:17px;color:#7e826d;font-size:13px;margin:14px 0!important}@media(max-width:600px){.f-next-reward{padding:18px;grid-template-columns:48px minmax(0,1fr);gap:12px;grid-gap:12px}.f-reward-symbol{width:48px;height:60px;font-size:29px}.f-next-reward>.f-button{width:100%}.f-reward-tabs{grid-template-columns:1fr}.f-reward-tabs button{justify-content:flex-start}}.f-goal-wrap .f-gift-notice{width:100%;border:0;border-bottom:1px solid #e4d6af;border-radius:0;background:#f3e6c8;color:#91713f;font-size:12px;min-height:44px;padding:10px 12px;text-align:left}.f-goal-wrap .f-gift-notice[hidden]{display:none}.f-gift-hero{text-align:center;padding:25px 18px;border:1px solid #e6dbbc;border-radius:25px;background:radial-gradient(ellipse at 50% 10%,#fff7dd,#f4eddc);margin-bottom:20px}.f-gift-coin{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 16px;border:4px double #b69759;border-radius:50%;background:#dbc288;color:#fff6d8;font-size:39px;box-shadow:0 5px #c2a26020}.f-gift-hero small{display:block;color:#9c845a}.f-gift-hero strong{display:block;font-size:36px;color:#9b7a40;margin:5px 0}.f-gift-hero strong span{font-size:13px;margin-left:8px}.f-gift-hero p{font-size:12px;color:#97866b}.f-gift-letters{display:grid;gap:12px;grid-gap:12px}.f-gift-letters article{border:1px solid #e8e3d3;border-radius:18px;padding:15px 18px;background:#fffdf5}.f-gift-letters article>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.f-gift-letters small{color:#95917f}.f-gift-letters b{color:#8e784e;font-size:16px}.f-gift-note{font-size:14px;color:#6f7b5f;margin-top:10px!important;word-wrap:break-word;overflow-wrap:break-word;overflow-wrap:anywhere}.f-gift-correction{font-size:12px;color:#8a8575;margin-top:9px!important}.f-gift-balance{margin-top:20px!important;font-size:13px;color:#7b876d}.f-gift-balance small{color:#969984}.f-goal-wrap button:focus-visible{outline-offset:-4px}.f-journal-review{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;grid-gap:16px;padding:23px;background:#edf0e1;border:1px solid #dfe4cf;border-radius:22px;margin-bottom:26px}.f-journal-review>span{font-size:35px}.f-journal-review h3{margin:0 0 8px}.f-journal-review p{font-size:12px;color:#81886f;margin-bottom:15px}.f-review-cover{padding:27px;border-radius:24px;border:1px solid #dce3ce;background:linear-gradient(130deg,#edf2e3,#f8f3e4);margin-bottom:26px}.f-review-cover h3{font-size:23px;margin:8px 0}.f-review-cover>p{font-size:13px;line-height:1.9;color:#7d866c}.f-review-cover .f-review-dates{font-size:11px;color:#91947d}.f-review-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;grid-gap:8px;margin-top:22px}.f-review-counts span{padding:12px 3px;text-align:center;background:#fffdf5b3;border:1px solid #e3e6d7;border-radius:16px;font-size:10px;color:#8c927c}.f-review-counts b{display:block;font-size:25px;color:#7e9471;margin-bottom:5px}.f-review-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;grid-gap:13px}.f-review-photos>.f-muted{grid-column:1/-1}.f-review-photo{border:1px solid #e4dfd0;background:#fffdf6;border-radius:14px;padding:8px;text-align:left;min-width:0;box-shadow:0 5px 13px #737d5410}.f-review-photo img{display:block;width:100%;height:130px;object-fit:cover;border-radius:8px}.f-review-photo strong{display:block;font-size:11px;line-height:1.6;margin:10px 4px 3px;color:#6e7e61;word-wrap:break-word}.f-review-photo small{display:block;font-size:10px;color:#969884;margin:0 4px 6px}.f-review-photo-missing{display:flex;align-items:center;justify-content:center;min-height:130px;background:#f0f0e4;border-radius:8px;font-size:11px;color:#92977f;line-height:1.8;text-align:center}.f-review-stories{display:grid;gap:10px;grid-gap:10px}.f-review-story{display:grid;grid-template-columns:32px minmax(0,1fr) 16px;gap:12px;grid-gap:12px;justify-content:stretch;text-align:left;padding:17px;background:#f5efe1;border-color:#e7ddc7}.f-review-story>span:first-child{font-size:25px}.f-review-story strong{display:block;font-size:13px;line-height:1.7}.f-review-story small{display:block;font-size:10px;color:#92917e;line-height:1.8;margin-top:5px}.f-review-routes{display:grid;gap:10px;grid-gap:10px}.f-review-routes>span{padding:14px 18px;background:#edf1e4;border-radius:14px;font-size:13px;color:#768969}.f-review-routes small{display:block;font-size:10px;color:#92967e;margin-top:6px}.f-review-journal{margin-bottom:23px}.f-review-keeps{padding:23px;border:1px dashed #d0d6be;border-radius:22px;background:#f4f4e9;margin:24px 0}.f-review-keeps>p{font-size:12px;color:#8c927c;line-height:1.9}.f-review-keeps h4{font-size:13px;color:#7d8b6e;margin:22px 0 14px}.f-review-stamps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;grid-gap:8px}.f-review-stamps>span{padding:13px 2px;text-align:center;border:1px dashed #dedfce;border-radius:14px;font-size:10px;color:#94977f;background:#faf9f0}.f-review-stamps b{display:block;font-size:23px;margin-bottom:8px}.f-review-stamps small{display:block;font-size:9px;margin-top:5px}.f-review-stamps .collected{background:#e5edd9;color:#708663;border-style:solid;border-color:#ccd9bd}@media(max-width:600px){.f-review-cover{padding:19px}.f-review-cover h3{font-size:20px}.f-review-photos{grid-template-columns:1fr}.f-review-photo{display:grid;grid-template-columns:90px minmax(0,1fr);column-gap:12px}.f-review-photo img,.f-review-photo-missing{grid-column:1;grid-row:1/3;height:88px;min-height:88px}.f-review-photo strong{grid-column:2;align-self:end}.f-review-photo small{grid-column:2;align-self:start}.f-review-keeps{padding:17px}.f-review-stamps{grid-template-columns:repeat(3,minmax(0,1fr))}.f-journal-review{padding:18px;grid-template-columns:1fr}.f-journal-review>span{display:none}}.f-review-cover~h3{font-size:16px;line-height:1.6;margin:26px 0 12px}.f-shared-dialogue{display:grid;gap:12px;grid-gap:12px;margin:20px 0}.f-shared-dialogue article{padding:17px 20px;background:#f1efe3;border:1px solid #e3dfcd;border-radius:18px}.f-shared-dialogue .speaking{background:#e9efdf;border-color:#c9d7bc}.f-shared-dialogue small{display:block;color:#839474;font-size:11px;margin-bottom:7px}.f-shared-dialogue p{font-size:14px;line-height:1.9;margin:0;color:#6d795f}.f-portrait-members{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin:13px 0 20px}.f-portrait-members>span{padding:12px 16px;background:#ede8d7;color:#8f815e;font-size:12px;border-radius:15px}.f-portrait-members [aria-pressed=true]{background:#e5ecda;border-color:#c9d6b9;color:#708462}.no-flex-gap .f-portrait-members{margin-left:-4px;margin-right:-4px}.no-flex-gap .f-portrait-members>*{margin:4px}.f-record-detail{margin:10px 0;color:#79866d;font-size:12px;text-align:left}.f-record-detail summary{cursor:pointer;padding:10px 8px;border-radius:9px;min-height:40px;box-sizing:border-box}.f-record-detail summary:focus{outline:2px solid #7e9471;outline-offset:2px}.f-record-detail[open]{background:#f0f1e5;border-radius:12px}.f-record-detail p{margin:0!important;padding:0 12px 12px;font-size:12px;line-height:1.7}.family-mode .f-goal:disabled{opacity:1}.f-goal:disabled>span:last-child{visibility:hidden}#f-dialog-title:focus{outline:2px solid #7e9471;outline-offset:4px;border-radius:4px}.f-dialog[open]{display:flex;flex-direction:column;overflow:hidden}.f-dialog-toolbar{display:flex;justify-content:flex-end;align-items:center;flex:0 0 56px;padding:6px 12px;background:#fcfaf2}.f-dialog-toolbar .f-close{position:static;float:none;margin:0;width:44px;height:44px;min-height:44px}.f-dialog-body{min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-top:12px}.f-growth-changes{margin:18px 0 24px;border:1px solid #e0e5d6;border-radius:18px;background:#f6f7ee}.f-growth-changes summary{cursor:pointer;padding:15px 18px;font-size:13px;color:#657959;min-height:48px}.f-growth-changes summary:focus-visible{outline:3px solid #c79865;outline-offset:3px;border-radius:14px}.f-growth-changes ol{list-style:none;margin:0;padding:0 18px}.f-growth-changes li{display:flex;gap:12px;padding:14px 0;border-top:1px solid #e3e7d9;color:#89927e}.f-growth-changes li.earned{color:#607653}.f-growth-changes li>span{font-size:22px;flex-shrink:0}.f-growth-changes strong,.f-growth-changes small{display:block}.f-growth-changes strong{font-size:14px}.f-growth-changes small{margin-top:5px;line-height:1.7}.f-growth-changes li p{font-size:12px;margin-top:6px}.f-growth-changes>.f-muted{margin:14px 18px 18px!important;font-size:12px}@media(max-width:600px){.family-shell .f-pet-card h1{grid-row:1;min-width:0}.family-shell .f-pet-card #f-pet-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.f-result-heading{display:flex;align-items:center;gap:12px;color:#637655}.f-result-heading .f-success-mark{font-size:28px;margin:0}.f-result-facts{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.f-result-facts>div{flex:1 1 100px;padding:10px 12px;background:#f0f1e7;border-radius:12px}.f-result-facts dt{font-size:12px;color:#667555}.f-result-facts dd{margin:5px 0 0;font-size:16px;font-weight:600;color:#3e4d37}.f-result-focus{outline:3px solid #91a77b;outline-offset:5px;border-radius:16px}.f-choice small{white-space:normal;line-height:1.5}@media(max-width:600px){.f-race-panel .f-button small{display:block;font-size:11px;line-height:1.5;white-space:normal}.f-race-panel [data-cadence]{flex:1 1 80px;min-height:64px;padding:8px}.f-race-panel .f-actions{flex-wrap:wrap}.f-pet-card #f-status{font-size:10px}.f-choice small{font-size:11px}}.f-task-value,.f-task-brief{background:#f0f2e8;border-radius:12px;padding:12px;line-height:1.6}.f-task-value b,.f-task-value span,.f-task-brief span{display:block}.f-task-value span,.f-task-brief span{margin-top:5px;color:#667254}.f-route-purpose,.f-task-value{font-size:13px}.f-route-list .f-route-step{display:block;width:100%;text-align:left;white-space:normal;padding:12px;min-height:60px}.f-route-step strong{display:flex;gap:8px;justify-content:space-between;align-items:center;font-size:14px}.f-route-step em{font-size:11px;font-style:normal;flex-shrink:0;color:#687753}.f-route-list .f-route-step small{display:block;margin-top:6px;font-size:12px;line-height:1.6;color:#67705f}.f-route-list .f-route-step:disabled{opacity:.72}.f-handbook-tasks{display:grid;gap:8px}.f-handbook-tasks article{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;background:#f5f4ec}.f-handbook-tasks article>div{flex:1;min-width:0}.f-handbook-tasks strong{font-size:14px}.f-handbook-tasks small{display:block;font-size:12px;line-height:1.6;margin-top:4px;color:#67705f}.f-handbook-tasks .f-button,.f-handbook-tasks article>span{flex-shrink:0;font-size:12px}.f-handbook-tasks .done{background:#eef1e7}@media(max-width:540px){.f-route-list .f-route-step small,.f-task-value,.f-route-purpose,#f-play-panel .f-task-brief{font-size:12px}.f-handbook-tasks article{gap:6px;padding:10px}.f-handbook-tasks .f-button{padding:10px 5px}}.f-care-result{background:#f0f2e8;border:1px solid #dce2cf;border-radius:12px;padding:10px 14px;font-size:12px;line-height:1.6;color:#4f6345}.f-care-result[hidden]{display:none}.f-home-shortcuts{display:flex}.f-goal-wrap .f-home-shortcuts>.f-intentions-link{width:50%;min-height:44px}.f-home-shortcuts>.f-sports-shortcut{border-right:1px solid #dce2cf;font-size:12px;font-weight:650}.f-sports-banner{display:flex;align-items:center;gap:14px;width:100%;padding:16px;margin:16px 0;border:1px solid #cbd9c4;border-radius:18px;background:#eaf0df;text-align:left;color:#4f684c;cursor:pointer}.f-sports-banner>span:first-child{font-size:36px}.f-sports-banner>span:nth-child(2){flex:1}.f-sports-banner strong,.f-sports-banner small{display:block}.f-sports-banner strong{font-size:18px}.f-sports-banner small{font-size:12px;line-height:1.6;margin-top:4px}.f-race-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.f-race-options section{padding:16px;background:#f0f2e7;border:1px solid #dce2cf;border-radius:18px}.f-race-options section>span{font-size:32px}.f-race-options h3{margin:8px 0}.f-race-options p{font-size:13px;line-height:1.7}.f-race-options small{display:block;font-size:12px;margin:10px 0;color:#647452}.f-race-options .f-button{white-space:normal}.f-race-ticket{padding:14px;border-radius:14px;background:#f5eddb}.f-race-ticket p,.f-ticket-source{font-size:13px;line-height:1.7}.f-inline-error{padding:12px;border:1px solid #dbb497;border-radius:12px;background:#fff0df;color:#874829;font-size:13px;line-height:1.6}.f-inline-error[hidden]{display:none}.f-mat-icon{display:inline-block;width:1.3em;height:1.05em;vertical-align:middle;flex-shrink:0}@media(max-width:540px){.f-race-options{grid-template-columns:1fr;gap:10px}.f-race-options section{padding:14px}.f-race-options section>span{float:right}.f-race-options .f-button{min-height:44px;font-size:13px}.f-sports-banner{padding:14px}.f-race-options p{font-size:12px}}.f-supply-choice{border:1px solid #d6ddc9;border-radius:12px;margin:14px 0;padding:10px;min-width:0}.f-supply-choice legend{font-size:12px;padding:0 5px}.f-supply-choice label{display:flex;gap:8px;align-items:center;min-height:44px;font-size:13px}.f-supply-choice input{accent-color:#7e9476;width:18px;height:18px;flex:none}.f-race-rhythm{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-top:14px;font-size:12px;color:#61744e}.f-race-rhythm[hidden]{display:none}.f-race-rhythm label{display:flex;align-items:center;gap:8px}.f-race-rhythm progress{width:100px;height:9px;accent-color:#ab9760}.f-race-supply{margin-top:14px;padding:12px;background:#f5e9e7;border-radius:14px}.f-race-supply p{font-size:12px;margin-top:6px;line-height:1.6}@media(max-width:600px){.f-race-supply .f-button{width:100%}.f-race-rhythm{font-size:11px}.f-race-supply{padding:10px}}.f-species-options{flex-wrap:wrap}.f-species-options .f-button{flex:1 1 85px}.f-cosmetic-section{margin-top:26px}.f-cosmetic-section h3{display:flex;align-items:center;justify-content:space-between;gap:12px}.f-cosmetic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px}.f-cosmetic-card{display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:14px;min-width:0;gap:8px}.f-cosmetic-card small{line-height:1.6}.f-cosmetic-card b{font-size:12px;color:#7e9476}.f-cosmetic-swatch{display:grid;place-items:center;height:65px;background:var(--swatch);border-radius:12px;font-size:30px}.f-cosmetic-card strong{font-size:14px;overflow-wrap:anywhere}.f-camera .f-photo-control{display:flex;flex-direction:column;gap:1px;min-width:44px;min-height:48px;height:auto;padding:5px}.f-photo-control small{font-size:10px;line-height:1.2}.family-mode .icon{width:22px;height:22px;flex-shrink:0}.f-play-tools .icon{width:18px;height:18px}.f-cosmetic-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:7px;gap:7px;margin:16px 0 8px}.f-cosmetic-tabs .f-button{font-size:12px;padding:10px 4px;min-height:44px}.f-cosmetic-swatch[data-pattern=stripes]{background:repeating-linear-gradient(0deg,transparent 0 12px,#fff4 12px 18px),var(--swatch)}.f-cosmetic-swatch[data-pattern=dots]{background:radial-gradient(circle,#fff9 2px,transparent 3px) 0 0/18px 18px,var(--swatch)}.f-cosmetic-swatch[data-pattern=plaid]{background:repeating-linear-gradient(0deg,transparent 0 14px,#fff4 14px 20px),repeating-linear-gradient(90deg,transparent 0 14px,#fff4 14px 20px),var(--swatch)}.sports-home-button{display:flex;gap:10px;align-items:center;width:100%;background:#d8c69b33;border:1px solid #97a07955;border-radius:13px;padding:11px 12px;margin-top:14px;color:inherit;text-align:left;cursor:pointer}.sports-home-button svg{width:32px}.sports-home-button span:nth-child(2){flex:1;font-size:13px}.sports-home-button small{display:block;font-size:10px;opacity:.72;margin-top:4px}dialog[data-view=sports],dialog[data-view=sports-certificate]{width:min(1120px,calc(100vw - 32px));max-width:1120px;color:#53634c;background:#f7f4e9}dialog[data-view^=sports] .dialog-header{border-bottom:1px solid #d4d8c6}dialog[data-view^=sports] button{font-family:inherit}.sports-topline{display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:1.6px;color:#7d886e;margin:20px 0 12px}.sports-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.sports-heading h3{font-size:32px;margin:0 0 6px;font-weight:500;letter-spacing:3px}.sports-heading p{margin:0;font-size:13px;color:#839073}.sports-distance{display:grid;text-align:right}.sports-distance strong{font-size:40px;line-height:1;font-weight:500;font-family:Georgia,serif}.sports-distance span{font-size:10px;margin-top:5px}.sports-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(245px,1fr);gap:20px}.sports-course{border-radius:20px;overflow:hidden;background:#e5e9d5;align-self:start;border:1px solid #d5dcc6}#cycling-stage{height:410px;position:relative}#cycling-stage canvas{display:block;width:100%;height:100%}.sports-course-note{display:flex;align-items:center;justify-content:center;gap:10px;font-size:11px;padding:12px;color:#788365;background:#edf0e1}.sports-course-note svg{width:30px}.sports-control{background:#fffcf3;padding:20px;border:1px solid #e0deca;border-radius:20px}.sports-control h4{font-size:22px;line-height:1.6;margin:7px 0 10px;font-weight:500}.sports-control p{font-size:12px;line-height:1.8;color:#7b8269;margin:8px 0}.sports-kicker{font-size:10px;letter-spacing:1.4px;color:#92966d}.sports-energy-summary{display:flex;align-items:baseline;gap:7px;font-size:12px;padding:10px 0}.sports-energy-summary strong{font-size:25px;font-family:Georgia,serif;color:#677850}.sports-energy-summary>span{opacity:.65}.sports-control .sports-rule,.sports-control .sports-admission{font-size:10px;line-height:1.8}.sports-primary{border:0;border-radius:10px;background:#687d55;color:#fffdf0;min-height:43px;padding:10px 20px;cursor:pointer;font-size:13px;letter-spacing:1px}.sports-control .sports-primary{width:100%;margin-top:8px}.sports-primary:disabled{opacity:.45;cursor:not-allowed}.sports-text-button{border:0;background:none;color:#718161;padding:10px 4px;cursor:pointer;font-size:12px}.sports-live-ranking{border-top:1px solid #e2e2d2;margin-top:13px;padding-top:6px}.sports-live-ranking h4{font-size:12px;font-weight:600}.sports-live-ranking ol{list-style:none;padding:0;margin:0}.sports-live-ranking li{display:flex;align-items:center;gap:10px;padding:8px 5px;border-radius:7px;font-size:12px}.sports-live-ranking .is-player{background:#eceddc}.sports-place{color:#9c9b7d;font-family:Georgia,serif}.sports-live-ranking li>span:nth-child(2){flex:1}.sports-live-ranking b{font-weight:500}.sports-live-ranking small{display:block;font-size:9px;color:#919780;margin-top:3px}.sports-live-ranking li>strong{font-size:11px;font-weight:500}.sports-race-caption{display:flex;justify-content:space-between;align-items:center;font-size:12px}.sports-race-caption strong{font-size:20px;font-weight:500}.sports-distance-track{height:6px;border-radius:9px;background:#e4e8d5;overflow:hidden}.sports-distance-track span{display:block;height:100%;background:#92a574;border-radius:9px}.sports-cadences{display:flex;gap:6px;margin-top:14px}.sports-cadences button{flex:1;min-width:0;background:transparent;border:1px solid #d1d8c1;color:#788867;padding:11px 3px;border-radius:9px;cursor:pointer}.sports-cadences button[aria-pressed=true]{background:#e4e9ce;border-color:#829665;color:#516141}.sports-cadences small{display:block;font-size:9px;margin-top:5px}.sports-cadences b{font-size:13px;font-weight:500}.sports-certificate-button{background:#e8d9ad;color:#77603b;border:1px solid #d5c294;padding:10px 15px;border-radius:10px;cursor:pointer;width:100%;margin-top:5px}.sports-records{border-top:1px solid #d7dbc9;margin-top:24px;padding-top:19px}.sports-records h4{font-size:17px;font-weight:500;margin:0 0 5px}.sports-records p{font-size:11px;color:#8a917a;margin:0 0 16px}#sports-history{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sports-record{display:grid;grid-template-columns:24px 1fr;gap:5px;text-align:left;background:#fffaf0;color:#758060;border:1px solid #dddcca;padding:13px;border-radius:10px;cursor:pointer}.sports-record>span{grid-row:span 3;font-size:22px;color:#b19856}.sports-record b{font-size:12px;font-weight:500}.sports-record small{font-size:9px}.sports-record em{font-size:10px;font-style:normal;margin-top:4px}.sports-record:disabled{cursor:default;opacity:.65}.sports-empty{grid-column:1/-1;border:1px dashed #cfd6bf;border-radius:10px;padding:20px}.sports-certificate-preview canvas{display:block;width:100%;height:auto;border-radius:9px}.sports-certificate-actions{display:flex;justify-content:center;gap:16px;margin-top:18px}.sports-render-error{padding:50px 25px;font-size:14px;line-height:2}#dialog[data-view^=sports] button:focus-visible{outline:3px solid #c49a42;outline-offset:3px}@media(max-width:760px){dialog[data-view=sports],dialog[data-view=sports-certificate]{width:calc(100vw - 16px);max-height:94svh}.sports-layout{grid-template-columns:1fr;gap:12px}#cycling-stage{height:270px}.sports-heading h3{font-size:25px}.sports-topline{font-size:8px;letter-spacing:.4px}.sports-distance strong{font-size:32px}.sports-control{padding:16px}.sports-live-ranking li{padding:6px}.sports-records{margin-top:17px}#sports-history{grid-template-columns:1fr 1fr}.sports-certificate-actions{flex-wrap:wrap}.sports-home-button{margin-top:10px}.sports-course-note{font-size:10px}}body.night #dialog[data-view^=sports]{background:#f7f4e9;color:#53634c;--ink:#53634c;--surface:#fffcf3;--line:#d4d8c6;--muted:#7b8269}#dialog[data-view^=sports] .sports-control,#dialog[data-view^=sports] .sports-control h4{color:#53634c}.sports-course-note button{border:1px solid #c5cfb4;border-radius:8px;padding:6px 9px;color:#718260;background:transparent;cursor:pointer;font-size:11px}.sports-course-note button[aria-pressed=true]{background:#d8e1c3;color:#52633f}.adopting #app{width:100%;height:auto;min-height:100svh;padding:0;max-width:none}.adopting{background:#f5f1e5;color:#687955}.adoption-page{max-width:1440px;margin:auto;padding:30px 5vw;min-height:100svh}.adoption-page header{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid #a7ad8c55;padding-bottom:22px;font:20px Songti SC,serif}.adoption-page header small{display:block;font:9px Georgia,serif;letter-spacing:2px;margin-top:6px}.adoption-page button{cursor:pointer}.adoption-page header button,.adopt-actions button{border:1px solid #a4ad8d;border-radius:28px;background:transparent;padding:13px 22px;color:#677c53}.adoption-local{font:11px sans-serif;color:#8d9879}.adoption-layout{display:grid;grid-template-columns:43% 57%;min-height:700px;align-items:center}.adoption-copy{padding:42px 0;position:relative;z-index:1}.adoption-eyebrow{font:10px Georgia,serif;letter-spacing:2px}.adoption-steps{display:flex;gap:18px;margin:30px 0;color:#9ca58d;font-size:11px}.adoption-steps .active{color:#567044;border-bottom:1px solid;padding-bottom:8px}.adoption-copy h1{font:clamp(32px,3.5vw,52px)/1.6 "Songti SC",serif;letter-spacing:3px;margin:20px 0}.adoption-copy>p{line-height:1.9}.adoption-copy #adopt-description{font-size:13px;max-width:350px;color:#829070;min-height:50px}.pet-choices{display:flex;gap:12px;margin:26px 0}.pet-choices button{border:1px solid #d5d8c3;border-radius:16px;background:#f9f7ed;padding:15px;flex:1;text-align:left;color:#728061;max-width:190px}.pet-choices button[aria-pressed=true]{border-color:#82936c;background:#e7ebd7}.pet-choices button>span{display:block;width:60px;height:60px;margin-bottom:12px}.pet-choices button strong{display:block;font:18px Songti SC,serif}.pet-choices button small{display:block;font-size:10px;line-height:1.7;margin-top:7px}.adopt-name{display:grid;gap:12px;margin:30px 0;font-size:13px;max-width:340px}.adopt-name input{border:1px solid #adb895;border-radius:12px;padding:15px;background:#fffdf5;color:#526740;font:20px Songti SC,serif;width:100%}.adopt-name small,.adoption-fine{font-size:11px;color:#8d987c}.adopt-actions{display:flex;gap:10px;margin-top:24px}.adopt-actions #adopt-next{background:#73895c;color:#fff8e6;border-color:#73895c}.adoption-stage{position:relative;min-width:0}.adoption-stage #adopt-canvas{height:600px;width:100%;touch-action:none}.adoption-caption{text-align:center;margin-top:-20px;pointer-events:none}.adoption-caption span{font:13px Georgia,serif;letter-spacing:3px}.adoption-caption p{font:23px Songti SC,serif}.adoption-caption small{color:#9aa38b;font-size:10px}#adopt-review{font:20px Songti SC,serif}#adopt-error{color:#a35f4b;font-size:12px}.adopting [hidden]{display:none!important}.pet-extra{display:flex;gap:8px;margin-top:12px}.pet-extra button{flex:1;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;padding:10px 6px;font-size:11px}.pet-extra .icon{width:14px;height:14px;vertical-align:middle}.profile-access{display:flex;gap:8px;margin-top:9px}.profile-access button{padding:4px 0;border:0;background:none;color:inherit;font-size:10px;text-align:left;flex:1}.profile-list{display:grid;gap:12px}.profile-card{display:flex;align-items:center;gap:15px;padding:15px;border:1px solid var(--line);border-radius:14px}.profile-card>span{width:56px;flex-shrink:0}.profile-card strong{font-size:17px}.profile-card p{font-size:11px;color:var(--sage)}.profile-card button{margin-left:auto}.tutorial-card{padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:14px}.tutorial-card p{font-size:13px;line-height:1.9}.rename-field{display:block;margin:14px 0;width:100%;padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink)}@media(max-width:760px){.adoption-page{padding:20px}.adoption-page header{font-size:17px}.adoption-local{display:none}.adoption-layout{display:flex;flex-direction:column-reverse;min-height:0}.adoption-stage{width:100%}.adoption-stage #adopt-canvas{height:310px}.adoption-caption{margin-top:-15px}.adoption-caption p{font-size:17px;margin:8px}.adoption-caption small{display:none}.adoption-copy{width:100%;padding:24px 0}.adoption-copy h1{font-size:30px;margin:12px 0;line-height:1.4}.adoption-eyebrow{display:none}.adoption-steps{margin:4px 0 15px}.pet-choices{margin:18px 0}.pet-choices button{max-width:none}.pet-choices button>span{float:left;width:45px;height:45px;margin:0 9px 0 0}.pet-choices button small{clear:both;padding-top:8px}.adopt-actions button{min-height:44px}.adopt-name{max-width:none}.pet-extra{gap:4px;margin-top:8px}.pet-extra button{font-size:9px;padding:8px 3px}.pet-extra .icon{display:none}.profile-access button{font-size:9px}.adopting .adoption-page header button{font-size:11px;padding:10px}.profile-card{flex-wrap:wrap}}.profile-name>span{font-size:8px;letter-spacing:.5px}.profile-access .icon{height:14px;width:14px;vertical-align:middle}@media(max-width:760px){.profile .pet-extra,.profile .profile-access{position:absolute;left:calc(176px - 100vw);width:calc(100vw - 192px);margin:0}.profile .pet-extra{top:198px}.profile .profile-access{top:241px}.profile .pet-extra button{min-height:36px;font-size:11px;background:var(--surface)}.profile .profile-access button{font-size:10px;min-height:30px}}.profile-name{min-width:0}.profile-name strong{display:block;max-width:135px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-copy strong{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-card>div{min-width:0}.profile-card strong{overflow-wrap:anywhere}@media(max-width:760px){.profile-name strong{max-width:77px}.brand-copy strong{max-width:225px}}.pet-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.pet-choices button{min-width:0}@media(max-width:760px){.pet-choices{gap:8px}.pet-choices button{padding:12px 8px}.pet-choices button>span{float:none;margin:0 0 8px;width:42px;height:42px}.pet-choices button strong{font-size:16px}.pet-choices button small{font-size:10px}}.pet-choices{grid-template-columns:repeat(auto-fit,minmax(95px,1fr))}:root{font-family:ui-rounded,Hiragino Maru Gothic ProN,PingFang SC,Microsoft YaHei,sans-serif;color:#4d503f;background:#f6f3e9;font-synthesis:none;font-weight:400;--green:#697c58;--ink:#4d503f;--muted:#939283;--paper:#fffcf3;--line:#e3e0d3;--surface:rgba(255,253,246,.86)}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button{border:0;background:none}button:focus-visible,a:focus-visible{outline:3px solid #b09260;outline-offset:5px}button:disabled{cursor:not-allowed;opacity:.4}button:hover{color:#586b45}button:active{transform:translateY(1px)}.icon{width:22px;height:22px;flex-shrink:0;vertical-align:middle}button{transition:background .2s,color .2s,box-shadow .2s}#app{min-height:100svh;position:relative;overflow:hidden}#app:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.26;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='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%238b7a5e' opacity='.22' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.site-header{height:100px;position:relative;z-index:3;margin:0 4.1%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:25px}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:45px;height:45px}.brand-copy{display:flex;flex-direction:column;gap:5px}.brand-copy strong{font-size:20px;letter-spacing:2px;font-weight:650}.brand-copy small{font-family:Georgia,serif;font-size:10px;letter-spacing:2.6px;color:var(--muted)}nav{display:flex;gap:37px;height:100%;align-items:center;margin-left:70px}nav button{height:100%;position:relative;font-size:13px;letter-spacing:1px;color:#939181}nav button.selected{color:var(--green);font-weight:600}nav button.selected:after{content:"";height:4px;width:4px;background:var(--green);border-radius:50%;position:absolute;bottom:19px;left:50%}.header-tools{display:flex;align-items:center;gap:15px}.day-switch{display:flex;gap:8px;align-items:center;background:#ebeade;border-radius:24px;padding:9px 14px;font-size:12px}.day-switch .icon{width:17px;height:17px}.tool-button{display:grid;place-items:center;width:33px;height:33px;border-radius:50%}.tool-button:hover{background:#e7e8d9}.tool-button .icon{width:20px;height:20px}.world{position:absolute;inset:100px 0 112px;z-index:1}.world canvas{display:block;width:100%;height:100%;touch-action:none;outline:none}.intro{position:absolute;z-index:2;left:4.6%;top:151px;pointer-events:none}.eyebrow{font-family:Georgia,serif;font-size:11px;letter-spacing:3px;color:#979779;display:flex;align-items:center;gap:9px}.eyebrow:before{content:"";width:18px;height:1px;background:#9aa184}.intro h1{font-family:Songti SC,"Noto Serif CJK SC",STSong,serif;font-weight:500;font-size:43px;line-height:1.5;letter-spacing:4px;margin:22px 0 17px;color:#535b43}.intro p{font-size:12px;color:#92917f;line-height:2.1;letter-spacing:1px;margin:0}.season-pill{display:inline-flex;align-items:center;gap:8px;margin-top:25px;padding:8px 12px;border:1px solid #dedfcf;border-radius:25px;font-size:11px;color:#848b6e;letter-spacing:1px}.season-pill .icon{width:15px;height:15px}.small-dot{height:3px;width:3px;border-radius:50%;background:#a6aa92}.profile{position:absolute;right:4.5%;top:159px;z-index:2;width:222px;background:var(--surface);border:1px solid #e5e1d3;border-radius:20px;padding:21px 20px 19px;box-shadow:0 8px 30px #79664304}.profile-top{display:flex;align-items:center;gap:12px}.portrait{width:62px;height:62px;flex-shrink:0}.profile-name strong{font-size:18px;font-weight:600;letter-spacing:2px}.profile-name span{font-size:9px;font-family:Georgia,serif;color:#a2a38c;margin-left:5px;letter-spacing:1px}.profile-name p{font-size:11px;color:#9c9c86;margin:8px 0 0}.profile hr{border:0;border-top:1px dashed #dddccc;margin:18px 0 14px}.status-kicker{font-size:10px;color:#a09d8a;display:flex;justify-content:space-between;letter-spacing:1px}.live-dot{display:flex;gap:4px;align-items:center;font-size:9px;color:#8e9c7b}.live-dot:before{content:"";width:5px;height:5px;border-radius:50%;background:#8d9f73}.current-action{display:flex;align-items:center;gap:8px;font-size:13px;margin-top:10px;color:#697c58;min-height:25px}.current-action .icon{width:19px;height:19px}.progress-track{height:3px;background:#e6e8d9;margin:13px 0 17px;border-radius:3px;overflow:hidden}.progress-fill{height:100%;width:0;background:#a5b08d;border-radius:3px}.feeling{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#aaa38c}.feeling span:first-child{display:flex;align-items:center;gap:5px}.feeling .icon{width:13px;height:13px;color:#c49276}.feeling strong{font-weight:400;color:#8b9576}.auto-row{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:14px;border-top:1px solid #ece7da;font-size:11px;color:#95927e}.toggle{width:29px;height:17px;padding:2px;border-radius:20px;background:#cbcbbd}.toggle[aria-checked=true]{background:#879772}.toggle:after{content:"";display:block;width:13px;height:13px;border-radius:50%;background:#fffdf3;transition:transform .2s}.toggle[aria-checked=true]:after{transform:translate(12px)}.note{position:absolute;left:4.7%;bottom:227px;z-index:2;width:195px;transform:rotate(-3deg);background:#efeddf;padding:22px 17px 16px;border-radius:2px 2px 17px}.note:before{content:"";position:absolute;width:56px;height:18px;top:-7px;left:68px;background:#dcdcc5ad;transform:rotate(7deg)}.note .note-head{font-size:10px;color:#99967d;letter-spacing:1px}.note p{font-family:Songti SC,STSong,serif;font-size:13px;line-height:1.9;letter-spacing:1px;margin:12px 0 9px;color:#83866c}.note small{display:block;text-align:right;font-size:10px;color:#92957a}.note .icon{width:15px;height:15px;margin-left:3px}.view-controls{position:absolute;z-index:2;right:4.6%;bottom:224px;display:flex;flex-direction:column;align-items:center;gap:8px}.control-group{display:flex;flex-direction:column;gap:2px;background:var(--surface);padding:6px;border:1px solid var(--line);border-radius:25px}.control-group button{width:34px;height:33px;display:grid;place-items:center;border-radius:50%}.control-group button:hover{background:#eaecdf}.control-group .icon{width:17px;height:17px}.control-group .divider{height:1px;background:#e9e5d9;margin:3px 7px}.photo-button{height:44px;width:44px;border:1px solid var(--line);border-radius:50%;background:var(--surface)}.photo-button .icon{width:19px;height:19px}.world-caption{position:absolute;bottom:181px;left:50%;transform:translate(-50%);font-size:10px;color:#a2a28b;z-index:2;display:flex;align-items:center;gap:9px;white-space:nowrap;pointer-events:none}.world-caption .icon{width:13px;height:13px}.caption-dot{margin:0 4px;color:#c2c1ae}.bubble{position:absolute;top:40%;left:50%;z-index:2;transform:translate(-50%,-100%);padding:9px 15px;border-radius:15px 15px 15px 4px;background:#fffdf4f2;box-shadow:0 3px 15px #594e3d10;border:1px solid #e9e4d6;font-size:12px;color:#83866c;pointer-events:none;white-space:nowrap;transition:opacity .3s}.bubble.sleep{font-family:Georgia,serif;letter-spacing:4px;font-size:18px}.bottom-area{position:absolute;left:50%;bottom:35px;transform:translate(-50%);z-index:3;display:flex;align-items:center;gap:15px}.action-dock{display:flex;align-items:center;gap:5px;padding:10px;background:#fffdf4eb;border:1px solid #e6e3d5;border-radius:23px;box-shadow:0 7px 24px #574e3410}.action-button{position:relative;width:100px;height:88px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;border-radius:15px;font-size:12px;color:#96927c;letter-spacing:1px}.action-button>.icon{width:27px;height:27px;color:#898d70;transition:transform .2s}.action-button:hover{background:#f0f0e4}.action-button:hover>.icon{transform:translateY(-3px)}.action-button.active{background:#e7ebdc;color:#65754f}.action-button.active>.icon{color:#718255}.action-button .key{position:absolute;top:6px;right:9px;font-size:9px;font-family:Georgia,serif;color:#b8b9a3}.action-button.active:after{content:"";width:4px;height:4px;background:#88976b;border-radius:50%;position:absolute;bottom:7px}.pause-control{display:flex;flex-direction:column;align-items:center;gap:8px}.pause-button{display:grid;place-items:center;height:48px;width:48px;background:#758462;border-radius:50%;color:#fffdf2;box-shadow:0 4px 12px #75846220}.pause-button:hover{background:#62764e;color:#fff}.pause-button .icon{width:18px;height:18px}.pause-control small{color:#9b9b87;font-size:10px}.bottom-label{position:absolute;bottom:158px;left:50%;transform:translate(-50%);z-index:3;font-size:10px;letter-spacing:2px;color:#a6a58f;display:flex;align-items:center;gap:10px}.bottom-label:before,.bottom-label:after{content:"";width:27px;height:1px;background:#d5d8c5}.footer-note{position:absolute;bottom:24px;left:4.7%;font-size:9px;letter-spacing:1.4px;color:#b0ad99;z-index:2}.footer-right{right:4.7%;left:auto;display:flex;gap:5px;align-items:center}.footer-right .icon{width:12px;height:12px}.tooltip{position:fixed;z-index:10;background:#5f6f50;color:#fff9e8;font-size:11px;padding:8px 12px;border-radius:10px;pointer-events:none;transform:translate(-50%,-120%);opacity:0;transition:opacity .15s}.tooltip.visible{opacity:1}.toast{position:fixed;z-index:30;left:50%;top:112px;transform:translate(-50%,-10px);background:#697c58;color:#fffbe9;padding:11px 20px;border-radius:20px;font-size:12px;opacity:0;pointer-events:none;transition:all .25s}.toast.visible{opacity:1;transform:translate(-50%)}dialog{color:var(--ink);border:1px solid var(--line);border-radius:24px;padding:32px;max-width:430px;width:calc(100% - 36px);background:#fbf8ee;box-shadow:0 24px 100px #3b3c2725}dialog::backdrop{background:#4b4c3b44;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.dialog-header h2{font-family:Songti SC,serif;font-size:23px;font-weight:500;letter-spacing:2px;margin:0}.dialog-header button{padding:5px}.dialog-desc{font-size:12px;color:#96927d;line-height:1.9}.help-row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px}.help-row span:last-child{color:#a09c84;font-size:11px}.journal-entry{border-left:2px solid #d4dcc6;padding:0 0 20px 19px;position:relative}.journal-entry:before{content:"";width:6px;height:6px;background:#9cac83;border:3px solid #fbf8ee;position:absolute;left:-7px;top:1px;border-radius:50%}.journal-entry time{font-size:10px;color:#999980}.journal-entry p{font-size:12px;line-height:1.7;margin:6px 0 0}.journal-list{max-height:350px;overflow:auto;margin-top:22px}.loading{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;background:#f6f3e9;font-size:13px;color:#909776;letter-spacing:2px;transition:opacity .6s}.loading img{width:60px;animation:breathe 1.4s infinite}.loading.done{opacity:0;pointer-events:none}@keyframes breathe{50%{transform:translateY(-7px)}}.fallback{z-index:25;text-align:center;padding:30px}.fallback h2{font-size:23px}.fallback p{font-size:13px;line-height:2;max-width:400px}.fallback button{padding:12px 20px;background:#798a65;color:#fff;border-radius:20px}body.night{--ink:#d7d5bd;--muted:#9b9e86;--paper:#353d35;--line:#56604e;--surface:rgba(51,60,49,.92);background:#252f2b;color:#d7d5bd}body.night .intro h1{color:#d5d9bd}body.night .intro p,body.night .eyebrow{color:#a7ab92}body.night .brand-copy strong{color:#c6cfb6}body.night .day-switch{background:#3e4c3a;color:#d6d7ba}body.night .profile{border-color:#536049}body.night .profile hr{border-color:#59604f}body.night .current-action{color:#b6c59b}body.night .auto-row{border-color:#515847}body.night .note{background:#3a4435}body.night .note p{color:#b2b89b}body.night .action-dock{background:#364231;border-color:#505e43}body.night .action-button.active{background:#59684a;color:#e3e8cd}body.night .action-button.active>.icon{color:#d4e0bb}body.night .action-button:hover{background:#49573e}body.night .bubble{background:#414d38;border-color:#61724f;color:#e8e5ca}body.night dialog{background:#354030;color:#d7d9bf}body.night .progress-track{background:#536046}@media(min-width:1600px){.intro h1{font-size:51px}.intro{top:175px}.profile{top:180px;width:245px}.world{inset:105px 100px 115px}.note{bottom:260px}.view-controls{bottom:255px}}@media(max-width:1150px){.intro h1{font-size:33px}.intro{left:4%;top:139px}.intro p{font-size:11px}.profile{width:193px;right:3%;top:145px;padding:16px}.profile-name strong{font-size:16px}.portrait{width:50px;height:50px}.note{width:165px;left:4%;padding:20px 13px 13px;bottom:217px}.note p{font-size:11px}.view-controls{right:3%;bottom:207px}.action-button{width:89px}.footer-note{font-size:8px}nav{margin-left:0;gap:20px}.world{inset:110px 20px 148px}.intro p br{display:none}.intro p{width:170px}.world-caption{bottom:176px}.bottom-area{bottom:30px}}@media(max-width:760px){#app{min-height:840px;height:100svh}.site-header{height:78px;margin:0 22px;gap:12px}.brand-mark{width:36px;height:36px}.brand{gap:9px}.brand-copy strong{font-size:16px;letter-spacing:1.5px}.brand-copy small{font-size:8px;letter-spacing:1.7px}nav{display:none}.header-tools{gap:4px}.day-switch{padding:8px 10px}.day-switch span{display:none}.header-tools>.tool-button:last-child{display:none}.intro{top:110px;left:25px}.eyebrow{font-size:9px;letter-spacing:2px}.intro h1{font-size:29px;line-height:1.45;letter-spacing:3px;margin:12px 0 9px}.intro p{font-size:10px;line-height:1.8;width:180px}.season-pill{font-size:9px;margin-top:14px;padding:6px 9px}.profile{top:113px;right:22px;width:132px;padding:13px;border-radius:16px}.profile-top{gap:7px}.portrait{width:39px;height:39px}.profile-name strong{font-size:14px;letter-spacing:1px}.profile-name span{display:none}.profile-name p{font-size:8px;white-space:nowrap;margin-top:5px}.profile hr{margin:11px 0}.status-kicker{font-size:8px;letter-spacing:0}.live-dot{font-size:7px}.current-action{font-size:10px;gap:5px;margin-top:5px;white-space:nowrap}.current-action .icon{width:14px;height:14px}.progress-track{margin:8px 0 10px}.feeling{font-size:8px}.feeling .icon{width:10px;height:10px}.auto-row{font-size:9px;padding-top:9px;margin-top:10px}.toggle{width:27px;height:16px}.toggle:after{width:12px;height:12px}.toggle[aria-checked=true]:after{transform:translate(11px)}.world{inset:279px -16px 188px}.note{display:none}.view-controls{right:20px;bottom:192px;flex-direction:row}.control-group{flex-direction:row;border-radius:20px;padding:3px}.control-group button{height:30px;width:29px}.control-group .divider{height:18px;width:1px;margin:6px 2px}.photo-button{height:37px;width:37px}.bottom-area{bottom:51px;gap:9px;width:calc(100% - 32px);justify-content:center}.action-dock{padding:6px;gap:2px;border-radius:18px;flex:1;justify-content:space-between}.action-button{width:calc((100vw - 116px)/5);min-width:42px;height:72px;font-size:10px;gap:8px;letter-spacing:0;border-radius:12px}.action-button>.icon{height:23px;width:23px}.action-button .key{display:none}.action-button.active:after{bottom:5px}.pause-button{width:37px;height:37px}.pause-control small{font-size:9px}.bottom-label{bottom:149px;font-size:9px;letter-spacing:1.5px}.world-caption{bottom:171px;font-size:8px;gap:5px}.world-caption .icon{height:11px;width:11px}.footer-note{left:24px;bottom:18px;font-size:8px}.footer-right{right:24px;left:auto}.bubble{font-size:10px;padding:7px 11px}.toast{top:85px;font-size:11px}.photo-button .icon{width:17px;height:17px}}@media(max-width:390px){.header-tools{gap:0}.brand-copy strong{font-size:14px}.site-header{margin:0 16px}.profile{right:16px;width:127px}.intro{left:20px}.intro h1{font-size:27px}.intro p{width:156px}.season-pill{letter-spacing:0}.action-button{min-width:39px}.action-dock{gap:0}.bottom-area{gap:7px;width:calc(100% - 24px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(min-width:761px)and (max-height:800px){.world{bottom:146px}.intro{top:140px}.intro h1{font-size:36px;margin:17px 0 14px}.intro p{font-size:11px;max-width:232px}.intro .season-pill{margin-top:17px}.note{bottom:178px;width:180px;padding:20px 15px 13px}.note p{font-size:11px;margin:9px 0 7px}.profile{top:145px;padding:16px 18px}.profile hr{margin:14px 0 12px}.view-controls{bottom:202px;flex-direction:row;gap:8px}.control-group{flex-direction:row;border-radius:23px;padding:4px}.control-group .divider{width:1px;height:19px;margin:7px 3px}.control-group button{width:29px}.photo-button{width:42px;height:42px}.world-caption{bottom:177px}.bottom-label{bottom:155px}}@media(max-width:760px){.eyebrow{font-size:8px;letter-spacing:1.2px;gap:6px}.eyebrow:before{width:12px}}[hidden]{display:none!important}.site-header nav{gap:23px;margin-left:0}.site-header nav .icon{width:12px;height:12px;margin-left:2px}.album-count{font-size:9px;display:inline-grid;place-items:center;min-width:17px;height:17px;background:#e6e9d9;color:#819067;border-radius:50%;letter-spacing:0;margin-left:3px}.profile{width:238px;padding:18px 19px}.profile hr{margin:15px 0 12px}.profile .progress-track{margin:10px 0 17px}.needs{border-top:1px dashed #e0dfd0;padding-top:13px}.need-row{display:flex;justify-content:space-between;align-items:center;margin:0 0 7px;font-size:11px}.need-row>span{display:flex;align-items:center;gap:5px}.need-row .icon{height:14px;width:14px;color:#8b9d70}.need-row small{font-size:9px;margin-left:3px;color:#9b9c86}.need-row strong{font-weight:500;white-space:nowrap}.need-row strong b{font-weight:550;font-size:12px}.need-row strong i{font-style:normal;font-size:8px;color:#a7aa93;margin-left:3px}.need-track{height:5px;border-radius:10px;background:#e7eadb;overflow:hidden;margin-bottom:13px}.need-track>span{display:block;height:100%;background:#98ab7e;border-radius:10px;transition:width .4s linear}.need-track.low>span{background:#c99870}.need-track.mood>span{background:#cba58b}.needs-hint{font-size:9px;color:#9d9f83;line-height:1.7;margin:0;min-height:30px}.auto-row{margin-top:10px;padding-top:10px}.action-button{width:88px}.dock-divider{height:38px;width:1px;background:#e7e5d8;margin:0 4px}.travel-action{background:#edf0e2;color:#7a8c62}.travel-action .icon{color:#758a5c}.action-button:disabled{opacity:.35;transform:none;cursor:default}.footer-right{gap:14px}.footer-right button{font-size:10px;padding:3px 0;display:flex;align-items:center;gap:4px}.footer-right .album-count{height:14px;min-width:14px;font-size:8px}.outdoors{background:#eff1e3}.outdoors.night{background:#26372f}.journey-panel{position:absolute;z-index:2;left:4.6%;bottom:228px;width:220px;padding:21px 18px 17px;background:var(--surface);border:1px solid var(--line);border-radius:18px}.journey-kicker{font-family:Georgia,serif;font-size:8px;letter-spacing:1.8px;color:#a0a68b}.journey-panel h2{font-family:Songti SC,serif;font-size:24px;font-weight:500;letter-spacing:3px;margin:14px 0 10px}.journey-panel p{font-size:11px;line-height:1.8;color:#959c81;margin:0}.journey-countdown{display:flex;align-items:center;justify-content:space-between;margin-top:17px;padding-top:13px;border-top:1px dashed var(--line);font-size:10px;color:#9b9f85}.journey-countdown strong{font-family:Georgia,serif;font-size:19px;letter-spacing:2px;font-weight:400;color:#7c8c69}.return-button{display:flex;align-items:center;justify-content:center;gap:6px;background:#edf0e3;border-radius:20px;width:100%;padding:9px;margin-top:13px;font-size:11px;color:#81936c}.return-button .icon{height:14px;width:14px}dialog[data-view=map],dialog[data-view=album],dialog[data-view=photo]{width:min(820px,calc(100% - 40px));max-width:820px;max-height:88svh;padding:29px 31px;overflow:auto}dialog[data-view=map] .dialog-header h2{font-size:25px}.dialog-header{margin-bottom:17px}.map-summary{display:flex;align-items:center;gap:6px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 0;margin:20px 0;font-size:11px;color:#929b7e}.map-summary>.icon{width:15px;height:15px}.map-summary strong{font-size:17px;color:#788e61}.map-summary-right{margin-left:auto;font-size:10px}.destination-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.destination-card{border:1px solid #e2e4d3;border-radius:16px;overflow:hidden;background:#fffdf5}.destination-art{height:137px;background:#eef0e1;position:relative;overflow:hidden}.destination-art svg{width:100%;height:100%;padding:7px 14px 0}.destination-art>span{position:absolute;left:12px;top:12px;font:11px Georgia,serif;color:#929d7b}.destination-body{padding:18px 15px 15px}.destination-body>small{font:8px Georgia,serif;letter-spacing:1.6px;color:#a0a58d}.destination-body h3{font-size:20px;letter-spacing:2px;font-family:Songti SC,serif;font-weight:500;display:flex;align-items:center;justify-content:space-between;margin:10px 0}.destination-body h3 .icon{width:20px;height:20px;color:var(--destination)}.destination-body p{font-size:11px;line-height:1.9;min-height:62px;color:#959581;margin:0 0 12px}.friend-line{display:flex;align-items:center;gap:6px;font-size:10px;color:#989d83;margin-bottom:15px}.friend-line .icon{width:14px;height:14px}.trip-stats{display:flex;justify-content:space-between;border-top:1px dashed #e3e4d6;padding-top:13px;font-size:10px;color:#8f987f}.trip-stats .icon{height:12px;width:12px;margin-right:3px}.destination-body>button{margin-top:17px;background:var(--destination);color:#fffcec;border-radius:25px;width:100%;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;font-size:11px}.destination-body>button:disabled{background:#e7e8dc;color:#959b83;opacity:1}.destination-body>button .icon{width:14px;height:14px}.map-foot{display:flex;align-items:center;justify-content:space-between;margin-top:21px;font-size:10px;color:#9da18a;gap:10px}.soft-button,.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:24px;padding:10px 16px;font-size:11px;white-space:nowrap}.soft-button{background:#edf0e2;color:#80936a}.primary-button{background:#82956c;color:#fffbed}.primary-button:hover{background:#6b8157;color:#fff}.soft-button .icon,.primary-button .icon{height:16px;width:16px}.album-tabs{display:flex;gap:7px;margin:20px 0 24px;border-bottom:1px solid var(--line);padding-bottom:14px}.album-tabs button{font-size:11px;border-radius:20px;padding:8px 14px;color:#9a9f87}.album-tabs button.active{background:#e7ecda;color:#72865f}.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 16px}.photo-card{background:#fffdf6;padding:8px 8px 13px;border:1px solid #e4e2d6;border-radius:4px;box-shadow:0 3px 7px #81705008;text-align:left;min-width:0;transition:transform .2s}.photo-card:nth-child(3n+1){transform:rotate(-1deg)}.photo-card:nth-child(3n+3){transform:rotate(1deg)}.photo-card:hover{transform:translateY(-4px)}.photo-card img{width:100%;aspect-ratio:1.12;object-fit:cover;background:#eeefdf;border-radius:2px}.photo-caption{font-family:Songti SC,serif;font-size:14px;display:block;line-height:1.7;margin:10px 4px 4px}.photo-card>small{font-size:9px;color:#a3a58e;margin:0 4px;display:block;line-height:1.6}.local-note{font-size:10px;color:#a8ab95;text-align:center;margin:26px 0 0}.album-empty{text-align:center;padding:24px 10px 30px;display:flex;align-items:center;flex-direction:column;gap:13px}.album-empty>.icon{width:52px;height:52px;color:#a7b190}.album-empty h3{font-family:Songti SC,serif;font-weight:400;font-size:22px;letter-spacing:2px;margin:5px 0}.album-empty p{font-size:11px;color:#999e85;line-height:1.8;margin:0 0 6px}.photo-full{width:100%;max-height:53svh;object-fit:contain;background:#eff0e4;border:8px solid #fffdf6;border-radius:5px}.photo-detail-meta{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#a0a58b;margin:15px 0}.photo-detail-meta .icon{width:12px;height:12px}.photo-story{font:15px/1.9 Songti SC,serif;color:#889476;margin:8px 0 19px;letter-spacing:1px}.photo-actions{display:flex;justify-content:flex-end;gap:9px}.photo-actions>button:first-child{margin-right:auto}.journal-mood{display:flex;gap:5px;align-items:center;font-size:9px;color:#a6a086;margin-top:8px}.journal-mood .icon{width:11px;height:11px}.journal-list{max-height:52svh}.night .need-track{background:#4e5c43}.night .needs{border-color:#5c654f}.night .destination-card,.night .photo-card{background:#3d4937;border-color:#606b52}.night .destination-art{background:#56634a}.night .destination-body p{color:#b8bea5}.night .map-summary strong,.night .journey-countdown strong{color:#cad7b5}.night .photo-full{border-color:#4c5b42;background:#303c2f}@media(min-width:761px)and (max-height:800px){.profile{top:139px;padding:15px 17px;width:226px}.profile-top .portrait{width:49px;height:49px}.profile hr{margin:11px 0}.profile .progress-track{margin:8px 0 12px}.needs{padding-top:10px}.need-track{margin-bottom:10px}.needs-hint{min-height:16px}.view-controls{bottom:187px}.journey-panel{bottom:186px;width:190px;padding:17px 15px}.journey-panel h2{font-size:22px;margin:10px 0}.journey-panel p{font-size:10px}.journey-countdown{margin-top:12px;padding-top:9px}.return-button{padding:7px}.action-button{width:82px}.site-header nav{gap:19px}.intro p{max-width:238px}}@media(max-width:1150px)and (min-width:761px){.site-header nav{gap:15px}.site-header nav button{font-size:11px}.brand-copy strong{font-size:17px}.profile{right:2.6%;width:205px}.need-row small{font-size:8px}.profile-name p{font-size:10px}.header-tools{gap:7px}.intro h1{font-size:33px}.journey-panel{width:170px;left:3%}.journey-panel p{font-size:10px}}@media(max-width:760px){.profile{width:147px;right:18px;top:108px;padding:12px}.profile-top{gap:7px}.portrait{width:36px;height:36px}.profile-name p{font-size:7px}.profile hr{margin:9px 0}.profile .progress-track{margin:7px 0 10px}.needs{padding-top:9px}.need-row{font-size:9px;margin-bottom:5px}.need-row>span{gap:3px}.need-row .icon{width:10px;height:10px}.need-row small{display:none}.need-row strong b{font-size:10px}.need-row strong i{font-size:7px}.need-track{height:4px;margin-bottom:8px}.needs-hint{font-size:7px;line-height:1.6;min-height:23px}.auto-row{margin-top:7px;padding-top:7px;font-size:8px}.world{top:350px;bottom:180px}.intro{left:22px;top:109px}.intro h1{font-size:29px}.intro p{width:172px;font-size:9px;line-height:1.9}.intro .eyebrow{font-size:7px;letter-spacing:.9px;gap:4px}.intro .eyebrow:before{width:10px}.intro .season-pill{font-size:8px;padding:6px 8px}.journey-panel{top:298px;left:22px;bottom:auto;width:185px;background:none;border:0;padding:0}.journey-kicker{display:none}.journey-panel h2{font-size:18px;margin:0;display:inline-block;letter-spacing:2px}.journey-panel p{display:none}.journey-countdown{display:inline-flex;gap:7px;border:0;padding:0;margin:0 0 0 10px;font-size:8px}.journey-countdown strong{font-size:13px;letter-spacing:1px}.return-button{width:auto;padding:6px 10px;margin-top:8px;font-size:9px}.return-button .icon{height:12px;width:12px}.view-controls{bottom:189px}.bottom-area{width:calc(100% - 24px);gap:7px;bottom:52px}.action-dock{padding:5px;gap:1px}.action-button{width:calc((100vw - 90px)/6);min-width:34px;font-size:9px;height:69px;gap:7px}.action-button>.icon{width:21px;height:21px}.dock-divider{margin:0 2px;height:28px}.travel-action{border-radius:12px}.pause-button{height:33px;width:33px}.pause-button .icon{width:14px;height:14px}.pause-control small{font-size:8px}.bottom-label{font-size:8px;letter-spacing:.8px;bottom:150px;white-space:nowrap}.bottom-label:before,.bottom-label:after{width:16px}.world-caption{font-size:7px;bottom:171px;gap:4px}.footer-note{font-size:7px;left:21px}.footer-right{left:auto;right:19px;gap:13px}.footer-right button{font-size:9px}.footer-right .icon{width:12px;height:12px}.footer-right .album-count{height:13px;min-width:13px;font-size:7px}.current-action{font-size:9px;gap:4px}.current-action .icon{width:13px;height:13px}.bubble{font-size:9px}.dialog-header h2,dialog[data-view=map] .dialog-header h2{font-size:21px;letter-spacing:1px}dialog[data-view=map],dialog[data-view=album],dialog[data-view=photo]{width:calc(100% - 24px);padding:21px 18px;border-radius:19px;max-height:89svh}.dialog-desc{font-size:11px}.destination-grid{grid-template-columns:1fr;gap:13px}.destination-card{display:grid;grid-template-columns:104px 1fr;border-radius:13px}.destination-art{height:100%;min-height:189px}.destination-art svg{padding:0;width:140%;margin-left:-20%;height:100%}.destination-body{padding:13px}.destination-body>small{font-size:7px;letter-spacing:1px}.destination-body h3{font-size:18px;margin:7px 0}.destination-body p{font-size:10px;min-height:0;margin-bottom:8px;line-height:1.7}.friend-line{font-size:9px;margin-bottom:9px}.trip-stats{font-size:9px;padding-top:8px}.destination-body>button{margin-top:11px;font-size:10px;padding:8px 11px}.map-summary{margin:14px 0;font-size:10px}.map-summary-right{font-size:8px;max-width:133px;text-align:right}.map-summary strong{font-size:15px}.map-foot{align-items:flex-start;font-size:9px;line-height:1.7}.map-foot .soft-button{font-size:9px;padding:8px 10px}.album-tabs{gap:3px;margin:16px 0;padding-bottom:12px}.album-tabs button{padding:7px 9px;font-size:10px}.album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 10px}.photo-card{padding:6px 6px 10px}.photo-caption{font-size:12px;margin:6px 2px 3px}.photo-card>small{font-size:8px;margin:0 2px}.photo-actions{gap:6px;flex-wrap:wrap}.photo-actions button{font-size:9px;padding:8px 10px}.photo-detail-meta{font-size:8px;gap:10px;line-height:1.8}.photo-story{font-size:13px}.album-empty h3{font-size:18px}.album-empty p{font-size:10px}.local-note{font-size:8px}.photo-full{border-width:5px}.journey-panel .return-button:disabled{opacity:.55}}@media(max-width:390px){.profile{right:14px;width:144px}.intro{left:18px}.intro h1{font-size:27px}.intro p{width:158px}.intro .eyebrow{font-size:6.5px;letter-spacing:.7px}.action-button{min-width:32px}.bottom-area{width:calc(100% - 20px);gap:6px}.journey-panel{left:18px}}@media(min-width:761px)and (max-height:670px){#app{min-height:740px}.profile,.intro{top:125px}.note{bottom:177px}.view-controls{bottom:190px}}@media(min-width:761px)and (max-height:800px){.travelling .intro p,.travelling .intro .season-pill{visibility:hidden}}.site-header nav{gap:16px}.site-header nav button{font-size:11px}.packing-panel{border:1px solid #d9dfc8;background:#edf0e1;border-radius:18px;padding:20px;margin-bottom:21px}.packing-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.packing-heading small{font:8px Georgia,serif;letter-spacing:1.8px;color:#959f83}.packing-heading h3{font:22px Songti SC,serif;letter-spacing:2px;margin:8px 0 17px;color:#647451}.pantry-count{font-size:10px;color:#8d977a;white-space:nowrap}.pantry-count .icon{width:14px;height:14px;margin-right:5px}.pantry-count b{font-size:17px;color:#667f50}.packing-slots{display:grid;grid-template-columns:1fr 1.4fr;gap:12px}.food-slot{display:flex;align-items:center;gap:12px;background:#f8f5e9;border:1px solid #dedfcc;border-radius:13px;padding:13px;text-align:left}.food-slot>.icon{width:29px;height:29px;color:#ad9365}.food-slot strong{display:block;font-size:12px;font-weight:500}.food-slot small{display:block;font-size:9px;color:#9da188;margin-top:6px}.food-slot>span:last-child{margin-left:auto;font-size:18px;color:#8c9f72}.food-slot.selected,.tool-options .selected{border-color:#8d9e73;background:#fbf9ed;box-shadow:inset 0 0 0 1px #8d9e7322}.tool-options{display:flex;gap:7px}.tool-options button{flex:1;padding:10px 4px;border:1px solid #daddcc;border-radius:13px;background:#f5f4e8;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;font-size:9px}.tool-options .icon{height:24px;width:24px;color:#81956b}.packing-hint{font-size:10px;color:#939d80;line-height:1.8;margin:12px 0}.packing-bottom{display:flex;justify-content:space-between;gap:10px}.packing-bottom .soft-button{background:#dde4ce;font-size:10px}.map-foot{flex-wrap:wrap}.map-foot>span{flex:1}.map-foot button{font-size:10px}.has-visitor:after{content:"•";color:#bc8869;margin-left:4px}.collection-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:26px 0 16px}.collection-heading h3{font:19px Songti SC,serif;margin:0}.collection-heading>span{font-size:10px;color:#929b80}.collection-heading .icon{width:13px;height:13px}.treasure-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.treasure-card{padding:17px 10px;border:1px dashed #d5d8c5;border-radius:16px;background:#f0f0e4;text-align:center}.treasure-card.owned{border-style:solid;background:#fffbee}.treasure-art{width:100%;height:117px;display:grid;place-items:center;position:relative}.treasure-art:before{content:"";position:absolute;width:80px;height:80px;background:#e2e6d1;border-radius:50%}.treasure-art>.icon{position:relative;width:46px;height:46px;color:#9aa586}.owned .bookmark>.icon,.treasure-art.bookmark>.icon{color:#b69d5b}.owned .stone>.icon{color:#8b9f98}.owned .pebble>.icon{color:#7ba39c}.treasure-card strong{display:block;font:18px Songti SC,serif;letter-spacing:2px;margin:9px 0}.treasure-card small{font-size:9px;color:#989e83;line-height:1.8}.return-recap{padding:17px;border:1px solid #dde1ce;border-radius:14px;display:flex;gap:15px;align-items:center;background:#eaf0de;margin:18px 0}.return-recap>.icon{width:32px;height:32px;color:#90a275}.return-recap small,.return-recap span{font-size:9px;color:#959d83;display:block}.return-recap strong{font:16px Songti SC,serif;display:block;margin:6px 0;letter-spacing:1px}.friend-list{display:grid;gap:9px}.friend-card{border-bottom:1px solid #e3e3d3;padding:12px 0;display:flex;gap:12px;align-items:center}.friend-card>.icon{width:25px;height:25px;color:#9aab83}.friend-card strong{display:block;font-size:12px;font-weight:500}.friend-card small{display:block;font-size:9px;color:#9ba38b;margin-top:5px}.friend-card button{margin-left:auto}.collection-actions{display:flex;justify-content:center;gap:12px;margin-top:23px}.treasure-story{font:18px/2 Songti SC,serif;letter-spacing:1px;text-align:center;color:#7d8b69}.album-pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin:25px 0;font-size:11px;color:#92a07d}.album-tabs{flex-wrap:wrap}.journal-photo{font-size:9px;padding:6px 12px;margin-top:5px}.night .packing-panel,.night .return-recap{background:#424e38;border-color:#657055}.night .food-slot,.night .tool-options button,.night .treasure-card{background:#364530;border-color:#59684f}.night .food-slot.selected,.night .tool-options .selected,.night .treasure-card.owned{background:#516144}.night .packing-heading h3{color:#d4dbbc}.night .treasure-art:before{background:#526149}.night .treasure-story{color:#bdcba9}dialog[data-view=collection]{width:min(760px,calc(100% - 40px));max-width:760px;max-height:88svh;overflow:auto;padding:29px 31px}@media(max-width:1150px)and (min-width:761px){.site-header nav{gap:10px}.site-header nav button{font-size:9px}}@media(max-width:760px){.packing-panel{padding:14px}.packing-heading{align-items:flex-start}.packing-heading h3{font-size:18px;letter-spacing:1px;margin-bottom:13px}.packing-heading small{font-size:6px;letter-spacing:1px}.pantry-count{font-size:8px;white-space:nowrap;line-height:1.7}.packing-heading{flex-wrap:wrap;gap:0 8px}.packing-heading .pantry-count{margin-bottom:12px}.packing-slots{grid-template-columns:1fr}.food-slot{padding:10px}.tool-options button{padding:11px 3px}.packing-bottom .soft-button{font-size:8px;padding:8px}.packing-hint{font-size:9px}.treasure-grid{gap:7px}.treasure-card{padding:9px 5px}.treasure-art{height:86px}.treasure-art:before{width:61px;height:61px}.treasure-art>.icon{width:36px;height:36px}.treasure-card strong{font-size:14px;letter-spacing:0}.treasure-card small{font-size:8px}.collection-heading h3{font-size:16px}.collection-heading>span{font-size:8px}.return-recap strong{font-size:14px;line-height:1.6}.friend-card .primary-button{font-size:9px;padding:8px}.friend-card small{font-size:8px}.footer-right{gap:9px}.footer-right button{font-size:8px}.album-tabs button{padding:6px 8px;font-size:9px}.collection-actions .primary-button,.collection-actions .soft-button{font-size:10px;padding:10px 12px}dialog[data-view=collection]{width:calc(100% - 24px);padding:21px 18px}.treasure-story{font-size:16px}}.companion-button{display:flex;align-items:center;gap:8px;width:100%;padding:12px 0 0;margin-top:12px;border:0;border-top:1px solid #b3b99c55;background:none;font-size:10px;color:#849171;text-align:left}.companion-button>.icon:last-child{margin-left:auto}.companion-button .icon{width:15px;height:15px}.atlas-section{margin:10px 0 24px}.atlas-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.atlas-heading small,.companion-hero small{font:8px Georgia,serif;letter-spacing:1.5px;color:#99a388}.atlas-heading h3{font:22px Songti SC,serif;letter-spacing:1px;margin:10px 0 17px}.atlas-map{position:relative;height:235px;overflow:hidden;border-radius:18px;background:#eff0df;border:1px solid #d7ddc7}.atlas-map>svg{position:absolute;width:100%;height:100%}.atlas-pin{position:absolute;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:4px;border:0;background:none;color:#647556;min-width:84px;padding:7px}.atlas-pin>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff7e9;border:1px solid #a7b599}.atlas-pin .icon{width:20px;height:20px}.atlas-pin strong{font:13px Songti SC,serif;letter-spacing:1px}.atlas-pin small{font-size:8px}.atlas-pin.active>span,.atlas-pin:hover>span{background:#718958;color:#fff8e8}.atlas-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:10px;color:#8b987b;padding:12px 3px}.atlas-foot button{border:0;background:none;color:inherit;font-size:10px}.atlas-foot .icon{width:13px;height:13px}.all-maps{margin-bottom:12px}.destination-card[hidden]{display:none!important}.destination-grid.focused{grid-template-columns:1fr}.destination-grid.focused .destination-card{display:grid;grid-template-columns:1fr 1.4fr}.destination-grid.focused .destination-art{min-height:235px;height:100%}.destination-grid.focused .destination-art svg{height:100%}.tool-options{display:grid;grid-template-columns:repeat(4,1fr)}.treasure-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.treasure-card strong{font-size:15px;letter-spacing:0}.treasure-art{height:95px}.passport-link{display:block;margin:18px auto 0}.companion-hero{display:flex;gap:20px;align-items:center;padding:20px;background:#e9eedc;border:1px solid #dce2cc;border-radius:17px;margin:15px 0 20px}.companion-hero h3{font:23px Songti SC,serif;margin:10px 0}.companion-hero p{font-size:12px;line-height:1.9;margin:0;color:#889674}.companion-seal{display:grid;place-items:center;flex:0 0 64px;height:64px;border:1px solid #aebc94;border-radius:50%;color:#829764}.companion-seal .icon{width:32px;height:32px}.habit-row{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:11px}.habit-row span{display:flex;align-items:center;gap:6px;color:#8e977d}.habit-row .icon{width:17px;height:17px}.habit-row b{color:#708658}.rhythm-section{padding:18px 0;border-top:1px solid #dedfcc}.rhythm-section h3{font:19px Songti SC,serif;margin:0 0 16px}.rhythm-section h3 small{font:11px sans-serif;color:#8c997b;margin-left:12px}.choice-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice-pair button,.offline-choice,.season-choices button{border:1px solid #d6ddc5;border-radius:12px;background:#f3f3e6;color:#7b8a68;padding:14px;text-align:left}.choice-pair strong,.offline-choice strong{font-size:13px;display:block;font-weight:500}.choice-pair small,.offline-choice small{font-size:10px;line-height:1.8;margin-top:7px;display:block;color:#929e7f}.choice-pair [aria-pressed=true],.season-choices [aria-pressed=true]{border-color:#8ca572;background:#e4ebd6;color:#617d4c}.offline-choice{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:14px;gap:20px}.offline-choice b{font:12px sans-serif;border-radius:20px;background:#d6dfc6;padding:6px 12px}.offline-choice[aria-checked=true] b{background:#81966c;color:#fffbee}.season-choices{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}.season-choices button{font-size:11px;padding:10px 14px}.passport-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.passport-place{border:1px dashed #d2dac3;border-radius:16px;padding:17px;background:#f1f2e6}.passport-place.stamped{border-style:solid;background:#fcf8ec}.passport-stamp{display:grid;justify-items:center;gap:8px;color:#a0a98f}.stamped .passport-stamp{color:#859b6c}.passport-stamp .icon{width:30px;height:30px}.passport-stamp strong{font:18px Songti SC,serif}.passport-stamp small{font-size:9px}.passport-place ul{list-style:none;margin:18px 0;padding:0;font-size:10px;line-height:2.4;color:#a0a98f}.passport-place .found{color:#6d8959}.passport-place button{font-size:9px;padding:9px}.moment-label{font-size:10px;border-top:1px solid #a6b59355;margin-top:18px;padding-top:16px}.moment-options{display:grid;gap:6px}.moment-options button{padding:9px 10px;border:1px solid #d3ddc7;border-radius:10px;background:#eff3e6;color:#7f906b;text-align:left}.moment-options span{font-size:11px}.moment-options small{font-size:8px;display:block;opacity:.8;margin-top:4px}.moment-done{font:13px Songti SC,serif;line-height:1.7;border-top:1px solid #a6b59355;padding-top:15px}.moment-done small{font:10px/1.8 sans-serif;display:block;margin-top:8px;color:#8b997c}.journey-panel{max-height:55svh;overflow:auto}.night .atlas-map{filter:brightness(.8)}.night .companion-hero,.night .passport-place,.night .choice-pair button,.night .offline-choice,.night .season-choices button,.night .moment-options button{background:#394d40;border-color:#6d7e63;color:#c9d3b5}.night .companion-hero h3,.night .rhythm-section h3{color:#d9dfca}.night .choice-pair [aria-pressed=true],.night .season-choices [aria-pressed=true]{background:#617451;color:#f4f3df}.night .companion-button{color:#bdc9a9}@media(max-width:760px){.companion-button{padding-top:7px;margin-top:7px;font-size:9px}.atlas-heading h3{font-size:17px;max-width:200px}.atlas-heading small{font-size:6px;letter-spacing:1px}.atlas-heading .soft-button{padding:9px;font-size:9px}.atlas-map{height:224px}.atlas-pin{min-width:60px;padding:4px;gap:3px}.atlas-pin strong{font-size:11px;letter-spacing:0}.atlas-pin small{font-size:7px}.atlas-pin>span{height:29px;width:29px}.atlas-pin .icon{width:16px;height:16px}.atlas-foot{font-size:8px;line-height:1.8;align-items:flex-start}.atlas-foot button{font-size:8px;white-space:nowrap}.tool-options{grid-template-columns:repeat(2,1fr)}.tool-options button{flex-direction:row;gap:7px}.tool-options .icon{width:20px;height:20px}.treasure-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.treasure-card strong{font-size:13px}.passport-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.passport-place{padding:12px 9px}.passport-stamp strong{font-size:15px}.passport-place ul{font-size:9px}.passport-place button{padding:7px;font-size:8px}.companion-hero{padding:15px;gap:12px}.companion-hero h3{font-size:18px}.companion-hero p{font-size:10px}.companion-seal{flex-basis:43px;height:43px}.companion-seal .icon{width:24px;height:24px}.habit-row{gap:10px;font-size:9px}.habit-row .icon{width:14px;height:14px}.choice-pair button{padding:12px}.choice-pair strong,.offline-choice strong{font-size:11px}.season-choices{gap:6px}.season-choices button{font-size:10px;padding:8px 10px}.journey-panel{max-height:none}.moment-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.moment-options button{padding:8px 6px}.moment-options span{font-size:9px}.moment-options small{font-size:7px}.moment-label{padding-top:10px;margin-top:10px}.moment-done{font-size:11px}.moment-done small{font-size:9px}.destination-grid.focused .destination-card{grid-template-columns:.7fr 1.3fr}.destination-grid.focused .destination-art{min-height:190px}.footer-right{gap:7px}}dialog[data-view=companion],dialog[data-view=passport],dialog[data-view=away]{width:min(760px,calc(100% - 40px));max-width:760px;max-height:88svh;overflow:auto;padding:29px 31px}@media(max-width:760px){dialog[data-view=companion],dialog[data-view=passport],dialog[data-view=away]{width:calc(100% - 24px);padding:21px 18px}}@media(max-width:760px){body.travelling #app{min-height:930px;height:max(100svh,930px)}.travelling .world{top:365px;bottom:280px}.travelling .view-controls{bottom:280px}.travelling .world-caption{display:none}.travelling .journey-panel{overflow:visible}.journey-panel #moment-panel{position:absolute;top:365px;left:0;width:calc(100vw - 36px);padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.journey-panel #moment-panel:empty{display:none}.journey-panel #moment-panel p{display:block}.journey-panel #moment-panel .moment-label{border:0;padding:0;margin:0 0 8px;font-size:10px}.journey-panel #moment-panel .moment-done{border:0;padding:0;margin:0}.journey-panel #moment-panel .moment-done small{font-size:9px;line-height:1.7}}.night .passport-stamp,.night .stamped .passport-stamp{color:#e3e5c7}.night .passport-place ul,.night .companion-hero p,.night .habit-row span,.night .choice-pair small,.night .offline-choice small,.night .moment-done small{color:#ced7bd}.night .passport-place .found,.night .habit-row b{color:#edf1c6}@media(max-width:760px){.passport-place ul{font-size:11px;line-height:2.3}.passport-place button{font-size:10px;min-height:36px}.moment-options span{font-size:11px}.moment-options small{font-size:9px}.moment-options button{min-height:56px}}.mobile-only,.footer-right>.mobile-only{display:none}body:not(.family-mode) .profile-access{flex-wrap:wrap}body:not(.family-mode) .profile-access>button{flex:1 1 calc(50% - 8px)}@media(max-width:1024px){body:not(.adopting):not(.family-mode){overflow:hidden}body:not(.adopting):not(.family-mode) #app{display:grid;grid-template-rows:52px 48px minmax(0,1fr);grid-template-areas:"header" "library" "game";height:100vh;height:100dvh;height:var(--game-viewport-height, 100dvh);min-height:0;overflow:hidden;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}#app>.site-header{grid-area:header;height:52px;margin:0 12px;gap:8px;min-width:0}#app>.site-header nav{display:none}.site-header .brand{min-width:0;gap:8px}.site-header .brand-mark{width:30px;height:30px}.site-header .brand-copy{min-width:0}.site-header .brand-copy strong{font-size:14px;letter-spacing:.5px}.site-header .brand-copy small{display:none}.site-header .header-tools{flex-shrink:0;gap:0}.site-header .header-tools>button{min-width:44px;min-height:44px;padding:10px}.site-header .day-switch span,.site-header .header-tools>.tool-button:last-child{display:none}body:not(.family-mode) #app>main{grid-area:game;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto 48px 66px;grid-template-areas:"profile" "world" "journey" "controls" "actions";position:relative;width:100%;height:100%;min-height:0;margin:0 auto;padding:4px 12px 6px}#app .intro,#app .note,#app .world-caption,#app .bottom-label{display:none}#app main>.journey-panel{display:none}#app .world{grid-area:world;position:relative;inset:auto;width:100%;height:100%;min-width:0;min-height:0;max-height:none;overflow:hidden}#app .profile{grid-area:profile;position:static;width:100%;min-width:0;padding:9px 12px;margin:0;border-radius:16px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 12px}#app .profile>*{min-width:0}#app .profile-top{grid-column:1;grid-row:1 / span 2;gap:7px}#app .portrait{width:34px;height:34px}#app .profile-name strong{font-size:14px}#app .profile-name>span,#app .profile-name p,#app .profile>hr,#app .status-kicker>span:first-child{display:none}#app .status-kicker{grid-column:2;grid-row:1;font-size:10px}#app .live-dot{font-size:10px}#app .current-action{grid-column:2;grid-row:2;font-size:11px;line-height:1.4;margin:0;gap:5px;white-space:nowrap;overflow:hidden}#app .current-action span{overflow:hidden;text-overflow:ellipsis}#app .current-action .icon{width:14px;height:14px;flex-shrink:0}#app .profile>.progress-track{display:none}#app .needs{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3px 16px;margin:0;padding:5px 0 0;border:0}#app .need-row{font-size:10px;margin:0}#app .need-row:nth-child(1){grid-column:1;grid-row:1}#app .need-row:nth-child(3){grid-column:2;grid-row:1}#app .need-row small,#app .need-row i{display:none}#app #energy-meter{grid-column:1;grid-row:2}#app #mood-meter{grid-column:2;grid-row:2}#app .need-track{height:4px;margin:0}#app .profile .needs-hint,#app .profile>.auto-row,#app .profile>.companion-button,#app .profile>.pet-extra,#app .profile>.sports-home-button,#app .profile>.profile-access{display:none}#app .mobile-journey:not([hidden]){grid-area:journey;display:flex;justify-content:space-between;align-items:center;width:100%;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);font-size:12px}#app .view-controls{grid-area:controls;position:static;transform:none;flex-direction:row;justify-content:center;align-items:center;gap:8px;padding:0 50px 0 0}#app .control-group{flex-direction:row;padding:0;border-radius:24px}#app .control-group button,#app .photo-button{width:44px;height:44px}#app .control-group .divider{width:1px;height:20px;margin:12px 2px}#app .bottom-area{grid-area:actions;position:static;transform:none;width:100%;margin:0;gap:6px;align-items:center}#app .action-dock{flex:1;min-width:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;padding:3px;border-radius:16px}#app .dock-divider,#app .action-button .key{display:none}#app .action-button{width:100%;min-width:0;height:58px;padding:4px 1px;font-size:10px;letter-spacing:0;gap:5px;border-radius:11px}#app .action-button>.icon{width:21px;height:21px}#app .pause-control{position:absolute;right:12px;bottom:74px;flex-shrink:0;gap:0}#app .pause-button{width:44px;height:44px}#app .pause-control small{display:none}#app>.footer-note:not(.footer-right){display:none}#app>.footer-right{grid-area:library;position:static;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0 12px;margin:0;font-size:11px;color:var(--ink)}#app>.footer-right button{display:flex;justify-content:center;align-items:center;gap:4px;min-height:44px;padding:4px;font-size:12px;border-radius:12px}#app>.footer-right .icon{width:16px;height:16px}#app>.footer-right button:hover{background:var(--surface)}#app>.footer-right button[data-open=companion]{display:none}#app .bubble{display:none}#app .toast{top:calc(56px + env(safe-area-inset-top,0px));max-width:calc(100% - 32px);text-align:center}#app #dialog{position:fixed;inset:auto 0 0;margin:auto auto 0;width:100%;max-width:720px;max-height:calc(100vh - 16px);max-height:calc(var(--game-viewport-height, 100dvh) - 16px - env(safe-area-inset-top,0px));border-radius:24px 24px 0 0;padding:16px 18px calc(18px + env(safe-area-inset-bottom,0px));overflow:auto;overscroll-behavior:contain}#app .dialog-header{position:sticky;top:-16px;z-index:2;background:var(--paper);gap:10px;margin-bottom:12px}#app .dialog-header h2{font-size:20px;line-height:1.5}#app .dialog-header button{min-width:44px;min-height:44px;flex-shrink:0}#app .photo-actions{flex-wrap:wrap}#app .mobile-sheet-content{display:grid;gap:12px}#app .mobile-sheet-content>*{position:static;width:100%;margin:0}#app .mobile-sheet-content .needs-hint{min-height:0;font-size:12px}#app .mobile-sheet-content .auto-row{min-height:44px;font-size:13px}#app .mobile-sheet-content button{min-height:44px;font-size:12px}#app .mobile-sheet-content .toggle{position:relative;width:44px;height:44px;min-height:44px;background:transparent}#app .mobile-sheet-content .auto-row{padding:8px 0}#app .mobile-sheet-content .toggle:before{content:"";position:absolute;inset:8px 0;background:#cbcbbd;border-radius:20px}#app .mobile-sheet-content .toggle[aria-checked=true]:before{background:#879772}#app .mobile-sheet-content .toggle:after{position:absolute;top:10px;left:2px;width:24px;height:24px}#app .mobile-sheet-content .toggle[aria-checked=true]:after{transform:translate(16px)}#app .mobile-sheet-content .journey-panel{padding:0;max-height:none;overflow:visible;border:0;background:transparent}#app .mobile-sheet-content .journey-panel p{display:block}#app .mobile-sheet-content #moment-panel{position:static;width:100%;padding:12px 0 0;margin:12px 0 0}#app .moment-options{grid-template-columns:1fr}#app .moment-options button{min-height:48px;padding:10px}#app .return-button{min-height:44px}}@media(max-width:1024px)and (max-height:500px)and (orientation:landscape){body:not(.adopting):not(.family-mode) #app{grid-template-rows:45px 44px minmax(0,1fr)}#app>.site-header{height:45px}body:not(.family-mode) #app>main{grid-template-columns:minmax(0,1fr) 280px;grid-template-rows:auto minmax(0,1fr) auto 66px;grid-template-areas:"world profile" "world ." "world journey" "controls actions";column-gap:10px}#app .action-button{font-size:10px}#app .pause-control{position:static}#app .view-controls{padding:0}}.profile-access{flex-wrap:wrap}.profile-access .pwa-access{flex-basis:100%;text-align:left;padding-top:8px}.adoption-fine .pwa-access{display:block;margin-top:12px;color:#526747;text-decoration:underline}.f-page-note .pwa-access,.f-welcome>.f-footnote .pwa-access{display:block;margin:10px auto 0;padding:8px 14px;min-height:44px;border:1px solid #bdc8ad;border-radius:12px;background:#eef0e2;color:#46543d;font:inherit;cursor:pointer}.f-page-note .pwa-access:focus-visible,.f-welcome>.f-footnote .pwa-access:focus-visible{outline:3px solid #798e5c;outline-offset:2px}#pwa-dialog{box-sizing:border-box;width:calc(100% - 32px);max-width:440px;max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #d9ddc8;border-radius:24px;padding:24px;color:#46543d;background:#f8f6ec;box-shadow:0 20px 70px #15251933;font:14px/1.7 system-ui,sans-serif}#pwa-dialog::backdrop{background:#17231c80}#pwa-dialog .pwa-heading{display:flex;align-items:center;gap:12px}#pwa-dialog .pwa-heading img{width:48px;height:48px;border-radius:14px}#pwa-dialog h2{font-size:21px;margin:0}#pwa-dialog small{font-size:11px}#pwa-dialog .pwa-heading>button{margin-left:auto;flex-shrink:0}#pwa-dialog button,.pwa-notice button{min-height:44px;border:1px solid #bdc8ad;border-radius:12px;padding:8px 12px;color:#46543d;background:#eef0e2;font:inherit;cursor:pointer}#pwa-dialog button:focus-visible,.pwa-notice button:focus-visible{outline:3px solid #798e5c;outline-offset:2px}#pwa-dialog button:disabled{opacity:.5;cursor:default}#pwa-dialog .pwa-primary{background:#6c805a;color:#fff;border-color:#6c805a}#pwa-dialog .pwa-status{border-radius:12px;background:#e8eddd;padding:12px}#pwa-dialog .pwa-update{display:flex;gap:8px;flex-wrap:wrap}#pwa-dialog .pwa-error{color:#984d38}#pwa-dialog .pwa-note{display:block;color:#6c755f}.pwa-notice{position:fixed;z-index:100;top:calc(58px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);width:max-content;max-width:calc(100% - 24px);box-sizing:border-box;display:flex;align-items:center;gap:8px;padding:6px 8px 6px 14px;background:#f8f6ec;color:#46543d;border:1px solid #c4cfb5;border-radius:16px;box-shadow:0 8px 24px #15251922;font:12px/1.5 system-ui,sans-serif}.pwa-notice[hidden],#pwa-dialog [hidden]{display:none}@media(max-width:420px){#pwa-dialog{padding:18px}#pwa-dialog h2{font-size:18px}.pwa-notice{gap:4px}.pwa-notice button{padding:6px 8px}}.pwa-system{display:block;font-size:11px;color:#84917c;margin:6px 0;text-align:left}.pwa-system summary{cursor:pointer;padding:6px 0}.f-page-note .pwa-system{width:max-content;max-width:100%;margin:6px auto}.pwa-system .pwa-access{font-size:12px!important;box-shadow:none}
