@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_dfa45f92-module__ig9XPW__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_dfa45f92-module__ig9XPW__variable{--font-inter:"Inter", "Inter Fallback"}
*{box-sizing:border-box;margin:0;padding:0}:root{--top:#f6f2ea;--bot:#dfe6dc;--text:#4f5a4f;--muted:#8c968c;--accent:#9fb3a3;--accent-text:#f4f8f4;--amount:#6f8a72;--field:#ffffff80;--field-focus:#ffffffd9;--field-soft:#ffffff59;--line:#0000001f;--line-soft:#0000000f;--line-strong:#d5dde3;--glow:none}:root[data-t=sage]{--bot:#dfe6dc;--text:#4f5a4f;--muted:#8c968c;--accent:#9fb3a3;--amount:#6f8a72}:root[data-t=sky]{--bot:#dbe6ef;--text:#4d5761;--muted:#8b97a3;--accent:#98b0c4;--amount:#6c8299}:root[data-t=lavender]{--bot:#e3dde9;--text:#544f5c;--muted:#948da0;--accent:#a99cb8;--amount:#7f7193}:root[data-t=rose]{--bot:#e8d8d6;--text:#5a4f4f;--muted:#9c8d8d;--accent:#b39a9a;--amount:#8c6f6f}:root[data-t=sand]{--bot:#e9d9cb;--text:#5a5044;--muted:#9c8f80;--accent:#bda08c;--amount:#8f7560}:root[data-t=slate]{--bot:#dcdfe3;--text:#4a5057;--muted:#8a9099;--accent:#8e99a6;--amount:#66717e}:root[data-t=moss]{--bot:#e0e2d3;--text:#50553f;--muted:#8e927c;--accent:#a3a88a;--amount:#767b5c}:root[data-t=peach]{--bot:#f1d9c9;--text:#5c4a40;--muted:#a08c80;--accent:#d9a68a;--amount:#a86f52}:root[data-t=mint]{--bot:#d3ebe1;--text:#3f5a50;--muted:#84a096;--accent:#8cc5ad;--amount:#4f8a72}:root[data-t=dusk]{--top:#f3ece6;--bot:#d9d3e8;--text:#4a4560;--muted:#8d88a3;--accent:#a59bc9;--amount:#6e639a}:root[data-t=bubblegum]{--top:#ffe3f1;--bot:#cfe8ff;--text:#5a3a5c;--muted:#a07fa6;--accent:#ff7fbf;--accent-text:#fff7fb;--amount:#d94f9a}:root[data-t=midnight]{--top:#1d2236;--bot:#0f1322;--text:#e8e3d3;--muted:#8d93a8;--accent:#d9b56a;--accent-text:#1d1a12;--amount:#e9c87f;--field:#ffffff14;--field-focus:#ffffff24;--field-soft:#ffffff0f;--line:#ffffff29;--line-soft:#ffffff12;--line-strong:#ffffff1f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-t=synthwave]{--top:#1a0f33;--bot:#3a0f4a;--text:#f6e8ff;--muted:#b490c9;--accent:#ff4fd8;--accent-text:#1a0f33;--amount:#4ff3ff;--field:#ffffff14;--field-focus:#ffffff26;--field-soft:#ffffff12;--line:#ff4fd859;--line-soft:#ff4fd826;--line-strong:#ff4fd840;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--glow:0 0 12px #ff4fd88c}:root[data-t=synthwave] body:after{content:"";z-index:-1;pointer-events:none;opacity:.45;transform-origin:bottom;background:repeating-linear-gradient(0deg,#4ff3ff8c 0 1px,#0000 1px 28px),repeating-linear-gradient(90deg,#4ff3ff66 0 1px,#0000 1px 44px);height:38vh;position:fixed;bottom:0;left:0;right:0;transform:perspective(220px)rotateX(55deg);-webkit-mask-image:linear-gradient(#0000,#000 70%);mask-image:linear-gradient(#0000,#000 70%)}:root[data-t=synthwave] .app-header .trip,:root[data-t=synthwave] .total-bar b{text-shadow:var(--glow)}:root[data-t=terminal]{--top:#0b120d;--bot:#07100a;--text:#7dff9b;--muted:#3f9a57;--accent:#2fd168;--accent-text:#04140a;--amount:#b6ffc8;--field:#7dff9b12;--field-focus:#7dff9b21;--field-soft:#7dff9b0f;--line:#7dff9b4d;--line-soft:#7dff9b1f;--line-strong:#7dff9b33;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-t=terminal] body{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}:root[data-t=terminal] button,:root[data-t=terminal] input,:root[data-t=terminal] select{border-radius:2px;font-family:inherit}:root[data-t=terminal] .app-header .trip:after{content:"_";margin-left:2px;animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}:root[data-t=terminal] body:after{content:"";z-index:-1;pointer-events:none;background:repeating-linear-gradient(#7dff9b09 0 1px,#0000 1px 3px);position:fixed;inset:0}html,body{min-height:100%}body{font-family:var(--font-inter), Inter, -apple-system, sans-serif;color:var(--text);background:var(--bot);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}body:before{content:"";z-index:-1;background:linear-gradient(170deg, var(--top) 0%, var(--bot) 100%);position:fixed;inset:0}.screen{max-width:440px;min-height:100dvh;padding-bottom:env(safe-area-inset-bottom);flex-direction:column;margin:0 auto;display:flex}.hidden{display:none!important}.themes{flex-direction:column;align-items:center;gap:.55rem;padding:1rem 0 .2rem;display:flex}.themes .row{justify-content:center;gap:.6rem;display:flex}.themes button{cursor:pointer;opacity:1;border:2px solid #ffffffb3;border-radius:50%;flex:none;width:18px;height:18px;margin:0;padding:0;box-shadow:0 0 0 1px #0000000f}.themes button:hover{transform:none}.themes button.on{box-shadow:0 0 0 2px var(--accent)}.app-header{padding:calc(1.4rem + env(safe-area-inset-top)) 1.4rem .6rem}.app-header h1{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.7rem;font-weight:600}.app-header .trip{color:var(--text);cursor:pointer;text-align:left;opacity:1;background:0 0;border:none;width:auto;margin-top:.35rem;padding:0;font-size:1.35rem;font-weight:600;display:inline-block}.app-header .trip:hover{transform:none}.app-header p{color:var(--muted);margin-top:.45rem;font-size:.8rem}.trip-list .t{text-align:left;opacity:1;border:none;border-bottom:1px solid var(--line-strong);width:100%;color:var(--text);cursor:pointer;background:0 0;border-radius:0;margin:0;padding:.8rem .2rem;font-size:.9rem;font-weight:600;display:block}.trip-list .t:hover{transform:none}.trip-list .t:last-child{border-bottom:none}.trip-list .t.cur{color:var(--amount)}.trip-list .t small{color:var(--muted);margin-top:.1rem;font-size:.72rem;font-weight:400;display:block}.app-content{flex-direction:column;flex:1;padding:.6rem 1.2rem 1.5rem;display:flex}.view{flex-direction:column;flex:1;display:flex}.section{margin-bottom:1rem}.section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem;font-size:.65rem}.muted{color:var(--muted);font-size:.85rem}.msg{color:var(--muted);margin-bottom:.9rem;font-size:.82rem}.msg.err{color:var(--amount)}select,input{width:100%;color:var(--text);background:var(--field);appearance:none;border:none;border-radius:10px;margin-bottom:.8rem;padding:.7rem .85rem;font-family:inherit;font-size:16px}select{background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 18px),calc(100% - 13px);background-repeat:no-repeat;background-size:5px 5px}input[type=date]{min-height:2.9rem}select:focus,input:focus{background-color:var(--field-focus);outline:none}input:disabled,select:disabled{opacity:.6}button{cursor:pointer;background:var(--accent);width:100%;color:var(--accent-text);opacity:.92;border:none;border-radius:12px;margin-bottom:.7rem;padding:.85rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:transform .1s}button:hover{transform:scale(1.01)}button:disabled{opacity:.55;cursor:default;transform:none}button.o{color:var(--text);opacity:1;background:0 0;font-weight:500}button.last{margin-bottom:0}.form-group{margin-bottom:.9rem}.form-group label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem;font-size:.65rem;display:block}.form-group input,.form-group select{margin-bottom:0}.tbl{border-collapse:collapse;width:100%;font-size:.85rem}.tbl th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);padding:.45rem .3rem;font-size:.62rem;font-weight:500}.tbl td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:.55rem .3rem}.tbl tr:last-child td{border-bottom:none}.tbl .r{text-align:right}.tbl td.r{color:var(--amount);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.tbl td.ic{width:22px;padding-right:0}.tbl td.ic svg{fill:none;width:15px;height:15px;stroke:var(--muted);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;display:block}.tbl td.dt{color:var(--muted);white-space:nowrap}.tbl td.memo{overflow-wrap:anywhere}.tbl tbody tr{cursor:pointer}.empty{color:var(--muted);padding:1.2rem .3rem;font-size:.85rem}.filters{gap:.4rem;margin-bottom:.6rem;display:flex}.chip{min-width:28px;height:28px;color:var(--muted);background:var(--field-soft);cursor:pointer;opacity:1;border:none;border-radius:14px;justify-content:center;align-items:center;width:auto;margin:0;padding:0 .6rem;font-family:inherit;font-size:.72rem;font-weight:500;display:inline-flex}.chip:hover{transform:none}.chip svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.chip.on{background:var(--accent);color:var(--accent-text)}.total-bar{background:linear-gradient(to top, var(--bot) 70%, transparent);justify-content:space-between;align-items:baseline;margin-top:auto;padding:.75rem .3rem .6rem;display:flex;position:sticky;bottom:0}.total-bar span{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.62rem;font-weight:500}.total-bar b{color:var(--amount);font-variant-numeric:tabular-nums;font-size:1rem;font-weight:600}.detail{flex-direction:column;gap:.9rem;display:flex}.detail .amt{color:var(--amount);font-variant-numeric:tabular-nums;font-size:2rem;font-weight:600}.detail .amt small{color:var(--muted);margin-left:.35rem;font-size:.85rem;font-weight:500}.detail .kv{grid-template-columns:auto 1fr;gap:.35rem 1rem;font-size:.9rem;display:grid}.detail .kv span{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-self:center;font-size:.62rem}.detail .photo{background:#ffffff80;border-radius:12px;width:100%;max-width:240px;margin:.3rem auto 0;overflow:hidden;box-shadow:0 1px 6px #00000014}.detail .photo img{width:100%;height:auto;display:block}.detail .photo .ph{aspect-ratio:3/4;color:var(--muted);justify-content:center;align-items:center;font-size:.8rem;display:flex}.detail .acts{gap:.6rem;margin-top:.4rem;display:flex}.detail .acts button{margin:0}.del{color:var(--muted)!important}.add-row{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.add-row button{margin:0}button.o.soft{background:var(--field)}.amt-row{justify-content:space-between;align-items:baseline;display:flex}.amt-row .pos{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.72rem}.detail{touch-action:pan-y}.slide-next{animation:.22s ease-out slide-next}.slide-prev{animation:.22s ease-out slide-prev}@keyframes slide-next{0%{opacity:0;transform:translate(28px)}}@keyframes slide-prev{0%{opacity:0;transform:translate(-28px)}}@media (prefers-reduced-motion:reduce){.slide-next,.slide-prev{animation:none}}.pair{grid-template-columns:1fr 96px;gap:.6rem;display:grid}.pair.wide{grid-template-columns:1fr 1fr}.center{text-align:center}.tbl td.memo .tag{color:var(--amount);margin-top:.1rem;font-size:.68rem;display:block}.check{cursor:pointer;align-items:center;gap:.55rem;margin:.2rem 0 1rem;font-size:.88rem;display:flex}.check input{appearance:auto;-webkit-appearance:checkbox;width:18px;height:18px;accent-color:var(--amount);flex:none;margin:0;padding:0}.newcard{margin-top:.4rem}.newcard .acts{gap:.5rem;display:flex}.newcard .acts button{background:var(--field-soft);margin:0;padding:.5rem;font-size:.82rem}.card-row{border-bottom:1px solid var(--line-strong);justify-content:space-between;align-items:center;padding:.7rem .2rem;font-size:.9rem;font-weight:600;display:flex}.card-row:last-child{border-bottom:none}.card-row small{color:var(--muted);margin-top:.1rem;font-size:.72rem;font-weight:400;display:block}.card-row button.x{width:auto;margin:0;padding:.3rem .5rem;font-size:.78rem}.hint{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:.4rem;font-size:.75rem}.tbl td.r .orig{color:var(--muted);font-size:.68rem;font-weight:400;display:block}.detail .kv .rate{color:var(--muted);text-transform:none;letter-spacing:0;font-size:.75rem}.reading{text-align:center;flex-direction:column;align-items:center;padding-top:.6rem;display:flex}.reading .scan{aspect-ratio:3/4;background:#ffffff73;border-radius:12px;width:100%;max-width:240px;margin-bottom:1.1rem;position:relative;overflow:hidden;box-shadow:0 1px 6px #00000014}.reading .scan img{object-fit:cover;opacity:.85;width:100%;height:100%;display:block}.reading .scanline{background:linear-gradient(to bottom, transparent, color-mix(in srgb, var(--accent) 45%, transparent) 85%, var(--accent));height:30%;animation:1.8s ease-in-out infinite alternate scan;position:absolute;top:0;left:0;right:0}.reading .scanline:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:0;left:0;right:0}@keyframes scan{0%{transform:translateY(-100%)}to{transform:translateY(333%)}}.reading-label{color:var(--text);font-size:.95rem;font-weight:600}.reading-sub{color:var(--muted);margin:.25rem 0 1.2rem;font-size:.78rem}.dots:after{content:"";text-align:left;width:1.2em;animation:1.2s steps(4,end) infinite dots;display:inline-block}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}@media (prefers-reduced-motion:reduce){.reading .scanline{animation:none;top:35%;transform:none}.dots:after{content:"...";animation:none}}.signin{text-align:center;padding:2.5rem 0 1rem}.signin p{color:var(--muted);margin-bottom:1.5rem}@media (prefers-reduced-motion:reduce){:root[data-t=terminal] .app-header .trip:after{animation:none}}
