@font-face{font-family:Zpix;src:url(/fonts/zpix.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--bg:#0f0e17;--bg-deep:#080711;--panel:#1a1832;--panel-light:#2a2850;--panel-hi:#3a3870;--accent:#ff2e63;--accent-glow:#ff2e6380;--cyan:#08f7fe;--cyan-glow:#08f7fe66;--purple:#9d4edd;--purple-glow:#9d4edd66;--yellow:#ffe66d;--yellow-glow:#ffe66d4d;--green:#53d769;--green-glow:#53d76966;--text:#fffffe;--text-dim:#a7a9be;--text-dark:#5f6280;--border:#9d4edd;--border-light:#c77dff;--border-hi:#e0aaff;--bevel-hi:#4a477a;--bevel-lo:#0a0918;--pixel-font:"Zpix", monospace;--ui-font:"Zpix", monospace;--fs-xs:clamp(10px, .8vw, 12px);--fs-sm:clamp(11px, .95vw, 14px);--fs-md:clamp(13px, 1.1vw, 17px);--fs-lg:clamp(16px, 1.5vw, 21px);--fs-xl:clamp(20px, 2vw, 26px);--fs-2xl:clamp(28px, 3vw, 44px)}*{box-sizing:border-box;margin:0;padding:0}html{overflow-x:hidden}body{background:var(--bg);color:var(--text);font-family:var(--ui-font);font-size:var(--fs-md);-webkit-font-smoothing:none;-moz-osx-font-smoothing:unset;min-height:100vh;line-height:1.5;overflow-x:clip}#crt-overlay{z-index:999;pointer-events:none;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00000014 2px 4px);width:100vw;height:100vh;position:fixed;top:0;left:0}#crt-glow{z-index:998;pointer-events:none;width:100vw;height:100vh;position:fixed;top:0;left:0;box-shadow:inset 0 0 120px #9d4edd0f,inset 0 0 40px #08f7fe08}#scene-canvas{width:100vw;height:100vh;image-rendering:pixelated;image-rendering:crisp-edges;z-index:0;pointer-events:none;position:fixed;top:0;left:0}#scene-glow{z-index:1;pointer-events:none;opacity:0;width:100vw;height:100vh;transition:opacity .5s ease-out;position:fixed;top:0;left:0}#app{z-index:2;flex-direction:column;align-items:center;width:100%;max-width:100vw;min-height:100vh;padding:0;display:flex;position:relative;overflow-x:clip}.top-bar{z-index:10;-webkit-backdrop-filter:blur(6px);background:#0f0e17c7;border-bottom:1px solid #9d4edd40;justify-content:center;align-items:center;width:100%;height:52px;padding:0 18px;display:flex;position:sticky;top:0}.kbook-container{flex-direction:column;flex:1;align-items:center;gap:clamp(10px,1vw,22px);width:min(1350px,95vw);min-width:0;max-width:min(1350px,100%);min-height:0;padding:clamp(20px,2.5vw,48px) clamp(24px,3vw,56px) 0;transition:filter .3s ease-out;display:flex}.kbook-container>#input-area,.kbook-container>#categories-area{margin-top:0}.kbook-container>#categories-area{margin-top:-6px}.kbook-container.pulse-bright{filter:brightness(1.1)}.title{font-family:var(--pixel-font);font-size:var(--fs-2xl);color:var(--cyan);text-shadow:2px 2px 0px var(--purple), 0 0 8px var(--cyan-glow), 0 0 20px #08f7fe2e;letter-spacing:6px;animation:2.4s ease-in-out infinite titleNeon}@keyframes titleNeon{0%,to{text-shadow:2px 2px 0px var(--purple), 0 0 8px var(--cyan-glow), 0 0 20px #08f7fe2e}50%{text-shadow:2px 2px 0px var(--purple), 0 0 14px var(--cyan-glow), 0 0 30px var(--cyan-glow), 0 0 50px #9d4edd2e}}.subtitle{font-family:var(--pixel-font);font-size:var(--fs-sm);color:var(--yellow);letter-spacing:7px;text-shadow:0 0 6px var(--yellow-glow);opacity:.85;margin-top:-8px;animation:3s steps(2,end) infinite subtitleBlink}@keyframes subtitleBlink{0%,90%,to{opacity:1}95%{opacity:.6}}.input-wrapper{background:radial-gradient(#9d4edd1a 0%,#0000 70%);flex-direction:column;gap:16px;width:100%;padding:18px 24px 12px;display:flex;position:relative}.input-preview{opacity:0;pointer-events:none;height:0;overflow:hidden}.input-row{background:var(--bg-deep);border:2px solid var(--border);box-shadow:inset 2px 2px 0px 0px var(--bevel-hi), inset -2px -2px 0px 0px var(--bevel-lo), 4px 4px 0px 0px var(--bg-deep), 0 0 8px var(--purple-glow);align-items:center;gap:8px;padding:8px;transition:border-color .2s ease-out,box-shadow .2s ease-out;display:flex}.input-row:focus-within{border-color:var(--cyan);box-shadow:inset 2px 2px 0px 0px var(--bevel-hi), inset -2px -2px 0px 0px var(--bevel-lo), 4px 4px 0px 0px var(--bg-deep), 0 0 14px var(--cyan-glow), 0 0 30px #08f7fe1f}.input-row.pulse{animation:.3s ease-out inputPulse}@keyframes inputPulse{0%{border-color:var(--border);box-shadow:inset 3px 3px 0px 0px var(--bevel-hi), inset -3px -3px 0px 0px var(--bevel-lo), 6px 6px 0px 0px var(--bg-deep), 0 0 12px var(--purple-glow)}40%{border-color:var(--border-light);box-shadow:inset 3px 3px 0px 0px var(--bevel-hi), inset -3px -3px 0px 0px var(--bevel-lo), 6px 6px 0px 0px var(--bg-deep), 0 0 16px var(--cyan-glow)}to{border-color:var(--border);box-shadow:inset 3px 3px 0px 0px var(--bevel-hi), inset -3px -3px 0px 0px var(--bevel-lo), 6px 6px 0px 0px var(--bg-deep), 0 0 12px var(--purple-glow)}}.input-icon{text-align:center;justify-content:center;align-items:center;min-width:52px;padding:10px 8px;transition:all .15s ease-out;display:flex}.input-icon svg{width:34px;height:34px;image-rendering:pixelated;image-rendering:crisp-edges}.input-icon.flash{animation:.3s ease-out iconFlash}@keyframes iconFlash{0%{transform:scale(1)}33%{filter:brightness(1.8)drop-shadow(0 0 6px);transform:scale(1.8)}66%{filter:brightness(.5);transform:scale(1.4)}to{filter:brightness();transform:scale(1)}}.pixel-fragment{pointer-events:none;z-index:100;image-rendering:pixelated;position:fixed}.amount-fly{pointer-events:none;z-index:101;font-family:var(--pixel-font);font-size:var(--fs-xl);image-rendering:pixelated;font-weight:700;position:fixed}.pixel-input{min-width:0;color:var(--text);font-family:var(--pixel-font);font-size:var(--fs-lg);caret-color:var(--cyan);letter-spacing:1px;box-sizing:border-box;background:0 0;border:none;outline:none;flex:1;height:56px;padding:16px 14px;line-height:1}.pixel-input::placeholder{color:var(--text-dark);font-size:var(--fs-md)}.pixel-input.shake{animation:.4s ease-out inputShake}@keyframes inputShake{0%,to{transform:translate(0)}25%{transform:translate(-12px)}75%{transform:translate(12px)}}.input-amount{font-family:var(--pixel-font);font-size:var(--fs-lg);text-align:right;opacity:0;box-sizing:border-box;flex-shrink:0;justify-content:flex-end;align-items:center;min-width:110px;height:56px;padding:16px 14px;font-weight:700;line-height:1;transition:opacity .2s ease-out;display:flex}.input-amount.has-amount{opacity:1;text-shadow:0 0 6px}.input-hint{display:none}.input-enter{font-family:var(--pixel-font);font-size:var(--fs-sm);letter-spacing:1px;color:var(--text-dark);-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:8px;margin-right:2px;padding:8px 12px;display:flex}.input-enter .enter-label{text-shadow:0 0 4px #08f7fe33}.input-row:focus-within .input-enter{color:var(--cyan);text-shadow:0 0 4px var(--cyan-glow)}.input-enter .enter-key{transition:filter .2s ease-out}.input-row:focus-within .input-enter .enter-key{filter:drop-shadow(0 0 4px var(--cyan-glow))}.undo-bar{opacity:0;pointer-events:none;justify-content:center;align-items:center;height:60px;transition:opacity .2s ease-out;display:flex;overflow:hidden}.undo-bar.visible{opacity:1;pointer-events:auto}.undo-btn{font-family:var(--pixel-font);font-size:var(--fs-md);color:var(--accent);border:1px solid var(--accent);cursor:pointer;image-rendering:pixelated;background:#e945601a;padding:8px 28px}.undo-btn:hover{background:#e9456040}.undo-btn:active{transform:translateY(1px)}.categories-wrapper{opacity:.75;flex-wrap:wrap;flex-shrink:0;justify-content:center;gap:5px;min-height:66px;padding:0;transition:opacity .25s ease-out;display:flex}.categories-wrapper:hover{opacity:1}.category-btn{cursor:pointer;font-family:var(--pixel-font);background:0 0;border:1px solid #0000;flex-direction:column;align-items:center;gap:3px;padding:8px 10px;transition:all .12s ease-out;display:flex}.category-btn:hover .cat-icon{animation:.18s ease-out catBounce}@keyframes catBounce{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.category-btn:hover{border-color:var(--cat-color,var(--border-light));background:color-mix(in srgb, var(--cat-color,var(--cyan)) 12%, transparent)}.category-btn:active{background:color-mix(in srgb, var(--cat-color,var(--cyan)) 22%, transparent)}.category-btn.active{border-color:var(--cat-color,var(--cyan));background:color-mix(in srgb, var(--cat-color,var(--cyan)) 18%, var(--panel))}.cat-icon{justify-content:center;align-items:center;line-height:1;display:flex}.cat-icon svg{width:30px;height:30px;image-rendering:pixelated;image-rendering:crisp-edges}.cat-name{font-size:var(--fs-md);color:var(--text-dim);letter-spacing:.3px}.category-btn.active .cat-name{color:var(--text)}.records-wrapper{flex-direction:column;flex:1;width:100%;min-height:300px;margin-top:8px;display:flex}.records-header{font-family:var(--pixel-font);font-size:var(--fs-sm);color:var(--text-dark);text-align:center;letter-spacing:2px;opacity:.7;flex-shrink:0;padding:12px 0}.records-empty{font-family:var(--pixel-font);font-size:var(--fs-md);color:var(--text-dark);text-align:center;opacity:.6;justify-content:center;align-items:center;gap:14px;padding:32px 0;display:flex}.empty-icon{font-size:var(--fs-xl);animation:2s ease-in-out infinite emptyFloat}@keyframes emptyFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.record-item{background:#1a183299;border:1px solid #9d4edd66;flex-shrink:0;align-items:center;gap:14px;min-height:64px;margin-bottom:4px;padding:14px 18px;transition:border-color .2s ease-out,box-shadow .2s ease-out,background .2s ease-out;animation:.3s ease-out both recordSlideIn;display:flex;position:relative;overflow:hidden;box-shadow:inset -1px -1px #0a091899,inset 1px 1px #4a477a66}@keyframes recordSlideIn{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.record-item:hover{background:#3a387080;border-color:#c77dffb3;box-shadow:inset -1px -1px #0a091899,inset 1px 1px #4a477a66,0 0 6px #9d4edd4d}.record-item:hover .record-delete{opacity:1}.record-item.deleting{animation:.3s ease-out forwards recordDelete}.record-item.record-inserting{animation:.35s ease-out both recordInsert}@keyframes recordInsert{0%{opacity:0;transform:translate(-36px)scale(.92)}60%{opacity:1;transform:translate(3px)scale(1.02)}to{opacity:1;transform:translate(0)scale(1)}}.record-item.needs-amount{background:#f39c120d;border-color:#f39c12}.pending-tag{font-family:var(--pixel-font);font-size:var(--fs-sm);color:#f39c12;vertical-align:middle;background:#f39c1226;border:1px solid #f39c12;padding:2px 8px}@keyframes recordDelete{to{opacity:0;border-width:0;max-height:0;margin:0;padding:0;transform:translate(45px)scale(.8)}}.record-icon{text-align:center;justify-content:center;align-items:center;min-width:36px;display:flex}.record-icon svg{width:30px;height:30px;image-rendering:pixelated;image-rendering:crisp-edges}.record-note{font-family:var(--pixel-font);font-size:var(--fs-lg);color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.record-time{font-family:var(--pixel-font);font-size:var(--fs-sm);color:var(--text-dark);opacity:.7}.record-amount{font-family:var(--pixel-font);font-size:var(--fs-xl);text-align:right;min-width:90px}.record-delete{color:var(--text-dark);cursor:pointer;font-family:var(--pixel-font);font-size:var(--fs-md);opacity:0;background:0 0;border:none;padding:4px 10px;transition:opacity .2s ease-out,color .15s ease-out}.record-delete:hover{color:var(--accent)}.record-item.undo-active{border-color:var(--accent);box-shadow:inset -2px -2px 0px 0px var(--bevel-lo), inset 2px 2px 0px 0px var(--bevel-hi), 4px 4px 0px 0px var(--bg-deep), 0 0 10px #ff2e6359;background:linear-gradient(#ff2e631f 0%,#ff2e630a 100%)}.record-item.undo-active .record-delete{color:var(--accent);opacity:1;font-size:var(--fs-xl);animation:1s ease-in-out infinite undoButtonPulse}@keyframes undoButtonPulse{0%,to{text-shadow:0 0 4px var(--accent-glow);transform:scale(1)}50%{text-shadow:0 0 10px var(--accent-glow);transform:scale(1.12)}}.record-undo-bar{pointer-events:none;opacity:0;background:#ff2e631f;width:100%;height:4px;transition:opacity .15s ease-out;position:absolute;bottom:0;left:0}.record-item.undo-active .record-undo-bar{opacity:1}.record-undo-progress{background:linear-gradient(90deg, var(--accent) 0%, #ff7a5c 100%);width:100%;height:100%;box-shadow:0 0 6px var(--accent-glow);transform-origin:0;animation:5s linear forwards undoCountdown;display:block}@keyframes undoCountdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.summary-strip{width:100%;max-width:880px;box-shadow:none;background:0 0;border:none;align-items:stretch;gap:0;height:100%;padding:0;display:flex}.summary-tab{min-width:0;box-shadow:none;font-family:var(--pixel-font);font-size:var(--fs-md);color:var(--text-dim);white-space:nowrap;cursor:default;background:0 0;border:none;flex:1 1 0;justify-content:center;align-items:center;gap:8px;height:100%;padding:0 10px;transition:color .15s ease-out;display:flex;position:relative;overflow:hidden}.summary-tab:after{content:"";background:var(--cyan);width:0;height:2px;box-shadow:0 0 4px var(--cyan-glow);opacity:0;transition:width .2s ease-out,opacity .2s ease-out;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.summary-tab:hover{color:var(--text)}.summary-tab:hover:after{opacity:1;width:36%}.summary-tab-streak{position:relative}.summary-tab-streak.flame-lit{color:#ff8c42}.summary-tab-streak.streak-tier-ember{color:#c44545}.summary-tab-streak.streak-tier-warm{color:#ff8c42}.summary-tab-streak.streak-tier-hot{color:#ffb627;animation:2.2s ease-in-out infinite streakPulse}.summary-tab-streak.streak-tier-legendary{color:#c77dff;animation:1.6s ease-in-out infinite streakPulseLegendary}@keyframes streakPulse{0%,to{color:#ffb627;text-shadow:0 0 4px #ffb62766}50%{color:#fe9;text-shadow:0 0 10px #ffb627d9}}@keyframes streakPulseLegendary{0%,to{color:#c77dff;text-shadow:0 0 6px #c77dff80}50%{color:#ffb627;text-shadow:0 0 12px #ff8c42b3,0 0 20px #c77dff80}}.summary-tab-streak.flame-burst{animation:.6s ease-out flameBurst}@keyframes flameBurst{0%{transform:scale(1)}40%{box-shadow:inset 2px 2px 0px 0px var(--bevel-hi), inset -2px -2px 0px 0px var(--bevel-lo), 3px 3px 0px 0px var(--bg-deep), 0 0 28px #ffb627f2;transform:scale(1.08)}to{transform:scale(1)}}.summary-icon-sm{opacity:.65;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.summary-svg{image-rendering:pixelated;image-rendering:crisp-edges;width:100%;height:100%;display:block}.summary-tab[data-type=today] .summary-label-sm{color:#08f7fe99}.summary-tab[data-type=month] .summary-label-sm{color:#c77dff99}.summary-tab-streak .summary-label-sm{color:#ff8c42b3}.summary-tab[data-type=today]:hover:after,.summary-tab[data-type=today].active:after{background:var(--cyan);box-shadow:0 0 4px var(--cyan-glow)}.summary-tab[data-type=month]:hover:after,.summary-tab[data-type=month].active:after{background:var(--purple);box-shadow:0 0 4px var(--purple-glow)}.summary-tab-streak:hover:after,.summary-tab-streak.active:after{background:#ff8c42;box-shadow:0 0 4px #ff8c4280}#sum-streak{padding-right:14px;position:relative}#sum-streak:after{content:"d";font-size:var(--fs-xs);opacity:.55;letter-spacing:0;color:var(--text-dark);position:absolute;top:50%;right:0;transform:translateY(-50%)}.summary-value-sm{font-size:var(--fs-xl);color:var(--text);letter-spacing:.3px;text-shadow:0 0 3px #fffffe33;text-align:right;font-variant-numeric:tabular-nums;vertical-align:bottom;flex-shrink:0;min-width:7ch;height:1.2em;line-height:1.2;display:inline-block;position:relative}.summary-value-sm .num-old,.summary-value-sm .num-new{white-space:nowrap;will-change:transform, opacity;display:inline-block;position:absolute;top:0;right:0}.summary-value-sm.num-changing .num-old{animation:.42s ease-out forwards numExit}.summary-value-sm.num-changing .num-new{animation:.42s ease-out forwards numEnter}@keyframes numExit{0%{opacity:1;filter:blur();transform:translateY(0)}to{opacity:0;filter:blur(1px);transform:translateY(-100%)}}@keyframes numEnter{0%{opacity:0;filter:blur(1px);transform:translateY(100%)}60%{opacity:1;filter:blur()}to{opacity:1;filter:blur();transform:translateY(0)}}.summary-tab.summary-flash .summary-value-sm{animation:.4s ease-out summaryFlash}@keyframes summaryFlash{0%{color:var(--cyan);text-shadow:0 0 10px var(--cyan-glow)}to{color:var(--text);text-shadow:0 0 4px #fffffe40}}.summary-tab-streak .summary-icon-sm{width:32px;height:32px;position:relative;overflow:hidden}.flame-icon{width:100%;height:100%;display:block;overflow:visible}.flame-wrap{width:32px;height:32px;line-height:0;display:inline-block;position:relative}.summary-tab-streak .flame-icon .flame-outer{transform-origin:6px 11px;transform-box:fill-box;animation:1.5s ease-in-out infinite flameOuter}.summary-tab-streak .flame-icon .flame-mid{transform-origin:6px 11px;transform-box:fill-box;animation:1.1s ease-in-out infinite flameMid}.summary-tab-streak .flame-icon .flame-inner{transform-origin:6px 11px;transform-box:fill-box;animation:.75s ease-in-out infinite flameInner}.summary-tab-streak .flame-icon .flame-tip{transform-origin:6px 2px;transform-box:fill-box;animation:.6s ease-in-out infinite flameTip}.flame-spark{pointer-events:none;opacity:0;background:#ffe66d;width:2px;height:2px;position:absolute;bottom:5px;left:8px;box-shadow:0 0 3px #ffe66d}.summary-tab-streak.flame-lit .flame-spark{animation:1.6s ease-out infinite flameSpark}.summary-tab-streak.flame-lit .flame-spark:nth-child(2){width:1px;height:1px;animation-delay:.55s;bottom:4px;left:10px}.summary-tab-streak.flame-lit .flame-spark:nth-child(3){background:#ff8c42;width:2px;height:2px;animation-delay:1.1s;bottom:6px;left:6px;box-shadow:0 0 3px #ff8c42}@keyframes flameOuter{0%,to{opacity:1;transform:translateY(0)scale(1)}50%{opacity:.9;transform:translateY(-.6px)scale(1.05)}}@keyframes flameMid{0%,to{opacity:1;transform:translateY(0)scale(1)}50%{opacity:.85;transform:translateY(-.9px)scale(1.08)}}@keyframes flameInner{0%,to{opacity:1;transform:translateY(0)scale(1)}50%{opacity:.75;transform:translateY(-.4px)scale(1.12)}}@keyframes flameTip{0%,to{opacity:.9;transform:translateY(0)scale(1)}50%{opacity:.4;transform:translateY(-.5px)scale(1.3)}}@keyframes flameSpark{0%{opacity:0;transform:translateY(0)translate(0)scale(1)}15%{opacity:1;transform:translateY(-2px)translate(0)scale(1)}50%{opacity:.8;transform:translateY(-8px)translate(2px)scale(.9)}to{opacity:0;transform:translateY(-16px)translate(-2px)scale(.4)}}.records-expand,.records-collapse{font-family:var(--pixel-font);font-size:var(--fs-sm);color:var(--text-dark);text-align:center;cursor:pointer;letter-spacing:1px;opacity:.6;padding:12px 0 4px;transition:color .15s ease-out}.records-expand:hover,.records-collapse:hover{color:var(--cyan);text-shadow:0 0 6px var(--cyan-glow);opacity:1}.footer{font-family:var(--pixel-font);font-size:var(--fs-xs);color:var(--text-dark);text-align:center;letter-spacing:1px;opacity:.5;padding:24px 0 32px}#kobo-pet{filter:drop-shadow(0 4px 12px #00000080)}#kobo-pet:after{content:"";pointer-events:none;background:radial-gradient(#08f7fe40 0%,#0000 70%);width:60%;height:8px;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}.kobo-bubble{background:var(--bg-deep);border:2px solid var(--cyan);min-width:60px;max-width:240px;box-shadow:0 0 8px var(--cyan-glow), inset 1px 1px 0px 0px var(--bevel-hi), inset -1px -1px 0px 0px var(--bevel-lo);font-family:var(--pixel-font);font-size:var(--fs-sm);color:var(--text);letter-spacing:.5px;text-align:left;opacity:0;pointer-events:none;white-space:pre-wrap;word-break:break-all;z-index:10000;padding:8px 14px;line-height:1.5;transition:opacity .25s ease-out,transform .25s ease-out;position:absolute;bottom:calc(100% + 10px);right:0;transform:translateY(8px)}.kobo-bubble.visible{opacity:1;transform:translateY(0)}.kobo-bubble:after{content:"";background:var(--bg-deep);border-right:2px solid var(--cyan);border-bottom:2px solid var(--cyan);width:8px;height:8px;position:absolute;bottom:-6px;right:28px;transform:rotate(45deg)}@media (width<=640px){.kbook-container{padding-top:24px}.title{letter-spacing:4px}.category-btn{padding:4px 8px}.progress-slot{width:20px;height:10px}}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border:1px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--border-light)}::selection{background:var(--accent);color:var(--text)}.device-toggle{cursor:pointer;z-index:11;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;min-width:36px;min-height:36px;padding:6px;transition:border-color .15s ease-out,background .15s ease-out,box-shadow .15s ease-out;display:flex;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.device-toggle:hover{border-color:var(--cyan);box-shadow:0 0 6px var(--cyan-glow);background:#08f7fe14}.device-toggle:active{background:#08f7fe2e;transform:translateY(-50%)scale(.94)}.device-toggle svg{image-rendering:pixelated;image-rendering:crisp-edges}[data-device=mobile]{--fs-xs:11px;--fs-sm:12px;--fs-md:14px;--fs-lg:17px;--fs-xl:22px;--fs-2xl:30px}[data-device=mobile] body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);-webkit-text-size-adjust:100%}[data-device=mobile] .top-bar{height:52px;padding:0 48px 0 14px;padding-top:calc(0px + env(safe-area-inset-top));min-height:calc(52px + env(safe-area-inset-top))}[data-device=mobile] .summary-strip{gap:0;max-width:100%}[data-device=mobile] .summary-tab{gap:5px;padding:0 6px}[data-device=mobile] .summary-label-sm{display:none}[data-device=mobile] .summary-value-sm{min-width:5ch}[data-device=mobile] .summary-icon-sm{width:20px;height:20px}[data-device=mobile] .device-toggle{right:calc(10px + env(safe-area-inset-right))}[data-device=mobile] .kbook-container{gap:10px;width:100%;max-width:100%;padding:14px 12px 0;overflow-x:clip}[data-device=mobile] .title{letter-spacing:3px}[data-device=mobile] .subtitle{letter-spacing:4px}[data-device=mobile] .input-wrapper{min-width:0;padding:12px 4px 8px}[data-device=mobile] .input-row{gap:4px;min-width:0;padding:6px 4px}[data-device=mobile] .input-icon{flex-shrink:0;min-width:30px;padding:6px 2px}[data-device=mobile] .input-icon svg{width:24px;height:24px}[data-device=mobile] .pixel-input{font-size:var(--fs-md);letter-spacing:.3px;width:100%;min-width:0;height:44px;padding:10px 4px}[data-device=mobile] .pixel-input::placeholder{font-size:var(--fs-sm)}[data-device=mobile] .input-amount{min-width:56px;height:44px;font-size:var(--fs-md);flex-shrink:0;padding:10px 4px}[data-device=mobile] .input-enter .enter-label{display:none}[data-device=mobile] .input-enter{flex-shrink:0;padding:6px 4px}[data-device=mobile] .input-enter .enter-key{width:24px;height:16px}[data-device=mobile] .categories-wrapper{gap:3px;min-height:50px;padding:0 2px}[data-device=mobile] .category-btn{gap:2px;padding:5px 6px}[data-device=mobile] .cat-icon svg{width:22px;height:22px}[data-device=mobile] .cat-name{font-size:var(--fs-xs);letter-spacing:0}[data-device=mobile] .records-wrapper{min-height:200px;margin-top:4px}[data-device=mobile] .record-item{gap:10px;min-height:52px;padding:10px 12px}[data-device=mobile] .record-icon{min-width:28px}[data-device=mobile] .record-icon svg{width:24px;height:24px}[data-device=mobile] .record-note{font-size:var(--fs-md)}[data-device=mobile] .record-time{font-size:var(--fs-xs)}[data-device=mobile] .record-amount{font-size:var(--fs-lg);min-width:64px}[data-device=mobile] .record-delete{opacity:.55;min-width:32px;min-height:32px;padding:6px 8px}[data-device=mobile] .record-item:hover .record-delete{opacity:.55}[data-device=mobile] .record-item.undo-active .record-delete{opacity:1}[data-device=mobile] .records-expand,[data-device=mobile] .records-collapse{padding:10px 0 2px}[data-device=mobile] #kobo-pet{right:calc(12px + env(safe-area-inset-right))!important;bottom:calc(12px + env(safe-area-inset-bottom))!important}[data-device=mobile] .kobo-bubble{max-width:200px;font-size:var(--fs-xs);padding:6px 10px;right:-8px}[data-device=mobile] .undo-bar{height:48px}[data-device=mobile] .undo-btn{min-height:40px;padding:8px 20px}[data-device=mobile] .footer{padding:16px 0 24px}[data-standalone=true] body{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;overscroll-behavior:none}[data-standalone=true] input,[data-standalone=true] textarea{-webkit-user-select:text;user-select:text}[data-standalone=true] .top-bar{padding-top:env(safe-area-inset-top)}[data-standalone=true][data-device=mobile] #kobo-pet{bottom:calc(12px + env(safe-area-inset-bottom))!important}@media (hover:none){[data-device=mobile] .category-btn:hover{background:0 0;border-color:#0000}[data-device=mobile] .record-item:hover{background:#1a183299;border-color:#9d4edd66;box-shadow:inset -1px -1px #0a091899,inset 1px 1px #4a477a66}[data-device=mobile] .records-expand:hover,[data-device=mobile] .records-collapse:hover{color:var(--text-dark);text-shadow:none;opacity:.6}}
