:root{color:#eef4ef;font-synthesis:none;text-rendering:optimizelegibility;background:#111815;font-family:Inter,ui-rounded,SF Pro Rounded,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;min-width:320px;min-height:100%;margin:0}body{background:#111815;min-height:100vh;overflow:hidden}button{font:inherit}button:focus-visible{outline-offset:2px;outline:3px solid #f0c65d}.tamagotchi-app{background:#111815;min-height:100vh}.pet-topbar{z-index:20;background:#17211d;border-bottom:1px solid #33413c;justify-content:space-between;align-items:center;gap:24px;min-height:74px;padding:12px 20px;display:flex;position:fixed;inset:0 0 auto}.pet-brand,.pet-topbar-actions,.pet-connection,.pet-language,.section-heading-row,.pet-identity,.need-label,.generation-item{align-items:center;display:flex}.pet-brand{gap:12px;min-width:0}.pet-brand-mark{background:#55b986;border:3px solid #f0c65d;border-radius:50%;flex:0 0 38px;width:38px;height:38px;box-shadow:inset 8px -5px #28775d}.pet-brand h1,.pet-brand p,.pet-panel h3,.pet-panel h4,.care-actions h3,.pet-identity h2,.pet-event p,.empty-state,.evolution-caption{margin:0}.pet-brand h1{letter-spacing:0;font-size:20px;line-height:1.2}.pet-brand p{color:#9fb0a9;margin-top:3px;font-size:12px}.pet-topbar-actions{gap:16px}.pet-connection{color:#b7c6c0;white-space:nowrap;gap:8px;font-size:13px}.connection-dot{background:#d47a6a;border-radius:50%;width:9px;height:9px}.pet-connection[data-status=open] .connection-dot{background:#63d29a;box-shadow:0 0 0 4px #63d29a1f}.pet-connection[data-status=connecting] .connection-dot,.pet-connection[data-status=reconnecting] .connection-dot{background:#f0c65d;animation:1.2s ease-in-out infinite status-pulse}.pet-language{background:#111815;border:1px solid #405049;border-radius:7px;gap:4px;padding:4px}.pet-language>span{color:#8fa099;padding:0 7px;font-size:12px}.pet-language button{color:#aab8b3;cursor:pointer;background:0 0;border:0;border-radius:5px;min-height:34px;padding:0 11px}.pet-language button.active{color:#10221a;background:#8fd3b1;font-weight:750}.pet-sound-toggle{color:#8fa099;cursor:pointer;background:#111815;border:1px solid #405049;border-radius:6px;flex:0 0 40px;place-items:center;width:40px;height:40px;padding:0;transition:color .14s,border-color .14s,background-color .14s;display:grid}.pet-sound-toggle:hover,.pet-sound-toggle.active{color:#10221a;background:#8fd3b1;border-color:#8fd3b1}.pet-sound-toggle:disabled{opacity:.5;cursor:wait}.pet-sound-toggle svg{stroke-width:2px;width:20px;height:20px}.pet-workspace{grid-template-columns:230px minmax(0,1fr) minmax(330px,390px);grid-template-areas:"care habitat sidebar";height:100vh;padding-top:74px;display:grid}.pet-habitat{background:#d9e9df;border-right:1px solid #34443d;grid-area:habitat;min-width:0;min-height:0;position:relative;overflow:hidden}.pet-scene{touch-action:manipulation;position:absolute;inset:0}.pet-canvas{width:100%;height:100%;display:block}.pet-identity{z-index:3;pointer-events:none;justify-content:space-between;gap:16px;position:absolute;top:22px;left:24px;right:24px}.pet-stage-label,.pet-mood{color:#1a4938;text-transform:uppercase;background:#f4faf6db;border:1px solid #18392d3d;border-radius:6px;align-items:center;min-height:30px;padding:4px 10px;font-size:12px;font-weight:750;display:inline-flex}.pet-identity h2{color:#18392e;letter-spacing:0;margin-top:8px;font-size:34px;line-height:1}.pet-habitat[data-sleeping=true] .pet-identity h2{color:#edf4ef;text-shadow:0 2px #101c2361}.pet-habitat[data-sleeping=true] .pet-stage-progress{background:#ebf4ef38}.pet-habitat[data-sleeping=true] .pet-stage-progress span{background:#8fd3b1}.pet-mood{color:#713e38;text-transform:none;background:#fff0e1e0;border-color:#88493e40;align-self:flex-start}.pet-stage-progress{z-index:3;background:#1942332b;border-radius:3px;width:min(260px,100% - 48px);height:5px;position:absolute;top:91px;left:24px;overflow:hidden}.pet-stage-progress span{border-radius:inherit;background:#28775d;width:0;height:100%;transition:width .5s;display:block}.pet-tap-hint{z-index:3;color:#315747;white-space:nowrap;pointer-events:none;background:#f4faf6c2;border-radius:6px;margin:0;padding:7px 12px;font-size:12px;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.care-actions{overscroll-behavior:contain;color:#eef4ef;scrollbar-color:#4b6258 transparent;scrollbar-width:thin;background:#17211d;border-right:1px solid #33443d;grid-area:care;min-width:0;min-height:0;padding:18px 14px;overflow-y:auto}.care-heading-row{padding:0 4px 12px;display:block}.care-heading-row>div{min-width:0}.care-heading-row>[data-total-actions]{white-space:normal;margin-top:8px;display:block}.panel-kicker{color:#7fa594;text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:760;display:block}.section-heading-row{justify-content:space-between;gap:12px}.care-actions h3,.pet-panel h3{letter-spacing:0;font-size:17px}.section-heading-row>span{color:#95a69f;font-size:12px}.care-action-grid{grid-template-columns:1fr;gap:8px;padding:0 4px 8px;display:grid}.care-action-section-label{color:#aaa1ee;letter-spacing:0;text-transform:uppercase;align-items:center;gap:8px;min-height:32px;margin-top:6px;font-size:11px;font-weight:780;display:flex}.care-action-section-label:before{content:"";background:#645f91;width:18px;height:1px}.care-action{color:#edf4ef;text-align:left;cursor:pointer;background:#24322d;border:1px solid #486057;border-radius:6px;align-items:center;gap:12px;min-width:0;min-height:58px;padding:9px 12px;font-size:13px;font-weight:720;line-height:1.15;transition:transform .12s,border-color .12s,background-color .12s;display:flex}.care-action svg{color:#8fd3b1;stroke-width:1.9px;flex:0 0 22px;width:22px;height:22px}.action-feed svg,.action-treat svg{color:#e3b55f}.action-play svg,.action-pet svg{color:#e18aa3}.action-clean svg,.action-heal svg{color:#76c8cf}.action-sleep svg,.action-wake svg{color:#aaa1ee}.action-train svg{color:#e6a06f}.action-walk svg{color:#8fcf8b}.action-read svg{color:#a9a2ea}.action-dance svg{color:#ee8fb8}.action-garden svg{color:#78c990}.action-lullaby svg,.action-tuck_in svg,.action-dream svg{color:#b9b2ff}.care-action.sleep-only{background:#292a3b;border-color:#57547a}.care-action.sleep-only.sleep-available:not(:disabled){background:#323248;border-color:#817bb5}.care-action:hover:not(:disabled){background:#2c4038;border-color:#8fd3b1;transform:translateY(-2px)}.care-action:active:not(:disabled){transform:translateY(1px)}.care-action:disabled{opacity:.38;cursor:not-allowed}.care-action.recommended{background:#3a3828;border-color:#f0c65d;animation:1.8s ease-in-out infinite recommended-pulse}.action-feed,.action-treat{border-bottom-color:#d7a455}.action-play,.action-pet{border-bottom-color:#d47791}.action-clean,.action-heal{border-bottom-color:#65b8be}.pet-sidebar{overscroll-behavior:contain;scrollbar-color:#4b6258 transparent;scrollbar-width:thin;background:#111815;grid-area:sidebar;min-width:0;min-height:0;padding:16px;overflow-y:auto}.pet-panel{background:#171f1c;border:1px solid #33433d;border-radius:8px;padding:16px}.pet-panel+.pet-panel{margin-top:12px}.pet-summary{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:14px;display:grid}.pet-summary div{background:#111815;border-left:2px solid #557469;min-width:0;padding:9px}.pet-summary span,.pet-summary strong{display:block}.pet-summary span{color:#82938c;text-transform:uppercase;font-size:10px}.pet-summary strong{color:#f2f6f3;overflow-wrap:anywhere;margin-top:4px;font-size:14px}.need-list{margin-top:16px}.need-row+.need-row{margin-top:11px}.need-label{color:#b9c6c1;justify-content:space-between;gap:12px;font-size:12px}.need-label strong{color:#eef4ef}.need-track,.trait-row>div{background:#2b3732;border-radius:4px;height:7px;margin-top:5px;overflow:hidden}.need-track span,.trait-row i{border-radius:inherit;background:#62c795;width:0;height:100%;transition:width .45s;display:block}.need-row[data-level=medium] .need-track span{background:#e2bb58}.need-row[data-level=low] .need-track span{background:#dc7469}.evolution-path{text-align:right;border:1px solid #655f91;border-radius:5px;max-width:58%;padding:4px 7px;color:#c6c0f3!important}.evolution-caption{color:#91a29b;margin-top:10px;font-size:12px;line-height:1.45}.pet-panel h4{color:#c7d2cd;text-transform:uppercase;margin-top:16px;font-size:12px}.trait-list{margin-top:10px}.trait-row{color:#9eada7;grid-template-columns:96px 1fr 38px;align-items:center;gap:8px;font-size:11px;display:grid}.trait-row+.trait-row{margin-top:8px}.trait-row>div{height:5px;margin:0}.trait-row i{background:#9a8ce0}.trait-row strong{color:#dfe6e2;text-align:right}.mutation-row{color:#aab8b3;border-top:1px solid #2d3a35;justify-content:space-between;margin-top:14px;padding-top:12px;font-size:12px;display:flex}.mutation-row strong{color:#f0c65d}.pet-event-list,.generation-list{margin-top:12px}.pet-event{border-bottom:1px solid #29342f;grid-template-columns:42px minmax(0,1fr);gap:8px;padding:9px 0;display:grid}.pet-event:last-child{border-bottom:0}.pet-event>span{color:#8fd3b1;font-family:ui-monospace,monospace;font-size:10px}.pet-event p{color:#bdc9c4;overflow-wrap:anywhere;font-size:12px;line-height:1.4}.event-evolution p,.event-generation p{color:#f0d77e}.empty-state{color:#7f9189;font-size:12px;line-height:1.45}.generation-item{gap:10px;padding:8px 0}.generation-item>span{border:2px solid #ffffff3d;border-radius:50%;flex:0 0 28px;width:28px;height:28px}.generation-item strong,.generation-item div>span{display:block}.generation-item strong{color:#dfe7e3;font-size:12px}.generation-item div>span{color:#84958e;margin-top:2px;font-size:11px}.pet-toast{z-index:40;color:#eaf2ed;opacity:0;pointer-events:none;background:#213029;border:1px solid #5d746a;border-radius:7px;max-width:min(360px,100vw - 32px);padding:12px 15px;transition:opacity .16s,transform .16s;position:fixed;bottom:24px;right:24px;transform:translateY(16px);box-shadow:0 12px 30px #00000047}.pet-toast.visible{opacity:1;transform:translateY(0)}.pet-toast[data-result=warning]{background:#382f20;border-color:#b88f45}@keyframes status-pulse{50%{opacity:.45}}@keyframes recommended-pulse{50%{border-color:#fff0ae}}@media (width<=980px){body{overflow:auto}.pet-topbar{position:relative}.pet-workspace{grid-template-columns:1fr;grid-template-areas:"habitat""care""sidebar";height:auto;min-height:calc(100vh - 74px);padding-top:0}.pet-habitat{border-bottom:1px solid #34443d;border-right:0;min-height:620px}.care-actions{border-bottom:1px solid #34443d;border-right:0;padding:14px 12px;overflow:hidden}.care-heading-row{padding-bottom:10px}.care-action-grid{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-color:#4b6258 transparent;scrollbar-width:thin;gap:8px;padding:0 2px 10px;display:flex;overflow-x:auto}.care-action-section-label{scroll-snap-align:start;flex:0 0 112px;min-height:54px;margin:0;padding:0 8px;line-height:1.25}.care-action{scroll-snap-align:start;flex:0 0 154px;min-height:54px}.pet-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:none;display:grid;overflow:visible}.pet-panel+.pet-panel{margin-top:0}}@media (width<=720px){.pet-topbar{align-items:flex-start;padding:12px}.pet-brand p,.pet-connection span:last-child,.pet-language>span{display:none}.pet-brand h1{max-width:150px;font-size:16px}.pet-topbar-actions{gap:8px}.pet-sound-toggle{flex-basis:40px;width:40px;height:40px}.pet-language button{min-width:46px;min-height:40px;padding:0 8px;font-size:12px}.pet-habitat{min-height:540px}.pet-identity{top:16px;left:16px;right:16px}.pet-identity h2{font-size:28px}.pet-stage-progress{top:82px;left:16px}.pet-tap-hint{text-align:center;white-space:normal;max-width:calc(100% - 24px);bottom:18px}.care-action{flex-basis:146px;padding:8px 10px;font-size:12px}.pet-sidebar{grid-template-columns:1fr;padding:12px}.pet-toast{max-width:none;bottom:16px;left:16px;right:16px}}@media (width<=400px){.pet-brand-mark{flex-basis:32px;width:32px;height:32px}.pet-language button{min-width:40px;padding:0 6px}.pet-sound-toggle{flex-basis:36px;width:36px;height:40px}.pet-language button[data-language=uk]{font-size:0}.pet-language button[data-language=uk]:after{content:"UA";font-size:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
