:root{color-scheme:dark;--bg:#0b0b26;--blue:#5aa1ff;--lilac:#c49dff;--gold:#ffd46a;--muted:#a7a4c0;--safe:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100%;background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display",system-ui,sans-serif;color:#fff}button{font:inherit;color:inherit}.hidden{display:none!important}.sky{position:fixed;inset:0;background:radial-gradient(circle at 50% 0,#34306d,#121136 45%,#09091e 90%)}.sky:after{content:'';position:absolute;inset:0;opacity:.45;background-image:radial-gradient(#fff 1px,transparent 1px),radial-gradient(#9ec5ff 1px,transparent 1px);background-size:67px 67px,101px 101px;background-position:0 0,38px 22px}.page{position:relative;width:min(100%,560px);min-height:100dvh;margin:auto;padding:calc(24px + env(safe-area-inset-top)) 19px calc(24px + var(--safe))}.profiles{display:flex;flex-direction:column;justify-content:center}.brand{text-align:center;margin-bottom:36px}.symbols{font-size:40px;color:var(--gold);word-spacing:10px}.symbols i{font-size:24px;color:#ff9db5}.symbols::first-letter{color:var(--blue)}.brand>small,.pet-home header small,.memory-card small{font-size:10px;letter-spacing:2px;color:#aaa6d0}.brand h1{font:italic 500 45px Georgia,serif;margin:4px}.brand p{margin:0;color:#9c98b8;font-size:13px}.profiles>h2{text-align:center;font-size:17px;margin:0 0 14px}.profile-list{display:grid;gap:12px}.profile{position:relative;display:flex;align-items:center;gap:14px;width:100%;padding:10px;border:1px solid #ffffff20;border-radius:23px;background:#ffffff0a;text-align:left}.profile img{width:84px;height:84px;border-radius:18px;object-fit:cover}.profile div{display:flex;flex-direction:column}.profile small{font-size:9px;letter-spacing:1.5px;color:#aaa6c2}.profile strong{font-size:21px}.profile p{margin:5px 0 0;color:#aaa7bd;font-size:12px}.profile p span{font-size:18px}.profile>b{margin-left:auto;align-self:flex-start;padding:6px 9px;border-radius:99px;background:#ffffff0d;font-size:10px}.profile.blue{box-shadow:inset 4px 0 var(--blue)}.profile.lilac{box-shadow:inset 4px 0 var(--lilac)}.note{text-align:center;color:#74718f;font-size:10px;margin:18px 25px 0}
.pet-home{position:relative;width:min(100%,560px);margin:auto;min-height:100dvh;padding:calc(14px + env(safe-area-inset-top)) 15px calc(18px + var(--safe));background:linear-gradient(#181746,#0b0b26)}header{display:flex;align-items:center;gap:8px}header>div{flex:1}header h1{margin:1px 0;font:italic 500 29px Georgia,serif}.circle{flex:0 0 41px;width:41px;height:41px;border:1px solid #ffffff1c;background:#ffffff09;border-radius:50%;font-size:23px}.level-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin:14px 2px 10px}.level-copy{display:flex;flex-direction:column}.level-copy span{font-size:12px;font-weight:700}.level-copy small{font-size:9px;color:var(--muted)}.xp{height:7px;border-radius:9px;background:#ffffff10;overflow:hidden}.xp i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--lilac));border-radius:inherit;transition:.3s}.level-row>strong{font-size:12px;color:#ffd46a}.pet-stage{position:relative;aspect-ratio:1/1.04;border-radius:29px;overflow:hidden;border:1px solid #ffffff20;box-shadow:0 18px 45px #0007}.pet-stage img{width:100%;height:100%;object-fit:cover;display:block;transition:.25s}.pet-stage.happy img{animation:happy .65s}.pet-stage.eat img{animation:eat .55s}.pet-stage.sleep img{filter:brightness(.7) saturate(.8);animation:breathe 1.8s infinite}.pet-stage.bath img{animation:bath .7s}.date-badge{position:absolute;z-index:2;top:12px;left:12px;padding:6px 9px;border-radius:99px;background:#111134a8;backdrop-filter:blur(8px);font-size:9px;font-weight:800;letter-spacing:1.2px}.speech{position:absolute;z-index:3;top:48px;right:13px;max-width:145px;padding:9px 12px;border-radius:15px 15px 4px 15px;background:#fff;color:#24213c;font-size:11px;font-weight:700;box-shadow:0 7px 25px #0005;transition:.2s}.speech.hide{opacity:0;transform:translateY(-5px)}.spark{position:absolute;z-index:4;font-size:25px;animation:spark 1s forwards;pointer-events:none}.needs{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:11px 0}.needs>div{padding:9px 6px;border:1px solid #ffffff12;background:#ffffff08;border-radius:15px;text-align:center}.needs span{font-size:20px}.needs small{display:block;font-size:8px;color:#aaa7bd;margin:2px 0 5px}progress{appearance:none;width:100%;height:5px;border:0;border-radius:5px;overflow:hidden}progress::-webkit-progress-bar{background:#ffffff12}progress::-webkit-progress-value{background:linear-gradient(90deg,#6cafff,#c495ff);border-radius:5px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.actions button{display:grid;grid-template-columns:39px 1fr;grid-template-rows:1fr 1fr;text-align:left;align-items:center;padding:10px;border:1px solid #ffffff14;background:#ffffff09;border-radius:16px}.actions span{grid-row:1/3;font-size:27px}.actions b{font-size:13px}.actions small{font-size:9px;color:#9692ac}.memory-card{display:flex;align-items:center;gap:10px;margin-top:10px;padding:12px 13px;border:1px solid #ffafc120;background:#ffafc10b;border-radius:17px}.memory-card>span{font-size:22px;color:#ffd46a}.memory-card div{flex:1}.memory-card p{font:italic 13px Georgia,serif;margin:2px 0}.memory-card>b{font-size:10px;color:#aaa6be}
.toast{position:fixed;z-index:40;left:50%;top:calc(15px + env(safe-area-inset-top));transform:translate(-50%,-90px);padding:11px 17px;border-radius:99px;background:#fff;color:#1e1936;font-weight:750;transition:.25s}.toast.show{transform:translate(-50%,0)}dialog{width:min(88%,360px);padding:26px;border:1px solid #ffffff25;border-radius:27px;background:#181640;color:#fff;text-align:center}dialog::backdrop{background:#05050fdc;backdrop-filter:blur(6px)}dialog>div{font-size:53px;color:var(--lilac)}dialog>small{letter-spacing:2px;color:#aaa6c5}dialog h2{font:italic 500 29px Georgia,serif;margin:7px}dialog p{color:#aaa7bd}dialog button{width:100%;border:0;border-radius:15px;padding:14px;background:linear-gradient(135deg,#5b9dff,#a375e8);font-weight:750;margin-top:12px}@keyframes happy{50%{transform:translateY(-10px) scale(1.03)}}@keyframes eat{30%,70%{transform:rotate(-2deg) scale(1.03)}50%{transform:rotate(2deg) scale(.98)}}@keyframes breathe{50%{transform:scale(1.015)}}@keyframes bath{25%{transform:rotate(-2deg)}75%{transform:rotate(2deg)}}@keyframes spark{to{transform:translateY(-80px) rotate(20deg);opacity:0}}
.calm-notice{position:absolute;z-index:5;bottom:12px;left:50%;transform:translateX(-50%);width:max-content;max-width:90%;padding:8px 12px;border-radius:99px;background:#2b1739dd;color:#ffd2df;font-size:10px;font-weight:800}.outfit-overlay{position:absolute;z-index:2;left:50%;top:13%;transform:translateX(-50%);font-size:58px;filter:drop-shadow(0 5px 5px #0007);pointer-events:none}.outfit-overlay.glasses{top:39%;font-size:70px}.outfit-overlay.crown{top:6%;font-size:62px}.outfit-overlay.hat{top:3%;font-size:72px}.outfit-overlay.bowtie{top:60%;font-size:55px}.menu-dialog{position:relative;max-height:86dvh;overflow:auto}.menu-dialog .dialog-close{position:absolute;right:12px;top:9px;width:38px;height:38px;padding:0;margin:0;border-radius:50%;background:#ffffff10;font-size:22px}.menu-dialog .dialog-icon{font-size:45px;color:inherit}.menu-dialog .choice-grid,.menu-dialog .outfit-list{font-size:initial;color:inherit}.choice-grid{display:grid;gap:9px;margin-top:18px}.menu-dialog .food{display:grid;grid-template-columns:46px 1fr;grid-template-rows:1fr 1fr;align-items:center;text-align:left;padding:11px 13px;margin:0;background:#ffffff0b;border:1px solid #ffffff14}.food span{grid-row:1/3;font-size:30px}.food b{font-size:14px}.food small{font-size:10px;color:#a9a5bf}.wallet{margin:5px 0 14px!important}.wallet b{color:#ffd46a}.outfit-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.outfit{position:relative;padding:12px 8px!important;margin:0!important;background:#ffffff0b!important;border:1px solid #ffffff14!important;display:flex;flex-direction:column;align-items:center;gap:3px}.outfit>span{font-size:34px}.outfit small{color:#aaa6bd;font-size:10px}.outfit.owned{border-color:#7dd7a2!important}.outfit.equipped{background:#5b9dff2b!important;box-shadow:inset 0 0 0 2px #7eacff}.outfit:disabled{opacity:.48}
