:root{--color-paper:oklch(95.8% .006 90);--color-surface:oklch(98.5% .004 90);--color-surface-2:oklch(88% .008 90);--color-ink:oklch(18% .008 90);--color-ink-soft:oklch(46% .008 90);--color-line:oklch(78% .008 90);--color-accent:oklch(66% .2 52);--color-accent-hover:oklch(59% .2 52);--color-accent-soft:oklch(89% .08 57);--color-accent-ink:oklch(18% .008 90);--color-dark:oklch(18% .008 90);--color-dark-soft:oklch(27% .012 90);--color-dark-ink:oklch(98% .004 90);--color-success:oklch(45% .11 150);--color-success-soft:oklch(88% .055 150);--color-danger:oklch(51% .15 25);--color-danger-soft:oklch(91% .055 25);--color-focus:oklch(48% .18 260);--font-display:"DM Sans", ui-sans-serif, sans-serif;--font-body:"Manrope", ui-sans-serif, sans-serif;--space-3xs:4px;--space-2xs:8px;--space-xs:12px;--space-sm:16px;--space-md:24px;--space-lg:32px;--space-xl:48px;--space-2xl:64px;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--shadow-soft:0 18px 44px oklch(35% .03 90/.1);--shadow-button:0 10px 24px oklch(50% .12 52/.2);--ease-out:cubic-bezier(.16, 1, .3, 1);--z-nav:20;--z-popover:25;--z-toast:30}*,:before,:after{box-sizing:border-box}html,body{width:100%;overflow-x:clip}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);margin:0;font-size:16px;line-height:1.5}img,svg{max-width:100%}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.05em;text-wrap:balance;font-weight:600}p{text-wrap:pretty}.tabular{font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.app-shell{width:min(100%,480px);min-height:100svh;padding:0 var(--space-sm) 112px;margin:0 auto}.topbar{align-items:center;gap:var(--space-2xs);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);min-height:76px;display:grid;position:relative}.brand{justify-self:start;align-items:center;gap:var(--space-2xs);min-width:0;display:inline-flex}.brand-mark{border-radius:12px;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid;overflow:hidden;box-shadow:0 6px 14px oklch(50% .12 52/.18)}.brand-mark img{object-fit:cover;width:100%;height:100%}.brand-name{text-overflow:ellipsis;font-family:var(--font-display);letter-spacing:-.06em;font-size:18px;font-weight:700;overflow:hidden}.topbar-activity{min-height:44px;padding:0 var(--space-2xs);border-radius:var(--radius-sm);color:var(--color-ink-soft);cursor:pointer;font-family:var(--font-body);white-space:nowrap;transition:background-color .16s var(--ease-out), color .16s var(--ease-out), transform .1s var(--ease-out);background:0 0;border:0;justify-self:center;align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.topbar-activity:hover{background:var(--color-surface-2);color:var(--color-ink)}.topbar-activity:active{transform:translateY(1px)}.wallet-chip-wrap{justify-self:end;justify-items:end;gap:2px;min-width:0;display:grid;position:relative}.network-badge{background:var(--color-surface-2);color:var(--color-ink-soft);font-family:var(--font-body);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:700}.wallet-chip{min-height:44px;padding:0 var(--space-2xs);border-radius:var(--radius-sm);color:var(--color-ink);cursor:pointer;font-family:var(--font-body);transition:background-color .16s var(--ease-out), border-color .16s var(--ease-out), transform .1s var(--ease-out);background:0 0;border:1px solid #0000;align-items:center;gap:7px;font-size:12px;font-weight:700;display:inline-flex}.wallet-chip:hover{border-color:var(--color-line);background:var(--color-surface)}.wallet-chip:active{transform:translateY(1px)}.wallet-chip:disabled{opacity:.6;cursor:default}.wallet-dot{background:var(--color-line);border-radius:99px;flex-shrink:0;width:7px;height:7px}.wallet-dot-ok{background:var(--color-success);box-shadow:0 0 0 3px var(--color-success-soft)}.wallet-dot-warn{background:oklch(70% .15 80);box-shadow:0 0 0 3px oklch(70% .15 80/.25)}.wallet-dot-off{background:var(--color-line)}.wallet-popover{z-index:var(--z-popover);width:200px;padding:var(--space-xs);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-soft);gap:4px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.wallet-popover strong{font-family:var(--font-display);font-size:13px}.wallet-popover .address{font-size:12px}.app-content{padding-top:var(--space-sm)}.bottom-nav{z-index:var(--z-nav);padding:var(--space-2xs) var(--space-sm) calc(var(--space-2xs) + env(safe-area-inset-bottom,0px));background:var(--color-paper);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 30px oklch(35% .03 90/.08)}.nav-inner{grid-template-columns:repeat(4,1fr);gap:4px;width:min(100%,448px);display:grid}.nav-item{border-radius:var(--radius-md);min-width:0;min-height:52px;color:var(--color-ink-soft);white-space:nowrap;transition:background-color .16s var(--ease-out), color .16s var(--ease-out), transform .1s var(--ease-out);border:0;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0 6px;font-size:11px;font-weight:700;text-decoration:none;display:flex}.nav-item:hover{background:var(--color-surface-2);color:var(--color-ink)}.nav-item-active{background:var(--color-dark);color:var(--color-dark-ink)}.screen{gap:var(--space-md);padding-bottom:var(--space-lg);flex-direction:column;display:flex}.eyebrow{color:var(--color-ink-soft);font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:12px;font-weight:700}.masthead,.page-head{gap:var(--space-xs);display:grid}.masthead{padding:var(--space-sm) 0 var(--space-md)}.page-head{padding:var(--space-md) 0 var(--space-lg)}.masthead h1,.page-head h1,.state-heading{letter-spacing:-.09em;overflow-wrap:anywhere;min-width:0;max-width:11ch;margin:0;font-size:clamp(2.8rem,13vw,4.6rem);font-weight:600;line-height:.88}.masthead .lead,.page-head>p:last-child{max-width:31ch;color:var(--color-ink-soft)}.greeting-row{align-items:start;gap:var(--space-sm);grid-template-columns:minmax(0,1fr) auto;display:grid}.streak-card{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);flex-shrink:0;align-items:flex-start;gap:8px;max-width:168px;padding:10px 12px;display:flex}.streak-card-icon{background:var(--color-accent-soft);width:26px;height:26px;color:var(--color-accent-hover);border-radius:999px;flex-shrink:0;place-items:center;display:grid}.streak-card-copy{gap:2px;min-width:0;display:grid}.streak-card-primary{color:var(--color-ink);font-family:var(--font-display);letter-spacing:-.02em;font-size:13px;font-weight:700;line-height:1.25}.streak-card-secondary{color:var(--color-ink-soft);font-size:11px;line-height:1.3}.back-action{min-height:44px;color:var(--color-ink-soft);cursor:pointer;font-family:var(--font-body);background:0 0;border:0;justify-self:start;align-items:center;gap:6px;padding:0;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.back-action:hover{color:var(--color-ink)}.rule-band,.calculation{gap:var(--space-md);padding:var(--space-md);border-radius:var(--radius-lg);background:var(--color-dark);color:var(--color-dark-ink);box-shadow:var(--shadow-soft);display:grid}.rule-band-head{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);display:flex}.rule-band .eyebrow,.calculation-title{color:var(--color-surface-2)}.rule-band h2{max-width:18ch;margin:var(--space-2xs) 0 0;letter-spacing:-.045em;font-size:22px;font-weight:600;line-height:1.05}.rule-band p:not(.eyebrow),.calculation-row{color:var(--color-surface-2);margin:0;font-size:14px}.rule-icon{background:var(--color-accent);width:36px;height:36px;color:var(--color-accent-ink);border-radius:11px;flex-shrink:0;place-items:center;display:grid}.rule-band-meta{justify-content:space-between;gap:var(--space-sm);color:var(--color-surface-2);font-size:12px;display:flex}.rule-band-meta strong{color:var(--color-dark-ink);font-weight:600}.goal-section{gap:var(--space-sm);padding:var(--space-lg) 0;display:grid}.section-kicker,.goal-foot{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.section-kicker{color:var(--color-ink-soft);letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:700}.text-link{border:0;border-bottom:1px solid var(--color-line);color:var(--color-ink);cursor:pointer;font:inherit;background:0 0;padding:0;font-size:12px;text-decoration:none}.text-link:hover{border-color:var(--color-accent);color:var(--color-accent-hover)}.goal-amount{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.goal-amount strong{font-family:var(--font-display);letter-spacing:-.09em;font-size:clamp(2.3rem,11vw,4rem);font-weight:600;line-height:.9}.goal-amount span,.goal-foot{color:var(--color-ink-soft);font-size:13px}.progress-track{background:var(--color-surface-2);border-radius:999px;height:10px;overflow:hidden}.progress-fill{border-radius:inherit;background:var(--color-accent);height:100%;transition:width .36s var(--ease-out)}.primary-action,.button{justify-content:center;align-items:center;gap:var(--space-2xs);min-height:52px;padding:0 var(--space-md);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-display);transition:background-color .16s var(--ease-out), color .16s var(--ease-out), border-color .16s var(--ease-out), opacity .16s var(--ease-out), transform .1s var(--ease-out), box-shadow .16s var(--ease-out);border:1px solid #0000;font-weight:700;text-decoration:none;display:inline-flex;position:relative}.primary-action{border-radius:var(--radius-md);background:var(--color-accent);width:100%;min-height:64px;color:var(--color-accent-ink);box-shadow:var(--shadow-button);letter-spacing:-.03em;text-align:left;justify-content:space-between;font-size:18px;display:flex}.primary-action:hover,.button-accent:hover{background:var(--color-accent-hover)}.primary-action:active,.button:active{transform:translateY(1px)}.button-dark{background:var(--color-dark);color:var(--color-dark-ink)}.button-dark:hover{background:var(--color-dark-soft)}.button-accent{background:var(--color-accent);color:var(--color-accent-ink);box-shadow:var(--shadow-button)}.button-quiet{border-color:var(--color-line);color:var(--color-ink);background:0 0}.button-quiet:hover{border-color:var(--color-ink);background:var(--color-surface)}.button:disabled,.primary-action:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.button-arrow{background:var(--color-accent-ink);width:32px;height:32px;color:var(--color-accent);border-radius:50%;flex-shrink:0;place-items:center;display:inline-grid}.catchup-teaser{gap:var(--space-sm);padding:var(--space-md) 0 0;border-top:1px solid var(--color-line);display:grid}.catchup-teaser-head{justify-content:space-between;gap:var(--space-md);display:flex}.catchup-teaser h2{letter-spacing:-.05em;margin:0;font-size:22px;font-weight:600;line-height:1.05}.catchup-teaser p{color:var(--color-ink-soft);margin:0;font-size:14px}.teaser-amount{color:var(--color-danger);font-family:var(--font-display);letter-spacing:-.05em;white-space:nowrap;flex-shrink:0;font-size:22px;font-weight:700}.secondary-action{min-height:44px;padding:0 var(--space-sm);border:1px solid var(--color-line);border-radius:var(--radius-sm);color:var(--color-ink);cursor:pointer;font-family:var(--font-display);background:0 0;justify-self:start;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.secondary-action:hover{border-color:var(--color-ink);background:var(--color-surface)}.form-stack,.button-row,.obligation-list,.activity-list,.settings-list,.review-list{gap:var(--space-md);display:grid}.field{gap:var(--space-2xs);min-width:0;display:grid}.field label,.field>span:first-child,.rule-selector legend{color:var(--color-ink-soft);font-size:13px;font-weight:700}.field input,.field select{width:100%;min-height:52px;padding:0 var(--space-sm);border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font:inherit;transition:border-color .16s var(--ease-out), background-color .16s var(--ease-out), box-shadow .16s var(--ease-out)}.field input:hover{border-color:var(--color-ink-soft)}.field input:focus-visible{border-color:var(--color-ink);box-shadow:0 0 0 3px var(--color-accent-soft);outline:0}.field-note{color:var(--color-ink-soft);font-size:12px}.destination-note,.helper-banner{align-items:flex-start;gap:var(--space-2xs);color:var(--color-ink-soft);font-size:12px;display:flex}.helper-banner{padding:var(--space-sm);border-radius:var(--radius-sm);background:var(--color-surface-2);color:var(--color-ink);font-size:14px}.rule-selector{gap:var(--space-2xs);border:0;margin:0;padding:0;display:grid}.rule-selector legend{margin-bottom:var(--space-2xs);padding:0}.radio-row{align-items:center;gap:var(--space-xs);min-height:68px;padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:background-color .16s var(--ease-out), border-color .16s var(--ease-out), transform .1s var(--ease-out);grid-template-columns:20px minmax(0,1fr) auto;display:grid}.radio-row:hover{border-color:var(--color-ink-soft)}.radio-row:active{transform:translateY(1px)}.radio-row .radio-row-native{opacity:0;pointer-events:none;position:absolute}.radio-row-selected,.radio-row:has(input:checked){border-color:var(--color-accent);background:var(--color-accent-soft)}.radio-dot{border:2px solid var(--color-line);background:var(--color-surface);border-radius:50%;width:18px;height:18px}.radio-row-selected .radio-dot,.radio-row:has(input:checked) .radio-dot{border:5px solid var(--color-accent)}.radio-copy{min-width:0}.radio-title{font-family:var(--font-display);letter-spacing:-.02em;font-weight:700;display:block}.radio-description{color:var(--color-ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.radio-value{color:var(--color-ink-soft);white-space:nowrap;flex-shrink:0;font-size:13px}.radio-value-editable{flex-shrink:0;align-items:center;gap:3px;display:inline-flex}.radio-value-input{border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface);width:48px;color:var(--color-ink);font:inherit;text-align:right;transition:border-color .16s var(--ease-out), box-shadow .16s var(--ease-out);padding:4px 6px;font-size:13px}.radio-value-input:hover{border-color:var(--color-ink-soft)}.radio-value-input:focus-visible{border-color:var(--color-ink);box-shadow:0 0 0 3px var(--color-accent-soft);outline:0}.radio-value-unit{color:var(--color-ink-soft);font-size:13px}.example-note{padding:var(--space-sm);border-radius:var(--radius-sm);background:var(--color-surface-2);color:var(--color-ink);font-size:14px}.example-note strong{font-family:var(--font-display)}.form-footer{gap:var(--space-xs);padding-top:var(--space-xs);display:grid}.calculation{gap:var(--space-sm)}.calculation-title{letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:700}.calculation-list{gap:var(--space-xs);display:grid}.calculation-row,.calculation-total,.review-row{justify-content:space-between;gap:var(--space-md);display:flex}.calculation-row strong{color:var(--color-dark-ink);font-family:var(--font-display);font-size:18px;font-weight:600}.calculation-total{padding-top:var(--space-sm);border-top:1px solid var(--color-dark-soft)}.calculation-total span{color:var(--color-dark-ink);font-weight:700}.calculation-total strong{color:var(--color-accent);font-family:var(--font-display);letter-spacing:-.06em;font-size:28px;line-height:1}.activity-section{gap:var(--space-2xs);display:grid}.review-list,.activity-list,.settings-list,.obligation-list{border-top:1px solid var(--color-line);gap:0}.review-row,.activity-row,.setting-row,.obligation-row{padding:var(--space-sm) 0;border-bottom:1px solid var(--color-line)}.review-row span,.setting-copy span{color:var(--color-ink-soft);font-size:13px}.review-row strong{overflow-wrap:anywhere;max-width:24ch;font-family:var(--font-display);text-align:right;font-size:15px}.approval-callout{gap:var(--space-xs);margin-top:var(--space-md);padding:var(--space-md);border-radius:var(--radius-md);background:var(--color-accent-soft);display:grid}.approval-callout h2{letter-spacing:-.05em;margin:0;font-size:22px;line-height:1.05}.approval-callout p{color:var(--color-ink-soft);margin:0;font-size:14px}.state-panel{justify-items:start;gap:var(--space-md);padding:var(--space-xl) 0;display:grid}.verified-mark{background:var(--color-success-soft);width:64px;height:64px;color:var(--color-success);border-radius:20px;place-items:center;display:grid}.verified-mark.is-warning{background:var(--color-accent-soft);color:var(--color-accent-hover)}.state-panel h1{letter-spacing:-.09em;overflow-wrap:anywhere;max-width:11ch;font-size:clamp(2.8rem,13vw,4.6rem);font-weight:600;line-height:.86}.state-panel>p:not(.eyebrow){max-width:32ch;color:var(--color-ink-soft);margin:0}.state-detail{width:100%;padding:var(--space-md) 0;border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line)}.state-detail strong{font-family:var(--font-display);letter-spacing:-.06em;margin-bottom:3px;font-size:28px;display:block}.state-detail span{color:var(--color-ink-soft);font-size:13px}.catchup-total{gap:var(--space-2xs);padding:var(--space-sm) 0 var(--space-lg);display:grid}.catchup-total strong{font-family:var(--font-display);letter-spacing:-.1em;font-size:clamp(3.3rem,16vw,5rem);font-weight:600;line-height:.85}.catchup-total span{color:var(--color-ink-soft);font-size:14px}.obligation-row{align-items:center;gap:var(--space-sm);grid-template-columns:minmax(0,1fr) auto;display:grid}.obligation-copy{gap:3px;min-width:0;display:grid}.obligation-copy strong,.activity-copy strong,.setting-copy strong{font-family:var(--font-display);letter-spacing:-.02em;font-size:15px}.obligation-copy span{color:var(--color-ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.obligation-side{justify-items:end;gap:4px;display:grid}.obligation-amount{color:var(--color-danger);font-family:var(--font-display);letter-spacing:-.05em;white-space:nowrap;font-size:18px;font-weight:700}.sweep-footer{gap:var(--space-xs);padding-top:var(--space-lg);display:grid}.sweep-note{color:var(--color-ink-soft);font-size:12px}.activity-row{align-items:center;gap:var(--space-xs);grid-template-columns:36px minmax(0,1fr) auto;display:grid}.activity-mark{background:var(--color-surface-2);width:36px;height:36px;color:var(--color-ink-soft);border-radius:12px;place-items:center;display:grid}.activity-copy{min-width:0}.activity-copy strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.activity-copy span{color:var(--color-ink-soft);font-size:12px}.activity-amount{text-align:right;white-space:nowrap;font-family:var(--font-display);flex-shrink:0;font-size:15px;font-weight:700}.activity-amount small{color:var(--color-success);font-family:var(--font-body);font-size:11px;font-weight:600;display:block}.setting-row{justify-content:space-between;align-items:center;gap:var(--space-md);min-height:68px;display:flex}.setting-copy{gap:2px;display:grid}.switch{background:var(--color-surface-2);cursor:pointer;width:48px;height:28px;transition:background-color .16s var(--ease-out);border:0;border-radius:99px;flex:none;position:relative}.switch:after{content:"";background:var(--color-surface);width:20px;height:20px;transition:transform .16s var(--ease-out);border-radius:50%;position:absolute;top:4px;left:4px;box-shadow:0 2px 5px oklch(25% .02 90/.18)}.switch[aria-checked=true]{background:var(--color-success)}.switch[aria-checked=true]:after{transform:translate(20px)}.toast{right:var(--space-sm);bottom:90px;left:var(--space-sm);z-index:var(--z-toast);align-items:center;gap:var(--space-2xs);width:min(448px,100% - 32px);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);background:var(--color-dark);color:var(--color-dark-ink);box-shadow:var(--shadow-soft);opacity:0;pointer-events:none;transition:opacity .22s var(--ease-out), transform .22s var(--ease-out);margin:0 auto;display:flex;position:fixed;transform:translateY(8px)}.toast.is-visible{opacity:1;transform:translateY(0)}.toast strong{font-family:var(--font-display);font-size:14px;display:block}.toast span{color:var(--color-surface-2);font-size:12px}.address{word-break:break-all;color:var(--color-ink-soft);font-family:ui-monospace,monospace;font-size:13px}.empty-state{padding:var(--space-lg) 0;text-align:center;color:var(--color-ink-soft)}.notice{padding:var(--space-sm);border-radius:var(--radius-sm);border:1px solid var(--color-line);font-size:14px}.notice-ok{border-color:var(--color-success);background:var(--color-success-soft)}.notice-error{border-color:var(--color-danger);background:var(--color-danger-soft)}.notice-warn{border-color:var(--color-accent);background:var(--color-accent-soft)}.icon-row{align-items:center;gap:8px;display:flex}@media (width>=640px){.app-shell{padding-right:var(--space-md);padding-left:var(--space-md)}.topbar{min-height:84px}.bottom-nav{padding-right:var(--space-md);padding-left:var(--space-md)}}
