.sheet-root{z-index:50;position:fixed;inset:0}.sheet-backdrop{background:#11111452;animation:.26s both fade-in;position:absolute;inset:0}.sheet-root[data-state=closed] .sheet-backdrop{animation:.22s both fade-out}.sheet{left:0;right:0;bottom:var(--kb-inset,0px);max-height:calc(var(--vvh,100dvh) - env(safe-area-inset-top) - 16px);background:var(--surface);overscroll-behavior:contain;border-radius:28px 28px 0 0;flex-direction:column;transition:bottom .12s;animation:.34s cubic-bezier(.2,.9,.25,1) both sheet-in;display:flex;position:absolute;box-shadow:0 -8px 40px #1111141f}.sheet-root[data-state=closed] .sheet{animation:.24s cubic-bezier(.4,0,1,1) both sheet-out}.sheet-header{touch-action:none;cursor:grab;flex:none;padding:8px 20px 0}.sheet-handle{background:var(--border-strong);border-radius:99px;width:36px;height:5px;margin:0 auto 8px}.sheet-titlebar{justify-content:space-between;align-items:center;min-height:44px;margin-bottom:4px;display:flex}.sheet-titlebar h2{letter-spacing:-.01em;font-size:20px;font-weight:700}.sheet-titlebar .icon-btn{margin-right:-10px}.sheet-body{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding:4px 20px 8px;overflow-y:auto}.sheet-footer{padding:12px 20px calc(14px + env(safe-area-inset-bottom));flex:none;gap:10px;display:flex}:root[data-kb-open] .sheet-footer{padding-bottom:12px}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sheet-out{0%{transform:translateY(var(--drag-y,0px))}to{transform:translateY(100%)}}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}@media (width>=640px){.sheet{border-radius:28px;width:440px;max-height:min(720px,100dvh - 48px);animation-name:dialog-in;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.sheet-root[data-state=closed] .sheet{animation-name:dialog-out}.sheet-handle{visibility:hidden;height:0;margin:0}.sheet-header{cursor:default;padding-top:16px}.sheet-footer{padding-bottom:20px}}@keyframes dialog-in{0%{opacity:0;transform:translate(-50%,-48%)scale(.97)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes dialog-out{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-48%)scale(.97)}}:root{--bg:#f6f6f8;--surface:#fff;--surface-2:#f2f2f5;--border:#e8e8ed;--border-strong:#d6d6de;--text:#121216;--text-2:#62626e;--text-3:#9b9ba7;--accent:#5653da;--accent-soft:#eeedfd;--warn:#d48a06;--warn-soft:#fdf4e3;--danger:#e0464c;--danger-soft:#fdeeee;--r-xl:24px;--r-lg:20px;--r-md:14px;--gutter:20px;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box;margin:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;background:var(--bg)}html.sheet-lock,html.sheet-lock body{overflow:hidden}body{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;font-size:16px;line-height:1.4}button,input,select{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0}a{color:inherit;text-decoration:none}h1,h2,h3{font-weight:700}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--text-3);font-weight:600}.text-danger{color:var(--danger)}.label{color:var(--text-2);font-size:13px;font-weight:500}.page{max-width:640px;padding:calc(env(safe-area-inset-top) + 8px) max(var(--gutter), env(safe-area-inset-right)) 32px max(var(--gutter), env(safe-area-inset-left));margin:0 auto}.page>:not(.bottom-bar){animation:.26s cubic-bezier(.2,.8,.2,1) backwards page-in}.page--detail>:not(.bottom-bar){animation-name:page-in-right}.page--with-bar{padding-bottom:calc(108px + env(safe-area-inset-bottom))}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}}@keyframes page-in-right{0%{opacity:0;transform:translate(18px)}}.bottom-bar{z-index:10;padding:20px var(--gutter) calc(14px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--bg) 62%, #f6f6f800);pointer-events:none;position:fixed;bottom:0;left:0;right:0}.bottom-bar>.btn{pointer-events:auto;max-width:600px;margin:0 auto;display:flex}.btn{letter-spacing:-.01em;-webkit-user-select:none;user-select:none;border-radius:16px;justify-content:center;align-items:center;gap:8px;height:52px;padding:0 20px;font-size:17px;font-weight:600;transition:transform .12s,background-color .16s,opacity .16s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.35;cursor:default}.btn-block{flex:1;width:100%}.btn-lg{border-radius:18px;height:56px;box-shadow:0 8px 24px #1212162e}.btn-primary{background:var(--text);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-danger-soft{background:var(--danger-soft);color:var(--danger)}.btn-ghost{background:var(--surface-2);color:var(--text)}.btn-square{flex:none;width:52px;padding:0}.btn-grow{flex:none;padding:0 22px}.icon-btn{background:var(--surface);border:1px solid var(--border);width:44px;height:44px;color:var(--text);border-radius:50%;flex:none;justify-content:center;align-items:center;transition:transform .12s,background-color .16s;display:inline-flex}.icon-btn:active{background:var(--surface-2);transform:scale(.92)}.icon-btn--plain{background:var(--surface-2);width:34px;height:34px;color:var(--text-2);border-color:#0000}.icon-btn--plain:active{background:var(--border)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);display:block}.pressable{transition:transform .14s,box-shadow .16s}.pressable:active{transform:scale(.985)}@media (hover:hover){.pressable:hover{box-shadow:0 6px 20px #1212160f}}.money{white-space:nowrap;align-items:baseline;gap:.28em;display:inline-flex}.money-value{letter-spacing:-.02em;font-weight:650}.money-code{color:var(--text-3);letter-spacing:.02em;font-size:.5em;font-weight:600}.money--lg{font-size:min(32px, calc(100cqw / (var(--len) * .62)));line-height:1.15}.money--xl{font-size:min(44px, calc(100cqw / (var(--len) * .62)));line-height:1.1}.money--lg .money-value,.money--xl .money-value{letter-spacing:-.035em;font-weight:700}.money--xl .money-code{font-size:.4em}.money--negative .money-value{color:var(--danger)}.money--row{font-size:16px}.money--row .money-code{font-size:12px}.progress{background:var(--surface-2);border-radius:99px;height:8px;overflow:hidden}.progress-fill{border-radius:inherit;background:var(--accent);height:100%;transition:width .4s cubic-bezier(.2,.8,.2,1)}.progress[data-tone=warn] .progress-fill{background:var(--warn)}.progress[data-tone=over] .progress-fill{background:var(--danger)}.home-header{padding:28px 2px 20px}.large-title{letter-spacing:-.03em;font-size:34px;line-height:1.1}.subtitle{color:var(--text-2);margin-top:4px;font-size:15px}.card-grid{gap:12px;display:grid}.budget-card{padding:18px 18px 16px;container-type:inline-size}.budget-card-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.budget-card-name{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:650;overflow:hidden}.pct-chip{color:var(--text-2);background:var(--surface-2);border-radius:99px;flex:none;padding:3px 9px;font-size:13px;font-weight:600}.pct-chip--over{color:var(--danger);background:var(--danger-soft)}.budget-card .progress{margin:14px 0 12px}.budget-card-foot{color:var(--text-2);justify-content:space-between;gap:8px;font-size:13px;display:flex}.budget-card-foot strong{color:var(--text);font-weight:600}.empty{text-align:center;flex-direction:column;align-items:center;padding:72px 24px;display:flex}.empty--inline{padding:40px 24px}.empty-icon{background:var(--accent-soft);width:60px;height:60px;color:var(--accent);border-radius:20px;place-items:center;margin-bottom:16px;display:grid}.empty-title{font-size:17px;font-weight:650}.empty-text{color:var(--text-2);margin-top:4px;font-size:15px}.top-bar{z-index:5;margin:calc(-8px - env(safe-area-inset-top)) calc(-1 * var(--gutter)) 0;padding:calc(env(safe-area-inset-top) + 8px) var(--gutter) 8px;-webkit-backdrop-filter:saturate(180%)blur(16px);background:#f6f6f8db;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:12px;transition:border-color .16s;display:flex;position:sticky;top:0}.top-bar--scrolled{border-bottom-color:var(--border)}.top-bar-title{text-align:center;text-overflow:ellipsis;white-space:nowrap;opacity:0;flex:1;min-width:0;font-size:16px;font-weight:650;transition:opacity .16s,transform .16s;overflow:hidden;transform:translateY(4px)}.top-bar--scrolled .top-bar-title{opacity:1;transform:none}.detail-title{letter-spacing:-.025em;overflow-wrap:anywhere;padding:12px 2px 16px;font-size:28px;line-height:1.15}.hero{padding:20px 20px 18px;container-type:inline-size}.hero .money{margin:2px 0 16px}.hero-stats{border-top:1px solid var(--border);grid-template-columns:1fr 1fr auto;gap:12px;margin-top:16px;padding-top:16px;display:grid}.stat-value{letter-spacing:-.01em;margin-top:2px;font-size:17px;font-weight:650}.expenses{margin-top:28px}.section-head{align-items:baseline;gap:8px;padding:0 2px 4px;display:flex}.section-head h2{letter-spacing:-.015em;font-size:20px}.day-group{margin-top:14px}.day-head{color:var(--text-2);justify-content:space-between;padding:0 4px 8px;font-size:13px;font-weight:600;display:flex}.list{overflow:hidden}.expense-row{text-align:left;align-items:center;gap:12px;width:100%;min-height:64px;padding:12px 16px;transition:background-color .12s;display:flex}.expense-row+.expense-row{box-shadow:inset 0 1px 0 var(--border)}.expense-row:active{background:var(--surface-2)}.currency-badge{background:var(--surface-2);width:40px;height:40px;color:var(--text-2);letter-spacing:.03em;border-radius:12px;flex:none;place-items:center;font-size:11px;font-weight:700;display:grid}.expense-main{flex-direction:column;flex:1;min-width:0;display:flex}.expense-title{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:550;overflow:hidden}.expense-sub{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.expense-amounts{flex-direction:column;flex:none;align-items:flex-end;max-width:50%;display:flex}.sheet-form{flex-direction:column;flex:auto;min-height:0;display:flex}.sheet-footer--stack{flex-direction:column}.sheet-footer--stack .btn{flex:none}.confirm-message{color:var(--text-2);padding-bottom:8px;font-size:16px}.menu{flex-direction:column;gap:8px;display:flex}.menu-item{border-radius:var(--r-md);background:var(--surface-2);align-items:center;gap:14px;height:56px;padding:0 16px;font-size:17px;font-weight:550;transition:background-color .12s,transform .12s;display:flex}.menu-item:active{background:var(--border);transform:scale(.985)}.menu-item--danger{color:var(--danger)}.field{margin-top:18px;display:block}.field-label{color:var(--text-2);margin:0 2px 7px;font-size:13px;font-weight:600;display:block}.input{border-radius:var(--r-md);background:var(--surface-2);border:1px solid #0000;outline:none;align-items:center;width:100%;height:52px;padding:0 16px;font-size:17px;transition:border-color .14s,background-color .14s,box-shadow .14s;display:flex}.input::placeholder,.input input::placeholder{color:var(--text-3)}.input:focus,.input:focus-within{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.input-affix{gap:8px}.input-affix input{background:0 0;border:0;outline:none;flex:1;min-width:0;height:100%;font-size:17px}.input-prefix,.input-suffix{color:var(--text-2);white-space:nowrap;flex:none;font-weight:500}.input-icon{color:var(--text-3);flex:none}.date-input{appearance:none;text-align:left;min-height:1.4em}.date-input::-webkit-date-and-time-value{text-align:left}.segmented{grid-template-columns:1fr 1fr;gap:10px;display:grid}.segmented-item{border-radius:var(--r-md);border:1.5px solid var(--border);background:var(--surface);text-align:left;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;transition:border-color .14s,background-color .14s;display:flex}.segmented-item[aria-checked=true]{border-color:var(--text);background:var(--surface);box-shadow:inset 0 0 0 .5px var(--text)}.segmented-code{font-size:17px;font-weight:700}.segmented-name{color:var(--text-2);font-size:13px}.amount-block{padding:8px 2px 4px}.amount-row{align-items:baseline;gap:10px;display:flex}.amount-input{letter-spacing:-.035em;background:0 0;border:0;outline:none;flex:1;min-width:0;padding:0;font-size:44px;font-weight:700;line-height:1.15}.amount-input::placeholder{color:var(--border-strong)}.amount-code{color:var(--text-3);flex:none;font-size:20px;font-weight:650}.amount-converted{min-height:20px;color:var(--accent);margin-top:2px;font-size:15px;font-weight:500}.chips{margin:14px calc(-1 * var(--gutter)) 0;padding:2px var(--gutter);scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{border:1px solid var(--border);background:var(--surface);border-radius:99px;flex:none;align-items:center;gap:4px;height:38px;padding:0 15px;font-size:15px;font-weight:600;transition:background-color .14s,color .14s,border-color .14s,transform .12s;display:inline-flex;position:relative}.chip:active{transform:scale(.95)}.chip[aria-checked=true]{background:var(--text);border-color:var(--text);color:#fff}.chip--select{color:var(--text-2);padding-right:11px}.chip--select select{opacity:0;cursor:pointer;width:100%;font-size:16px;position:absolute;inset:0}.rate-row{gap:8px;display:flex}.rate-input{flex:1;min-width:0}.rate-row .icon-btn{border-radius:var(--r-md);background:var(--surface-2);width:52px;height:52px;color:var(--text-2);border-color:#0000}@media (width>=720px){.page{max-width:760px}.page--home .card-grid{grid-template-columns:1fr 1fr}.page--detail{max-width:640px}.large-title{font-size:40px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important}}
