@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-ext-wght-normal-DdQaqQDo.woff2)format("woff2-variations");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:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-wght-normal-Bc-8i84L.woff2)format("woff2-variations");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}:root{--bg:#070912;--text:#a4a8c4;--text-h:#f2f4ff;--plus:#5ef2b4;--minus:#ff7a8a;--accent:#b9b3ff;--sun:#ff5c7a;--sat:#5c9dff;--glass:#ffffff0d;--glass-strong:#ffffff17;--line:#ffffff1a;--line-strong:#ffffff2e;--well:#00000047;--gradient:linear-gradient(135deg, #7d6bff, #19d3c5);--sans:"Outfit Variable", system-ui, "Segoe UI", Roboto, "Noto Sans JP", sans-serif;font:16px/1.5 var(--sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}body{margin:0}body:before,body:after,#root:before{content:"";z-index:-1;pointer-events:none;border-radius:50%;position:fixed}body:before{opacity:.72;filter:blur(72px);background:#6d5efc;width:340px;height:340px;top:-130px;left:calc(50% - min(50vw,240px) - 120px)}body:after{opacity:.45;filter:blur(72px);background:#19d3c5;width:300px;height:300px;top:30px;left:calc(50% + min(50vw,240px) - 170px)}#root:before{opacity:.32;filter:blur(84px);background:#ff4fa3;width:280px;height:280px;bottom:-170px;left:calc(50% - 140px)}#root{flex-direction:column;width:480px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2,p,dl,dd{margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer}.plus{color:var(--plus)}.minus{color:var(--minus)}.app{touch-action:pan-y;flex-direction:column;flex-grow:1;gap:14px;display:flex}.header{padding:calc(22px + env(safe-area-inset-top)) 20px 4px;justify-content:space-between;align-items:center;display:flex}.header-title{flex-direction:column;align-items:center;display:flex}.header-title h1{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:#0000;background:linear-gradient(120deg,#fff 20%,#b9b3ff 60%,#7df3e1);-webkit-background-clip:text;background-clip:text;font-size:54px;font-weight:200;line-height:1.08}.header-title h1 small{margin-left:2px;font-size:22px;font-weight:300}.header-year{letter-spacing:.42em;color:#fff9;font-variant-numeric:tabular-nums;margin-right:-.42em;font-size:12px}.round-button{border:1px solid var(--line-strong);background:var(--glass-strong);width:46px;height:46px;color:var(--text-h);border-radius:50%;padding-bottom:4px;font-size:24px;line-height:1}.round-button:hover{background:#ffffff29}.today-chip{border:1px solid var(--line-strong);background:var(--glass);color:#c9c5ff;border-radius:999px;margin-top:6px;padding:3px 14px;font-size:12px}.today-chip:disabled{opacity:.6;cursor:default}.today-chip.minus{color:var(--minus)}.bottom-bar{padding:28px 18px calc(18px + env(safe-area-inset-bottom));background:linear-gradient(#0000,#070912d1 55%);grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid;position:sticky;bottom:0}.total-pill{border:1px solid var(--line-strong);background:var(--glass-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;grid-column:2;padding:8px 26px;font-size:25px;font-weight:600}.total-pill.plus{text-shadow:0 0 18px #5ef2b48c}.total-pill.minus{text-shadow:0 0 18px #ff7a8a80}.total-pill.zero{color:var(--text-h)}.fab{background:var(--gradient);color:#fff;border:none;border-radius:50%;grid-column:3;justify-self:end;width:58px;height:58px;padding-bottom:4px;font-size:30px;font-weight:300;line-height:1;box-shadow:0 8px 28px #6d5efc99}.fab:hover{filter:brightness(1.1)}.icon-button{border:1px solid var(--line-strong);background:var(--glass-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:48px;height:48px;color:var(--text-h);border-radius:50%;grid-column:1;justify-self:start;place-items:center;display:grid}.icon-button:hover{background:#ffffff29}.icon-button.has-error{border-color:var(--minus);color:var(--minus)}.calendar{flex-grow:1;padding:0 12px}.weekdays,.days{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.weekdays{text-align:center;color:#ffffff73;margin-bottom:6px;font-size:11px}.weekdays .sun{color:#ff8fa3}.weekdays .sat{color:#8fb8ff}.day{background:var(--glass);border:1px solid #ffffff14;border-radius:16px;flex-direction:column;align-items:center;gap:2px;min-height:76px;padding:8px 0 6px;display:flex}.day:hover{border-color:var(--line-strong)}.day:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.day.sun{background:#ff5c7a21;border-color:#ff5c7a2e}.day.sun .day-number{color:#ffb3c0}.day.sat{background:#5c9dff24;border-color:#5c9dff33}.day.sat .day-number{color:#b3ceff}.day.today{border-color:var(--accent);box-shadow:0 0 18px #8c82ff8c,inset 0 0 12px #8c82ff33}.day-number{color:var(--text-h);font-size:15px;font-weight:300}.day-amount{font-variant-numeric:tabular-nums;white-space:nowrap;min-height:15px;font-size:clamp(9.5px,2.75vw,11px);font-weight:500;line-height:15px}.day-amount.zero{color:var(--text)}.legend{letter-spacing:.08em;text-align:center;color:#fff6;margin-top:12px;font-size:10.5px}.sheet{border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(28px)saturate(1.4);backdrop-filter:blur(28px)saturate(1.4);width:100%;max-width:480px;color:var(--text);background:#141528c7;border-bottom:none;border-radius:28px 28px 0 0;margin:auto auto 0;padding:0;box-shadow:0 -12px 48px #6d5efc40}.sheet::backdrop{background:#04050c99}.sheet-body{padding:24px 20px calc(20px + env(safe-area-inset-bottom));flex-direction:column;gap:16px;display:flex}.sheet-body h2{color:var(--text-h);font-size:18px;font-weight:500}.sheet-section{flex-direction:column;gap:10px;display:flex}.sheet-text{font-size:14px}.sheet-list{flex-direction:column;gap:8px;display:flex}.sheet-list .btn{color:var(--text-h);text-align:left}.amount-row{flex-direction:column;gap:8px;display:flex}.amount-row-head{justify-content:space-between;align-items:center;display:flex}.amount-row-label{color:var(--text-h);font-size:15px;font-weight:500}.segment{background:var(--well);border-radius:999px;grid-template-columns:1fr 1fr;gap:4px;width:168px;padding:4px;display:grid}.segment button{height:34px;color:var(--text);background:0 0;border:none;border-radius:999px;font-size:14px}.segment button.active{background:#ffffff1f;font-weight:600}.segment button.active.plus{color:var(--plus)}.segment button.active.minus{color:var(--minus)}.amount-field{border:1px solid var(--line);background:var(--well);font-variant-numeric:tabular-nums;border-radius:16px;align-items:baseline;gap:6px;padding:10px 16px;font-size:24px;font-weight:600;display:flex}.amount-field:focus-within{border-color:var(--accent);box-shadow:0 0 16px #8c82ff59}.amount-field input{text-align:right;background:0 0;border:none;outline:none;flex:1;min-width:0}.amount-field input::placeholder{color:#ffffff38;font-size:16px;font-weight:400}.sheet-actions{gap:8px;display:flex}.btn{border:1px solid var(--line-strong);background:var(--glass);border-radius:999px;height:46px;padding:0 18px}.btn:disabled{opacity:.4;cursor:default}.btn.primary{background:var(--gradient);color:#fff;border:none;flex:1;font-weight:600;box-shadow:0 6px 22px #6d5efc73}.btn.danger{color:var(--minus);margin-right:auto}.btn.small{white-space:nowrap;height:34px;padding:0 12px;font-size:13px}.sheet-list .btn{border-radius:16px}.code-box{border:1px solid var(--line);background:var(--well);border-radius:16px;justify-content:space-between;align-items:center;gap:8px;padding:10px 10px 10px 14px;display:flex}.code-text{letter-spacing:.04em;color:var(--text-h);white-space:nowrap;font-family:ui-monospace,Consolas,monospace;font-size:clamp(13px,3.9vw,16px)}.code-input{border:1px solid var(--line);background:var(--well);height:48px;color:var(--text-h);text-transform:uppercase;border-radius:16px;outline:none;padding:0 14px;font-family:ui-monospace,Consolas,monospace;font-size:16px}.code-input:focus{border-color:var(--accent)}.code-input::placeholder{color:#ffffff38}
