@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Nunito:wght@400;500;600;700;800;900&display=swap');
:root{--bg:#fff9f8;--panel:#fff;--ink:#503c51;--muted:#9a8497;--rose:#ed719a;--rose-dark:#be527b;--softrose:#fff0f4;--lilac:#a486d5;--softlilac:#f5edff;--gold:#e7b76c;--line:#f3e7eb;--shadow:0 11px 36px rgba(125,70,92,.055)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;color:var(--ink);background:radial-gradient(ellipse at 0% 0%,#ffe5eb 0,transparent 34%),radial-gradient(ellipse at 93% 20%,#f4e9ff 0,transparent 30%),var(--bg);font-family:'Nunito','DM Sans',sans-serif}button,input,textarea,select{font:inherit}button,a,select{outline-color:var(--rose)}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}input,textarea,select{color:var(--ink);accent-color:var(--rose)}.hide{display:none!important}.floaties{position:fixed;inset:0;pointer-events:none;overflow:hidden}.floaties span{position:absolute;color:#f2baca;opacity:.55;font-size:30px}.floaties span:nth-child(1){top:9%;left:8%}.floaties span:nth-child(2){top:21%;right:4%}.floaties span:nth-child(3){top:79%;left:5%}.floaties span:nth-child(4){top:88%;right:8%}.overline{margin:0;color:#c48ba1;font-size:10px;font-weight:900;letter-spacing:2.2px}.sub{font-size:13px;line-height:1.65;color:var(--muted)}.hint{font-size:11px;color:#ad91a2;line-height:1.6}.empty{padding:24px 14px;text-align:center;border:1px dashed #efdae5;border-radius:16px;background:#fffbfc;color:#b29aa8;font-size:13px;line-height:1.7}.btn{display:inline-flex;justify-content:center;align-items:center;gap:6px;padding:11px 17px;border-radius:12px;font-weight:900;font-size:12px;white-space:normal;text-align:center;border:1px solid transparent;transition:transform .18s,filter .18s;min-height:42px}.btn:hover{transform:translateY(-1px);filter:brightness(.985)}.btn.solid{background:linear-gradient(135deg,#f47d9f,#e96998);color:#fff;box-shadow:0 5px 14px #f4b7cb77}.btn.pale{background:#ffedf2;color:#c35c83;border-color:#f9d9e5}.btn.rose{background:#fff;color:#bb537b}.btn.frost{background:#ffe1e9a6;color:#874b69;border-color:#ffffff7a}.btn.outline{background:#fff;color:#8b6982;border:1px solid var(--line)}.btn.danger{color:#ad4665;background:#ffe4ec}.wide{width:100%}.box{background:var(--panel);border:1px solid #fff;border-radius:22px;padding:22px;box-shadow:var(--shadow);min-width:0}.box h3{margin:0;font-size:17px;line-height:1.3;font-weight:900;letter-spacing:-.3px}.box p{overflow-wrap:anywhere}.sec-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.sec-head .overline{margin-bottom:6px}.chip-emoji{background:#fff0f6;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:19px}.line-top{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.line-top h3{margin:0 0 12px}.page{display:grid;gap:17px;animation:fade-in .3s ease}.page-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:8px 4px 3px}.page-intro h2{font-size:25px;line-height:1.25;margin:7px 0 3px;font-weight:900;letter-spacing:-.8px}.page-intro>div>p:last-child{font-size:13px;color:var(--muted);margin:7px 0}.intro-icon{background:#fff;color:#f185a3;width:63px;height:63px;border-radius:20px;box-shadow:var(--shadow);display:grid;place-items:center;font-size:28px;transform:rotate(8deg)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:17px;align-items:start}.stack{display:grid;gap:13px}.stack label,.form-tint label{font-size:12px;font-weight:900;color:#8d697f;display:grid;gap:7px}.stack input,.stack textarea,.stack select,.form-tint input,.form-tint textarea,.form-tint select,.compact-form input,.compact-form select,.inline-form input{width:100%;background:#fffcfd;border:1px solid #f0e2e9;border-radius:12px;padding:12px 13px;min-height:44px;font-size:13px;outline-color:#f59cbc}.stack textarea,.form-tint textarea{resize:vertical;min-height:76px;line-height:1.55}.stack input::placeholder,.stack textarea::placeholder{color:#c3adba}.check-inline{display:flex!important;flex-direction:row;align-items:center;gap:8px!important}.check-inline input{width:16px!important;min-height:16px!important;accent-color:#e87ea2}.text-button{background:none;border:0;padding:7px 0;color:#d16991;font-weight:900;font-size:12px}.mini-delete{background:#fff1f5;color:#b6728d;border:0;border-radius:8px;padding:5px 8px;font-size:11px;flex-shrink:0}
/* Login */
.auth-layout{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;max-width:1050px;margin:auto;align-items:center;gap:50px;padding:40px 24px}.auth-story{padding:32px 14px}.auth-mark{width:80px;height:80px;background:#fbe0e9;border:2px solid #fff;color:#e76e98;border-radius:27px;display:grid;place-items:center;font-size:54px;font-weight:800;transform:rotate(-12deg);margin-bottom:30px;box-shadow:var(--shadow)}.auth-story h1{font-size:clamp(39px,5vw,63px);line-height:1.08;letter-spacing:-2px;margin:16px 0;color:#5d3c55}.auth-story em{font-style:normal;color:#ec75a2}.auth-story>p:not(.overline){font-size:17px;color:#987e8f;line-height:1.7}.auth-stickers{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.auth-stickers span{font-size:11px;font-weight:900;border-radius:30px;background:#fff;padding:11px 13px;border:1px solid #f7e3eb}.auth-panel{padding:34px}.auth-panel h2{font-size:24px;margin:14px 0 2px}.mini-heading{font-weight:900;color:#df7098;font-size:17px}.switch{display:flex;background:#fff4f7;padding:5px;border-radius:13px;margin:25px 0}.switch button{flex:1;background:none;border:0;color:#aa8598;padding:11px 4px;font-weight:900;border-radius:10px;font-size:13px}.switch button.on{background:#fff;box-shadow:0 3px 12px #e9b9c669;color:#bf577e}
/* Layout + Navigation */
.app-wrap{position:relative}.app-frame{display:grid;grid-template-columns:228px minmax(0,1fr);max-width:1280px;min-height:100vh;margin:auto;box-shadow:0 0 70px #e7c5d229;background:#fffafc9a}.sidebar{background:linear-gradient(180deg,#fff 0,#fff8fa 100%);padding:32px 18px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:24px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;color:#80526d;font-size:17px;line-height:.96;letter-spacing:-.7px;font-weight:700;margin-left:9px}.brand b{font-size:20px;color:#db7197}.brand-mark{background:#ffe9f0;color:#d9668e;border-radius:13px;width:43px;height:43px;display:grid;place-items:center;font-size:36px;font-weight:900}.side-label{margin:16px 0 -17px 12px;letter-spacing:2px;color:#c6a5b3;font-size:10px;font-weight:900}.nav{display:grid;gap:5px}.nav a{display:flex;align-items:center;gap:13px;border-radius:12px;padding:13px 12px;color:#988295;font-size:13px;font-weight:900;transition:background .2s}.nav a span{font-size:19px}.nav a:hover{background:#fff3f6}.nav a.active{background:#ffeaf1;color:#ba557e}.side-bottom{background:linear-gradient(130deg,#ffeff3,#f4eafd);padding:18px;border-radius:17px;margin-top:auto}.side-bottom .tiny-heart{font-size:22px;margin-bottom:7px}.side-bottom strong{font-size:12px}.side-bottom p{font-size:11px;color:#9b8399;margin:6px 0 0;line-height:1.5}.main-area{min-width:0;max-width:100%;padding:24px 28px 40px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 0 24px;border-bottom:1px solid var(--line);margin-bottom:23px}.topbar small{font-size:10px;font-weight:900;letter-spacing:1.5px;color:#c09daa}.topbar h1{margin:6px 0 0;font-weight:900;letter-spacing:-.65px;font-size:21px}.header-actions{display:flex;align-items:center;gap:12px}.avatars{display:flex;padding-left:8px}.head-avatar{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;margin-left:-9px;border:2px solid white;font-size:17px}.avatar-button{border:3px solid #fff;width:45px;height:45px;border-radius:15px;color:#fff;font-size:23px;box-shadow:0 2px 9px #f6dae4}.mobile-nav{display:none}.footer{font-size:11px;color:#bc9faf;text-align:center;margin:30px 0 2px}.footer span{font-size:18px;color:#e78fac}
/* Home */
.welcome-hero{position:relative;overflow:hidden;border-radius:23px;padding:36px 34px;min-height:245px;background:linear-gradient(118deg,#ed8da8 0%,#f1aec2 59%,#f4cada 100%);color:white;box-shadow:0 14px 25px #f8d0db77}.welcome-hero .overline{color:#fff5f6}.welcome-hero h2{font-size:clamp(30px,4vw,43px);line-height:1.13;margin:14px 0 6px;font-weight:900;letter-spacing:-1.3px}.welcome-hero h2 span:last-child{color:#fff9e8}.welcome-hero>p:not(.overline){opacity:.94;font-size:13px;line-height:1.55;max-width:360px}.hero-stars{position:absolute;right:38px;top:42px;color:#fff7d9;font-size:31px;transform:rotate(-15deg)}.sunflower{font-size:150px;position:absolute;right:-15px;bottom:-67px;opacity:.18;color:#fff}.welcome-cta{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px;position:relative}.welcome-pair{display:flex;align-items:center;gap:8px;flex-wrap:wrap;position:relative}.welcome-pair .person-pill{border:1px solid #fff7;background:#fff3;padding:5px 10px 5px 5px;border-radius:12px;color:#784a63}.welcome-pair .person-pill small{display:none}.person-pill{display:flex;gap:9px;align-items:center;min-width:0}.person-face{display:grid;place-items:center;width:36px;height:36px;border-radius:13px;font-size:20px;color:white;flex-shrink:0}.person-pill strong,.person-pill small{display:block;overflow-wrap:anywhere}.person-pill strong{font-size:12px;white-space:nowrap}.person-pill small{font-size:10px;color:#ad8b9a;margin-top:2px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.stat-card{border:1px solid white;background:#fff;border-radius:18px;padding:17px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow)}.stat-card>span{font-size:25px;background:#fff1f5;border-radius:13px;width:49px;height:49px;display:grid;place-items:center;flex-shrink:0}.stat-card strong{display:block;font-size:25px;letter-spacing:-1px;line-height:1.1}.stat-card small{color:#aa8c9c;font-size:11px}.profile-moods{display:grid;gap:10px;margin:13px 0 5px}.profile-moods .person-pill{background:#fff8fb;padding:10px;border-radius:14px}.profile-moods .person-face{border-radius:50%}.next-event{display:flex;gap:12px;align-items:center;white-space:pre-line;font-size:13px;font-weight:800;line-height:1.7}.next-icon{font-size:30px}.invite-box{display:flex;gap:18px;justify-content:space-between;align-items:center;background:linear-gradient(100deg,#fff,#fff1f4)}.invite-box p{color:var(--muted);font-size:12px;margin:5px 0}.mural-list{display:grid;gap:9px;max-height:520px;overflow:auto}.note-card{background:#fff7fa;border:1px solid #f7e5ec;border-radius:14px;padding:12px 14px}.note-card.from-me{border-left:3px solid #f48bab}.note-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px}.note-meta b{color:#b95f81}.note-meta time{color:#b5a0ab}.note-card p{font-size:13px;white-space:pre-wrap;margin:7px 0 1px;line-height:1.55}
/* Calendar */
.calendar-box{padding:23px}.cal-head,.cal-nav{display:flex;justify-content:space-between;align-items:center;gap:10px}.cal-nav{justify-content:flex-start}.cal-nav strong{font-size:16px;min-width:155px;text-align:center;color:#70506a;text-transform:capitalize}.square-btn{width:34px;height:34px;background:#fff8fb;border:1px solid #f4dae5;color:#b96f8b;font-size:24px;border-radius:11px;display:grid;place-items:center;line-height:1}.cal-filters{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0 19px}.cal-filters button{border-radius:22px;background:#fffbfc;border:1px solid #f4e0e9;color:#9a7890;padding:8px 12px;font-size:11px;font-weight:900}.cal-filters button.active{background:#ffe9f1;border-color:#f68eaa;color:#b94f7d}.cal-week,.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.cal-week{margin-bottom:6px}.cal-week span{text-align:center;padding:4px;color:#bd98ab;font-weight:900;font-size:10px}.cal-day{min-height:77px;border:1px solid #f4e8ee;background:#fffafb;border-radius:12px;padding:8px 5px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;color:#8a6b82;font-weight:900;transition:background .18s;min-width:0}.cal-day.blank{background:none;border:0}.cal-day:not(.blank):hover{background:#fff2f7}.cal-day.selected{border:2px solid #f175a0;background:#fff0f6;padding:7px 4px}.cal-day.today .daynum{background:#ee8bad;color:#fff;border-radius:50%;height:25px;width:25px;display:grid;place-items:center;margin-top:-4px}.daynum{font-size:12px;line-height:20px}.dots{display:flex;flex-wrap:wrap;justify-content:center;gap:3px}.dot,.mark{display:inline-block;background:#ee8ba9;width:6px;height:6px;border-radius:50%}.dot.partner,.mark.partner{background:#a78bdd}.dot.shared,.mark.shared{background:#e2b468}.cal-legend{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0 22px}.cal-legend span{display:flex;align-items:center;gap:5px;font-size:11px;color:#b193a4}.cal-legend b{font-weight:800}.event-list{display:grid;gap:8px}.event{display:flex;align-items:flex-start;gap:9px;border-left:4px solid #f184a5;background:#fff7fa;padding:12px;border-radius:13px}.event.partner{border-left-color:#aa8ddd;background:#faf6ff}.event.shared{border-left-color:#dfad60;background:#fffaf1}.event-icon{font-size:23px;flex-shrink:0}.event-body{flex:1;min-width:0}.event-body strong,.event-body small{display:block}.event-body strong{font-size:13px;overflow-wrap:anywhere}.event-body small{color:#ac8da1;font-size:10px;margin-top:3px}.event-body p{font-size:12px;line-height:1.5;white-space:pre-wrap;margin:7px 0 0}.edit-link{background:none;border:0;color:#c76d8f;font-size:11px;font-weight:900}.form-tint{margin-top:15px;border:1px solid #f6dce8;border-radius:17px;background:#fff7fa;padding:16px;display:grid;gap:12px}.form-tint .sec-head{margin-bottom:0}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-actions{display:flex;justify-content:flex-end;gap:8px}.form-actions .danger{margin-right:auto}.compact-form{display:grid;grid-template-columns:1.5fr 1fr auto auto;gap:8px;align-items:center}.compact-form input[type='checkbox']{width:auto;min-height:0}.simple-list{display:grid;gap:7px;margin-top:13px}.list-line{background:#fff9fb;border:1px solid #f7e8ef;border-radius:11px;padding:10px 11px;display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;font-size:11px}.list-line span{min-width:0;overflow-wrap:anywhere;flex:1}.list-line small{color:#b6a0b0;font-size:10px}
/* Carinhos */
.love-note{background:radial-gradient(circle at 90% 3%,#fff2f5,#fff 62%)}.affection-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.affection-grid button{border:1px solid #f2e1ea;background:#fff9fb;border-radius:17px;padding:14px 6px;color:#8b6c83;font-weight:900;font-size:11px}.affection-grid button span{display:block;font-size:32px;margin:0 0 8px}.affection-grid button:hover{background:#fff0f5}.centerish{text-align:center;padding:18px 0 2px}.centerish p{margin:4px 0;color:#ae92a2;font-size:12px}.centerish strong{font-size:11px;color:#d07797}.huge-heart{border:0;background:none;font-size:75px;filter:drop-shadow(0 6px 12px #f8c6d8);transition:transform .2s}.huge-heart:hover{transform:scale(1.08)}.huge-heart.pulse{animation:pulse .55s ease}.mood-choices{display:flex;gap:6px;flex-wrap:wrap}.mood-choices button{font-size:23px;border:1px solid #f3e4eb;background:#fff8fa;border-radius:12px;padding:8px 6px;min-width:52px}.mood-choices button.selected{background:#ffe5ef;border-color:#ee8bad}.mood-choices small{display:block;font-size:10px;color:#987a8f;font-weight:800}.center-text{text-align:center}
/* Cartinhas */
.tile-list{display:grid;gap:10px;max-height:560px;overflow:auto}.letter-tile,.tile,.quiz-tile{border:1px solid #f3e2ea;background:#fffafb;border-radius:14px;padding:13px;display:flex;gap:11px;position:relative;overflow-wrap:anywhere}.letter-tile .envelope{font-size:30px;flex-shrink:0}.letter-tile .tile-content{flex:1;min-width:0}.letter-tile strong,.letter-tile small{display:block}.letter-tile strong{font-size:13px}.letter-tile small{font-size:10px;color:#a68da0;margin-top:3px}.letter-tile.locked{background:linear-gradient(130deg,#fff7fb,#fcf6ff)}.letter-message{white-space:pre-wrap;font-size:13px;line-height:1.6;border-top:1px dashed #f4dce5;padding-top:9px;margin-bottom:0}
/* Games */
.pill{font-size:10px;font-weight:800;padding:7px 9px;background:#fff1f4;border-radius:20px;color:#b97290}.pet-stage{text-align:center;padding:12px 0}.pet-stage>div{font-size:88px;filter:drop-shadow(0 8px 8px #f2dfe6)}.pet-stage h3{font-size:22px;margin:3px 0}.pet-stage p{font-size:12px;color:#ab8da1}.inline-form{display:flex;gap:8px}.inline-form input{min-width:0}.three-buttons{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.three-buttons button{flex:1;border:1px solid #f5dce6;border-radius:12px;background:#fff2f7;padding:10px 5px;font-size:11px;color:#bb6d8a;font-weight:900}.wheel{text-align:center;padding:12px 20px 20px}.wheel span{display:block;font-size:96px}.wheel p{font-size:15px;font-weight:900;color:#b27094;min-height:44px}.quiz-tile{display:block}.quiz-tile>strong,.quiz-tile>small{display:block}.quiz-tile>small{font-size:10px;margin:5px 0;color:#b299a9}.quiz-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.quiz-option{background:#fff1f6;border:1px solid #f3dce6;color:#be6d92;padding:9px;border-radius:10px;font-size:11px;font-weight:900;flex:1}.quiz-result{background:#eefbf2;border-radius:9px;color:#6a9876;padding:9px;font-size:11px;font-weight:900;margin-top:9px}.quiz-static{font-size:11px;color:#9d8094}
/* Memories */
.memories-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:640px;overflow:auto}.memory-tile{background:#fff9fb;border:1px solid #f2e3e9;border-radius:14px;overflow:hidden}.memory-photo,.memory-placeholder{width:100%;aspect-ratio:4/3;object-fit:cover;display:grid;place-items:center;background:linear-gradient(145deg,#fff0f3,#f5e9ff);font-size:38px}.memory-body{padding:11px}.memory-body strong,.memory-body small{display:block;overflow-wrap:anywhere}.memory-body strong{font-size:13px;margin:4px 0}.memory-body small{color:#b49aac;font-size:10px}.memory-body p{font-size:12px;line-height:1.5;white-space:pre-wrap}.tile{display:block}.tile-meta{display:flex;justify-content:space-between;gap:12px;font-size:11px}.tile p{white-space:pre-wrap;font-size:12px;line-height:1.55}.tile>small{color:#b59da9}.tile .mini-delete{margin-left:10px}.wish-tile{display:flex;align-items:flex-start;gap:8px;border:1px solid #f4e2eb;border-radius:12px;background:#fffafb;padding:12px}.wish-tile.done{opacity:.7}.wish-tile.done strong{text-decoration:line-through}.wish-check{border:0;background:none;font-size:22px;color:#dc7c9f;line-height:1}.wish-body{flex:1;min-width:0}.wish-body strong,.wish-body small{display:block;overflow-wrap:anywhere}.wish-body strong{font-size:12px}.wish-body small{font-size:10px;color:#a891a0;margin-top:4px}.anniversary-count{text-align:center;font-weight:900;padding:24px 10px;border-radius:13px;background:#fff1f6;margin:16px 0;color:#c67695}.toast{position:fixed;z-index:99;bottom:25px;left:50%;transform:translateX(-50%);padding:13px 19px;border-radius:14px;background:#70465f;color:white;box-shadow:0 12px 30px #b39bad66;max-width:min(90vw,460px);font-size:13px;text-align:center}.toast.bad{background:#ba5273}
@keyframes pulse{50%{transform:scale(1.2)}}@keyframes fade-in{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.app-frame{grid-template-columns:195px minmax(0,1fr)}.main-area{padding:22px 19px}.sidebar{padding:25px 13px}.two-col{gap:12px}.box{padding:18px}.stat-card{padding:12px;gap:6px}.stat-card>span{font-size:20px;width:41px;height:41px}.affection-grid{gap:6px}}
@media(max-width:850px){.sidebar{display:none}.app-frame{display:block;min-height:100vh}.main-area{padding:20px 17px 110px;max-width:700px;margin:auto}.mobile-nav{position:fixed;bottom:0;left:0;right:0;z-index:40;display:flex;gap:1px;padding:8px 8px calc(7px + env(safe-area-inset-bottom));background:#fffdfeef;backdrop-filter:blur(16px);box-shadow:0 -6px 24px #a5788b26;overflow-x:auto;border-top:1px solid #f4dde7;scrollbar-width:none}.mobile-nav::-webkit-scrollbar{display:none}.mobile-nav a{flex:1;min-width:64px;text-align:center;padding:7px 3px 6px;color:#9e8695;border-radius:12px;font-size:10px;font-weight:900;white-space:nowrap}.mobile-nav a span{display:block;font-size:21px}.mobile-nav a small{display:block;font-size:9px}.mobile-nav a.active{background:#ffedf3;color:#c66289}.toast{bottom:95px}.topbar{margin-bottom:18px;padding-bottom:17px}.auth-layout{gap:10px}}
@media(max-width:590px){.main-area{padding:16px 12px 108px}.page-intro h2{font-size:22px}.intro-icon{width:47px;height:47px;border-radius:16px;font-size:25px}.box{padding:16px;border-radius:17px}.two-col{grid-template-columns:1fr;gap:12px}.page{gap:12px}.welcome-hero{padding:25px 21px;min-height:210px}.welcome-hero h2{font-size:31px}.welcome-hero .hero-stars{right:12px;top:22px;font-size:20px}.sunflower{right:-35px}.stat-grid{gap:6px}.stat-card{padding:10px 7px;display:block;text-align:center;border-radius:13px}.stat-card>span{margin:auto auto 6px;width:37px;height:37px}.stat-card strong{font-size:20px}.stat-card small{font-size:9px}.topbar h1{font-size:16px}.topbar small{font-size:9px}.header-actions{gap:5px}.head-avatar{height:27px;width:27px;font-size:14px}.avatar-button{width:37px;height:37px;font-size:20px;border-radius:12px}.compact-form{grid-template-columns:1fr 1fr}.compact-form input:first-child{grid-column:1/-1}.compact-form button{grid-column:2}.cal-head{gap:8px}.cal-nav strong{font-size:13px;min-width:120px}.cal-nav{gap:6px}.square-btn{width:31px;height:31px}.cal-filters{gap:5px;margin:16px 0}.cal-filters button{font-size:10px;padding:8px 10px}.calendar-box{padding:12px}.cal-grid,.cal-week{gap:4px}.cal-day{min-height:57px;border-radius:9px;padding:5px 1px;gap:5px}.cal-day.selected{padding:4px 0}.daynum{font-size:11px}.cal-day.today .daynum{height:22px;width:22px;margin-top:-3px}.cal-legend{gap:7px}.cal-legend span{font-size:10px}.affection-grid{grid-template-columns:repeat(3,1fr);gap:7px}.affection-grid button{min-height:90px;font-size:11px}.memories-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-layout{display:flex;flex-direction:column;align-items:stretch;padding:20px 14px;gap:14px}.auth-story{padding:8px 16px}.auth-story h1{font-size:38px;margin:10px 0}.auth-story>p:not(.overline){font-size:13px}.auth-mark{width:48px;height:48px;font-size:31px;margin-bottom:17px;border-radius:16px}.auth-stickers{margin-top:14px}.auth-panel{padding:21px}.auth-panel h2{font-size:20px;margin:10px 0}.switch{margin:16px 0}.invite-box{display:block}.invite-box button{margin-top:10px}}
@media(max-width:365px){.cal-nav strong{min-width:97px;font-size:11px}.cal-day{min-height:48px}.cal-filters button{font-size:9px;padding:7px 8px}.topbar h1{font-size:14px}.form-two{gap:6px}.compact-form{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.cal-special{font-size:10px;line-height:1;margin-top:-2px}.cal-day:has(.cal-special){gap:5px}.milestone{background:#fff0f4;border-color:#f4d6e1;font-weight:900}

/* V4: gatinho compartilhado e cuidados acessíveis no celular. */
.pet-card{background:linear-gradient(125deg,#fff 0%,#fffafc 70%,#fff4f7)}
.cat-hub{display:grid;grid-template-columns:minmax(190px,.85fr) minmax(0,1.75fr);gap:22px;align-items:stretch;margin-top:19px}
.cat-profile{border:1px solid #f5e1eb;border-radius:19px;background:#fff6fa;padding:15px;text-align:center;min-width:0}
.cat-scene{position:relative;background:radial-gradient(circle at 50% 45%,#fff 8%,#ffe2ec 65%,#f9d9e9 100%);border-radius:18px;min-height:174px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.cat-face{font-size:89px;line-height:1.2;filter:drop-shadow(0 9px 10px #dca9bc70);transition:transform .25s}
.cat-stars{position:absolute;left:12px;top:9px;font-size:21px;color:#e6a7c3}.cat-paw{position:absolute;right:16px;bottom:10px;font-size:27px;transform:rotate(-19deg)}
.cat-profile>h3{font-size:25px;margin:11px 0 0;color:#98546f}.cat-profile>p{font-size:12px;color:#9d7c92;margin:7px auto;line-height:1.4}
.cat-speech{background:white;border:1px solid #f7deea;border-radius:12px;padding:11px;color:#b75b85!important;font-weight:900;min-height:42px}
.cat-name-form{margin-top:13px}.cat-name-form input{background:white;min-width:0}
.cat-activities{min-width:0}.cat-activities h4,.cat-bottom h4{margin:0 0 7px;font-size:17px;color:#805570}.cat-activities>.sub{margin:0 0 15px}
.cat-care-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.cat-care-grid button{appearance:none;display:flex;flex-direction:column;align-items:center;gap:5px;background:#fff;border:1px solid #f5dfe9;border-radius:16px;min-height:111px;padding:13px 5px;color:#9b5978;box-shadow:0 5px 12px #d89db019;cursor:pointer;transition:transform .18s,background .18s,border-color .18s}
.cat-care-grid button:hover{transform:translateY(-3px);border-color:#e995b4;background:#fff4f9}.cat-care-grid button:focus-visible{outline:3px solid #bb78bd;outline-offset:2px}
.cat-care-grid button.done{background:#fff2f7;border-color:#f1c4d8}.cat-care-grid button>span{font-size:30px}.cat-care-grid button>strong{font-size:12px;text-align:center;line-height:1.2}.cat-care-grid button>small{font-size:10px;color:#b194a6;text-align:center}
.cat-bottom{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid #f6e6ed;margin-top:22px;padding-top:18px}.cat-today{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}
.cat-care-chip{font-size:10px;font-weight:800;color:#aa8fa1;background:#fff6f9;border:1px solid #f0e1e8;border-radius:20px;padding:8px 10px}.cat-care-chip.done{color:#ba4f7e;background:#ffe5f0;border-color:#edbcd3}
@keyframes catHop{0%,100%{transform:translateY(0) rotate(0)}40%{transform:translateY(-13px) rotate(-6deg)}70%{transform:translateY(2px) rotate(5deg)}}.cat-bounce{animation:catHop .6s ease}
@media(max-width:800px){.cat-hub{grid-template-columns:1fr}.cat-care-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.cat-profile{display:grid;grid-template-columns:170px 1fr;gap:4px 15px;text-align:left;align-items:center}.cat-scene{grid-row:span 4;min-height:155px}.cat-profile>h3,.cat-profile>p{margin:3px 0}.cat-name-form{margin-top:4px}}
@media(max-width:590px){.cat-care-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.cat-care-grid button{min-height:106px}.cat-profile{display:block;text-align:center}.cat-scene{min-height:175px}.cat-profile>h3{margin-top:9px}.cat-bottom{grid-template-columns:1fr;gap:18px}.cat-hub{gap:15px}}
@media(prefers-reduced-motion:reduce){.cat-bounce{animation:none}}
