:root{--ink: #2a1c2e;--paper: #fff7df;--cream: #fffdf3;--peach: #ff9f7d;--rose: #ff5d8f;--mint: #55c6a9;--gold: #f7c948;--sky: #7cc7ff;--leaf: #72bf5b;--plum: #5b3f6b;--line: #2a1c2e;--shadow: 6px 6px 0 #2a1c2e;color:var(--ink);font-family:Trebuchet MS,Verdana,sans-serif;background:linear-gradient(90deg,rgba(42,28,46,.06) 1px,transparent 1px),linear-gradient(rgba(42,28,46,.06) 1px,transparent 1px),linear-gradient(135deg,#ffe6b3,#fff0c8 44%,#d8f7ee);background-size:18px 18px,18px 18px,100% 100%}*{box-sizing:border-box}body{margin:0;min-width:320px}body:before{background:repeating-linear-gradient(0deg,rgba(255,255,255,.14) 0,rgba(255,255,255,.14) 1px,transparent 1px,transparent 5px);content:"";inset:0;pointer-events:none;position:fixed;z-index:0}button,input,a{font:inherit}button,a.primary-action{align-items:center;border:3px solid var(--line);box-shadow:4px 4px 0 var(--line);cursor:pointer;display:inline-flex;gap:8px;justify-content:center;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}button:hover,a.primary-action:hover{box-shadow:2px 2px 0 var(--line);filter:saturate(1.08);transform:translate(2px,2px)}button:disabled,.disabled{cursor:not-allowed;filter:grayscale(.8);opacity:.55;pointer-events:none}input{background:var(--cream);border:3px solid var(--line);border-radius:0;min-height:42px;padding:0 12px;width:100%}label{display:grid;gap:6px;font-size:.76rem;font-weight:900;text-transform:uppercase}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:0;line-height:1.03}.eyebrow{color:var(--rose);font-size:.74rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.loading,.login-shell{display:grid;min-height:100vh;padding:24px;place-items:center;position:relative;z-index:1}.login-panel{background:var(--paper);border:4px solid var(--line);box-shadow:var(--shadow);display:grid;gap:24px;grid-template-columns:1.1fr 330px;max-width:1010px;padding:clamp(20px,5vw,44px);width:100%}.login-panel h1{font-size:clamp(2.5rem,8vw,5.7rem);max-width:700px}.login-copy{font-size:1.05rem;line-height:1.6;margin-top:18px;max-width:560px}.login-actions{align-items:start;display:grid;gap:14px;grid-column:1 / -1}.setup-note{background:#dff8ff;border:3px solid var(--line);box-shadow:4px 4px 0 var(--line);font-weight:900;line-height:1.35;max-width:360px;padding:10px 12px}.primary-action{background:var(--mint);color:var(--ink);font-weight:900;min-height:52px;padding:0 18px;width:max-content}.dev-login,.inline-form{display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto}.duo-login{grid-template-columns:repeat(2,minmax(0,180px))}.inline-form{grid-template-columns:minmax(0,1fr) 86px 48px}.inline-form.compact{grid-template-columns:minmax(0,1fr) auto}.inline-form.wide{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 82px}.inline-form button,.dev-login button{background:var(--gold);min-height:42px;padding:0 12px}.kitten-scene{background:linear-gradient(90deg,rgba(255,255,255,.24) 12px,transparent 12px) 0 0 / 24px 24px,#9ee8d0;border:4px solid var(--line);box-shadow:5px 5px 0 var(--line);display:grid;height:278px;overflow:hidden;place-items:end center;position:relative}.kitten-scene p{background:var(--paper);border-top:3px solid var(--line);bottom:0;font-size:.72rem;font-weight:900;left:0;padding:8px;position:absolute;text-align:center;text-transform:uppercase;width:100%;z-index:5}.pixel-sun{animation:sunPulse 2.8s steps(2) infinite;background:var(--gold);box-shadow:4px 4px 0 var(--line);height:52px;position:absolute;right:24px;top:22px;width:52px}.floating-heart{animation:heartFloat 1.6s ease-in-out infinite;color:var(--rose);font-size:48px;font-weight:900;left:calc(50% - 20px);position:absolute;text-shadow:3px 3px 0 var(--line);top:42px;z-index:3}.spark{animation:blink 1.4s steps(2) infinite;color:var(--cream);font-size:26px;font-weight:900;position:absolute;text-shadow:2px 2px 0 var(--line)}.spark-a{left:32px;top:42px}.spark-b{right:86px;top:112px}.pixel-floor{background:linear-gradient(90deg,#6fc15d 12px,transparent 12px) 0 0 / 24px 18px,#4faa50;border-top:4px solid var(--line);height:58px;width:100%}.kitten{--fur: #ff9f7d;--fur-dark: #df735c;--belly: #fff1c7;animation:kittyBob 1.3s steps(2) infinite;bottom:50px;height:126px;position:absolute;width:88px;z-index:4}.kitten:hover{animation-duration:.72s}.kitten-morango{--fur: #ff8cab;--fur-dark: #d94d7b;--belly: #ffe0eb}.kitten-menta{--fur: #70d7b7;--fur-dark: #389b82;--belly: #dcfff3}.kitten-ceu{--fur: #83c9ff;--fur-dark: #417cbd;--belly: #e3f5ff}.kitten-mel{--fur: #ffc45c;--fur-dark: #c9871f;--belly: #fff1c7}.kitten-branco{--fur: #fffdf6;--fur-dark: #d7d3ca;--belly: #ffffff}.kitten-a{left:calc(50% - 86px)}.kitten-b{animation-delay:.18s;right:calc(50% - 86px)}.kitten span,.kitten i{display:block;position:absolute}.ear{background:var(--fur);border:3px solid var(--line);height:28px;top:4px;width:28px}.ear-left{left:14px;transform:rotate(45deg)}.ear-right{right:14px;transform:rotate(45deg)}.head{background:var(--fur);border:3px solid var(--line);height:58px;left:10px;top:22px;width:68px}.head:before,.head:after{background:var(--line);content:"";height:3px;position:absolute;top:35px;width:18px}.head:before{left:-10px;box-shadow:0 8px 0 var(--line)}.head:after{right:-10px;box-shadow:0 8px 0 var(--line)}.eye{background:var(--line);height:8px;top:18px;width:8px}.eye-left{left:15px}.eye-right{right:15px}.muzzle{background:var(--belly);border:2px solid var(--line);height:18px;left:24px;top:32px;width:20px}.muzzle:before{background:var(--line);content:"";height:4px;left:6px;position:absolute;top:4px;width:5px}.accessory{z-index:3}.accessory-flor{background:var(--rose);border:2px solid var(--line);height:15px;left:6px;top:-10px;width:15px}.accessory-flor:before,.accessory-flor:after{background:var(--gold);border:2px solid var(--line);content:"";height:11px;position:absolute;width:11px}.accessory-flor:before{left:-8px;top:2px}.accessory-flor:after{right:-8px;top:2px}.accessory-oculos{border-bottom:4px solid var(--line);height:15px;left:10px;top:15px;width:48px}.accessory-oculos:before,.accessory-oculos:after{background:#ffffff59;border:3px solid var(--line);content:"";height:14px;position:absolute;top:0;width:16px}.accessory-oculos:before{left:0}.accessory-oculos:after{right:0}.accessory-chapeu{background:var(--plum);border:3px solid var(--line);height:18px;left:17px;top:-15px;width:34px}.accessory-chapeu:after{background:var(--plum);border:3px solid var(--line);content:"";height:8px;left:-12px;position:absolute;top:13px;width:58px}.accessory-laco-branco{background:#fff;border:3px solid var(--line);height:18px;left:22px;top:-9px;width:24px}.accessory-laco-branco:before,.accessory-laco-branco:after{background:#fff;border:3px solid var(--line);content:"";height:18px;position:absolute;top:-3px;width:18px}.accessory-laco-branco:before{left:-19px}.accessory-laco-branco:after{right:-19px}.accessory-laco-rosa{animation:bowBounce 1.6s steps(2) infinite;background:#ff77a8;border:3px solid var(--line);height:18px;left:22px;top:-10px;width:24px}.accessory-laco-rosa:before,.accessory-laco-rosa:after{background:#ff77a8;border:3px solid var(--line);content:"";height:18px;position:absolute;top:-3px;width:18px}.accessory-laco-rosa:before{left:-19px}.accessory-laco-rosa:after{right:-19px}.body{background:var(--fur);border:3px solid var(--line);height:52px;left:15px;top:74px;width:58px}.body:after{background:var(--belly);border:2px solid var(--line);content:"";height:25px;left:15px;position:absolute;top:13px;width:22px}.suit-front{background:var(--plum);border:3px solid var(--line);height:42px;left:21px;top:80px;width:46px;z-index:2}.suit-front:after{background:var(--rose);border-left:3px solid var(--line);border-right:3px solid var(--line);content:"";height:24px;left:18px;position:absolute;top:6px;width:8px}.tail{animation:tailWag 1.1s steps(3) infinite;background:var(--fur-dark);border:3px solid var(--line);height:46px;right:0;top:74px;transform:rotate(18deg);transform-origin:bottom center;width:17px}.paw{background:var(--fur-dark);border:3px solid var(--line);height:18px;top:112px;width:24px}.paw-left{left:16px}.paw-right{right:16px}.kitten-badge{--fur: #ff9f7d;align-items:center;background:var(--fur);border:3px solid var(--line);box-shadow:3px 3px 0 var(--line);display:inline-grid;flex:0 0 auto;height:42px;place-items:center;position:relative;width:42px}.kitten-badge:before,.kitten-badge:after{background:var(--fur);border:3px solid var(--line);content:"";height:13px;position:absolute;top:-10px;transform:rotate(45deg);width:13px;z-index:-1}.kitten-badge:before{left:4px}.kitten-badge:after{right:4px}.kitten-badge span{background:var(--belly);border:2px solid var(--line);display:grid;font-size:.78rem;font-weight:900;height:22px;place-items:center;width:22px}.kitten-badge-white-cat span{background:#fff;font-size:.98rem;line-height:1}.app-shell{margin:0 auto;max-width:1240px;padding:24px;position:relative;z-index:1}.topbar,.hero-band,.panel,.goal-card{background:var(--paper);border:4px solid var(--line);box-shadow:var(--shadow)}.topbar{align-items:center;display:flex;gap:16px;justify-content:space-between;padding:18px}.topbar-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.topbar h1{font-size:clamp(1.55rem,4vw,3rem)}.tabs{background:#fbd8df;border:3px solid var(--line);display:flex;gap:6px;padding:6px}.tabs button{background:var(--cream);box-shadow:none;min-height:38px;padding:0 12px}.tabs button.active{background:var(--mint);box-shadow:3px 3px 0 var(--line);transform:translate(-1px,-1px)}.edit-toggle{background:var(--cream);min-height:56px;padding:0 14px}.edit-toggle.active{background:var(--gold);box-shadow:3px 3px 0 var(--line),inset 0 0 0 4px #fff0a8}.ghost-action,.icon-button{background:var(--cream);min-height:44px;padding:0 14px}.hero-band{align-items:stretch;display:grid;gap:24px;grid-template-columns:330px minmax(0,1fr);margin-top:22px;padding:18px}.hero-copy{align-content:center;display:grid;gap:18px}.hero-copy h2{font-size:clamp(2rem,5vw,4.15rem);max-width:760px}.stats{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.stats.vertical{grid-template-columns:1fr}.stat{align-items:center;background:var(--cream);border:3px solid var(--line);display:grid;gap:4px;min-height:86px;padding:10px}.stat-button{box-shadow:none;text-align:left;width:100%}.stat-button:hover{box-shadow:2px 2px 0 var(--line)}.stat.gold{background:#fff0a8}.stat.fish{background:#dff8ff}.stat.warm{background:#ffd2b7}.stat span{font-size:.72rem;font-weight:900;text-transform:uppercase}.stat strong{transition:transform .16s ease;font-size:1.7rem}.stat:hover strong{transform:translateY(-2px)}.grid{display:grid;gap:22px;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);margin-top:22px}.rhythm-grid{display:grid;gap:22px;grid-template-columns:minmax(0,1.2fr) minmax(310px,.8fr);margin-top:22px}.personal-grid,.account-grid{margin-top:22px}.account-grid{display:grid;gap:22px;grid-template-columns:minmax(0,1fr) minmax(320px,.52fr)}.panel{animation:riseIn .26s ease both;padding:18px}.side-stack{display:grid;gap:22px}.panel-title{align-items:center;display:flex;gap:14px;justify-content:space-between;margin-bottom:16px}.panel-title h2{font-size:1.7rem}.goal-list,.voucher-list,.task-list,.members,.fact-list,.ranking-list{display:grid;gap:12px}.calendar-panel{overflow:hidden}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{gap:6px;margin-bottom:8px}.calendar-weekdays span{color:var(--plum);font-size:.72rem;font-weight:900;text-align:center;text-transform:uppercase}.calendar-grid{gap:6px}.calendar-day{background:var(--cream);border:3px solid var(--line);min-height:84px;overflow:hidden;padding:7px;position:relative}.calendar-day:after{background:var(--mint);content:"";height:5px;left:0;opacity:0;position:absolute;right:0;top:0}.calendar-day.has-log:after{opacity:1}.calendar-day.today{background:#fff0a8;box-shadow:inset 0 0 0 4px #ffb1c7}.calendar-day.outside{opacity:.42}.calendar-day strong{display:block;font-size:.95rem;line-height:1;margin-bottom:6px}.calendar-tags{display:flex;flex-wrap:wrap;gap:4px}.calendar-tag{border:2px solid var(--line);box-shadow:2px 2px 0 var(--line);display:inline-block;font-size:.6rem;font-weight:900;line-height:1.15;max-width:100%;overflow:hidden;padding:3px 5px;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.calendar-tag.member-adriano{border-left-width:7px;border-left-color:var(--sky)}.calendar-tag.member-alexia{border-left-width:7px;border-left-color:var(--rose)}.tag-gym{background:#dff8ff}.tag-cardio{background:#dcfff3}.tag-horn{background:#ffd2b7}.tag-heart{background:#fbd8df}.tag-other{background:var(--paper)}.week-chip{background:#dff8ff;border:3px solid var(--line);box-shadow:3px 3px 0 var(--line);display:inline-block;font-size:.76rem;font-weight:900;margin-bottom:14px;padding:7px 10px;text-transform:uppercase}.frequency-card{background:var(--cream);border:3px solid var(--line);display:grid;gap:12px;padding:12px;position:relative}.frequency-card.member-adriano:before,.frequency-card.member-alexia:before{content:"";inset:0 auto 0 0;position:absolute;width:8px}.frequency-card.member-adriano:before{background:var(--sky)}.frequency-card.member-alexia:before{background:var(--rose)}.rank-head{align-items:center;display:flex;gap:10px;padding-left:4px}.rank-head p{color:var(--plum);font-size:.76rem;font-weight:900;margin-top:2px;text-transform:uppercase}.rank-badge{align-items:center;background:var(--gold);border:3px solid var(--line);box-shadow:2px 2px 0 var(--line);display:grid;font-size:.78rem;font-weight:900;height:34px;place-items:center;width:34px}.progress-track{background:#eadfc3;border:3px solid var(--line);height:18px;overflow:hidden}.progress-track span{background:linear-gradient(90deg,rgba(255,255,255,.26) 8px,transparent 8px) 0 0 / 16px 16px,var(--mint);display:block;height:100%;transition:width .24s steps(4)}.frequency-numbers{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.frequency-numbers span{background:var(--paper);border:2px solid var(--line);font-size:.72rem;font-weight:900;padding:4px 6px;text-transform:uppercase}.goal-card{box-shadow:4px 4px 0 var(--line);overflow:hidden;padding:14px;position:relative}.goal-card:before{background:var(--gold);border-bottom:3px solid var(--line);content:"";height:7px;left:0;position:absolute;right:0;top:0}.personal-panel .goal-card:before{background:var(--sky)}.goal-heading{align-items:start;display:flex;gap:10px;margin-top:8px}.goal-copy{flex:1;min-width:0}.goal-heading p{line-height:1.5;margin-top:4px}.task-list{margin:14px 0}.task-row,.voucher{background:var(--cream);display:grid;grid-template-columns:24px minmax(0,1fr) auto auto;min-height:50px;padding:0 12px;text-align:left;width:100%}.task-row:hover svg,.voucher:hover svg{animation:wiggle .36s steps(2)}.task-row:active,.voucher:active{filter:brightness(1.03) saturate(1.12)}.task-row small{background:#fbd8df;border:2px solid var(--line);font-size:.72rem;font-weight:900;padding:2px 6px}.task-row strong,.voucher strong{color:var(--rose);min-width:34px;text-align:right}.editable-row{align-items:stretch;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto}.editable-row.play-mode{grid-template-columns:1fr}.row-actions{align-items:center;display:flex;gap:6px}.goal-actions{margin-left:auto}.mini-action{background:var(--cream);min-height:42px;padding:0;width:42px}.mini-action.save{background:var(--mint)}.mini-action.danger{background:#ffb1c7}.edit-form{animation:popIn .18s ease both;background:#fff0a8;border:3px solid var(--line);display:grid;gap:8px;grid-column:1 / -1;grid-template-columns:minmax(0,1fr) minmax(0,1fr) repeat(3,42px);margin-top:10px;padding:10px}.task-edit-form,.voucher-edit-form{grid-template-columns:minmax(0,1fr) 88px 88px repeat(3,42px);margin-top:0}.voucher{background:#dff8ff;grid-template-columns:24px minmax(0,1fr) auto}.shop-wallets{display:grid;gap:12px;grid-template-columns:1fr;margin-bottom:14px}.member-wallet{background:var(--cream);border:3px solid var(--line);display:grid;gap:10px;padding:10px;position:relative}.member-wallet.current{background:#fff0a8;box-shadow:inset 0 0 0 4px #ffffff6b}.member-wallet.current:before{background:var(--rose);content:"";inset:0 auto 0 0;position:absolute;width:7px}.member-wallet-head{align-items:center;display:flex;gap:10px;min-width:0}.member-wallet-head>div{min-width:0}.member-wallet-head strong{display:block;overflow-wrap:anywhere}.member-wallet-head p{color:var(--plum);font-size:.62rem;font-weight:900;margin-top:2px;text-transform:uppercase}.wallet-stats{display:grid;gap:7px;grid-template-columns:repeat(3,minmax(0,1fr))}.wallet-stats span{align-items:center;background:var(--cream);border:3px solid var(--line);display:grid;font-size:.72rem;font-weight:900;gap:1px 6px;grid-template-columns:17px minmax(0,1fr);min-height:50px;padding:6px;text-transform:uppercase}.wallet-stats svg{grid-row:1 / span 2}.wallet-stats strong{font-size:1.02rem;line-height:1}.wallet-stats small{font-size:.58rem;line-height:1;overflow-wrap:anywhere}.member-wallet.current .wallet-stats span{background:var(--paper)}.owned-vouchers{display:grid;gap:8px}.owned-voucher{align-items:center;background:#dff8ff;border:3px solid var(--line);display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto;padding:8px}.owned-voucher strong{display:block;overflow-wrap:anywhere}.owned-voucher p,.wallet-history p,.wallet-empty{color:var(--plum);font-size:.72rem;font-weight:900;line-height:1.35;margin-top:2px;text-transform:uppercase}.consume-voucher{background:var(--mint);min-height:38px;padding:0 9px}.wallet-empty{background:var(--paper);border:2px dashed var(--line);color:var(--ink);margin:0;padding:8px}.wallet-history{background:#fbd8df;border:3px solid var(--line);padding:8px}.wallet-history>strong{display:block;font-size:.82rem}.shop-card{background:#dff8ff;border:3px solid var(--line);display:grid;gap:10px;grid-template-columns:minmax(0,1fr);padding:12px}.shop-card-main{align-items:center;display:flex;gap:10px;min-width:0}.shop-card-main strong{display:block;font-size:1.05rem;overflow-wrap:anywhere}.shop-card-main p{color:var(--plum);font-size:.72rem;font-weight:900;margin-top:2px;text-transform:uppercase}.voucher-icon{align-items:center;background:var(--paper);border:3px solid var(--line);box-shadow:2px 2px 0 var(--line);display:grid;flex:0 0 auto;height:42px;place-items:center;width:42px}.shop-buy-actions{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.voucher-buy{min-height:44px;padding:0 10px}.coin-buy{background:#fff0a8}.fish-buy{background:#b8f0de}.shop-edit-actions{justify-content:flex-end}.voucher-create-form{grid-template-columns:minmax(0,1fr) 82px 92px 48px;margin-top:14px}.watchlist-shell{display:grid;gap:22px;margin-top:22px}.watch-hero{align-items:end;background:linear-gradient(90deg,rgba(255,255,255,.28) 12px,transparent 12px) 0 0 / 24px 24px,var(--paper);display:grid;gap:18px;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);overflow:hidden;position:relative}.watch-hero:after{background:var(--rose);border:3px solid var(--line);box-shadow:3px 3px 0 var(--line);content:"";height:16px;position:absolute;right:18px;top:18px;width:16px}.watch-hero h2{font-size:clamp(2rem,4vw,3.5rem);max-width:560px}.watch-add-form{align-items:end;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto auto}.type-toggle{background:#fbd8df;border:3px solid var(--line);display:grid;gap:6px;grid-template-columns:repeat(2,minmax(78px,1fr));padding:6px}.type-toggle.compact{min-width:196px}.type-toggle button{background:var(--cream);box-shadow:none;min-height:42px;padding:0 10px}.type-toggle button.active{background:#dff8ff;box-shadow:2px 2px 0 var(--line);transform:translate(-1px,-1px)}.watch-columns{display:grid;gap:22px;grid-template-columns:repeat(2,minmax(0,1fr))}.watch-section.pending{background:#fff0a8}.watch-section.done{background:#dcfff3}.watch-list{display:grid;gap:12px}.watch-card{animation:riseIn .22s ease both;background:var(--cream);border:3px solid var(--line);display:grid;gap:12px;padding:12px;position:relative}.watch-card:before{background:var(--gold);content:"";inset:0 auto 0 0;position:absolute;width:7px}.watch-card.seen{background:#f5fff0}.watch-card.seen:before{background:var(--mint)}.watch-card-main{align-items:center;display:flex;gap:10px;min-width:0;padding-left:4px}.watch-icon{align-items:center;background:#fff0a8;border:3px solid var(--line);box-shadow:2px 2px 0 var(--line);display:grid;flex:0 0 auto;height:44px;place-items:center;width:44px}.watch-icon.serie{background:#dff8ff}.watch-copy{min-width:0}.watch-copy strong{display:block;font-size:1.08rem;overflow-wrap:anywhere}.watch-copy p{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.watch-copy p span{background:var(--paper);border:2px solid var(--line);font-size:.68rem;font-weight:900;padding:3px 5px;text-transform:uppercase}.watch-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.watch-status{background:var(--mint);min-height:42px;padding:0 12px}.watch-status.undo{background:#fbd8df}.watch-edit-form{animation:popIn .18s ease both;background:#fff0a8;border:3px solid var(--line);display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto auto;padding:10px}.watch-edit-actions{justify-content:flex-end}.watch-empty{background:var(--cream);border:3px dashed var(--line);font-weight:900;line-height:1.45;padding:14px}.recipes-shell{display:grid;gap:22px;margin-top:22px}.recipes-hero{align-items:end;background:linear-gradient(90deg,rgba(255,255,255,.24) 12px,transparent 12px) 0 0 / 24px 24px,#dcfff3;display:grid;gap:18px;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);overflow:hidden;position:relative}.recipes-hero:after{background:var(--gold);border:3px solid var(--line);box-shadow:3px 3px 0 var(--line);content:"";height:18px;position:absolute;right:18px;top:18px;width:18px}.recipes-hero h2{font-size:clamp(2rem,4vw,3.5rem);max-width:560px}.recipe-add-form{align-items:end;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) minmax(260px,auto) auto}.cook-toggle{background:#fbd8df;border:3px solid var(--line);display:grid;gap:6px;grid-template-columns:repeat(3,minmax(78px,1fr));padding:6px}.cook-toggle.compact{min-width:290px}.cook-toggle button{background:var(--cream);box-shadow:none;min-height:48px;padding:0 8px}.cook-toggle .kitten-badge{box-shadow:2px 2px 0 var(--line);height:30px;width:30px}.cook-toggle .kitten-badge:before,.cook-toggle .kitten-badge:after{height:9px;top:-8px;width:9px}.cook-toggle .kitten-badge span{font-size:.66rem;height:16px;width:16px}.cook-toggle .kitten-badge-white-cat span{font-size:.78rem}.cook-toggle button.active{background:#fff0a8;box-shadow:2px 2px 0 var(--line);transform:translate(-1px,-1px)}.recipe-list-panel{background:var(--paper)}.recipe-list{display:grid;gap:12px}.recipe-card{animation:riseIn .22s ease both;background:var(--cream);border:3px solid var(--line);display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto auto;padding:12px;position:relative}.recipe-card:before{background:var(--mint);content:"";inset:0 auto 0 0;position:absolute;width:7px}.recipe-card-main{align-items:center;display:flex;gap:10px;min-width:0;padding-left:4px}.recipe-icon{align-items:center;background:#fff0a8;border:3px solid var(--line);box-shadow:2px 2px 0 var(--line);display:grid;flex:0 0 auto;height:44px;place-items:center;width:44px}.recipe-copy{min-width:0}.recipe-copy strong{display:block;font-size:1.08rem;overflow-wrap:anywhere}.recipe-copy p{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.recipe-copy p span,.recipe-cook-badge>span,.duo-cook{background:var(--paper);border:2px solid var(--line);font-size:.68rem;font-weight:900;padding:3px 5px;text-transform:uppercase}.recipe-cook-badge,.recipe-cook-badge>span,.duo-cook{align-items:center;display:flex;gap:6px}.recipe-cook-badge .kitten-badge{box-shadow:none;height:28px;width:28px}.recipe-cook-badge .kitten-badge:before,.recipe-cook-badge .kitten-badge:after{height:8px;top:-7px;width:8px}.recipe-cook-badge .kitten-badge span{font-size:.6rem;height:15px;width:15px}.recipe-actions,.recipe-edit-actions{justify-content:flex-end}.recipe-edit-form{animation:popIn .18s ease both;background:#fff0a8;border:3px solid var(--line);display:grid;gap:8px;grid-column:1 / -1;grid-template-columns:minmax(0,1fr) auto auto;padding:10px}.recipe-empty{background:var(--cream);border:3px dashed var(--line);font-weight:900;line-height:1.45;padding:14px}.places-shell{display:grid;gap:22px;margin-top:22px}.places-hero{align-items:start;background:linear-gradient(90deg,rgba(255,255,255,.26) 12px,transparent 12px) 0 0 / 24px 24px,#dff8ff;display:grid;gap:18px;grid-template-columns:minmax(0,.56fr) minmax(0,1.44fr);overflow:hidden;position:relative}.places-hero:after{background:var(--mint);border:3px solid var(--line);box-shadow:3px 3px 0 var(--line);content:"";height:18px;position:absolute;right:18px;top:18px;width:18px}.places-hero h2{font-size:clamp(2rem,4vw,3.5rem);max-width:560px}.place-add-form{display:grid;gap:10px}.place-main-fields,.place-date-window{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.place-category-toggle,.place-date-modes{background:#fbd8df;border:3px solid var(--line);display:grid;gap:6px;padding:6px}.place-category-toggle{grid-template-columns:repeat(3,minmax(0,1fr))}.place-category-toggle.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.place-date-modes{grid-template-columns:repeat(5,minmax(0,1fr))}.place-category-toggle button,.place-date-modes button{background:var(--cream);box-shadow:none;min-height:42px;padding:0 8px}.place-category-toggle button.active,.place-date-modes button.active{background:#fff0a8;box-shadow:2px 2px 0 var(--line);transform:translate(-1px,-1px)}.place-date-fields{display:grid;gap:10px}.place-category-grid{display:grid;gap:22px;grid-template-columns:repeat(2,minmax(0,1fr))}.place-category-panel{background:var(--paper)}.place-list{display:grid;gap:12px}.place-card{animation:riseIn .22s ease both;background:var(--cream);border:3px solid var(--line);display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;padding:12px;position:relative}.place-card:before{background:var(--mint);content:"";inset:0 auto 0 0;position:absolute;width:7px}.place-comida .place-card:before,.place-card.place-comida:before{background:var(--rose)}.place-cafe .place-card:before,.place-card.place-cafe:before{background:var(--gold)}.place-viagem .place-card:before,.place-card.place-viagem:before{background:var(--sky)}.place-evento .place-card:before,.place-card.place-evento:before{background:var(--peach)}.place-card-main{align-items:center;display:flex;gap:10px;min-width:0;padding-left:4px}.place-icon{align-items:center;background:#fff0a8;border:3px solid var(--line);box-shadow:2px 2px 0 var(--line);display:grid;flex:0 0 auto;height:44px;place-items:center;width:44px}.place-copy{min-width:0}.place-copy strong{display:block;font-size:1.08rem;overflow-wrap:anywhere}.place-copy p{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.place-copy p span{background:var(--paper);border:2px solid var(--line);font-size:.68rem;font-weight:900;padding:3px 5px;text-transform:uppercase}.place-actions,.place-edit-actions{justify-content:flex-end}.place-edit-form{animation:popIn .18s ease both;background:#fff0a8;border:3px solid var(--line);display:grid;gap:8px;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px}.place-edit-form .place-category-toggle,.place-edit-form .place-date-fields,.place-edit-form .place-edit-actions{grid-column:1 / -1}.place-empty{background:var(--cream);border:3px dashed var(--line);font-weight:900;line-height:1.45;padding:12px}.members{grid-template-columns:repeat(2,minmax(0,1fr))}.member{align-items:center;background:var(--cream);border:3px solid var(--line);display:flex;gap:12px;min-height:68px;padding:10px}.member p{font-size:.78rem;line-height:1.25;margin-top:2px}.feed-item,.empty{border-top:3px solid rgba(42,28,46,.16);line-height:1.45;padding:10px 0}.feed-item{animation:feedPop .22s ease both}.account-card{display:grid;gap:18px;grid-template-columns:170px minmax(0,1fr)}.account-card h2{font-size:clamp(1.9rem,5vw,3.2rem)}.account-avatar{background:#b8f0de;border:4px solid var(--line);display:grid;height:170px;overflow:hidden;place-items:center;position:relative}.account-avatar .kitten{animation:kittyBob 1.3s steps(2) infinite;inset:14px auto auto;position:relative;transform:scale(1.06)}.account-form{display:grid;gap:14px;grid-column:1 / -1}.color-picker{display:grid;gap:10px}.color-picker>span{align-items:center;display:flex;gap:7px;font-size:.76rem;font-weight:900;text-transform:uppercase}.color-picker>div{display:flex;flex-wrap:wrap;gap:10px}.swatch{--fur: #ff9f7d;background:var(--fur);height:46px;padding:0;width:46px}.swatch.active{box-shadow:2px 2px 0 var(--line),inset 0 0 0 5px var(--cream);transform:translate(2px,2px)}.accessory-choice{background:var(--cream);min-height:42px;padding:0 10px}.accessory-choice.active{background:var(--mint);box-shadow:2px 2px 0 var(--line);transform:translate(2px,2px)}.fact-list>div{background:var(--cream);border:3px solid var(--line);display:grid;gap:3px;padding:12px}.fact-list span{color:var(--plum);font-size:.72rem;font-weight:900;text-transform:uppercase}.fact-list strong{font-size:1.15rem}.logout-big{margin-top:14px;width:100%}.toast{animation:toastIn .18s ease both;background:var(--rose);border:3px solid var(--line);bottom:18px;box-shadow:4px 4px 0 var(--line);color:var(--cream);font-weight:900;left:50%;max-width:min(520px,calc(100vw - 24px));padding:12px 16px;position:fixed;transform:translate(-50%);z-index:20}.pop-in{animation:popIn .3s ease both}@keyframes kittyBob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes tailWag{0%,to{transform:rotate(15deg)}50%{transform:rotate(25deg)}}@keyframes bowBounce{50%{transform:translateY(-2px)}}@keyframes heartFloat{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-10px) scale(1.08)}}@keyframes sunPulse{50%{transform:translate(2px,2px)}}@keyframes blink{50%{opacity:.2}}@keyframes wiggle{0%,to{transform:rotate(0)}50%{transform:rotate(-10deg)}}@keyframes riseIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.98) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@keyframes feedPop{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}@media(max-width:940px){.login-panel,.hero-band,.rhythm-grid,.grid,.watch-hero,.watch-columns,.recipes-hero,.recipe-add-form,.recipe-card,.recipe-edit-form,.places-hero,.place-main-fields,.place-date-window,.place-category-grid,.place-card,.place-edit-form,.account-grid{grid-template-columns:1fr}.kitten-scene{min-height:250px}.stats,.members,.shop-wallets{grid-template-columns:1fr}.topbar,.topbar-actions{align-items:stretch;flex-direction:column}.tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.edit-toggle{width:100%}.inline-form,.inline-form.wide,.inline-form.compact,.watch-add-form,.watch-edit-form,.recipe-add-form,.recipe-edit-form,.place-add-form,.place-edit-form,.edit-form,.task-edit-form,.voucher-edit-form,.dev-login{grid-template-columns:1fr}.type-toggle.compact,.cook-toggle.compact{min-width:0}.place-date-modes{grid-template-columns:repeat(3,minmax(0,1fr))}.editable-row{grid-template-columns:1fr}.row-actions{justify-content:flex-end}.account-card{grid-template-columns:1fr}.account-avatar{max-width:230px}}@media(max-width:540px){.app-shell,.login-shell{padding:14px}.tabs button{font-size:.82rem;padding:0 6px}.tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.task-row{grid-template-columns:24px minmax(0,1fr) auto}.watch-actions{align-items:stretch;flex-direction:column}.watch-status,.watch-actions .row-actions{width:100%}.watch-actions .row-actions{justify-content:flex-end}.wallet-stats,.owned-voucher,.cook-toggle,.place-category-toggle,.place-category-toggle.compact,.place-date-modes{grid-template-columns:1fr}.calendar-grid{gap:4px}.calendar-day{min-height:64px;padding:5px}.calendar-tag{font-size:.52rem;max-width:44px;padding:2px 3px}.task-row strong{grid-column:2 / -1;text-align:left}}
