:root{--radius: 16px;--content-w: 480px}:root,[data-theme=cream]{color-scheme:light;--bg: #f6f3ed;--card: #ffffff;--text: #33302b;--muted: #8d867a;--border: #e8e2d6;--primary: #e8590c;--primary-soft: #fdeee3;--green: #2f9e44;--green-soft: #e6f4ea;--danger: #c92a2a;--on-accent: #ffffff;--shadow: rgba(60, 50, 30, .06);--fab-shadow: rgba(232, 89, 12, .4);--overlay: rgba(40, 33, 23, .45)}[data-theme=dark]{color-scheme:dark;--bg: #1b1a19;--card: #292725;--text: #f2eee7;--muted: #a29b91;--border: #3b3835;--primary: #ff922b;--primary-soft: #3d2a18;--green: #51cf66;--green-soft: #1f3a26;--danger: #ff6b6b;--on-accent: #241a10;--shadow: rgba(0, 0, 0, .4);--fab-shadow: rgba(0, 0, 0, .5);--overlay: rgba(0, 0, 0, .65)}[data-theme=sky]{color-scheme:light;--bg: #cfe4f7;--card: #ffffff;--text: #17293b;--muted: #5a7590;--border: #b3d2ed;--primary: #1565a8;--primary-soft: #d5e8fb;--green: #2b8f3d;--green-soft: #e0f0e4;--danger: #c92a2a;--shadow: rgba(23, 41, 59, .1);--fab-shadow: rgba(21, 101, 168, .45);--overlay: rgba(16, 30, 45, .5)}[data-theme=sakura]{color-scheme:light;--bg: #fbd9e5;--card: #ffffff;--text: #3a2129;--muted: #8f6274;--border: #f4c3d5;--primary: #c9376a;--primary-soft: #fcd6e4;--green: #2b8f3d;--green-soft: #e0f0e4;--danger: #c92a2a;--shadow: rgba(58, 33, 41, .09);--fab-shadow: rgba(201, 55, 106, .45);--overlay: rgba(48, 26, 34, .5)}[data-theme=grape]{color-scheme:light;--bg: #ded1f7;--card: #ffffff;--text: #281f3d;--muted: #695d8b;--border: #c9b8ef;--primary: #5f3dc4;--primary-soft: #ded0fb;--green: #2b8f3d;--green-soft: #e0f0e4;--danger: #c92a2a;--shadow: rgba(40, 31, 61, .1);--fab-shadow: rgba(95, 61, 196, .45);--overlay: rgba(32, 24, 50, .5)}[data-theme=lemon]{color-scheme:light;--bg: #fbe7ac;--card: #ffffff;--text: #3a2f12;--muted: #7d6c40;--border: #eed894;--primary: #b26a00;--primary-soft: #fbe7bd;--green: #2b8f3d;--green-soft: #e0f0e4;--danger: #c92a2a;--shadow: rgba(58, 47, 18, .09);--fab-shadow: rgba(178, 106, 0, .45);--overlay: rgba(46, 37, 14, .5)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,sans-serif;-webkit-font-smoothing:antialiased;touch-action:manipulation}#root{max-width:var(--content-w);margin:0 auto}.screen{padding:20px 16px calc(96px + var(--ad-height, 0px) + env(safe-area-inset-bottom));min-height:100dvh}.app-title{font-size:22px;font-weight:800;margin:0 0 16px}h2{margin:0}.muted{color:var(--muted);font-weight:400}.small{font-size:13px}.center{text-align:center}.card{background:var(--card);border-radius:var(--radius);padding:16px;margin-bottom:14px;box-shadow:0 1px 3px var(--shadow)}.total-card{display:flex;align-items:baseline;justify-content:space-between}.total-amount{font-size:28px;font-weight:800;font-variant-numeric:tabular-nums}.card-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;margin-bottom:6px}.card-title-amount{margin-left:auto;font-size:18px}.balance-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;font-size:15px}.balance-row+.balance-row{border-top:1px solid var(--border)}.balance-zero,.balance-zero b{color:var(--muted);font-weight:500}.hint-line{margin:10px 0 0}.balance-left{display:flex;align-items:center;gap:6px}.balance-right{display:flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums}.dot{width:12px;height:12px;border-radius:50%;display:inline-block;flex-shrink:0}.dot-btn{width:18px;height:18px;border:none;padding:0;cursor:pointer}.btn{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:12px;padding:10px 16px;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.btn-small{padding:6px 12px;font-size:13px;border-radius:10px}.btn-block{display:block;width:100%;margin-top:8px}.btn-danger{background:var(--danger);border-color:var(--danger);color:var(--on-accent)}.btn-danger-ghost{background:none;border:none;color:var(--danger)}.settle-btn{margin-left:4px}.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.chip{border:1.5px solid var(--border);background:var(--card);color:var(--text);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600;font-family:inherit;display:inline-flex;align-items:center;gap:6px;cursor:pointer;-webkit-tap-highlight-color:transparent}.chip.on{background:var(--primary);border-color:var(--primary);color:var(--on-accent);font-weight:700}.chip.on .dot{box-shadow:0 0 0 2px var(--on-accent)}.chip:active{transform:scale(.96)}.badge{font-size:12px;font-weight:700;border-radius:6px;padding:2px 7px}.badge-unpaid{background:var(--primary-soft);color:var(--primary)}.badge-paid{background:var(--green-soft);color:var(--green)}select.preset-select{width:100%;border:1.5px solid var(--border);border-radius:12px;padding:12px;font-size:16px;font-family:inherit;background:var(--card);color:var(--text);margin-bottom:8px}input[type=text],input[type=number],input[type=date]{width:100%;border:1.5px solid var(--border);border-radius:12px;padding:12px;font-size:16px;font-family:inherit;background:var(--card);color:var(--text)}input:focus{outline:2px solid var(--primary);outline-offset:-1px}.fab{position:fixed;bottom:calc(84px + var(--ad-height, 0px) + env(safe-area-inset-bottom));right:calc((100vw - min(100vw,var(--content-w)))/2 + 16px);width:58px;height:58px;border-radius:50%;border:none;background:var(--primary);color:var(--on-accent);font-size:30px;line-height:1;box-shadow:0 4px 14px var(--fab-shadow);cursor:pointer;z-index:20}.fab:active{transform:scale(.94)}.tabbar{position:fixed;bottom:var(--ad-height, 0px);left:50%;transform:translate(-50%);width:min(100vw,var(--content-w));display:flex;background:var(--card);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);z-index:10}.tab{flex:1;border:none;background:none;color:var(--muted);font-size:11px;font-weight:700;font-family:inherit;padding:8px 0 10px;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;-webkit-tap-highlight-color:transparent}.tab.on{color:var(--primary)}.tab-icon{font-size:20px}.overlay{position:fixed;inset:0;background:var(--overlay);z-index:30;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--bg);width:min(100vw,var(--content-w));max-height:92dvh;overflow-y:auto;border-radius:20px 20px 0 0;padding:16px 16px calc(24px + var(--ad-height, 0px) + env(safe-area-inset-bottom))}.sheet-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.sheet-header h2{font-size:18px}.btn-close{border:none;background:var(--border);color:var(--muted);width:32px;height:32px;border-radius:50%;font-size:18px;cursor:pointer}.field{margin-bottom:16px}.field-label{display:block;font-size:13px;font-weight:700;color:var(--muted);margin-bottom:6px}.paid-toggle{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;margin-bottom:12px}.paid-toggle input{width:18px;height:18px}.dialog{background:var(--card);border-radius:var(--radius);padding:20px;width:min(calc(100vw - 48px),360px);margin:auto}.dialog-message{margin:0 0 16px;font-size:15px;line-height:1.6}.dialog-actions{display:flex;gap:10px;justify-content:flex-end}.filter-row{display:flex;gap:8px;margin-bottom:14px}.month-header{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;font-weight:700;color:var(--muted);margin:18px 4px 8px}.list-card{padding:4px 16px}.entry-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:12px 0;border:none;border-bottom:1px solid var(--border);background:none;font-family:inherit;font-size:15px;color:var(--text);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.entry-row:last-child{border-bottom:none}.entry-main{display:flex;flex-direction:column;gap:2px;min-width:0}.entry-names{display:flex;align-items:center;gap:6px;font-weight:700}.entry-desc{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entry-right{display:flex;align-items:center;gap:8px;flex-shrink:0;font-variant-numeric:tabular-nums}.entry-delete{border:none;background:none;font-size:15px;padding:2px 4px;cursor:pointer;opacity:.55;-webkit-tap-highlight-color:transparent}.entry-delete:active{transform:scale(.88)}.section-title{font-size:15px;font-weight:800;margin-bottom:10px}.member-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.member-row input{flex:1;min-width:0}.member-name{flex:1;text-align:left;border:none;background:none;font:inherit;font-weight:600;padding:4px 0;cursor:pointer;color:var(--text)}.add-row{display:flex;gap:8px;margin-top:12px}.add-row input{flex:1;min-width:0}.add-row .amount-input{flex:0 0 90px}.data-actions{display:flex;flex-wrap:wrap;gap:10px}.data-actions .btn{text-align:center}.empty{text-align:center;padding:40px 16px;color:var(--muted)}.empty p:first-child{font-size:17px;font-weight:700;color:var(--text)}.onboarding{text-align:center;padding:28px 20px}.onboarding-emoji{font-size:40px;margin:0 0 8px}.onboarding p{margin:0 0 16px;line-height:1.7}.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.theme-swatch{border:2px solid transparent;background:none;border-radius:14px;padding:6px 4px 8px;font-family:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;-webkit-tap-highlight-color:transparent}.theme-swatch.on{border-color:var(--primary);background:var(--primary-soft)}.theme-swatch:active{transform:scale(.96)}.theme-preview{position:relative;width:100%;aspect-ratio:1.5;border-radius:10px;background:var(--bg);border:1.5px solid var(--border);overflow:hidden}.theme-preview:before{content:"";position:absolute;left:10%;right:10%;top:18%;height:32%;border-radius:4px;background:var(--card);border:1px solid var(--border)}.theme-dot{position:absolute;right:10%;bottom:14%;width:30%;height:24%;border-radius:999px;background:var(--primary)}.theme-name{font-size:12px;font-weight:700;color:var(--text)}body.keyboard-open .tabbar,body.keyboard-open .fab{display:none}
