@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400&family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg:#edeae6;--bg2:#e3e0db;--bg3:#f9f8f6;--bg4:#d6d2cc;--bg5:#c8c3bc;--accent:#1c1a17;--accent2:#3a3733;--accent3:#6b6762;--accent4:#a8a4a0;--text:#1c1a17;--text2:#6b6762;--text3:#a8a4a0;--bronze:#8b7355;--bronze2:#6b5a3e;--bronze3:#4a3d2a;--bronze-glow:#8b73551a;--bronze-border:#8b735538;--bronze-active:#8b73558c;--sage:#4a7a5a;--sage-dim:#4a7a5a1f;--clay:#8b4a3a;--clay-dim:#8b4a3a1f;--amber:#8b6b3a;--shadow-sm:0 1px 3px #1c1a1712, 0 1px 2px #1c1a170d;--shadow:0 2px 8px #1c1a1717, 0 1px 3px #1c1a170f;--shadow-lg:0 8px 24px #1c1a171f, 0 2px 6px #1c1a1712;--radius:14px;--radius-sm:9px;--nav-h:68px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100dvh;font-family:Inter,-apple-system,sans-serif;overflow-x:hidden}#root{flex-direction:column;min-height:100dvh;display:flex}body:before{content:"";pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E");position:fixed;inset:0}#root{z-index:1;position:relative}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--bg5);border-radius:2px}.serif{font-family:Cormorant Garamond,Georgia,serif}h1{letter-spacing:-.02em;color:var(--accent);font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:700}h2{letter-spacing:-.01em;color:var(--accent);font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:600}h3{color:var(--accent);font-size:.95rem;font-weight:600}.card{background:var(--bg3);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid #1c1a1714;padding:16px;transition:box-shadow .2s,transform .2s}.card:hover{box-shadow:var(--shadow)}.card-sm{border-radius:var(--radius-sm);padding:12px}.card-stone{background:linear-gradient(135deg,#f4f2ef 0%,#eae7e2 100%);border:1px solid #1c1a171a}.bronze{color:var(--bronze)}.bronze-bg{background:var(--bronze-glow);border-color:var(--bronze-active)!important}.btn{border-radius:var(--radius-sm);cursor:pointer;letter-spacing:.01em;border:none;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-family:Inter,sans-serif;font-size:.875rem;font-weight:600;transition:all .18s;display:inline-flex}.btn-primary{background:var(--accent);color:#f9f8f6}.btn-primary:hover{background:var(--accent2);box-shadow:var(--shadow);transform:translateY(-1px)}.btn-ghost{color:var(--accent);border:1px solid var(--bg4);background:0 0}.btn-ghost:hover{border-color:var(--accent3);background:var(--bg2)}.btn-bronze{background:var(--bronze-glow);color:var(--bronze);border:1px solid var(--bronze-border)}.btn-bronze:hover{background:var(--bronze);color:#f9f8f6}.btn-danger{background:var(--clay-dim);color:var(--clay);border:1px solid #8b4a3a33}.btn-danger:hover{background:var(--clay);color:#f9f8f6}.btn-sm{padding:6px 12px;font-size:.8rem}.btn-xs{border-radius:6px;padding:4px 8px;font-size:.72rem}.btn:disabled{opacity:.4;cursor:not-allowed}input,textarea,select{background:var(--bg3);border:1px solid var(--bg4);border-radius:var(--radius-sm);color:var(--text);outline:none;width:100%;padding:10px 12px;font-family:Inter,sans-serif;font-size:.9rem;transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus,select:focus{border-color:var(--accent3);box-shadow:0 0 0 3px #1c1a170f}select option{background:var(--bg3)}label{color:var(--text3);letter-spacing:.07em;text-transform:uppercase;margin-bottom:5px;font-size:.72rem;font-weight:500;display:block}.badge{letter-spacing:.05em;text-transform:uppercase;border-radius:20px;align-items:center;padding:2px 8px;font-size:.68rem;font-weight:600;display:inline-flex}.badge-stone{background:var(--bg2);color:var(--accent3);border:1px solid var(--bg4)}.badge-bronze{background:var(--bronze-glow);color:var(--bronze);border:1px solid var(--bronze-border)}.badge-sage{background:var(--sage-dim);color:var(--sage)}.badge-clay{background:var(--clay-dim);color:var(--clay)}.progress-bar{background:var(--bg4);border-radius:2px;height:4px;overflow:hidden}.progress-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .7s cubic-bezier(.4,0,.2,1)}.page{padding:20px 16px;padding-bottom:calc(var(--nav-h) + 20px);flex:1;width:100%;max-width:600px;margin:0 auto}.grid-2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.grid-3{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.flex{display:flex}.flex-col{flex-direction:column;display:flex}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.w-full{width:100%}.text-center{text-align:center}.metric-big{color:var(--accent);letter-spacing:-.03em;font-family:Cormorant Garamond,serif;font-size:2.2rem;font-weight:700;line-height:1}.metric-label{color:var(--text3);text-transform:uppercase;letter-spacing:.08em;margin-top:3px;font-size:.65rem}.divider{background:var(--bg4);height:1px;margin:16px 0}.section-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-title{text-transform:uppercase;letter-spacing:.1em;color:var(--text3);font-size:.68rem;font-weight:700}.quote-block{border-left:2px solid var(--bronze);margin:4px 0;padding:8px 14px}.quote-text{color:var(--accent2);font-family:Cormorant Garamond,serif;font-size:1.05rem;font-style:italic;line-height:1.5}.quote-author{color:var(--text3);letter-spacing:.06em;text-transform:uppercase;margin-top:4px;font-size:.7rem}input[type=range]{-webkit-appearance:none;background:var(--bg4);cursor:pointer;border:none;border-radius:2px;height:4px;padding:0}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;width:20px;height:20px;box-shadow:var(--shadow-sm);border-radius:50%}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fade-up{animation:.4s cubic-bezier(.4,0,.2,1) forwards fadeUp}.fade-in{animation:.3s forwards fadeIn}.scale-in{animation:.25s cubic-bezier(.4,0,.2,1) forwards scaleIn}.skeleton{background:linear-gradient(90deg, var(--bg2) 25%, var(--bg3) 50%, var(--bg2) 75%);border-radius:var(--radius);background-size:200% 100%;animation:1.5s infinite shimmer}@keyframes swipeRight{0%{opacity:0;transform:translate(22px)}to{opacity:1;transform:translate(0)}}@keyframes swipeLeft{0%{opacity:0;transform:translate(-22px)}to{opacity:1;transform:translate(0)}}.swipe-area{touch-action:pan-y}.tab-swap{animation:.3s cubic-bezier(.22,.61,.36,1) both swipeRight}.tab-swap[data-dir="-1"]{animation-name:swipeLeft}.btn:active{transform:scale(.96)}.card{-webkit-tap-highlight-color:transparent}.pressable{cursor:pointer;transition:transform .12s,box-shadow .2s}.pressable:active{transform:scale(.985)}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}.check-circle.done{animation:.32s cubic-bezier(.22,.61,.36,1) pop}.check-circle:active{transform:scale(.92)}@media (prefers-reduced-motion:reduce){.tab-swap,.fade-in,.fade-up,.scale-in,.stagger>*,.check-circle.done{animation:none!important}.stagger>*{opacity:1!important}*{scroll-behavior:auto!important}}.stagger>*{opacity:0;animation:.4s cubic-bezier(.4,0,.2,1) forwards fadeUp}.stagger>:first-child{animation-delay:50ms}.stagger>:nth-child(2){animation-delay:.1s}.stagger>:nth-child(3){animation-delay:.15s}.stagger>:nth-child(4){animation-delay:.2s}.stagger>:nth-child(5){animation-delay:.25s}.stagger>:nth-child(6){animation-delay:.3s}.check-circle{border:2px solid var(--bg4);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.9rem;transition:all .2s;display:flex}.check-circle.done{background:var(--accent);border-color:var(--accent);color:#f9f8f6}.deletable{position:relative}.delete-btn{background:var(--clay-dim);color:var(--clay);cursor:pointer;opacity:0;border:none;border-radius:6px;padding:4px 8px;font-size:.72rem;transition:opacity .2s;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.deletable:hover .delete-btn{opacity:1}.modal-backdrop{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1c1a1780;justify-content:center;align-items:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-sheet{background:var(--bg3);border-radius:20px 20px 0 0;width:100%;max-width:600px;max-height:85dvh;padding:24px 20px 40px;animation:.25s cubic-bezier(.4,0,.2,1) scaleIn;overflow-y:auto}.modal-handle{background:var(--bg4);border-radius:2px;width:40px;height:4px;margin:0 auto 20px}
