/* A continuous habitat, with quiet controls and no surrounding cards. */
:root{--ink:#55445e;--muted:#86758e;--line:#e9deec;--green:#537e72;--cream:#fcf9fc;--rose:#b75c8a;color:var(--ink);background:var(--cream)}
body{background:var(--cream)}
button:focus-visible,a:focus-visible,input:focus-visible{outline-color:#9671af}
.game-nav-header{background:transparent;border:0}
.game-nav-header__inner{height:46px;min-height:46px}
.game-nav-header__logo img{width:80px}
.picker-toggle{background:transparent;border:0;border-radius:0;color:#80698d;font-size:10px;gap:4px}
.picker-toggle svg{width:17px;height:17px}
main{padding-top:0}
.room,.room.is-ready{width:calc(100% + 20px);margin-inline:-10px;border:0;border-radius:0;background:var(--cream);box-shadow:none}
.scene-art{mask-image:linear-gradient(to bottom,transparent,#000 29%,#000 86%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 29%,#000 86%,transparent)}
.room-hud{inset:7px 20px auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.pet-bar{gap:8px}
.pet-identity{padding:5px 24px 5px 0;background:transparent;border:0;border-radius:0;box-shadow:none}
.pet-identity strong{font-size:20px;letter-spacing:.08em;color:#674c75;font-weight:700}
.pet-identity>span{font-size:10px;color:#8d7998;margin-top:3px}
.pet-identity .profile-chevron{color:#a68eb4;font-size:20px;right:6px;top:7px}
.level-pill{background:transparent;border:0;border-radius:0;box-shadow:none;color:#8b709a;font-size:11px;padding:6px 0;font-weight:600;letter-spacing:.02em}
.help-button{background:transparent;border:0;box-shadow:none;color:#9a88a5;font-size:14px}
.stats{padding:0;margin-top:9px;gap:18px;border:0;border-radius:0;background:transparent;box-shadow:none}
.vital{gap:6px}.vital span{font-size:10px;color:#7f6a89;line-height:1.5;font-variant-numeric:tabular-nums}
.vital svg{width:15px;height:15px;color:#bf759b}.hunger-vital svg{color:#b69560}
meter{height:4px;margin-top:4px;background:#eaddf0}
meter::-webkit-meter-bar{background:#eaddf0}
meter::-webkit-meter-optimum-value{background:linear-gradient(90deg,#dda3c0,#b589c8)}
meter::-moz-meter-bar{background:#b98bc3}
.hunger-vital meter::-webkit-meter-optimum-value{background:#ddbf88}
.hunger-vital meter::-moz-meter-bar{background:#ddbf88}
.pet-touch{width:68%;max-width:248px;top:110px;bottom:31px}
.pet-aura{bottom:0;height:15px;background:#b8a0c326;box-shadow:none;filter:blur(5px)}
.scene-footer{left:20px;right:14px;bottom:0}
.room-label{padding:5px 0;background:transparent;border-radius:0;color:#8a7792;font-size:9px;letter-spacing:.03em}
.treasure-chip{background:transparent;border:0;border-radius:0;box-shadow:none;color:#9a7e4d;font-size:11px;padding:5px 6px}
.treasure-chip svg{width:17px;height:17px}
.room-spark{z-index:0;pointer-events:none;width:3px;height:3px;background:currentColor;color:#fff0c0;box-shadow:0 -3px currentColor,0 3px currentColor,-3px 0 currentColor,3px 0 currentColor;opacity:.5;animation:stardust-drift 6s ease-in-out infinite}
.spark-one{top:51%;left:18%;animation-delay:-1s}.spark-two{top:72%;right:15%;transform:scale(.7);animation-delay:-3s}
.spark-three{top:38%;right:19%;transform:scale(.6);animation-delay:-2s}.spark-four{top:81%;left:29%;transform:scale(.45);color:#fff;animation-delay:-4s}
.spark-five{top:61%;right:30%;transform:scale(.45);color:#fff;animation-delay:-.5s}.spark-six{top:42%;left:36%;transform:scale(.4);color:#fff;animation-delay:-3.5s}
.room[data-reward=true] .room-spark{color:#ffe29a;animation:stardust-reward 1.5s ease-out 2}
.pet-heart{color:#cb79a1;text-shadow:none}
.room.is-ready .room-label{color:#977538}
.room.is-ready .room-spark{color:#ffe29a;background:currentColor;box-shadow:0 -3px currentColor,0 3px currentColor,-3px 0 currentColor,3px 0 currentColor}
.speech-row{align-items:flex-start;gap:9px;min-height:58px;padding:12px 9px 9px}
.speech-icon{width:15px;height:15px;margin-top:4px;color:#b09aba}
.bubble{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#66516e;font-size:13px;line-height:1.85;letter-spacing:.02em}
.mode-tabs{width:250px;max-width:100%;margin:3px auto 10px;padding:0;gap:18px;background:transparent;border:0;border-radius:0}
.mode-tabs button{position:relative;min-height:44px;padding:8px 4px;color:#8c7597;font-size:12px;background:transparent;border:0;border-radius:0;box-shadow:none}
.mode-tabs button[aria-selected=true]{background:transparent;box-shadow:none;color:#79508c}
.mode-tabs button[aria-selected=true]:after{content:'';position:absolute;left:calc(50% - 10px);bottom:2px;width:20px;height:2px;border-radius:1px;background:#b38ac2}
.mode-tabs svg{width:16px;height:16px}
.care-actions{gap:12px;padding:0 10px}
.care-actions button:nth-child(n){min-height:76px;padding:0;gap:1px;color:#80668c;font-size:11px;font-weight:500;letter-spacing:.04em;background:transparent;border:0;box-shadow:none}
.care-actions .care-icon,.care-actions button:nth-child(2) .care-icon,.care-actions button:nth-child(3) .care-icon,.care-actions #collect-button .care-icon{display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:0;box-shadow:none;background:transparent}
.care-actions .care-icon{color:#b66992}.care-actions button:nth-child(2) .care-icon{color:#b59151}.care-actions button:nth-child(3) .care-icon{color:#6f9e8e}
.care-actions .care-icon svg{width:31px;height:31px}
.care-actions #collect-button{color:#9d7b39}.care-actions #collect-button .care-icon{color:#b58d3f}
.care-actions button:active:not(:disabled) .care-icon{transform:translateY(2px);box-shadow:none}
.care-hint{color:#8b7795;font-size:9px;margin-top:5px}
.journal-links{border:0;margin:12px 0 0;padding:0;gap:16px}
.journal-links button{min-height:44px;color:#8a7295;font-size:10px;font-weight:500}
.journal-links svg{width:15px;height:15px}.completion-dot{color:#927034;background:transparent;padding:0 3px}
.chat-prompts{gap:12px;padding:0 3px 6px}
.chat-prompts button{background:transparent;border:0;border-radius:0;padding:5px 2px;color:#9a7eaa;font-size:11px;font-weight:500}
.chat-prompts button:active:not(:disabled){color:#78548e;background:transparent}
#chat-form{padding:3px 0 6px;background:transparent;border:0;border-bottom:1px solid #e0d1e7;border-radius:0;box-shadow:none;align-items:center}
#message{background:transparent;color:#66516f;border-radius:0;padding-inline:5px}
#message::placeholder{color:#8b7596;font-size:12px}
#send{min-width:58px;min-height:42px;border-radius:10px;background:#9872ab;color:#fff;font-size:12px;font-weight:600}
.ai-note{color:#8b7795;margin:8px 3px 0;font-size:9px}
.walking-note{color:#8b7795}
.trip-panel,.trip-panel.is-ready{padding:7px 5px;background:transparent;border:0;border-radius:0;margin-bottom:6px}
.trip-copy{font-size:11px}.trip-copy strong{color:#80658c}.trip-copy span{color:#9d87a9;font-size:10px;font-variant-numeric:tabular-nums}
.trip-panel progress,.goal progress{height:3px;background:#e9dfee}
.trip-panel progress::-webkit-progress-bar,.goal progress::-webkit-progress-bar{background:#e9dfee}
.trip-panel progress::-webkit-progress-value,.goal progress::-webkit-progress-value{background:#b29ac7}
.trip-panel progress::-moz-progress-bar,.goal progress::-moz-progress-bar{background:#b29ac7}
.trip-panel.is-ready progress::-webkit-progress-value{background:#d8b66f}.trip-panel.is-ready progress::-moz-progress-bar{background:#d8b66f}
.care-reward{bottom:46px;border:0;border-radius:0;box-shadow:none;background:#fffaf4eb;color:#a47483;padding:6px 10px;font-size:10px}
.picker-copy{padding:14px 4px 15px}.picker-copy h2{font-size:23px;color:#71547e;letter-spacing:.07em}.eyebrow{font-size:10px;color:#8d7599}
.picker-copy button{background:transparent;border:0;border-radius:0;color:#92789f}
.pet-search-row{gap:12px;margin:0 4px 18px}
.pet-search-row input{padding:9px 0;background:transparent;border:0;border-bottom:1px solid #e1d4e8;border-radius:0;color:#735881}
.pet-search-row input::placeholder,.pet-search-row>span{color:#8a7295}.pet-search-row input::placeholder{font-size:12px}
.pet-list{gap:14px 12px}
.pet-card,.pet-card[aria-pressed=true]{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0 3px 12px}
.pet-card:after{display:none}
.pet-card img{height:132px;background:radial-gradient(ellipse at 50% 65%,#ebdff380,transparent 68%);border-radius:0}
.pet-card strong{font-size:17px;font-weight:650;letter-spacing:.06em;color:#785687;margin-top:4px}
.pet-card small{color:#8f7a99;font-size:10px;line-height:1.8}.pet-card .species{color:#8c7597;font-size:9px;margin-bottom:6px}
.pet-card .pet-choice-label{border:0;padding-top:0;margin-top:9px;font-size:10px;letter-spacing:.04em;color:#8d7599}
.pet-card[aria-pressed=true] .pet-choice-label{font-weight:600;color:#876097}
.pet-card[aria-pressed=true] .pet-choice-label:before{content:'●';font-size:6px;vertical-align:2px;margin-right:5px;color:#b38ac2}
.empty-pets,.save-details{color:#9b87a5}
dialog{padding:20px;border:0;border-radius:14px;background:#fcf9fc;color:var(--ink);box-shadow:0 12px 40px #6543701a}
dialog::backdrop{background:#49345260}.dialog-heading h2{color:#775783;font-weight:650}.dialog-heading button{background:transparent;border:0;border-radius:0;color:#a68fb2}
.walk-choice,.walk-choice:disabled{padding:12px 0;background:transparent;border:0;border-radius:0;box-shadow:none;gap:13px}.walk-copy{color:#775e84}.walk-choice small{color:#9b88a5;font-size:10px}.walk-duration{background:transparent;color:#8e749d;font-variant-numeric:tabular-nums}.walk-illustration{border:0;border-radius:5px;box-shadow:none}
.dream-mark{background:transparent;border:0;border-radius:0;box-shadow:none;color:#bd9b58}.dream-steps li{border:0}.dream-steps strong{color:#9b82aa}.dream-steps .is-done{color:#719b88}
.treasure-display>svg{color:#ba995a}.treasure-display span{color:#9c88a7}
.profile-portrait{background:radial-gradient(ellipse at center,#ecdff480,transparent 70%);border:0;border-radius:0;box-shadow:none}
#profile-name{color:#785787;letter-spacing:.06em}#profile-personality{color:#927b9e}.profile-facts>div{border:0;padding:9px 0}.profile-facts dt{color:#8b7497}.profile-facts dd{color:#7c6189}
.history li,.history li.user{padding:10px 0;background:transparent;border-radius:0;border:0}.history li.user{color:#9c86a7}.history .empty-history{color:#9c86a7}
#help-panel{background:transparent;border:0;border-radius:0;padding-inline:5px;color:#917b9e}#status{color:#9a83a6}
@keyframes stardust-drift{0%,100%{opacity:.25;translate:0 2px}50%{opacity:.65;translate:0 -3px}}
@keyframes stardust-reward{0%{opacity:.2;translate:0 7px}35%{opacity:1}100%{opacity:.2;translate:0 -18px}}
@media(max-width:360px){.room,.room.is-ready{width:calc(100% + 16px);margin-inline:-8px}.room-hud{inset:6px 16px auto}.pet-identity strong{font-size:18px}.stats{gap:12px}.vital span{font-size:9px}.pet-touch{width:68%;max-width:230px}.scene-footer{left:16px;right:10px}.speech-row{padding-inline:4px}.bubble{font-size:12px}.pet-card img{height:115px}}
@media(prefers-reduced-motion:reduce){.room-spark,.room[data-reward=true] .room-spark{animation:none;opacity:.5}}

/* Keep the active dock visible while preserving a useful pet touch area. */
#home .room,#home[data-travel=true] .room{height:clamp(270px,calc(100svh - var(--dock-height,335px)),470px)}
.speech-copy{flex:1;min-width:0}
.speech-copy .bubble{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.speech-row[data-expanded=true] .bubble{display:block;overflow:visible;-webkit-line-clamp:unset;line-clamp:unset}
#speech-toggle{min-height:44px;padding:5px 0;border:0;background:transparent;color:#79508c;font-size:11px}
.care-actions button:nth-child(n){justify-content:flex-start;line-height:14px}
.care-actions button:nth-child(n) .care-icon{width:46px;height:46px;flex-shrink:0}
.care-actions .care-detail{display:block;min-height:14px;font-size:9px;line-height:14px;letter-spacing:0;font-variant-numeric:tabular-nums}
.care-actions button.needs-care .care-icon{outline:1px solid #c8ac7a;border-radius:50%;background:#f6eddc66}
#home[data-travel=true] .care-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
.trip-copy{min-height:44px;margin-bottom:3px}
.trip-copy strong{min-width:0;overflow-wrap:anywhere}
.trip-copy #trip-time{flex-shrink:0}
#collect-button{display:flex;align-items:center;gap:5px;flex-shrink:0;min-height:44px;padding:6px 10px;border:1px solid #d7c292;border-radius:10px;background:#faf3e3;color:#88652e;font-size:11px}
#collect-button .care-icon,#collect-button svg{width:20px;height:20px}
