:root{--cream:#faf8f2;--paper:#fffefb;--green:#28554b;--ink:#223a33;--muted:#65746b;--line:#d7dfd2;--terracotta:#b35732;font-family:"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif;color:var(--ink);background:var(--cream);font-size:18px;line-height:1.65;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b35732;outline-offset:4px}[hidden]{display:none!important}h1,h2,p{margin:0}h1{font-size:2.65rem;line-height:1.2;letter-spacing:-.06em;font-weight:750}h2{font-size:1.3rem;line-height:1.4;letter-spacing:-.03em}strong{font-weight:750}.wrap{width:min(1180px,calc(100% - 64px));margin:0 auto}.skip-link{position:fixed;top:-70px;left:20px;padding:12px 20px;background:var(--green);color:white;z-index:10}.skip-link:focus{top:12px}.page-header{border-bottom:1px solid var(--line)}.header-row{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:1.2rem;font-weight:750;letter-spacing:-.035em;text-decoration:none}.brand span{display:block;color:var(--muted);font-size:.48rem;letter-spacing:.17em;margin-top:4px;font-weight:500}.back-link{display:flex;align-items:center;gap:10px;text-decoration:none;min-height:48px;padding:9px 14px;border:1px solid var(--line);border-radius:8px;font-size:.88rem}.back-link:hover{background:#eef1e8}.intro{padding:60px 0 34px}.eyebrow{font-size:.77rem;font-weight:650;color:var(--green);letter-spacing:.015em;margin-bottom:11px}.intro-row{display:flex;align-items:center;justify-content:space-between;gap:24px}.intro-copy{font-size:1.05rem;line-height:1.75;margin-top:20px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:12px 21px;border:1px solid var(--green);border-radius:8px;background:var(--green);color:white;font-weight:650;font-size:.87rem;text-decoration:none;line-height:1.5}.button:hover{background:#1c4037}.button.secondary{background:transparent;color:var(--green);border-color:#bdcdbf}.button.secondary:hover{background:#eef1e8}.privacy-note{display:flex;gap:11px;align-items:baseline;font-size:.78rem;line-height:1.85;margin-top:26px;color:var(--muted)}.privacy-note>span{font-size:.5rem;color:var(--green)}.notice{padding:16px 20px;border:1px solid #dfc2a0;border-radius:8px;font-size:.85rem;margin-top:20px}.warning{background:#fff3dd;color:#74451f}.summary-section{padding:30px 0 35px;border-top:1px solid var(--line)}.section-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.month-control{display:flex;align-items:center;gap:13px}.month-control label{font-size:.78rem;color:var(--muted)}input,select{color:var(--ink);min-height:52px;border:1px solid #b8c6b8;border-radius:7px;background:white;padding:11px 13px;max-width:100%;min-width:0}.month-control input{width:175px;font-size:.89rem}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}.summary-card{padding:24px 27px;border:1px solid var(--line);border-radius:12px;background:var(--paper);min-width:0}.summary-card p{font-size:.83rem;font-weight:650;margin-bottom:10px}.summary-card strong{display:block;font-size:1.85rem;line-height:1.4;letter-spacing:-.035em;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.summary-card span{display:block;color:var(--muted);font-size:.73rem;margin-top:7px}.summary-card.income strong{color:var(--green)}.summary-card.expense strong{color:var(--terracotta)}.summary-card.balance{background:#eaf0e4}.summary-card.balance.negative strong{color:#9d4024}.small-note{margin-top:13px;font-size:.73rem;line-height:1.85;color:var(--muted)}.working-grid{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.45fr);gap:26px;align-items:start}.panel{background:var(--paper);padding:30px;border:1px solid var(--line);border-radius:12px}.entry-panel h2{margin-bottom:23px}.field{margin-bottom:19px}.field label{display:block;font-size:.85rem;font-weight:650;margin-bottom:7px}.optional{margin-left:8px;font-weight:400;font-size:.72rem;color:var(--muted)}.field input,.field select{width:100%;font-size:.9rem}.amount-field{display:flex;align-items:center;border:1px solid #b8c6b8;border-radius:7px;background:white;overflow:hidden}.amount-field>span{padding-left:14px;color:var(--muted);font-size:.88rem}.amount-field input{border:0;border-radius:0}.amount-field:focus-within{outline:3px solid #b35732;outline-offset:4px}.amount-field input:focus-visible{outline:0}.field-help{font-size:.7rem;color:var(--muted);line-height:1.8;margin-top:6px}.form-actions{display:flex;flex-wrap:wrap;gap:10px}.form-actions .button:first-child{flex-grow:1}.form-error{color:#9d4024;font-size:.8rem;margin-top:13px}.records-panel .eyebrow{margin-bottom:5px}.record-count{font-size:.76rem;color:var(--muted);white-space:nowrap}.empty-state{text-align:center;color:var(--muted);padding:74px 10px;font-size:.85rem;line-height:2}.record-list{margin:23px 0 0;padding:0;list-style:none}.record-row{border-top:1px solid var(--line);padding:19px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 20px;align-items:start}.record-meta{display:flex;gap:9px;flex-wrap:wrap;align-items:center;font-size:.71rem;color:var(--muted);margin-bottom:6px}.record-type{border-radius:4px;padding:2px 7px;font-weight:650;background:#edf2e8;color:var(--green)}.record-type.expense{background:#f8eee8;color:#914624}.record-category{font-size:.94rem;font-weight:650;overflow-wrap:anywhere}.record-memo{font-size:.77rem;color:var(--muted);margin-top:4px;overflow-wrap:anywhere;white-space:pre-wrap}.record-money{font-size:1.02rem;font-weight:750;font-variant-numeric:tabular-nums;text-align:right;overflow-wrap:anywhere;max-width:230px}.record-money.income{color:var(--green)}.record-money.expense{color:#9d4828}.record-buttons{display:flex;gap:8px;grid-column:1/-1;justify-content:flex-end}.record-buttons button{min-height:44px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--green);padding:8px 14px;font-size:.72rem}.record-buttons button:hover{background:#eef1e8}.record-buttons button[data-action="delete"]{color:#914624}.undo-panel{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px;border-radius:8px;background:#eef1e8;font-size:.78rem;margin-top:20px}.undo-panel button{background:transparent;border:1px solid #b8c6b8;color:var(--green);border-radius:6px;min-height:44px;padding:7px 12px;white-space:nowrap;font-size:.75rem}.action-status{font-size:.74rem;color:var(--muted);margin-top:14px;min-height:1.5em;overflow-wrap:anywhere}.download-panel{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:34px;padding:29px 30px;background:#edf1e6;border:1px solid var(--line);border-radius:12px}.download-panel p:not(.eyebrow){font-size:.77rem;color:var(--muted);line-height:1.85;margin-top:9px;max-width:410px}.download-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.download-actions .button{font-size:.77rem}.storage-guide{padding:28px 2px 46px;color:var(--muted)}.storage-guide h2{font-size:.87rem;margin-bottom:10px}.storage-guide p{font-size:.73rem;line-height:1.9;max-width:900px;margin-top:6px}.page-footer{border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:17px;align-items:center;justify-content:space-between;padding:26px 0;font-size:.69rem;color:var(--muted)}.page-footer a{min-height:44px;display:flex;align-items:center;color:var(--green)}html.large-text{font-size:21px}html.large-text .summary-card strong{font-size:1.7rem}html.large-text .working-grid{grid-template-columns:minmax(310px,1fr) minmax(0,1.35fr)}
@media(max-width:900px){.wrap{width:calc(100% - 44px)}.working-grid,html.large-text .working-grid{grid-template-columns:1fr}.summary-card{padding:20px}.summary-card strong{font-size:1.55rem}.download-panel{align-items:flex-start;flex-direction:column}.download-actions{justify-content:flex-start}}
@media(max-width:560px){.wrap{width:calc(100% - 36px)}.header-row{min-height:82px;gap:10px}.brand{font-size:1.03rem}.brand span{font-size:.38rem;letter-spacing:.1em}.back-link{font-size:.72rem;gap:6px;padding:8px 10px}.intro{padding:36px 0 26px}h1{font-size:2.1rem}.intro-row{align-items:flex-start;gap:10px}.intro-row .button{font-size:.73rem;padding:10px 12px;min-height:46px;white-space:nowrap}.intro-copy{font-size:.88rem;margin-top:15px}.privacy-note{font-size:.72rem;margin-top:21px;gap:8px}.summary-section{padding-top:25px}.summary-section>.section-row{align-items:flex-start;flex-direction:column;gap:16px}.month-control{width:100%;justify-content:space-between}.month-control input{flex-basis:175px}.summary-grid{grid-template-columns:1fr;gap:10px;margin-top:18px}.summary-card{display:grid;grid-template-columns:1fr minmax(0,1.25fr);align-items:center;gap:4px 10px;padding:16px 18px}.summary-card p{margin:0;font-size:.8rem}.summary-card strong{font-size:1.35rem;text-align:right}.summary-card span{grid-column:1/-1;margin:0;font-size:.67rem}.small-note{font-size:.69rem}.working-grid{gap:20px}.panel{padding:23px 20px}.panel h2{font-size:1.2rem}.field{margin-bottom:16px}.field label{font-size:.79rem}.record-row{gap:9px 10px;grid-template-columns:minmax(0,1fr) minmax(0,.9fr)}.record-money{font-size:.91rem;max-width:none}.record-meta{font-size:.64rem}.record-category{font-size:.84rem}.record-memo{font-size:.7rem}.record-buttons button{font-size:.71rem}.undo-panel{align-items:flex-start;flex-direction:column;gap:7px}.download-panel{padding:23px 20px;margin-top:26px;gap:20px}.download-actions{flex-direction:column;width:100%}.download-actions .button{width:100%}.download-panel h2{font-size:1.2rem}.storage-guide p{font-size:.69rem}.page-footer{align-items:flex-start;flex-direction:column;gap:8px}.notice{padding:14px 16px;font-size:.77rem}html.large-text .summary-card strong{font-size:1.2rem}}
@media(max-width:350px){.wrap{width:calc(100% - 28px)}.brand{font-size:.88rem}.brand span{font-size:.34rem}.back-link{font-size:.65rem;padding:8px}.intro-row{flex-direction:column}.intro-row .button{margin-top:4px}.summary-card{grid-template-columns:1fr}.summary-card strong{text-align:left}.record-row{grid-template-columns:1fr}.record-money{text-align:left}.record-buttons{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.page-header,.entry-panel,.download-actions,.record-buttons,.undo-panel,.page-footer,.intro-row button{display:none}.wrap{width:100%}body{background:white}.working-grid{display:block}.records-panel{border:0;padding:0}.summary-card{break-inside:avoid}.record-row{break-inside:avoid}.intro{padding-top:0}.download-panel{display:none}}
