.segmented{background:var(--color-bg);border-radius:12px;padding:4px;display:flex}.segmented__option{min-height:36px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1;padding:0 10px;font-size:14px;font-weight:500}.segmented__option[aria-checked=true]{background:var(--color-surface);color:var(--color-text);font-weight:700}.category-badge{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.unit-input{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:14px;flex:auto;align-items:center;gap:6px;min-width:0;height:50px;padding:0 14px;display:flex}.unit-input:focus-within{border-color:var(--color-ink)}.unit-input__field{text-align:right;background:0 0;border:none;outline:none;flex:1;min-width:0;height:100%;padding:0;font-size:16px}.unit-input__unit{color:var(--color-text-secondary);flex-shrink:0;font-size:16px}.page{min-height:100dvh;padding-top:env(safe-area-inset-top)}.page__header{align-items:center;gap:4px;height:56px;padding:8px 20px 0;display:flex}.page__back{width:var(--touch-target);height:var(--touch-target);justify-content:center;align-items:center;margin-left:-12px;display:flex}.page__title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:20px;font-weight:800;overflow:hidden}.page__content{padding:16px var(--space-page) calc(var(--tab-bar-height) + env(safe-area-inset-bottom) + 24px);flex-direction:column;gap:12px;display:flex}.bottom-sheet{overscroll-behavior:contain;background:var(--color-surface);width:100%;max-width:520px;max-height:90dvh;color:var(--color-text);border:none;border-radius:28px 28px 0 0;margin:auto auto 0;padding:0;overflow-y:auto}.bottom-sheet::backdrop{background:#191f2873}.bottom-sheet__body{padding:10px 20px calc(20px + env(safe-area-inset-bottom));flex-direction:column;gap:18px;display:flex}.bottom-sheet__grabber{background:var(--color-border);border-radius:2px;align-self:center;width:36px;height:4px}.bottom-sheet__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.bottom-sheet__title{margin:0;font-size:19px;font-weight:800}.bottom-sheet__close{width:var(--touch-target);height:var(--touch-target);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin-right:-10px;display:flex}.confirm-sheet__message{margin:0}.confirm-sheet__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.confirm-sheet__danger{background:var(--color-danger);height:50px}.budget-presets{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.budget-presets__row{align-items:center;gap:12px;display:flex}.budget-presets__delete{color:var(--color-text-secondary);flex-shrink:0}.budget-page__line{justify-content:space-between;font-size:15px;display:flex}.budget-page__line--total{border-top:1px solid var(--color-border);padding-top:12px;font-weight:700}.budget-page__over{color:var(--color-danger)}.budget-page__category{flex-direction:column;gap:8px;display:flex}.budget-page__category-head,.budget-page__ratio{align-items:center;gap:12px;display:flex}.budget-page__presets{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.budget-page__presets>.button-secondary:disabled{opacity:.4;cursor:default}.budget-page__link{color:var(--color-ink);font-weight:600}.empty-notice__text{text-align:center;margin:0}.calendar{flex-direction:column;gap:12px;display:flex}.calendar__header{justify-content:space-between;align-items:center;display:flex}.calendar__nav{width:var(--touch-target);height:var(--touch-target);background:var(--color-bg);color:var(--color-text);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.calendar__month{font-size:17px;font-weight:700}.calendar__grid{flex-direction:column;gap:4px;display:flex}.calendar__row{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.calendar__weekday{text-align:center;color:var(--color-text-tertiary);padding:6px 0;font-size:12px;font-weight:600}.calendar__day,.calendar__empty{aspect-ratio:1;min-height:var(--touch-target)}.calendar__day{cursor:pointer;background:0 0;border:none;border-radius:50%;font-size:15px;font-weight:500}.calendar__day--today{color:var(--color-ink);font-weight:800}.calendar__day--selected{background:var(--color-ink);color:var(--color-on-ink);font-weight:700}.calendar__day:disabled{color:var(--color-border);cursor:default}.keypad{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;display:grid}.keypad__key{cursor:pointer;background:0 0;border:none;border-radius:12px;justify-content:center;align-items:center;height:52px;font-size:22px;font-weight:600;display:flex}.keypad__key:active{background:var(--color-bg)}.option-sheet__grid{gap:6px;display:grid}.option-sheet__option{min-height:var(--touch-target);background:var(--color-bg);cursor:pointer;border:none;border-radius:12px;font-size:14px;font-weight:500}.option-sheet__option[aria-checked=true]{background:var(--color-ink);color:var(--color-on-ink);font-weight:700}.toggle-switch{background:var(--color-border);cursor:pointer;border:none;border-radius:15px;flex-shrink:0;width:50px;height:30px;padding:0;transition:background-color .2s;position:relative}.toggle-switch[aria-checked=true]{background:var(--color-ink)}.toggle-switch__knob{background:var(--color-surface);border-radius:50%;width:24px;height:24px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #191f2840}.toggle-switch[aria-checked=true] .toggle-switch__knob{transform:translate(20px)}.custom-color__preview{align-items:center;gap:14px;display:flex}.custom-color__swatch{border-radius:50%;flex-shrink:0;width:56px;height:56px;box-shadow:inset 0 0 0 1px #191f2814}.custom-color__hex{text-transform:lowercase;flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.color-slider{appearance:none;cursor:pointer;border-radius:7px;width:100%;height:14px;margin:8px 0}.color-slider::-webkit-slider-thumb{border:3px solid var(--color-surface);appearance:none;background:0 0;border-radius:50%;width:28px;height:28px;box-shadow:0 1px 4px #191f2859}.color-slider::-moz-range-thumb{border:3px solid var(--color-surface);background:0 0;border-radius:50%;width:22px;height:22px;box-shadow:0 1px 4px #191f2859}.picker-groups{flex-direction:column;gap:14px;display:flex}.picker-group{flex-direction:column;gap:8px;display:flex}.picker-group__label{color:var(--color-text-tertiary);font-size:13px;font-weight:600}.picker-grid{grid-template-columns:repeat(auto-fill, minmax(var(--touch-target), 1fr));gap:8px;display:grid}.picker-option{aspect-ratio:1;min-height:var(--touch-target);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.picker-option[aria-checked=true]{box-shadow:0 0 0 3px var(--color-surface), 0 0 0 5px var(--color-text)}.picker-option--shape{background:var(--color-surface-muted);border-radius:14px}.picker-option--custom{background:var(--color-surface-muted);border:2px dashed var(--color-text-tertiary)}.picker-option--custom[aria-checked=true]{border:none}.picker-option__plus{color:var(--color-text-secondary);font-size:20px;font-weight:700}.category-editor__preview{justify-content:center;display:flex}.category-chooser{flex-direction:column;gap:10px;display:flex}.category-chooser__top{scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.category-chooser__top::-webkit-scrollbar{display:none}.category-chooser__item{width:68px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;flex-direction:column;flex-shrink:0;align-items:center;gap:6px;padding:4px 0;font-size:12px;display:flex}.category-chooser__item[aria-checked=true]{color:var(--color-text);font-weight:700}.category-chooser__badge{border-radius:50%}.category-chooser__item[aria-checked=true] .category-chooser__badge{box-shadow:0 0 0 2px var(--color-ink)}.category-chooser__new{border:2px dashed var(--color-text-tertiary);border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;font-weight:700;display:flex}.category-chooser__children{flex-wrap:wrap;gap:6px;display:flex}.category-chooser__chip{background:var(--color-bg);min-height:34px;color:var(--color-text-secondary);cursor:pointer;border:none;border-radius:17px;padding:0 14px;font-size:13px}.category-chooser__chip[aria-checked=true]{background:var(--color-ink);color:var(--color-on-ink);font-weight:600}.entry{background:var(--color-surface);height:100dvh;padding-top:env(safe-area-inset-top);flex-direction:column;display:flex}.entry__header{justify-content:space-between;align-items:center;height:56px;padding:0 8px;display:flex}.entry__title{margin:0;font-size:17px;font-weight:700}.entry__icon-button{width:var(--touch-target);height:var(--touch-target);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.entry__delete{min-width:var(--touch-target);height:var(--touch-target);color:var(--color-danger);cursor:pointer;background:0 0;border:none;padding:0 8px;font-size:15px;font-weight:600}.entry__scroll{flex-direction:column;flex:1;gap:16px;min-height:0;padding:8px 16px 16px;display:flex;overflow-y:auto}.entry__amount{flex-direction:column;gap:6px;padding:8px 8px 0;display:flex}.entry__amount-value{letter-spacing:-1.4px;font-size:40px;font-weight:800}.entry__amount-value--empty{color:var(--color-text-tertiary)}.entry__fields{background:var(--color-surface-muted);border-radius:20px;flex-direction:column;padding:2px 16px;display:flex}.entry__row{border:none;border-bottom:1px solid var(--color-border);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:12px;min-height:50px;padding:0;font-size:15px;display:flex}.entry__row:last-child{border-bottom:none}.entry__row-label{width:64px;color:var(--color-text-secondary);flex-shrink:0;font-size:14px}.entry__row-value{flex:1;font-weight:600}.entry__memo{background:0 0;border:none;outline:none;flex:1;min-width:0;padding:0;font-size:15px;font-weight:600}.entry__footer{padding:4px 16px calc(16px + env(safe-area-inset-bottom));flex-direction:column;gap:10px;display:flex}.entry__hint{margin:-4px 4px 0}.period-nav{justify-content:space-between;align-items:center;margin-top:-8px;display:flex}.period-nav__button{width:var(--touch-target);height:var(--touch-target);color:var(--color-text);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.period-nav__label{font-size:15px;font-weight:700}.record-add-link{right:20px;bottom:calc(var(--tab-bar-height) + env(safe-area-inset-bottom) + 20px);background:var(--color-ink);width:58px;height:58px;color:var(--color-on-ink);border-radius:20px;justify-content:center;align-items:center;display:flex;position:fixed}.expense-list__day-title{color:var(--color-text-secondary);margin:0;font-size:14px;font-weight:600}.expense-list__text{flex-direction:column;flex:1;min-width:0;display:flex}.expense-list__amount{font-size:15px;font-weight:700}.donut{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:108px;height:108px;display:flex}.donut__hole{background:var(--color-bg);text-align:center;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:66px;height:66px;display:flex}.stats-card{flex-direction:column;gap:16px;display:flex}.stats-card__top{justify-content:space-between;align-items:center;gap:12px;display:flex}.stats-card__summary{flex-direction:column;gap:4px;min-width:0;display:flex}.stats-card__comparison{color:var(--color-ink);font-size:14px;font-weight:600}.stats-card__total{letter-spacing:-1px;font-size:30px;font-weight:800}.stats-card__usage{font-size:16px;font-weight:800}.stats-card__usage-label{color:var(--color-text-secondary);font-size:10px}.stats-card__legend{border-top:1px solid var(--color-surface);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;padding-top:16px;font-size:13px;display:grid}.stats-card__legend-item{align-items:center;gap:8px;display:flex}.stats-card__swatch{border-radius:2px;flex-shrink:0;width:8px;height:8px}.stats-card__legend-name{min-width:0;color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.expense-page__chips{scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.expense-page__chips::-webkit-scrollbar{display:none}.expense-page__chip{background:var(--color-surface);min-height:36px;color:var(--color-text-secondary);cursor:pointer;border:none;border-radius:18px;flex-shrink:0;padding:0 16px;font-size:14px;font-weight:500}.expense-page__chip[aria-checked=true]{background:var(--color-ink);color:var(--color-on-ink);font-weight:600}.segment-bar{gap:3px;height:24px;display:flex}.segment-bar__part{border-radius:4px;flex-basis:0;min-width:4px}.segment-bar__part:first-child{border-top-left-radius:8px;border-bottom-left-radius:8px}.segment-bar__part:last-child{border-top-right-radius:8px;border-bottom-right-radius:8px}.segment-bar__empty{background:var(--color-border);border-radius:8px;flex:1}.segment-legend{color:var(--color-text-secondary);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;font-size:12px;display:grid}.segment-legend__item{align-items:center;gap:6px;display:flex}.segment-legend__swatch{border-radius:2px;flex-shrink:0;width:8px;height:8px}.category-order{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.category-order__row{align-items:center;gap:12px;min-height:56px;display:flex}.category-order__move{width:var(--touch-target);height:var(--touch-target);background:var(--color-bg);color:var(--color-text);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;display:flex}.category-order__move:disabled{color:var(--color-border);cursor:default}.home__remaining{letter-spacing:-1px;font-size:30px;font-weight:800}.home__remaining--over{color:var(--color-danger)}.home__breakdown{align-items:center;gap:16px;display:flex}.home__spent{flex-direction:column;flex:1;gap:2px;min-width:0;font-size:16px;display:flex}.home__divider{background:var(--color-border);align-self:stretch;width:1px}.home__legend{flex:1;min-width:0}.home__reorder{width:var(--touch-target);height:var(--touch-target);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin-right:-10px;display:flex}.home__empty{margin:0 0 14px}.home__category-text{flex-direction:column;flex:1;justify-content:center;min-width:0;display:flex}.home__category-name{font-size:16px;font-weight:600}.home__category-budget{color:var(--color-text-secondary);font-size:12px}.home__category-amount{font-size:15px;font-weight:700}.home__category-amount--spent{color:var(--color-text-secondary)}.home__category-amount--over{color:var(--color-danger)}.chevron-icon{color:var(--color-text-tertiary);flex-shrink:0}.backup-section__notice{margin:0 0 14px}.more-page__profile{width:var(--touch-target);height:var(--touch-target);color:var(--color-text);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-right:-8px;padding:0;display:flex}.more-page__dots{gap:3px;display:flex}.more-page__dot{border-radius:50%;width:8px;height:8px}.add-button{width:var(--touch-target);height:var(--touch-target);color:var(--color-ink);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin-right:-10px;padding:0;display:flex}.field-button{border:1px solid var(--color-border);background:var(--color-surface-muted);text-align:left;cursor:pointer;border-radius:14px;justify-content:space-between;align-items:center;gap:8px;width:100%;height:50px;padding:0 14px;font-size:16px;display:flex}.field-button__icon{color:var(--color-text-tertiary);flex-shrink:0}.toggle-field__row{justify-content:space-between;align-items:center;gap:12px;font-size:15px;font-weight:600;display:flex}.wheel{isolation:isolate;height:calc(var(--wheel-row-height) * var(--wheel-visible-rows));position:relative}.wheel__band{left:0;right:0;top:calc(var(--wheel-row-height) * var(--wheel-padding-rows));height:var(--wheel-row-height);background:var(--color-bg);z-index:-1;border-radius:12px;position:absolute}.wheel__list{height:100%;padding:calc(var(--wheel-row-height) * var(--wheel-padding-rows)) 0;overscroll-behavior:contain;scroll-snap-type:y mandatory;scrollbar-width:none;margin:0;list-style:none;overflow-y:auto}.wheel__list::-webkit-scrollbar{display:none}.wheel__item{height:var(--wheel-row-height);scroll-snap-align:center}.wheel__option{width:100%;height:100%;color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:none;font-size:17px}.wheel__option[aria-selected=true]{color:var(--color-text);font-size:20px;font-weight:700}.stopped-plans__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.stopped-plans__amount{color:var(--color-text-tertiary);font-size:15px;font-weight:700}.income-page__total-card{padding:8px var(--space-card);justify-content:space-between;align-items:baseline;gap:12px;display:flex}.income-page__total-label{font-size:16px;font-weight:600}.income-page__total-amount{font-size:20px;font-weight:800}.income-page__empty{margin:4px 0 12px}.income-page__text{flex-direction:column;flex:1;min-width:0;display:flex}.income-page__amount{font-size:15px;font-weight:700}.progress-bar{background:var(--color-surface);border-radius:4px;height:8px;overflow:hidden}.progress-bar__fill{border-radius:4px;height:100%;display:block}.checklist__empty{margin:4px 0 12px}.checklist__error{margin-bottom:12px}.checklist__row{align-items:center;gap:14px;min-height:60px;display:flex}.checklist__row--indented{min-height:48px;padding-left:40px}.checklist__check{width:var(--touch-target);height:var(--touch-target);color:var(--color-on-ink);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin:0 -9px;padding:0;display:flex;position:relative}.checklist__check:before{content:"";border:2px solid var(--color-text-tertiary);border-radius:8px;width:26px;height:26px;position:absolute}.checklist__check>svg{position:relative}.checklist__row[data-done=true] .checklist__check:before{background:var(--color-ink);border:none}.checklist__body{text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:12px;min-width:0;min-height:48px;padding:0;display:flex}.checklist__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.checklist__label{font-size:15px;font-weight:600}.checklist__status{color:var(--color-text-secondary);font-size:13px}.checklist__row[data-done=true] .checklist__label,.checklist__row[data-done=true] .checklist__amount{color:var(--color-text-tertiary)}.checklist__amount{font-size:15px;font-weight:700}.recurring-page__progress{flex-direction:column;gap:8px;display:flex}.recurring-page__progress-head{justify-content:space-between;align-items:baseline;display:flex}.recurring-page__progress-label{font-size:15px;font-weight:600}.recurring-page__done{color:var(--color-text);font-size:17px}.categories-page__add-child{align-items:center;gap:6px;margin-left:54px;display:flex}.tab-bar{height:calc(var(--tab-bar-height) + env(safe-area-inset-bottom));padding:8px 0 env(safe-area-inset-bottom);background:var(--color-surface);border-radius:20px 20px 0 0;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.tab-bar__item{color:var(--color-text-tertiary);flex-direction:column;align-items:center;gap:4px;font-size:11px;display:flex}.tab-bar__item.active{color:var(--color-text);font-weight:600}.onboarding{min-height:100dvh;padding:calc(env(safe-area-inset-top) + 72px) var(--space-page) calc(env(safe-area-inset-bottom) + 24px);flex-direction:column;gap:24px;display:flex}.onboarding__intro{flex-direction:column;gap:8px;padding:0 8px;display:flex}.onboarding__title{margin:0;font-size:28px;font-weight:800}:root{--color-bg:#f2f4f6;--color-surface:#fff;--color-surface-muted:#f7f8fa;--color-text:#191f28;--color-text-secondary:#5c6573;--color-text-tertiary:#8b95a1;--color-ink:#3d5f94;--color-on-ink:#fff;--color-ink-card:var(--color-ink);--color-accent:#a3bfdf;--color-on-accent:#1b2a4a;--color-chart-fixed:#d5dde8;--color-chart-savings:#97acd2;--color-chart-spent:var(--color-ink);--color-chart-left:var(--color-accent);--color-uncategorized:var(--color-text-tertiary);--color-border:#eaeef4;--color-danger:#b4400b;--color-danger-on-ink:#ffb4a3;--radius-card:24px;--radius-control:16px;--space-page:12px;--space-card:22px;--tab-bar-height:64px;--touch-target:44px;color:var(--color-text);background:var(--color-bg);letter-spacing:-.3px;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,sans-serif}*{box-sizing:border-box}body{background:var(--color-bg);margin:0}button,input,select{font:inherit;color:inherit;letter-spacing:inherit}a{color:inherit;text-decoration:none}.card{background:var(--color-surface);border-radius:var(--radius-card);padding:var(--space-card)}.outline-card{border:1px solid var(--color-ink);border-radius:var(--radius-card);padding:var(--space-card)}.ink-card{--color-text:var(--color-on-ink);--color-text-secondary:#ffffffb8;--color-ink:var(--color-accent);--color-bg:var(--color-ink-card);--color-surface:#fff3;--color-border:#fff3;--color-danger:var(--color-danger-on-ink);--color-chart-spent:var(--color-on-ink);border-radius:var(--radius-card);padding:var(--space-card);background:var(--color-ink-card);color:var(--color-text)}.card--list{padding-top:6px;padding-bottom:6px}.card-heading{--card-heading-line:20px;justify-content:space-between;align-items:center;gap:12px;padding:11px 0 6px;display:flex}.card-heading>.section-title{margin:0}.card-heading>:is(button,a){margin-block:calc((var(--touch-target) - var(--card-heading-line)) / -2)}.section-title{margin:0 0 8px;font-size:17px;font-weight:700}.muted{color:var(--color-text-secondary);font-size:14px}.list-row{text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:14px;width:100%;min-height:56px;padding:0;display:flex}.list-row__label{flex:1;min-width:0;font-size:15px;font-weight:600}.list-row__value{color:var(--color-text-secondary);font-size:14px}.list-row--indented{min-height:48px;padding-left:54px}.button-primary{border-radius:var(--radius-control);background:var(--color-ink);width:100%;height:54px;color:var(--color-on-ink);cursor:pointer;border:none;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.button-primary:disabled{opacity:.4;cursor:default}.button-secondary{border-radius:var(--radius-control);background:var(--color-bg);width:100%;height:50px;color:var(--color-text);cursor:pointer;border:none;font-size:15px;font-weight:600}.button-text{min-height:var(--touch-target);color:var(--color-ink);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;font-weight:600}.field{flex-direction:column;gap:8px;display:flex}.field__label{color:var(--color-text-secondary);font-size:14px}.field__input{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:14px;height:50px;padding:0 14px;font-size:16px}.field__input:focus{border-color:var(--color-ink);outline:none}.form-error{color:var(--color-danger);margin:0;font-size:14px;font-weight:600}.stack{flex-direction:column;gap:12px;display:flex}
