:root{--bg:#000;--field:#121212;--card:#1c1c1e;--pill:#2c2c2e;--text:#fff;--muted:#8a8a8e;--soft:#c7c7cc;--line:#8a8a8e;--chip-line:#48484a;--star-off:#4a4a4e;--accent:#d71921;--on-accent:#fff;--snack-bg:#f2f2f2;--snack-fg:#000;--snack-sub:#48484a;--snack-action:#b01319;--disabled-bg:#2c2c2e;--disabled-fg:#8a8a8e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root{--bg:#fff;--field:#f2f2f2;--card:#ebebeb;--pill:#e0e0e0;--text:#000;--muted:#5c5c60;--soft:#3a3a3c;--line:#5c5c60;--chip-line:#b5b5ba;--star-off:#b5b5ba;--snack-bg:#1c1c1e;--snack-fg:#fff;--snack-sub:#c7c7cc;--snack-action:#ff8a8f;--disabled-bg:#e0e0e0;--disabled-fg:#8a8a8e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);color:var(--text);margin:0;font-family:Noto Sans JP,system-ui,sans-serif}button,input,textarea{color:inherit;font-family:inherit}button{cursor:pointer}input:focus,textarea:focus{outline:none}input::placeholder,textarea::placeholder{color:var(--muted)}:focus-visible{outline:2px solid var(--text);outline-offset:2px}h1{margin:0}.app,.calendar{flex-direction:column;max-width:480px;height:100dvh;margin:0 auto;display:flex;position:relative;overflow:hidden}.dot-num{font-family:Doto,monospace;font-weight:900;line-height:1}.dot-num.small{color:var(--muted);font-size:20px}.dot-num.big{font-size:48px;line-height:1.05}.icon-btn{background:0 0;border:none;border-radius:24px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.diary-header{flex-direction:column;gap:4px;padding:12px 16px 8px;display:flex}.header-row{justify-content:space-between;align-items:center;min-height:40px;display:flex}.draft-status{letter-spacing:.06em;color:var(--muted);align-items:center;gap:8px;padding-left:4px;font-size:12px;display:flex}.dot{background:var(--muted);border-radius:50%;width:6px;height:6px}.dot.alert{background:var(--accent)}.draft-status:has(.alert){color:var(--text)}.date-btn{text-align:left;background:0 0;border:none;align-items:baseline;gap:12px;min-height:48px;padding:0 0 0 4px;display:flex}.date-btn .dot-num{letter-spacing:.02em;font-size:40px}.date-sub{color:var(--muted);font-size:14px}.date-chevron{color:var(--muted);align-self:center}.simple-header{justify-content:space-between;align-items:center;height:64px;padding:0 20px;display:flex}.simple-header h1{font-size:22px;font-weight:700}.scroll{flex-direction:column;flex:1;gap:16px;min-height:0;padding:8px 16px 16px;display:flex;overflow-y:auto}.field{background:var(--field);border-bottom:1px solid var(--line);border-radius:4px 4px 0 0;flex-direction:column;gap:2px;padding:8px 16px 6px;display:flex}.field:focus-within{border-bottom:2px solid var(--text);padding-bottom:5px}.field.grow{flex:1;gap:4px;min-height:200px;padding-top:10px}.field label,.label,.date-field .label{color:var(--muted);font-size:12px}.field input,.field textarea{background:0 0;border:none;width:100%;padding:2px 0;font-size:16px}.title-input{font-weight:700;line-height:1.4;font-size:22px!important}.field textarea{resize:none;flex:1;min-height:140px;padding:0;line-height:1.85}.hint{color:var(--muted);font-size:12px;line-height:1.6}.notice{color:var(--soft);margin:0;font-size:13px;line-height:1.6}.rating-row{min-height:48px;color:var(--muted);justify-content:space-between;align-items:center;padding-left:4px;font-size:14px;display:flex}.stars{display:flex}.stars button{background:0 0;border:none;border-radius:24px;justify-content:center;align-items:center;width:48px;height:48px;padding:0;display:flex}.star{fill:none;color:var(--star-off)}.star.on{fill:var(--accent);color:var(--accent)}.saved-body{background:var(--card);border-radius:12px;flex-direction:column;gap:4px;padding:12px 16px;display:flex}.saved-body p{color:var(--soft);-webkit-line-clamp:2;white-space:pre-line;-webkit-box-orient:vertical;margin:0;font-size:14px;line-height:1.75;display:-webkit-box;overflow:hidden}.amount-row{align-items:baseline;gap:8px;display:flex}.yen{color:var(--muted);font-size:20px}.field .amount-row input{flex:1;min-width:0;padding:0;font-family:Doto,monospace;font-size:40px;font-weight:900;line-height:1.25}.chips{border:none;margin:0;padding:0 4px}.chips legend{color:var(--muted);margin-bottom:10px;padding:0;font-size:12px}.chip-list{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--chip-line);background:0 0;border-radius:8px;align-items:center;gap:6px;height:40px;padding:0 16px;font-size:14px;font-weight:500;display:flex}.chip.on{background:var(--text);color:var(--bg);border-color:var(--text);padding-left:10px}.date-field{background:var(--field);border-bottom:1px solid var(--line);border-radius:4px 4px 0 0;flex-direction:column;gap:2px;min-height:64px;padding:8px 12px 8px 16px;display:flex;position:relative}.date-field-row{justify-content:space-between;align-items:center;font-size:16px;display:flex}.date-field-row svg{color:var(--muted)}.date-field input{opacity:0;width:100%;height:100%;position:absolute;inset:0}.save-bar{padding:12px 16px}.save-btn{background:var(--accent);width:100%;height:56px;color:var(--on-accent);letter-spacing:.02em;border:none;border-radius:28px;justify-content:center;align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.save-btn:disabled{background:var(--disabled-bg);color:var(--disabled-fg);cursor:default}.tabbar{height:calc(80px + env(safe-area-inset-bottom));padding:12px 0 env(safe-area-inset-bottom);background:var(--field);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.tabbar button{color:var(--muted);background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;font-size:12px;font-weight:500;display:flex}.tabbar button[aria-current=page]{color:var(--text);font-weight:700}.tabbar .pill{border-radius:16px;justify-content:center;align-items:center;width:64px;height:32px;display:flex}.tabbar button[aria-current=page] .pill{background:var(--pill)}.snackbar{left:16px;right:16px;bottom:calc(172px + env(safe-area-inset-bottom));background:var(--snack-bg);color:var(--snack-fg);z-index:10;border-radius:4px;align-items:center;gap:12px;padding:12px 8px 12px 16px;display:flex;position:absolute;box-shadow:0 4px 12px #00000080}.snack-icon{color:var(--snack-action);flex:none}.snack-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.snack-main{font-size:14px;font-weight:700}.snack-sub{color:var(--snack-sub);overflow-wrap:anywhere;font-size:12px}.snack-action{min-height:40px;color:var(--snack-action);background:0 0;border:none;border-radius:20px;align-items:center;padding:0 12px;font-size:14px;font-weight:700;text-decoration:none;display:flex}.cal-header{justify-content:flex-start;gap:4px;padding:0 8px 0 4px}.cal-header h1{color:var(--muted);font-size:16px;font-weight:500}.cal-selected{border-bottom:1px solid var(--pill);align-items:baseline;gap:12px;padding:0 24px 16px;display:flex}.cal-nav{justify-content:space-between;align-items:center;padding:8px 12px 0 24px;font-size:15px;font-weight:700;display:flex}.cal-nav>div{display:flex}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));padding:0 12px;display:grid}.cal-grid.weekdays{text-align:center;height:40px;color:var(--muted);align-items:center;font-size:12px}.cal-cell{justify-content:center;align-items:center;height:54px;display:flex}.day{background:0 0;border:1px solid #0000;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:44px;height:44px;padding:0;font-size:14px;display:flex}.day.today{border-color:var(--text);font-weight:700}.day.selected{background:var(--text);color:var(--bg);border-color:var(--text);font-weight:700}.mark{background:0 0;border-radius:50%;width:4px;height:4px}.mark.on{background:var(--muted)}.day.selected .mark.on{background:var(--bg)}.cal-legend{color:var(--muted);justify-content:flex-end;gap:16px;padding:6px 12px 0 0;font-size:12px;display:flex}.cal-legend span{align-items:center;gap:6px;display:flex}.cal-legend i{display:inline-block}.ring{border:1px solid var(--text);border-radius:50%;width:12px;height:12px}.grow-space{flex:1}.cal-card{background:var(--card);border-radius:16px;flex-direction:column;gap:6px;margin:0 16px 16px;padding:18px 18px 16px;display:flex}.cal-title{font-size:17px;font-weight:700;line-height:1.5}.muted{color:var(--soft);font-size:16px}.cal-cta{background:var(--text);height:48px;color:var(--bg);border:none;border-radius:24px;margin-top:10px;font-size:15px;font-weight:700}
