:root{--bg-primary: #0f0f10;--bg-card: #1a1a1c;--bg-card-hover: #212124;--text-primary: #f5f5f5;--text-secondary: #8a8a8a;--text-muted: #5a5a5a;--accent: #6366f1;--accent-subtle: rgba(99, 102, 241, .15);--success: #22c55e;--success-muted: rgba(34, 197, 94, .3);--danger: #ef4444;--divider: rgba(255, 255, 255, .06);--shadow: 0 8px 24px rgba(0, 0, 0, .4);--radius-card: 20px;--radius-btn: 12px;--radius-sm: 8px;--p-essential: #10b981;--p-want: #6366f1;--p-maybe: #f59e0b}*{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:none}button{font-family:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation;color:inherit}.add-button,.purchase-checkbox,.segment,.option-row,.month-arrow,.menu-button,.switch,.alert-button,.sheet-header-button{user-select:none;-webkit-user-select:none}.app{max-width:430px;margin:0 auto;min-height:100vh;min-height:100dvh;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 108px)}.header{display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top,0px) + 18px) 24px 0}.app-title{margin:0;font-size:19px;font-weight:600;letter-spacing:-.2px;color:var(--text-primary)}.menu-button{width:36px;height:36px;margin-right:-8px;border:none;border-radius:50%;background:none;color:var(--text-secondary);display:grid;place-items:center;transition:color .15s ease}.menu-button:active{color:var(--text-primary)}.month-scope{animation:scope-in .24s ease}@keyframes scope-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.month-selector{display:flex;align-items:center;justify-content:center;gap:26px;margin:26px 24px 0}.month-arrow{border:none;background:none;color:var(--text-secondary);padding:8px;margin:-8px;border-radius:var(--radius-sm);display:grid;place-items:center;transition:color .15s ease}.month-arrow:active{color:var(--text-primary)}.month-label{min-width:150px;text-align:center;font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--text-secondary)}.hero{margin:30px 24px 0}.hero-amount{font-size:52px;font-weight:500;letter-spacing:-1.8px;line-height:1.04;color:var(--text-primary);font-variant-numeric:tabular-nums}.hero-label{margin-top:8px;font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary)}.hero-sub{margin-top:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;font-size:13px;color:var(--text-secondary)}.summary-pill{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;padding:6px 12px;border-radius:var(--radius-sm);font-weight:500;min-width:0;text-align:center}.summary-pill .sub-value{font-weight:500;font-variant-numeric:tabular-nums}.summary-pill.bought{background:var(--success-muted);color:var(--success)}.summary-pill.remaining{background:var(--accent-subtle);color:var(--accent)}.purchase-list{list-style:none;margin:26px 24px 0;padding:0}.purchase-item{display:flex;align-items:flex-start;gap:14px;padding:15px 0}.purchase-item+.purchase-item{border-top:1px solid var(--divider)}.purchase-checkbox{position:relative;flex:none;width:24px;height:24px;margin-top:1px;border:1px solid var(--divider);border-radius:6px;display:flex;align-items:center;justify-content:center;background:none;color:transparent;padding:0;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,transform .12s ease}.purchase-checkbox:after{content:"";position:absolute;inset:-10px}.purchase-checkbox:focus-visible{outline:none;box-shadow:0 0 0 3px #6366f14d}.purchase-checkbox:active{transform:scale(.96)}.purchase-checkbox.checked{background:var(--success);border-color:var(--success);color:#fff}.checkmark svg{display:block;animation:check-pop .18s ease}@keyframes check-pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.row-body{flex:1;min-width:0;display:block;background:none;border:none;padding:0;text-align:left}.row-top{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.purchase-name{font-size:16px;font-weight:400;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .18s ease}.purchase-amount{font-size:16px;font-weight:400;font-variant-numeric:tabular-nums;color:var(--text-primary);transition:color .18s ease}.row-sub{display:block;margin-top:4px;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}.row-sub.p-essential{color:var(--p-essential)}.row-sub.p-want{color:var(--p-want)}.row-sub.p-maybe{color:var(--p-maybe)}.row-sub.is-bought{color:var(--success)}.purchase-item.bought .purchase-name,.purchase-item.bought .purchase-amount{text-decoration:line-through;color:var(--text-muted)}.empty-state{margin:64px 32px 0;text-align:center}.empty-title{font-size:15px;font-weight:500;color:var(--text-secondary)}.empty-hint{margin-top:6px;font-size:13px;color:var(--text-muted);line-height:1.5}.add-button{position:fixed;left:50%;transform:translate(-50%);bottom:calc(env(safe-area-inset-bottom,0px) + 18px);height:48px;padding:0 22px;border:1px solid var(--divider);border-radius:var(--radius-btn);background:var(--bg-card);color:var(--text-primary);font-size:15px;font-weight:500;display:flex;align-items:center;gap:9px;box-shadow:var(--shadow);transition:transform .15s ease,background-color .15s ease}.add-button .plus-glyph{color:var(--accent);display:grid;place-items:center}.add-button:hover{background:var(--bg-card-hover)}.add-button:active{transform:translate(-50%) scale(.97)}.sheet-root{position:fixed;inset:0;z-index:40}.sheet-backdrop{position:absolute;inset:0;background:#0009;opacity:0;transition:opacity .28s ease}.sheet-root.open .sheet-backdrop{opacity:1}.sheet-root.exit .sheet-backdrop{opacity:0}.sheet{position:absolute;left:0;right:0;bottom:0;margin:0 auto;max-width:430px;background:var(--bg-card);border-radius:var(--radius-card) var(--radius-card) 0 0;max-height:min(90vh,90dvh);display:flex;flex-direction:column;transform:translateY(105%);transition:transform .34s cubic-bezier(.32,.72,.31,1);box-shadow:var(--shadow);padding-bottom:env(safe-area-inset-bottom,0px)}.sheet-root.open .sheet{transform:none}.sheet-root.exit .sheet{transform:translateY(105%)}.sheet-grabber{flex:none;width:36px;height:4px;border-radius:2px;background:#ffffff1f;margin:10px auto 0}.sheet-body{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:2px 24px calc(env(safe-area-inset-bottom,0px) + 28px)}.sheet-header{display:flex;align-items:center;justify-content:space-between;padding:14px 0 18px}.sheet-header-button{border:none;background:none;font-size:15px;padding:4px 2px;min-width:58px;color:var(--text-secondary)}.sheet-header-button:first-child{text-align:left}.sheet-header-button.strong{font-weight:600;text-align:right;color:var(--accent)}.sheet-header-button:disabled{color:var(--text-muted)}.sheet-header-spacer{min-width:58px}.sheet-title{font-size:15px;font-weight:600;color:var(--text-primary)}.field{margin-bottom:16px}.field-label{display:block;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);margin:0 0 8px 2px}.field-label .optional{text-transform:none;letter-spacing:.02em;color:var(--text-muted)}.input-card{background:var(--bg-primary);border:1px solid var(--divider);border-radius:var(--radius-btn);padding:0 14px;transition:border-color .2s ease}.input-card:focus-within{border-color:#6366f18c}.hero-input{width:100%;border:none;outline:none;background:none;font:inherit;font-size:19px;font-weight:500;letter-spacing:-.2px;color:var(--text-primary);padding:13px 0}.hero-input::placeholder{color:var(--text-muted);font-weight:400}.amount-row{display:flex;align-items:baseline;gap:8px}.rupee-prefix{font-size:17px;font-weight:400;color:var(--text-secondary)}.amount-input{flex:1;min-width:0;border:none;outline:none;background:none;font:inherit;font-size:24px;font-weight:500;letter-spacing:-.8px;color:var(--text-primary);padding:11px 0;font-variant-numeric:tabular-nums}.amount-input::placeholder{color:var(--text-muted)}.segmented{display:flex;background:var(--bg-primary);border:1px solid var(--divider);border-radius:var(--radius-btn);padding:3px}.segment{flex:1;border:none;background:none;padding:8px 0;border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:var(--text-secondary);transition:color .15s ease,background-color .15s ease}.segment.selected{background:var(--bg-card-hover);color:var(--text-primary)}.note-input{width:100%;border:none;outline:none;background:none;font:inherit;font-size:14px;color:var(--text-secondary);padding:11px 0;resize:none;line-height:1.5}.note-input::placeholder{color:var(--text-muted)}.row-card{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:4px 2px;border:none;background:none;color:var(--text-primary);font-size:16px;text-align:left}.row-card-label{font-size:16px;font-weight:500}.delete-row{display:block;width:100%;margin-top:22px;padding:14px 0;border:none;background:none;color:var(--danger);font-size:15px;font-weight:500;text-align:center;opacity:.9}.delete-row:active{opacity:.6}.switch{flex:none;width:49px;height:30px;border:none;border-radius:15px;background:var(--bg-card-hover);position:relative;padding:0;transition:background-color .2s ease}.switch.on{background:var(--success)}.switch-knob{position:absolute;top:2px;left:2px;width:26px;height:26px;border-radius:50%;background:#f5f5f5;box-shadow:0 2px 6px #0006;transition:transform .2s ease}.switch.on .switch-knob{transform:translate(19px)}.option-list{margin:0 0 22px}.option-list.top{border-top:1px solid var(--divider)}.option-row{display:flex;align-items:center;width:100%;padding:16px 2px;background:none;border:none;border-bottom:1px solid var(--divider);font-size:16px;font-weight:400;text-align:left;color:var(--text-primary);transition:opacity .15s ease}.option-row:hover{background:var(--bg-card-hover)}.option-row:active{opacity:.55}.option-row.danger{color:var(--danger)}.hidden-input{display:none}.about-hero{text-align:center;padding:8px 0 18px}.about-icon{border-radius:16px;box-shadow:var(--shadow)}.about-name{font-size:18px;font-weight:600;margin-top:12px;letter-spacing:-.2px}.about-version{font-size:12px;color:var(--text-muted);margin-top:3px}.about-card{padding:4px 2px;margin-bottom:18px;font-size:14px;color:var(--text-secondary);line-height:1.6;border-bottom:1px solid var(--divider)}.about-card p{margin:10px 0}.about-card .hairline{display:none}.about-stat{display:flex;align-items:center;justify-content:space-between;padding:11px 2px;font-size:14px;color:var(--text-secondary);border-top:1px solid var(--divider)}.about-stat:first-child{border-top:none}.about-stat strong{font-weight:500;color:var(--text-primary);font-variant-numeric:tabular-nums}.about-hint{color:var(--text-muted);font-size:13px}.alert-root{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:32px}.alert-backdrop{position:absolute;inset:0;background:#0009;opacity:0;transition:opacity .2s ease}.alert-root.open .alert-backdrop{opacity:1}.alert{position:relative;width:280px;background:var(--bg-card);border:1px solid var(--divider);border-radius:var(--radius-card);overflow:hidden;text-align:center;box-shadow:var(--shadow);transform:scale(1.06);opacity:0;transition:transform .2s ease,opacity .2s ease}.alert-root.open .alert{transform:scale(1);opacity:1}.alert-text{padding:20px 18px 16px}.alert-title{font-size:16px;font-weight:600;color:var(--text-primary)}.alert-message{font-size:13px;color:var(--text-secondary);margin-top:6px;line-height:1.45}.alert-buttons{display:flex;border-top:1px solid var(--divider)}.alert-button{flex:1;padding:13px 0;background:none;border:none;font-size:15px;font-weight:500;color:var(--accent)}.alert-button+.alert-button{border-left:1px solid var(--divider)}.alert-button:active{background:var(--bg-card-hover)}.alert-button.cancel{color:var(--text-secondary)}.alert-button.destructive{color:var(--danger)}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(env(safe-area-inset-bottom,0px) + 84px);background:var(--bg-card);border:1px solid var(--divider);color:var(--text-secondary);font-size:13px;font-weight:500;padding:8px 16px;border-radius:var(--radius-btn);z-index:70;box-shadow:var(--shadow);animation:toast-in .25s ease;white-space:nowrap}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
