:root{--paper:#f4f6f3;--card:#fff;--ink:#263340;--ink-soft:#71808d;--line:#e0e5e0;--ai:#3b5b83;--ai-deep:#2b4664;--ai-pale:#e9eef5;--plus:#2e7d5b;--minus:#bf5450;--radius:12px;--action-h:76px}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Hiragino Sans,Noto Sans JP,system-ui,sans-serif;font-size:15px;line-height:1.6}.app{flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;display:flex}.site-header{border-bottom:1px solid var(--line);background:var(--paper);align-items:center;min-height:56px;padding:10px 16px;display:flex}.brand-link{color:var(--ai-deep);letter-spacing:.04em;align-items:center;gap:9px;font-size:18px;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.brand-mark{background:var(--ai);color:#fff;border-radius:9px 9px 9px 3px;place-items:center;width:30px;height:30px;font-size:16px;font-weight:800;display:grid;box-shadow:inset 0 -2px #0000001f}.brand-link:hover .brand-mark{background:var(--ai-deep)}.site-footer{padding:24px 16px calc(24px + env(safe-area-inset-bottom));border-top:1px solid var(--line);color:var(--ink-soft);text-align:center;margin-top:auto;font-size:12px}.site-footer nav{flex-wrap:wrap;justify-content:center;gap:8px 16px;margin-bottom:8px;display:flex}.legal-page a,.site-footer a{color:var(--ai)}.app:has(.fixed-bottom-action) .site-footer{padding-bottom:calc(24px + var(--action-h) + env(safe-area-inset-bottom))}.legal-page{width:100%;padding:24px 16px 48px}.legal-page h1{margin:0 0 20px}.legal-page h2{color:var(--ink);margin-top:28px}.legal-page li,.legal-page p{font-size:14px}.legal-page ul{padding-left:1.4em}.legal-updated{color:var(--ink-soft);font-size:12px}.amount{font-variant-numeric:tabular-nums;letter-spacing:.01em}.amount,.btn-primary,h1,h2{font-weight:700}h1,h2{letter-spacing:.02em}h1{font-size:20px}h2{color:var(--ink-soft);margin:24px 0 8px;font-size:15px}.card{border-radius:var(--radius);padding:16px}.card,input,select{background:var(--card);border:1px solid var(--line)}input,select{width:100%;color:var(--ink);border-radius:8px;padding:10px 12px;font-size:16px}a:focus-visible,button:focus-visible,input:focus,select:focus{outline:2px solid var(--ai);outline-offset:1px}label{color:var(--ink-soft);margin:14px 0 4px;font-size:13px;display:block}button{cursor:pointer;border:none;border-radius:8px;font-family:inherit;font-size:15px}.btn-primary{background:var(--ai);color:#fff;width:100%;padding:13px}.btn-primary:active{background:var(--ai-deep)}.btn-primary:disabled{background:var(--ink-soft);cursor:default}.btn-ghost{color:var(--ai);background:0 0;padding:8px 10px;font-weight:600}.btn-danger{color:var(--minus);background:0 0;padding:8px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:8px 14px}.chip.on{background:var(--ai-pale);border-color:var(--ai);color:var(--ai-deep);font-weight:700}.error{color:var(--minus);margin-top:10px;font-size:13px}.empty{color:var(--ink-soft);text-align:center;padding:48px 16px}.readonly-notice{background:var(--ai-pale);color:var(--ai-deep);text-align:center;border-radius:8px;margin:0 0 12px;padding:8px 12px;font-size:13px}.home-intro{margin-bottom:24px}.home-intro h1{margin:0 0 12px;line-height:1.5}.home-intro p{color:var(--ink-soft);margin:0;font-size:14px}.feature-list{margin:0;padding:4px 16px;list-style:none}.feature-item{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:14px 0;display:flex}.feature-item:last-child{border-bottom:none}.feature-icon{background:var(--ai-pale);width:38px;height:38px;color:var(--ai);border-radius:10px;flex:none;place-items:center;display:grid}.feature-item h3{margin:0 0 2px;font-size:15px;line-height:1.5}.feature-item p{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.6}.ad-banner{border-radius:var(--radius);background:#ffffff8c;width:100%;min-height:100px;margin:24px 0;position:relative;overflow:hidden}.ad-label{z-index:1;color:var(--ink-soft);letter-spacing:.08em;font-size:10px;position:absolute;top:4px;left:50%;transform:translate(-50%)}.adsbygoogle{display:block}.ad-placeholder{border:1px dashed var(--line);border-radius:var(--radius);min-height:100px;color:var(--ink-soft);place-items:center;font-size:12px;display:grid}.room-header{justify-content:space-between;align-items:center;gap:8px;padding:14px 16px 10px;display:flex}.room-body{padding:0 16px calc(24px + var(--action-h))}.fixed-bottom-action{width:100%;max-width:480px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);position:fixed;bottom:0;left:50%;transform:translate(-50%)}.balance-row{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:baseline;padding:10px 2px;display:flex}.balance-row:last-child{border-bottom:none}.member-totals{flex-wrap:wrap;justify-content:flex-end;gap:8px 20px;margin-left:12px;display:flex}.member-total{flex-direction:column;align-items:flex-end;display:flex}.member-total-label{color:var(--ink-soft);font-size:12px}.balance-plus{color:var(--plus)}.balance-minus{color:var(--minus)}.transfer{justify-content:space-between;gap:10px;margin-bottom:10px;padding:14px 16px}.expense-item,.modal-overlay,.transfer,.transfer .who{align-items:center;display:flex}.transfer .who{gap:8px;font-weight:600}.transfer .arrow{color:var(--ai);font-weight:700}.transfer .amount{font-size:18px}.expense-item{border-bottom:1px solid var(--line);justify-content:space-between;gap:8px;padding:12px 4px}.expense-item .meta{color:var(--ink-soft);font-size:12px}.expense-item .memo{font-weight:600}.member-history{background:var(--paper);border-radius:8px;margin:0 0 10px;padding:2px 10px;font-size:13px}.member-history .expense-item:last-child{border-bottom:none}.modal-overlay{z-index:100;background:#0006;justify-content:center;padding:16px;position:fixed;inset:0}.modal{width:100%;max-width:360px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
