:root{color:#213547;font-synthesis:none;text-rendering:optimizelegibility;--surface:#fffcf6;--page:#f7f2e8;--ink:#213547;--muted:#5d6b74;--border:#d7d0c5;--brand-soft:#d8eef2;--brand:#2f6f82;--income:#a8d8b0;--expense:#f1b1b1;--balance:#bfd49a;--danger-soft:#f9dedc;--danger:#b3261e;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;background:#f7f2e8;font-family:Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--page);min-height:100dvh}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline:3px solid color-mix(in srgb, var(--brand) 72%, white);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.4}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-stage{background:var(--surface);width:100%;max-width:360px;min-height:100dvh;margin:0 auto;position:relative}.phone-frame{background:var(--surface);flex-direction:column;width:100%;min-height:100dvh;max-height:100dvh;display:flex;overflow:hidden}.status-bar{flex:0 0 24px;align-items:center;height:24px;padding:0 16px;font-size:11px;font-weight:500;display:flex}.screen-main{outline:none;flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.app-bar{flex:0 0 56px;grid-template-columns:48px 1fr 48px;align-items:center;height:56px;padding:0 16px;display:grid}.app-bar h1{text-align:left;grid-column:2;margin:0;font-size:20px;font-weight:700;line-height:1.25}.icon-button{border-radius:var(--radius-md);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:48px;height:48px;padding:0;font-size:30px;line-height:1;display:inline-flex}.month-selector{flex:0 0 48px;justify-content:space-between;align-items:center;width:100%;height:48px;display:flex}.month-selector h1{text-align:center;margin:0;font-size:18px;font-weight:700;line-height:1.35}.button{border-radius:var(--radius-md);background:var(--surface);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;width:100%;min-height:56px;padding:0 16px;font-size:12px;font-weight:500;line-height:16px;display:inline-flex}.button.primary{border-color:var(--brand);background:var(--brand);color:#fff}.button.secondary{border-color:var(--brand);background:var(--surface);color:var(--ink)}.button.danger{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.button.compact{min-height:48px}.flex-spacer{flex:auto;min-height:1px}.mascot{object-fit:contain;width:88px;height:88px;display:block}.center-copy{color:var(--muted);text-align:center;margin:0;font-size:14px;line-height:22px}.setup-screen{flex-direction:column;flex:1;align-items:center;gap:14px;min-height:0;padding:24px 16px 16px;display:flex}.setup-screen h1{text-align:center;margin:0;font-size:24px;font-weight:700;line-height:1.35}.setup-mascot{flex:0 0 88px}.field-card{border:1px solid var(--brand);border-radius:var(--radius-md);background:var(--surface);width:100%;min-height:96px;color:var(--muted);flex-direction:column;justify-content:flex-start;gap:4px;padding:12px 16px;font-size:12px;font-weight:500;line-height:16px;display:flex}.field-card input{width:100%;min-height:48px;color:var(--ink);background:0 0;border:0;outline:0;padding:0;font-size:16px;font-weight:400;line-height:24px}.field-card input::placeholder,.amount-input-line input::placeholder{color:color-mix(in srgb, var(--muted) 72%, transparent)}.inline-won-input{color:var(--ink);align-items:center;font-size:16px;font-weight:400;display:flex}.inline-won-input input{min-width:1ch;max-width:calc(100% - 20px)}.bottom-navigation{border:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--surface);flex:0 0 72px;align-items:center;gap:4px;width:100%;min-height:72px;padding:8px;display:flex}.bottom-navigation button{border-radius:var(--radius-md);cursor:pointer;background:0 0;border:0;flex:1;min-width:0;min-height:56px;padding:0 8px;font-size:12px;font-weight:500}.bottom-navigation button.active{background:var(--brand);color:#fff}.home-screen,.summary-screen,.settings-screen{overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;flex:1;min-height:0;padding:10px 16px 16px;display:flex;overflow-y:auto}.home-screen{gap:10px}.balance-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--balance);text-align:center;flex-direction:column;flex:0 0 112px;justify-content:center;align-items:center;gap:4px;width:100%;min-height:112px;padding:12px;display:flex}.balance-card>span,.balance-card small{color:var(--muted);font-size:12px;line-height:16px}.balance-card strong,.closing-hero strong{font-size:32px;font-weight:700;line-height:1.2}.empty-state{flex-direction:column;flex:1;align-items:center;gap:14px;min-height:340px;padding-top:38px;display:flex}.empty-state h2{margin:0;font-size:20px;line-height:1.35}.empty-state p{color:var(--muted);text-align:center;margin:0;font-size:14px;line-height:22px}.summary-pair,.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.summary-tile{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;justify-content:space-between;align-items:flex-start;min-width:0;min-height:88px;padding:12px;display:flex}.summary-tile.closing{background:var(--balance)}.summary-tile strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:16px;font-weight:400;line-height:24px;overflow:hidden}.tile-label{color:var(--muted);font-size:12px;font-weight:500;line-height:16px}.type-indicator{color:var(--muted);align-items:center;gap:4px;font-size:12px;font-weight:500;line-height:16px;display:inline-flex}.type-dot{flex:0 0 10px;width:10px;height:10px;display:block}.transaction-groups{flex-direction:column;gap:12px;display:flex}.date-group h2{margin:0 0 8px;font-size:14px;font-weight:500;line-height:20px}.transaction-list{flex-direction:column;gap:6px;display:flex}.transaction-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:76px;padding:12px 16px;display:flex}.transaction-row.static-row{cursor:default}.transaction-info,.transaction-amount{flex-direction:column;gap:4px;min-width:0;display:flex}.transaction-info{align-items:flex-start}.transaction-amount{text-align:right;align-items:flex-end}.transaction-info>strong,.transaction-amount>strong{text-overflow:ellipsis;white-space:nowrap;max-width:145px;font-size:16px;font-weight:400;line-height:24px;overflow:hidden}.transaction-amount small{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:500;line-height:16px}.record-button{flex:0 0 56px}.record-form,.detail-screen{flex-direction:column;flex:1;gap:12px;min-height:0;padding:12px 16px 16px;display:flex;overflow-y:auto}.detail-screen{gap:14px}.segmented{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--brand-soft);flex:0 0 56px;gap:4px;width:100%;min-height:56px;padding:4px;display:flex}.segmented>button{border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;flex:1;min-width:0;min-height:48px}.segmented>button.selected{background:var(--surface)}.amount-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:100%;min-height:104px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:12px 16px;font-size:13px;line-height:18px;display:flex}.amount-card.error{border-color:var(--danger);min-height:112px;color:var(--danger);align-items:flex-start}.amount-card>span:first-child{align-items:center;gap:4px;display:inline-flex}.amount-input-line{width:100%;color:var(--ink);justify-content:center;align-items:center;font-size:30px;font-weight:700;line-height:1.2;display:flex}.amount-card.error .amount-input-line{justify-content:flex-start;font-size:16px;font-weight:400}.amount-input-line input{width:min(230px,100% - 24px);min-height:48px;color:inherit;font:inherit;text-align:right;background:0 0;border:0;outline:0;padding:0}.amount-card.error .amount-input-line input{text-align:left;width:auto;min-width:1ch;max-width:calc(100% - 24px)}.error-message{color:var(--danger);font-size:12px;font-weight:500;line-height:16px}.expected-balance{border-radius:var(--radius-md);background:var(--balance);justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:64px;padding:0 16px;display:flex}.expected-balance span{color:var(--muted);font-size:13px}.expected-balance strong{white-space:nowrap;font-size:18px}.stored-values{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--brand-soft);flex-direction:column;width:100%;min-height:200px;margin:0;padding:8px 16px;display:flex}.stored-values>div{justify-content:space-between;align-items:center;gap:16px;min-height:48px;font-size:14px;display:flex}.stored-values dt{color:var(--muted)}.stored-values dd{text-overflow:ellipsis;white-space:nowrap;max-width:70%;margin:0;font-weight:500;overflow:hidden}.info-notice,.memory-note{border-radius:var(--radius-md);background:var(--brand-soft);flex-direction:column;justify-content:center;gap:4px;width:100%;min-height:74px;padding:12px 16px;display:flex}.info-notice strong,.memory-note strong{font-size:13px;font-weight:500}.info-notice span,.memory-note span{color:var(--muted);font-size:12px;line-height:18px}.summary-screen{gap:18px;padding-top:12px}.summary-screen .month-selector h1{font-size:20px}.section-eyebrow{color:var(--muted);margin:0;font-size:13px}.closing-hero{border-radius:var(--radius-lg);background:var(--balance);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:100%;min-height:120px;display:flex}.closing-hero span{color:var(--muted);font-size:12px}.formula-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--brand-soft);flex-direction:column;justify-content:center;gap:8px;min-height:92px;padding:14px 16px;display:flex}.formula-card strong{font-size:13px;font-weight:500}.formula-card span{font-size:15px;font-weight:700;line-height:22px}.settings-screen{gap:10px;padding-top:12px}.settings-screen>h1{margin:0;font-size:22px;line-height:1.3}.settings-screen>h2{color:var(--muted);margin:0;font-size:13px;font-weight:500;line-height:18px}.setting-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--brand-soft);text-align:left;cursor:pointer;flex:0 0 56px;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:56px;padding:0 16px;display:flex}.setting-row strong{font-size:14px;font-weight:500}.setting-row span{color:var(--muted);white-space:nowrap;font-size:13px}.passive-row{cursor:default}.danger-row{border-color:color-mix(in srgb, var(--danger) 24%, var(--border));background:var(--danger-soft);color:var(--danger)}.danger-row span{color:var(--danger)}.adjustment-form{border:1px solid var(--border);border-radius:var(--radius-md);grid-template-columns:minmax(0,1fr) 104px;align-items:end;gap:8px;padding:12px;display:grid}.adjustment-form label{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.adjustment-form input{border:1px solid var(--brand);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:48px;color:var(--ink);padding:0 12px}.adjustment-warning{color:var(--muted);grid-column:1/-1;margin:0;font-size:12px;line-height:18px}.memory-note{flex:none;min-height:64px}.dialog-layer{z-index:20;position:absolute;inset:0;overflow:hidden}.dialog-dim{background:#2135477a;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.bottom-sheet{background:var(--surface);border-radius:24px 24px 0 0;flex-direction:column;align-items:center;gap:10px;min-height:320px;padding:12px 16px 16px;display:flex;position:absolute;bottom:0;left:0;right:0}.sheet-handle{background:var(--muted);border-radius:999px;flex:0 0 4px;width:40px;height:4px}.bottom-sheet h2{margin:0;font-size:20px;line-height:1.35}.bottom-sheet p{color:var(--muted);text-align:center;margin:0;font-size:13px;line-height:20px}.delete-warning{border-radius:var(--radius-md);background:var(--danger-soft);width:100%;min-height:48px;color:var(--danger);text-align:center;justify-content:center;align-items:center;padding:8px 12px;font-size:12px;font-weight:500;display:flex}.snackbar{z-index:15;border-radius:var(--radius-md);background:var(--brand);color:#fff;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:0 16px;font-size:14px;display:flex;position:absolute;left:16px;right:16px;box-shadow:0 8px 24px #21354738}.snackbar.above-navigation{bottom:80px}.snackbar.above-actions{bottom:156px}.snackbar button{border-radius:var(--radius-sm);color:#fff;cursor:pointer;background:0 0;border:0;min-width:48px;min-height:48px;padding:0 4px;font-size:12px;font-weight:700}@media (width>=600px) and (height>=720px){body{place-items:center;padding:24px;display:grid}.app-stage,.phone-frame{min-height:min(800px,100dvh - 48px);max-height:min(800px,100dvh - 48px)}.app-stage{border:1px solid var(--border);border-radius:24px;width:360px;overflow:hidden;box-shadow:0 18px 60px #21354729}}@media (width<=239px){.setup-screen,.home-screen,.summary-screen,.settings-screen,.record-form,.detail-screen,.app-bar{padding-inline:8px}.summary-pair,.summary-grid{grid-template-columns:minmax(0,1fr)}.transaction-row{flex-direction:column;align-items:stretch}.transaction-amount{text-align:left;align-items:flex-start}.amount-input-line{font-size:24px}.setting-row{padding-inline:8px}}@media (height<=680px){.setup-screen{overflow-y:auto}.setup-screen .flex-spacer{min-height:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
