:root{color-scheme:light;--bg:#F8F7F5;--surface:#F0EFEA;--elevated:#E8E6E0;--border:#E4E1DC;--border-strong:#D3CFC7;--fg:#16181C;--fg-muted:#4A4E52;--fg-subtle:#5A5D60;--primary:#B23A12;--primary-cta:#B23A12;--primary-dark:#8A2C0D;--secondary:#16181C;--accent:#FF5A1F;--on-accent:#FFFFFF;--primary-on-soft:var(--primary);--secondary-ring:transparent;--more-bg:color-mix(in srgb, var(--secondary) 12%, transparent);--more-fg:var(--secondary);--on-fill:#FFFFFF;--knob-ring:transparent;--hero-glow:transparent;--hero-ring:var(--border);--hero-shadow:var(--shadow);--hero-skel:var(--elevated);--hero-skel-hi:var(--surface);--hero-track:var(--border);--hero-band:var(--elevated);--control-border:var(--border);--control-border-strong:var(--border-strong);--input-border:#85817A;--success-text:#0F6B3C;--danger-text:#B01F1F;--ms-on-shadow:0 2px 6px rgba(59,111,238,.3);--fa-s1:#E5511C;--fa-s2:#16181C;--fa-s3:#109187;--fa-s4:#3E6FE0;--fa-s5:#A97817;--fa-s6:#8B5CC9;--fa-s7:#E0527A;--fa-s8:#638D51;--fa-s9:#7E8388;--bg-glass:rgba(248,247,245,.82);--success:#137845;--warning:#9c5e00;--danger:#c42a2a;--info:#2a5be0;--bg2:var(--surface);--bg3:var(--elevated);--text:var(--fg);--text2:var(--fg-muted);--text3:var(--fg-subtle);--border2:var(--border-strong);--signal:var(--danger);--signal-soft:rgba(242,85,85,.1);--success-soft:rgba(63,201,122,.12);--blue:var(--primary);--blue-soft:rgba(178,58,18,.1);--purple:var(--secondary);--purple-soft:rgba(22,24,28,.08);--orange:var(--warning);--orange-soft:rgba(245,166,35,.12);--teal:#12b3a6;--pink:#f25592;--grad-hero:var(--accent);--grad-success:var(--success);--grad-warn:var(--warning);--font:"Archivo","Plus Jakarta Sans",-apple-system,"Helvetica Neue",sans-serif;--mono:"Archivo","Plus Jakarta Sans",-apple-system,sans-serif;--r:20px;--r2:16px;--r3:12px;--r4:8px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--fs-xs:11px;--fs-sm:13px;--fs-md:15px;--fs-lg:17px;--fs-xl:22px;--fs-2xl:28px;--fs-3xl:34px;--fs-input:16px;--shadow:0 1px 3px rgba(10,22,51,.06),0 1px 2px rgba(10,22,51,.04);--shadow-lg:0 8px 24px rgba(10,22,51,.1),0 2px 6px rgba(10,22,51,.05);--shadow-hero:0 12px 30px rgba(59,111,238,.26);--nav-h:64px;--safe-bottom:env(safe-area-inset-bottom,0);--safe-top:env(safe-area-inset-top,0);--safe-left:env(safe-area-inset-left,0);--safe-right:env(safe-area-inset-right,0);--ease-ios:cubic-bezier(.32,.72,0,1);--ease-ios-fast:cubic-bezier(.4,0,.2,1);--dur-base:.28s;--dur-fast:.18s;--ease-spring:cubic-bezier(.34,1.4,.64,1);--ease-out:cubic-bezier(.2,.8,.2,1)}html[data-theme=dark]{color-scheme:dark;--bg:#111317;--surface:#1C1F25;--elevated:#272B33;--border:#30353E;--border-strong:#3C424C;--fg:#F8F7F5;--fg-muted:#9AA0A8;--fg-subtle:#8E949C;--primary:#FF7A45;--primary-cta:#FF7A45;--primary-dark:#FF8A5C;--on-accent:#16181C;--primary-on-soft:#FF8A5C;--secondary:#3A3F48;--secondary-ring:#4A505A;--more-bg:var(--secondary);--more-fg:#FFFFFF;--on-fill:#16181C;--knob-ring:rgba(0,0,0,.55);--hero-glow:rgba(255,122,69,.26);--hero-ring:rgba(255,122,69,.3);--hero-shadow:0 8px 24px rgba(0,0,0,.35);--hero-skel:#626873;--hero-skel-hi:#727884;--hero-track:var(--bg);--hero-band:#626873;--control-border:#7D838B;--control-border-strong:#7D838B;--input-border:var(--control-border);--success-text:var(--success);--danger-text:var(--danger);--ms-on-shadow:0 2px 6px rgba(0,0,0,.35);--accent:#FF7A45;--bg-glass:rgba(17,19,23,.86);--success:#4cd98a;--warning:#f7b955;--danger:#f47878;--info:#5b85f2;--signal-soft:rgba(244,120,120,.16);--success-soft:rgba(76,217,138,.16);--orange-soft:rgba(247,185,85,.16);--blue:var(--primary);--blue-soft:rgba(255,122,69,.24);--purple:var(--fa-s2);--purple-soft:rgba(248,247,245,.12);--grad-hero:var(--accent);--shadow:0 1px 3px rgba(0,0,0,.4);--shadow-lg:0 8px 24px rgba(0,0,0,.5);--shadow-hero:0 6px 16px rgba(0,0,0,.45)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{scrollbar-gutter:stable}html,body{background:var(--bg);color:var(--text);font-family:var(--font);font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;min-height:100svh;overflow-x:hidden;transition:background .3s,color .3s;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{padding-left:var(--safe-left);padding-right:var(--safe-right);user-select:none;-webkit-user-select:none}input,textarea,[contenteditable]{user-select:text;-webkit-user-select:text}button{font-family:var(--font);color:inherit;cursor:pointer;transition:transform .18s var(--ease-ios),opacity .15s,background .2s,border-color .2s,box-shadow .2s;touch-action:manipulation;-webkit-user-select:none;user-select:none}button:active{transform:scale(.96)}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font-family:var(--font);outline:none;transition:border-color .2s,background .2s;font-size:16px;-webkit-appearance:none;border-radius:12px}input:where([type=checkbox],[type=radio]){-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;width:20px;height:20px;margin:0;flex-shrink:0;border-radius:4px;accent-color:var(--primary);cursor:pointer}@media(pointer:coarse){input,select,textarea{font-size:max(16px,var(--fs-input))}}input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],input[inputmode=decimal],input[inputmode=numeric],textarea{font-size:16px}input:focus,select:focus,textarea:focus{border-color:var(--blue)!important}:where(input,select,textarea):where(:not([type=checkbox],[type=radio],[type=range],[type=file],[type=color],[aria-invalid=true]))[style*="var(--border"]{border-color:var(--input-border)!important}select option{background:var(--bg2);color:var(--text)}::-webkit-scrollbar{width:0;display:none}.scroll-body{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y pinch-zoom}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translate3d(0,100%,0)}to{transform:translateZ(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate3d(24px,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate3d(-24px,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fadeUp{animation:fadeUp .4s var(--ease-ios) both}.fadeIn{animation:fadeIn .3s var(--ease-ios-fast) both}.slideInR{animation:slideInRight .32s var(--ease-ios) both}.slideInL{animation:slideInLeft .32s var(--ease-ios) both}@keyframes enterFwd{0%{opacity:0;transform:translate3d(24px,0,0)}}@keyframes enterBack{0%{opacity:0;transform:translate3d(-24px,0,0)}}.enter-fwd{animation:enterFwd var(--dur-base) var(--ease-out) backwards}.enter-back{animation:enterBack var(--dur-base) var(--ease-out) backwards}.view-enter.enter-hold>.fadeUp,.view-enter>.fadeUp[data-enter-done]{animation:none}.view-host{overflow-x:hidden}.m{font-family:var(--mono);font-size:13px;font-variant-numeric:tabular-nums;font-weight:400}.amount{font-variant-numeric:tabular-nums;white-space:nowrap}.amount-in{color:var(--success)}.amount-alert{color:var(--danger)}.amount-out,.amount-neutral{color:var(--fg)}.lb{font-size:11px;font-weight:500;color:var(--fg-subtle);letter-spacing:.1em;text-transform:uppercase;font-family:var(--mono)}.cd{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:var(--shadow)}.cs{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px;border-left:3px solid var(--danger);box-shadow:var(--shadow)}.rw{display:flex;justify-content:space-between;align-items:center}.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.exp-btn{width:100%;display:flex;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:14px 16px;color:var(--fg);text-align:left;box-shadow:var(--shadow)}.exp-detail{background:var(--surface);border:1px solid var(--border);border-top:none;border-radius:0 0 16px 16px;padding:12px 16px;margin-top:-8px}.bar{height:4px;background:var(--elevated);overflow:hidden;margin-top:8px;border-radius:2px}.bar-fill{height:100%;border-radius:2px;transition:width .5s ease-out;background:var(--primary)}.ms-bar{display:flex;padding:3px;margin-bottom:16px;background:var(--elevated);border:1px solid var(--border);border-radius:14px;gap:2px}.ms-bar.ms-wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.ms-bar.ms-wrap .ms{padding:8px 4px}.ms{flex:1;padding:8px 0;border:none;border-radius:11px;font-size:12px;font-weight:500;background:transparent;color:var(--fg-muted);transition:all .2s;font-family:var(--mono);letter-spacing:.04em}.ms.on{background:var(--primary-cta);color:var(--on-accent);border:none;box-shadow:var(--ms-on-shadow)}.hero{position:relative;background:var(--surface);color:var(--fg);border:1px solid var(--border);border-radius:24px;padding:24px;overflow:hidden;box-shadow:var(--shadow)}.hero:before,.hero:after{content:none}.hero-carousel{display:flex;gap:var(--space-3);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:var(--space-5);padding:2px var(--space-5) var(--space-3);overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom;scrollbar-width:none;outline:none}.hero-carousel::-webkit-scrollbar{display:none}.hero-carousel:focus-visible>.hero{outline:2px solid var(--primary);outline-offset:-2px}.hero-carousel>.hero{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}.hero-dots{display:flex;justify-content:center;margin:calc(-1 * var(--space-3)) 0 calc(-1 * var(--space-3))}.hero-dots>button{width:44px;height:44px;border:0;background:none;padding:0;display:grid;place-items:center}.hero-dot{display:block;width:8px;height:8px;border-radius:999px;background:var(--input-border);transition:width var(--dur-base) var(--ease-out),opacity var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out)}.hero-dots>button[aria-current=true]>.hero-dot{width:20px;opacity:1;background:var(--primary)}@media(prefers-reduced-motion:reduce){.hero-dot{transition:none}}html[data-theme=dark] .hero-spend{background:radial-gradient(120% 100% at 100% 0%,var(--hero-glow),transparent 62%),var(--elevated);border-color:var(--hero-ring);box-shadow:var(--hero-shadow)}.chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:500;font-variant-numeric:tabular-nums;font-family:var(--mono);letter-spacing:.04em}.chip.up{background:var(--success-soft);color:var(--success-text);border:1px solid var(--success-soft)}.chip.down{background:var(--signal-soft);color:var(--danger-text);border:1px solid var(--signal-soft)}.chip.up-solid{background:transparent;color:var(--success-text);border:1px solid var(--border)}.chip.down-solid{background:transparent;color:var(--danger-text);border:1px solid var(--border)}.icon-btn{width:44px;height:44px;min-width:44px;min-height:44px;flex-shrink:0;border:1px solid var(--border);background:var(--surface);border-radius:999px;display:flex;align-items:center;justify-content:center;color:var(--fg-muted)}.icon-btn:hover{color:var(--fg);border-color:var(--border-strong)}@keyframes bankSyncSpin{to{transform:rotate(360deg)}}@keyframes bankSyncDone{0%{transform:scale(.6);opacity:0}}.bank-sync-top{cursor:pointer}.bank-sync-top:disabled{cursor:default;opacity:1}.bank-sync-top.is-busy{color:var(--primary);border-color:var(--primary)}.bank-sync-top.is-busy svg{animation:bankSyncSpin .9s linear infinite}.bank-sync-top.is-done{color:var(--success);border-color:var(--success)}.bank-sync-top.is-done svg{animation:bankSyncDone var(--dur-base) var(--ease-spring) backwards}@media(prefers-reduced-motion:reduce){.bank-sync-top.is-busy svg,.bank-sync-top.is-done svg{animation:none}}.skel{background:linear-gradient(90deg,var(--elevated) 0%,var(--surface) 50%,var(--elevated) 100%);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:12px}html[data-theme=dark] .hero-spend .skel{background:linear-gradient(90deg,var(--hero-skel) 0%,var(--hero-skel-hi) 50%,var(--hero-skel) 100%);background-size:200px 100%}.toast-wrap{position:fixed;bottom:calc(20px + var(--safe-bottom));left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast-alerts{display:flex;flex-direction:column;gap:8px;align-items:center}.toast{background:var(--fg);color:var(--bg);padding:12px 20px;border-radius:999px;font-size:13px;font-weight:500;animation:fadeUp .3s ease-out;max-width:90vw;display:flex;align-items:center;gap:8px}.toast.success{background:var(--fg);color:var(--bg);border:1px solid var(--success)}.toast.error{background:var(--fg);color:var(--bg);border:1px solid var(--danger)}.toast.success svg{color:var(--success)}.toast.error svg{color:var(--danger)}.ring-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}.ring-wrap svg{transform:rotate(-90deg)}.ring-bg{fill:none;stroke:var(--elevated);stroke-width:6}.ring-fg{fill:none;stroke:var(--primary);stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset .8s ease-out}.empty{padding:40px 20px;text-align:center;color:var(--fg-subtle)}.empty svg{margin-bottom:12px;opacity:.5}input,select,textarea{color:var(--text)}button:focus-visible,a:focus-visible,[role=button]:focus-visible,[role=checkbox]:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:6px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary);outline-offset:1px;box-shadow:0 0 0 3px var(--blue-soft)}main[tabindex="-1"]:focus,[role=main][tabindex="-1"]:focus{outline:none}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238b95a8' stroke-width='1.8' stroke-linecap='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.skel{animation:none;background:var(--bg3)}html[data-theme=dark] .hero-spend .skel{background:var(--hero-skel)}}@media(hover:hover)and (pointer:fine){::-webkit-scrollbar{width:8px;height:8px;display:block}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:4px}::-webkit-scrollbar-track{background:transparent}}.bnav{position:fixed;bottom:0;left:0;right:0;background:var(--bg-glass);backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px);border-top:1px solid var(--border);display:flex;align-items:stretch;height:calc(var(--nav-h) + var(--safe-bottom));padding:0 calc(8px + var(--safe-left)) var(--safe-bottom) calc(8px + var(--safe-right));z-index:80;will-change:transform}.bnav-btn{flex:1;background:none;border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--fg-subtle);padding:8px 4px;font-size:11px;font-weight:500;letter-spacing:.06em;min-width:0;position:relative;transition:color .15s;font-family:var(--mono);text-transform:uppercase}.bnav-btn:active{transform:scale(.92)}.bnav-btn.on{color:var(--primary-on-soft)}.bnav-btn svg{width:22px;height:22px;transition:transform .2s var(--ease-ios);stroke-width:1.5}.bnav-btn.on svg{stroke-width:1.8}.bnav-pill{position:absolute;top:6px;left:calc(8px + var(--safe-right));width:calc((100% - 88px - var(--safe-left) - var(--safe-right)) / 4);height:calc(var(--nav-h) - 12px);transform:translate3d(calc(var(--pill-i,0) * 100% + clamp(0,var(--pill-i,0) - 1,1) * 72px),0,0);transition:transform var(--dur-base) var(--ease-spring);pointer-events:none}.bnav-pill:before{content:"";position:absolute;top:0;right:6px;bottom:0;left:6px;border-radius:999px;background:var(--blue-soft)}@media(max-width:360px){.bnav-btn{font-size:9.5px;letter-spacing:.02em}.bnav-pill:before{inset:0 clamp(0px,calc((100% - 58px)/2),6px)}}@media(prefers-reduced-motion:reduce){.enter-fwd,.enter-back{animation:none}.bnav-pill{transition:none}}.bnav-center{flex:0 0 72px;display:flex;align-items:center;justify-content:center;background:none;border:none;padding:0;margin-top:-6px}.bnav-center .fab{width:54px;height:54px;border-radius:999px;background:var(--grad-hero);color:var(--on-accent);display:flex;align-items:center;justify-content:center;border:none;box-shadow:var(--shadow-hero);transition:transform .18s var(--ease-ios)}.bnav-center:active .fab{transform:scale(.88)}.assistant-fab{width:54px;height:54px;border-radius:999px;background:var(--secondary);color:#fff;display:flex;align-items:center;justify-content:center;border:none;box-shadow:inset 0 0 0 1px var(--secondary-ring),var(--shadow-hero);transition:transform .18s var(--ease-ios)}.assistant-fab:active{transform:scale(.88)}.app-header{padding-top:calc(8px + var(--safe-top))}.sync-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:10px;font-weight:500;letter-spacing:.06em;background:transparent;border:1px solid var(--border);color:var(--fg-muted);transition:color .2s,border-color .2s;font-family:var(--mono);text-transform:uppercase}.sync-chip.saving{color:var(--fg-muted);border-color:var(--border-strong)}.sync-chip.saved{color:var(--success);border-color:var(--border-strong)}.sync-chip.error{color:var(--danger);border-color:var(--danger)}.sync-dot{width:5px;height:5px;border-radius:50%;background:currentColor}.sync-chip.saving .sync-dot{animation:pulse 1.2s infinite}.sync-short{display:none;font-weight:700;letter-spacing:0}.toast.undo{background:var(--fg);color:var(--bg);padding:4px 4px 4px 18px;border-radius:999px;display:flex;align-items:center;gap:14px;pointer-events:auto}.toast.undo button{background:var(--bg);color:var(--fg);border:none;padding:8px 16px;min-height:44px;border-radius:999px;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b122066;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:150;display:flex;flex-direction:column;justify-content:flex-end;animation:fadeIn .2s ease-out;overscroll-behavior:contain;overflow:hidden}html[data-theme=dark] .sheet-overlay{background:#0000008c}.sheet-panel{background:var(--bg);border:1px solid var(--border);border-bottom:none;border-radius:18px 18px 0 0;padding:14px 16px calc(20px + var(--safe-bottom));animation:slideUp .32s var(--ease-spring);box-shadow:0 64px 0 -1px var(--bg),0 64px 0 0 var(--border);max-height:90vh;max-height:90dvh;overflow:auto;overscroll-behavior:contain}.sheet-grip{width:36px;height:4px;background:var(--border-strong);border-radius:2px;margin:0 auto 14px}.sheet-item{width:100%;display:flex;align-items:center;gap:14px;padding:14px;border:none;background:transparent;color:var(--fg);border-radius:14px;text-align:left;font-family:inherit}.sheet-item:hover{background:var(--surface)}.sheet-item:active{background:var(--elevated);transform:scale(.98)}.sheet-icon{width:40px;height:40px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--surface);border:1px solid var(--border);color:var(--fg)}.sheet-text{flex:1;min-width:0}.sheet-text-title{font-size:15px;font-weight:500;color:var(--fg);letter-spacing:-.005em}.sheet-text-sub{font-size:12px;color:var(--fg-subtle);margin-top:2px;line-height:1.4}.sheet-cancel{width:100%;padding:14px 0;border:1px solid var(--border);background:transparent;color:var(--fg);border-radius:999px;font-size:14px;font-weight:500;margin-top:8px;font-family:inherit}.sheet-overlay.closing{pointer-events:none;z-index:149;animation:fadeOut var(--dur-fast) ease-in forwards}.sheet-overlay.closing .sheet-panel{animation:sheetDown var(--dur-fast) var(--ease-out) forwards}@keyframes sheetDown{0%{transform:translate3d(0,var(--drag-y,0px),0)}to{transform:translate3d(0,100%,0)}}@keyframes fadeOut{to{opacity:0}}.sheet-cascade>.sheet-item,.sheet-cascade>.sheet-cancel{animation:sheetItemIn var(--dur-fast) var(--ease-out) backwards;animation-delay:calc(var(--i,0) * 30ms)}@keyframes sheetItemIn{0%{opacity:0;transform:translate3d(0,8px,0)}}.crumb{font-size:11px;color:var(--fg-subtle);padding:0 4px 8px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.crumb .sep{color:var(--fg-subtle);opacity:.5}.crumb .cur{color:var(--fg-muted);font-weight:500}.vhead{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);padding:0 var(--space-5) var(--space-3)}.vhead button{width:44px;height:44px;flex-shrink:0;border:1px solid var(--border);background:var(--surface);border-radius:999px;display:flex;align-items:center;justify-content:center;color:var(--fg-muted);font-size:var(--fs-xl);line-height:1;font-family:inherit}.vhead button:hover{color:var(--fg);border-color:var(--border-strong)}.vhead h1{flex:1;min-width:0;margin:0;font-size:var(--fs-lg);font-weight:600;letter-spacing:-.01em}.vhead .lb{flex-basis:100%;padding-left:calc(44px + var(--space-3))}.has-bnav{padding-bottom:calc(var(--nav-h) + var(--safe-bottom) + 16px)}.hab{padding:0 var(--space-5) calc(40px + var(--safe-bottom));display:flex;flex-direction:column;gap:var(--space-4)}.hab-card{margin:0;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--r3);background:var(--surface)}.hab-h{margin:0 0 var(--space-2);font-size:var(--fs-md);font-weight:700;line-height:1.3;color:var(--fg)}.hab-h:focus{outline:none}.hab-h:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.hab-h3{margin:var(--space-4) 0 var(--space-1);font-size:var(--fs-sm);font-weight:700;color:var(--fg)}.hab-p{margin:0 0 var(--space-3);font-size:var(--fs-sm);line-height:1.5;color:var(--fg-muted)}.hab-note{margin:var(--space-2) 0 0;font-size:var(--fs-xs);line-height:1.5;color:var(--fg-subtle)}.hab-warn,.hab-msg{margin:var(--space-2) 0 0;font-size:var(--fs-sm);line-height:1.5;color:var(--fg)}.hab-msg:empty{display:none}.hab-err{margin:0 0 var(--space-2);font-size:var(--fs-sm);color:var(--danger)}.hab-err:empty{display:none}.field-err{margin:6px 0 12px;font-size:var(--fs-xs);line-height:1.45;color:var(--danger-text)}.field-err.is-tight{margin-bottom:0}.hab-form{margin:0 0 var(--space-2)}.hab-label{display:block;margin:var(--space-2) 0 var(--space-1);font-size:var(--fs-xs);font-weight:600;color:var(--fg-muted)}.hab-input{display:block;width:100%;box-sizing:border-box;min-height:48px;padding:var(--space-3) var(--space-4);margin:0 0 var(--space-3);border:1px solid var(--input-border);border-radius:var(--r4);background:var(--bg);color:var(--fg);font-family:var(--font);font-size:var(--fs-input)}.hab-input:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.hab-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.hab-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-5);border:1px solid var(--border-strong);border-radius:999px;background:transparent;color:var(--fg);font-family:var(--font);font-size:var(--fs-sm);font-weight:600;cursor:pointer}.hab-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.hab-btn-primary{border-color:var(--primary-cta);background:var(--primary-cta);color:var(--on-accent)}.hab-btn-danger{border-color:var(--danger);color:var(--danger)}.hab-btn-quiet{border-color:transparent;color:var(--fg-muted);padding:0 var(--space-3)}.hab-btn[aria-disabled=true]{opacity:.55;cursor:default}.hab-list{list-style:none;margin:var(--space-2) 0 0;padding:0}.hab-item{padding:var(--space-3) 0;border-top:1px solid var(--border)}.hab-list .hab-item:first-child{border-top:0}.hab-item-ready{padding:var(--space-3);margin:var(--space-2) 0;border:1px solid var(--border-strong);border-radius:var(--r4);background:var(--bg)}.hab-list .hab-item-ready:first-child{border-top:1px solid var(--border-strong)}.hab-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:44px}.hab-row-main{display:flex;flex-direction:column;min-width:0;flex:1}.hab-row-title{font-size:var(--fs-sm);font-weight:600;color:var(--fg);overflow-wrap:anywhere}.hab-row-sub{display:block;font-size:var(--fs-xs);color:var(--fg-subtle)}.hab-big{margin:0;font-size:var(--fs-md)}.hab-price{flex:none;font-weight:600;color:var(--fg)}.hab-ask{margin:var(--space-2) 0 0;font-size:var(--fs-sm);font-weight:600;color:var(--fg)}.hab-year{margin:var(--space-4) 0 0;padding-top:var(--space-3);border-top:1px solid var(--border);font-size:var(--fs-sm);font-weight:600;color:var(--success)}.hab-fieldset{margin:var(--space-2) 0 0;padding:0;border:0;min-width:0}.hab-legend{padding:0;margin:0 0 var(--space-1);font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-subtle)}.hab-radio{display:flex;align-items:flex-start;gap:var(--space-3);min-height:44px;padding:var(--space-2) 0;cursor:pointer}.hab-radio input{flex:none;width:22px;height:22px;margin:2px 0 0;accent-color:var(--primary-cta)}.hab-radio-main{display:flex;flex-direction:column;flex:1;min-width:0}.hab-radio .bar{margin-top:var(--space-1)}.hab-effect{margin:var(--space-2) 0 0;font-size:var(--fs-sm);font-weight:600;line-height:1.5;color:var(--success)}.hab-effect:empty{display:none}.hab-prog{margin:var(--space-2) 0 0;font-size:var(--fs-lg);font-weight:700;color:var(--fg)}.hab-bar{height:8px;margin-top:var(--space-1)}.hab-save{margin:var(--space-2) 0 0;font-size:var(--fs-sm);font-weight:600;color:var(--fg)}.hab-confirm{width:100%}.hab-change{flex:none;font-weight:700;color:var(--fg)}.hab-up{color:var(--danger)}.hab-down{color:var(--success)}.hab-nodata{flex:none;max-width:45%;text-align:right}.hab-total{margin:var(--space-3) 0 0;padding-top:var(--space-3);border-top:1px solid var(--border);font-size:var(--fs-lg);font-weight:700;color:var(--fg)}.hab-details{margin-top:var(--space-3)}.hab-details summary{display:flex;align-items:center;min-height:44px;font-size:var(--fs-sm);font-weight:600;color:var(--primary);cursor:pointer}#app{max-width:480px;margin-left:auto;margin-right:auto;position:relative}@media(min-width:481px){body{background:var(--surface)}#app{background:var(--bg);min-height:100svh;box-shadow:0 0 0 1px var(--border)}}.bnav{left:50%;right:auto;transform:translate(-50%);width:100%;max-width:480px}.sheet-overlay{align-items:center}.sheet-panel{width:100%;max-width:480px}@media(prefers-reduced-motion:reduce){.sheet-overlay,.sheet-panel,.sheet-overlay.closing,.sheet-overlay.closing .sheet-panel,.sheet-cascade>.sheet-item,.sheet-cascade>.sheet-cancel{animation:none}}#app[data-mode=desktop]{max-width:none;width:100%;background:var(--surface)}@media(min-width:481px){#app[data-mode=desktop]{background:var(--surface);box-shadow:none}}.dshell{display:flex;min-height:100svh;align-items:stretch}.dsidebar{width:248px;flex-shrink:0;background:var(--bg);border-right:1px solid var(--border);padding:18px 14px calc(18px + var(--safe-bottom));position:sticky;top:0;height:100svh;display:flex;flex-direction:column;gap:3px;overflow-y:auto}.dbrand{display:flex;align-items:baseline;gap:7px;padding:6px 10px 12px}.dsync{padding:0 10px}.dsync .sync-chip{margin-bottom:8px}.dnav-item{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:12px;border:none;background:transparent;color:var(--fg-muted);font-size:14px;font-weight:600;cursor:pointer;width:100%;text-align:left;font-family:inherit;transition:background .15s,color .15s}.dnav-item:hover{background:var(--surface);color:var(--fg)}.dnav-item.on{background:var(--blue-soft);color:var(--primary-on-soft)}.dnav-item svg{width:20px;height:20px;flex-shrink:0;stroke-width:1.8}.dnav-add{margin:8px 0;background:var(--grad-hero);color:var(--on-accent);justify-content:center;box-shadow:var(--shadow-hero)}.dnav-add:hover{color:var(--on-accent);opacity:.95}.dspacer{flex:1}.dcontent{flex:1;min-width:0;height:100svh;overflow-y:auto;scrollbar-gutter:stable}.dmain{max-width:1140px;margin:0 auto;padding:24px 32px 64px}.dnarrow{max-width:760px;margin:0 auto}.dtophead{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:0 4px}.dgrid>.fadeUp,.dgrid>.ov-cols{column-count:2;column-gap:20px}.dgrid>.fadeUp>*,.dgrid>.ov-cols>*{break-inside:avoid}.shell-root{isolation:isolate}.dtoggle{display:flex;background:var(--elevated);border-radius:14px;padding:3px;gap:2px;margin:0 4px 10px}.dtoggle button{flex:1;border:none;background:transparent;color:var(--fg-muted);font-size:11px;font-weight:600;padding:7px 6px;border-radius:11px;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:5px;letter-spacing:.02em}.dtoggle button.on{background:var(--primary-cta);color:var(--on-accent)}.dtoggle button svg{width:14px;height:14px}.brand{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;box-shadow:inset 0 0 0 1px #00000014}.brand svg{display:block}.initial{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0;font-weight:800;font-family:var(--font)}.cat{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.mlogo{position:relative;display:inline-flex;flex-shrink:0}.mlogo-badge{position:absolute;right:-4px;bottom:-4px;box-shadow:0 0 0 2px var(--surface)}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0;font-weight:700;color:var(--on-accent);overflow:hidden;background:var(--primary-cta)}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.avatar-stack{display:inline-flex;align-items:center}.avatar-stack .avatar{box-shadow:0 0 0 2px var(--surface)}.avatar-stack .avatar+.avatar{margin-left:-8px}.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tile{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:12px 10px 10px;display:flex;flex-direction:column;gap:5px;align-items:flex-start;min-width:0;position:relative;overflow:hidden}.tile b{font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-family:var(--mono)}.tile span{font-size:10.5px;color:var(--fg-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.tile-bar{position:absolute;top:0;left:12px;right:12px;height:3px;border-radius:0 0 3px 3px}.sugg{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.sugg button{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border:1px solid var(--border);border-radius:999px;font-size:11px;font-weight:600;background:var(--bg);color:var(--fg);cursor:pointer;min-height:40px}.day-lb{font-size:10.5px;font-weight:700;color:var(--fg-subtle);letter-spacing:.07em;text-transform:uppercase;margin:12px 4px 6px;font-family:var(--mono)}.icon-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:12px}.icon-grid button{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--fg-muted);cursor:pointer;padding:0;min-height:44px}.icon-grid button[aria-pressed=true]{border-color:var(--primary);color:var(--primary-on-soft);background:var(--blue-soft)}.sync-chip.compact{padding:4px 6px}.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(max-width:400px){.app-header .sync-chip.saving,.app-header .sync-chip.saved,.app-header .sync-chip.error{padding:4px 6px}.app-header .sync-chip.saving .sync-label,.app-header .sync-chip.saved .sync-label,.app-header .sync-chip.error .sync-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app-header .sync-chip.error .sync-short{display:inline}}.tour{position:fixed;top:0;right:0;bottom:0;left:0;z-index:160}.tour-dim{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a0c0e9e}.tour-spot{position:fixed;border-radius:16px;box-shadow:0 0 0 9999px #0a0c0e9e;pointer-events:none;transition:top .3s var(--ease-ios),left .3s var(--ease-ios),width .3s var(--ease-ios),height .3s var(--ease-ios)}.tour-bubble{position:fixed;width:min(320px,calc(100vw - 32px));background:var(--bg);color:var(--fg);border:1px solid var(--border);border-radius:var(--r2);padding:18px;box-shadow:var(--shadow-lg);transition:top .3s var(--ease-ios),left .3s var(--ease-ios)}.tour-bubble h2{font-size:var(--fs-lg);font-weight:600;letter-spacing:-.01em;margin:6px 0 4px;line-height:1.25}.tour-bubble p{font-size:var(--fs-sm);color:var(--fg-muted);line-height:1.5;margin:0}.tour-arrow{position:absolute;width:14px;height:14px;background:var(--bg);border:1px solid var(--border);transform:translate(-50%) rotate(45deg)}.tour-bubble.below .tour-arrow{top:-8px;border-right:0;border-bottom:0}.tour-bubble.above .tour-arrow{bottom:-8px;border-left:0;border-top:0}.tour-actions{display:flex;align-items:center;gap:8px;margin-top:16px}.tour-actions button{min-height:44px;padding:0 16px;border-radius:999px;font-size:var(--fs-sm);font-weight:600;border:1px solid var(--border);background:transparent;color:var(--fg)}.tour-actions .tour-skip{border-color:transparent;padding:0 8px;color:var(--fg-muted);margin-right:auto}.tour-actions .tour-next{background:var(--primary-cta);border-color:transparent;color:var(--on-accent)}@media(prefers-reduced-motion:reduce){.tour-spot,.tour-bubble{transition:none}}.welcome{min-height:100svh;max-width:440px;margin:0 auto;display:flex;flex-direction:column;padding:calc(12px + var(--safe-top)) 20px calc(24px + var(--safe-bottom));background:var(--bg)}.welcome-back{justify-content:center}.wl-center{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}.wl-top{display:flex;align-items:center;justify-content:space-between;min-height:48px}.wl-brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:var(--fs-md)}.wl-link{background:none;border:none;color:var(--primary);font-size:var(--fs-sm);font-weight:600;min-height:44px;padding:0 8px}.wl-live{display:flex;align-items:center;gap:8px;margin:18px 0 10px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--primary)}.wl-live i{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:wlPulse 1.6s infinite}@keyframes wlPulse{50%{opacity:.3}}.wl-h{font-size:var(--fs-2xl);font-weight:600;letter-spacing:-.025em;line-height:1.1;margin:22px 0 0;text-wrap:balance}.wl-center .wl-h{margin-top:6px}.wl-p{font-size:var(--fs-md);color:var(--fg-muted);line-height:1.5;margin:10px 0 0}.wl-actions{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:24px}.wl-btn{width:100%;min-height:50px;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;font-size:var(--fs-md);font-weight:600;border:1px solid transparent;padding:0 18px}.wl-btn:disabled{opacity:.5;cursor:default}.wl-btn.primary{background:var(--primary-cta);color:var(--on-accent)}.wl-btn.ghost{background:transparent;border-color:var(--border-strong);color:var(--fg)}.wl-btn.card{background:var(--surface);border-color:var(--border);color:var(--fg)}.wl-g{width:24px;height:24px;border-radius:50%;background:#fff;display:grid;place-items:center}.wl-links{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.wl-err{border-left:3px solid var(--signal);padding:8px 10px;margin-top:12px;font-size:var(--fs-sm);color:var(--signal)}.wl-legal{font-size:var(--fs-xs);color:var(--fg-subtle);text-align:center;margin:14px 0 0}.wl-legal a{color:var(--fg-muted);text-decoration:underline;text-underline-offset:2px}.lg-list{margin:22px 0 0;padding:0 0 0 18px;display:flex;flex-direction:column;gap:10px;font-size:var(--fs-sm);line-height:1.5;color:var(--fg)}.lg-docs{font-size:var(--fs-sm);margin-top:18px}.lg-docs a{color:var(--primary);font-weight:600}.lg-refuse{display:flex;flex-direction:column;gap:10px;margin-top:8px}.wd{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:14px 16px;min-height:296px}.wd-rows{display:flex;flex-direction:column}.wd-row{display:flex;align-items:center;gap:10px;min-height:46px;border-top:1px solid var(--border);animation:wdIn .4s var(--ease-ios) both}.wd-row:first-child{border-top:0}.wd-raw{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--fg-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wd-av{width:30px;height:30px;border-radius:50%;background:var(--elevated);display:grid;place-items:center;font-weight:600;font-size:12px;flex-shrink:0}.wd-name{flex:1;min-width:0;display:flex;flex-direction:column;font-size:var(--fs-sm);font-weight:600}.wd-cat{font-size:var(--fs-xs);font-weight:500;color:var(--primary)}.wd-v{font-size:var(--fs-sm);font-weight:600;font-variant-numeric:tabular-nums}.wd-split{margin-top:10px;padding-top:10px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:6px;animation:wdIn .5s var(--ease-ios) both}.wd-bar{display:grid;grid-template-columns:96px 1fr 36px;align-items:center;gap:8px;font-size:var(--fs-xs)}.wd-bar-t{height:8px;border-radius:4px;background:var(--elevated);overflow:hidden}.wd-bar-t i{display:block;height:100%;background:var(--accent);border-radius:4px;animation:wdGrow .7s var(--ease-ios) both;transform-origin:left}.wd-bar-p{text-align:right;font-variant-numeric:tabular-nums;color:var(--fg-muted)}@keyframes wdIn{0%{opacity:0;transform:translateY(6px)}}@keyframes wdGrow{0%{transform:scaleX(0)}}@media(prefers-reduced-motion:reduce){.wl-live i,.wd-row,.wd-split,.wd-bar-t i{animation:none}}.demo-banner{position:fixed;top:0;left:50%;right:auto;transform:translate(-50%);width:100%;max-width:480px;box-sizing:border-box;z-index:90;display:flex;align-items:center;gap:8px;padding:calc(2px + var(--safe-top)) 12px 2px 16px;min-height:calc(48px + var(--safe-top));background:var(--secondary);color:#f8f7f5;font-size:var(--fs-sm);border-bottom:1px solid rgba(248,247,245,.12)}#app[data-mode=desktop] .demo-banner{left:0;right:0;transform:none;max-width:none;width:auto}.demo-banner-t{flex:1;min-width:0}.demo-banner button{min-height:44px;padding:0 14px;border-radius:999px;font-size:var(--fs-sm);font-weight:600;border:1px solid rgba(248,247,245,.35);background:transparent;color:#f8f7f5}.demo-banner .demo-banner-cta{background:var(--accent);border-color:transparent;color:#16181c}.with-demo-banner{padding-top:48px}.with-demo-banner .dshell{min-height:calc(100svh - 48px)}.with-demo-banner .dsidebar,.with-demo-banner .dcontent{height:calc(100svh - 48px)}.with-demo-banner .dsidebar{top:48px}.load-failed{display:flex;align-items:center;gap:12px;margin:0 20px 16px;padding:12px 14px;border:1px solid var(--signal);border-radius:var(--r3);background:var(--signal-soft);color:var(--fg)}.load-failed-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:var(--fs-sm);line-height:1.4}.load-failed-t span{color:var(--fg-muted)}.load-failed button{min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--border-strong);background:var(--bg);color:var(--fg);font-size:var(--fs-sm);font-weight:600;flex-shrink:0}.load-failed button[aria-disabled=true]{opacity:.6}#app[data-mode=desktop] .load-failed{margin:0 0 16px}.history-failed:not(.on) .history-failed-t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.history-failed.on{display:flex;align-items:center;gap:12px;margin:0 20px 16px;padding:12px 14px;border:1px solid var(--border-strong);border-radius:var(--r3);background:var(--surface);color:var(--fg)}.history-failed-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:var(--fs-sm);line-height:1.4}.history-failed-t span{color:var(--fg-muted)}.history-failed button{min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--border-strong);background:var(--bg);color:var(--fg);font-size:var(--fs-sm);font-weight:600;flex-shrink:0}#app[data-mode=desktop] .history-failed.on{margin:0 0 16px}.history-pending{margin:0;font-size:var(--fs-sm);line-height:1.4;color:var(--fg-muted)}.history-mark{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;border:1px solid var(--border);font-size:var(--fs-xs);font-weight:600;line-height:1.5;color:var(--fg-muted);vertical-align:middle;white-space:nowrap}.trust{margin-bottom:var(--space-4);padding:var(--space-4) var(--space-5)}.trust-list{list-style:none;margin:0;padding:0}.trust-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--border)}.trust-row:first-child{border-top:0}.trust-ico{width:32px;height:32px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:color-mix(in srgb,var(--warning) 14%,transparent);color:var(--warning);font-size:var(--fs-xs);font-weight:700}.trust-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.trust-t{font-size:var(--fs-sm);font-weight:700;color:var(--fg)}.trust-d{font-size:var(--fs-xs);color:var(--fg-subtle);line-height:1.45}.trust-btn{min-height:44px;min-width:44px;padding:0 14px;flex-shrink:0;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface);color:var(--fg);font-family:inherit;font-size:var(--fs-sm);font-weight:600;cursor:pointer}.trust-btn.main{border-color:var(--primary);background:var(--primary);color:var(--bg)}.trust-foot{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-2) 0 0;padding:var(--space-3);border-radius:var(--r3);background:color-mix(in srgb,var(--success) 12%,transparent);color:var(--success-text);font-size:var(--fs-sm);font-weight:600}.gap-real{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.gap-real b{font-family:var(--mono);font-size:var(--fs-lg)}.gap-real span{font-size:var(--fs-xs);color:var(--fg-subtle)}.gap-box{margin:var(--space-4) 0 0;padding:var(--space-4);border-radius:var(--r3);border:1px solid color-mix(in srgb,var(--warning) 45%,transparent);background:color-mix(in srgb,var(--warning) 10%,transparent)}.gap-box h3{margin:0;font-size:var(--fs-md);font-weight:700;color:var(--fg)}.gap-box h3:focus{outline:none}.gap-box p{margin:var(--space-1) 0 var(--space-3);font-size:var(--fs-xs);color:var(--fg-muted)}.gap-acts{display:flex;flex-wrap:wrap;gap:var(--space-2)}.gap-acts .trust-btn{flex:1 1 auto}.boot-slow.on{display:flex;align-items:center;gap:12px;margin:0 var(--space-5) var(--space-4);padding:12px 14px;border:1px solid var(--border);border-radius:var(--r3);background:var(--surface);color:var(--fg)}.boot-slow-t{flex:1;min-width:0;font-size:var(--fs-sm);line-height:1.4}.boot-slow button{min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--border-strong);background:var(--bg);color:var(--fg);font-size:var(--fs-sm);font-weight:600;flex-shrink:0}.preview-note{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--nav-h) + var(--safe-bottom) + 12px);width:100%;max-width:480px;box-sizing:border-box;padding:0 calc(82px + var(--safe-right)) 0 calc(16px + var(--safe-left));z-index:75;pointer-events:none}#app[data-mode=desktop] .preview-note{left:272px;right:auto;transform:none;bottom:calc(var(--safe-bottom) + 24px);width:auto;max-width:480px;padding:0}.preview-note.on .preview-note-pill{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;width:fit-content;max-width:100%;padding:8px 14px;border:1px solid var(--border);border-radius:var(--r3);background:var(--surface);box-shadow:var(--shadow-lg);animation:fadeIn .2s ease-out}.preview-note-t{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:8px;font-size:var(--fs-xs);line-height:1.4;color:var(--fg-muted)}.preview-note.on .preview-note-t:before{content:"";width:6px;height:6px;border-radius:999px;background:var(--fg-subtle);flex-shrink:0}.preview-note button{pointer-events:auto;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--border-strong);background:var(--bg);color:var(--fg);font-size:var(--fs-sm);font-weight:600;flex-shrink:0}[data-tour]{scroll-margin-top:calc(16px + var(--safe-top))}html[data-theme=dark]{--fa-s1:#FF6A33;--fa-s2:#C9CCD1;--fa-s3:#2EC4B6;--fa-s4:#6F95F2;--fa-s5:#F0B43C;--fa-s6:#A98BE0;--fa-s7:#F07A9C;--fa-s8:#8DBE77;--fa-s9:#7D838B}.fa{padding:0 20px 32px;display:flex;flex-direction:column;min-width:0}#app[data-mode=desktop] .fa{padding:0}.fa-top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 24px}.fa-eyebrow{font-size:var(--fs-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-subtle)}.fa-title{margin:6px 0 0;font-weight:700;font-size:var(--fs-2xl);letter-spacing:-.03em;line-height:1.05}.fa-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.fa-seg{display:inline-flex;background:var(--elevated);border:1px solid var(--border);border-radius:var(--r3);padding:3px;gap:2px}.fa-seg button{border:0;background:none;min-height:44px;min-width:44px;padding:0 12px;border-radius:var(--r4);font-size:var(--fs-sm);font-weight:600;color:var(--fg-muted)}.fa-seg button[aria-pressed=true]{background:var(--surface);color:var(--fg)}.fa-tog{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--border);border-radius:var(--r3);background:var(--surface);font-size:var(--fs-sm);font-weight:600;color:var(--fg)}.fa-tog[aria-pressed=true]{border-color:var(--accent);color:var(--primary-on-soft);background:var(--blue-soft)}.fa-tabs{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--bg);margin-top:16px;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.fa-tabs::-webkit-scrollbar{display:none}.with-demo-banner .fa-tabs{top:calc(48px + var(--safe-top))}#app[data-mode=desktop] .with-demo-banner .fa-tabs{top:0}.fa-tabs-in{display:flex;gap:4px;min-width:max-content}.fa-tab{outline-offset:-2px;border:0;background:none;min-height:46px;padding:0 14px;font-size:var(--fs-sm);font-weight:600;color:var(--fg-muted);border-bottom:2.5px solid transparent;margin-bottom:-1px;white-space:nowrap}.fa-tab[aria-selected=true]{color:var(--fg);border-bottom-color:var(--accent)}.fa-panel{padding-top:20px;display:flex;flex-direction:column;gap:16px;min-width:0}.fa-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.fa-kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);padding:14px 16px 10px;display:flex;flex-direction:column;gap:2px;min-width:0}.fa-kpi-l{font-size:var(--fs-xs);color:var(--fg-subtle);font-weight:600}.fa-kpi-v{font-weight:700;font-size:var(--fs-xl);letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow-wrap:break-word;line-height:1.15}.fa-kpi-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:30px}.fa-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:var(--fs-xs);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.fa-chip.up{background:var(--success-soft);color:var(--success-text)}.fa-chip.down{background:var(--signal-soft);color:var(--danger-text)}.fa-chip.flat{background:var(--elevated);color:var(--fg-muted)}.fa-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.fa-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:16px 16px 12px;min-width:0;display:flex;flex-direction:column;grid-column:span 12}.fa-card h2{margin:0;font-size:var(--fs-md);font-weight:700;letter-spacing:-.01em}.fa-sub{font-size:var(--fs-xs);color:var(--fg-subtle);margin-top:2px}.fa-card-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.fa-chart{width:100%;margin-top:6px}.fa-hidden{display:flex;align-items:center;justify-content:center;margin-top:6px;border:1px dashed var(--border-strong);border-radius:var(--r3);background:var(--elevated);color:var(--fg-subtle);font-size:var(--fs-sm);font-weight:600}.fa-src{margin-top:auto;padding-top:8px;font-size:var(--fs-xs);color:var(--fg-subtle);border-top:1px dashed var(--border)}.fa-soon{margin:12px 0;color:var(--fg-subtle);font-size:var(--fs-sm)}@media(min-width:900px){.fa-c8{grid-column:span 8}.fa-c7{grid-column:span 7}.fa-c6{grid-column:span 6}.fa-c5{grid-column:span 5}.fa-c4{grid-column:span 4}}@media(max-width:640px){.fa-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.fa-kpi-v{font-size:var(--fs-lg,1.15rem)}}#app[data-mode=desktop] .fa-tabs{background:var(--surface)}#app[data-mode=desktop] .fa-kpi,#app[data-mode=desktop] .fa-card{background:var(--bg);border-color:var(--border-strong)}.fa-tog[aria-disabled=true]{opacity:.55}.fa-note{margin:12px 0 0;font-size:12px;color:var(--fg-muted);line-height:1.5}.fa-note .fa-chip{margin-right:6px}.fa-empty{margin:12px 0;color:var(--fg-subtle);font-size:var(--fs-sm)}.fa-ins,.fa-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}.fa-ins li{display:flex;gap:10px;align-items:flex-start}.fa-ins i{flex:none;width:8px;height:8px;border-radius:50%;margin-top:6px}.fa-ins b{display:block;font-size:var(--fs-sm)}.fa-ins span{display:block;font-size:var(--fs-xs);color:var(--fg-muted);margin-top:2px}.fa-list li{display:flex;align-items:center;gap:10px;min-width:0}.fa-dot{flex:none;width:10px;height:10px;border-radius:50%}.fa-ln{flex:1;min-width:0;font-size:var(--fs-sm);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fa-ln small{display:block;font-size:var(--fs-xs);font-weight:400;color:var(--fg-subtle);overflow:hidden;text-overflow:ellipsis}.fa-la{font-weight:700;font-variant-numeric:tabular-nums;font-size:var(--fs-sm)}.fa-catq{display:flex;align-items:center;gap:12px;margin:10px 0 4px}.fa-catq b{font-size:var(--fs-2xl);font-weight:700;letter-spacing:-.03em}.fa-catq span{font-size:var(--fs-sm);color:var(--fg-muted)}.fa-catq small{display:block;margin-top:4px;font-size:var(--fs-xs);color:var(--fg-subtle)}.fa-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.fa-btn{min-height:44px;min-width:44px;padding:0 16px;border-radius:var(--r3);border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);font-weight:600;font-size:var(--fs-sm);cursor:pointer}.fa-btn.ghost{background:none;color:var(--fg);border-color:var(--border-strong)}.fa-slider{margin-top:16px}.fa-slider label{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:var(--fs-sm);font-weight:600}.fa-slider output{font-variant-numeric:tabular-nums;color:var(--accent)}.fa-slider input[type=range]{display:block;width:100%;min-height:44px;margin:4px 0 0;accent-color:var(--accent);-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent}.fa-slider input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:var(--border-strong)}.fa-slider input[type=range]::-moz-range-track{height:6px;border-radius:3px;background:var(--border-strong)}.fa-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-8px;border-radius:50%;background:var(--accent);border:2px solid var(--surface)}.fa-slider input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--accent);border:2px solid var(--surface)}.fa-res{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-top:8px}.fa-res span{display:block;font-size:var(--fs-xs);color:var(--fg-subtle)}.fa-res b{display:block;font-size:var(--fs-md,var(--fs-sm));font-weight:700;font-variant-numeric:tabular-nums}.txf{margin-bottom:var(--space-3);min-width:0}.txf-row{display:flex;align-items:center;gap:var(--space-2);min-width:0}.txf-scroll{display:flex;gap:var(--space-2);flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;padding:2px var(--space-5) 2px 2px;margin:-2px;overscroll-behavior-x:contain;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - var(--space-5)),transparent);mask-image:linear-gradient(to right,#000 calc(100% - var(--space-5)),transparent)}.txf-scroll::-webkit-scrollbar{display:none}.txf-chip{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--fg);font-family:inherit;font-size:var(--fs-sm);font-weight:600;white-space:nowrap;cursor:pointer}.txf-chip[aria-pressed=true]{border-color:var(--primary);background:var(--blue-soft);color:var(--primary-on-soft)}.txf-open.on{border-color:var(--primary);color:var(--primary)}.txf-n{font-weight:500;color:var(--fg-subtle);font-variant-numeric:tabular-nums}.txf-chip[aria-pressed=true] .txf-n{color:inherit}.txf-dot{flex:none;width:8px;height:8px;border-radius:50%}.txf-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--primary-cta);color:var(--on-accent);font-size:var(--fs-xs);font-weight:700;font-variant-numeric:tabular-nums}.txf-active{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.txf-x{display:inline-flex;align-items:center;gap:6px;min-height:44px;max-width:100%;padding:0 10px 0 14px;border:1px solid var(--primary);border-radius:999px;background:var(--blue-soft);color:var(--primary-on-soft);font-family:inherit;font-size:var(--fs-sm);font-weight:600;cursor:pointer}.txf-x span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.txf-x svg{flex:none}.txf-clear{min-height:44px;padding:0 var(--space-2);border:0;background:none;color:var(--primary);font-family:inherit;font-size:var(--fs-sm);font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer;white-space:nowrap}.txf-sum{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-3)}.txf-sum-t{margin:0;flex:none;display:flex;flex-direction:column;font-variant-numeric:tabular-nums}.txf-sum-n{font-size:var(--fs-xs);font-weight:600;color:var(--fg-subtle)}.txf-sum-t .amount{font-size:var(--fs-md);font-weight:700;color:var(--fg)}.txf-subs{list-style:none;flex-basis:100%;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);font-size:var(--fs-xs);color:var(--fg-muted)}.txf-subs li{display:inline-flex;align-items:center;gap:6px;min-width:0}.txf-subs .amount{color:var(--fg);font-weight:600}.txf-sort{display:inline-flex;align-items:center;gap:var(--space-2);flex:0 1 auto;margin-left:auto;min-width:0;font-size:var(--fs-sm);font-weight:600;color:var(--fg-subtle)}.txf-sort svg{flex:none}.txf-sort select{min-width:0}@media(max-width:480px){.txf-sort label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}.txf-sort select,.txf-field select,.txf-field input{min-height:44px;max-width:100%;box-sizing:border-box;padding:0 var(--space-3);border:1px solid var(--input-border);border-radius:var(--r3);background:var(--surface);color:var(--fg);font-family:inherit;font-size:var(--fs-input)}.txf-date{flex:none;font-size:var(--fs-xs);color:var(--fg-subtle);white-space:nowrap}.tx-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto 44px;grid-template-areas:"logo name amt edit" "logo cat cat edit";column-gap:var(--space-2);align-items:center;margin-bottom:var(--space-3);padding:var(--space-2) var(--space-4)}.tx-row.flat{grid-template-areas:"logo name amt edit" "logo cat date edit"}.tx-row-logo{grid-area:logo}.tx-row-name{grid-area:name;min-width:0;margin-left:var(--space-1);padding-top:var(--space-1);font-size:var(--fs-md);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-row-amt{grid-area:amt;justify-self:end;padding-top:var(--space-1);white-space:nowrap}.tx-row-date{grid-area:date;justify-self:end}.tx-row-cat{grid-area:cat;justify-self:start;min-width:0;max-width:calc(100% - var(--space-1));min-height:44px;margin:0 0 0 var(--space-1);padding:0;border:0;background:transparent;color:var(--text3);font-family:inherit;font-size:var(--fs-input);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.tx-row-edit{grid-area:edit}@media(max-width:360px){.tx-row{padding-inline:var(--space-3)}}.tx-swipe{position:relative;margin-bottom:var(--space-3);border-radius:16px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden;overflow:clip;isolation:isolate}.tx-swipe:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border:1px solid var(--border);border-radius:inherit;pointer-events:none}.tx-swipe>.tx-row{position:relative;z-index:1;margin-bottom:0;border-color:transparent;box-shadow:none;touch-action:pan-y pinch-zoom;transition:transform var(--dur-base) var(--ease-out)}.tx-swipe.is-dragging>.tx-row{transition:none;-webkit-user-select:none;user-select:none}.tx-swipe-acts{position:absolute;top:0;right:0;bottom:0;width:132px;display:flex;gap:var(--space-1);padding:var(--space-1);box-sizing:border-box}.tx-swipe-btn{flex:1;min-width:44px;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);padding:0;border:0;border-radius:var(--r3);font-family:inherit;font-size:var(--fs-xs);font-weight:600;cursor:pointer}.tx-swipe-btn.cat{background:var(--blue-soft);color:var(--primary-on-soft)}.tx-swipe-btn.del{background:var(--danger);color:var(--bg)}@media(prefers-reduced-motion:reduce){.tx-swipe>.tx-row{transition:none}}.txf-sec{padding-bottom:var(--space-4);margin-bottom:var(--space-4);border-bottom:1px solid var(--border)}.txf-sec:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}.txf-h{margin:0 0 var(--space-1);font-size:var(--fs-sm);font-weight:700;color:var(--fg)}.txf-help{margin:0 0 var(--space-2);font-size:var(--fs-xs);line-height:1.45;color:var(--fg-subtle)}.txf-sw{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;min-height:52px;padding:var(--space-2) 0;border:0;background:none;color:var(--fg);font-family:inherit;text-align:left;cursor:pointer}.txf-sw+.txf-sw{border-top:1px solid var(--border)}.txf-sw-l{display:flex;flex-direction:column;min-width:0}.txf-sw-l b{font-size:var(--fs-md);font-weight:600}.txf-sw-l small{margin-top:2px;font-size:var(--fs-xs);line-height:1.4;color:var(--fg-subtle)}.txf-tr{position:relative;flex:none;width:44px;height:26px;border-radius:999px;background:var(--fg-subtle);transition:background .2s var(--ease-ios-fast)}.txf-tr:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px var(--knob-ring),0 1px 2px #00000040;transition:transform .2s var(--ease-ios-fast)}.txf-sw[aria-checked=true] .txf-tr{background:var(--primary-cta)}.txf-sw[aria-checked=true] .txf-tr:after{transform:translate(18px)}.txf-seg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.txf-seg .txf-chip{justify-content:center;min-width:0}.txf-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.txf-field{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.txf-field label{font-size:var(--fs-sm);font-weight:700;color:var(--fg)}.txf-field select,.txf-field input{width:100%;background:var(--elevated)}.txf-foot{display:flex;align-items:center;gap:var(--space-2)}@media(prefers-reduced-motion:reduce){.txf-tr,.txf-tr:after{transition:none}}.selfn-help{margin:0 0 var(--space-3);font-size:12px;line-height:1.5;color:var(--fg-muted)}.selfn-list{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-3);padding:0;list-style:none}.selfn-chip{display:inline-flex;align-items:center;max-width:100%;min-height:44px;padding-left:14px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--fg);font-size:var(--fs-sm);font-weight:600}.selfn-chip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selfn-chip button{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:999px;background:none;color:var(--fg-muted);cursor:pointer}.selfn-empty{margin:0 0 var(--space-3);font-size:var(--fs-sm);color:var(--fg-muted)}.selfn-add label{display:block;margin-bottom:var(--space-1);font-size:12px;font-weight:600;color:var(--fg-muted)}.selfn-row{display:flex;gap:var(--space-2)}.selfn-row input{flex:1;min-width:0;min-height:44px;padding:0 12px;border:1px solid var(--input-border);border-radius:8px;background:var(--elevated);color:var(--fg);font-family:inherit;font-size:var(--fs-input);box-sizing:border-box}.selfn-row button{flex:none;min-height:44px;padding:0 16px;border:0;border-radius:999px;background:var(--primary);color:var(--bg);font-family:inherit;font-size:var(--fs-sm);font-weight:600;cursor:pointer}.selfn-hint{margin:0;font-size:12px;line-height:1.5;color:var(--fg-muted)}.selfn-hint:not(:empty){margin-top:var(--space-1)}.selfn-msg{min-height:1.2em;margin:var(--space-1) 0 0;font-size:12px;color:var(--fg-muted)}.refund-note{display:block;margin-top:2px;font-size:var(--fs-xs);line-height:1.35;color:var(--fg-subtle);font-variant-numeric:tabular-nums}.tx-row.refund{grid-template-areas:"logo name amt edit" "logo cat cat edit" "logo note note edit"}.tx-row.flat.refund{grid-template-areas:"logo name amt edit" "logo cat date edit" "logo note note edit"}.tx-row-note{grid-area:note;margin:0 0 var(--space-2) var(--space-1)}.refund-sec{margin:0 0 var(--space-4);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--r3);background:var(--surface)}.refund-h{margin:0 0 var(--space-1);font-size:var(--fs-md);font-weight:700;color:var(--fg)}.refund-sum{margin:0 0 var(--space-3);font-size:var(--fs-sm);line-height:1.45;color:var(--fg-muted)}.refund-list{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.refund-item{display:flex;align-items:center;gap:var(--space-3);min-height:44px}.refund-item+.refund-item{border-top:1px solid var(--border);padding-top:var(--space-2)}.refund-item-main{flex:1;min-width:0;display:flex;flex-direction:column}.refund-item-name{font-size:var(--fs-sm);font-weight:600;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.refund-item-sub{font-size:var(--fs-xs);color:var(--fg-subtle)}.refund-btn{flex:none;min-height:44px;min-width:44px;padding:0 var(--space-4);border:1px solid var(--primary);border-radius:999px;background:var(--blue-soft);color:var(--primary-on-soft);font-family:inherit;font-size:var(--fs-sm);font-weight:600;cursor:pointer}.refund-btn.off{border-color:var(--border-strong);background:transparent;color:var(--fg-muted)}.refund-card{margin-bottom:var(--space-4);padding:var(--space-4)}.refund-card-hd{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-1)}.refund-card-t{margin:0;font-size:var(--fs-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-subtle)}.refund-x{flex:none;width:44px;height:44px;margin:-10px -10px -6px 0;display:flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:none;color:var(--fg-muted);cursor:pointer}.refund-card-rcv{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin:0 0 var(--space-2);font-size:var(--fs-sm);color:var(--fg-muted)}.refund-card-rcv span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.refund-card-q{margin:0 0 var(--space-3);font-size:var(--fs-md);font-weight:600;line-height:1.4;color:var(--fg);overflow-wrap:anywhere}.refund-card-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.refund-yes,.refund-no{min-height:44px;padding:0 var(--space-5);border-radius:999px;font-family:inherit;font-size:var(--fs-sm);font-weight:600;cursor:pointer}.refund-yes{border:0;background:var(--primary-cta);color:var(--on-accent)}.refund-no{border:1px solid var(--border-strong);background:transparent;color:var(--fg)}.refund-card-more{margin:var(--space-3) 0 0;font-size:var(--fs-xs);color:var(--fg-subtle)}.refund-tag{display:inline-flex;align-items:center;padding:1px 8px;border:1px solid currentColor;border-radius:999px;background:transparent;color:var(--success);font-size:var(--fs-xs);font-weight:700;vertical-align:middle}.refund-unlink{display:inline-flex;align-items:center;min-height:44px;margin:var(--space-1) 0 calc(-1 * var(--space-2)) calc(-1 * var(--space-3));padding:0 var(--space-3);border:0;background:none;color:var(--primary);font-family:inherit;font-size:var(--fs-sm);font-weight:600;cursor:pointer}.gar-view,.rcv-view{padding:0 20px 24px}.gar-hero,.rcv-hero{margin-bottom:var(--space-4);padding:var(--space-5)}.gar-hero-n{margin:var(--space-1) 0 0;font-size:var(--fs-lg);font-weight:700;color:var(--fg);font-variant-numeric:tabular-nums}.gar-hero-v{font-weight:600;color:var(--fg-muted)}.gar-hero-sub,.rcv-hero-sub{margin:var(--space-1) 0 var(--space-3);font-size:var(--fs-sm);color:var(--fg-muted)}.rcv-hero-sub{margin-bottom:0}.gar-add{min-height:44px;padding:0 var(--space-5);border:1px solid var(--primary);border-radius:999px;background:var(--blue-soft);color:var(--primary-on-soft);font-family:inherit;font-size:var(--fs-sm);font-weight:600;cursor:pointer}.gar-list,.rcv-list{margin:0 0 var(--space-4);padding:0 var(--space-4);list-style:none}.rcv-list{margin:0;padding:0}.gar-list li+li,.rcv-list li+li{border-top:1px solid var(--border)}.gar-row,.rcv-row{width:100%;min-height:56px;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border:0;background:none;color:inherit;text-align:left;font-family:inherit;cursor:pointer}.gar-badge{flex:none;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--r2);background:var(--elevated);color:var(--fg-muted);font-size:var(--fs-xs);font-weight:700}.gar-main,.rcv-main{flex:1;min-width:0;display:flex;flex-direction:column}.gar-name,.rcv-name{font-size:var(--fs-sm);font-weight:600;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gar-sub,.rcv-sub{font-size:var(--fs-xs);color:var(--fg-subtle);overflow-wrap:anywhere}.gar-sub.neg,.rcv-sub.neg,.rcv-val.neg{color:var(--danger);font-weight:600}.gar-val,.rcv-val{flex:none;font-size:var(--fs-sm);font-weight:600;color:var(--fg);font-variant-numeric:tabular-nums}.gar-empty{padding:var(--space-6) var(--space-4)}.gar-empty-t{margin:0 0 var(--space-1);font-size:var(--fs-md);font-weight:600;color:var(--fg)}.gar-empty-s,.gar-foot,.rcv-foot,.rcv-empty{margin:0;font-size:var(--fs-xs);line-height:1.5;color:var(--fg-subtle)}.gar-foot,.rcv-foot{margin-top:var(--space-2)}.gar-field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-3);min-width:0}.gar-two,.claim-two{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.gar-input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--input-border);border-radius:8px;background:var(--elevated);color:var(--fg);font-family:inherit;font-size:var(--fs-input);box-sizing:border-box}.gar-sheet-note,.gar-sheet-hint{margin:0 0 var(--space-3);font-size:var(--fs-xs);line-height:1.5;color:var(--fg-subtle)}.gar-err{min-height:1em;margin:0 0 var(--space-2);font-size:var(--fs-sm);color:var(--danger)}.gar-err:empty{min-height:0}.rcv-total{margin:var(--space-1) 0 0;font-size:var(--fs-xl);font-weight:700;color:var(--fg);font-variant-numeric:tabular-nums}.rcv-sec{margin-bottom:var(--space-4);padding:var(--space-4) var(--space-5)}.rcv-h{margin:0 0 var(--space-1)}.claim-sec{margin:0 0 var(--space-4);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--r3);background:var(--surface)}.claim-sec.late{border-color:var(--danger)}.claim-seg{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-3);padding:0;border:0}.claim-seg legend{width:100%;margin-bottom:var(--space-1);padding:0}.claim-opt{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-4);border:1px solid var(--border-strong);border-radius:999px;font-size:var(--fs-sm);color:var(--fg);cursor:pointer}.claim-opt.on{border-color:var(--primary);background:var(--blue-soft);color:var(--primary-on-soft);font-weight:600}.claim-opt input{accent-color:var(--primary)}.claim-two{margin-bottom:var(--space-2)}.claim-two .lb{display:block;margin-bottom:var(--space-1)}.claim-hint{margin:0 0 var(--space-2);font-size:var(--fs-sm);color:var(--fg-muted)}.claim-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.refund-item-amt{flex:none;font-size:var(--fs-sm);font-weight:600;color:var(--success);font-variant-numeric:tabular-nums}.share-inbox{margin-bottom:var(--space-4);padding:var(--space-4) var(--space-5)}.share-inbox-h{margin:0 0 var(--space-1)}.share-inbox-note{margin:0 0 var(--space-2);font-size:var(--fs-xs);color:var(--fg-subtle)}.share-inbox-list{margin:0;padding:0;list-style:none}.share-inbox-item{padding:var(--space-3) 0}.share-inbox-item+.share-inbox-item{border-top:1px solid var(--border)}.share-inbox-row{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}.share-inbox-badge{flex:none;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--r2);background:var(--elevated);color:var(--fg-muted);font-size:10px;font-weight:700;letter-spacing:.04em}.share-inbox-main{flex:1;min-width:0;display:flex;flex-direction:column}.share-inbox-name{font-size:var(--fs-sm);font-weight:600;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-inbox-sub{font-size:var(--fs-xs);color:var(--fg-subtle)}.share-inbox-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.share-btn{min-height:44px;padding:0 var(--space-4);border:1px solid var(--border-strong);border-radius:999px;background:transparent;color:var(--fg);font-family:inherit;font-size:var(--fs-sm);font-weight:600;cursor:pointer}.share-btn.primary{border-color:var(--primary-cta);background:var(--primary-cta);color:var(--on-accent)}.share-btn.ghost{border-color:transparent;color:var(--fg-muted)}.share-inbox-said{margin:0;font-size:var(--fs-xs);color:var(--fg-subtle)}.share-inbox-said:empty{display:none}.share-read-btn{width:100%;min-height:44px;margin-bottom:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--primary);border-radius:var(--r2);background:var(--blue-soft);color:var(--primary-on-soft);font-family:inherit;font-size:var(--fs-sm);font-weight:600;cursor:pointer;overflow-wrap:anywhere}.share-from{margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border-left:3px solid var(--primary);font-size:var(--fs-sm);color:var(--fg-muted);overflow-wrap:anywhere}[tabindex="-1"]:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:6px}.pro-badge{display:inline-flex;align-items:center;flex:none;padding:0 7px;border:1px solid currentColor;border-radius:999px;background:transparent;color:var(--primary);font-family:var(--font);font-size:var(--fs-xs);font-weight:700;letter-spacing:.02em;line-height:16px;text-transform:none;vertical-align:middle;white-space:nowrap}.pro-gate{margin:0 0 var(--space-4);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--r3);background:var(--surface)}.pro-gate-title{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-2);font-size:var(--fs-md);font-weight:700;line-height:1.3;color:var(--fg)}.pro-gate-text{margin:0 0 var(--space-2);font-size:var(--fs-sm);line-height:1.5;color:var(--fg-muted)}.pro-gate-note{margin:0 0 var(--space-3);font-size:var(--fs-xs);line-height:1.5;color:var(--fg-subtle)}.pro-gate-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 var(--space-5);border:1px solid var(--primary);border-radius:999px;background:transparent;color:var(--primary);font-size:var(--fs-sm);font-weight:600;text-decoration:none}.pro-link{display:inline-flex;align-items:center;min-height:44px;color:var(--primary);font-size:var(--fs-sm);font-weight:600}.pro-gate-list{list-style:none;margin:0 0 var(--space-3);padding:0}.pro-gate-list>li{padding:var(--space-3) 0;border-top:1px solid var(--border)}.pro-gate-list>li:first-child{border-top:0;padding-top:var(--space-1)}.pro-gate-item{margin:0 0 var(--space-1);font-size:var(--fs-sm);font-weight:700;line-height:1.35;color:var(--fg)}.casal{padding:0 var(--space-5) calc(40px + var(--safe-bottom));display:flex;flex-direction:column;gap:var(--space-4)}.casal .pro-gate{margin:0}.casal-card{margin:0;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--r3);background:var(--surface)}.casal-h{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-2);font-size:var(--fs-md);font-weight:700;line-height:1.3;color:var(--fg)}.casal-p{margin:0 0 var(--space-3);font-size:var(--fs-sm);line-height:1.5;color:var(--fg-muted)}.casal-note{margin:var(--space-2) 0 0;font-size:var(--fs-xs);line-height:1.5;color:var(--fg-subtle)}.casal-msg{margin:var(--space-2) 0 0;font-size:var(--fs-sm);line-height:1.5;color:var(--fg)}.casal-msg:empty{display:none}.casal-ended{border-left:3px solid var(--primary)}.casal-warn{border-left:3px solid var(--warning)}.casal-row-flag{display:block;margin-top:2px;font-size:var(--fs-xs);font-weight:600;color:var(--fg)}.casal-demo{margin:0;padding:var(--space-3) var(--space-4);border-left:3px solid var(--primary);border-radius:var(--r4);background:var(--surface);font-size:var(--fs-sm);line-height:1.5;color:var(--fg)}.casal-label{display:block;margin:var(--space-2) 0 var(--space-2)}.casal-input{display:block;width:100%;box-sizing:border-box;min-height:48px;padding:var(--space-3) var(--space-4);margin:0 0 var(--space-3);border:1px solid var(--input-border);border-radius:var(--r4);background:var(--bg);color:var(--fg);font-family:var(--font);font-size:var(--fs-input)}.casal-input:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.casal-input-code{font-family:var(--mono);font-weight:600;letter-spacing:.12em;text-transform:uppercase}.casal-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.casal-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-5);border:1px solid var(--border-strong);border-radius:999px;background:transparent;color:var(--fg);font-family:var(--font);font-size:var(--fs-sm);font-weight:600;cursor:pointer}.casal-btn-primary{border-color:var(--primary-cta);background:var(--primary-cta);color:var(--on-accent)}.casal-btn-danger{border-color:var(--danger);color:var(--danger)}.casal-btn-danger-solid{border-color:var(--danger);background:var(--danger);color:#fff}html[data-theme=dark] .casal-btn-danger-solid{color:var(--bg)}.casal-btn:disabled,.casal-btn[aria-disabled=true]{opacity:.55;cursor:default}.casal-link{min-height:44px;padding:0 var(--space-1);border:0;background:none;color:var(--primary);font-family:var(--font);font-size:var(--fs-sm);font-weight:600;text-decoration:underline;cursor:pointer}.casal-code{margin:var(--space-2) 0 0;padding:var(--space-3) var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--r4);background:var(--bg);font-family:var(--mono);font-size:var(--fs-xl);font-weight:700;letter-spacing:.14em;text-align:center;color:var(--fg);-webkit-user-select:all;user-select:all;overflow-wrap:anywhere}.casal-month{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-3)}.casal-month-btn{width:44px;height:44px;flex:none;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--fg);font-size:var(--fs-xl);line-height:1;font-family:var(--font);cursor:pointer}.casal-month-btn:disabled{opacity:.4;cursor:default}.casal-month-label{flex:1;min-width:0;text-align:center;font-size:var(--fs-sm);font-weight:600;color:var(--fg)}.casal-total{margin:var(--space-1) 0 var(--space-2);font-size:var(--fs-2xl);font-weight:700;letter-spacing:-.02em;color:var(--fg)}.casal-settle{margin:0;font-size:var(--fs-md);font-weight:700;line-height:1.4;color:var(--fg)}.casal-list{list-style:none;margin:0;padding:0}.casal-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:44px;padding:var(--space-2) 0;border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--fg)}.casal-list .casal-row:first-child{border-top:0}.casal-row .m{flex:none;font-weight:600}.casal-row-main{display:flex;flex-direction:column;min-width:0}.casal-row-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.casal-row-sub{font-size:var(--fs-xs);color:var(--fg-subtle)}.casal-row-total{font-weight:700}.casal-pick{justify-content:flex-start;cursor:pointer}.casal-pick .casal-row-main{flex:1}.casal-chips{display:flex;gap:var(--space-2);overflow-x:auto;margin:var(--space-2) 0;padding:2px 0;scrollbar-width:none}.casal-chip{flex:none;min-height:36px;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:999px;background:transparent;color:var(--fg-muted);font-family:var(--font);font-size:var(--fs-xs);font-weight:600;cursor:pointer}.casal-chip[aria-pressed=true]{border-color:var(--fg);background:var(--fg);color:var(--bg)}.casal-chip:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.casal-share-count{margin:0 0 var(--space-1)}.casal-suggest{margin-top:var(--space-4);padding:var(--space-4);border:1px solid var(--border-strong);border-radius:var(--r4);background:var(--surface)}.casal-suggest-t{margin:0 0 var(--space-1);font-weight:600;color:var(--fg)}.casal-suggest-bts{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-3)}.casal-rules{margin-top:var(--space-4)}.casal-rules-list{list-style:none;margin:var(--space-1) 0 0;padding:0}.casal-rules-list li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:44px;border-top:1px solid var(--border)}.casal-confirm{padding:var(--space-3);border:1px solid var(--danger);border-radius:var(--r4);background:var(--bg)}.casal-switch{margin:0 0 var(--space-4);border:1px solid var(--border);border-radius:var(--r2);background:var(--surface)}.casal-switch-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:44px;padding:var(--space-3) var(--space-4) var(--space-1);cursor:pointer}.casal-switch-title{flex:1;min-width:0;font-size:var(--fs-sm);font-weight:600;color:var(--fg)}.casal-switch-sub{margin:0;padding:0 var(--space-4) var(--space-3);font-size:var(--fs-xs);line-height:1.4;color:var(--fg-subtle)}.casal-switch-input{position:absolute;opacity:0;width:44px;height:26px;right:var(--space-4);margin:0;cursor:pointer}.casal-switch-track{position:relative;flex:none;width:44px;height:26px;border-radius:26px;background:var(--fg-subtle);transition:background .2s}.casal-switch-knob{position:absolute;left:3px;bottom:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px var(--knob-ring),0 1px 3px #0003;transition:left .2s}.casal-switch-input:checked+.casal-switch-track{background:var(--primary)}.casal-switch-input:checked+.casal-switch-track .casal-switch-knob{left:21px}.casal-switch-input:focus-visible+.casal-switch-track{outline:2px solid var(--primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){.casal-switch-track,.casal-switch-knob{transition:none}}.ys-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:155;display:flex;justify-content:center;background:var(--bg);animation:fadeIn .2s ease-out}.ys-panel{position:relative;display:flex;flex-direction:column;width:100%;max-width:460px;height:100%;box-sizing:border-box;padding:calc(10px + var(--safe-top)) 20px calc(14px + var(--safe-bottom));background:radial-gradient(120% 55% at 50% 0%,color-mix(in srgb,var(--primary) 16%,transparent),transparent 70%),var(--bg);color:var(--fg);overflow:hidden}@media(min-width:600px){.ys-overlay{align-items:center;background:#0b12208c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}html[data-theme=dark] .ys-overlay{background:#000000b3}.ys-panel{height:min(100%,820px);border-radius:var(--r);border:1px solid var(--border)}}.ys-bars{display:flex;gap:4px;flex:0 0 auto}.ys-bar{flex:1;height:3px;border-radius:2px;background:var(--border-strong)}.ys-bar.is-done{background:color-mix(in srgb,var(--primary) 55%,transparent)}.ys-bar.is-cur{background:var(--primary)}.ys-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto;margin-top:8px;position:relative;z-index:3}.ys-year{min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--input-border);background:var(--surface);color:var(--fg);font:inherit;font-size:var(--fs-sm);font-weight:600}.ys-year-static{display:inline-flex;align-items:center}.ys-x{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:50%;background:var(--surface);color:var(--fg)}.ys-x:focus-visible,.ys-year:focus-visible,.ys-cta:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.ys-stage{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;touch-action:pan-y pinch-zoom}.ys-live{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;justify-content:center}.ys-card{padding:8px 4px;animation:ysIn .3s var(--ease-ios) both}.ys-card[data-dir=back]{animation-name:ysInBack}@keyframes ysIn{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:none}}@keyframes ysInBack{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.ys-overlay,.ys-card{animation:none}}.ys-kicker{margin:0 0 8px;font-size:var(--fs-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-subtle)}.ys-lead{margin:0;font-size:var(--fs-xl);font-weight:700;line-height:1.2;color:var(--fg)}.ys-big{margin:8px 0 4px;font-size:clamp(40px,13vw,56px);font-weight:800;letter-spacing:-.03em;line-height:1.05;color:var(--primary);word-break:break-word}.ys-big-text{font-size:clamp(34px,11vw,48px)}.ys-sub{margin:0 0 16px;font-size:var(--fs-lg);line-height:1.4;color:var(--fg-muted)}.ys-note{margin:0 0 10px;font-size:var(--fs-sm);line-height:1.5;color:var(--fg-subtle)}.ys-note-strong{font-size:var(--fs-md);font-weight:600;color:var(--fg)}.ys-list{list-style:none;margin:16px 0 14px;padding:0}.ys-row{margin-bottom:14px}.ys-row-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.ys-row-name{display:flex;align-items:center;gap:8px;min-width:0;font-size:var(--fs-md);font-weight:600}.ys-row-val{font-size:var(--fs-md);font-weight:700;white-space:nowrap}.ys-row-pct{font-weight:500;color:var(--fg-subtle)}.ys-meter{display:block;height:6px;border-radius:3px;background:var(--elevated);overflow:hidden}.ys-meter>span{display:block;height:100%;border-radius:3px;background:var(--primary)}.ys-cta{position:relative;z-index:3;margin-top:8px;min-height:48px;padding:0 24px;border:0;border-radius:999px;background:var(--primary-cta);color:var(--on-accent);font-size:var(--fs-md);font-weight:700}.ys-hit{position:absolute;top:0;bottom:0;border:0;padding:0;margin:0;background:transparent;z-index:2;-webkit-tap-highlight-color:transparent}.ys-hit:disabled{pointer-events:none}.ys-prev{left:0;width:34%}.ys-next{right:0;width:66%}.ys-hit:focus-visible{outline:2px solid var(--primary);outline-offset:-4px}.ys-foot{flex:0 0 auto;margin:6px 0 0;text-align:center;font-size:var(--fs-xs);color:var(--fg-subtle)}.ys-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;margin-bottom:16px;padding:10px 16px;border:1px solid var(--border);border-radius:var(--r2);background:var(--surface);color:var(--fg);font:inherit;font-size:var(--fs-sm);font-weight:600;text-align:left}.ys-entry small{display:block;font-size:var(--fs-xs);font-weight:400;color:var(--fg-subtle)}.ys-invite-x{border:0;background:none;min-height:44px;padding:0 12px;font:inherit;font-size:var(--fs-sm);font-weight:600;color:var(--fg-muted)}.irs-lines{margin:0 0 10px;padding:0}.irs-line{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:8px 0;border-top:1px solid var(--border)}.irs-line:first-child{border-top:0;padding-top:0}.irs-line dt{font-size:var(--fs-sm);font-weight:600;min-width:0}.irs-line dd{margin:0;font-size:var(--fs-sm);font-weight:700;white-space:nowrap}.irs-line.is-sum dt,.irs-line.is-sum dd{font-weight:800}.irs-detail{display:block;font-size:var(--fs-xs);font-weight:400;color:var(--fg-subtle);line-height:1.45;margin-top:2px}.irs-result{margin:0 0 10px;padding:12px 14px;border-radius:var(--r4);background:var(--elevated);font-size:var(--fs-md);font-weight:800}.irs-result.is-ok{background:var(--success-soft);color:var(--success-text)}.irs-result.is-warn{background:var(--elevated);color:var(--fg);box-shadow:inset 3px 0 0 var(--warning)}.irs-note{font-size:var(--fs-xs);color:var(--fg-subtle);line-height:1.5;margin:0 0 10px}.irs-notes{font-size:var(--fs-xs);color:var(--fg-subtle);line-height:1.5;margin:0 0 10px;padding-left:16px}.irs-summary{min-height:44px;display:flex;align-items:center;font-size:12px;font-weight:600;cursor:pointer}.irs-btn{flex:1;width:100%;min-height:44px;padding:0 14px;border:1px solid var(--border);background:var(--surface);color:var(--fg);border-radius:12px;font-size:var(--fs-sm);font-weight:600;cursor:pointer}.irs-btn.is-primary{border-color:transparent;background:var(--primary);color:var(--bg)}.irs-form{display:flex;flex-direction:column;gap:12px;margin-top:4px}.irs-fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;min-width:0}.irs-fieldset legend{padding:0;margin-bottom:8px}.irs-field{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-sm);font-weight:600;min-width:0}.irs-field input[aria-invalid=true]{border-color:var(--danger-text)}.irs-field small{font-size:var(--fs-xs);font-weight:400;color:var(--fg-subtle);line-height:1.4}.irs-field input,.irs-field select{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--input-border);background:var(--elevated);color:var(--fg);border-radius:10px;box-sizing:border-box}.irs-pair{display:flex;gap:8px}.irs-pair input{flex:1 1 auto;min-width:0}.irs-pair select{flex:0 0 auto;width:auto}.irs-deps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.plan-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r4);padding:var(--space-4);margin:0 0 var(--space-3);box-shadow:var(--shadow)}.plan-card h2{margin:0 0 var(--space-1);font-size:var(--fs-md);font-weight:600;color:var(--fg)}.plan-hero{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;margin:var(--space-1) 0 var(--space-2)}.plan-big{font-family:var(--mono);font-size:var(--fs-2xl);font-weight:600;letter-spacing:-.02em;color:var(--fg);font-variant-numeric:tabular-nums}.plan-note{margin:var(--space-2) 0 0;font-size:var(--fs-xs);line-height:1.5;color:var(--fg-subtle)}.plan-sub{margin:var(--space-1) 0 0;font-size:var(--fs-sm);line-height:1.45;color:var(--fg-muted)}.plan-warn{margin:var(--space-3) 0 0;padding:var(--space-3);border-left:3px solid var(--warning);border-radius:var(--r2);background:var(--elevated);font-size:var(--fs-sm);line-height:1.45;color:var(--fg)}.plan-ok{border-left-color:var(--success)}.plan-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.plan-name{margin:0;font-size:var(--fs-md);font-weight:600;color:var(--fg);overflow-wrap:anywhere}.plan-tag{display:inline-block;margin-left:var(--space-2);padding:1px 8px;border-radius:999px;border:1px solid var(--border);font-size:var(--fs-xs);font-weight:500;color:var(--fg-subtle);vertical-align:middle}.plan-meta{margin-top:2px;font-size:var(--fs-xs);color:var(--fg-subtle)}.plan-val{font-family:var(--mono);font-size:var(--fs-sm);font-weight:600;color:var(--fg);white-space:nowrap;font-variant-numeric:tabular-nums}.plan-bar{position:relative;height:8px;margin:var(--space-3) 0 var(--space-1);border-radius:4px;background:var(--elevated);overflow:visible}.plan-bar-fill{height:100%;border-radius:4px;background:var(--primary)}.plan-bar-fill.behind{background:var(--warning)}.plan-bar-tick{position:absolute;top:-3px;width:2px;height:14px;background:var(--fg);border-radius:1px}.plan-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.plan-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-4);border:1px solid var(--border-strong);border-radius:999px;background:transparent;color:var(--fg);font-family:var(--font);font-size:var(--fs-sm);font-weight:600;cursor:pointer}.plan-btn-primary{border-color:var(--primary-cta);background:var(--primary-cta);color:var(--on-accent)}.plan-btn-danger{border-color:var(--danger);color:var(--danger)}.plan-btn:disabled{opacity:.55;cursor:default}.plan-btn:focus-visible,.plan-chip:focus-visible,.plan-input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.plan-field{display:block;margin:0 0 var(--space-3)}.plan-field>span{display:block;margin:0 0 var(--space-1);font-size:var(--fs-sm);font-weight:600;color:var(--fg)}.plan-input{display:block;width:100%;box-sizing:border-box;min-height:48px;padding:var(--space-3) var(--space-4);border:1px solid var(--input-border);border-radius:var(--r4);background:var(--bg);color:var(--fg);font-family:var(--font);font-size:var(--fs-input)}.plan-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-3)}.plan-chip{min-height:44px;padding:0 var(--space-4);border:1px solid var(--border-strong);border-radius:999px;background:transparent;color:var(--fg-muted);font-family:var(--font);font-size:var(--fs-sm);font-weight:600;cursor:pointer}.plan-chip[aria-pressed=true],.plan-chip[aria-checked=true]{border-color:var(--fg);background:var(--fg);color:var(--bg)}.plan-form{display:block;margin:0;padding:0;border:0}.plan-table{width:100%;border-collapse:collapse;margin:var(--space-2) 0 0}.plan-table th{padding:var(--space-2) 0;text-align:left;font-size:var(--fs-xs);font-weight:500;color:var(--fg-subtle)}.plan-table td{padding:var(--space-3) 0;border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--fg);vertical-align:top}.plan-table td.plan-num,.plan-table th.plan-num{text-align:right;white-space:nowrap}.plan-arrow{color:var(--fg-subtle);margin:0 var(--space-1)}.plan-better{color:var(--success)}.plan-worse{color:var(--danger)}.plan-be-num{font-family:var(--mono);font-weight:600}.phrase-field{display:flex;align-items:center;gap:var(--space-3)}.phrase-mic.on{background:var(--primary-cta);border-color:var(--primary-cta);color:var(--on-accent)}.phrase-status{margin-top:var(--space-3)}.phrase-listen{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--r2);background:var(--blue-soft);color:var(--primary-on-soft);font-size:var(--fs-sm)}.phrase-dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--primary);animation:phrase-pulse 1.1s ease-in-out infinite}@keyframes phrase-pulse{0%,to{transform:scale(.8);opacity:.6}50%{transform:scale(1.25);opacity:1}}@media(prefers-reduced-motion:reduce){.phrase-dot{animation:none}}.phrase-heard{font-weight:600}.phrase-note{padding:var(--space-3) var(--space-4);border-radius:var(--r2);background:var(--surface);border:1px solid var(--border);color:var(--fg-muted);font-size:var(--fs-sm)}.phrase-card{margin-top:var(--space-5);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--r4);background:var(--surface)}.phrase-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);width:100%;min-height:44px;padding:var(--space-2) 0;border:none;border-top:1px solid var(--border);background:transparent;color:var(--fg);font-family:var(--font);font-size:var(--fs-sm);text-align:left;cursor:pointer}.phrase-card .lb+.phrase-row{border-top:none}.phrase-row-l{flex:none;font-size:var(--fs-xs);color:var(--fg-subtle)}.phrase-row-v{min-width:0;font-weight:600;text-align:right;overflow-wrap:anywhere}.phrase-row.missing .phrase-row-v{color:var(--signal)}.phrase-row:focus-visible,.phrase-done:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.phrase-edit{padding:var(--space-2) 0 var(--space-3)}.phrase-done{min-height:44px;margin-top:var(--space-2);padding:0 var(--space-3);border:none;background:transparent;color:var(--primary);font-family:var(--font);font-size:var(--fs-sm);font-weight:600;cursor:pointer}.ae-phrase{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:44px;margin:0 0 var(--space-4);padding:0 var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--r4);background:transparent;color:var(--primary);font-family:var(--font);font-size:var(--fs-sm);font-weight:600;cursor:pointer}.ae-phrase:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.srch-field input{display:block;width:100%;box-sizing:border-box;min-height:48px;padding:0 var(--space-4);border:1px solid var(--input-border);border-radius:var(--r4);background:var(--elevated);color:var(--fg);font-family:var(--font);font-size:var(--fs-input)}.srch-hint{margin:var(--space-3) 0;font-size:var(--fs-sm);line-height:1.45;color:var(--fg-muted)}.srch-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.srch-chip{min-height:44px;padding:0 var(--space-4);border:1px solid var(--border-strong);border-radius:999px;background:transparent;color:var(--fg);font-family:var(--font);font-size:var(--fs-sm);cursor:pointer}.srch-chip:focus-visible,.srch-row:focus-visible,.srch-more:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.srch-card{margin-top:var(--space-4);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--r4);background:var(--surface)}.srch-title{margin:0;font-size:var(--fs-sm);font-weight:600;color:var(--fg-muted)}.srch-total{margin-top:var(--space-1);font-family:var(--mono);font-size:var(--fs-2xl);font-weight:700;color:var(--fg)}.srch-sub{margin-top:var(--space-1);font-size:var(--fs-sm);color:var(--fg-muted)}.srch-chart{display:flex;align-items:stretch;gap:3px;height:112px;margin-top:var(--space-4)}.srch-chart.srch-day{gap:2px}.srch-col{flex:1 1 0;min-width:0;display:flex;flex-direction:column}.srch-barwrap{flex:1;display:flex;align-items:flex-end;min-height:0}.srch-bar{width:100%;min-height:0;border-radius:3px 3px 0 0;background:var(--fg-subtle)}.srch-bar.best{background:var(--primary)}.srch-bar.unloaded{height:100%;background:transparent;border:1px dashed var(--input-border);border-bottom:none;opacity:.7}.srch-bar.future{height:2px;background:var(--border-strong)}.srch-lab{height:16px;font-size:10px;line-height:16px;text-align:center;color:var(--fg-subtle);white-space:nowrap;overflow:visible}.srch-line{margin:var(--space-3) 0 0;font-size:var(--fs-sm);font-weight:600;color:var(--fg)}.srch-note{margin:var(--space-3) 0 0;padding:var(--space-3) var(--space-4);border:1px solid var(--border-strong);border-radius:var(--r4);background:var(--surface);font-size:var(--fs-sm);line-height:1.45;color:var(--fg-muted)}.srch-lb{margin:var(--space-5) 0 var(--space-2)}.srch-list{list-style:none;margin:0;padding:0}.srch-row{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:52px;padding:var(--space-2) 0;border:none;border-top:1px solid var(--border);background:transparent;color:var(--fg);font-family:var(--font);text-align:left;cursor:pointer}.srch-row-main{flex:1;min-width:0;display:flex;flex-direction:column}.srch-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-md);font-weight:600}.srch-row-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-xs);color:var(--fg-subtle)}.srch-row-amt{flex:none;font-weight:600;white-space:nowrap}.srch-more{display:block;width:100%;min-height:44px;margin-top:var(--space-2);border:none;background:transparent;color:var(--primary);font-family:var(--font);font-size:var(--fs-sm);font-weight:600;cursor:pointer}.bnav-center{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}.casal-row-end{display:flex;flex-direction:column;align-items:flex-end;flex:none;text-align:right}.casal-row-end .m{font-weight:600}.casal-seg{display:flex;gap:var(--space-2);margin:var(--space-1) 0 var(--space-3)}.casal-seg-btn{flex:1;min-height:44px;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:999px;background:transparent;color:var(--fg-muted);font-family:var(--font);font-size:var(--fs-sm);font-weight:600;cursor:pointer}.casal-seg-btn[aria-pressed=true]{border-color:var(--fg);background:var(--fg);color:var(--bg)}.casal-seg-btn:focus-visible,.casal-step:focus-visible,.casal-select:focus-visible,.casal-calc summary:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.casal-stepper{display:flex;align-items:center;gap:var(--space-2)}.casal-step{width:44px;height:44px;flex:none;border:1px solid var(--border-strong);border-radius:999px;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:var(--fs-lg);line-height:1;cursor:pointer}.casal-input-pct{width:5em;margin:0;text-align:center;font-family:var(--mono);font-weight:600}.casal-calc{margin:var(--space-3) 0 0;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--r4);background:var(--bg)}.casal-calc summary{display:flex;align-items:center;min-height:44px;font-size:var(--fs-sm);font-weight:600;color:var(--fg);cursor:pointer}.casal-calc[open]{padding-bottom:var(--space-3)}.casal-select{display:block;max-width:100%;min-height:44px;margin-top:var(--space-1);padding:0 var(--space-3);border:1px solid var(--input-border);border-radius:var(--r4);background:var(--bg);color:var(--fg);font-family:var(--font);font-size:var(--fs-xs)}.casal-goals{list-style:none;margin:0;padding:0}.casal-goal{padding:var(--space-3) 0;border-top:1px solid var(--border)}.casal-goal:first-child{border-top:0;padding-top:0}.casal-goal-t{margin:0 0 var(--space-1);font-size:var(--fs-md);font-weight:700;color:var(--fg)}.casal-goal-by{margin:0 0 var(--space-2)}.casal-goal-sum{margin:var(--space-1) 0 var(--space-2);font-size:var(--fs-lg);font-weight:700;color:var(--fg)}.casal-goal-bar{display:flex;height:10px;margin:0 0 var(--space-2);border-radius:999px;background:var(--border);overflow:hidden}.casal-goal-me{background:var(--primary)}.casal-goal-partner{background:var(--fa-s4)}.casal-goal-legend{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);margin:0 0 var(--space-2);font-size:var(--fs-xs);color:var(--fg-muted)}.casal-dot{display:inline-block;width:10px;height:10px;border-radius:2px}.casal-dot-me{background:var(--primary)}.casal-dot-partner{background:var(--fa-s4)}.casal-goal-eta{margin:0}.casal-goal-put{margin-top:var(--space-2)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.bcard{container-type:inline-size;position:relative;width:100%;aspect-ratio:1.586;border-radius:4.8%/7.6%;overflow:hidden;color:var(--c-fg);background:linear-gradient(155deg,#ffffff29,#fff0 46%),var(--c-bg);box-shadow:0 14px 26px -16px #0009,inset 0 0 0 1px #ffffff12;text-align:left}.bcard-in{position:relative;height:100%;display:flex;flex-direction:column;justify-content:space-between;gap:1.5cqw;padding:6.2cqw 6.6cqw}.bcard-top{display:flex;align-items:center;gap:2.6cqw;min-width:0}.bcard-top .brand,.bcard-top .initial{flex:none;width:max(18px,7.2cqw)!important;height:max(18px,7.2cqw)!important;box-shadow:0 0 0 1px #ffffff47}.bcard-top .brand svg{width:100%;height:100%}.bcard-bank{flex:1;min-width:0;text-align:right;font-weight:800;font-size:max(11px,6.2cqw);letter-spacing:-.02em;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bcard-mid{display:flex;align-items:center;gap:3.2cqw}.bcard-chip{display:block;width:11.5cqw;aspect-ratio:1.3;border-radius:1.8cqw;position:relative;background:linear-gradient(135deg,#f1dfa6,#c9a35a 45%,#e8d08e 70%,#b8914a);box-shadow:inset 0 0 0 .3cqw #5a3c0a59}.bcard-chip:before{content:"";position:absolute;top:24%;right:0;bottom:24%;left:0;border-block:.35cqw solid rgba(90,60,10,.42)}.bcard-chip:after{content:"";position:absolute;top:0;right:35%;bottom:0;left:35%;border-inline:.35cqw solid rgba(90,60,10,.42)}.bcard-cl{width:6.6cqw;height:6.6cqw;opacity:.92}.bcard-num{font-size:max(11px,4.7cqw);letter-spacing:.16em;font-variant-numeric:tabular-nums;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bcard-num.is-type{letter-spacing:.01em;font-weight:600}.bcard-bot{display:flex;justify-content:space-between;align-items:flex-end;gap:3cqw}.bcard-money{min-width:0}.bcard-lab{display:block;font-weight:600;font-size:max(9px,3.2cqw);letter-spacing:.09em;text-transform:uppercase;opacity:.9;line-height:1.3}.bcard-val{display:block;font-weight:800;font-size:max(15px,7.2cqw);letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bcard-val .history-pending{color:inherit;font-size:max(11px,4cqw);font-weight:600}.bcard-sub{display:block;font-size:max(10px,3.5cqw);opacity:.9;font-variant-numeric:tabular-nums;font-weight:500}.bcard-net{flex:none;line-height:1}.bcard-visa{font-weight:900;font-style:italic;font-size:max(12px,7.4cqw);letter-spacing:-.03em}.bcard-mc{display:inline-flex;align-items:center}.bcard-mc i{display:block;width:max(14px,9cqw);height:max(14px,9cqw);border-radius:50%;background:currentColor;opacity:.92}.bcard-mc i+i{margin-left:max(-6px,-3.6cqw);opacity:.5}@container (max-width:200px){.bcard-mid{display:none}}.acards{container-type:inline-size;position:relative}.acards-view{position:relative}.acards-track{display:flex;gap:var(--space-3);overflow-x:auto;scroll-snap-type:x mandatory;padding:var(--space-3) 10cqw var(--space-2);scrollbar-width:none;overscroll-behavior-x:contain;cursor:grab;-webkit-user-select:none;user-select:none;outline:none}.acards-track::-webkit-scrollbar{display:none}.acards-track:focus-visible{box-shadow:inset 0 0 0 2px var(--primary);border-radius:var(--r3)}.acards-track.grabbing{scroll-snap-type:none;cursor:grabbing}.acards-slide{flex:0 0 80cqw;min-width:0;scroll-snap-align:center;scroll-snap-stop:always}.acards-slide>.bcard{transform:scale(calc(1 - var(--acard-k,0) * .08));opacity:calc(1 - var(--acard-k,0) * .4);transition:box-shadow .2s}.acards-cap{opacity:calc(1 - var(--acard-k,0) * 1.5);padding-top:var(--space-3);-webkit-user-select:text;user-select:text}.acards-nav{position:absolute;top:calc(var(--space-3) + 80cqw / 1.586 / 2);transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--bg-glass);color:var(--fg);display:none;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);z-index:2;padding:0}.acards-nav.prev{left:var(--space-2)}.acards-nav.next{right:var(--space-2)}.acards-nav:disabled{opacity:.35;cursor:default}@media(hover:hover){.acards-nav{display:flex}}.acards-nav:focus-visible{display:flex}.acards-dots{display:flex;justify-content:center;gap:6px;margin-top:var(--space-2)}.acards-dots i{display:block;width:6px;height:6px;border-radius:3px;background:var(--border-strong);transition:width .25s,background .25s}.acards-dots i.on{width:18px;background:var(--fg)}.acard-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-2) var(--space-3)}.acard-txt{flex:1 1 120px;min-width:0}.acard-name{font-size:var(--fs-md);font-weight:600;line-height:1.3;overflow-wrap:anywhere}.acard-name span{font-weight:500;color:var(--fg-muted)}.acard-meta{font-size:var(--fs-sm);color:var(--fg-subtle);margin-top:var(--space-1)}.acard-meta .history-mark{margin-left:0}.acard-acts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2);margin-left:auto}@media(prefers-reduced-motion:reduce){.acards-dots i,.acards-slide>.bcard{transition:none}}
