:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Noto Sans JP,Yu Gothic UI,sans-serif;color:#edf3ef;background:#061f19;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;font-weight:400;--bg:#061f19;--panel:#0d2b23;--panel-soft:#102f26;--line:rgba(204,229,215,.09);--muted:#869e93;--mint:#8ad7b1;--mint-bright:#9ce3be;--warm:#e89a83}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(ellipse at 50% -24%,#174b3b 0%,#0b3025 29%,var(--bg) 66%);font-size:14px}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #83dab0;outline-offset:3px}.app-shell{min-height:100vh;padding-bottom:40px}.topbar{height:74px;max-width:1160px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid rgba(207,233,217,.075)}.brand{color:#e5efe9;text-decoration:none;display:flex;align-items:center;gap:9px;font:700 21px Manrope,sans-serif;letter-spacing:-.8px}.brand-moon{height:30px;width:30px;display:grid;place-items:center;background:#b5e6c9;color:#153a2d;border-radius:10px;font-size:20px}.brand-dot{color:#90dbb2}.top-actions{display:flex;align-items:center;gap:17px}.local-badge{color:#8ea69a;display:flex;align-items:center;gap:7px;font-size:11px}.local-badge>span,.privacy-note>span{height:6px;width:6px;border-radius:50%;background:#72d09f;box-shadow:0 0 9px #72d09f77}.icon-button{border:0;background:transparent;color:#9bb3a7;display:grid;place-items:center;padding:8px;border-radius:9px;cursor:pointer}.icon-button:hover,.month-arrow:hover{background:#ffffff0c}.avatar{height:31px;width:31px;border:1px solid #406858;background:#194434;border-radius:50%;color:#c8edda;cursor:pointer}.page-content{max-width:940px;margin:auto;padding:48px 26px 0}.welcome{display:flex;align-items:end;justify-content:space-between;margin-bottom:27px}.eyebrow{font-size:9px;line-height:1.5;letter-spacing:1.6px;font-weight:700;color:#7fa590;margin:0 0 8px}.welcome h1{font:600 clamp(25px,4vw,35px)/1.3 "Noto Sans JP",sans-serif;letter-spacing:-1.3px;margin:0}.welcome h1 em{font-style:normal;color:#a5e0bf}.welcome-sub{margin:8px 0 0;color:#8ca599;font-size:13px}.primary-button{background:#9ce0b9;color:#113a2b;border:0;border-radius:10px;padding:11px 16px;font-weight:700;font-size:12px;display:inline-flex;gap:8px;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s,background .15s}.primary-button:hover{background:#b2edcb;transform:translateY(-1px)}.add-main{height:40px;flex-shrink:0}.summary-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px;margin-bottom:40px}.summary-card{min-height:125px;padding:16px 18px 14px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(140deg,#12372b,#0d2a22 72%);box-shadow:0 7px 24px #04140f24}.summary-top{display:flex;justify-content:space-between;align-items:center;color:#9ab1a5;font-size:11px}.summary-icon{height:27px;width:27px;border-radius:9px;display:grid;place-items:center;color:#9cd8b5;background:#21503c}.summary-value{margin-top:11px;font:700 26px/1.15 Manrope,Noto Sans JP,sans-serif;letter-spacing:-.5px}.summary-value small{font:500 11px Noto Sans JP,sans-serif;color:#89a296;letter-spacing:0}.summary-foot{margin-top:8px;color:#80988b;font-size:10px}.trend-mark{color:#91ddb2;margin-right:3px}.progress{height:4px;border-radius:4px;background:#183b2f;margin-top:10px;overflow:hidden}.progress span{height:100%;display:block;background:#84d4a6;border-radius:4px;transition:width .2s}.section-heading,.list-heading{display:flex;align-items:end;justify-content:space-between}.section-heading{margin-bottom:14px}.section-heading h2,.list-heading h2{font:600 17px Noto Sans JP,sans-serif;letter-spacing:-.3px;margin:0}.heading-note{display:flex;align-items:center;gap:8px;color:#8da69a;font-size:10px;padding-bottom:3px}.legend-dot{width:6px;height:6px;background:#8edeb2;border-radius:50%;display:inline-block}.calendar-panel{border:1px solid var(--line);border-radius:16px;padding:18px 19px 14px;background:linear-gradient(150deg,#0f3027,#0b2821);box-shadow:0 12px 36px #020d0a2e}.month-toolbar{height:35px;display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:13px}.month-arrow{height:31px;width:31px;display:grid;place-items:center;border:0;background:transparent;border-radius:9px;color:#96b0a2;cursor:pointer}.month-select-wrap{position:relative}.month-select{display:flex;align-items:center;gap:8px;border:0;border-radius:8px;padding:7px 11px;background:#174032;color:#dcebe2;font-size:13px;font-weight:600;cursor:pointer}.month-select svg{color:#8dab9b}.today-button{position:absolute;right:0;border:1px solid #305844;background:#102f26;color:#aad7bb;padding:6px 11px;border-radius:8px;font-size:10px;cursor:pointer}.month-menu{position:absolute;z-index:5;top:40px;left:50%;transform:translate(-50%);max-height:240px;overflow:auto;width:152px;padding:5px;background:#15392d;border:1px solid #315746;border-radius:10px;box-shadow:0 14px 24px #0007}.month-menu button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:8px 10px;border-radius:6px;color:#c4d9cc;font-size:12px;cursor:pointer}.month-menu button:hover{background:#ffffff10}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.weekday{height:23px;display:grid;place-items:center;color:#8ba496;font-size:10px}.weekday.weekend{color:#738e80}.calendar-day{position:relative;min-width:0;height:73px;text-align:left;padding:8px 9px;border:1px solid #28483b;background:#102a22;border-radius:9px;cursor:pointer;transition:background .15s,border-color .15s}.calendar-day:hover:not(:disabled){background:#16382c;border-color:#557c66}.calendar-day.outside{background:#0b251e;border-color:#1a3a2d;cursor:default}.day-number{font-size:11px;color:#e0ebe4;font-weight:500}.weekend .day-number{color:#a5b6aa}.outside .day-number{color:#526b5e}.is-today .day-number{color:#8ddbb1;font-weight:700}.selected{background:#183f30;border-color:#72c995!important;box-shadow:inset 0 0 0 1px #72c99533}.day-events{display:flex;gap:3px;margin-top:7px;align-items:center;min-height:19px}.service-mark{width:19px;height:19px;flex:0 0 19px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font:700 8px Arial,sans-serif;overflow:hidden}.mark-netflix{background:#111;color:#e50914;font-size:15px;font-family:Arial Black,Arial,sans-serif}.mark-docomo{background:#f6e800;color:#333;font-size:6px}.mark-rakuten{background:#ed007c;color:#fff;font-size:11px}.mark-spotify{background:#1ed760;color:#07180e;font-size:15px}.mark-disney{background:#183c66;color:#fff;font-size:6px}.mark-anytime{background:#672bc9;color:#fff;font-size:7px}.mark-google{background:#fff;color:#34a853;font-size:12px}.mark-rent{background:#94d3f0;color:#163e61;font-size:16px}.mark-tepco{background:#fff;color:#d53342;font-size:5px;font-weight:800}.mark-sbi{background:#176ea8;color:#fff;font-size:5px}.mark-unext{background:#080a0b;color:#fff;font-size:12px}.mark-chatgpt{background:#111;color:#e9efeb;font-size:13px}.mark-custom{background:#23503c;color:#a4e3bd;font-size:8px}.more-events{font-size:8px;color:#9ab3a4}.calendar-legend{margin-top:12px;display:flex;align-items:center;gap:16px;color:#789184;font-size:9px}.calendar-legend>span:not(.calendar-hint){display:flex;align-items:center;gap:6px}.today-ring{height:8px;width:8px;border:1px solid #81d3a5;border-radius:50%;display:inline-block}.calendar-hint{margin-left:auto;color:#698477}.list-section{margin-top:38px}.list-heading{margin-bottom:13px}.list-heading h2{display:flex;align-items:center;gap:9px}.count-pill{font:500 9px Noto Sans JP,sans-serif;color:#9bb4a5;border:1px solid #315344;border-radius:20px;padding:3px 7px}.text-button{border:0;background:transparent;color:#91cda8;font-size:10px;display:flex;align-items:center;gap:5px;padding:7px 0;cursor:pointer}.bill-list{display:flex;flex-direction:column;gap:8px}.bill-card{min-height:69px;border:1px solid #19392e;border-radius:13px;background:linear-gradient(110deg,#102b23,#0e2821);display:flex;align-items:center;justify-content:space-between;padding:10px 14px 10px 15px;transition:border-color .15s,transform .15s}.bill-card:hover{border-color:#42634e;transform:translateY(-1px)}.bill-main{display:flex;align-items:center;gap:13px;min-width:0;border:0;background:transparent;text-align:left;cursor:pointer;padding:0}.service-logo{height:40px;width:40px;flex-basis:40px;font-size:12px}.service-logo.mark-netflix{font-size:28px}.service-logo.mark-docomo{font-size:10px}.service-logo.mark-rakuten{font-size:21px}.service-logo.mark-spotify{font-size:26px}.service-logo.mark-disney{font-size:11px}.service-logo.mark-anytime{font-size:13px}.service-logo.mark-google{font-size:24px}.service-logo.mark-rent{font-size:31px}.service-logo.mark-tepco,.service-logo.mark-sbi{font-size:8px}.service-logo.mark-unext,.service-logo.mark-chatgpt{font-size:23px}.bill-info{display:flex;flex-direction:column;gap:4px;min-width:0}.bill-info strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;color:#e6eee9}.bill-info>span{display:flex;align-items:center;gap:6px;color:#82998c;font-size:10px}.bill-info i{height:3px;width:3px;border-radius:50%;background:#4f715d}.bill-right{display:flex;align-items:center;gap:13px}.bill-right>div{display:flex;flex-direction:column;align-items:flex-end;gap:3px;min-width:73px}.bill-amount{font:600 14px Manrope,Noto Sans JP,sans-serif;color:#eaf2ed}.status{font-size:10px}.status-upcoming{color:#849d8f}.status-paid{color:#67c58d}.status-today{color:#ec917a}.status-overdue{color:#e99c80}.paid-toggle{height:25px;width:25px;border:1px solid #3b604b;background:#112c23;border-radius:8px;display:grid;place-items:center;color:#b5e9c7;cursor:pointer;padding:0}.paid-toggle>span{height:7px;width:7px;border:1px solid #718e7b;border-radius:50%}.paid-toggle.is-paid{background:#22563b;border-color:#3a7d51}.empty-state{min-height:190px;border:1px dashed #315443;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#93ac9d}.empty-state>span{font-size:23px;color:#9ddcb6}.empty-state strong{font-size:13px;color:#d6e5dc;margin-top:9px}.empty-state p{font-size:10px;margin:6px 0 13px}.soft-button{border:1px solid #335947;background:#123529;color:#add9bd;border-radius:9px;padding:9px 12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:10px;cursor:pointer}.soft-button:hover{background:#194532}.list-footer{margin-top:12px;border-top:1px solid #1a392e;padding:12px 3px 0;display:flex;align-items:center;justify-content:space-between;color:#81988b;font-size:10px}.list-footer strong{color:#bddac8;font:600 12px Manrope,sans-serif;margin-left:8px}footer{margin-top:38px;border-top:1px solid #18352a;padding:17px 1px 0;display:flex;align-items:center;gap:16px;color:#6f897b;font-size:9px}.footer-brand{font:700 12px Manrope,sans-serif;color:#9bcaaa}.privacy-note{margin-left:auto;display:flex;align-items:center;gap:7px}.privacy-note>span{height:5px;width:5px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#020b08ba;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:grid;place-items:center;padding:18px}.edit-modal{width:min(100%,405px);padding:23px;border-radius:17px;border:1px solid #345746;background:#102d24;box-shadow:0 22px 75px #0009}.modal-heading{display:flex;align-items:start;justify-content:space-between;margin-bottom:20px}.modal-heading h2{margin:0;font:600 19px Noto Sans JP,sans-serif}.edit-modal label{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#a8c0b1;margin-bottom:14px}.edit-modal input,.edit-modal select{width:100%;height:43px;border:1px solid #315242;border-radius:9px;background:#0a241c;color:#eaf2ed;padding:0 12px;font-size:16px;outline:none}.edit-modal input:focus,.edit-modal select:focus{border-color:#86d6a8}.edit-modal input::placeholder{color:#61796c}.form-row{display:grid;grid-template-columns:1fr 110px;gap:12px}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:21px}.modal-actions .delete-button{margin-right:auto;border:0;background:transparent;color:#e89a83;font-size:11px;padding:9px;cursor:pointer}.toast{position:fixed;z-index:30;bottom:25px;left:50%;transform:translate(-50%);background:#1b5035;color:#d5f3de;border:1px solid #4a865b;box-shadow:0 8px 30px #0006;border-radius:30px;padding:10px 17px;display:flex;align-items:center;gap:8px;font-size:11px;animation:pop .2s ease-out}@keyframes pop{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media(min-width:1100px){.page-content{padding-top:55px}.calendar-day{height:79px}.summary-card{min-height:131px}}@media(max-width:650px){body{background:radial-gradient(ellipse at 50% -10%,#174737,#0a2b21 37%,#061a15 80%)}.app-shell{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.topbar{height:58px;padding:0 17px}.brand{font-size:18px}.brand-moon{width:26px;height:26px;border-radius:8px;font-size:18px}.top-actions{gap:9px}.local-badge{font-size:9px}.top-actions>.icon-button{display:none}.avatar{height:28px;width:28px}.page-content{padding:32px 15px 0}.welcome{align-items:start;gap:12px;margin-bottom:20px}.welcome h1{font-size:23px;letter-spacing:-1px}.welcome-sub{font-size:11px;margin-top:6px}.eyebrow{font-size:8px;margin-bottom:6px}.add-main{height:36px;padding:0 11px;font-size:10px;gap:5px;margin-top:16px}.add-main svg{width:15px}.summary-grid{gap:7px;margin-bottom:31px}.summary-card{min-height:105px;padding:12px 10px 10px;border-radius:12px}.summary-top{font-size:9px;gap:3px}.summary-icon{height:22px;width:22px;border-radius:7px}.summary-icon svg{width:14px}.summary-value{font-size:19px;margin-top:12px}.summary-value small{font-size:9px}.summary-foot{font-size:8px;margin-top:7px;white-space:nowrap}.progress{margin-top:10px}.section-heading h2,.list-heading h2{font-size:15px}.section-heading{margin-bottom:12px}.calendar-panel{padding:12px 9px 11px;border-radius:14px}.month-toolbar{margin-bottom:9px}.month-select{font-size:12px}.calendar-grid{gap:4px}.weekday{height:18px;font-size:9px}.calendar-day{height:62px;padding:6px 5px;border-radius:7px}.day-number{font-size:10px}.day-events{gap:2px;margin-top:7px;min-height:16px}.service-mark{height:16px;width:16px;flex-basis:16px;font-size:6px}.mark-netflix{font-size:12px}.mark-spotify,.mark-rent{font-size:13px}.mark-google{font-size:10px}.more-events{font-size:7px}.calendar-legend{gap:10px;font-size:8px;margin-top:10px}.calendar-hint{display:none}.list-section{margin-top:30px}.list-heading{align-items:end;margin-bottom:11px}.list-heading h2{gap:6px}.text-button{font-size:9px}.bill-list{gap:7px}.bill-card{min-height:67px;padding:9px 10px;border-radius:12px}.bill-main{gap:10px}.service-logo{width:36px;height:36px;flex-basis:36px}.service-logo.mark-netflix{font-size:25px}.service-logo.mark-spotify{font-size:23px}.service-logo.mark-google{font-size:22px}.service-logo.mark-rent{font-size:28px}.service-logo.mark-unext,.service-logo.mark-chatgpt{font-size:20px}.bill-info{gap:3px}.bill-info strong{font-size:12px}.bill-info>span{font-size:9px}.bill-right{gap:8px}.bill-right>div{min-width:65px}.bill-amount{font-size:12px}.status{font-size:9px}.paid-toggle{height:23px;width:23px}.list-footer{font-size:9px}footer{margin-top:29px;gap:10px;font-size:8px;flex-wrap:wrap}.privacy-note{font-size:8px}.edit-modal{padding:19px}.edit-modal input,.edit-modal select{font-size:16px}}@media(max-width:390px){.page-content{padding-left:11px;padding-right:11px}.welcome h1{font-size:21px}.add-main{padding:0 8px}.summary-card{padding-left:8px;padding-right:8px}.summary-top{font-size:8px}.summary-value{font-size:17px}.calendar-day{height:56px;padding:5px 4px}.day-events{gap:1px}.service-mark{width:14px;height:14px;flex-basis:14px}.bill-info strong{font-size:11px}}.mark-amazon{background:#fff;color:#17202a;font-size:16px}.mark-youtube{background:#fff;color:red;font-size:12px}.mark-apple{background:linear-gradient(135deg,#fa6b9d,#8b4cce);color:#fff;font-size:15px}.mark-icloud{background:#e9f5ff;color:#3488dd;font-size:13px}.mark-hulu{background:#142a1c;color:#3ce783;font-size:12px}.mark-microsoft{background:#fff;color:#f35325;font-size:12px}.mark-adobe{background:#201414;color:#ed2224;font-size:14px}.mark-nintendo{background:#e60012;color:#fff;font-size:11px}.icon-preview{display:flex;align-items:center;gap:10px;margin:-3px 0 14px;color:#90b09d;font-size:10px}.icon-preview .service-logo{width:31px;height:31px;flex-basis:31px}.edit-indicator{height:27px;width:27px;border:1px solid #315242;border-radius:8px;background:#102e24;color:#9acdab;display:grid;place-items:center;cursor:pointer}.spend-breakdown{margin-top:20px;padding:16px 17px;border:1px solid #1b3e31;border-radius:13px;background:#0d2921}.breakdown-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;color:#b2c8ba;font-size:11px}.breakdown-heading>span{display:flex;align-items:center;gap:7px}.breakdown-heading svg{color:#a0dfba}.breakdown-heading>strong{font:600 14px Manrope,Noto Sans JP,sans-serif;color:#e5f1e9}.breakdown-heading small{font:400 9px Noto Sans JP,sans-serif;color:#8ba394}.category-row{display:grid;grid-template-columns:90px 1fr 75px;align-items:center;gap:10px;margin-top:10px;color:#9db2a5;font-size:10px}.category-row>strong{text-align:right;color:#cfdfd4;font:500 10px Manrope,Noto Sans JP,sans-serif}.category-track{height:5px;border-radius:5px;background:#193c2e;overflow:hidden}.category-track i{height:100%;display:block;background:linear-gradient(90deg,#5db87f,#a2e5bc);border-radius:5px}@media(max-width:650px){.category-row{grid-template-columns:66px 1fr 65px;gap:7px;font-size:9px}.spend-breakdown{padding:13px 12px}.icon-preview{font-size:9px}}.service-logo-image{display:block;width:100%;height:100%;object-fit:contain;padding:2px}.mark-youtube:has(.service-logo-image){background:transparent;border-radius:0}.settings-info{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid #254537}.settings-info-icon{flex:0 0 30px;width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#1c4735;color:#a7dfba}.settings-info strong,.settings-backup strong{color:#e1eee5;font-size:12px}.settings-info p,.settings-backup p{margin:5px 0 0;color:#8fa99a;font-size:10px;line-height:1.65}.settings-backup{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0 3px}.settings-backup .soft-button{flex-shrink:0}.settings-modal .modal-actions{margin-top:18px}
