:root{--bg:#f6f4f1;--card:#fff;--line:#e8e3dc;--line-soft:#f0ebe4;--text:#3a3633;--muted:#77706a;--chip:#efece8;--income:#3478c6;--expense:#c8443a;--error:#c8443a;--accent:#dd7024;--accent-text:#b4561a;--accent-soft:#fdf3e1;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;font-family:Hiragino Maru Gothic ProN,Hiragino Sans,"M PLUS Rounded 1c",Noto Sans JP,sans-serif}[data-book=household]{--accent:#dd7024;--accent-text:#b4561a;--accent-soft:#fdf3e1}[data-book=personal]{--accent:#8a63d2;--accent-text:#6b48b5;--accent-soft:#f1ebfb}*{box-sizing:border-box}body{background:var(--bg);min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);margin:0}button,input,select{font-family:inherit}.center{justify-content:center;align-items:center;min-height:100dvh;padding:16px;display:flex}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:16px;width:100%;max-width:380px;padding:24px 20px;display:flex}h1{text-align:center;margin:0;font-size:20px}p{margin:0;line-height:1.6}.muted{color:var(--muted);font-size:14px}.error{color:var(--error);font-size:14px}.center-text{text-align:center;padding:24px 0}label{flex-direction:column;gap:6px;font-size:14px;font-weight:700;display:flex}input,select{border:1px solid var(--line);color:var(--text);background:#fff;border-radius:10px;padding:10px 12px;font-size:16px}input:focus,select:focus{outline:2px solid var(--accent);border-color:#0000}button{background:var(--accent-text);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:14px;font-size:16px;font-weight:700}button:disabled{opacity:.6}button.secondary{background:var(--chip);color:var(--text)}button.danger{color:var(--error);background:#fbe9e7}code{background:var(--chip);border-radius:4px;padding:1px 4px}.shell{max-width:520px;min-height:100dvh;padding:14px 16px calc(110px + env(safe-area-inset-bottom));flex-direction:column;gap:10px;margin:0 auto;display:flex}.book-switch{background:var(--card);border-radius:999px;grid-template-columns:1fr 1fr;align-self:center;width:210px;padding:4px;display:grid;box-shadow:0 1px 4px #3a363314}.book-switch button{height:36px;color:var(--text);background:0 0;padding:0;font-size:15px}.book-switch button[aria-pressed=true]{background:var(--accent-text);color:#fff}.tab-bar{left:12px;right:12px;bottom:calc(16px + env(safe-area-inset-bottom));background:var(--card);z-index:10;border-radius:33px;grid-template-columns:repeat(4,1fr);align-items:center;max-width:496px;height:66px;margin:0 auto;padding:0 6px;display:grid;position:fixed;box-shadow:0 2px 12px #3a36331f}.tab-bar button{height:54px;color:var(--text);background:0 0;border-radius:27px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:0;font-size:11px;font-weight:500;display:flex}.tab-bar button[aria-current=page]{background:var(--chip);color:var(--accent-text);font-weight:700}.fab{right:max(18px,50% - 242px);bottom:calc(96px + env(safe-area-inset-bottom));background:var(--accent);z-index:10;border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;padding:0;display:flex;position:fixed;box-shadow:0 4px 12px #3a36334d}.placeholder{background:var(--card);border:1px solid var(--line);text-align:center;border-radius:14px;flex-direction:column;gap:6px;padding:32px 16px;display:flex}.month-title{text-align:center;background:var(--accent-soft);border-radius:12px;height:44px;margin:0;font-size:18px;font-weight:700;line-height:44px}.list-card{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden}.tx-list{margin:0;padding:0;list-style:none}.tx-list li+li{border-top:1px solid var(--line-soft)}.tx-row{text-align:left;width:100%;color:var(--text);background:0 0;border-radius:0;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 12px;font-weight:400;display:grid}.tx-text{flex-direction:column;min-width:0;display:flex}.tx-cat{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:500;overflow:hidden}.tx-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.tx-amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:15px;font-weight:700}.tx-amount.income{color:var(--income)}.date-head{padding:6px 4px 4px;font-size:13px;font-weight:700}.form-page{flex-direction:column;max-width:520px;min-height:100dvh;margin:0 auto;display:flex}.form-top{background:var(--accent-soft);box-shadow:inset 0 -3px 0 var(--accent);grid-template-columns:72px 1fr 72px;align-items:center;height:64px;padding:0 8px;display:grid}.form-top .book-switch{box-shadow:none}button.back{color:var(--text);background:0 0;align-items:center;gap:2px;padding:8px 0;font-size:15px;font-weight:500;display:flex}.form-body{background:var(--card);flex-direction:column;padding:0 16px 8px;display:flex}.type-toggle{border-bottom:1px solid var(--line-soft);grid-template-columns:1fr 1fr;gap:8px;padding:10px 0 8px;display:grid}.type-toggle button{background:var(--bg);height:38px;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:0;font-size:15px;font-weight:500}.type-toggle button[aria-pressed=true]{color:var(--accent-text);border:2px solid var(--accent-text);background:#fff;font-weight:700}.form-row{border-bottom:1px solid var(--line-soft);flex-direction:row;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:0;min-height:48px;padding:5px 0;display:grid}.form-row:last-child{border-bottom:none}.form-row>.label{font-size:14px;font-weight:700}.form-row input,.form-row select{width:100%;min-width:0}.form-row input.soft,.form-row select.soft{background:var(--accent-soft);border-color:#0000}.form-row select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 16px),calc(100% - 11px);background-repeat:no-repeat;background-size:5px 5px;padding-right:32px}.form-row select:disabled{color:var(--muted);background-color:var(--bg)}.form-row .pair{grid-template-columns:1fr 1fr;gap:6px;display:grid}input[type=date]{appearance:none;text-align:center;min-height:42px}.amount{align-items:center;gap:6px;display:flex}.amount input{text-align:right;font-variant-numeric:tabular-nums;background:var(--accent-soft);border-color:#0000;flex:1;min-width:0;font-size:22px;font-weight:700}.amount span{font-size:14px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{color:var(--text);border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-size:14px;font-weight:500}.chip[aria-pressed=true]{background:var(--accent-text);color:#fff;border-color:var(--accent-text);font-weight:700}.form-actions{flex-direction:column;gap:10px;padding:16px;display:flex}.form-actions .error{text-align:center}.sheet{background:var(--card);padding:0 10px calc(14px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;margin-top:auto;position:sticky;bottom:0;box-shadow:0 -2px 14px #3a36331a}.sheet-head{justify-content:space-between;align-items:center;height:46px;padding-left:8px;display:flex}.sheet-head h2{margin:0;font-size:16px}button.icon-button{width:44px;height:44px;color:var(--text);background:0 0;justify-content:center;align-items:center;padding:0;display:flex}.keypad{grid-template-columns:repeat(4,1fr);grid-auto-rows:50px;gap:6px;display:grid}.key{border:1px solid var(--line);color:var(--text);font-variant-numeric:tabular-nums;background:#fff;border-radius:12px;justify-content:center;align-items:center;padding:0;font-size:22px;font-weight:400;display:flex}.key.op{background:var(--accent-soft);color:var(--accent-text);border:none;font-size:24px;font-weight:700}.key.sub{background:var(--chip);border:none}.key.small{font-size:15px}.key.wide{grid-column:span 2}.key.done{background:var(--accent-text);color:#fff;border:none;font-size:17px;font-weight:700}.cat-grid{flex-direction:column;gap:6px;display:flex}.cat-rows{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.cat-tile{border:1px solid var(--line);height:68px;color:var(--text);background:#fff;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:0;font-size:13px;font-weight:500;display:flex}.cat-tile[data-active=true]{border:2px solid var(--accent-text)}.cat-children{background:var(--accent-soft);border-radius:10px;grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:6px;padding:6px;display:grid}.cat-children button{min-height:40px;color:var(--text);background:#fff;border-radius:8px;padding:4px;font-size:13px;font-weight:500}.cat-children button[aria-pressed=true]{background:var(--accent-text);color:#fff;font-weight:700}button.field{border:1px solid var(--line);width:100%;min-height:42px;color:var(--text);text-align:left;background:#fff;border-radius:10px;align-items:center;gap:6px;padding:4px 12px;font-size:15px;font-weight:500;display:flex}button.field[aria-expanded=true]{border:2px solid var(--accent)}button.field .placeholder-text{color:var(--muted);font-weight:400}button.field.amount-field{background:var(--accent-soft);font-variant-numeric:tabular-nums;border-color:#0000;flex-direction:column;justify-content:center;align-items:flex-end;gap:0}button.field.amount-field[aria-expanded=true]{border-color:var(--accent)}.amount-expr{color:#5f5852;font-size:12px;font-weight:400}.amount-value{font-size:22px;font-weight:700}.amount-value small{margin-left:3px;font-size:13px;font-weight:400}.income{color:var(--income)}.expense{color:var(--expense)}.month-nav{grid-template-columns:40px 1fr 40px;align-items:center;gap:4px;display:grid}.month-nav .icon-button{width:40px}.summary{font-variant-numeric:tabular-nums;grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.summary-card{background:var(--card);border:1px solid var(--line);border-radius:10px;flex-direction:column;min-width:0;padding:6px 8px;display:flex}.summary-card span{color:var(--muted);font-size:11px}.summary-card strong{text-align:right;white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.summary-card .muted-value{color:var(--muted);font-size:13px;font-weight:500}.calendar{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}.cal-week{text-align:center;color:var(--muted);border-bottom:1px solid var(--line-soft);grid-template-columns:repeat(7,1fr);padding:4px 0;font-size:11px;display:grid}.cal-week .sun{color:var(--expense)}.cal-week .sat{color:var(--income)}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-cell{height:58px;color:var(--text);border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);font-variant-numeric:tabular-nums;background:#fff;border-radius:0;flex-direction:column;align-items:stretch;padding:3px 2px;font-weight:400;display:flex;overflow:hidden}.cal-cell:nth-child(7n){border-right:none}.cal-cell[data-out=true]{color:#8e8780;background:#faf8f5}.cal-cell[data-weekday="0"] .cal-day{color:var(--expense)}.cal-cell[data-weekday="6"] .cal-day{color:var(--income)}.cal-cell[data-out=true] .cal-day{color:#8e8780}.cal-day{text-align:center;border-radius:999px;align-self:center;min-width:22px;height:20px;padding:0 3px;font-size:12px;line-height:20px}.cal-cell[data-today=true] .cal-day{box-shadow:inset 0 0 0 1.5px var(--accent-text);font-weight:700}.cal-cell[aria-pressed=true]{background:var(--accent-soft)}.cal-cell[aria-pressed=true] .cal-day{background:var(--accent-text);color:#fff;font-weight:700}.cal-amount{text-align:center;white-space:nowrap;font-size:10px;line-height:13px}.cal-amounts{flex-direction:column;margin-top:auto;display:flex}.day-detail{flex-direction:column;gap:6px;display:flex}.day-head{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;padding:2px 4px 0;font-size:13px;display:flex}.day-head h2{margin:0;font-size:14px}.day-empty{text-align:center;padding:10px 0;font-size:13px}
