@import "https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600;700&family=Nunito:wght@400;500;600;700;800&family=Caveat:wght@400;600;700&display=swap";:root{--green-900:#0d2818;--green-800:#14532d;--green-700:#166534;--green-600:#16a34a;--green-400:#4ade80;--green-100:#dcfce7;--amber-500:#f59e0b;--amber-400:#fbbf24;--amber-100:#fef3c7;--sand-50:#fafaf7;--sand-100:#f5f5f0;--sand-200:#e8e8e0;--sand-400:#a8a89a;--sand-600:#6b6b5d;--sand-900:#1c1c14;--danger:#dc2626;--danger-light:#fee2e2;--radius:12px;--radius-lg:20px;--shadow:0 2px 8px #00000014;--shadow-md:0 4px 16px #0000001f;--shadow-lg:0 8px 32px #00000029;color:var(--sand-900);background:var(--sand-50);--ad-rail-w:0px;--nb-side:16px;--nb-paper:#fdf6e2;--nb-line:#e0cdb4;--nb-border:#3d342e;--nb-tan:#c4a882;--nb-tan-dk:#d4c5a9;--nb-margin:#f5a6a6;--nb-margin-x:56px;--header-h:52px;--spiral-h:52px;--nb-top-gap:48px;--nav-bottom:80px;font-family:Nunito,sans-serif;font-size:16px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh}.auth-page{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}@media (width<=768px){.auth-page{grid-template-columns:1fr}.auth-left{display:none}}.auth-left{background:var(--green-900);justify-content:center;align-items:center;padding:3rem;display:flex}.auth-hero{color:#fff;text-align:center}.hero-pet{margin-bottom:1rem;font-size:4rem}.hero-title{color:var(--green-400);margin-bottom:.5rem;font-family:Fredoka,sans-serif;font-size:3.5rem}.hero-sub{color:var(--green-100);margin-bottom:1rem;font-size:1.25rem;font-style:italic}.hero-desc{color:#ffffffb3;margin-bottom:2rem;line-height:1.7}.hero-stats{justify-content:center;gap:1.5rem;display:flex}.stat{flex-direction:column;align-items:center;gap:.25rem;display:flex}.stat-val{font-size:1.5rem}.stat-lbl{color:#ffffff80;text-transform:uppercase;letter-spacing:.05em;font-size:1rem}.auth-right{background:var(--sand-50);justify-content:center;align-items:center;padding:2rem;display:flex}.auth-card{border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-lg);background:#fff;padding:2.5rem}.auth-tabs{border-bottom:2px solid var(--sand-200);gap:0;margin-bottom:2rem;display:flex}.auth-tab{color:var(--sand-600);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-2px;padding:.75rem;font-family:Nunito,sans-serif;font-size:1rem;font-weight:500;transition:all .2s}.auth-tab--active{color:var(--green-700);border-bottom-color:var(--green-600)}.auth-form{flex-direction:column;gap:1.25rem;display:flex}.field{flex-direction:column;gap:.4rem;display:flex}.field label{color:var(--sand-600);text-transform:uppercase;letter-spacing:.04em;font-size:1rem;font-weight:600}.field input{border:1.5px solid var(--sand-200);border-radius:var(--radius);background:var(--sand-50);outline:none;padding:.75rem 1rem;font-family:Nunito,sans-serif;font-size:1rem;transition:border-color .2s}.field input:focus{border-color:var(--green-600);background:#fff}.auth-error{background:var(--danger-light);color:var(--danger);border-radius:var(--radius);padding:.75rem 1rem;font-size:1rem}.auth-consent{color:var(--text-secondary);cursor:pointer;align-items:flex-start;gap:.5rem;font-size:1rem;line-height:1.5;display:flex}.auth-consent input[type=checkbox]{width:16px;height:16px;accent-color:var(--green-700);cursor:pointer;flex-shrink:0;margin-top:.2rem}.auth-consent a{color:var(--green-700);text-decoration:underline}.auth-legal{text-align:center;color:var(--text-secondary);margin-top:1rem;font-size:1rem}.auth-legal a{color:var(--text-secondary);text-decoration:underline}.btn-primary{background:var(--green-700);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;width:100%;padding:.875rem;font-family:Nunito,sans-serif;font-size:1rem;font-weight:600;transition:background .2s,transform .1s}.btn-primary:hover{background:var(--green-800)}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{color:var(--green-700);border:1.5px solid var(--green-600);border-radius:var(--radius);cursor:pointer;background:#fff;padding:.75rem 1.5rem;font-family:Nunito,sans-serif;font-size:1rem;font-weight:500;transition:all .2s}.btn-secondary:hover{background:var(--green-100)}.btn-ghost{color:var(--sand-600);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.5rem 1rem;font-family:Nunito,sans-serif;font-size:1rem;transition:background .2s}.btn-ghost:hover{background:var(--sand-100)}.btn-sm{padding:.3rem .7rem;font-size:1rem}.modal-backdrop{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{border-radius:var(--radius-lg);width:100%;max-width:380px;box-shadow:var(--shadow-lg);background:#fff;padding:2rem}.modal-title{margin-bottom:1.25rem;font-size:1.1rem;font-weight:600}.modal-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.form-group{margin-bottom:1rem}.form-label{color:var(--sand-600);margin-bottom:.4rem;font-size:1rem;font-weight:500;display:block}.form-input{border:1.5px solid var(--sand-200);border-radius:8px;outline:none;width:100%;padding:.6rem .75rem;font-family:Nunito,sans-serif;font-size:1rem;transition:border-color .15s}.form-input:focus{border-color:var(--green-600)}.species-picker{gap:.5rem;display:flex}.species-btn{border:1.5px solid var(--sand-200);cursor:pointer;background:#fff;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:.2rem;padding:.6rem .25rem;transition:border-color .15s,background .15s;display:flex}.species-btn:hover{border-color:var(--green-600);background:var(--sand-50)}.species-btn--active{border-color:var(--green-600);background:var(--green-100)}.species-emoji{font-size:1.5rem}.species-label{color:var(--sand-600);font-size:1rem}.design-picker{grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}.design-btn{border:1.5px solid var(--sand-200);cursor:pointer;background:#fff;border-radius:10px;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem .25rem;transition:border-color .15s,background .15s;display:flex}.design-btn:hover{border-color:var(--green-600);background:var(--sand-50)}.design-btn--active{border-color:var(--green-600);background:var(--green-100)}.design-btn-img{object-fit:contain;width:56px;height:56px;image-rendering:pixelated;image-rendering:crisp-edges}.design-btn-label{color:var(--sand-600);text-align:center;font-size:1rem}.pet-profile-right{flex-direction:column;align-items:flex-end;gap:.4rem;display:flex}.app{flex-direction:column;min-height:100vh;display:flex}.header{background:#fff;border-bottom:1px solid #ede3dc;flex-shrink:0;align-items:center;height:52px;padding:0 1.25rem;display:flex}.header-inner{justify-content:space-between;align-items:center;width:100%;max-width:1100px;margin:0 auto;display:flex}.logo{align-items:center;gap:.5rem;display:flex}.logo-btn{cursor:pointer;background:0 0;border:none;padding:0}.logo-icon{font-size:1.2rem}.logo-text{color:#7c5c4e;letter-spacing:.01em;font-family:Fredoka,sans-serif;font-size:1.35rem;font-weight:600}.header-right{align-items:center;gap:.75rem;display:flex}.user-name{color:#b8a99a;font-size:1rem}.user-name-btn{cursor:pointer;color:#b8a99a;background:0 0;border:none;border-radius:6px;padding:.25rem .5rem;font-family:Nunito,sans-serif;font-size:1rem;font-weight:600;transition:background .15s,color .15s}.user-name-btn:hover{color:#3d342e;background:#3d342e14}.tab-nav{z-index:200;background:var(--nb-paper,#fdf6e2);border:2.5px solid var(--nb-border,#3d342e);border-radius:14px;align-items:center;padding:6px 6px 5px;display:flex;position:fixed;bottom:10px;left:20vw;right:20vw;box-shadow:3px 3px #3d342e38}.tab-btn{cursor:pointer;color:#9c7b6e;letter-spacing:.01em;background:0 0;border:none;border-radius:9px;flex-direction:column;flex:1;align-items:center;gap:2px;min-width:0;padding:5px 4px;font-family:Nunito,sans-serif;font-size:1rem;font-weight:600;transition:background .15s,color .15s;display:flex;position:relative}.tab-btn:hover{color:#7c5c4e}.tab-btn--active{color:#3d342e;background:#e4d4b8}.tab-icon-wrap{flex-shrink:0;justify-content:center;align-items:center;width:36px;height:28px;display:flex}.tab-btn--active .tab-icon-wrap{background:0 0}.tab-label{white-space:nowrap;line-height:1}.tab-badge{background:var(--amber-500);color:#fff;text-align:center;border-radius:20px;min-width:1.2rem;padding:.1rem .4rem;font-family:Nunito,sans-serif;font-size:1rem;font-weight:700;position:absolute;top:2px;right:calc(50% - 24px)}.main-content{flex:1;width:100%;max-width:1100px;margin:2rem auto;padding:0 1.5rem calc(72px + 1.5rem)}.main-content--room{scrollbar-width:none;background:#f5e6d0;width:100%;max-width:none;margin:0;padding:0;position:fixed;inset:52px 0 60px;overflow:hidden}.main-content--room::-webkit-scrollbar{display:none}.room-scene{width:100%;height:100%;position:relative}.default-room{object-fit:cover;object-position:center 0%;width:100%;height:100%;display:block}@media (width<=768px) and (orientation:portrait){.main-content--room{-webkit-overflow-scrolling:touch;overflow:auto hidden}.main-content--room .room-scene{aspect-ratio:16/9;width:auto;min-width:100%;height:100%}.main-content--room .default-room{object-fit:fill;width:100%;height:100%}}.room-pet-placeholder{cursor:pointer;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 4px 8px #00000026);font-size:3rem;transition:transform .15s;animation:3s ease-in-out infinite pet-idle;position:absolute;bottom:20%;left:50%;transform:translate(-50%)}.room-pet-placeholder:hover{transform:translate(-50%)scale(1.1)}@keyframes pet-idle{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-6px)}}.room-fabs{z-index:10;flex-direction:column;gap:8px;display:flex;position:absolute;bottom:80px;right:14px}.room-fab{border:2px solid var(--nb-border,#3d342e);border-bottom:3px solid var(--nb-border,#3d342e);color:var(--nb-border,#3d342e);cursor:pointer;background:#fdf6e2eb;border-radius:10px;align-items:center;gap:5px;padding:7px 10px;font-family:Nunito,sans-serif;font-size:1rem;font-weight:700;transition:transform .1s;display:flex;box-shadow:0 3px 12px #00000026}.room-fab:hover{transform:translateY(-1px)}.room-fab:active{transform:translateY(1px)}.room-battery-pin-wrap{z-index:10;position:absolute;top:12px;right:14px}.rb-wrap{position:relative}.rb-pin{cursor:pointer;background:#fdf6e2f2;border:2px solid #3d342e;border-bottom-width:3px;border-radius:10px;align-items:center;gap:6px;padding:6px 10px;transition:transform .1s,opacity .3s;display:inline-flex;box-shadow:0 3px 12px #00000038}.rb-pin:hover{transform:translateY(-1px)}.rb-pin:active{transform:translateY(1px)scale(.97)}.rb-pin--ok{opacity:.72}.rb-pin--ok:hover{opacity:1}.rb-pin--low{border-color:#92400e #92400e #78350f}.rb-pin--urgent{background:#fff8e6f7;border-color:#92400e #92400e #78350f;animation:2s ease-in-out infinite rb-glow-urgent}.rb-pin--dead{background:#ffebebf7;border-color:#991b1b #991b1b #7f1d1d;animation:1.2s ease-in-out infinite rb-glow-dead}.rb-body{border:2px solid;border-radius:3px;flex-shrink:0;width:30px;height:15px;transition:border-color .4s;position:relative;overflow:hidden}.rb-fill{border-radius:1px;height:100%;transition:width .5s,background .4s;position:absolute;inset:0}.rb-nub{border-radius:0 2px 2px 0;flex-shrink:0;width:4px;height:8px;margin-left:1px;transition:background .4s}.rb-revive-label{letter-spacing:.02em;color:#991b1b;white-space:nowrap;font-size:1rem;font-weight:800;animation:1.6s ease-in-out infinite rb-revive-breathe}.rb-pin--urgent .rb-revive-label{color:#92400e}@keyframes rb-glow-urgent{0%,to{box-shadow:0 3px 12px #00000038,0 0 #f59e0b00}50%{box-shadow:0 3px 12px #00000038,0 0 10px #f59e0b99}}@keyframes rb-glow-dead{0%,to{box-shadow:0 3px 12px #00000038,0 0 #ef444400}50%{box-shadow:0 3px 12px #00000038,0 0 14px #ef4444bf}}@keyframes rb-revive-breathe{0%,to{opacity:1}50%{opacity:.4}}.rb-live-dot{background:#22c55e;border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:2.2s ease-in-out infinite rb-dot-live}@keyframes rb-dot-live{0%,to{opacity:1;box-shadow:0 0 #22c55e8c}50%{opacity:.6;box-shadow:0 0 0 4px #22c55e00}}.rb-popup{z-index:30;text-align:left;background:#fdf6e2fc;border:2px solid #3d342e;border-bottom-width:3px;border-radius:12px;width:230px;padding:12px 14px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 24px #00000038}.rb-popup-header{align-items:center;gap:6px;margin-bottom:8px;display:flex}.rb-popup-icon{font-size:1rem;line-height:1}.rb-popup-title{color:#2a231e;flex:1;font-size:1rem;font-weight:800}.rb-popup-close{cursor:pointer;color:#a08878;background:0 0;border:none;padding:0;font-size:1rem;line-height:1}.rb-popup-close:hover{color:#2a231e}.rb-popup-body{color:#5a4a3e;margin-bottom:8px;font-size:1rem;line-height:1.5}.rb-popup-status{border-radius:6px;margin-bottom:10px;padding:3px 8px;font-size:1rem;font-weight:700;display:inline-block}.rb-popup-status--ok{color:#15803d;background:#dcfce7}.rb-popup-status--dead{color:#991b1b;background:#fee2e2}.rb-popup-cta{color:#fdf6e2;cursor:pointer;text-align:center;background:#3d342e;border:none;border-radius:8px;width:100%;padding:.42rem .75rem;font-size:1rem;font-weight:700;transition:opacity .15s}.rb-popup-cta:hover{opacity:.85}.room-pet-stat-bubble{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20;pointer-events:none;background:#2a231edb;border:2px solid #ffffff2e;border-radius:14px;min-width:200px;padding:11px 16px;animation:.15s ease-out bubble-in;position:absolute;bottom:calc(10% + 80px);left:50%;transform:translate(-50%)}@keyframes bubble-in{0%{opacity:0;transform:translate(-50%)translateY(6px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.room-pet-stat-bubble:after{content:"";border:7px solid #0000;border-top-color:#2a231edb;border-bottom:none;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)}.room-stat-row{align-items:center;gap:7px;margin-bottom:6px;display:flex}.room-stat-row:last-child{margin-bottom:0}.room-stat-icon{text-align:center;width:16px;font-size:1rem}.room-stat-bar-track{background:#ffffff2e;border-radius:4px;flex:1;height:7px;overflow:hidden}.room-stat-bar-fill{border-radius:4px;height:100%;transition:width .4s}.room-stat-bar-fill--happy{background:#ec4899}.room-stat-bar-fill--clean{background:#10b981}.room-stat-bar-fill--hunger{background:#f59e0b}.room-stat-value{color:#ffffffd9;text-align:right;width:24px;font-family:Nunito,sans-serif;font-size:1rem;font-weight:600}@media (width<=768px) and (orientation:portrait){.room-pet-placeholder,.room-pet-stat-bubble{left:25%}}.phc{border:2.5px solid var(--nb-border,#3d342e);z-index:8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fdf6e2ed;border-radius:12px;padding:10px 14px 9px;position:fixed;bottom:74px;left:20vw;right:20vw}@media (width>=700px){.phc{bottom:78px;left:calc(.6 * var(--ad-rail-w,0px) + 20vw);right:calc(.6 * var(--ad-rail-w,0px) + 20vw)}}.phc-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.phc-pet-name{color:var(--nb-border,#3d342e);white-space:nowrap;font-family:Fredoka,sans-serif;font-size:1rem;font-weight:600}.phc-countdown{color:#7a6a58;white-space:nowrap;font-size:1rem}.phc-delta--gain{color:#10b981;font-weight:700}.phc-delta--loss{color:#ef4444;font-weight:700}.phc-stats{flex-direction:column;gap:5px;display:flex}.phc-stat-row{align-items:center;gap:6px;display:flex}.phc-stat-emoji{text-align:center;flex-shrink:0;width:20px;font-size:1rem;line-height:1}.phc-stat-track{background:#3d342e24;border-radius:4px;flex:1;height:7px;overflow:hidden}.phc-stat-fill{border-radius:4px;height:100%;transition:width .4s}.phc-stat-value{color:var(--nb-border,#3d342e);text-align:right;flex-shrink:0;width:20px;font-size:1rem;font-weight:700}.phc-stat-delta{text-align:right;flex-shrink:0;width:28px;font-size:1rem;font-weight:700}.phc-stat-delta--gain{color:#10b981}.phc-stat-delta--loss{color:#ef4444}.pb-backdrop{z-index:9;position:fixed;inset:0}.pet-bubble{background:var(--nb-paper,#fdf6e2);border:2.5px solid var(--nb-border,#3d342e);z-index:10;border-radius:14px;width:330px;position:fixed;overflow:hidden;box-shadow:4px 4px #3d342e2e}.pb-header{border-bottom:1.5px solid #3d342e1f;justify-content:space-between;align-items:center;padding:10px 12px 8px;display:flex}.pb-name{color:var(--nb-border,#3d342e);font-family:Fredoka,sans-serif;font-size:1rem;font-weight:600}.pb-close{cursor:pointer;color:#9ca3af;background:0 0;border:none;padding:2px 4px;font-size:1rem;line-height:1}.pb-close:hover{color:var(--nb-border,#3d342e)}.pb-stats{border-bottom:1.5px solid #3d342e1f;flex-direction:column;gap:5px;padding:10px 12px 6px;display:flex}.pb-stat-row{align-items:center;gap:6px;display:flex}.pb-stat-emoji{text-align:center;flex-shrink:0;width:22px;font-size:1rem;line-height:1}.pb-stat-name{color:var(--nb-border,#3d342e);flex-shrink:0;width:100px;font-size:1rem;font-weight:600}.pb-stat-track{background:#3d342e1f;border-radius:4px;flex:1;min-width:40px;height:8px;overflow:hidden}.pb-stat-fill{border-radius:4px;height:100%;transition:width .4s}.pb-stat-val{color:var(--nb-border,#3d342e);text-align:right;flex-shrink:0;width:34px;font-size:1rem;font-weight:700}.pb-delta{text-align:right;flex-shrink:0;width:34px;font-size:1rem;font-weight:700}.pb-delta--gain{color:#10b981}.pb-delta--loss{color:#ef4444}.pb-tick{border-bottom:1.5px solid #3d342e1f;flex-direction:column;gap:4px;padding:8px 12px;display:flex}.pb-tick-header{color:#7a6a58;font-size:1rem;font-weight:600}.pb-tick-rows{flex-direction:column;gap:3px;display:flex}.pb-tick-reason-row{align-items:center;gap:8px;display:flex}.pb-tick-reason-delta{min-width:44px;font-size:1rem;font-weight:700}.pb-tick-reason-text{color:#7a6a58;font-size:1rem}.pb-actions{border-bottom:1.5px solid #3d342e1f;display:flex}.pb-action{cursor:pointer;color:#7a6a58;background:0 0;border:none;border-right:1.5px solid #3d342e1f;flex-direction:column;flex:1;align-items:center;gap:3px;padding:8px 4px;font-family:Fredoka,sans-serif;font-size:1rem;transition:background .15s;display:flex}.pb-action:last-child{border-right:none}.pb-action:hover{background:#3d342e0f}.pb-action--active{color:var(--nb-border,#3d342e);background:#3d342e14;font-weight:600}.pb-panel{padding:10px 12px}.pb-empty{color:#9ca3af;text-align:center;margin:4px 0;font-size:1rem}.pb-skins{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.pb-skin{cursor:pointer;background:#3d342e0d;border:1.5px solid #3d342e1f;border-radius:8px;flex-direction:column;align-items:center;gap:3px;padding:6px 4px;transition:border-color .15s;display:flex}.pb-skin:hover:not(:disabled){border-color:var(--nb-border,#3d342e)}.pb-skin--active{border-color:var(--nb-border,#3d342e);cursor:default;background:#3d342e1a}.pb-skin-img{object-fit:contain;width:44px;height:44px}.pb-skin-img--pixel{image-rendering:pixelated;image-rendering:crisp-edges}.pb-skin-name{color:var(--nb-border,#3d342e);text-align:center;font-size:1rem;font-weight:600;line-height:1.2}.pb-skin-rarity{text-transform:capitalize;font-size:1rem;font-weight:700}.pb-designs{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.pb-rename{gap:6px;display:flex}.pb-rename-input{color:var(--nb-border,#3d342e);background:#fff;border:1.5px solid #3d342e4d;border-radius:6px;outline:none;flex:1;padding:5px 8px;font-family:Fredoka,sans-serif;font-size:1rem}.pb-rename-input:focus{border-color:var(--nb-border,#3d342e)}.pb-rename-save{background:var(--nb-border,#3d342e);color:#fdf6e2;cursor:pointer;border:none;border-radius:6px;padding:5px 12px;font-family:Fredoka,sans-serif;font-size:1rem;font-weight:600}.pb-rename-save:disabled{opacity:.5;cursor:default}.pb-reason{color:#7a6a58;margin-top:6px;font-size:1rem;font-style:italic}.room-pet-layers{display:inline-block;position:relative}.pet-layer{object-fit:contain;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.pb-closet-slot{margin-bottom:6px}.pb-closet-slot-label{letter-spacing:.06em;text-transform:uppercase;color:#7a6a58;margin-bottom:4px;padding:0 2px;font-size:1rem;font-weight:700}.inv-backdrop{z-index:50;background:#3d342e59;position:fixed;inset:0}.inv-modal{background:var(--nb-paper,#fdf6e2);border:2.5px solid var(--nb-border,#3d342e);z-index:51;border-radius:16px;flex-direction:column;width:min(480px,92vw);max-height:78vh;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:6px 6px #3d342e2e}.inv-handle{display:none}.inv-header{border-bottom:1.5px solid #3d342e1f;flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 14px 8px;display:flex}.inv-title{color:var(--nb-border,#3d342e);font-family:Fredoka,sans-serif;font-size:1.1rem;font-weight:600}.inv-close{cursor:pointer;color:#7a6a58;background:0 0;border:none;padding:2px 6px;font-size:1rem}.inv-tabs{flex-shrink:0;gap:4px;padding:8px 12px 0;display:flex}.inv-tab{color:#7a6a58;cursor:pointer;background:#3d342e0f;border:1.5px solid #0000;border-radius:8px 8px 0 0;flex:1;padding:7px 0;font-family:Nunito,sans-serif;font-size:1rem;font-weight:600}.inv-tab--active{background:var(--nb-paper,#fdf6e2);border-color:#3d342e33;border-bottom-color:var(--nb-paper,#fdf6e2);color:var(--nb-border,#3d342e)}.inv-body{flex:1;padding:12px;overflow-y:auto}.inv-empty{text-align:center;color:#9c8e82;padding:24px 0;font-size:1rem}.inv-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.inv-item{cursor:pointer;text-align:center;background:#ffffff80;border:1.5px solid #3d342e1f;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:8px 6px;font-family:Nunito,sans-serif;transition:border-color .15s;display:flex;position:relative}button.inv-item{appearance:none}.inv-item--active{background:#ec48990f;border-color:#ec4899}.inv-item:disabled{cursor:default}.inv-item-img{object-fit:contain;width:56px;height:56px}.inv-item-name{color:var(--nb-border,#3d342e);font-size:1rem;font-weight:600}.inv-item-rarity{font-size:1rem;font-weight:500}.inv-place-btn{cursor:pointer;color:#fff;background:#7c9e6b;border:none;border-radius:4px;margin-top:4px;padding:2px 8px;font-size:1rem;font-weight:700}.inv-place-btn--remove{background:#c0392b}.room-furniture{width:22%;image-rendering:pixelated;image-rendering:crisp-edges;pointer-events:none;transform-origin:0 0;position:absolute}.placement-banner{z-index:60;color:#fff;white-space:nowrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b8;border-radius:20px;align-items:center;gap:10px;padding:6px 12px 6px 14px;font-size:1rem;display:flex;position:absolute;top:8px;left:50%;transform:translate(-50%)}.placement-actions{align-items:center;gap:6px;display:flex}.placement-action-btn{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;border-radius:12px;padding:2px 8px;font-size:1rem;line-height:1.4;transition:background .15s}.placement-action-btn:hover{background:#ffffff47}.placement-cancel{color:#fff;cursor:pointer;opacity:.7;background:0 0;border:none;padding:0;font-size:1rem;line-height:1}.placement-cancel:hover{opacity:1}.inv-item-badge{color:#fff;letter-spacing:.04em;background:#ec4899;border-radius:4px;padding:1px 4px;font-size:1rem;font-weight:700;position:absolute;top:4px;right:4px}.chores-insights{border-radius:var(--radius);border:1px solid #ede3dc;margin-bottom:1.25rem;overflow:hidden}.chores-section{border-bottom:1px solid #ede3dc}.chores-section:last-child{border-bottom:none}.chores-section-header{cursor:pointer;color:#7c5c4e;text-align:left;background:#fdfaf8;border:none;justify-content:space-between;align-items:center;width:100%;padding:.875rem 1rem;font-family:Fredoka,sans-serif;font-size:1rem;font-weight:500;transition:background .15s;display:flex}.chores-section-header:hover,.chores-section-header--open{background:#fff0e8}.chores-caret{color:#c4afa7;flex-shrink:0;transition:transform .2s}.chores-section-header--open .chores-caret{transform:rotate(180deg)}.chores-section-body{background:#fff;padding:1rem}.chore-tabs{border-bottom:1px solid #ede3dc;flex-shrink:0;gap:6px;padding:10px 1rem 8px;display:flex}.chore-tab-btn{color:#7c5c4e;cursor:pointer;letter-spacing:.06em;background:0 0;border:1.5px solid #c4a38480;border-radius:8px;flex:1;padding:7px 8px;font-family:Nunito,sans-serif;font-size:1rem;font-weight:800;transition:background .15s,border-color .15s,color .15s}.chore-tab-btn:hover{background:#fff0e8;border-color:#c4a384cc}.chore-tab-btn--budget.chore-tab-btn--active{color:#fdf6e2;background:#6b4226;border-color:#6b4226}.chore-tab-btn--budget.chore-tab-btn--active:hover{background:#572e16;border-color:#572e16}.chore-tab-btn--subs.chore-tab-btn--active{color:#eef8f4;background:#2d6655;border-color:#2d6655}.chore-tab-btn--subs.chore-tab-btn--active:hover{background:#1f4f40;border-color:#1f4f40}.chore-tab-btn--cashflow.chore-tab-btn--active{color:#ebf2f8;background:#2d4f72;border-color:#2d4f72}.chore-tab-btn--cashflow.chore-tab-btn--active:hover{background:#1e3a58;border-color:#1e3a58}.chore-tab-content{flex:1;min-height:0;overflow-y:auto}.loading-state{min-height:300px;color:var(--sand-600);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.spinner{border:3px solid var(--sand-200);border-top-color:var(--green-600);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.pet-widget{border-radius:var(--radius-lg);box-shadow:var(--shadow);background:#fff;flex-direction:column;gap:1.5rem;padding:2rem;display:flex}.pet-profile{align-items:center;gap:1.25rem;display:flex}.pet-avatar{background:var(--green-100);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;display:flex;overflow:hidden}.pet-avatar-img{object-fit:contain;width:75%;height:75%;image-rendering:pixelated;image-rendering:crisp-edges}.pet-info{flex:1}.pet-name{color:var(--green-900);font-family:Fredoka,sans-serif;font-size:1.75rem}.pet-mood{color:var(--sand-600);align-items:center;gap:.4rem;font-size:1rem;display:flex}.pet-score{text-align:right}.pet-score-num{color:var(--green-700);font-size:2.5rem;font-weight:700;line-height:1}.pet-score-label{color:var(--sand-400);font-size:1rem}.pet-warning{background:var(--amber-100);border:1px solid var(--amber-400);border-radius:var(--radius);color:#92400e;padding:.875rem 1rem;font-size:1rem}.pet-stats{flex-direction:column;gap:.875rem;display:flex}.stat-bar{flex-direction:column;display:flex}.stat-bar-header{justify-content:space-between;margin-bottom:.4rem;display:flex}.stat-bar-label{font-size:1rem;font-weight:500}.stat-bar-value{color:var(--sand-600);font-size:1rem;font-weight:600}.stat-bar-track{background:var(--sand-200);border-radius:99px;align-items:stretch;height:8px;display:flex;overflow:hidden}.stat-bar-fill{flex-shrink:0;height:100%;transition:width .5s}.stat-bar-preview-gain{opacity:.3;flex-shrink:0;height:100%;transition:width .5s;animation:1.5s ease-in-out infinite stat-preview-pulse}.stat-bar-preview-loss{background:repeating-linear-gradient(-45deg,#ef4444d9 0 3px,#ef444459 3px 6px);flex-shrink:0;height:100%;transition:width .5s;animation:.9s ease-in-out infinite stat-preview-loss-pulse}@keyframes stat-preview-loss-pulse{0%,to{opacity:.7}50%{opacity:1}}@keyframes stat-preview-pulse{0%,to{opacity:.18}50%{opacity:.42}}.pet-last-update{color:var(--sand-400);font-size:1rem;font-style:italic}.pet-last-update-time{color:var(--green-600);font-style:normal}.stat-bar-delta{margin-left:.35rem;font-size:1rem;font-weight:600}.stat-bar-delta--gain{color:var(--green-600)}.stat-bar-delta--loss{color:#ef4444}.tick-summary{color:var(--sand-400);flex-wrap:wrap;align-items:center;gap:.5rem;margin:.25rem 0 0;font-size:1rem;display:flex}.tick-summary-deltas{align-items:center;gap:.3rem;display:flex}.tick-delta--gain{color:var(--green-600);font-weight:600}.tick-delta--loss{color:#ef4444;font-weight:600}.tick-info-toggle{color:var(--sand-400);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;margin-left:auto;padding:0;font-size:1rem;text-decoration:underline}.tick-info-toggle:hover{color:var(--sand-600)}.tick-info{background:var(--sand-50,#fafaf7);border:1px solid var(--sand-200);border-radius:8px;margin-top:.6rem;padding:.75rem;font-size:1rem}.tick-info-heading{color:var(--sand-600);margin:0 0 .25rem;font-size:1rem;font-weight:600}.tick-info-explainer{color:var(--sand-400);margin:0 0 .65rem;line-height:1.4}.tick-info-rows{flex-direction:column;gap:.3rem;margin-bottom:.65rem;display:flex}.tick-info-row{grid-template-columns:7rem 2.5rem 1fr;align-items:center;gap:.4rem;font-size:1rem;display:grid}.tick-info-stat{color:var(--sand-600);font-weight:500}.tick-info-delta{font-size:1rem;font-weight:700}.tick-info-reason{color:var(--sand-400)}.tick-info-actions{flex-direction:column;gap:.2rem;display:flex}.tick-info-action{color:var(--sand-600);margin:0;font-weight:500}.tick-info-clean{color:var(--green-600);margin:0;font-weight:500}.pet-empty{text-align:center;color:var(--sand-600);padding:3rem}.pet-history{background:var(--green-900);border-radius:var(--radius);margin-top:.25rem;padding:1rem}.pet-history-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.pet-history-title{color:var(--green-400);text-transform:uppercase;letter-spacing:.05em;font-size:1rem;font-weight:600}.pet-history-count{color:#ffffff59;font-size:1rem}.sparkline-legend{flex-wrap:wrap;gap:.75rem;margin-top:.5rem;display:flex}.sparkline-legend-item{color:#fff9;align-items:center;gap:.3rem;font-size:1rem;display:flex}.sparkline-legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.txn-panel{background:0 0;overflow:hidden}.txn-filter-bar{flex-wrap:wrap;gap:.375rem;padding:.75rem 1rem .25rem;display:flex}.txn-filter-chip{color:#6b5e4e;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #d4c9b8;border-radius:999px;padding:.25rem .625rem;font-size:1rem;transition:background .12s,border-color .12s}.txn-filter-chip:hover{background:#ede8df;border-color:#b8a99a}.txn-filter-chip--active{color:#fff;background:#5d4c3c;border-color:#5d4c3c}.txn-header{border-bottom:1px solid var(--sand-200);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.5rem;display:flex}.txn-header h2{font-family:Fredoka,sans-serif;font-size:1.5rem}.txn-subtitle{color:var(--amber-500);margin-top:.2rem;font-size:1rem}.txn-controls{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.txn-search{min-width:160px;max-width:220px;height:auto;padding:.45rem .75rem;font-size:1rem}.txn-account-select{min-width:160px;height:auto;padding:.45rem .75rem;font-size:1rem}.filter-toggle{border:1.5px solid var(--sand-200);border-radius:var(--radius);display:flex;overflow:hidden}.filter-btn{color:var(--sand-600);cursor:pointer;background:0 0;border:none;padding:.5rem 1rem;font-family:Nunito,sans-serif;font-size:1rem;font-weight:500;transition:all .15s}.filter-btn--active{background:var(--green-700);color:#fff}.txn-list{list-style:none}.txn-month-divider{z-index:1;border-bottom:1px solid var(--sand-100);background:#fff;align-items:baseline;gap:.6rem;padding:.9rem 1.5rem .4rem;display:flex;position:sticky;top:0}.txn-month-label{color:var(--sand-800);font-family:Fredoka,sans-serif;font-size:1rem}.txn-month-count{color:var(--sand-400);font-size:1rem}.txn-cat-groups{flex-direction:column;gap:.75rem;display:flex}.txn-cat-group{border:1px solid var(--sand-200);border-radius:var(--radius);overflow:hidden}.txn-cat-group-header{background:var(--sand-50);cursor:pointer;text-align:left;border:none;align-items:center;gap:.75rem;width:100%;padding:.85rem 1.25rem;display:flex}.txn-cat-group-header:hover{background:var(--sand-100)}.txn-cat-group-icon{font-size:1.1rem}.txn-cat-group-name{flex:1;font-size:1rem;font-weight:600}.txn-cat-group-meta{color:var(--sand-400);font-size:1rem}.txn-cat-group-total{color:var(--sand-800);font-size:1rem;font-weight:700}.txn-cat-group-chevron{color:var(--sand-400);margin-left:.25rem;font-size:1rem}.txn-cat-group-body .txn-row:last-child{border-bottom:none}.txn-cat-group-body .txn-row{padding-left:1.5rem}.txn-row{border-bottom:1px solid var(--sand-100);padding:1rem 1.5rem;transition:background .15s}.txn-row:last-child{border-bottom:none}.txn-row--uncategorized{border-left:3px solid var(--amber-400);background:#fbbf2414}.txn-row--one-time{opacity:.75}.txn-row:hover{background:var(--sand-50)}.txn-main{align-items:center;gap:1rem;display:flex}.txn-meta{align-items:center;gap:.5rem;display:flex}.txn-date{color:var(--sand-400);min-width:50px;font-size:1rem}.txn-badge{background:var(--amber-100);color:#92400e;border-radius:99px;padding:.15rem .5rem;font-size:1rem;font-weight:600}.txn-badge--one-time{background:var(--sand-100);color:var(--sand-500)}.txn-badge--pending{color:#1d4ed8;background:#dbeafe}.txn-badge--installment{color:#6d28d9;background:#ede9fe}.tx-amt-wrap{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.tx-share-badge{color:#16a34a;white-space:nowrap;background:#16a34a14;border-radius:99px;padding:1px 7px;font-size:1rem;font-weight:600}.tx-reimburses-badge{color:#6d28d9;white-space:nowrap;background:#6d28d914;border-radius:99px;padding:1px 7px;font-size:1rem;font-weight:500}.txn-share-wrap{margin-top:.35rem}.txn-share-btn{color:var(--sand-500);border:1px solid var(--sand-200);cursor:pointer;background:0 0;border-radius:99px;padding:.15rem .6rem;font-size:1rem;font-weight:500}.txn-share-btn:hover{color:#16a34a;border-color:#16a34a59}.txn-share-panel{background:#16a34a0d;border:1px solid #16a34a2e;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.35rem;padding:.5rem .65rem;display:flex}.txn-share-panel-label{color:var(--sand-600);font-size:1rem}.txn-share-input{text-align:right;width:5rem;color:var(--sand-900);background:#fff;border:1px solid #16a34a40;border-radius:5px;padding:.18rem .4rem;font-size:1rem}.txn-share-active{flex-wrap:wrap;align-items:center;gap:.5rem;padding:.3rem 0;display:flex}.txn-share-label{color:#16a34a;font-size:1rem;font-weight:600}.txn-share-edit,.txn-share-clear{color:var(--sand-400);cursor:pointer;background:0 0;border:none;font-size:1rem;text-decoration:underline}.txn-reimburse-wrap{margin-top:.35rem}.txn-reimburse-btn{color:var(--sand-500);border:1px solid var(--sand-200);cursor:pointer;background:0 0;border-radius:99px;padding:.15rem .6rem;font-size:1rem;font-weight:500}.txn-reimburse-btn:hover{color:#6d28d9;border-color:#6d28d959}.txn-reimburse-panel{background:#6d28d90a;border:1px solid #6d28d926;border-radius:8px;flex-direction:column;gap:.4rem;margin-top:.35rem;padding:.5rem .65rem;display:flex}.txn-reimburse-search{width:100%;color:var(--sand-900);box-sizing:border-box;background:#fff;border:1px solid #6d28d933;border-radius:5px;padding:.28rem .5rem;font-size:1rem}.txn-reimburse-list{flex-direction:column;gap:2px;max-height:200px;display:flex;overflow-y:auto}.txn-reimburse-option{cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:space-between;align-items:center;width:100%;padding:.35rem .5rem;display:flex}.txn-reimburse-option:hover{background:#6d28d90f;border-color:#6d28d926}.txn-reimburse-option--active{background:#6d28d91a;border-color:#6d28d94d}.txn-reimburse-option-name{color:var(--sand-800);font-size:1rem;font-weight:500}.txn-reimburse-option-meta{color:var(--sand-400);white-space:nowrap;margin-left:.5rem;font-size:1rem}.txn-reimburse-empty{color:var(--sand-400);padding:.25rem 0;font-size:1rem}.txn-reimburse-active{flex-wrap:wrap;align-items:center;gap:.5rem;padding:.3rem 0;display:flex}.txn-reimburse-label{color:#6d28d9;font-size:1rem;font-weight:500}.txn-reimburse-change,.txn-reimburse-clear{color:var(--sand-400);cursor:pointer;background:0 0;border:none;font-size:1rem;text-decoration:underline}.txn-installment-wrap{margin-top:.35rem}.txn-installment-btn{color:var(--sand-500);border:1px solid var(--sand-200);cursor:pointer;background:0 0;border-radius:99px;padding:.15rem .6rem;font-size:1rem;font-weight:500}.txn-installment-btn:hover{color:var(--sand-800);border-color:var(--sand-400)}.txn-installment-panel{background:#6d28d90f;border:1px solid #6d28d926;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.35rem;padding:.5rem .65rem;display:flex}.txn-installment-panel-label{color:var(--sand-600);font-size:1rem}.txn-installment-panel-per{color:#6d28d9;font-size:1rem;font-weight:600}.txn-installment-input{text-align:center;color:#fff;background:#ffffff14;border:1px solid #fff3;border-radius:4px;width:3.5rem;padding:.1rem .3rem;font-size:1rem}.txn-installment-active{flex-wrap:wrap;align-items:center;gap:.5rem;padding:.3rem 0;display:flex}.txn-installment-label{color:#6d28d9;font-size:1rem;font-weight:500}.txn-installment-clear{color:var(--sand-400);cursor:pointer;background:0 0;border:none;font-size:1rem;text-decoration:underline}.txn-sync-btn{color:var(--green-700)}.txn-track-badge--a{text-transform:uppercase;letter-spacing:.04em;background:var(--green-100);color:var(--green-700);border-radius:999px;padding:.2rem .55rem;font-size:1rem;font-weight:600}.txn-sync-wrap{flex-direction:column;align-items:flex-start;gap:.1rem;display:flex}.txn-last-synced{color:var(--sand-400);white-space:nowrap;font-size:1rem;line-height:1.2}.txn-sync-btn:disabled{opacity:.5;cursor:default}.txn-anomaly-prompt{background:var(--amber-50,#fffbeb);border:1px solid var(--amber-200,#fde68a);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.5rem;padding:.65rem .75rem;display:flex}.txn-anomaly-text{color:var(--sand-700);flex:1;min-width:160px;font-size:1rem}.txn-anomaly-actions{gap:.5rem;display:flex}.btn-anomaly-confirm{background:var(--sand-800);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.3rem .75rem;font-size:1rem;font-weight:600}.btn-anomaly-confirm:hover{background:var(--sand-900)}.btn-anomaly-dismiss{color:var(--sand-500);border:1px solid var(--sand-200);cursor:pointer;background:0 0;border-radius:6px;padding:.3rem .75rem;font-size:1rem;font-weight:500}.btn-anomaly-dismiss:hover{background:var(--sand-50)}.btn-track-expense{border:1px dashed var(--sand-300);color:var(--sand-500);cursor:pointer;background:0 0;border-radius:4px;margin-top:.3rem;padding:.22rem .55rem;font-size:1rem;display:inline-block}.btn-track-expense:hover{border-color:var(--green-600);color:var(--green-700);background:#f0fdf4}.txn-similar-prompt{background:#fefce8;border:1px solid #fde047;border-radius:6px;flex-wrap:wrap;align-items:flex-start;gap:.75rem;margin-top:.4rem;padding:.6rem .75rem;display:flex}.txn-similar-text{color:var(--sand-700);flex:1;font-size:1rem}.txn-similar-actions{flex-shrink:0;gap:.4rem;display:flex}.btn-similar-confirm{background:var(--green-700);color:#fff;cursor:pointer;border:none;border-radius:5px;padding:.3rem .65rem;font-size:1rem;font-weight:600}.btn-similar-confirm:hover{background:#166534}.btn-similar-confirm:disabled{opacity:.6;cursor:default}.btn-similar-dismiss{color:var(--sand-500);border:1px solid var(--sand-200);cursor:pointer;background:0 0;border-radius:5px;padding:.3rem .65rem;font-size:1rem}.btn-similar-dismiss:hover{background:var(--sand-50)}.txn-desc{flex:1;font-size:1rem;font-weight:500}.txn-amount{color:var(--sand-900);font-size:1rem;font-weight:600}.txn-amount--income{color:var(--green-700)}.txn-amount--expense{color:var(--danger)}.btn-categorize{background:var(--green-700);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;margin-top:.75rem;padding:.5rem 1rem;font-family:Nunito,sans-serif;font-size:1rem;font-weight:600;transition:background .15s}.btn-categorize:hover{background:var(--green-800)}.category-picker{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.cat-btn{border:1.5px solid var(--sand-200);cursor:pointer;background:#fff;border-radius:99px;padding:.4rem .875rem;font-family:Nunito,sans-serif;font-size:1rem;transition:all .15s}.cat-btn:hover{border-color:var(--green-600);background:var(--green-100)}.btn-cancel{margin-left:.25rem;font-size:1rem}.saving-msg{color:var(--sand-600);font-size:1rem}.txn-empty{text-align:center;color:var(--sand-600);padding:3rem}.txn-category-badge{background:var(--green-100);color:var(--green-800);border-radius:99px;padding:.15rem .5rem;font-size:1rem;font-weight:500}.txn-account-badge{background:var(--sand-100);color:var(--sand-600);border:1px solid var(--sand-200);border-radius:99px;padding:.1rem .45rem;font-size:1rem;font-weight:500}.btn-recategorize{border:1px solid var(--sand-200);border-radius:var(--radius);color:var(--sand-600);cursor:pointer;background:0 0;margin-top:.5rem;padding:.3rem .75rem;font-family:Nunito,sans-serif;font-size:1rem;transition:all .15s}.btn-recategorize:hover{border-color:var(--green-600);color:var(--green-700)}.cat-btn--active{border-color:var(--green-600);background:var(--green-100);color:var(--green-800)}.cat-btn--suggested{border-color:var(--amber-500);color:var(--sand-900);background:#fbbf2414}.cat-btn-suggested-dot{background:var(--amber-500);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-left:5px;display:inline-block}.cat-picker-hint{color:var(--amber-500);margin:0 0 .4rem;font-size:1rem;font-style:italic}.txn-type-badge{border-radius:99px;padding:.15rem .5rem;font-size:1rem;font-weight:600}.txn-type-badge--income{background:var(--green-100);color:var(--green-800)}.txn-type-badge--transfer{background:var(--sand-100);color:var(--sand-600)}.connect-panel{border-radius:var(--radius-lg);box-shadow:var(--shadow);text-align:center;background:#fff;max-width:540px;margin:0 auto;padding:2.5rem}.connect-hero{margin-bottom:2rem}.connect-icon{margin-bottom:1rem;font-size:3rem}.connect-hero h2{margin-bottom:.75rem;font-family:Fredoka,sans-serif;font-size:1.75rem}.connect-hero p{color:var(--sand-600);line-height:1.6}.connect-actions{flex-direction:column;gap:.875rem;margin-bottom:1.5rem;display:flex}.btn-large{padding:1rem 2rem;font-size:1.05rem}.connect-msg{border-radius:var(--radius);margin-bottom:1rem;padding:.875rem;font-size:1rem}.connect-msg--success{background:var(--green-100);color:var(--green-800)}.connect-msg--error{background:var(--danger-light);color:var(--danger)}.connect-note{color:var(--sand-400);font-size:1rem}.budget-panel{border-radius:var(--radius-lg);box-shadow:var(--shadow);background:#fff;padding:2rem}.budget-month-nav{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.budget-month-label{align-items:center;gap:.5rem;font-family:Fredoka,sans-serif;font-size:1.4rem;display:flex}.budget-month-tag{text-transform:uppercase;letter-spacing:.06em;background:var(--green-100);color:var(--green-800);vertical-align:middle;border-radius:99px;padding:.1rem .45rem;font-family:inherit;font-size:1rem;font-weight:600}.budget-month-arrow{border:1px solid var(--sand-200);cursor:pointer;color:var(--sand-600);background:0 0;border-radius:6px;padding:.2rem .7rem;font-size:1.1rem;line-height:1.4}.budget-month-arrow:hover:not(:disabled){background:var(--sand-50)}.budget-month-arrow:disabled{opacity:.3;cursor:default}.budget-new-month-banner{color:var(--green-800);background:var(--green-50,#f0fdf4);border:1px solid var(--green-200,#bbf7d0);border-radius:8px;margin-bottom:1rem;padding:.5rem .75rem;font-size:1rem}.budget-controls{background:var(--sand-50);border:1px solid var(--sand-150,#e8e6d8);border-radius:10px;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem;display:flex}.budget-controls-label{text-transform:uppercase;letter-spacing:.05em;color:var(--sand-400);flex-basis:100%;font-size:1rem;font-weight:600}.budget-control-group{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.budget-ctrl-group-label{color:var(--sand-400);margin-right:.1rem;font-size:1rem;font-weight:600}.budget-ctrl-btn{border:1px solid var(--sand-300);background:var(--surface,#1c1c14);color:var(--sand-400);cursor:pointer;border-radius:99px;padding:.3rem .75rem;font-size:1rem;font-weight:500;transition:background .12s,color .12s,border-color .12s}.budget-ctrl-btn:hover{background:var(--sand-100);color:var(--sand-800);border-color:var(--sand-400)}.budget-ctrl-btn--active{background:var(--sand-800);color:#fff;border-color:var(--sand-800);font-weight:600}.budget-tx-count{color:var(--sand-400);margin-left:.25rem;font-size:1rem;font-weight:400}.budget-panel h2{margin-bottom:1.5rem;font-family:Fredoka,sans-serif;font-size:1.5rem}.budget-row{margin-bottom:1.25rem}.budget-meta{justify-content:space-between;margin-bottom:.4rem;font-size:1rem;font-weight:500;display:flex}.budget-category{align-items:center;gap:.4rem;display:flex}.budget-icon{font-size:1rem}.budget-amounts.over{color:var(--danger)}.budget-over-label{font-size:1rem;font-weight:600}.budget-track{background:var(--sand-200);border-radius:99px;height:8px;overflow:hidden}.budget-fill{background:var(--green-600);border-radius:99px;height:100%;transition:width .5s}.budget-fill--over{background:var(--danger)}.budget-empty{color:var(--sand-400);margin:1rem 0;font-size:1rem}.budget-row-btn{text-align:left;cursor:pointer;border-radius:var(--radius);background:0 0;border:none;width:100%;padding:0;font-family:Nunito,sans-serif;transition:background .15s}.budget-row-btn:hover{background:var(--sand-50)}.budget-chevron{color:var(--sand-400);margin-left:.4rem;font-size:1rem}.budget-row--disabled{opacity:.55}.budget-disabled-tag{text-transform:uppercase;letter-spacing:.04em;color:var(--sand-400);border:1px solid var(--sand-200);border-radius:99px;margin-left:.3rem;padding:.05rem .4rem;font-size:1rem;font-weight:600}.budget-drilldown{background:var(--sand-50);border-radius:var(--radius);border:1px solid var(--sand-200);margin-top:.25rem;margin-bottom:.5rem;padding:.75rem 1rem}.budget-drilldown-header{color:var(--sand-600);text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:1rem;font-weight:600;display:flex}.budget-drilldown-row{border-bottom:1px solid var(--sand-100);align-items:center;gap:.75rem;padding:.3rem 0;font-size:1rem;display:flex}.budget-drilldown-row:last-child{border-bottom:none}.budget-drilldown-date{color:var(--sand-400);min-width:48px;font-size:1rem}.budget-drilldown-desc{flex:1}.budget-drilldown-amt{color:var(--green-800);font-weight:600}.budget-drilldown-loading,.budget-drilldown-empty{color:var(--sand-400);font-size:1rem}.budget-form{border-bottom:1px solid var(--sand-200);grid-template-columns:1fr 1fr 1fr auto;align-items:start;gap:.5rem;margin-bottom:1.5rem;padding-bottom:1.5rem;display:grid}.budget-form-error{color:var(--danger);grid-column:1/-1;margin-top:.25rem;font-size:1rem}.budget-amount-field{flex-direction:column;gap:.2rem;display:flex;position:relative}.budget-suggestion-hint{color:var(--green-700);font-size:1rem;font-weight:500}.budget-sugg-panel{border:1.5px solid var(--sand-200);border-radius:var(--radius-lg);background:#fff;margin-bottom:1.5rem;overflow:hidden}.budget-sugg-header{background:var(--sand-100);border-bottom:1px solid var(--sand-200);justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem 1rem;display:flex}.budget-sugg-title{text-transform:uppercase;letter-spacing:.06em;color:var(--sand-600);white-space:nowrap;font-size:1rem;font-weight:700}.budget-sugg-income-note{color:var(--sand-600);font-size:1rem}.budget-sugg-income-note--none{color:var(--sand-400);font-style:italic}.budget-sugg-group{border-bottom:1px solid var(--sand-100);padding:.65rem 1rem}.budget-sugg-group:last-child{border-bottom:none}.budget-sugg-group-hdr{align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.budget-sugg-group-name{text-transform:uppercase;letter-spacing:.05em;color:var(--sand-900);font-size:1rem;font-weight:700}.budget-sugg-group-pct{color:var(--green-700);background:var(--green-100);border-radius:99px;padding:.05rem .4rem;font-size:1rem;font-weight:600}.budget-sugg-group-bucket{color:var(--sand-400);margin-left:auto;font-size:1rem}.budget-sugg-row{justify-content:space-between;align-items:center;gap:.5rem;padding:.22rem 0;display:flex}.budget-sugg-cat-name{color:var(--sand-900);flex:1;align-items:center;gap:.35rem;min-width:0;font-size:1rem;display:flex}.budget-sugg-cat-icon{flex-shrink:0}.budget-sugg-choices{flex-shrink:0;gap:.3rem;display:flex}.budget-sugg-choice{background:var(--sand-50);border:1.5px solid var(--sand-200);border-radius:var(--radius);cursor:pointer;flex-direction:column;align-items:center;gap:.08rem;min-width:78px;padding:.3rem .65rem;font-family:Nunito,sans-serif;transition:all .15s;display:flex}.budget-sugg-choice:hover,.budget-sugg-choice--target{border-color:var(--green-600);background:var(--green-100)}.budget-sugg-choice--target:hover{border-color:var(--green-700);background:#bbf7d0}.budget-sugg-choice-label{text-transform:uppercase;letter-spacing:.04em;color:var(--sand-400);font-size:1rem;font-weight:700}.budget-sugg-choice-amt{color:var(--sand-900);font-size:1rem;font-weight:700}.budget-sugg-choice--target .budget-sugg-choice-label{color:var(--green-700)}.budget-sugg-choice--target .budget-sugg-choice-amt{color:var(--green-800)}.budget-sugg-panel--sidebar{margin-bottom:0}.budget-sugg-panel--sidebar .budget-sugg-group{padding:.55rem .85rem}.budget-sugg-panel--sidebar .budget-sugg-group-bucket{display:none}.budget-sugg-panel--sidebar .budget-sugg-row{flex-direction:column;align-items:stretch;gap:.3rem}.budget-sugg-panel--sidebar .budget-sugg-cat-name{font-size:1rem;font-weight:500}.budget-sugg-panel--sidebar .budget-sugg-choices{flex-shrink:0;width:100%}.budget-sugg-panel--sidebar .budget-sugg-choice{flex:1;min-width:0;padding:.25rem .35rem}.main-content--wide{max-width:min(1400px,98vw)}.budget-page{align-items:flex-start;gap:1.5rem;width:100%;display:flex}.budget-sidebar-left{flex-shrink:0;width:220px}.budget-sidebar-right{flex-shrink:0;width:248px}.budget-center{flex-direction:column;flex:1;gap:1.25rem;min-width:0;display:flex}.budget-sticky{scrollbar-width:thin;scrollbar-color:var(--sand-200) transparent;flex-direction:column;gap:1rem;max-height:calc(100vh - 2rem);display:flex;position:sticky;top:1rem;overflow-y:auto}.budget-sticky::-webkit-scrollbar{width:4px}.budget-sticky::-webkit-scrollbar-track{background:0 0}.budget-sticky::-webkit-scrollbar-thumb{background:var(--sand-200);border-radius:99px}.budget-pie-card{border:1.5px solid var(--sand-200);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:#fff;overflow:hidden}.budget-pie-title{background:var(--sand-100);border-bottom:1px solid var(--sand-200);text-transform:uppercase;letter-spacing:.06em;color:var(--sand-600);padding:.6rem 1rem;font-size:1rem;font-weight:700}.budget-pie-svg{width:100%;padding:.75rem;display:block}.budget-pie-legend{flex-direction:column;gap:.32rem;padding:0 1rem .85rem;display:flex}.budget-pie-legend-row{align-items:center;gap:.4rem;font-size:1rem;display:flex}.budget-pie-legend-dot{border-radius:3px;flex-shrink:0;width:8px;height:8px}.budget-pie-legend-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--sand-900);flex:1;overflow:hidden}.budget-pie-legend-amt{color:var(--sand-600);flex-shrink:0;font-weight:600}.budget-pie-legend-more{color:var(--sand-400);padding-left:1.2rem;font-size:1rem}.budget-pie-empty{text-align:center;color:var(--sand-400);padding:1.5rem 1rem;font-size:1rem}.budget-stats-card{border:1.5px solid var(--sand-200);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:#fff;overflow:hidden}.budget-stats-title{background:var(--sand-100);border-bottom:1px solid var(--sand-200);text-transform:uppercase;letter-spacing:.06em;color:var(--sand-600);padding:.6rem 1rem;font-size:1rem;font-weight:700}.budget-stats-body{flex-direction:column;gap:.6rem;padding:.75rem 1rem;display:flex}.budget-stat-row{flex-direction:column;gap:.1rem;display:flex}.budget-stat-label{color:var(--sand-400);text-transform:uppercase;letter-spacing:.03em;font-size:1rem;font-weight:600}.budget-stat-value{color:var(--sand-900);font-size:1.05rem;font-weight:700}.budget-stat-value--danger{color:var(--danger)}.budget-stat-value--green{color:var(--green-700)}.budget-stat-sub{color:var(--sand-400);font-size:1rem}.budget-stats-divider{background:var(--sand-100);height:1px}.budget-key-card{border:1.5px solid var(--sand-200);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:#fff;overflow:hidden}.budget-key-header{background:var(--sand-100);border-bottom:1px solid var(--sand-200);text-transform:uppercase;letter-spacing:.06em;color:var(--sand-600);padding:.6rem 1rem;font-size:1rem;font-weight:700}.budget-key-body{flex-direction:column;gap:.45rem;padding:.75rem 1rem;display:flex}.budget-key-row{color:var(--sand-900);align-items:center;gap:.5rem;font-size:1rem;display:flex}.budget-key-swatch{border-radius:3px;flex-shrink:0;width:10px;height:10px}.budget-key-rule{border-top:1px solid var(--sand-100);flex-direction:column;gap:.3rem;margin-top:.35rem;padding-top:.6rem;display:flex}.budget-key-rule-title{text-transform:uppercase;letter-spacing:.05em;color:var(--sand-400);margin-bottom:.1rem;font-size:1rem;font-weight:700}.budget-key-rule-row{border-bottom:1px dashed var(--sand-100);justify-content:space-between;align-items:baseline;padding:.1rem 0;font-size:1rem;display:flex}.budget-key-rule-row:last-child{border-bottom:none}.budget-key-rule-pct{color:var(--green-700);margin:0 .3rem;font-weight:700}.budget-key-rule-amt{color:var(--sand-600);font-size:1rem}.budget-key-rule-title-row{justify-content:space-between;align-items:center;margin-bottom:.1rem;display:flex}.budget-key-rule-default{color:var(--sand-400);font-weight:400}.budget-split-edit-btn{color:var(--green-700);cursor:pointer;background:0 0;border:none;padding:0 .15rem;font-size:1rem;text-decoration:underline}.budget-split-edit-btn:hover{color:var(--green-900)}.budget-split-form{flex-direction:column;gap:.3rem;margin-top:.3rem;display:flex}.budget-split-row{align-items:center;gap:.4rem;display:flex}.budget-split-label{width:3.5rem;color:var(--sand-800);font-size:1rem}.budget-split-input{border:1.5px solid var(--sand-200);text-align:right;border-radius:6px;width:3.2rem;padding:.2rem .35rem;font-size:1rem}.budget-split-input:focus{border-color:var(--green-400);outline:none}.budget-split-pct-sym{color:var(--sand-500);font-size:1rem}.budget-split-sum{margin-top:.1rem;font-size:1rem}.budget-split-sum--ok{color:var(--green-700)}.budget-split-sum--err{color:var(--danger)}.budget-split-error{color:var(--danger);margin:.1rem 0 0;font-size:1rem}.budget-split-actions{gap:.4rem;margin-top:.25rem;display:flex}.budget-stats-more{border:none;border-top:1px solid var(--sand-100);width:100%;color:var(--green-700);cursor:pointer;text-align:center;letter-spacing:.02em;background:0 0;padding:.45rem 1rem;font-family:Nunito,sans-serif;font-size:1rem;font-weight:600;transition:background .12s;display:block}.budget-stats-more:hover{background:var(--sand-50)}.budget-strip{border-radius:var(--radius-md);border:1.5px solid var(--sand-200);background:#fff;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.65rem 1rem;display:flex}.budget-strip--ok{border-color:#bbf7d0}.budget-strip--warn{border-color:#fde68a}.budget-strip-label{text-transform:uppercase;letter-spacing:.05em;color:var(--sand-500);flex-shrink:0;font-size:1rem;font-weight:600}.budget-strip-body{flex-wrap:wrap;flex:1;align-items:center;gap:.5rem;display:flex}.budget-strip-status{font-size:1rem;font-weight:600}.budget-strip-status--ok{color:var(--green-700)}.budget-strip-status--over{color:var(--danger)}.budget-strip-detail{color:var(--sand-600);font-size:1rem}.budget-strip-ok-count{color:var(--green-700);font-size:1rem}.budget-strip-hint{color:var(--sand-400);flex:1;font-size:1rem}.budget-strip-cta{color:var(--green-700);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:.1rem .3rem;font-size:1rem;font-weight:600}.budget-strip-cta:hover{background:#f0fdf4}.budget-onboarding-card{border:1px solid var(--sand-200);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;margin-top:.75rem;padding:1rem}.boc-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.boc-title{color:var(--sand-900);font-size:1rem;font-weight:600}.boc-close{cursor:pointer;color:var(--sand-400);background:0 0;border:none;border-radius:4px;padding:.1rem .3rem;font-size:1rem;line-height:1}.boc-close:hover{color:var(--sand-600);background:var(--sand-100)}.boc-income-row{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.boc-income-label{color:var(--sand-600);font-size:1rem}.boc-amount-wrap{border:1.5px solid var(--sand-200);background:var(--sand-50);border-radius:8px;align-items:center;display:flex;overflow:hidden}.boc-amount-wrap:focus-within{border-color:var(--green-600);background:#fff}.boc-currency{color:var(--sand-400);padding:0 .25rem 0 .5rem;font-size:1rem}.boc-income-input,.boc-row-input{color:var(--sand-900);background:0 0;border:none;outline:none;width:6rem;padding:.35rem .5rem .35rem 0;font-size:1rem}.boc-income-input::placeholder{color:var(--sand-400)}.boc-divider{background:var(--sand-200);height:1px;margin:.5rem 0}.boc-rows{flex-direction:column;gap:.4rem;display:flex}.boc-row{align-items:center;gap:.5rem;display:flex}.boc-row-icon{text-align:center;flex-shrink:0;width:1.4rem;font-size:1rem}.boc-row-name{color:var(--sand-900);flex:1;font-size:1rem}.boc-syncing{color:var(--sand-400);margin:.25rem 0 0;font-size:1rem}.boc-error{color:var(--danger);margin:.5rem 0 0;font-size:1rem}.boc-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.85rem;display:flex}.boc-apply{background:var(--green-700);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:.45rem 1rem;font-size:1rem;font-weight:600}.boc-apply:hover:not(:disabled){background:var(--green-800)}.boc-apply:disabled{opacity:.6;cursor:default}.boc-skip{cursor:pointer;color:var(--sand-400);background:0 0;border:none;padding:0;font-size:1rem}.boc-skip:hover{color:var(--sand-600)}.quests-page{max-width:600px;margin:0 auto;padding:1rem}.quests-loading{justify-content:center;padding:3rem;display:flex}.quests-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem;display:flex}.quests-title{color:var(--sand-800);margin:0 0 .15rem;font-size:1.25rem;font-weight:700}.quests-subtitle{color:var(--sand-400);margin:0;font-size:1rem}.quests-empty{text-align:center;color:var(--sand-400);padding:2.5rem 1rem;font-size:1rem}.quests-section{flex-direction:column;gap:.75rem;margin-bottom:1.25rem;display:flex}.quests-section-label{text-transform:uppercase;letter-spacing:.05em;color:var(--sand-400);margin:.5rem 0;font-size:1rem;font-weight:600}.quest-btn-new{background:var(--green-600,#16a34a);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:.45rem .9rem;font-size:1rem;font-weight:600}.quest-btn-new:hover{filter:brightness(1.1)}.quest-card{background:var(--surface);border:1px solid var(--sand-200);border-radius:12px;padding:1rem}.quest-card--complete{opacity:.75}.quest-card-header{align-items:center;gap:.6rem;margin-bottom:.75rem;display:flex}.quest-card-emoji{font-size:1.5rem;line-height:1}.quest-card-meta{flex:1;min-width:0}.quest-card-name{color:var(--sand-800);white-space:nowrap;text-overflow:ellipsis;font-size:1rem;font-weight:600;display:block;overflow:hidden}.quest-card-target{color:var(--sand-500);font-size:1rem;display:block}.quest-phase-badge{white-space:nowrap;border-radius:20px;padding:.2rem .5rem;font-size:1rem;font-weight:600}.quest-phase-badge--saving{color:#854d0e;background:#fef9c3}.quest-phase-badge--spending{color:#166534;background:#dcfce7}.quest-phase-badge--complete{color:#5b21b6;background:#ede9fe}.quest-saving-info{flex-direction:column;gap:.5rem;display:flex}.quest-projection{color:var(--sand-600);margin:0;font-size:1rem}.quest-target-date{color:var(--sand-400);margin:0;font-size:1rem}.quest-btn-confirm{border:1.5px solid var(--sand-300);color:var(--sand-700);cursor:pointer;background:0 0;border-radius:8px;align-self:flex-start;padding:.4rem .8rem;font-size:1rem;font-weight:600}.quest-btn-confirm:hover:not(:disabled){border-color:var(--sand-500)}.quest-btn-confirm:disabled{opacity:.5;cursor:default}.quest-spending-info{flex-direction:column;gap:.6rem;display:flex}.quest-progress-wrap{flex-direction:column;gap:.3rem;display:flex}.quest-progress-bar{background:var(--sand-100);border-radius:4px;height:8px;overflow:hidden}.quest-progress-fill{background:var(--green-600,#16a34a);border-radius:4px;height:100%;transition:width .3s}.quest-progress-label{color:var(--sand-500);font-size:1rem}.quest-btn-tag{border:1.5px dashed var(--sand-300);color:var(--sand-600);cursor:pointer;background:0 0;border-radius:8px;align-self:flex-start;padding:.4rem .8rem;font-size:1rem}.quest-btn-tag:hover{border-color:var(--sand-500);color:var(--sand-800)}.quest-complete-info{flex-direction:column;gap:.25rem;display:flex}.quest-complete-msg{color:#5b21b6;margin:0;font-size:1rem;font-weight:600}.quest-complete-spent{color:var(--sand-400);margin:0;font-size:1rem}.quest-tag-overlay{z-index:200;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.quest-tag-modal{background:var(--surface);border-radius:16px 16px 0 0;flex-direction:column;width:100%;max-width:600px;max-height:70vh;display:flex;overflow:hidden}.quest-tag-header{border-bottom:1px solid var(--sand-200);color:var(--sand-800);justify-content:space-between;align-items:center;padding:1rem 1rem .75rem;font-size:1rem;font-weight:600;display:flex}.quest-tag-close{cursor:pointer;color:var(--sand-400);background:0 0;border:none;padding:0;font-size:1rem}.quest-tag-error{color:var(--danger);margin:0;padding:.5rem 1rem 0;font-size:1rem}.quest-tag-empty{color:var(--sand-400);text-align:center;margin:0;padding:1.5rem;font-size:1rem}.quest-tag-list{flex:1;padding:.25rem 0;overflow-y:auto}.quest-tag-row{cursor:pointer;text-align:left;border:none;border-bottom:1px solid var(--sand-100);background:0 0;align-items:center;gap:.5rem;width:100%;padding:.7rem 1rem;display:flex}.quest-tag-row:hover:not(:disabled){background:var(--sand-50,#fafaf9)}.quest-tag-row:disabled{opacity:.5;cursor:default}.quest-tag-desc{color:var(--sand-700);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:1rem;overflow:hidden}.quest-tag-date{color:var(--sand-400);white-space:nowrap;font-size:1rem}.quest-tag-amt{color:var(--sand-800);white-space:nowrap;font-size:1rem;font-weight:600}.quest-create-overlay{z-index:200;background:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.quest-create-modal{background:var(--surface);border-radius:16px;width:100%;max-width:420px;overflow:hidden}.quest-create-header{border-bottom:1px solid var(--sand-200);color:var(--sand-800);justify-content:space-between;align-items:center;padding:1rem 1rem .75rem;font-size:1rem;font-weight:700;display:flex}.quest-create-form{flex-direction:column;gap:.5rem;padding:1rem;display:flex}.quest-create-label{color:var(--sand-500);margin-top:.25rem;font-size:1rem;font-weight:600}.quest-create-input{background:var(--sand-50,#fafaf9);border:1.5px solid var(--sand-200);color:var(--sand-800);box-sizing:border-box;border-radius:8px;width:100%;padding:.5rem .7rem;font-size:1rem}.quest-create-input:focus{border-color:var(--sand-400);outline:none}.quest-emoji-picker{flex-wrap:wrap;gap:.3rem;margin-bottom:.25rem;display:flex}.quest-emoji-opt{cursor:pointer;background:0 0;border:1.5px solid #0000;border-radius:8px;padding:.2rem .3rem;font-size:1.2rem}.quest-emoji-opt--active{border-color:var(--sand-400);background:var(--sand-100)}.quest-emoji-opt:hover{background:var(--sand-100)}.quest-btn-create{background:var(--green-600,#16a34a);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:.5rem;padding:.6rem;font-size:1rem;font-weight:600}.quest-btn-create:hover:not(:disabled){filter:brightness(1.1)}.quest-btn-create:disabled{opacity:.5;cursor:default}.analytics-modal-overlay{z-index:300;background:#00000073;justify-content:center;align-items:flex-start;padding:2.5rem 1rem 3rem;display:flex;position:fixed;inset:0;overflow-y:auto}.analytics-modal{background:var(--sand-50);border-radius:var(--radius-lg);flex-shrink:0;width:100%;max-width:860px;overflow:hidden;box-shadow:0 20px 60px #0000004d}.analytics-modal--wide{max-width:min(1200px,95vw)}.analytics-modal--wide .analytics-modal-body{padding:1.5rem 1rem}.analytics-modal--wide .budget-page{width:100%}.analytics-modal-header{background:var(--sand-900);color:#fff;justify-content:space-between;align-items:center;padding:1.1rem 1.5rem;display:flex}.analytics-modal-title{color:#fff;font-family:Fredoka,sans-serif;font-size:1.15rem}.analytics-modal-close{color:var(--sand-400);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.2rem .4rem;font-size:1.1rem;line-height:1;transition:background .12s}.analytics-modal-close:hover{color:#fff;background:#ffffff1a}.analytics-modal-body{padding:1.5rem}.analytics-cashflow-row{color:var(--sand-600);flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:.5rem;font-size:1rem;display:flex}.analytics-cashflow-item{white-space:nowrap}.analytics-chart-hint{color:var(--sand-400);text-align:center;margin-top:.4rem;font-size:1rem;font-style:italic}.budget-health-card{border:2px solid var(--green-600);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:#fff;flex-direction:column;gap:.5rem;padding:1rem 1.1rem;display:flex}.budget-health-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.budget-health-label{text-transform:uppercase;letter-spacing:.06em;color:var(--sand-600);font-size:1rem;font-weight:700}.budget-health-grade-pill{border-radius:99px;flex-shrink:0;align-items:baseline;gap:.35rem;padding:.25rem .75rem;display:flex}.budget-health-grade{font-family:Fredoka,sans-serif;font-size:1.6rem;font-weight:700;line-height:1}.budget-health-score{opacity:.8;font-size:1rem;font-weight:600}.budget-health-explanation{color:var(--sand-600);margin:0;font-size:1rem;line-height:1.4}.budget-health-toggle{color:var(--sand-500);cursor:pointer;text-align:left;background:0 0;border:none;padding:.35rem 0 0;font-size:1rem;font-weight:500}.budget-health-toggle:hover{color:var(--sand-800)}.budget-health-factors{flex-direction:column;gap:.6rem;margin-top:.5rem;display:flex}.budget-health-factor{flex-direction:column;gap:.18rem;display:flex}.budget-health-factor-header{justify-content:space-between;align-items:center;display:flex}.budget-health-factor-label{color:var(--sand-700);font-size:1rem;font-weight:600}.budget-health-factor-pts{font-size:1rem;font-weight:700}.budget-health-factor-pts--ok{color:var(--green-600)}.budget-health-factor-pts--bad{color:var(--danger)}.budget-health-factor-bar{background:var(--sand-150,#e8e6d8);border-radius:99px;height:4px;overflow:hidden}.budget-health-factor-fill{background:var(--green-600);border-radius:99px;height:100%;transition:width .3s}.budget-health-factor-detail{color:var(--sand-500);font-size:1rem}.cat-manage{border-top:1px solid var(--sand-200);margin-top:1.5rem}.cat-manage-toggle{width:100%;color:var(--sand-600);cursor:pointer;text-align:left;letter-spacing:.02em;background:0 0;border:none;justify-content:space-between;align-items:center;padding:.75rem 0;font-family:Nunito,sans-serif;font-size:1rem;font-weight:600;display:flex}.cat-manage-toggle:hover{color:var(--sand-900)}.cat-manage-toggle-icon{color:var(--sand-400);font-size:1rem}.cat-manage-body{flex-direction:column;gap:1rem;padding-bottom:1rem;display:flex}.cat-manage-error{color:var(--danger);font-size:1rem}.cat-add-form{flex-direction:column;gap:.5rem;display:flex}.cat-add-row,.cat-edit-form{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.cat-icon-input{text-align:center;flex-shrink:0;width:54px;padding:.4rem;font-size:1rem}.cat-name-input{flex:1;min-width:120px}.cat-type-select{flex-shrink:0;width:130px}.cat-section{flex-direction:column;gap:.25rem;display:flex}.cat-section-label{text-transform:uppercase;letter-spacing:.05em;color:var(--sand-400);margin-bottom:.15rem;font-size:1rem;font-weight:700}.cat-section-note{text-transform:none;letter-spacing:0;font-weight:400}.cat-row{border-radius:var(--radius);align-items:center;gap:.5rem;padding:.35rem .5rem;font-size:1rem;display:flex}.cat-row:hover{background:var(--sand-50)}.cat-row--hidden{opacity:.45}.cat-row-icon{text-align:center;flex-shrink:0;width:1.4rem;font-size:1rem}.cat-row-name{flex:1;font-weight:500}.cat-row-type{color:var(--green-700);background:var(--green-100);border-radius:99px;flex-shrink:0;padding:.1rem .4rem;font-size:1rem;font-weight:600}.cat-row-actions{flex-shrink:0;gap:.15rem;margin-left:auto;display:flex}.cat-action-btn{border:1px solid var(--sand-200);cursor:pointer;color:var(--sand-600);white-space:nowrap;background:0 0;border-radius:4px;padding:.18rem .5rem;font-family:Nunito,sans-serif;font-size:1rem;font-weight:600;transition:all .12s}.cat-action-btn:hover{background:var(--sand-100);border-color:var(--sand-400);color:var(--sand-900)}.cat-action-btn:disabled{opacity:.4;cursor:default}.cat-action-btn--delete:hover{border-color:var(--danger);color:var(--danger);background:#fee2e2}.panel-empty{text-align:center;color:var(--sand-600);padding:3rem}.panel-empty h2{margin-bottom:.75rem;font-family:Fredoka,sans-serif;font-size:1.5rem}.dev-panel{flex-direction:column;gap:1.25rem;display:flex}.dev-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.dev-title{color:var(--sand-900);font-family:Fredoka,sans-serif;font-size:1.4rem}.dev-warning{color:var(--danger);font-size:1rem;font-style:italic}.dev-section{border-radius:var(--radius-lg);box-shadow:var(--shadow);background:#fff;flex-direction:column;gap:1.25rem;padding:1.5rem 2rem;display:flex}.dev-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--sand-400);font-size:1rem;font-weight:600}.dev-stats{flex-direction:column;gap:1rem;display:flex}.dev-stat{flex-direction:column;gap:.35rem;display:flex}.dev-stat-header{justify-content:space-between;align-items:baseline;display:flex}.dev-stat-label{font-size:1rem;font-weight:500}.dev-stat-value{font-variant-numeric:tabular-nums;font-size:1rem;font-weight:700}.dev-slider{appearance:none;background:var(--sand-200);cursor:pointer;border-radius:99px;outline:none;width:100%;height:6px}.dev-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--green-700);cursor:pointer;border-radius:50%;width:18px;height:18px;transition:background .15s;box-shadow:0 1px 4px #0003}.dev-slider::-webkit-slider-thumb:hover{background:var(--green-800)}.dev-presets{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.dev-presets-label{color:var(--sand-400);margin-right:.25rem;font-size:1rem}.dev-preset-btn{border:1.5px solid var(--sand-200);cursor:pointer;background:#fff;border-radius:99px;padding:.3rem .75rem;font-family:Nunito,sans-serif;font-size:1rem;transition:all .15s}.dev-preset-btn:hover{border-color:var(--green-600);background:var(--green-100)}.dev-reason-row{border-top:1px solid var(--sand-200);grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding-top:.5rem;display:grid}.dev-reason-label{color:var(--sand-600);font-size:1rem;font-weight:500}.dev-reason-input{border:1.5px solid var(--sand-200);border-radius:8px;outline:none;padding:.5rem .75rem;font-family:Nunito,sans-serif;font-size:1rem;transition:border-color .15s}.dev-reason-input:focus{border-color:var(--green-600)}.dev-apply-btn{background:var(--green-700);color:#fff;border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:none;padding:.5rem 1.25rem;font-family:Nunito,sans-serif;font-size:1rem;font-weight:600;transition:background .15s}.dev-apply-btn:hover:not(:disabled){background:var(--green-800)}.dev-apply-btn:disabled{opacity:.6;cursor:not-allowed}.dev-apply-btn.ok{background:var(--green-600)}.dev-apply-btn.err{background:var(--danger)}.dev-seed-desc{color:var(--sand-600);font-size:1rem;line-height:1.5}.dev-actions{flex-wrap:wrap;gap:.75rem;display:flex}.dev-action-btn{border-radius:var(--radius);cursor:pointer;border:none;padding:.6rem 1.25rem;font-family:Nunito,sans-serif;font-size:1rem;font-weight:600;transition:all .15s}.dev-action-btn--secondary{background:var(--sand-100);color:var(--sand-900)}.dev-action-btn--secondary:hover{background:var(--sand-200)}.dev-action-btn--danger{background:var(--danger-light);color:var(--danger)}.dev-action-btn--danger:hover{background:#fecaca}.dev-action-btn.ok{background:var(--green-100);color:var(--green-800)}.dev-action-btn.err{background:var(--danger-light);color:var(--danger)}.dev-action-btn:disabled{opacity:.6;cursor:not-allowed}.net-worth-card{background:var(--green-900);border-radius:var(--radius-lg);color:#fff;margin-bottom:1.5rem;padding:1.5rem 2rem}.net-worth-header{justify-content:space-between;align-items:baseline;margin-bottom:1rem;display:flex}.net-worth-label{text-transform:uppercase;letter-spacing:.06em;color:var(--green-400);font-size:1rem;font-weight:600}.net-worth-total{font-family:Fredoka,sans-serif;font-size:2.25rem;line-height:1}.net-worth-total.positive{color:var(--green-400)}.net-worth-total.negative{color:var(--danger)}.net-worth-split{border-top:1px solid #ffffff1a;border-bottom:1px solid #ffffff1a;align-items:center;gap:1.5rem;margin-bottom:1rem;padding:.875rem 0;display:flex}.net-worth-split-item{flex-direction:column;gap:.25rem;display:flex}.net-worth-divider{background:#ffffff1f;width:1px;height:2rem}.split-label{text-transform:uppercase;letter-spacing:.05em;color:#ffffff73;font-size:1rem}.split-value{font-size:1.05rem;font-weight:600}.split-value.asset{color:var(--green-400)}.split-value.liability{color:var(--amber-400)}.account-group-label{text-transform:uppercase;letter-spacing:.06em;color:#ffffff4d;margin:.75rem 0 .35rem;font-size:1rem;font-weight:600}.account-row{flex-direction:column;gap:0;padding:.35rem 0;font-size:1rem;display:flex}.account-row-main{align-items:center;gap:.75rem;display:flex}.account-icon{font-size:1rem}.account-name{color:#fffc;flex:1}.account-mask{color:#ffffff59;letter-spacing:.02em;font-size:1rem}.account-type-badge{color:#ffffff59;white-space:nowrap;border:1px solid #ffffff1f;border-radius:99px;padding:.1rem .5rem;font-size:1rem}.account-type-badge--editable{cursor:pointer}.account-type-badge--editable:hover{color:#ffffffa6;border-color:#ffffff4d}.account-type-plaid-hint{opacity:.55;font-size:1rem}.account-type-select{background:var(--surface-2,#2a2a1e);color:#ffffffbf;cursor:pointer;border:1px solid #ffffff40;border-radius:6px;outline:none;padding:.1rem .35rem;font-size:1rem}.account-balance{font-weight:600}.account-balance.asset{color:var(--green-400)}.account-balance.liability{color:var(--amber-400)}.account-balance-label{color:#ffffff59;margin-right:.25rem;font-size:1rem}.account-rename-btn{cursor:pointer;color:#ffffff40;opacity:0;background:0 0;border:none;margin-left:.25rem;padding:0 .2rem;font-size:1rem;line-height:1;transition:opacity .15s}.account-row:hover .account-rename-btn{opacity:1}.account-rename-input{color:#fff;background:#ffffff14;border:1px solid #fff3;border-radius:4px;outline:none;flex:1;padding:.1rem .35rem;font-size:1rem}.account-rename-save{border:1px solid var(--green-600);cursor:pointer;color:var(--green-400);white-space:nowrap;background:0 0;border-radius:4px;margin-left:.35rem;padding:.15rem .5rem;font-size:1rem}.account-rename-save:disabled{opacity:.35;cursor:default}.account-edit-btn{color:#fff6;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #ffffff2e;border-radius:99px;margin-left:auto;padding:.15rem .5rem;font-size:1rem;font-weight:600;transition:color .12s,border-color .12s}.account-edit-btn:hover{color:#ffffffbf;border-color:#ffffff59}.account-edit-btn--active{color:var(--green-400);border-color:var(--green-600)}.account-edit-panel{background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;flex-direction:column;gap:.5rem;margin-top:.4rem;padding:.6rem .75rem;display:flex}.account-edit-field{flex-direction:column;gap:.2rem;display:flex}.account-edit-label{text-transform:uppercase;letter-spacing:.05em;color:#ffffff59;font-size:1rem;font-weight:700}.account-edit-row{align-items:center;display:flex}.net-worth-empty{align-items:center;gap:.75rem;padding:.9rem 1.25rem;display:flex}.net-worth-empty-icon{opacity:.45;flex-shrink:0;font-size:1.25rem}.net-worth-empty-text{color:#fff6;flex:1;font-size:1rem;font-style:italic}.net-worth-connect-btn{border:1px solid var(--green-700);color:var(--green-400);cursor:pointer;background:0 0;border-radius:99px;flex-shrink:0;padding:.3rem .8rem;font-family:inherit;font-size:1rem;font-weight:600}.net-worth-connect-btn:hover{background:var(--green-900)}.net-worth-footer{border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem 1rem .8rem;display:flex}.net-worth-analytics-btn{color:#ffffffb8;cursor:pointer;letter-spacing:.02em;background:#ffffff14;border:1px solid #ffffff2e;border-radius:6px;padding:.3rem .75rem;font-family:inherit;font-size:1rem;font-weight:600;transition:all .15s}.net-worth-analytics-btn:hover{color:#fff;background:#ffffff26;border-color:#ffffff59}.income-prompt{background:var(--amber-100);border:1.5px solid var(--amber-400);border-radius:var(--radius);align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.income-prompt-icon{flex-shrink:0;font-size:1.2rem}.income-prompt-text{color:#92400e;flex:1;font-size:1rem;line-height:1.4}.income-prompt-btn{background:var(--amber-500);color:#fff;cursor:pointer;border:none;border-radius:99px;flex-shrink:0;padding:.35rem .85rem;font-family:inherit;font-size:1rem;font-weight:700}.income-prompt-btn:hover{background:#d97706}.income-nudge{background:var(--sand-100);border:1.5px solid var(--sand-200);border-left:3px solid var(--amber-400);border-radius:var(--radius);color:var(--sand-600);justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem 1rem;font-size:1rem;display:flex}.income-nudge strong{color:var(--sand-900)}.income-nudge-btn{border:1.5px solid var(--sand-400);color:var(--sand-600);cursor:pointer;background:0 0;border-radius:99px;flex-shrink:0;padding:.25rem .7rem;font-family:inherit;font-size:1rem;font-weight:600}.income-nudge-btn:hover{border-color:var(--sand-600);color:var(--sand-900)}.income-field{border:1.5px solid var(--sand-200);border-radius:var(--radius);background:#fff;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.income-field-label{color:var(--sand-600);margin-bottom:.2rem;font-size:1rem}.income-field-value{color:var(--green-700);font-size:1.05rem;font-weight:700}.income-field-edit{border:1px solid var(--sand-200);background:var(--sand-50);color:var(--sand-600);cursor:pointer;border-radius:6px;flex-shrink:0;padding:.25rem .65rem;font-family:inherit;font-size:1rem;font-weight:600}.income-field-edit:hover{border-color:var(--sand-400)}.income-editor{border:1.5px solid var(--green-600);border-radius:var(--radius);background:#fff;flex-direction:column;gap:.6rem;padding:.9rem 1rem;display:flex}.income-editor-label{color:var(--sand-600);font-size:1rem;font-weight:600}.income-editor-row{align-items:center;gap:.5rem;display:flex}.income-editor-prefix{color:var(--sand-400);font-size:1rem;font-weight:600}.income-editor-input{flex-shrink:0;width:140px;font-size:1rem;font-weight:600}.income-editor-actions{align-items:center;gap:.4rem;margin-left:auto;display:flex}.income-editor-actions .btn-primary{width:auto;padding:.45rem 1.1rem;font-size:1rem}.income-editor-actions .btn-ghost{padding:.45rem .75rem;font-size:1rem}.analytics-panel{flex-direction:column;gap:1.25rem;display:flex}.analytics-health-card{background:var(--green-900);border-radius:var(--radius-lg);color:#fff;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.25rem 2rem;display:flex}.analytics-health-label{text-transform:uppercase;letter-spacing:.06em;color:var(--green-400);margin-bottom:.3rem;font-size:1rem;font-weight:600}.analytics-health-explanation{color:#ffffffbf;font-size:1rem}.analytics-health-score{flex-direction:column;flex-shrink:0;align-items:center;display:flex}.analytics-health-num{font-family:Fredoka,sans-serif;font-size:2.5rem;line-height:1}.analytics-health-grade{letter-spacing:.05em;margin-top:.1rem;font-size:1rem;font-weight:700}.analytics-section{border-radius:var(--radius-lg);box-shadow:var(--shadow);background:#fff;padding:1.5rem 2rem}.analytics-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--sand-400);margin-bottom:1rem;font-size:1rem;font-weight:600}.analytics-chart{border-bottom:1px solid var(--sand-100);width:100%;margin-bottom:.4rem;display:block}.analytics-chart-labels{color:var(--sand-400);justify-content:space-between;font-size:1rem;display:flex}.analytics-legend{color:var(--sand-600);align-items:center;gap:.4rem;margin-bottom:.5rem;font-size:1rem;display:flex}.analytics-legend-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.analytics-income-total{color:var(--green-700);font-family:Fredoka,sans-serif;font-size:2rem}.analytics-income-label{color:var(--sand-400);margin-left:.25rem;font-size:1rem}.analytics-income-sources{border-top:1px solid var(--sand-100);margin-top:.75rem;padding-top:.75rem}.analytics-income-row{align-items:center;gap:.5rem;padding:.25rem 0;font-size:1rem;display:flex}.analytics-income-name{color:var(--sand-600);flex:1}.analytics-income-cadence{text-transform:uppercase;letter-spacing:.04em;background:var(--sand-100);color:var(--sand-500);white-space:nowrap;border-radius:999px;padding:.15rem .45rem;font-size:1rem;font-weight:600}.analytics-income-amt{font-weight:600}.analytics-income-per{color:var(--sand-400);margin-left:.15rem;font-size:1rem;font-weight:400}.analytics-projection-summary{color:var(--sand-600);margin-top:.5rem;font-size:1rem}.analytics-projection-summary strong{color:var(--sand-900)}.bws{border:1.5px solid var(--sand-300,#d6c9b8);background:linear-gradient(135deg,#fefcf9 0%,#f7f1e9 100%);border-radius:10px;align-items:center;gap:8px;min-width:0;margin:.5rem 0 .25rem;padding:7px 12px;display:flex;box-shadow:0 1px 4px #3d342e0f}.bws--dead{border-color:var(--danger,#ef4444);background:linear-gradient(135deg,#fff5f5,#fee2e2)}.bws--urgent{border-color:var(--amber-500,#f59e0b);background:linear-gradient(135deg,#fffbeb,#fef3c7)}.bws--low{border-color:var(--amber-500,#f59e0b)}.bws-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.bws-dot--live{background:#22c55e;animation:2.2s ease-in-out infinite bws-dot-pulse}.bws-dot--off{background:#ef4444}.bws-label{color:var(--text,#2a231e);flex-shrink:0;font-size:1rem;font-weight:700}.bws-track{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;flex-shrink:0;padding:.15rem .5rem;font-size:1rem;font-weight:700}.bws-track--a{color:#15803d;background:#dcfce7}.bws-track--b{color:#92400e;background:#fef3c7}.bws-bar-wrap{flex:1;min-width:32px}.bws-bar-track{background:var(--sand-200,#ede5d9);border-radius:999px;height:7px;overflow:hidden}.bws-bar-fill{border-radius:999px;height:100%;transition:width .5s,background .5s}.bws-meta{color:var(--sand-400,#a08878);white-space:nowrap;flex-shrink:0;font-size:1rem}.bws-btn{cursor:pointer;border:none;border-radius:7px;flex-shrink:0;padding:.32rem .6rem;font-size:1rem;font-weight:700;transition:opacity .15s,transform .1s}.bws-btn:active:not(:disabled){transform:scale(.96)}.bws-btn:disabled{opacity:.45;cursor:default}.bws-btn--sync{background:var(--sand-100,#f5f0ea);border:1.5px solid var(--sand-300,#d6c9b8);color:var(--text,#2a231e)}.bws-btn--sync:hover:not(:disabled){background:var(--sand-200,#ede5d9)}.bws-btn--renew{background:var(--green-600,#16a34a);color:#fff}.bws--dead .bws-btn--renew{background:var(--danger,#ef4444)}.bws--urgent .bws-btn--renew{background:var(--amber-500,#f59e0b)}.bws-btn--renew:hover:not(:disabled){opacity:.88}@keyframes bws-dot-pulse{0%,to{opacity:1;box-shadow:0 0 #22c55e80}50%{opacity:.65;box-shadow:0 0 0 4px #22c55e00}}.pet-widget--inactive{opacity:.85}.pet-account-banner{border-radius:var(--radius);align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding:.875rem 1rem;display:flex}.pet-account-banner--coma{background:#fee2e2;border:1px solid #fca5a5}.pet-account-banner--mothball{background:#eff6ff;border:1px solid #bfdbfe}.pet-account-banner-icon{flex-shrink:0;font-size:1.5rem;line-height:1}.pet-account-banner-body strong{margin-bottom:.25rem;font-size:1rem;display:block}.pet-account-banner-body p{color:var(--sand-600);margin:0;font-size:1rem}.sync-toast{z-index:150;color:#e8f4e8;background:#2d3b2d;border-radius:.75rem;align-items:flex-start;gap:.75rem;min-width:240px;max-width:min(360px,100vw - 2rem);padding:.75rem 1rem;animation:.2s toast-in;display:flex;position:fixed;bottom:5.5rem;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000059}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.sync-toast-body{flex-direction:column;flex:1;gap:.2rem;display:flex}.sync-toast-title{font-size:1rem;font-weight:600}.sync-toast-preview{color:#a8c8a8;font-size:1rem}.sync-toast-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.35rem;display:flex}.sync-toast-view{color:#1a2e1a;cursor:pointer;white-space:nowrap;background:#4ade80;border:none;border-radius:.375rem;padding:.25rem .6rem;font-size:1rem;font-weight:600}.sync-toast-view:hover{background:#86efac}.sync-toast-dismiss{color:#6b8e6b;cursor:pointer;background:0 0;border:none;padding:0;font-size:1rem;line-height:1}.sync-toast-dismiss:hover{color:#a8c8a8}.scan-overlay{z-index:200;background:#0d2818d9;flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;display:flex;position:fixed;inset:0}.scan-message{color:var(--green-100);text-align:center;max-width:280px;font-size:1rem;line-height:1.5}.scan-spinner{border:3px solid #4ade8033;border-top-color:var(--green-400);border-radius:50%;width:48px;height:48px}.scan-spinner--fast{animation:.6s linear infinite spin}.scan-spinner--slow{animation:2.2s linear infinite spin}.premium-gate{background:var(--amber-100);border:1px solid var(--amber-400);border-radius:var(--radius);text-align:center;margin-top:1.25rem;padding:1.25rem}.premium-gate-icon{margin-bottom:.5rem;font-size:2rem}.premium-gate-title{margin-bottom:.5rem;font-size:1rem;font-weight:600}.premium-gate-desc{color:var(--sand-600);margin-bottom:1rem;font-size:1rem;line-height:1.5}.dev-subsection-label{text-transform:uppercase;letter-spacing:.06em;color:var(--sand-400);margin-bottom:.5rem;font-size:1rem;font-weight:600}.proj-key{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.6rem;margin-top:1rem;display:grid}.proj-key-card{border-left:3px solid var(--sand-300);background:var(--sand-50,#fafaf7);border-radius:0 8px 8px 0;flex-direction:column;gap:.18rem;padding:.6rem .75rem;display:flex}.notif-bell{position:relative}.notif-bell-btn{color:#b8a99a;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:background .15s,color .15s;display:flex;position:relative}.notif-bell-btn:hover,.notif-bell-btn--active{color:#7c5c4e;background:#fff0e8}.notif-badge{background:var(--amber-500);color:#fff;pointer-events:none;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 3px;font-size:1rem;font-weight:700;line-height:1;display:flex;position:absolute;top:4px;right:4px}.notif-dropdown{border:1px solid var(--sand-200);border-radius:var(--radius);width:320px;box-shadow:var(--shadow-lg);z-index:200;background:#fff;animation:.18s notifDropIn;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden}@keyframes notifDropIn{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.notif-dropdown-header{border-bottom:1px solid var(--sand-200);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.notif-dropdown-title{color:var(--sand-900);font-size:1rem;font-weight:600}.notif-dropdown-count{color:var(--sand-400);font-size:1rem}.notif-empty{text-align:center;color:var(--sand-400);padding:1.5rem 1rem;font-size:1rem}.notif-item{border-bottom:1px solid var(--sand-100);gap:.65rem;padding:.75rem 1rem;transition:background .1s;display:flex}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--sand-50)}.notif-item--unread{background:#fafff9}.notif-item--unread:hover{background:#f0fdf4}.notif-item-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:5px}.notif-item-dot--green{background:var(--green-600)}.notif-item-dot--amber{background:var(--amber-500)}.notif-item-body{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.notif-item-title{color:var(--sand-900);font-size:1rem;font-weight:500}.notif-item-preview{color:var(--sand-600);white-space:nowrap;text-overflow:ellipsis;font-size:1rem;overflow:hidden}.notif-item-time{color:var(--sand-400);font-size:1rem}.notif-item-footer{justify-content:space-between;align-items:center;margin-top:.1rem;display:flex}.notif-sync-btn{border:1px solid var(--green-600);color:var(--green-700);cursor:pointer;background:0 0;border-radius:5px;padding:.2rem .6rem;font-size:1rem;font-weight:500}.notif-sync-btn:hover{background:var(--green-100)}.sync-banner{align-items:center;gap:.75rem;padding:.75rem 1.25rem;font-size:1rem;animation:.25s syncBannerIn;display:flex}@keyframes syncBannerIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.sync-banner--track-a{background:var(--green-100);border-bottom:1px solid #bbf7d0}.sync-banner--track-b{background:var(--amber-100);border-bottom:1px solid #fde68a}.sync-banner-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.sync-banner-dot--green{background:var(--green-600)}.sync-banner-dot--amber{background:var(--amber-500)}.sync-banner-body{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.sync-banner-title{color:var(--sand-900);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.sync-banner-preview{color:var(--sand-600);white-space:nowrap;text-overflow:ellipsis;font-size:1rem;overflow:hidden}.sync-banner-actions{flex-shrink:0;gap:.5rem;display:flex}.sync-banner-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:.3rem .75rem;font-size:1rem;font-weight:500}.sync-banner-btn--primary{background:var(--green-700);color:#fff}.sync-banner-btn--primary:hover{background:var(--green-800)}.sync-banner-btn--ghost{color:var(--sand-600);border:1px solid var(--sand-200);background:0 0}.sync-banner-btn--ghost:hover{background:var(--sand-100)}.proj-key-name{letter-spacing:.01em;font-size:1rem;font-weight:700}.proj-key-driver{color:var(--sand-700);font-size:1rem;font-weight:500}.proj-key-detail{color:var(--sand-500);font-size:1rem;line-height:1.35}.proj-key-numbers{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem;margin-top:.35rem;display:flex}.proj-key-cf{font-size:1rem;font-weight:600}.proj-key-cf--pos{color:var(--green-700)}.proj-key-cf--neg{color:var(--danger)}.proj-key-outcome{color:var(--sand-900);white-space:nowrap;font-size:1rem;font-weight:700}.analytics-breakdown-table{width:100%;font-size:1rem;overflow-x:auto}.analytics-breakdown-header,.analytics-breakdown-row{border-bottom:1px solid var(--sand-100);align-items:center;gap:0;padding:.35rem 0;display:flex}.analytics-breakdown-header{color:var(--sand-500);font-size:1rem;font-weight:600}.analytics-breakdown-cat-col{white-space:nowrap;text-overflow:ellipsis;flex:1.8;align-items:center;gap:.3rem;min-width:0;display:flex;overflow:hidden}.analytics-breakdown-month-col{text-align:right;white-space:nowrap;color:var(--sand-700);flex:1;min-width:52px;padding-right:.5rem}.analytics-breakdown-zero{color:var(--sand-300)}.analytics-breakdown-total{color:var(--sand-900);font-weight:600}.analytics-breakdown-icon{font-size:1rem}.analytics-recurring-list{margin-bottom:1rem}.analytics-recurring-row{border-bottom:1px solid var(--sand-100);align-items:center;gap:.75rem;padding:.4rem 0;font-size:1rem;display:flex}.analytics-recurring-row:last-child{border-bottom:none}.analytics-recurring-name{flex:1;font-weight:500}.analytics-recurring-meta{color:var(--sand-400);font-size:1rem}.analytics-recurring-amt{color:var(--green-700);font-weight:600}.analytics-empty{flex-direction:column;gap:.75rem;display:flex}@media (width<=960px){.budget-page{flex-direction:column;gap:1rem}.budget-sidebar-left,.budget-sidebar-right{width:100%}.budget-sticky{max-height:none;position:static}}@media (width<=768px){.header{padding:0 1rem}.user-name{display:none}.tab-btn{font-size:1rem}.main-content{margin:1rem auto;padding:0 1rem}.main-content--wide{padding:0 .75rem}.budget-form{grid-template-columns:1fr 1fr}.budget-form>button[type=submit],.budget-form-error{grid-column:1/-1}.txn-account-select{flex:1;min-width:0}.analytics-cashflow-row{flex-wrap:wrap;gap:.4rem}.analytics-chart-labels,.account-row{font-size:1rem}.modal-box{width:95vw;max-width:95vw;padding:1.25rem 1rem}}.analytics-detect-btn{align-self:flex-start}.sub-panel{padding:.25rem 0}.sub-panel-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.sub-panel-title{color:var(--sand-900);font-family:Fredoka,sans-serif;font-size:1.3rem}.sub-detect-btn{border:1.5px solid var(--sand-200);color:var(--sand-600);cursor:pointer;background:0 0;border-radius:6px;padding:.3rem .65rem;font-size:1rem}.sub-detect-btn:hover:not(:disabled){background:var(--sand-100)}.sub-detect-btn:disabled{opacity:.45;cursor:default}.sub-summary{background:var(--green-100);border-radius:10px;flex-wrap:wrap;gap:1.5rem;margin-bottom:1.25rem;padding:.75rem 1rem;display:flex}.sub-summary-item{text-align:center}.sub-summary-value{color:var(--green-800);font-size:1.1rem;font-weight:700}.sub-summary-unit{color:var(--green-700);margin-left:1px;font-size:1rem;font-weight:500}.sub-summary-label{color:var(--sand-600);margin-top:.1rem;font-size:1rem}.sub-section+.sub-section{margin-top:1rem}.sub-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--sand-400);margin-bottom:.5rem;font-size:1rem;font-weight:700}.sub-card{border:1.5px solid var(--sand-200);background:#fff;border-radius:10px;align-items:center;gap:.75rem;margin-bottom:.45rem;padding:.65rem .75rem;display:flex}.sub-card--confirmed{border-color:var(--green-100);background:var(--green-100)}.sub-card-icon{text-align:center;flex-shrink:0;width:2rem;font-size:1.35rem}.sub-card-body{flex:1;min-width:0}.sub-card-name{flex-wrap:wrap;align-items:center;gap:.4rem;font-size:1rem;font-weight:600;display:flex}.sub-card-meta{color:var(--sand-600);margin-top:.15rem;font-size:1rem}.sub-amount{color:var(--sand-900);font-weight:600}.sub-meta-hint{color:var(--sand-400)}.sub-cycle-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:.1rem .4rem;font-size:1rem;font-weight:700}.sub-cycle-badge--monthly{background:var(--green-100);color:var(--green-800)}.sub-cycle-badge--annual{background:var(--amber-100);color:#92400e}.sub-confirmed-badge{color:var(--green-700);border:1px solid var(--green-600);background:#fff;border-radius:4px;padding:.1rem .4rem;font-size:1rem;font-weight:700}.sub-confidence{background:var(--sand-200);border-radius:2px;height:3px;margin-top:.4rem;overflow:hidden}.sub-confidence-bar{border-radius:2px;height:100%;transition:width .3s}.sub-card-actions{flex-shrink:0;gap:.4rem;display:flex}.sub-btn{cursor:pointer;background:0 0;border:1.5px solid;border-radius:6px;justify-content:center;align-items:center;width:1.9rem;height:1.9rem;font-size:1rem;display:flex}.sub-btn:disabled{opacity:.45;cursor:default}.sub-btn--confirm{border-color:var(--green-600);color:var(--green-700);background:var(--green-100)}.sub-btn--confirm:hover:not(:disabled){background:var(--green-600);color:#fff}.sub-btn--dismiss{border-color:var(--sand-200);color:var(--sand-600);background:#fff}.sub-btn--dismiss:hover:not(:disabled){background:var(--sand-100)}.sub-loading{color:var(--sand-400);padding:.5rem 0;font-size:1rem}.sub-empty{color:var(--sand-600);padding:.25rem 0;font-size:1rem}.sub-empty-hint{color:var(--sand-400);margin-top:.35rem;font-size:1rem}.cashflow-panel{flex-direction:column;gap:.75rem;display:flex}.cashflow-header{justify-content:space-between;align-items:center;display:flex}.cashflow-title{color:var(--sand-900);font-size:1rem;font-weight:600}.cashflow-banner{background:var(--amber-100);border:1px solid var(--amber-400);color:var(--sand-900);border-radius:8px;padding:.6rem .85rem;font-size:1rem;line-height:1.45}.cashflow-nav{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.cashflow-month-label{color:var(--sand-900);font-size:1rem;font-weight:500}.cashflow-nav-btn{border:1.5px solid var(--sand-200);cursor:pointer;width:2rem;height:2rem;color:var(--sand-600);background:#fff;border-radius:8px;justify-content:center;align-items:center;font-size:1.1rem;transition:background .15s,border-color .15s;display:flex}.cashflow-nav-btn:hover:not(:disabled){background:var(--sand-100);border-color:var(--sand-400)}.cashflow-nav-btn:disabled{opacity:.35;cursor:default}.cashflow-grid{background:var(--sand-200);border:1px solid var(--sand-200);border-radius:10px;grid-template-columns:repeat(7,1fr);gap:2px;display:grid;overflow:hidden}.cashflow-day-header{background:var(--sand-100);text-align:center;color:var(--sand-400);text-transform:uppercase;letter-spacing:.04em;padding:.3rem 0;font-size:1rem;font-weight:600}.cashflow-cell{background:#fff;flex-direction:column;gap:.2rem;min-height:4.5rem;padding:.3rem .3rem .25rem;display:flex}.cashflow-cell--empty{background:var(--sand-50)}.cashflow-cell--today{background:var(--green-100)}.cashflow-cell--past{opacity:.55;background:#fff}.cashflow-day-num{color:var(--sand-400);align-self:flex-end;font-size:1rem;font-weight:500;line-height:1}.cashflow-cell--today .cashflow-day-num{color:var(--green-700);font-weight:700}.cashflow-event{border-radius:4px;flex-direction:column;padding:.15rem .25rem;font-size:1rem;line-height:1.3;display:flex;overflow:hidden}.cashflow-event--monthly{background:var(--green-100);color:var(--green-700)}.cashflow-event--annual{background:var(--amber-100);color:#92400e}.cashflow-event-icon{font-size:1rem}.cashflow-event-name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-weight:500;overflow:hidden}.cashflow-event-amt{font-weight:600}@media (width<=560px){.cashflow-cell{min-height:2.5rem}.cashflow-event-name,.cashflow-event-amt{display:none}.cashflow-event{align-items:center;padding:.1rem}.cashflow-event-icon{font-size:1rem}}.cashflow-list{flex-direction:column;gap:.35rem;margin-top:.25rem;display:flex}.cashflow-list-item{background:var(--sand-50);border:1px solid var(--sand-200);border-radius:8px;align-items:center;gap:.5rem;padding:.5rem .6rem;font-size:1rem;transition:opacity .15s;display:flex}.cashflow-list-item--past{opacity:.55}.cashflow-list-icon{flex-shrink:0;font-size:1rem}.cashflow-list-name{color:var(--sand-900);flex:1;font-weight:500}.cashflow-list-date{color:var(--sand-400);white-space:nowrap;font-size:1rem}.cashflow-list-amt{color:var(--sand-900);white-space:nowrap;font-weight:600}.cashflow-charged-badge{color:var(--green-600);white-space:nowrap;font-size:1rem;font-weight:600}.cashflow-annual-badge{background:var(--amber-100);color:#92400e;white-space:nowrap;border-radius:4px;padding:.1rem .4rem;font-size:1rem;font-weight:500}.cashflow-loading{color:var(--sand-400);padding:.5rem 0;font-size:1rem}.cashflow-empty{color:var(--sand-600);padding:.25rem 0;font-size:1rem}@media (width>=700px){:root{--ad-rail-w:160px;--nb-side:0px}}@media (width>=1080px){:root{--ad-rail-w:300px}}.ad-rail{display:none}@media (width>=700px){.ad-rail{width:var(--ad-rail-w);z-index:90;background:#1a1612;flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex;position:fixed;top:52px;bottom:0}.ad-rail--left{border-right:2.5px solid var(--nb-border,#3d342e);left:0}.ad-rail--right{border-left:2.5px solid var(--nb-border,#3d342e);right:0}.main-content--room{left:var(--ad-rail-w)!important;right:var(--ad-rail-w)!important}.tab-nav{left:calc(.6 * var(--ad-rail-w,0px) + 20vw);right:calc(.6 * var(--ad-rail-w,0px) + 20vw);width:auto;bottom:14px}.main-content:not(.main-content--room){margin-left:var(--ad-rail-w);margin-right:var(--ad-rail-w)}}.ad-slot{display:none}.ad-slot--sky{display:flex}@media (width>=1080px){.ad-slot--sky{display:none}.ad-slot--half{display:flex}}.room-pet-wrap{z-index:3;flex-direction:column;align-items:center;animation:9s ease-in-out infinite pet-walk;display:flex;position:absolute;bottom:30%;left:50%;transform:translate(-50%)}@keyframes pet-walk{0%,to{margin-left:-20px}50%{margin-left:20px}}.room-pet-btn{cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;padding:0;display:flex}.room-pet-btn:focus-visible{border-radius:8px;outline:2px solid #fff9}.room-pet-img{transform-origin:bottom;image-rendering:pixelated;image-rendering:crisp-edges;animation:2.8s ease-in-out infinite pet-breathe}.room-pet--happy{filter:drop-shadow(0 8px 18px #0003)}.room-pet--calm{filter:drop-shadow(0 8px 18px #0003)brightness(.92)}.room-pet--sad{filter:drop-shadow(0 8px 18px #0003)brightness(.8)grayscale(.3)}@keyframes pet-breathe{0%,to{transform:scaleY(1)scaleX(1)}50%{transform:scaleY(.96)scaleX(1.03)}}.room-pet-shadow{background:#00000021;border-radius:50%;width:72px;height:10px;margin-top:-6px}.nb-spiral-bar{z-index:150;margin-left:var(--ad-rail-w);margin-right:var(--ad-rail-w);background:var(--nb-tan);border-bottom:2.5px solid var(--nb-border);height:var(--spiral-h);flex-shrink:0;justify-content:space-evenly;align-items:center;padding:0 1rem;display:flex;position:sticky;top:0}.nb-ring{border:2px solid var(--nb-border);background:linear-gradient(135deg,#e8d4b0 30%,#f0e0c0 100%);border-radius:6px;flex-shrink:0;width:13px;height:26px;box-shadow:inset 0 1px 2px #fff6}.nb-page{background-color:var(--nb-paper);background-image: repeating-linear-gradient(transparent, transparent 27px, var(--nb-line) 27px, var(--nb-line) 28px),  linear-gradient(to right, transparent calc(var(--nb-margin-x) - 2px), var(--nb-margin) calc(var(--nb-margin-x) - 2px), var(--nb-margin) var(--nb-margin-x), transparent var(--nb-margin-x));margin-top:0!important}.nb-page-header{padding:10px 1rem 9px calc(var(--nb-margin-x) + 10px);border-bottom:2px solid var(--nb-border);background:var(--nb-paper);top:var(--spiral-h);z-index:140;justify-content:space-between;align-items:center;display:flex;position:sticky}.nb-icons{align-items:center;gap:4px;display:flex}.badge-wrap{display:inline-flex;position:relative}.badge-dot{border:1.5px solid var(--nb-paper,#fdf6e2);pointer-events:none;background:#e87070;border-radius:50%;width:8px;height:8px;position:absolute;top:2px;right:2px}.nb-page-title{color:var(--nb-border);font-family:Caveat,cursive;font-size:1.5rem;font-weight:700}.nb-page .chores-insights,.nb-page .txn-panel,.nb-page .budget-onboarding-card,.nb-page .uncat-banner,.nb-page>:not(.nb-page-header){margin-left:calc(var(--nb-margin-x) + 4px);margin-right:1rem}@media (width<=500px){:root{--nb-margin-x:36px;--spiral-h:42px;--nb-top-gap:16px}.nb-ring{width:11px;height:20px}}.tab-content--fade{animation:.18s ease-out both tab-fade}.tab-content--up{animation:.28s cubic-bezier(.22,1,.36,1) both flip-up}.tab-content--down{animation:.28s cubic-bezier(.22,1,.36,1) both flip-down}@keyframes tab-fade{0%{opacity:0}to{opacity:1}}@keyframes flip-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes flip-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.nb-page .txn-desc{color:#3d342e;font-size:1rem;font-weight:600}.nb-page .txn-amount{font-size:1rem;font-weight:700}.nb-page .txn-date{color:var(--sand-600);font-weight:500}.nb-page .txn-cat-group-name{color:#3d342e;font-weight:700}.nb-page .txn-row{border-left-width:3px;border-left-color:#0000;position:relative;overflow:hidden}.nb-page .txn-row:before{content:"";transform-origin:0;pointer-events:none;z-index:0;background:linear-gradient(105deg,#fbd32885 0%,#fde04661 60%,#fee9643d 100%);transition:transform .42s ease-out;position:absolute;inset:0;transform:scaleX(0)}.nb-page .txn-row:hover:before{transition:transform .2s ease-out;transform:scaleX(1)}.nb-page .txn-row>*{z-index:1;position:relative}.nb-page .txn-row--uncategorized{border-left-color:var(--amber-400);background:#fbbf241a}.nb-page .chore-tabs{padding:12px calc(var(--nb-margin-x) + 4px) 8px;background:0 0;border-bottom:1px solid #b48c6433}.nb-page .chore-tab-btn{color:#6b4e2a;border-color:#a3784673;font-family:Nunito,sans-serif;font-size:1rem}.nb-page .chore-tab-btn:hover{background:#fdf6e2d9;border-color:#a37846b3}.nb-page .chore-tab-btn--budget.chore-tab-btn--active{color:#fdf6e2;background:#5c3318;border-color:#5c3318}.nb-page .chore-tab-btn--subs.chore-tab-btn--active{color:#eef8f4;background:#245747;border-color:#245747}.nb-page .chore-tab-btn--cashflow.chore-tab-btn--active{color:#ebf2f8;background:#24405e;border-color:#24405e}.nb-page .chores-section-header{letter-spacing:.01em;padding:.85rem calc(var(--nb-margin-x) + 4px) .85rem calc(var(--nb-margin-x) + 10px);border-radius:6px 6px 0 0;font-family:Nunito,sans-serif;font-size:1rem;font-weight:700;transition:background .12s,box-shadow .12s}.nb-page .chores-section-header:hover{box-shadow:inset 0 -2px 0 var(--nb-tan);background:#fdf6e2cc}.nb-page .chores-section-header--open{box-shadow:inset 0 -2px 0 var(--nb-tan-dk);background:#fdf6e2f2}.nb-page .chores-section-body{border-top:1px solid var(--nb-tan);background:#fffefacc}.nb-page .chores-section{border-bottom:1px solid #b48c642e}.nb-page .budget-bar-track{background:#c8aa8c40;border-radius:6px;height:10px}.nb-page .budget-fill,.nb-page .budget-fill--over{border-radius:6px;height:10px}.nb-page .sbn-arrow{background:var(--nb-paper);border-color:var(--nb-tan);color:var(--nb-border);box-shadow:0 3px 0 var(--nb-tan-dk);transition:background .12s,transform 80ms,box-shadow 80ms}.nb-page .sbn-arrow:hover:not(:disabled){background:var(--nb-tan)}.nb-page .sbn-arrow:active:not(:disabled){box-shadow:0 1px 0 var(--nb-tan-dk);transform:translateY(2px)}.nb-page .sbn-arrow:disabled{box-shadow:none;background:#fdf6e266;border-color:#c8aa8c4d}.nb-page .stamp-slot:not([style*="opacity: 0"]){transition:transform .14s,box-shadow .14s}.nb-page .stamp-slot:not([style*="opacity: 0"]):hover{transform:translateY(-3px)rotate(-1deg);box-shadow:0 6px 14px #643c142e}.rail-decor{display:none}@media (width>=700px){.rail-decor{z-index:1;flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:12px;left:8px;right:8px}}.rail-card{text-align:center;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;align-items:center;gap:5px;width:100%;padding:10px 8px;display:flex}.rail-pet-emoji{font-size:1.7rem;line-height:1.1}.rail-pet-name{color:#ffffffbf;letter-spacing:.04em;font-family:Caveat,cursive;font-size:1rem;font-weight:700}.rail-bar-track{background:#ffffff1a;border-radius:3px;width:80%;height:6px;overflow:hidden}.rail-bar-fill{border-radius:3px;height:100%;transition:width .6s}.rail-bar-fill--happy{background:#7bc67e}.rail-bar-fill--calm{background:#f6c244}.rail-bar-fill--sad{background:#e88b8b}.rail-mood-text{color:#ffffff73;font-family:Caveat,cursive;font-size:1rem}.rail-tip-label{letter-spacing:.1em;text-transform:uppercase;color:#ffffff59;font-size:1rem;font-weight:700}.rail-tip-text{color:#fff9;font-family:Caveat,cursive;font-size:1rem;line-height:1.45}.rail-pet-wrap{display:none}.rail-pet-wrap .room-pet-btn{pointer-events:none;animation:none}.rail-pet-wrap .room-pet-img{animation:none}.rail-pet-wrap .room-pet--happy,.rail-pet-wrap .room-pet--calm,.rail-pet-wrap .room-pet--sad{filter:drop-shadow(0 4px 8px #00000026)}.rail-pet-wrap .room-pet-shadow{display:none}@media (width>=1080px){.rail-pet-emoji{display:none}.rail-pet-wrap{transform-origin:top;margin-bottom:-28px;display:block;transform:scale(.68)}}@media (width>=700px){.nb-page{width:auto!important;max-width:none!important}.header-inner{padding-left:var(--ad-rail-w);padding-right:var(--ad-rail-w);max-width:none!important}}.room-layer{top:52px;bottom:0;left:var(--ad-rail-w,0px);right:var(--ad-rail-w,0px);z-index:5;background:#f5e6d0;position:fixed;overflow:hidden}.notebook-layer{top:auto;bottom:var(--nav-bottom);border:2.5px solid var(--nb-border,#3d342e);z-index:15;flex-direction:column;height:85vh;transition:transform .52s cubic-bezier(.34,1.38,.64,1);display:flex;position:fixed;left:0;right:0}.notebook-layer--hidden{pointer-events:none;transform:translateY(105%)}@media (width>=700px){.notebook-layer{left:calc(.6 * var(--ad-rail-w,0px) + 20vw);right:calc(.6 * var(--ad-rail-w,0px) + 20vw);width:auto}}.notebook-layer .nb-spiral-bar{flex-shrink:0;margin-left:0;margin-right:0;position:relative}.nb-spiral-bar--tabbed{clip-path:inset(0 0 -6px);justify-content:space-between;align-items:stretch;padding:0 6px;overflow:hidden}.nb-rings-group{flex-shrink:0;align-items:center;gap:4px;padding:0 2px;display:flex}.nb-spiral-bar .chore-tabs{border-bottom:none;flex:1;align-items:flex-end;gap:2px;min-width:0;padding:0 4px;display:flex}.nb-spiral-bar .chore-tab-btn{color:#3d342ea6;letter-spacing:.02em;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;text-transform:none;background:#5a3e202e;border:1.5px solid #3d342e8c;border-bottom:none;border-radius:8px 8px 0 0;flex:1;min-width:0;height:40px;padding:0 4px 4px;font-family:Nunito,sans-serif;font-size:clamp(.55rem,1.4vw,.88rem);font-weight:800;transition:background .12s,color .12s;overflow:hidden}.nb-spiral-bar .chore-tab-btn:hover{color:#3d342ee6;background:#5a3e2052}.nb-spiral-bar .chore-tab-btn.chore-tab-btn--active{height:50px;margin-bottom:-2.5px;font-weight:900}.nb-spiral-bar .chore-tab-btn--budget{color:#3d342ec7;background:#fdf6e2b8;border-color:#3d342e73}.nb-spiral-bar .chore-tab-btn--budget.chore-tab-btn--active{background:var(--nb-paper);color:var(--nb-border);border-color:var(--nb-border)}.nb-spiral-bar .chore-tab-btn--budget.chore-tab-btn--active:hover{background:var(--nb-paper)}.nb-spiral-bar .chore-tab-btn--subs{color:#e1eefff2;background:#3c69af94;border-color:#3c69afbf}.nb-spiral-bar .chore-tab-btn--subs.chore-tab-btn--active{color:#e1eeff;background:#3c69af;border-color:#2c57a0}.nb-spiral-bar .chore-tab-btn--subs.chore-tab-btn--active:hover{background:#2c57a0}.nb-spiral-bar .chore-tab-btn--cashflow{color:#ffeedaf2;background:#c8641c9e;border-color:#c8641cc7}.nb-spiral-bar .chore-tab-btn--cashflow.chore-tab-btn--active{color:#ffeedb;background:#c8641c;border-color:#b05412}.nb-spiral-bar .chore-tab-btn--cashflow.chore-tab-btn--active:hover{background:#b05412}.nb-paper-area{scrollbar-width:thin;scrollbar-color:var(--nb-tan) transparent;background:var(--nb-paper,#fdf6e2);flex:1;min-height:0;padding-bottom:12px;overflow-y:auto}.nb-paper-area::-webkit-scrollbar{width:4px}.nb-paper-area::-webkit-scrollbar-thumb{background:var(--nb-tan);border-radius:2px}.stamp-book-wrap{padding:calc(var(--nb-margin-x) + 8px) 1rem 1rem;flex-direction:column;align-items:center;display:flex}.stamp-book-shell{perspective:1400px;width:100%;max-width:480px;box-shadow:-6px 0 0 #a07050,  -8px 2px 0 #8a5c38,  4px 8px 24px #3c281447, inset 0 0 0 1.5px var(--nb-border,#3d342e);border-radius:4px 12px 12px 4px;position:relative}.stamp-book-page{background:var(--nb-paper,#fdf6e2);background-image:repeating-linear-gradient(transparent, transparent 27px, var(--nb-line,#e0cdb4) 27px, var(--nb-line,#e0cdb4) 28px);transform-origin:0;border-radius:4px 12px 12px 4px;flex-direction:column;width:100%;min-height:340px;transition:none;display:flex;overflow:hidden}.stamp-book-page--fwd{animation:.38s cubic-bezier(.4,0,.2,1) both book-flip-fwd}.stamp-book-page--bwd{animation:.38s cubic-bezier(.4,0,.2,1) both book-flip-bwd}@keyframes book-flip-fwd{0%{opacity:0;transform:rotateY(-55deg)scale(.94)}to{opacity:1;transform:rotateY(0)scale(1)}}@keyframes book-flip-bwd{0%{opacity:0;transform:rotateY(55deg)scale(.94)}to{opacity:1;transform:rotateY(0)scale(1)}}.sbp-footer{border-top:1px solid var(--nb-line,#e0cdb4);justify-content:center;align-items:center;height:28px;margin-top:auto;display:flex}.sbp-page-num{color:var(--nb-text-dim,#9b8b7b);letter-spacing:.08em;font-family:Caveat,cursive;font-size:1rem}.stamp-book-nav{margin-top:10px}.nb-paper-area .nb-page-header{z-index:20;background:var(--nb-paper,#fdf6e2);border-bottom:2px solid var(--nb-border,#3d342e);padding:8px 1rem 8px calc(var(--nb-margin-x) + 8px);box-shadow:0 2px 0 var(--nb-line,#e0cdb4);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.nb-paper-area .chores-insights,.nb-paper-area .txn-panel,.nb-paper-area .budget-onboarding-card,.nb-paper-area .uncat-banner,.nb-paper-area>:not(.nb-page-header){margin-left:calc(var(--nb-margin-x) + 4px);margin-right:1rem}.nb-paper-area .stamp-book-wrap{margin-left:0;margin-right:0}.ledger-summary{border-bottom:1.5px solid var(--nb-line,#e0cdb4);flex-shrink:0;padding:11px 14px 11px 0}.nb-paper-area .ledger-summary{margin-left:calc(var(--nb-margin-x) + 4px);margin-right:1rem}.bbar-row{color:#6b5c4e;justify-content:space-between;margin-bottom:5px;font-size:1rem;font-weight:600;display:flex}.btrack{border:2px solid var(--nb-border,#3d342e);background:#e4d4b8;border-radius:6px;height:13px;margin-bottom:9px;overflow:hidden}.bfill{border-radius:4px;height:100%}.pills{gap:6px;display:flex}.pill{border:2px solid var(--nb-border,#3d342e);border-radius:8px;flex:1;padding:5px 7px}.pill-lbl{color:#6b5c4e;font-size:1rem;font-weight:600}.pill-val{font-family:Nunito,sans-serif;font-size:1rem;font-weight:700}.budget-tab-layout{flex-direction:column;gap:8px;padding:8px 12px 12px;display:flex}.budget-hud{background:var(--nb-paper);border:1.5px solid #3d342e33;border-radius:10px;flex-direction:column;justify-content:center;gap:7px;padding:10px;display:flex}.budget-hud-row{grid-template-columns:52px 1fr 64px;align-items:center;gap:5px;display:grid}.budget-hud-label{color:var(--ink-muted,#6b5c4e);text-transform:uppercase;letter-spacing:.04em;font-size:1rem;font-weight:700}.budget-hud-track{background:#3d342e1a;border-radius:3px;height:5px;overflow:hidden}.budget-hud-fill{border-radius:3px;height:100%;transition:width .35s}.budget-hud-amt{text-align:right;font-variant-numeric:tabular-nums;font-size:1rem;font-weight:700}.bsb-card{background:var(--nb-paper);border:1.5px solid #3d342e33;border-radius:10px;overflow:hidden}.bsb-card--open{border-color:#3d342e59}.bsb-top{grid-template-columns:1fr 1fr;align-items:stretch;display:grid}.bsb-health-col{border-right:1px solid #3d342e26;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.bsb-health-hdr{justify-content:space-between;align-items:center;gap:8px;display:flex}.bsb-health-title{color:var(--sand-600);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;font-weight:800}.bsb-grade-pill{border-radius:20px;flex-shrink:0;align-items:baseline;gap:3px;padding:3px 8px;display:flex}.bsb-grade{font-size:1.1rem;font-weight:800}.bsb-score{opacity:.85;font-size:.85rem;font-weight:600}.bsb-explanation{color:var(--sand-600);flex:1;margin:0;font-size:.92rem;line-height:1.4}.bsb-toggle{cursor:pointer;color:var(--sand-500);text-align:left;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.85rem;font-weight:600}.bsb-toggle:hover{color:var(--sand-700)}.bsb-hud-col{flex-direction:column;justify-content:center;gap:6px;padding:10px 12px;display:flex}.bsb-hud-row{grid-template-columns:48px 1fr 58px;align-items:center;gap:5px;display:grid}.bsb-hud-label{color:var(--sand-500);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:700}.bsb-hud-track{background:#3d342e1a;border-radius:3px;height:5px;overflow:hidden}.bsb-hud-fill{border-radius:3px;height:100%;transition:width .35s}.bsb-hud-amt{text-align:right;font-variant-numeric:tabular-nums;font-size:.92rem;font-weight:700}.bsb-hud-hint{color:var(--sand-400);font-size:.85rem;font-style:italic}.bsb-expanded{border-top:1px solid #3d342e26;grid-template-columns:1fr 1fr;align-items:start;display:grid}.bsb-expand-col{flex-direction:column;gap:8px;padding:10px 12px;display:flex}.bsb-expand-col:first-child{border-right:1px solid #3d342e26}.bsb-section-title{color:var(--sand-600);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;font-weight:800}.bsb-section-hdr{justify-content:space-between;align-items:center;gap:6px;display:flex}.bsb-inner-divider{background:#3d342e1a;height:1px;margin:2px 0}.bsb-factors{flex-direction:column;gap:8px;display:flex}.bsb-factor{flex-direction:column;gap:3px;display:flex}.bsb-factor-hdr{justify-content:space-between;align-items:center;display:flex}.bsb-factor-label{color:var(--sand-700);font-size:.92rem;font-weight:600}.bsb-factor-pts{font-size:.92rem;font-weight:700}.bsb-factor-pts--ok{color:var(--green-600)}.bsb-factor-pts--bad{color:var(--danger)}.bsb-factor-bar{background:#3d342e1f;border-radius:2px;height:4px;overflow:hidden}.bsb-factor-fill{background:var(--green-500);border-radius:2px;height:100%;transition:width .3s}.bsb-factor-detail{color:var(--sand-400);font-size:.85rem}.bsb-setting-row{justify-content:space-between;align-items:center;gap:6px;display:flex}.bsb-setting-val{color:var(--sand-800);font-size:1rem;font-weight:600}.bsb-edit-btn{color:var(--sand-700);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #3d342e40;border-radius:6px;padding:2px 8px;font-size:.85rem;font-weight:600}.bsb-edit-btn:hover{background:#3d342e0f}.bsb-income-editor{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.bsb-income-prefix{color:var(--sand-600);font-size:1rem;font-weight:700}.bsb-income-input{width:90px}.bsb-split-rows{flex-direction:column;gap:4px;display:flex}.bsb-split-row{align-items:center;gap:6px;display:flex}.bsb-split-label{color:var(--sand-700);width:52px;font-size:.92rem}.bsb-split-pct{color:var(--sand-800);width:32px;font-size:.92rem;font-weight:700}.bsb-split-amt{color:var(--sand-400);font-size:.85rem}.bsb-error{color:var(--danger);margin:0;font-size:.85rem}.budget-tab-row{border-bottom:1px solid #3d342e17;grid-template-rows:auto auto;grid-template-columns:minmax(0,8.5rem) 1fr auto;align-items:center;column-gap:8px;padding:7px 0;display:grid}.budget-tab-cat{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:4px;min-width:0;padding:0;display:flex}.budget-tab-cat-icon{flex-shrink:0;font-size:1rem}.budget-tab-cat-name{color:var(--ink,#3d342e);white-space:nowrap;text-overflow:ellipsis;font-size:1rem;font-weight:600;overflow:hidden}.budget-tab-row--over .budget-tab-cat-name{color:var(--danger,#e87070)}.budget-tab-track{background:#3d342e1a;border-radius:3px;grid-column:1/-1;height:5px;margin-top:3px;overflow:hidden}.budget-tab-fill{background:var(--green-600,#166534);border-radius:3px;height:100%;transition:width .3s}.budget-tab-fill--over{background:var(--danger,#e87070)}.budget-tab-row>.budget-drilldown{grid-column:1/-1}.budget-tab-amts{font-variant-numeric:tabular-nums;flex-shrink:0;align-items:center;gap:1px;font-size:1rem;display:flex}.budget-tab-spent{color:var(--ink-muted,#6b5c4e);font-weight:600}.budget-tab-spent--over{color:var(--danger,#e87070);font-weight:700}.budget-tab-sep{color:#3d342e59;margin:0 2px}.budget-tab-limit-btn{color:var(--ink,#3d342e);cursor:pointer;background:0 0;border:none;border-bottom:1px dashed #3d342e73;padding:0 1px;font-size:1rem;font-weight:600;line-height:1.2}.budget-tab-limit-input{border:1.5px solid var(--green-600,#166534);background:#fff;border-radius:4px;outline:none;width:60px;padding:1px 4px;font-size:1rem}.budget-tab-over-label{color:var(--danger,#e87070);white-space:nowrap;margin-left:4px;font-size:1rem;font-weight:700}.budget-tab-add-btn{width:100%;color:var(--ink-muted,#6b5c4e);cursor:pointer;text-align:center;background:0 0;border:1.5px dashed #3d342e59;border-radius:8px;margin-top:4px;padding:8px;font-size:1rem;font-weight:600;transition:background .12s}.budget-tab-add-btn:hover{background:#3d342e0d}.budget-tab-add-form{background:#3d342e08;border:1.5px solid #3d342e2e;border-radius:8px;flex-direction:column;gap:6px;padding:8px;display:flex}.budget-tab-add-row{align-items:center;gap:5px;display:flex}.budget-tab-add-row .form-input{flex:1;min-width:0}.budget-tab-add-row .btn-primary,.budget-tab-add-row .btn-ghost{flex-shrink:0;width:auto}.budget-tab-new-cat-form{background:#3d342e08;border:1.5px solid #3d342e1f;border-radius:8px;flex-direction:column;gap:6px;padding:8px;display:flex}.budget-tab-new-cat-row{align-items:center;gap:5px;display:flex}.budget-tab-new-cat-row .form-input{flex:1;min-width:0}.budget-tab-new-cat-row .cat-icon-input{text-align:center;flex:0 0 50px}.budget-tab-new-cat-row .cat-type-select{flex:0 0 76px;padding-inline:4px;font-size:1rem}.budget-tab-layout .cat-manage{border-top:none;margin-top:0}.budget-tab-layout .cat-manage-toggle{color:var(--ink-muted,#6b5c4e);letter-spacing:0;background:0 0;border:1.5px dashed #3d342e59;border-radius:8px;justify-content:center;gap:6px;margin-top:4px;padding:8px;font-size:1rem;font-weight:600}.budget-tab-layout .cat-manage-toggle:hover{background:#3d342e0d}.budget-tab-layout .cat-manage-toggle-icon{color:inherit;font-size:1rem}.budget-tab-layout .cat-manage-body{padding:8px;background:#3d342e08;border:1.5px solid #3d342e2e;border-radius:8px;gap:6px;padding-bottom:8px}.budget-tab-pills{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.budget-tab-pill{white-space:nowrap;border-radius:20px;padding:4px 10px;font-size:1rem;font-weight:700}.budget-tab-pill--ok{background:var(--green-100,#dcfce7);color:var(--green-700,#15803d)}.budget-tab-pill--warn{color:var(--danger,#e87070);background:#fee2e2}.budget-tab-layout .budget-pie-svg{max-width:200px;margin:0 auto}.budget-tab-layout .budget-pie-legend{padding:0 .75rem .75rem}.uncat-banner{color:#8b5e1a;background:#fff8e8;border:2px solid #f5a623;border-radius:8px;flex-shrink:0;align-items:center;gap:7px;margin:8px 1rem 4px 0;padding:7px 10px;font-size:1rem;display:flex}.nb-paper-area .uncat-banner{margin-left:calc(var(--nb-margin-x) + 4px);margin-right:1rem}.tx{align-items:center;gap:10px;padding:8px 0;display:flex}.tx-badge{border:2px solid var(--nb-border,#3d342e);background:#fff8e8;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;display:flex}.tx-info{flex:1;min-width:0}.tx-name{color:#3d342e;flex-wrap:wrap;align-items:center;gap:4px;font-size:1rem;font-weight:600;display:flex;overflow:hidden}.tx-cat{color:#6b5a4a;margin-top:1px;font-size:1rem;font-weight:500}.tx-amt{flex-shrink:0;margin-left:6px;font-family:Nunito,sans-serif;font-size:1rem;font-weight:700}.tx-amt.pos{color:#4caf50}.tx-amt.neg{color:#d06060}.chip{vertical-align:middle;white-space:nowrap;border:1.5px solid;border-radius:50px;flex-shrink:0;padding:1px 6px;font-size:1rem;font-weight:700;display:inline-block}.chip--uncat{color:#a07840}.chip--pending{color:#7b6b5b}.chip--type{color:#3e87a8}.chip--one-time{color:#8860c0}.chip--installment{color:#4a9a60}.date-head{letter-spacing:.05em;text-transform:uppercase;color:#4e3d30;border-bottom:1.5px dashed var(--nb-tan,#c4a882);margin-bottom:1px;padding:7px 0 2px;font-family:Nunito,sans-serif;font-size:1rem;font-weight:700}.stamps-scroll{padding:10px 1rem 8px 0;overflow-y:auto}.nb-paper-area .stamps-scroll{margin-left:calc(var(--nb-margin-x) + 4px)}.pet-card{border:2px solid var(--nb-border,#3d342e);box-shadow:2px 2px 0 var(--nb-tan,#c4a882);background:#fff8e8;border-radius:12px;align-items:center;gap:12px;margin-bottom:10px;padding:11px 13px;display:flex}.pet-card-avatar{object-fit:contain;width:52px;height:52px;image-rendering:pixelated;image-rendering:crisp-edges;flex-shrink:0}.pet-card-name{color:#3d342e;font-family:Caveat,cursive;font-size:1.15rem}.mini-bar-row{color:#6b5c4e;align-items:center;gap:8px;margin-bottom:5px;font-size:1rem;display:flex}.mini-track{background:#e4d4b8;border-radius:3px;flex:1;height:7px;overflow:hidden}.mini-fill{border-radius:3px;height:100%}.stamps-sec{color:#4e3d30;border-bottom:1.5px dashed var(--nb-tan,#c4a882);margin-bottom:8px;padding:4px 0 8px;font-family:Caveat,cursive;font-size:1.1rem;font-weight:700}.stamps-empty{color:#6b5a4a;padding:4px 0 12px;font-size:1rem;font-weight:500}.stamps-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px;display:grid}@media (width>=480px){.stamps-grid{grid-template-columns:repeat(3,1fr)}}.stamp-tile{border:2.5px solid var(--nb-border,#3d342e);text-align:center;background:#fff8e8;border-radius:12px;padding:14px 10px;position:relative}.stamp-tile--locked{opacity:.4;filter:grayscale(.7)}.stamp-emoji{margin-bottom:6px;font-size:2rem;display:block}.stamp-lock{opacity:.6;font-size:1rem;position:absolute;top:6px;right:8px}.stamp-name{color:#3d342e;font-family:Nunito,sans-serif;font-size:1rem;font-weight:600;line-height:1.3}.stamp-sub{color:#6b5a4a;margin-top:4px;font-size:1rem;font-weight:500;line-height:1.3}.sbp-new-btn{color:#5d4c3c;cursor:pointer;background:#fff0d8;border:1.5px solid #c4a882;border-radius:999px;align-items:center;gap:4px;padding:.2rem .65rem;font-size:1rem;font-weight:600;line-height:1;display:inline-flex}.sbp-new-btn:hover{background:#ffe4b8;border-color:#a8896a}.settings-modal{z-index:200;background:#3d342e7a;align-items:flex-end;display:none;position:fixed;inset:0}.settings-modal.open{display:flex}.settings-sheet{background:var(--nb-paper,#fdf6e2);border:2.5px solid var(--nb-border,#3d342e);border-bottom:none;border-radius:18px 18px 0 0;width:100%;max-width:780px;max-height:82%;margin:0 auto;padding:0 0 36px;animation:.3s cubic-bezier(.34,1.3,.64,1) both sheet-up;overflow-y:auto}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-handle{background:var(--nb-tan,#c4a882);border-radius:2px;width:36px;height:4px;margin:10px auto 12px}.sheet-profile{border-bottom:1.5px solid var(--nb-line,#e0cdb4);align-items:center;gap:12px;margin-bottom:4px;padding:0 18px 12px;display:flex}.sheet-avatar{border:2.5px solid var(--nb-border,#3d342e);background:#fff8e8;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;display:flex;overflow:hidden}.sheet-avatar-img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges}.sheet-name{color:#3d342e;font-family:Caveat,cursive;font-size:1.2rem}.sheet-email{color:#9b8b7b;font-size:1rem}.sheet-group{padding:6px 18px 0}.sheet-group-title{letter-spacing:.7px;text-transform:uppercase;color:#9b8b7b;margin-bottom:5px;font-size:1rem;font-weight:700}.sheet-card{border:2px solid var(--nb-border,#3d342e);background:#fff8e8;border-radius:10px;margin-bottom:9px;overflow:hidden}.s-row{border-bottom:1px dashed var(--nb-line,#e0cdb4);justify-content:space-between;align-items:center;padding:9px 12px;display:flex}.s-row:last-child{border-bottom:none}.s-row-lbl{color:#3d342e;font-size:1rem;font-weight:600}.s-row-val{color:#6b5c4e;font-size:1rem}.s-row-sub{color:#7a6a5e;margin-top:1px;font-size:1rem}.toggle--loading{opacity:.45;pointer-events:none}.toggle{background:var(--nb-tan,#c4a882);border:2px solid var(--nb-border,#3d342e);cursor:pointer;border-radius:11px;flex-shrink:0;width:38px;height:21px;transition:background .2s;display:inline-block;position:relative}.toggle.on{background:#6dbf82}.toggle:after{content:"";border:1.5px solid var(--nb-border,#3d342e);background:#fff;border-radius:50%;width:14px;height:14px;transition:left .2s;position:absolute;top:1.5px;left:2px}.toggle.on:after{left:19px}.signout-btn{color:#c05050;cursor:pointer;background:#fff0f0;border:2px solid #e87070;border-bottom-width:4px;border-radius:10px;width:calc(100% - 36px);margin:4px 18px 0;padding:10px;font-size:1rem}.sheet-version{text-align:center;color:#c4b5a5;letter-spacing:.04em;margin-top:10px;font-size:1rem}.quests-panel{flex-direction:column;display:flex}.quests-sub-tabs{scrollbar-width:none;gap:.25rem;padding:.5rem 1rem .75rem;display:flex;overflow-x:auto}.quests-sub-tabs::-webkit-scrollbar{display:none}.quests-sub-tab{color:#6b5e4e;cursor:pointer;white-space:nowrap;background:0 0;border:1.5px solid #d4c9b8;border-radius:999px;flex-shrink:0;padding:.3rem .75rem;font-family:Nunito,sans-serif;font-size:1rem;font-weight:600;transition:background .12s,border-color .12s,color .12s}.quests-sub-tab:hover{background:#ede8df;border-color:#b8a99a}.quests-sub-tab--active{color:#fff;background:#5d4c3c;border-color:#5d4c3c}.quests-content{padding:0 1rem 6rem}.qs-section{flex-direction:column;gap:1rem;display:flex}.qs-coming-tag{color:#92400e;letter-spacing:.06em;text-transform:uppercase;background:#fef3c7;border:1px solid #fde68a;border-radius:999px;align-self:flex-start;padding:.2rem .65rem;font-size:1rem;font-weight:700;display:inline-flex}.qs-section-desc{color:#6b5e4e;margin:0;font-size:1rem;line-height:1.5}.qs-quest-list{flex-direction:column;gap:.5rem;display:flex}.qs-quest-card{background:#fff8e8;border:1.5px solid #e8dfd0;border-radius:10px;align-items:center;gap:.75rem;padding:.65rem .75rem;display:flex}.qs-quest-card--locked{opacity:.55;filter:grayscale(.3)}.qs-quest-icon{flex-shrink:0;font-size:1.25rem}.qs-quest-body{flex-direction:column;flex:1;gap:.3rem;min-width:0;display:flex}.qs-quest-task{color:#3d342e;font-size:1rem;font-weight:600}.qs-quest-bar-wrap{align-items:center;gap:.5rem;display:flex}.qs-quest-bar{background:#e8dfd0;border-radius:99px;flex:1;height:5px;overflow:hidden}.qs-quest-bar-fill{background:#6dbf82;border-radius:99px;height:100%;transition:width .3s}.qs-quest-progress{color:#9b8b7e;white-space:nowrap;font-size:1rem}.qs-quest-reward{flex-shrink:0;align-items:center;gap:.25rem;display:flex}.qs-coin-icon{font-size:1rem}.qs-coin-amt{color:#b45309;font-size:1rem;font-weight:700}.qs-pass-xp-block{background:#fff8e8;border:1.5px solid #e8dfd0;border-radius:10px;align-items:center;gap:.75rem;padding:.75rem;display:flex}.qs-pass-level-badge{color:#fff;white-space:nowrap;opacity:.45;background:#5d4c3c;border-radius:8px;flex-shrink:0;padding:.3rem .5rem;font-size:1rem;font-weight:700}.qs-pass-level-badge--next{opacity:.3}.qs-pass-xp-wrap{flex-direction:column;flex:1;gap:.3rem;display:flex}.qs-pass-xp-bar{background:#e8dfd0;border-radius:99px;height:8px;overflow:hidden}.qs-pass-xp-fill{background:#f59e0b;border-radius:99px;height:100%;transition:width .4s}.qs-pass-xp-label{color:#9b8b7e;text-align:right;font-size:1rem}.qs-pass-tiers{flex-direction:column;display:flex}.qs-pass-tier{border-left:2px solid #d4c9b8;align-items:center;gap:.75rem;margin-left:.5rem;padding:.5rem .75rem;display:flex}.qs-pass-tier--locked{opacity:.45}.qs-pass-tier-level{color:#9b8b7e;text-align:right;flex-shrink:0;width:2.5rem;font-size:1rem;font-weight:700}.qs-pass-tier-node{background:#d4c9b8;border:2px solid #b8a99a;border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-left:-6px}.qs-pass-tier-reward{color:#3d342e;font-size:1rem;font-weight:500}.qs-shop-header{justify-content:space-between;align-items:center;display:flex}.qs-coin-balance{background:#fef3c7;border:1px solid #fde68a;border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .75rem;display:flex}.qs-coin-balance-amt{color:#92400e;font-size:1rem;font-weight:700}.qs-shop-rotate-label{color:#9b8b7e;font-size:1rem}.qs-shop-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.qs-shop-slot{aspect-ratio:1;background:#fff8e8;border:1.5px dashed #d4c9b8;border-radius:10px;justify-content:center;align-items:center;display:flex}.qs-shop-lock{opacity:.3;font-size:1.5rem}.qs-box-visual{background:#fff8e8;border:1.5px solid #e8dfd0;border-radius:12px;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.qs-box-art{filter:grayscale(.4);opacity:.6;flex-shrink:0;font-size:3rem}.qs-box-meta{flex-direction:column;gap:.4rem;display:flex}.qs-box-meta-row{color:#6b5e4e;font-size:1rem}.qs-drop-table{background:#fff8e8;border:1.5px solid #e8dfd0;border-radius:10px;overflow:hidden}.qs-drop-table-title{letter-spacing:.06em;text-transform:uppercase;color:#9b8b7e;border-bottom:1px solid #e8dfd0;padding:.5rem .75rem;font-size:1rem;font-weight:700}.qs-drop-row{border-bottom:1px dashed #ede8df;justify-content:space-between;align-items:center;padding:.45rem .75rem;display:flex}.qs-drop-row:last-child{border-bottom:none}.qs-drop-tier{font-size:1rem;font-weight:700}.qs-drop-items{color:#6b5e4e;font-size:1rem}.shop-modal-backdrop{z-index:200;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.shop-modal{background:#fff8e8;border:3px solid #3d342e;border-radius:1.25rem;flex-direction:column;width:calc(100% - 2rem);max-width:480px;max-height:85vh;display:flex;overflow:hidden}.shop-modal-header{flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1rem 0;display:flex}.shop-modal-tabs{gap:.4rem;display:flex}.shop-modal-tab{color:#6b5e4e;cursor:pointer;background:0 0;border:1.5px solid #d4c9b8;border-radius:999px;padding:.35rem .85rem;font-family:Nunito,sans-serif;font-size:1rem;font-weight:600;transition:background .12s,border-color .12s}.shop-modal-tab--active{color:#fff;background:#5d4c3c;border-color:#5d4c3c}.shop-modal-close{color:#9b8b7e;cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.1rem;line-height:1}.shop-modal-body{flex-direction:column;gap:.85rem;padding:.75rem 1rem 1rem;display:flex;overflow-y:auto}.shop-coin-row{justify-content:space-between;align-items:center;display:flex}.bp-modal-backdrop{z-index:300;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.bp-modal{background:#fff8e8;border:3px solid #3d342e;border-radius:1.25rem;flex-direction:column;gap:0;width:min(92vw,760px);display:flex;overflow:hidden}.bp-modal-header{border-bottom:2px solid #e8dfd0;justify-content:space-between;align-items:center;padding:.85rem 1.1rem .65rem;display:flex}.bp-modal-title{color:#3d342e;letter-spacing:.03em;align-items:center;gap:.5rem;font-size:1rem;font-weight:800;display:flex}.bp-modal-title-icon{font-size:1.1rem}.bp-modal-coming-tag{color:#92400e;letter-spacing:.07em;text-transform:uppercase;background:#fef3c7;border:1px solid #fde68a;border-radius:999px;margin-left:.25rem;padding:.1rem .5rem;font-size:1rem;font-weight:700}.bp-modal-close{color:#9b8b7e;cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.1rem;line-height:1}.bp-modal-xp-row{background:#fff0d8;border-bottom:2px solid #e8dfd0;align-items:center;gap:.6rem;padding:.6rem 1.1rem;display:flex}.bp-modal-lv-badge{color:#fff;white-space:nowrap;background:#5d4c3c;border-radius:6px;flex-shrink:0;padding:.2rem .45rem;font-size:1rem;font-weight:800}.bp-modal-lv-next{opacity:.35}.bp-modal-xp-track{background:#e8dfd0;border-radius:99px;flex:1;height:8px;overflow:hidden}.bp-modal-xp-fill{background:#f59e0b;border-radius:99px;height:100%;transition:width .4s}.bp-modal-xp-text{color:#9b8b7e;white-space:nowrap;flex-shrink:0;font-size:1rem}.bp-tier-track{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-direction:row;gap:0;padding:1rem .75rem;display:flex;overflow-x:auto}.bp-tier-track::-webkit-scrollbar{display:none}.bp-tier{scroll-snap-align:center;border:2px solid #0000;border-radius:.85rem;flex-direction:column;flex-shrink:0;align-items:center;gap:.4rem;width:84px;padding:.65rem .4rem .7rem;transition:border-color .15s,background .15s;display:flex;position:relative}.bp-tier+.bp-tier:before{content:"";background:#d4c9b8;width:2px;height:28px;position:absolute;top:50%;left:-1px;transform:translateY(-50%)}.bp-tier--active{border-color:var(--bp-accent,#f59e0b);background:color-mix(in srgb, var(--bp-accent,#f59e0b) 10%, transparent)}.bp-tier--earned{background:#f0ebe3}.bp-tier--locked{opacity:.45}.bp-tier-lv{color:#9b8b7e;letter-spacing:.04em;font-size:1rem;font-weight:700}.bp-tier--active .bp-tier-lv{color:var(--bp-accent,#f59e0b)}.bp-tier-icon-wrap{background:#fff8e8;border:2px solid #e8dfd0;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.5rem;display:flex;position:relative}.bp-tier--active .bp-tier-icon-wrap{border-color:var(--bp-accent,#f59e0b)}.bp-tier--earned .bp-tier-icon-wrap{background:#e8f5e9;border-color:#a5d6a7}.bp-tier-check{color:#fff;background:#4caf50;border:1.5px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;font-size:1rem;font-weight:800;display:flex;position:absolute;bottom:-4px;right:-4px}.bp-tier-lock{font-size:1rem;position:absolute;bottom:-4px;right:-4px}.bp-tier-reward{color:#5d4c3c;text-align:center;max-width:72px;font-size:1rem;line-height:1.3}.bp-tier--active .bp-tier-reward{font-weight:700}.bp-connector-hint{text-align:center;color:#b8a99a;letter-spacing:.04em;padding:.4rem 1rem .85rem;font-size:1rem}.cl-backdrop{z-index:300;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.cl-modal{background:#fff8e8;border:3px solid #3d342e;border-radius:1.25rem;flex-direction:column;width:min(92vw,480px);display:flex;overflow:hidden}.cl-header{border-bottom:2px solid #e8dfd0;justify-content:space-between;align-items:center;padding:.85rem 1.1rem .65rem;display:flex}.cl-title{color:#3d342e;font-size:1rem;font-weight:800}.cl-close{color:#9b8b7e;cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.1rem;line-height:1}.cl-section-label{letter-spacing:.08em;text-transform:uppercase;color:#9b8b7e;padding:.65rem 1rem .3rem;font-size:1rem;font-weight:700}.cl-divider{background:#e8dfd0;height:2px;margin:.5rem 0 0}.cl-body{padding:1rem}.cl-empty{color:#9b8b7e;text-align:center;margin:0;font-size:1rem}.cl-equipped-row{justify-content:center;gap:.75rem;padding:0 1rem .5rem;display:flex}.cl-equipped-slot{flex-direction:column;align-items:center;gap:.3rem;display:flex}.cl-slot-label{color:#9b8b7e;font-size:1rem}.cl-grid{grid-template-columns:repeat(5,1fr);gap:.4rem;padding:0 1rem 1rem;display:grid}.cl-cell{aspect-ratio:1;cursor:pointer;background:#f0ebe3;border:2px solid #c4b5a5;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.3rem;transition:border-color .12s,background .12s;display:flex;position:relative}.cl-cell:hover{background:#e8dfd0;border-color:#5d4c3c}.cl-cell--empty{cursor:default;background:#ede7dc;border-style:dashed;border-color:#d4c9b8}.cl-cell--empty:hover{background:#ede7dc;border-color:#d4c9b8}.cl-cell--equipped{border-color:var(--cl-rarity,#f59e0b);background:color-mix(in srgb, var(--cl-rarity,#f59e0b) 12%, #fff8e8)}.cl-cell-img{object-fit:contain;width:100%;height:auto;display:block}.cl-cell-name{color:#5d4c3c;text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:1rem;line-height:1.2;overflow:hidden}.cl-cell-check{color:#4caf50;font-size:1rem;font-weight:800;position:absolute;top:2px;right:4px}.sheet-danger-zone{margin:8px 18px 18px}.delete-account-btn{color:#999;cursor:pointer;background:0 0;border:none;width:100%;padding:8px;font-size:1rem;text-decoration:underline}.delete-account-btn:hover{color:#c05050}.delete-confirm{background:#fff5f5;border:1px solid #f5c0c0;border-radius:10px;padding:12px}.delete-confirm-msg{color:#7a3535;margin:0 0 10px;font-size:1rem;line-height:1.5}.delete-confirm-actions{gap:8px;display:flex}.delete-confirm-btn{color:#fff;cursor:pointer;background:#c05050;border:none;border-radius:8px;flex:1;padding:8px;font-size:1rem;font-weight:600}.delete-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.sheet-group-title-row{justify-content:space-between;align-items:center;margin-bottom:5px;display:flex}.sheet-group-title-row .sheet-group-title{margin-bottom:0}.sheet-edit-btn{color:#3d342e;border:1.5px solid var(--nb-border,#3d342e);cursor:pointer;background:#e4d4b8;border-radius:6px;padding:2px 8px;font-family:Nunito,sans-serif;font-size:1rem;font-weight:700}.sheet-edit-btn:hover{background:#d4c4a8}.sheet-pet-form{flex-direction:column;gap:8px;padding:10px 12px;display:flex}.sheet-field{flex-direction:column;gap:3px;display:flex}.sheet-field-lbl{letter-spacing:.7px;text-transform:uppercase;color:#9b8b7b;font-size:1rem;font-weight:700}.sheet-input,.sheet-select{color:#3d342e;border:2px solid var(--nb-border,#3d342e);background:#fff8e8;border-radius:7px;outline:none;width:100%;padding:6px 9px;font-family:Nunito,sans-serif;font-size:1rem;font-weight:500}.sheet-input:focus,.sheet-select:focus{border-color:#7cb87a}.sheet-error{color:#c05050;margin:0;font-size:1rem}.sheet-form-actions{gap:7px;margin-top:2px;display:flex}.sheet-cancel-btn{border:2px solid var(--nb-border,#3d342e);cursor:pointer;color:#3d342e;background:#f5ecd8;border-radius:8px;flex:1;padding:7px;font-family:Nunito,sans-serif;font-size:1rem;font-weight:600}.sheet-save-btn{cursor:pointer;color:#fdf6e2;background:#3d342e;border:2px solid #3d342e;border-radius:8px;flex:2;padding:7px;font-family:Nunito,sans-serif;font-size:1rem;font-weight:700}.sheet-save-btn:disabled,.sheet-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.goal-list{margin-bottom:12px}.goal-row{border-bottom:1px dashed var(--nb-tan,#c4a882);align-items:center;gap:12px;padding:12px 0;display:flex}.goal-row:last-child{border-bottom:none}.goal-row-emoji{flex-shrink:0;font-size:1.5rem}.goal-row-body{flex:1;min-width:0}.goal-row-name{color:#3d342e;margin-bottom:6px;font-size:1rem;font-weight:600}.goal-row-bar-wrap{align-items:center;gap:8px;display:flex}.goal-row-bar-track{background:#e4d4b8;border-radius:3px;flex:1;height:8px;overflow:hidden}.goal-row-bar-fill{background:#7cb87a;border-radius:3px;height:100%}.goal-row-pct{color:#9b8b7b;text-align:right;flex-shrink:0;width:3.5rem;font-size:1rem}.goal-row-target{color:#3d342e;flex-shrink:0;font-family:Nunito,sans-serif;font-size:1rem;font-weight:700}.legal-page{background:var(--sand-50);min-height:100vh;padding:0 0 80px}.legal-container{max-width:720px;margin:0 auto;padding:32px 24px}.legal-back{color:var(--green-700);margin-bottom:32px;font-size:1rem;font-weight:500;text-decoration:none;display:inline-block}.legal-back:hover{text-decoration:underline}.legal-title{color:var(--sand-900);margin-bottom:6px;font-family:Fredoka,sans-serif;font-size:2rem}.legal-meta{color:var(--sand-400);margin-bottom:28px;font-size:1rem}.legal-intro{color:var(--sand-600);border-bottom:1px solid var(--sand-200);margin-bottom:32px;padding-bottom:24px;font-size:1rem;line-height:1.7}.legal-section{margin-bottom:36px}.legal-section h2{color:var(--sand-900);border-bottom:1px solid var(--sand-200);margin-bottom:12px;padding-bottom:6px;font-family:Fredoka,sans-serif;font-size:1.2rem}.legal-section h3{color:var(--sand-900);margin:16px 0 6px;font-size:1rem;font-weight:600}.legal-section p{color:var(--sand-600);margin-bottom:10px;font-size:1rem;line-height:1.7}.legal-section ul{margin-bottom:12px;padding-left:20px}.legal-section ul li{color:var(--sand-600);margin-bottom:4px;font-size:1rem;line-height:1.7}.legal-section a{color:var(--green-700);text-decoration:underline}.legal-section address{color:var(--sand-600);margin-top:8px;font-size:1rem;font-style:normal;line-height:1.9}.legal-notice{background:var(--amber-100);border-left:3px solid var(--amber-500);border-radius:0 var(--radius) var(--radius) 0;color:var(--sand-900);margin-bottom:12px;padding:12px 16px;font-size:1rem;line-height:1.6}.legal-caps{letter-spacing:.01em;font-size:1rem!important}.legal-footer{border-top:1px solid var(--sand-200);color:var(--sand-400);align-items:center;gap:12px;margin-top:32px;padding-top:32px;font-size:1rem;display:flex}.legal-footer a{color:var(--green-700);font-weight:500;text-decoration:none}.legal-footer a:hover{text-decoration:underline}.landing-page{--lp-green:#4a7c59;--lp-green-dark:#3a6347;--lp-green-light:#d4e8db;--lp-peach:#f5a882;--lp-cream:#faf7f2;--lp-cream-dark:#f2ede4;--lp-text:#2d2d2d;--lp-muted:#7a7170;--lp-white:#fff;--lp-r-sm:12px;--lp-r-md:18px;--lp-r-lg:24px;--lp-shadow-sm:0 2px 10px #0000000f;--lp-shadow-md:0 6px 24px #00000017;--lp-shadow-lg:0 12px 40px #0000001f;background:var(--lp-cream);color:var(--lp-text);-webkit-font-smoothing:antialiased;font-family:Nunito,sans-serif;font-size:16px;line-height:1.6}.landing-page h1,.landing-page h2,.landing-page h3,.landing-page .lp-logo-wordmark{font-family:Fredoka,sans-serif}.landing-page a{color:inherit;text-decoration:none}.lp-container{max-width:1160px;margin:0 auto;padding:0 32px}.lp-section{background:var(--lp-cream);padding:96px 0}.lp-section--alt{background:var(--lp-cream-dark)}.lp-section--green{background:var(--lp-green)}.lp-section-title{text-align:center;color:var(--lp-text);margin-bottom:12px;font-size:clamp(1.75rem,3vw,2.4rem);font-weight:600}.lp-section-title.lp-white{color:var(--lp-white)}.lp-section-sub{color:var(--lp-muted);text-align:center;max-width:560px;margin:0 auto 52px;font-size:1.05rem;line-height:1.7}.lp-section-sub.lp-white-muted{color:#ffffffb8}.lp-btn{cursor:pointer;white-space:nowrap;background:0 0;border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:11px 24px;font-family:Nunito,sans-serif;font-size:.95rem;font-weight:700;transition:all .18s;display:inline-flex}.lp-btn-primary{background:var(--lp-green);color:var(--lp-white);border-color:var(--lp-green)}.lp-btn-primary:hover{background:var(--lp-green-dark);border-color:var(--lp-green-dark);box-shadow:var(--lp-shadow-md);transform:translateY(-1px)}.lp-btn-ghost{color:var(--lp-green);border-color:var(--lp-green)}.lp-btn-ghost:hover{background:var(--lp-green-light);transform:translateY(-1px)}.lp-btn-lg{padding:14px 32px;font-size:1.05rem}.lp-btn-xl{padding:17px 48px;font-size:1.1rem}.lp-nav{z-index:100;-webkit-backdrop-filter:blur(12px);background:#faf7f2eb;border-bottom:1px solid #4a7c591a;position:sticky;top:0;box-shadow:0 2px 16px #0000000d}.lp-nav-inner{justify-content:space-between;align-items:center;height:68px;display:flex}.lp-logo{align-items:center;gap:10px;display:flex}.lp-logo-icon{background:var(--lp-green-light);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.lp-logo-wordmark{color:var(--lp-green);letter-spacing:-.01em;font-size:1.4rem;font-weight:600}.lp-nav-links{align-items:center;gap:32px;list-style:none;display:flex}.lp-nav-links a{color:var(--lp-muted);font-size:.9rem;font-weight:600;transition:color .15s}.lp-nav-links a:hover{color:var(--lp-green)}.lp-nav-ctas{align-items:center;gap:10px;display:flex}.lp-nav-ctas .lp-btn{padding:8px 18px;font-size:.88rem}.lp-hero{padding:90px 0 80px;overflow:visible}.lp-hero-inner{grid-template-columns:1fr 1fr;align-items:center;gap:60px;display:grid}.lp-eyebrow{background:var(--lp-green-light);color:var(--lp-green);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;align-items:center;gap:8px;margin-bottom:22px;padding:6px 14px;font-size:.8rem;font-weight:700;display:inline-flex}.lp-headline{letter-spacing:-.02em;margin-bottom:22px;font-size:clamp(2.6rem,5vw,4rem);font-weight:700;line-height:1.12}.lp-headline span{color:var(--lp-green)}.lp-hero-sub{color:var(--lp-muted);max-width:480px;margin-bottom:36px;font-size:1.1rem;line-height:1.75}.lp-hero-ctas{flex-wrap:wrap;gap:14px;margin-bottom:22px;display:flex}.lp-trust-line{color:var(--lp-muted);opacity:.8;font-size:.78rem}.lp-hero-illustration{justify-content:center;align-items:center;display:flex;position:relative}.lp-hero-room{aspect-ratio:1;border-radius:var(--lp-r-lg);width:100%;max-width:480px;box-shadow:var(--lp-shadow-lg);background:linear-gradient(135deg,#fde8de 0%,#e8f5eb 100%);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.lp-room-floor{border-radius:0 0 var(--lp-r-lg) var(--lp-r-lg);background:linear-gradient(#0000,#f5e8d0);height:38%;position:absolute;bottom:0;left:0;right:0}.lp-room-window{border-radius:var(--lp-r-sm);background:linear-gradient(135deg,#c8e6f5,#a8d5f0);border:3px solid #ffffffb3;justify-content:center;align-items:center;width:72px;height:72px;font-size:26px;display:flex;position:absolute;top:20px;right:24px}.lp-pet-placeholder{z-index:2;background:var(--lp-white);border:4px solid #fffc;border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;margin-top:16px;font-size:64px;display:flex;position:relative;box-shadow:0 8px 30px #0000001a}.lp-room-label{color:var(--lp-muted);letter-spacing:.04em;z-index:3;font-size:.7rem;font-weight:600;position:absolute;bottom:12px}.lp-stat-badge{background:var(--lp-white);border-radius:var(--lp-r-sm);box-shadow:var(--lp-shadow-md);z-index:10;align-items:center;gap:8px;padding:8px 14px;display:flex;position:absolute}.lp-stat-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.lp-stat-badge>div{flex-direction:column;gap:2px;display:flex}.lp-stat-lbl{color:var(--lp-muted);font-size:.7rem;font-weight:600;line-height:1;display:block}.lp-stat-val{color:var(--lp-text);font-size:1rem;font-weight:800;line-height:1;display:block}.lp-stat-happiness{top:20px;left:-14px}.lp-stat-hunger{bottom:60px;left:-18px}.lp-stat-discipline{top:60px;right:-20px}.lp-ad-rail{background:var(--lp-cream-dark);border-top:1px solid #4a7c5912;border-bottom:1px solid #4a7c5912;justify-content:center;align-items:center;padding:14px 32px;display:flex}.lp-ad-slot{border-radius:var(--lp-r-sm);background:#4a7c590a;border:1.5px dashed #4a7c5933;justify-content:center;align-items:center;gap:10px;width:100%;max-width:728px;min-height:90px;display:flex}.lp-ad-label{letter-spacing:.1em;text-transform:uppercase;color:var(--lp-muted);opacity:.5;font-size:.68rem;font-weight:700}.lp-ad-size{color:var(--lp-muted);opacity:.3;font-size:.68rem}.lp-steps{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.lp-step-card{background:var(--lp-white);border-radius:var(--lp-r-lg);text-align:center;box-shadow:var(--lp-shadow-sm);padding:36px 28px;transition:transform .2s,box-shadow .2s}.lp-step-card:hover{box-shadow:var(--lp-shadow-md);transform:translateY(-4px)}.lp-step-num{background:var(--lp-green);width:48px;height:48px;color:var(--lp-white);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 14px;font-family:Fredoka,sans-serif;font-size:1.3rem;font-weight:600;display:flex;box-shadow:0 4px 14px #4a7c594d}.lp-step-icon{margin-bottom:12px;font-size:2.2rem}.lp-step-card h3{margin-bottom:10px;font-size:1.15rem;font-weight:600}.lp-step-card p{color:var(--lp-muted);font-size:.9rem;line-height:1.65}.lp-features{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.lp-feature-card{background:var(--lp-white);border-radius:var(--lp-r-lg);box-shadow:var(--lp-shadow-sm);border:1px solid #4a7c5912;padding:28px 24px;transition:transform .2s,box-shadow .2s}.lp-feature-card:hover{box-shadow:var(--lp-shadow-md);transform:translateY(-4px)}.lp-feature-icon{margin-bottom:12px;font-size:2rem}.lp-feature-card h3{margin-bottom:8px;font-size:1.05rem;font-weight:600}.lp-feature-card p{color:var(--lp-muted);font-size:.87rem;line-height:1.65}.lp-feature-tag{text-transform:uppercase;letter-spacing:.06em;color:var(--lp-green);background:var(--lp-green-light);border-radius:999px;margin-top:14px;padding:3px 9px;font-size:.68rem;font-weight:700;display:inline-block}.lp-pets-scroll{scrollbar-width:thin;scrollbar-color:var(--lp-green-light) transparent;margin:0 -32px;padding:0 32px 16px;overflow-x:auto}.lp-pets-track{gap:20px;width:max-content;display:flex}.lp-pet-card{background:var(--lp-white);border-radius:var(--lp-r-lg);text-align:center;width:192px;box-shadow:var(--lp-shadow-sm);border:2px solid #0000;flex-shrink:0;padding:26px 18px;transition:transform .2s,box-shadow .2s}.lp-pet-card:hover{box-shadow:var(--lp-shadow-md);transform:translateY(-5px)}.lp-pet-card--epic{border-color:#c47fe0}.lp-pet-card--legendary{border-color:#f5c842}.lp-pet-card--mystery{opacity:.72;border-style:dashed}.lp-pet-avatar{border-radius:50%;justify-content:center;align-items:center;width:88px;height:88px;margin:0 auto 14px;display:flex;overflow:hidden}.lp-pet-avatar img{object-fit:contain;width:80%;height:80%;image-rendering:pixelated;image-rendering:crisp-edges}.lp-mystery-emoji{filter:blur(4px);font-size:48px;display:block}.lp-pet-name{margin-bottom:4px;font-family:Fredoka,sans-serif;font-size:1.05rem;font-weight:600}.lp-pet-desc{color:var(--lp-muted);margin-bottom:12px;font-size:.78rem}.lp-badge{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;align-items:center;padding:3px 9px;font-size:.68rem;font-weight:700;display:inline-flex}.lp-badge-common{color:#6b6460;background:#e8e4df}.lp-badge-epic{color:#7e3aab;background:#e8d4f5}.lp-badge-legendary{color:#a06a00;background:#fde8b0}.lp-pets-note{text-align:center;color:var(--lp-muted);margin-top:28px;font-size:.88rem}.lp-room-progression{grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:16px;margin-bottom:36px;display:grid}.lp-room-card{background:var(--lp-white);border-radius:var(--lp-r-lg);box-shadow:var(--lp-shadow-sm);border:2px solid #0000;transition:transform .2s,box-shadow .2s;overflow:hidden}.lp-room-card:hover{box-shadow:var(--lp-shadow-md);transform:translateY(-4px)}.lp-room-card--highlight{border-color:var(--lp-green);box-shadow:0 0 0 3px var(--lp-green-light), var(--lp-shadow-md)}.lp-room-preview{aspect-ratio:3/2;background:linear-gradient(135deg,#fde8de 0%,#e8f5eb 100%);justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.lp-room-preview-bg{background-image:url(/room-bg.png);background-position:bottom;background-size:cover;position:absolute;inset:0}.lp-room-img{object-fit:cover;object-position:center bottom;width:100%;height:100%;display:block;position:absolute;inset:0}.lp-room-furniture{z-index:2;filter:drop-shadow(0 2px 4px #00000026);gap:8px;font-size:28px;display:flex;position:relative}.lp-room-screenshot-label{letter-spacing:.06em;color:#00000040;z-index:3;pointer-events:none;text-transform:uppercase;justify-content:center;align-items:center;font-size:.7rem;font-weight:600;display:flex;position:absolute;inset:0}.lp-room-info{padding:18px 20px 22px}.lp-room-state-tag{letter-spacing:.06em;text-transform:uppercase;background:var(--lp-green-light);color:var(--lp-green);border-radius:999px;align-items:center;gap:5px;margin-bottom:8px;padding:3px 9px;font-size:.68rem;font-weight:700;display:inline-flex}.lp-room-info h3{margin-bottom:6px;font-size:1rem;font-weight:600}.lp-room-info p{color:var(--lp-muted);font-size:.84rem;line-height:1.6}.lp-room-arrow{color:var(--lp-green-light);text-align:center;flex-shrink:0;font-size:1.6rem}.lp-room-earn-strip{background:var(--lp-green-light);border-radius:var(--lp-r-md);flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;padding:22px 28px;display:flex}.lp-earn-step{color:var(--lp-green-dark);align-items:center;gap:10px;font-size:.9rem;font-weight:700;display:flex}.lp-earn-icon{background:var(--lp-white);width:40px;height:40px;box-shadow:var(--lp-shadow-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;display:flex}.lp-earn-arrow{color:var(--lp-green);opacity:.5;font-size:1rem}@media (width<=900px){.lp-room-progression{grid-template-columns:1fr}.lp-room-arrow{margin:0 auto;display:block;transform:rotate(90deg)}}@media (width<=600px){.lp-room-earn-strip{gap:14px;padding:18px 20px}.lp-earn-step{font-size:.82rem}}.lp-skins-layout{grid-template-columns:1fr 1fr;align-items:center;gap:60px;display:grid}.lp-skins-copy{max-width:440px}.lp-skins-copy h2{margin-bottom:14px;font-size:clamp(1.75rem,3vw,2.4rem);font-weight:600}.lp-skins-copy p{color:var(--lp-muted);margin-bottom:28px;font-size:1rem;line-height:1.75}.lp-unlock-paths{flex-direction:column;gap:14px;display:flex}.lp-unlock-item{align-items:flex-start;gap:14px;display:flex}.lp-unlock-icon{background:var(--lp-green-light);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;margin-top:2px;font-size:18px;display:flex}.lp-unlock-item h4{color:var(--lp-text);margin-bottom:2px;font-size:.95rem;font-weight:700}.lp-unlock-item p{color:var(--lp-muted);margin:0;font-size:.84rem;line-height:1.5}.lp-skin-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.lp-skin-card{background:var(--lp-white);border-radius:var(--lp-r-md);text-align:center;box-shadow:var(--lp-shadow-sm);border:2px solid #0000;padding:18px 14px;transition:transform .2s,box-shadow .2s}.lp-skin-card:hover{box-shadow:var(--lp-shadow-md);transform:translateY(-3px)}.lp-skin-card--rare{border-color:#5cb4e8}.lp-skin-card--epic{border-color:#c47fe0}.lp-skin-card--legendary{border-color:#f5c842}.lp-skin-avatar{border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;margin:0 auto 10px;font-size:36px;display:flex;position:relative}.lp-skin-accessory{font-size:18px;line-height:1;position:absolute;top:-6px;right:-2px}.lp-skin-name{margin-bottom:6px;font-family:Fredoka,sans-serif;font-size:.88rem;font-weight:600}@media (width<=900px){.lp-skins-layout{grid-template-columns:1fr}.lp-skins-copy{max-width:100%}.lp-skin-grid{grid-template-columns:repeat(3,1fr)}}.lp-social-grid{grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:48px;display:grid}.lp-social-card{background:var(--lp-white);border-radius:var(--lp-r-lg);box-shadow:var(--lp-shadow-sm);border:1px solid #4a7c5914;padding:32px 26px;transition:transform .2s,box-shadow .2s}.lp-social-card:hover{box-shadow:var(--lp-shadow-md);transform:translateY(-4px)}.lp-social-card--featured{border-color:var(--lp-green);background:linear-gradient(135deg, #f5fbf7 0%, var(--lp-white) 100%)}.lp-social-preview{aspect-ratio:4/3;border-radius:var(--lp-r-sm);justify-content:center;align-items:center;gap:10px;width:100%;margin-bottom:20px;font-size:42px;display:flex;position:relative;overflow:hidden}.lp-social-preview--room{background:linear-gradient(135deg,#fde8de 0%,#e8f5eb 100%)}.lp-social-preview-bg{opacity:.45;background-image:url(/room-bg.png);background-position:bottom;background-size:cover;position:absolute;inset:0}.lp-social-preview-content{z-index:2;align-items:flex-end;gap:6px;display:flex;position:relative}.lp-social-preview--streak{background:linear-gradient(135deg,#fff8f0,#fde8de)}.lp-social-preview--milestone{background:linear-gradient(135deg,#f0f8ff,#e8f5eb)}.lp-social-icon-lg{font-size:48px;display:block}.lp-social-card h3{margin-bottom:8px;font-size:1.15rem;font-weight:600}.lp-social-card p{color:var(--lp-muted);font-size:.88rem;line-height:1.65}.lp-social-tag{text-transform:uppercase;letter-spacing:.06em;border-radius:999px;margin-top:14px;padding:3px 9px;font-size:.68rem;font-weight:700;display:inline-block}.lp-social-tag--live{color:#166534;background:#dcfce7}.lp-social-tag--coming{background:var(--lp-cream-dark);color:var(--lp-muted)}.lp-accountability{background:linear-gradient(135deg, var(--lp-cream-dark) 0%, #edf5f0 100%);border-radius:var(--lp-r-lg);flex-wrap:wrap;align-items:center;gap:40px;padding:32px 40px;display:flex}.lp-accountability-copy{flex:1;min-width:220px}.lp-accountability-copy h3{margin-bottom:8px;font-size:1.2rem;font-weight:600}.lp-accountability-copy p{color:var(--lp-muted);margin:0;font-size:.9rem;line-height:1.65}.lp-accountability-pets{letter-spacing:4px;flex-shrink:0;font-size:3rem}@media (width<=900px){.lp-social-grid{grid-template-columns:1fr}.lp-accountability{text-align:center;flex-direction:column;gap:20px}}.lp-trust-grid{grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:36px;display:grid}.lp-trust-card{border-radius:var(--lp-r-lg);text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff1a;border:1px solid #fff3;padding:32px 26px}.lp-trust-icon{margin-bottom:14px;font-size:2.2rem}.lp-trust-card h3{color:var(--lp-white);margin-bottom:10px;font-size:1.1rem;font-weight:600}.lp-trust-card p{color:#ffffffb8;font-size:.87rem;line-height:1.65}.lp-trust-card a{color:#ffffffe6;text-decoration:underline}.lp-trust-legal{text-align:center;color:#ffffff80;max-width:560px;margin:0 auto;font-size:.76rem}.lp-faq{max-width:720px;margin:0 auto}.lp-faq-item{border-bottom:1px solid #4a7c591f}.lp-faq-item:first-child{border-top:1px solid #4a7c591f}.lp-faq-q{text-align:left;width:100%;color:var(--lp-text);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font-family:Nunito,sans-serif;font-size:1rem;font-weight:700;transition:color .15s;display:flex}.lp-faq-q:hover{color:var(--lp-green)}.lp-faq-chevron{color:var(--lp-green);flex-shrink:0}.lp-faq-a{color:var(--lp-muted);padding-bottom:20px;font-size:.92rem;line-height:1.75}.lp-cta-banner{background:linear-gradient(135deg, var(--lp-cream-dark) 0%, #edf5f0 100%);text-align:center;padding:100px 0}.lp-cta-inner{flex-direction:column;align-items:center;gap:0;display:flex}.lp-cta-pets{letter-spacing:8px;margin-bottom:22px;font-size:2.8rem}.lp-cta-banner h2{max-width:560px;margin-bottom:30px;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:600;line-height:1.25}.lp-cta-sub{color:var(--lp-muted);margin-top:18px;font-size:.86rem}.lp-footer{color:#fff9;background:#2a2420;padding:52px 0 32px;font-family:Nunito,sans-serif}.lp-footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:40px;margin-bottom:36px;display:flex}.lp-footer-logo{align-items:center;gap:10px;margin-bottom:8px;display:flex}.lp-footer .lp-logo-icon{background:#4a7c594d}.lp-footer .lp-logo-wordmark{color:var(--lp-white);font-size:1.2rem}.lp-footer-tagline{color:#fff6;font-size:.82rem}.lp-footer-links{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.lp-footer-links a{color:#ffffff80;font-size:.84rem;transition:color .15s}.lp-footer-links a:hover{color:var(--lp-white)}.lp-footer-divider{border:none;border-top:1px solid #ffffff14;margin-bottom:22px}.lp-footer-bottom{color:#ffffff4d;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:.76rem;display:flex}.lp-footer-bottom a{color:#ffffff73}.lp-footer-bottom a:hover{color:#ffffffb3}@media (width<=900px){.lp-hero-inner{grid-template-columns:1fr}.lp-hero-illustration{order:-1;max-width:380px;margin:0 auto}.lp-steps{grid-template-columns:1fr}.lp-features{grid-template-columns:1fr 1fr}.lp-trust-grid{grid-template-columns:1fr}.lp-footer-inner{flex-direction:column}}@media (width<=600px){.lp-nav-links{display:none}.lp-features{grid-template-columns:1fr}.lp-container{padding:0 20px}.lp-pets-scroll{margin:0 -20px;padding:0 20px 16px}.lp-ad-slot{min-height:60px}.lp-stat-happiness{top:10px;left:8px}.lp-stat-hunger{bottom:10px;left:8px}.lp-stat-discipline{top:10px;right:8px}}
