/* One companion, three destinations. Shared surfaces and restrained motion. */
:root{--ink:#203c34;--muted:#61756c;--green:#226d54;--deep:#103f33;--line:#d9e3d9;--cream:#fffefa;--gold:#d9aa50;color:var(--ink);background:#f1f5ed}
body{background:radial-gradient(ellipse at 78% 0,#fff7df 0,transparent 44%),#f1f5ed}
.shell{grid-template-columns:176px minmax(0,1fr)}
.sidebar{width:176px;padding:30px 16px;background:linear-gradient(170deg,#194f3d,#0c342b);gap:52px}
.brand{gap:8px}.brand strong{font-size:18px}.brand small{font-size:10px;letter-spacing:.12em}.brand-mark{border-color:#769674;color:#f2d694;flex:none}
.nav{gap:12px}.nav button{min-height:56px;font-size:16px;border-radius:16px;transition:background .2s,transform .2s,color .2s}.nav button:hover{background:#ffffff14}.nav button[aria-current=page]{background:#f2f4e8;color:#184e3a;box-shadow:0 6px 18px #071f2520}.nav button[aria-current=page] svg{color:#40835f}
.side-bottom span,.side-bottom small{display:block}.side-bottom small{font-size:12px;color:#90ad9d}.main{padding:22px 30px 26px;max-width:1440px}.topbar{margin-bottom:18px}.eyebrow{font-size:11px;letter-spacing:.17em}.topbar h1{font-size:26px;letter-spacing:-.02em}.top-meta{gap:12px}.date{font-size:14px}.coin{min-height:42px;padding:8px 13px;font-size:14px;background:#fff9e9;border-color:#e4d6ac;box-shadow:0 3px 12px #94864709}
.icon-button{width:44px;height:44px;display:grid;place-items:center;padding:10px;background:#fffefa;border:1px solid var(--line);border-radius:14px;flex:none}.icon-button svg{width:21px;height:21px}
.workspace{grid-template-columns:minmax(0,1fr) 370px;gap:24px}.stage-column{top:18px}.stage{height:clamp(410px,60vh,600px);border-radius:30px;border:1px solid #c2d5ba;background:#c2d8c1;box-shadow:0 16px 45px #163f3410;isolation:isolate}
.stage province-background{filter:saturate(.72) brightness(1.04) blur(1.3px);transform:scale(1.012)}
.stage::after{background:linear-gradient(0deg,#eaf0d7dc 0,#e5eecf48 28%,#d8e9d346 64%,#f4f5e780 100%)}
.pet-canvas{inset:38px 0 60px}.stage-header{left:20px;top:18px}.stage-label{background:#fffff3df;box-shadow:none;padding:8px 13px;border:1px solid #ffffffbd;border-radius:16px}.stage-label strong{font-size:18px}.stage-label small{font-size:13px;color:#53694e}.level-chip{width:46px;height:46px;font-size:13px;background:#275b3f;border-color:#f5f6e7}
.speech{bottom:19px;padding:8px 16px;font-size:14px;border:0;background:#fffef0d9;box-shadow:0 3px 15px #324d2410;max-width:calc(100% - 128px);left:18px;transform:none;text-align:left;line-height:1.5;border-radius:15px;min-height:38px;display:flex;align-items:center}
.stage-tools{bottom:14px;left:auto;right:14px;gap:5px}.stage-tools button{width:40px;height:40px;min-height:40px;border-radius:13px;background:#fffef3e6;border:1px solid #ffffffa6}.stage-tools button[data-action=reset-camera]{display:none}.stage-tools button[aria-expanded=true]{background:#245c45;color:#fff}
.art-orbit{opacity:0;visibility:hidden;pointer-events:none;bottom:1px;transition:opacity .22s,transform .22s;transform:translate(-50%,5px);font-size:14px;width:min(310px,78%)}
.orbit-open .art-orbit{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}.orbit-open .stage-tools button[data-action=reset-camera]{display:grid}.orbit-open .speech{max-width:calc(100% - 172px)}
.art-orbit input{height:30px}.stage-quick{display:grid;grid-template-columns:1fr 1.2fr;gap:10px;margin:12px 0}.stage-quick:empty{display:none}.stage-quick button{min-height:48px}
.progress-card{padding:14px 17px;margin:0;border-radius:19px;gap:9px;background:#fffefaeb;box-shadow:0 5px 18px #153e2905}.progress-row{font-size:14px}.progress-row small{font-size:13px;color:#5f7769}.meter{height:6px;background:#e4ecdf}.meter i{background:linear-gradient(90deg,#54966a,#a7bd70);transition:width .8s cubic-bezier(.2,.7,.2,1)}
.condition-summary{display:flex;gap:12px;justify-content:space-between;color:#5f7465;font-size:13px}.condition-summary span{display:flex;gap:5px;align-items:center}.condition-summary svg{height:15px;width:15px;color:#77945f;flex:none}
.panel-card{border-radius:23px;padding:22px;margin-bottom:16px;background:#fffefa;box-shadow:0 6px 26px #103d2d05}.panel-card h2{font-size:21px;margin:0}.panel-card h3{font-size:17px}.mini-label{font-size:12px;letter-spacing:.04em;color:#728469;margin-bottom:6px}.section-top{margin-bottom:17px;gap:12px}.subtle{font-size:16px;line-height:1.7}.small-note,.hint{font-size:14px;line-height:1.7;color:#61746a}
button{transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}button:active:not(:disabled){transform:scale(.975)}button:focus-visible,summary:focus-visible{outline:3px solid #c4923f;outline-offset:3px}
.primary,.secondary{min-height:46px;font-size:15px;border-radius:14px;font-weight:600}.primary{background:#266d51;box-shadow:0 4px 9px #1f563014}.primary:hover{background:#18563e;box-shadow:0 5px 13px #1f563025}.secondary{background:#f2f6ec;border-color:#d8e4d1}.secondary:hover{background:#e8f0dd;border-color:#adc6aa}.text-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:14px;color:#426d55;text-decoration:none}.text-button svg{width:17px;height:17px}
.count{min-width:45px;min-height:38px;display:grid;place-items:center;font-size:14px;border-radius:13px;background:#edf2e8;color:#487044;font-weight:650}.count.complete{background:#e0eed8;color:#2d6849}
.homework-list{gap:9px}.homework-card{width:100%;display:flex;align-items:center;text-align:left;gap:12px;padding:15px 13px;border:1px solid #e0e7d9;background:#f6f8f0;border-radius:16px;min-height:83px}.homework-card:hover{border-color:#9aba91;background:#edf4e6;transform:translateY(-1px)}.homework-icon{width:41px;height:41px;border-radius:13px;background:#e9eedf;flex:none}.homework-icon svg{height:21px;width:21px}.homework-copy{flex:1;min-width:0;display:grid;gap:3px}.homework-copy strong{font-size:16px;font-weight:650}.homework-copy small{font-size:13px;color:#6b7d67;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.homework-status{font-size:13px;color:#517246;flex:none}.homework-status svg{height:18px;width:18px}.homework-card.done{background:#f0f6e9;border-color:#cfddc4}.homework-card.done .homework-icon{background:#dceace;color:#3d734d}.homework-card.rest{background:#f5f3ec}.homework-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;flex-wrap:wrap}.day-reward{font-size:13px;background:transparent;padding:0;display:flex;align-items:center;gap:5px;color:#89743d}.day-reward svg{height:15px;width:15px}.reward-info{border-top:1px solid #e7ecdf;padding-top:8px;margin-top:6px}.reward-info summary{font-size:13px;color:#7d8976;min-height:32px;cursor:pointer}.reward-info .small-note{font-size:13px;margin-top:5px}
.journal-prompt{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:17px 18px;border:1px solid var(--line);border-radius:19px;background:#f8f9f1}.journal-prompt>div{display:flex;gap:10px;align-items:center;min-width:0}.journal-prompt>div>svg{height:22px;width:22px;flex:none;color:#668758}.journal-prompt strong{display:block;font-size:14px}.journal-prompt small{display:block;font-size:12px;color:#73836d;margin-top:3px}.journal-prompt button{padding:9px 11px;font-size:14px;white-space:nowrap}
.companion-summary .section-top{margin-bottom:15px}.companion-summary .subtle{font-size:14px;margin-top:4px}.companion-summary .actions button{font-size:14px}.growth-featured{display:flex;gap:10px}.growth-featured>*{flex:1}.growth-card{border-radius:17px;background:linear-gradient(165deg,#fbfbf2,#eef3e5);padding:10px 6px 12px;min-height:158px}.growth-card.featured{min-height:188px}.growth-card.featured img{height:126px}.growth-card img{transition:transform .4s cubic-bezier(.18,.8,.2,1);padding:3px}.growth-card:hover img,.species-card:hover img{transform:translateY(-4px) scale(1.025)}.growth-card[aria-pressed=true]{background:linear-gradient(160deg,#eff5e8,#dcebd1);border-color:#74a175;box-shadow:inset 0 0 0 1px #74a175}.growth-card strong,.growth-card>span,.growth-card small{font-size:13px}.growth-card strong{font-size:14px}.growth-card small{color:#5a7851}.growth-card>span{margin-top:5px}.all-growth{margin-top:12px}.all-growth summary,.condition-preview summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;font-size:14px;color:#416c50;cursor:pointer}.all-growth summary::-webkit-details-marker,.condition-preview summary::-webkit-details-marker{display:none}.all-growth summary svg,.condition-preview summary svg{height:17px;width:17px;transition:transform .2s}.all-growth[open] summary svg,.condition-preview[open] summary svg{transform:rotate(90deg)}.growth-grid{margin-top:10px;gap:8px}.condition-preview{border-top:1px solid #e5ebde;margin-top:12px;padding-top:5px}.condition-preview .field{font-size:14px}.condition-preview input{accent-color:#437752}
.motion-preview{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;padding-top:17px}.motion-preview strong{font-size:16px}.motion-preview small{display:block;font-size:13px;color:#7a8773;line-height:1.5;margin-top:4px}.motion-preview button{font-size:14px;white-space:nowrap;padding:10px 14px}.preview-flag{font-size:13px;margin:0 0 10px;padding:7px 12px;color:#29533c;background:#dceacd}
.selection-grid,.selection-grid.large{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.species-card{border-radius:18px;background:#f5f7ed;padding:7px 5px 12px}.species-card img,.selection-grid.large .species-card img{height:116px;padding:3px;transition:transform .35s}.species-card strong{font-size:14px}.species-card[aria-pressed=true]{border:2px solid #7ba173;background:#e8f1dc;padding:6px 4px 11px}.species-card .chosen{width:23px;height:23px;right:7px;top:7px;font-size:13px}.welcome-row{padding:16px 0}.welcome-row button{min-height:44px;font-size:14px}.welcome-row strong{font-size:15px}
.modal{width:min(540px,calc(100% - 32px));max-height:min(86dvh,820px);padding:25px;border-radius:26px;border:1px solid #d9e4d2;background:#fffefa;box-shadow:0 24px 80px #102b3b2e;animation:sheet-enter .25s cubic-bezier(.2,.7,.2,1)}.modal::backdrop{background:#102e2766;backdrop-filter:blur(5px)}.modal-head{margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.modal-head h2{font-size:22px}.close{min-width:44px;min-height:44px;border:1px solid #e0e7d9;border-radius:13px;background:#f3f6ed;font-size:26px;color:#567554;line-height:1}.play-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:5px}.play-button{min-height:104px;padding:14px 6px;border-radius:17px;background:#f0f5e9;border-color:#d8e3ce;align-content:center;gap:9px;font-size:14px;line-height:1.4}.play-button:hover{background:#e0edd5;border-color:#9abd91;transform:translateY(-2px)}.play-button svg{height:27px;width:27px;color:#4b815c}.decoration-panel h3{font-size:16px;margin-top:20px}.palette-row button{font-size:14px;padding:12px 6px;min-height:78px}.accessories button{font-size:14px;min-height:58px}.accessories small{font-size:12px}.settings-controls{margin-top:18px}.data-actions{flex-wrap:wrap}.data-actions button{flex:1;min-height:44px;font-size:14px}
.shell[data-page=memories] .stage-column{display:none}.shell[data-page=memories] .workspace{display:block}.shell[data-page=memories] .panel{display:grid;grid-template-columns:1.1fr 1fr;gap:18px;align-items:start}.shell[data-page=memories] .panel-card{margin:0}.shell[data-page=memories] .activity-history{grid-row:span 2}.memory{padding:15px 0;gap:14px}.memory img{border-radius:14px;background:linear-gradient(#eff4e5,#fff8e7);object-fit:contain}.memory strong{font-size:16px}.memory small{font-size:13px}.empty{padding:22px 8px;line-height:1.8;color:#819078;text-align:center}
.reward-receipt{background:linear-gradient(115deg,#286445,#143f30);border:1px solid #749361;box-shadow:0 9px 24px #174b3e18;animation:reward-arrive .6s cubic-bezier(.17,.8,.22,1)}.toast{border-radius:15px;box-shadow:0 10px 30px #12342724;animation:sheet-enter .25s ease-out}.bottom-nav{display:none}
@keyframes sheet-enter{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes reward-arrive{0%{opacity:0;transform:translateY(12px)}70%{transform:translateY(-2px)}100%{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.main{padding:28px 38px}.workspace{grid-template-columns:minmax(0,1fr) 395px}.stage{height:610px}}
@media(max-width:1150px){.shell{grid-template-columns:150px minmax(0,1fr)}.sidebar{width:150px;padding:28px 12px}.brand strong{font-size:16px}.brand-mark{width:32px;height:32px}.nav button{font-size:15px;padding:12px 10px}.main{padding:20px}.workspace{grid-template-columns:minmax(0,1fr) 330px;gap:18px}.stage{height:490px}.panel-card{padding:19px}.speech{font-size:13px}}
@media(max-width:900px){.shell{display:block}.sidebar{display:none}.main{padding:18px 18px 100px}.workspace{grid-template-columns:minmax(0,1fr) 320px;gap:16px}.stage{height:490px}.bottom-nav{display:flex;position:fixed;inset:auto 0 0;background:#fffefaf5;backdrop-filter:blur(16px);border-top:1px solid #d9e3d2;z-index:30;justify-content:space-around;padding:7px 14px calc(7px + env(safe-area-inset-bottom))}.bottom-nav button{min-width:84px;min-height:53px;font-size:14px;padding:5px 15px;display:flex;align-items:center;justify-content:center;gap:7px;color:#70816b;border:0;background:transparent;border-radius:15px}.bottom-nav button[aria-current=page]{background:#e5efd9;color:#276342}.bottom-nav button svg{width:21px;height:21px}.date{display:none}.toast{bottom:85px}}
@media(max-width:690px){.main{padding:14px 14px 92px}.topbar{margin-bottom:13px;gap:10px}.topbar h1{font-size:23px}.topbar .eyebrow{font-size:10px;letter-spacing:.13em;margin-bottom:2px}.top-meta{gap:7px}.coin{min-height:40px;padding:8px 10px}.top-meta .icon-button{width:40px;height:40px;padding:9px}.workspace{display:block}.stage-column{position:relative;top:auto}.stage{height:330px;border-radius:25px}.pet-canvas{inset:23px 0 46px}.stage-header{left:14px;top:13px}.stage-label{padding:6px 10px;border-radius:13px}.stage-label strong{font-size:16px}.stage-label small{font-size:12px}.level-chip{height:41px;width:41px;font-size:12px}.speech{bottom:13px;left:13px;max-width:calc(100% - 115px);font-size:12px;padding:7px 10px;min-height:36px}.stage-tools{right:10px;bottom:10px;gap:4px}.stage-tools button{height:40px;width:40px}.art-orbit{padding:3px 9px;bottom:-3px;width:75%;font-size:13px}.orbit-open .speech{max-width:calc(100% - 158px)}.stage-quick{gap:8px;margin:10px 0}.stage-quick button{min-height:44px;font-size:14px;padding:9px 14px}.progress-card{padding:12px 15px;gap:7px;margin-bottom:15px;border-radius:18px}.progress-row{font-size:14px}.condition-summary{font-size:12px;gap:8px}.panel-card{padding:18px;border-radius:21px;margin-bottom:13px}.panel-card h2{font-size:20px}.panel-card .mini-label{font-size:12px;letter-spacing:0}.homework-panel .mini-label{display:none}.section-top{margin-bottom:13px}.homework-card{min-height:72px;padding:12px;gap:11px}.homework-copy strong{font-size:16px}.homework-copy small{font-size:13px}.homework-icon{height:37px;width:37px}.homework-footer{margin-top:7px}.journal-prompt{padding:14px}.journal-prompt strong{font-size:14px}.journal-prompt small{font-size:12px}.journal-prompt>div>svg{display:none}.journal-prompt button{font-size:14px}.all-growth summary,.condition-preview summary{font-size:14px}.growth-featured .growth-card img{height:126px}.growth-card strong{font-size:14px}.growth-card>span,.growth-card small{font-size:12px}.modal{width:calc(100% - 20px);max-height:88dvh;padding:21px;border-radius:25px;margin:auto auto 10px}.modal-head{margin-bottom:18px}.modal-head h2{font-size:21px}.play-grid{gap:8px}.play-button{min-height:96px;font-size:14px}.play-button svg{height:25px;width:25px}.shell[data-page=memories] .panel{display:block}.shell[data-page=memories] .panel-card{margin-bottom:14px}.bottom-nav button{padding:5px 11px;min-width:78px}.preview-flag{font-size:12px;margin-bottom:9px}.selection-grid.large .species-card img{height:102px}.species-card strong{font-size:14px}}
@media(max-width:380px){.main{padding-left:10px;padding-right:10px}.stage{height:308px}.topbar h1{font-size:21px}.top-meta{gap:5px}.coin{font-size:13px;padding:7px 9px}.top-meta .icon-button{width:38px;height:38px}.panel-card{padding:15px}.homework-card{padding:11px 9px}.homework-footer .day-reward{font-size:12px}.homework-footer .text-button{font-size:13px}.modal{padding:18px}.play-button{font-size:13px;min-height:91px}.bottom-nav button{font-size:13px;min-width:72px;gap:6px}.condition-summary{font-size:12px}.journal-prompt>div small{display:none}.growth-card.featured img{height:105px}.growth-card.featured{min-height:172px}.species-card strong{font-size:13px}.selection-grid.large .species-card img{height:86px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}button:hover,.growth-card:hover img,.species-card:hover img{transform:none}}

.stage-tools button,.top-meta .icon-button{min-width:44px;min-height:44px}

.egg-choice{display:flex;align-items:center;gap:16px;background:#f3f5ec;border:1px solid var(--line);border-radius:20px;padding:12px 18px;width:100%;text-align:left;margin:24px 0}.egg-choice img{object-fit:contain;width:80px;height:100px}.egg-choice span{flex:1}.egg-choice strong,.egg-choice small{display:block}.egg-choice small{font-size:12px;color:var(--muted);margin-top:6px}.egg-choice svg{width:20px}.egg-choice:hover{background:#e9efdf}

.stage-ambience{position:absolute;inset:16% 6% 10%;z-index:1;pointer-events:none;overflow:hidden}.stage-ambience i{position:absolute;left:calc(8% + var(--n)*19%);top:calc(24% + var(--n)*13%);width:3px;height:3px;border-radius:50%;background:#fff9c9;box-shadow:0 0 10px 3px #ffefa038;opacity:0;animation:quiet-drift calc(10s + var(--n)*2s) ease-in-out infinite;animation-delay:calc(var(--n)*-3s)}
@keyframes quiet-drift{0%,100%{opacity:0;transform:translate(0,14px)}28%,70%{opacity:.65}90%{opacity:0;transform:translate(18px,-36px)}}
.motion-paused .stage-ambience i{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.stage-ambience{display:none}}

.homework-copy .mobile-hint{display:none}
@media(max-width:690px){.homework-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.homework-card{flex-direction:column;text-align:center;min-height:128px;padding:13px 5px;gap:7px}.homework-copy{width:100%;flex:0}.homework-copy small{display:none}.homework-copy .mobile-hint{display:block;font-size:13px}.homework-status{display:none}.homework-icon{height:34px;width:34px;border-radius:11px}.homework-copy strong{font-size:15px}.homework-footer{padding-top:3px}}

/* A quiet storybook stage, with consistent ivory and fine gold selections. */
:root{--motion-fast:180ms;--motion-panel:280ms;--selected-gold:#c6a15f}
.panel-card,.progress-card{border-color:#e6e5da;box-shadow:0 6px 22px #173c2e04}
.species-card,.growth-card,.palette-row button,.accessories button{background:#faf9f2;border-color:#e5e4d7}
.species-card[aria-pressed=true],.growth-card[aria-pressed=true],.palette-row button[aria-pressed=true],.accessories button[aria-pressed=true]{border:1px solid var(--selected-gold);background:#fcf7e9;box-shadow:inset 0 0 0 1px #c6a15f20}
.species-card[aria-pressed=true]{padding:7px 5px 12px}.species-card .chosen{background:#b68e49;color:white}
.species-card img,.growth-card img{object-fit:contain;object-position:center bottom;transition:transform var(--motion-panel) cubic-bezier(.2,.7,.2,1)}
.selection-grid.large .species-card img{width:100%;height:116px}.species-card:hover img{transform:translateY(-2px)}
.growth-featured .growth-card{border-radius:16px}.growth-grid .growth-card{box-shadow:none}
.play-button{background:#f8f8ef;border-color:transparent}.play-button:hover{background:#edf2e4;border-color:#c9b27c}.play-button svg{color:#497455}
.modal{border-color:#e0dece}.modal-head{padding-bottom:14px;border-bottom:1px solid #eae8dd;position:sticky;top:0;z-index:2;background:#fffefa}
.pet-canvas{bottom:28px}.pet-scene{position:absolute;inset:0;background-image:var(--pet-scene);background-size:cover;background-position:center bottom;overflow:hidden;pointer-events:none}
.pet-scene[hidden],.stage province-background[hidden]{display:none}
.scene-leaves{position:absolute;inset:-2px;background-image:var(--pet-scene);background-size:cover;background-position:center bottom;mask-image:linear-gradient(90deg,#000 0%,transparent 24%,transparent 78%,#000 100%);transform-origin:50% 72%;animation:leaf-breeze 11s ease-in-out infinite}
.scene-light{position:absolute;inset:0;background:radial-gradient(ellipse at 8% 5%,#fff3b62b,transparent 59%);mix-blend-mode:soft-light;animation:scene-breath 9s ease-in-out infinite}
.stage[data-scene]:not([data-scene=province])::after{background:linear-gradient(0deg,#17352112,transparent 36%,transparent 77%,#1230290a)}
.stage[data-scene=nook] .scene-light{background:radial-gradient(ellipse at 5% 70%,#ffbf6740,transparent 65%);animation-duration:6s}
.stage[data-scene=nook] .stage-label,.stage[data-scene=nook] .speech{background:#fffff1e6}
.stage[data-scene=forest]{border-color:#91a084}.stage[data-scene=nook]{border-color:#4c5866}
.stage-ambience{inset:16% 4% 10%}.stage-ambience i{width:2px;height:2px;opacity:0}.stage[data-scene=nook] .stage-ambience i{box-shadow:0 0 9px 2px #ffe79c66}
.motion-paused .scene-leaves,.motion-paused .scene-light{animation-play-state:paused}
.scene-choices{display:grid;gap:12px}.scene-choices button{display:grid;grid-template-columns:122px 1fr;align-items:center;gap:16px;text-align:left;padding:6px;background:#faf9f3;border:1px solid #e2e3d7;border-radius:17px;overflow:hidden;color:#274b3b;min-height:88px}
.scene-choices button[aria-pressed=true]{border-color:var(--selected-gold);background:#fcf6e8;box-shadow:0 0 0 1px #c6a15f26}.scene-choices img{width:122px;height:82px;object-fit:cover;border-radius:12px}.scene-choices strong{display:block;font-size:16px}.scene-choices small{display:block;font-size:14px;line-height:1.6;color:#6d7b68;margin-top:3px}.scene-choices button:disabled{opacity:.65}.other-scenes{margin-top:20px;border-top:1px solid #e5e5da;padding-top:8px}.other-scenes summary{cursor:pointer;min-height:44px;padding:12px 0;color:#57705b;font-size:14px}
.xp-mote{position:fixed;width:6px;height:6px;border-radius:50%;box-shadow:0 0 8px #eac57466;z-index:65;pointer-events:none}
@keyframes leaf-breeze{0%,100%{transform:rotate(-.12deg) translateX(-.6px)}50%{transform:rotate(.12deg) translateX(.6px)}}
@keyframes scene-breath{0%,100%{opacity:.6}50%{opacity:1}}
@media(max-width:690px){.pet-canvas{bottom:26px}.selection-grid.large .species-card img{height:104px}.scene-choices button{grid-template-columns:105px 1fr;gap:12px}.scene-choices img{width:105px;height:78px}.scene-choices small{font-size:13px}.stage-ambience i:nth-child(n+4){display:none}}
@media(max-width:380px){.selection-grid.large .species-card img{height:86px}.scene-choices strong{font-size:15px}}
@media(prefers-reduced-motion:reduce){.scene-leaves,.scene-light{animation:none}.xp-mote{display:none}}

/* Keep the companion visible while choosing and repeating a quiet gesture. */
.stage-quick.is-preview{display:block}
.stage-quick:not(.is-preview){grid-template-columns:1fr}
.stage-quick .pet-only{width:100%;display:flex;align-items:center;justify-content:center;gap:8px}
.stage-quick .pet-only svg{width:20px;height:20px}
.play-grid.motion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.motion-dock{padding:10px 14px 14px;border:1px solid #dbe3d2;border-radius:20px;background:#fffef9;box-shadow:0 5px 18px #24452b06;transition:border-color .2s,box-shadow .2s}
.motion-dock:focus-within{border-color:#a3b99a;box-shadow:0 0 0 3px #e5ecdc}
.motion-dock-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}
.motion-dock-heading label{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:650;white-space:nowrap}
.motion-dock-heading label svg{width:17px;height:17px;color:#6a865c}
.motion-dock-heading small{font-size:11px;color:#7a866f;font-weight:400;margin-left:2px}
.stage-quick .motion-idle{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:44px;padding:7px 0 7px 6px;border:0;background:transparent;color:#607857;font-size:12px;white-space:nowrap}
.motion-idle svg{height:14px;width:14px}.motion-idle:hover{color:#215f43}
.motion-dock-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.motion-dock-controls select{width:100%;min-width:0;min-height:46px;padding:8px 12px;border:1px solid #dce4d2;border-radius:13px;background:#f7f8f0;color:#2e503d;font:inherit;font-size:15px;cursor:pointer}
.stage-quick .motion-dock-controls button{min-height:46px;border-radius:13px;padding:9px 15px;font-size:14px;white-space:nowrap}
.motion-dock button:focus-visible,.motion-dock select:focus-visible{outline:2px solid #b99b59;outline-offset:3px}
@media(max-width:690px){.motion-dock{padding:5px 12px 12px;border-radius:18px}.motion-dock-heading label{font-size:13px;gap:5px}.motion-dock-heading small{font-size:10px}.motion-dock-controls select{font-size:16px}}
@media(max-width:380px){.motion-dock{padding-left:10px;padding-right:10px}.motion-dock-heading label svg{display:none}.stage-quick .motion-dock-controls button{padding:9px 11px}}

/* Real foreground artwork adds depth without moving the entire photograph. */
.scene-foreground{position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden}
.scene-foreground[hidden]{display:none}
.scene-foreground img{position:absolute;object-fit:contain;width:27%;max-width:185px;height:auto;bottom:-7%;filter:blur(.25px);transform-origin:25% 90%;animation:foreground-breeze 12s ease-in-out infinite}
.scene-foreground .foreground-near{left:-8%}
.scene-foreground .foreground-far{right:-9%;width:21%;bottom:-6%;transform:scaleX(-1);opacity:.86;animation:foreground-far-breeze 15s ease-in-out infinite}
.scene-foreground[data-kind=fern] .foreground-near{left:auto;right:-7%}.scene-foreground[data-kind=fern] .foreground-far{right:auto;left:-8%}
.scene-foreground[data-kind=plant] .foreground-far{display:none}.scene-foreground[data-kind=plant] img{width:24%;bottom:-5%;left:-7%;animation-duration:20s}
.scene-foreground[data-kind=branch] img{top:-5%;bottom:auto;right:-5%;left:auto;transform-origin:100% 0%;width:25%}.scene-foreground[data-kind=branch] .foreground-far{display:none}
.stage-header,.stage-tools,.speech{z-index:5}.art-orbit{z-index:6}
.stage[data-scene=veranda] .scene-light{background:linear-gradient(115deg,#adc4e733,transparent 65%)}
.stage[data-scene=reading] .scene-light{background:radial-gradient(ellipse at 8% 24%,#ffda8e40,transparent 65%)}
.stage[data-scene=stream] .scene-light{background:radial-gradient(ellipse at 28% 10%,#efffc42e,transparent 70%)}
.stage[data-scene=lake] .scene-light{background:radial-gradient(ellipse at 15% 12%,#ffd79b36,transparent 65%)}
.scene-weather{display:none;position:absolute;inset:0 3% 44%;overflow:hidden;opacity:.38}
.stage[data-scene=veranda] .scene-weather{display:block}.scene-weather i{position:absolute;left:calc(var(--drop)*8.4%);top:-18%;height:25px;width:1px;background:linear-gradient(transparent,#dcebf4);animation:soft-rain 1.9s linear infinite;animation-delay:calc(var(--drop)*-.39s)}
.stage[data-scene=veranda] .stage-ambience{display:none}
.motion-paused .scene-foreground img,.motion-paused .scene-weather i{animation-play-state:paused}
.motion-dock-controls{grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:9px}
.motion-dock-photo{width:72px;height:64px;object-fit:contain;border-radius:12px;background:#f0f3e9}
.illustrated-motions .play-button{padding:8px 8px 14px;display:flex;flex-direction:column;gap:2px;background:linear-gradient(155deg,#f8f7ef,#eaf0e2)}
.illustrated-motions .play-button>img{width:100%;height:132px;object-fit:contain}.illustrated-motions .play-button>span{display:flex;align-items:center;justify-content:center;gap:6px;font-size:14px}.illustrated-motions .play-button svg{height:18px;width:18px;flex-shrink:0}
.illustrated-accessories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}.illustrated-accessories button{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:5px;padding:10px 6px 12px;border-radius:15px;font-size:14px;line-height:1.5}.illustrated-accessories img,.no-accessory{height:68px;width:100%;object-fit:contain;display:grid;place-items:center}.no-accessory{font-size:32px;color:#87927f}.illustrated-accessories button:disabled{opacity:.58}.illustrated-accessories button[aria-pressed=true] img{filter:drop-shadow(0 3px 5px #9b803826)}
.growth-card .growth-motif{position:absolute;right:9px;top:9px;width:27px;height:27px!important;padding:0;opacity:.88;object-fit:contain;transform:none}
.memory-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.memory.keepsake{display:block;padding:8px 8px 13px;background:#fffdf6;border:1px solid #e7e2d5;border-radius:5px 5px 15px 15px;box-shadow:0 5px 16px #25442c08;min-width:0}.memory-picture{position:relative;overflow:hidden;aspect-ratio:21/25;border-radius:3px 3px 9px 9px;background:linear-gradient(#eff4e5,#fff8e7)}.memory-picture>img{width:100%;height:100%;object-fit:contain;border-radius:0}.memory-picture .memory-motif{position:absolute;right:8px;bottom:8px;width:30px;height:30px;background:none;filter:drop-shadow(0 2px 3px #45674933)}.keepsake>div:last-child{padding:10px 4px 0}.keepsake strong{display:block;font-size:14px;line-height:1.6}.keepsake small{font-size:12px;margin-top:4px}
.scene-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.scene-choices button{display:block;padding:5px;min-width:0}.scene-choices img{width:100%;height:118px;border-radius:12px;display:block}.scene-choices button>span{display:block;padding:9px 6px}.scene-choices strong{font-size:15px}.scene-choices small{font-size:12px;margin-top:2px}
@keyframes foreground-breeze{0%,100%{rotate:-.3deg}50%{rotate:.45deg}}@keyframes foreground-far-breeze{0%,100%{rotate:.3deg}50%{rotate:-.4deg}}@keyframes soft-rain{to{translate:-18px 330px}}
@media(max-width:690px){.motion-dock-controls{grid-template-columns:52px minmax(0,1fr) auto;gap:6px}.motion-dock-photo{width:52px;height:57px}.motion-dock-controls select{padding:8px 5px;font-size:14px}.stage-quick .motion-dock-controls button{padding:10px;font-size:13px}.scene-foreground img{width:25%;bottom:-4%}.illustrated-motions .play-button>img{height:114px}.memory-photos{gap:10px}.scene-choices img{height:108px}.scene-choices button>span{padding:8px 4px}.scene-choices strong{font-size:14px}}
@media(max-width:380px){.motion-dock-controls{grid-template-columns:44px minmax(0,1fr) auto;gap:5px}.motion-dock-photo{width:44px}.stage-quick .motion-dock-controls button{padding:9px 8px}.motion-dock-controls button svg{display:none}.illustrated-accessories{gap:7px}.illustrated-accessories button{font-size:13px}.scene-choices img{height:90px}}
@media(prefers-reduced-motion:reduce){.scene-foreground img,.scene-weather i{animation:none}.scene-weather{display:none!important}}
