:root{font-family:-apple-system,BlinkMacSystemFont,Noto Sans TC,PingFang TC,sans-serif;color:#f1e9dd;background:#0e151b;font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:radial-gradient(ellipse at 80% -10%,#2c3640,transparent 55%),#0e151b}button{font:inherit;cursor:pointer}.app-root{max-width:480px;margin:auto;min-height:100svh;display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top) + 20px) 18px 0}.topbar{display:flex;align-items:center;gap:11px}.logo-mark{width:43px;height:43px;border:1px solid #c1a27c;border-radius:12px;display:grid;place-items:center;font:600 16px Georgia,serif;color:#e2c7a3;background:linear-gradient(135deg,#1e2a35,#3b3730)}.brand-text{display:flex;flex-direction:column;gap:3px}.brand-text span,.section-heading span{font-size:10px;letter-spacing:.19em;color:#bda382}.brand-text strong{font-size:15px;font-weight:570}.phase-pill{margin-left:auto;padding:6px 9px;border:1px solid #514c42;border-radius:99px;color:#c4b395;font-size:10px;white-space:nowrap}.main-content{flex:1;padding:41px 0 20px}.section-heading h1{font-size:28px;font-weight:600;letter-spacing:.02em;margin:8px 0 24px}.hero{border:1px solid #665942;border-radius:19px;background:linear-gradient(118deg,#202b35,#3c3c37 65%,#202b32);padding:26px 22px;min-height:183px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 16px 30px #05080b36}.muted{color:#bac4c9;font-size:13px}.empty-amount{font-size:37px;font-weight:600;letter-spacing:-.035em}.hero-foot{font-size:11px;color:#d4bea0}.content-card,.setting-link{margin-top:17px;padding:20px;border-radius:15px;background:#1c252d;border:1px solid #37434a}.content-card h2{font-size:15px;font-weight:550;margin:0 0 10px}.content-card p{font-size:13px;line-height:1.9;color:#aebbc4;margin:0}.status-warning{color:#e4c4a0;font-size:12px;margin-top:14px}.setting-link{display:flex;justify-content:space-between;align-items:center;width:100%;color:#f0e9dd;min-height:52px;text-align:left}.setting-link:focus-visible,.bottom-nav button:focus-visible{outline:2px solid #d2b38b;outline-offset:2px}.meta{display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px 8px;font-size:12px;margin:10px 0 15px}.meta dt{color:#a7b5be}.meta dd{margin:0;color:#eadbc3;overflow-wrap:anywhere}.placeholder{text-align:center;min-height:190px;display:flex;flex-direction:column;justify-content:center}.placeholder-glyph{font-size:30px;color:#c1a178;margin-bottom:15px}.footer-version{text-align:center;color:#7f8e98;font-size:10px;margin:20px 0 12px}.bottom-nav{position:sticky;bottom:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:9px 1px calc(9px + env(safe-area-inset-bottom));background:#111b23f5;border-top:1px solid #354049;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);margin:0 -18px}.bottom-nav button{border:0;color:#a0b0ba;min-width:0;min-height:52px;background:transparent;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:11px}.bottom-nav button.active{color:#e1c49e}.nav-icon{font-size:23px;line-height:1}.keypad-frame{padding:14px;border:1px solid #60543f;border-radius:18px;background:#121c24;box-shadow:0 12px 30px #07090b3b}.keypad-head{display:flex;justify-content:space-between;gap:8px;color:#bda482;font-size:10px;letter-spacing:.11em;margin-bottom:11px}.keypad-head span:last-child{color:#9eacb5;letter-spacing:0}.money-display{border-radius:15px;background:#202b34;border:1px solid #34414b;padding:18px 15px 12px;display:flex;flex-direction:column;min-height:147px}.currency-label{font-size:12px;color:#afbdc7}.big-money{display:block;text-align:right;font-size:clamp(36px,10.5vw,64px);font-weight:650;line-height:1.3;color:#f6eee2;letter-spacing:-.047em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;word-break:break-word;padding:7px 0}.money-help{text-align:right;font-size:11px;color:#cbb18a}.amount-error{margin-top:10px;color:#ffc0ae;background:#3b2727;border-radius:9px;padding:9px 11px;font-size:12px}.keypad-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:12px}.keypad-button{border:1px solid #44515c;border-radius:10px;background:#26323d;color:#f0e9df;height:50px;min-width:0;font-size:19px;font-weight:570;touch-action:manipulation;user-select:none;-webkit-user-select:none;transition:background .12s ease,transform .12s ease}.keypad-button:active{background:#4e5a62;transform:scale(.96)}.keypad-button:focus-visible,.keypad-reopen:focus-visible{outline:2px solid #e1c49c;outline-offset:2px}.keypad-button.is-operator{background:#3c3c37;color:#eed0a2;border-color:#5f594b}.keypad-button.is-clear{color:#f1bca9}.keypad-button.is-ok{background:#d5b88f;color:#19232b;border-color:#d5b88f;font-size:16px;font-weight:750}.keypad-reopen{width:100%;border:1px solid #736044;border-radius:10px;background:#29343c;color:#efdec4;min-height:50px;margin-top:12px}.keypad-disclaimer{font-size:11px;color:#a1b0bb;line-height:1.6;margin-top:12px}@media(max-width:375px){.keypad-button{height:48px}.keypad-frame{padding:10px}.big-money{font-size:clamp(34px,10vw,50px)}}.local-notice{font-size:11px;line-height:1.6;color:#d1b88f;padding:10px 13px;border:1px solid #615540;background:#2a2a28;border-radius:11px;margin-top:17px}.main-content{padding-top:28px}.text-toggle{color:#ead1a9;background:none;border:0;padding:0;font-size:12px;text-align:left}.month-switch{display:flex;align-items:center;justify-content:center;gap:22px;margin:19px 0;color:#eadbc6}.month-switch button{color:#e9cfa7;background:#23303b;border:1px solid #4d5a64;border-radius:10px;min-width:42px;height:38px}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.summary-grid>div{background:#202a34;border:1px solid #3b4651;border-radius:13px;padding:15px 13px;min-width:0}.summary-grid small,.wallet-card small{color:#bdc5cb;display:block;font-size:11px}.summary-grid strong{display:block;margin-top:9px;font-size:17px;overflow-wrap:anywhere;color:#f2e6d4}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.card-heading h2{margin:0}.card-heading button,.delete-tx{border:0;background:none;color:#dcbf93;font-size:12px}.empty{padding:18px 0;font-size:12px;line-height:1.8;color:#9aaab6}.transaction{display:flex;align-items:center;gap:10px;padding:13px 0;border-top:1px solid #33404a}.transaction-symbol{background:#283640;color:#d3b690;width:35px;height:35px;display:grid;place-items:center;border-radius:10px;flex-shrink:0}.transaction-data{flex:1;min-width:0}.transaction-data strong,.transaction-data small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-data strong{font-size:12px;font-weight:590}.transaction-data small{font-size:10px;color:#98a9b3;margin-top:5px}.transaction-end{text-align:right;display:flex;flex-direction:column;gap:6px;align-items:flex-end}.transaction-end strong{font-size:12px;white-space:nowrap}.transaction-end .incoming{color:#a8d9c1}.delete-tx{padding:2px;font-size:11px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekday{text-align:center;font-size:11px;color:#a6b4bd;padding:10px 0}.calendar-day{min-width:0;min-height:58px;color:#ede7dd;background:#202c36;border:1px solid #35444c;border-radius:10px;display:flex;align-items:center;justify-content:flex-start;flex-direction:column;gap:7px;padding:8px 1px;font-size:12px}.calendar-day small{font-size:9px;color:#e0bc8f;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.calendar-day.selected{border-color:#dfbd85;background:#3c3933}.wallet-stack{display:grid;gap:15px;margin-top:19px}.wallet-card{min-height:133px;display:flex;flex-direction:column;justify-content:space-between;padding:21px 22px;border-radius:20px;border:1px solid #877357;background:linear-gradient(118deg,#1d2934,#39414a 63%,#202e34);box-shadow:0 14px 26px #070b1030}.wallet-card.wallet-1{background:linear-gradient(120deg,#3b393b,#676052 68%,#242e36)}.wallet-card.wallet-2{background:linear-gradient(120deg,#20282d,#3b4941 65%,#262c31)}.wallet-card strong{font-size:23px;letter-spacing:-.03em}.wallet-card span,.wallet-card em{font-size:11px;color:#c5c7c3}.wallet-card em{font-style:normal;margin-top:5px;color:#e5c395}.entry-frame{padding:14px;border:1px solid #60543f;border-radius:18px;background:#121c24}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:5px;background:#25323d;border-radius:12px;padding:5px}.segmented button{color:#a7b4bb;background:transparent;border:0;border-radius:9px;min-height:39px}.segmented .picked{background:#dac09a;color:#18242c;font-weight:700}.amount-area{padding:20px 10px 11px}.amount-area small{font-size:11px;color:#acb9c4}.amount-area .big-money{font-size:clamp(40px,12vw,66px);min-height:73px;line-height:1.15;text-align:right}.amount-area p{color:#aab8c1;text-align:right;font-size:10px;margin:8px 0}.entry-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:19px}.entry-fields label,.entry-fields>div{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#bfcad2;min-width:0}.entry-fields input:not([type=checkbox]),.entry-fields select,.field-button{font:inherit;font-size:14px;padding:11px 9px;border:1px solid #4a5864;background:#26333e;border-radius:9px;color:#f6ead8;width:100%;min-height:43px;min-width:0;color-scheme:dark}.entry-fields label:nth-child(3),.entry-fields label:nth-child(4),.entry-fields .check-field,.entry-fields label:nth-child(5){grid-column:span 2}.entry-fields .field-caption{font-size:11px}.entry-fields .check-field{display:flex;flex-direction:row;align-items:center;font-size:12px;gap:9px}.check-field input{accent-color:#d9b783;width:16px;height:16px}.save-entry{width:100%;margin-top:15px;background:#dabf94;color:#1d2830;border:0;border-radius:11px;font-size:14px;min-height:48px;font-weight:700}.save-entry:disabled{opacity:.6}.entry-hint{color:#9daeb9;line-height:1.7;font-size:11px;margin:12px 0 0}.picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#040708c9;z-index:20;display:flex;align-items:flex-end;justify-content:center}.picker-sheet{max-width:480px;width:100%;max-height:80svh;overflow-y:auto;background:#18232d;border:1px solid #66563f;border-radius:22px 22px 0 0;padding:20px 18px calc(25px + env(safe-area-inset-bottom))}.picker-top{display:flex;align-items:center;justify-content:space-between}.picker-top h2{font-size:17px;margin:0 0 16px}.picker-top button{background:transparent;color:#f2e5d3;font-size:28px;border:0}.category-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.category-options button{min-height:64px;display:flex;gap:4px;flex-direction:column;justify-content:center;align-items:center;background:#26333e;border:1px solid #43515c;color:#f3e7d5;border-radius:12px;font-size:12px}.category-options span{font-size:22px;color:#ddbe90}.picker-back{background:transparent;border:0;color:#e2c299;margin-bottom:14px}@media(max-width:375px){.summary-grid strong{font-size:15px}.entry-fields{gap:8px}.calendar-day{min-height:53px}}@media(max-width:440px){.entry-fields{grid-template-columns:minmax(0,1fr);gap:13px}.entry-fields>*{grid-column:1 / -1}.entry-fields input:not([type=checkbox]),.entry-fields select,.entry-fields .field-button{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box}}.entry-frame{min-width:0}.amount-trigger{width:100%;display:flex;align-items:center;justify-content:flex-end;gap:9px;min-height:78px;background:transparent;border:1px solid transparent;border-radius:11px;color:inherit;padding:3px 6px;cursor:pointer}.amount-trigger .big-money{padding:0;min-height:0;line-height:1.12;text-align:right}.amount-trigger.is-editing{border-color:#9d896c;background:#222b33}.amount-edit-mark{color:#bc9e75;font-size:22px;flex-shrink:0}.entry-calculator{padding-top:8px}.entry-calculator .keypad-grid{gap:8px;grid-template-columns:repeat(4,minmax(0,1fr));justify-items:center}.entry-calculator .keypad-button{width:min(100%,74px);height:auto;aspect-ratio:1 / 1;border-radius:50%;font-size:clamp(18px,6vw,28px);font-weight:550;background:linear-gradient(135deg,#363a3d,#2b3137);border:1px solid #626669;box-shadow:inset 0 1px 1px #ffffff1c;line-height:1}.entry-calculator .keypad-button.is-operator,.entry-calculator .keypad-button.is-equals{background:linear-gradient(135deg,#cfae7a,#b58d54);border-color:#d6b889;color:#1b252d;font-weight:700}.entry-calculator .keypad-button.is-clear{color:#f1d7c5}.entry-calculator .keypad-button.is-backspace{font-size:26px}.entry-fields{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:12px;margin-top:19px;width:100%;min-width:0}.entry-fields>:nth-child(1),.entry-fields>:nth-child(2){grid-column:auto}.entry-fields>:nth-child(n+3){grid-column:1 / -1}.entry-fields .date-field,.entry-fields .wallet-field{min-width:0;max-width:100%}.entry-fields .date-picker-shell{position:relative;display:flex;align-items:center;width:100%;height:45px;max-width:100%;min-width:0;padding:0 10px;background:#26333e;border:1px solid #4a5864;border-radius:9px;overflow:hidden;white-space:nowrap;color:#f6ead8;font-size:clamp(12px,3.5vw,14px)}.entry-fields .date-picker-shell input[type=date]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-width:0;max-width:100%;padding:0;opacity:0;cursor:pointer;z-index:1}.entry-fields .wallet-field select{width:100%;max-width:100%;min-width:0;height:45px;padding:9px 6px;font-size:14px}.entry-fields .field-button{display:flex;align-items:center;justify-content:center;text-align:center}@media(max-width:440px){.entry-fields{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:10px}.entry-fields>:nth-child(1),.entry-fields>:nth-child(2){grid-column:auto}.entry-fields>:nth-child(n+3){grid-column:1 / -1}}.entry-calculator .keypad-button.is-ok{background:linear-gradient(135deg,#e0c79f,#bb945e);border-color:#e3c69b;color:#14222c;font-size:clamp(15px,4.8vw,20px);font-weight:750}.entry-fields{grid-template-columns:minmax(0,clamp(112px,36%,132px)) minmax(0,1fr);column-gap:10px}.entry-fields .date-field,.entry-fields .wallet-field{min-width:0;max-width:100%;overflow:hidden}.entry-fields .date-picker-shell{padding-inline:8px;font-size:12px;letter-spacing:-.015em}.entry-fields .wallet-field select{min-width:0;max-width:100%;width:100%;text-overflow:ellipsis;white-space:nowrap}@media(max-width:440px){.entry-fields{grid-template-columns:minmax(0,clamp(112px,36%,132px)) minmax(0,1fr);column-gap:10px}.entry-fields>:nth-child(1),.entry-fields>:nth-child(2){grid-column:auto}.entry-fields>:nth-child(n+3){grid-column:1 / -1}}.tx-actions{display:flex;align-items:center;gap:8px}.tx-actions .edit-tx{padding:2px;font-size:11px;border:0;background:transparent;color:#e9cda3}.transaction-data small{white-space:normal;overflow-wrap:anywhere;max-height:2.9em}.split-panel{border-top:1px solid #34434c;margin-top:19px;padding-top:18px}.split-panel-head,.split-footer{display:flex;justify-content:space-between;align-items:center;gap:11px}.split-panel-head strong{font-size:14px}.split-panel-head small{display:block;font-size:11px;color:#9eacb7;margin-top:5px}.split-switch{font-size:12px;color:#e4c396;border:1px solid #776546;background:#30332f;border-radius:11px;padding:10px 12px;white-space:nowrap}.split-lines{display:flex;flex-direction:column;gap:10px;margin-top:13px}.split-line{border:1px solid #44525c;background:#202d37;border-radius:12px;padding:13px;min-width:0}.split-line-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:12px}.split-line-head button{border:0;background:transparent;color:#e6bb98;font-size:12px}.split-line-head button:disabled{color:#65717b}.split-line-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,96px);gap:8px}.split-category,.split-line-fields input{min-width:0;max-width:100%;height:43px;background:#283842;border:1px solid #53626c;border-radius:9px;color:#f0e7dc}.split-category{padding:5px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.split-line-fields input{padding:8px;font-size:14px;text-align:right;color-scheme:dark}.split-line .check-field{display:flex;align-items:center;gap:8px;margin-top:11px;font-size:12px;color:#bdcad4}.split-line .check-field input{accent-color:#d8bc93}.split-footer{align-items:flex-start;flex-direction:column;margin:13px 0 4px}.split-footer>button{background:#283842;color:#dfc6a2;border:1px solid #64715c;border-radius:10px;padding:8px 12px;font-size:12px}.split-total{color:#e8b29f;font-size:12px;line-height:1.6}.split-total.valid{color:#acd7bd}.cancel-edit{width:100%;margin-top:14px;border:1px solid #5c6970;background:transparent;color:#cdd5d8;border-radius:10px;min-height:40px}.transaction-swipe-shell{position:relative;overflow:hidden;border-bottom:1px solid #33404a}.transaction-swipe-reveal{position:absolute;inset:0 0 0 auto;width:95px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#592c2c;color:#f6d1c3;font-size:13px;gap:4px}.transaction-swipe-reveal span+span{font-size:10px;color:#e9b8ac}.transaction-tap{position:relative;z-index:1;width:100%;border:0;border-top:0;text-align:left;background:#1c252d;color:inherit;min-height:68px;display:flex;align-items:center;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;transition:transform 75ms ease-out}.transaction-tap:focus-visible{outline:2px solid #dfbf90;outline-offset:-3px}.transaction-tap:active{background:#27333d}.transaction-tap .transaction-symbol{display:grid}.transaction-tap .transaction-data{display:flex;flex-direction:column;min-width:0}.transaction-tap .transaction-end{flex-shrink:0}.transaction-chevron{color:#ad987b;font-size:20px;line-height:1}.undo-stack{position:fixed;z-index:40;bottom:calc(94px + env(safe-area-inset-bottom));left:max(12px,calc(50% - 230px));right:max(12px,calc(50% - 230px));display:flex;flex-direction:column;gap:8px;pointer-events:none}.undo-banner{pointer-events:auto;background:#2a343c;border:1px solid #b19a7b;border-radius:12px;padding:12px 14px;box-shadow:0 9px 27px #0009;display:flex;align-items:center;justify-content:space-between;gap:12px}.undo-message{display:flex;flex-direction:column;gap:3px;min-width:0}.undo-message strong{font-size:13px}.undo-message small{font-size:11px;color:#d6c6b1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.undo-banner button{background:#d7bc96;border:0;color:#17242c;border-radius:9px;min-height:38px;padding:0 14px;font-weight:700;flex-shrink:0}.undo-banner button:disabled{background:#64717a;color:#e4e5e3}@media(prefers-reduced-motion:reduce){.transaction-tap{transition:none}}
