:root{color:#263b38;background:#f7f3e8;font-family:sans-serif}body{margin:0}button,input{font:inherit}.app-shell{color:#263b38;background:#f7f3e8;max-width:480px;min-height:100vh;margin:auto;padding:0 20px 90px}.muted,.character-copy{color:#687971;line-height:1.7}.breakdown,.expense-list{margin-top:12px}.breakdown p,.small-row{border-bottom:1px solid #e1dccf;justify-content:space-between;margin:0;padding:11px 0;display:flex}.expense-list article{border-bottom:1px solid #e1dccf;align-items:center;display:flex}.expense-main{text-align:left;background:0 0;border:0;flex:1;justify-content:space-between;align-items:center;padding:14px 0;display:flex}.expense-main small{color:#7d877e;margin-top:3px;display:block}.income-entry b{color:#6c866d}.delete-button{color:#a56950;background:0 0;border:0;font-size:12px}.date-field,.form-card label{color:#526555;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;font-size:14px;display:flex}.date-field input,.form-card input,.inline-form input{background:#fffdf7;border:1px solid #d9d4c5;border-radius:10px;min-width:0;padding:10px}input,select,textarea{font-size:16px}.input-kind-toggle{grid-template-columns:1fr 1fr;gap:8px;margin:0 0 18px;display:grid}.input-kind-toggle button{color:#263b38;background:#fffdf7;border:1px solid #ded8c8;border-radius:12px;padding:12px}.input-kind-toggle button.selected{background:#f4dfaa;border-color:#c9952d;font-weight:700}.income-name-field{color:#526555;gap:6px;margin-top:20px;font-size:14px;display:grid}.income-name-field input{box-sizing:border-box;background:#fffdf7;border:1px solid #d9d4c5;border-radius:10px;width:100%;padding:10px}.date-choice{min-width:0;margin:28px 0}.date-choice>p{color:#526555;margin:0 0 8px;font-size:14px}.date-choice-buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.date-choice-buttons button{color:#263b38;background:#fffdf7;border:1px solid #ded8c8;border-radius:14px;min-height:68px;padding:8px 4px}.date-choice-buttons button.selected{background:#f4dfaa;border-color:#c9952d}.date-choice-buttons span,.date-choice-buttons small{display:block}.date-choice-buttons small{color:#687971;margin-top:5px;font-size:10px}.date-choice>label{color:#526555;gap:6px;min-width:0;margin-top:12px;font-size:14px;display:grid}.date-choice>label input{box-sizing:border-box;min-width:0;max-width:100%;background:#fffdf7;border:1px solid #d9d4c5;border-radius:10px;inline-size:100%;padding:10px}.date-choice>label input[type=date]{appearance:none}.form-card{text-align:left;background:#fbf9f0;border:1px solid #ded8c8;border-radius:18px;margin-top:22px;padding:18px}.form-card h2{margin-top:0}.kosukechi-page .form-card label,.settings-page .form-card label{justify-content:stretch;align-items:stretch;gap:6px;display:grid}.kosukechi-page .form-card label input,.settings-page .form-card label input{box-sizing:border-box;width:100%}.inline-form{grid-template-columns:1fr 1fr;gap:8px;display:grid}.inline-form button,.form-card>button{color:#263b38;background:#dae1cf;border:0;border-radius:10px;padding:10px;font-weight:700}.difference{color:#6a511d;background:#f4dfaa;border-radius:10px;padding:10px}.forecast{text-align:left;background:#cfd9c5;border-radius:18px;margin-top:22px;padding:18px}.forecast p{justify-content:space-between;display:flex}.gain{color:#ad5d34}.loss{color:#4d7590}.file-input{margin-top:12px;display:block}.file-input input{margin-top:8px;display:block}.breakdown-with-chart{grid-template-columns:92px minmax(0,1fr);align-items:center;gap:16px;margin-bottom:20px;display:grid}.donut{aspect-ratio:1;border-radius:50%;width:92px;position:relative}.donut:after{content:"";background:#f7f3e8;border-radius:50%;position:absolute;inset:24px}.breakdown{min-width:0}.breakdown p{align-items:baseline;gap:8px}.breakdown p span{overflow-wrap:anywhere;min-width:0}.breakdown p b{text-align:right;flex-shrink:0}.month-picker{justify-content:space-between;align-items:center;margin-top:18px;padding:8px 0;display:flex}.month-picker button{background:#dae1cf;border:0;border-radius:50%;width:32px;height:32px}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.topbar{justify-content:space-between;align-items:center;height:72px;display:flex}.wordmark,.profile-button,.tabbar button,.ghost-button{background:0 0;border:0}.wordmark{font:700 25px Georgia}.wordmark span,h1 strong{color:#d1901d}.profile-button{background:#dae1cf;border-radius:50%;width:32px;height:32px}.eyebrow{color:#708077;font-size:13px;font-weight:700}h1{font:36px/1.25 Georgia,serif}.hero-card{background:#e0b345;border-radius:24px;padding:23px}.hero-card p,.hero-card span,.summary-grid p,.summary-grid span{margin:0;font-size:12px}.hero-card strong{font:38px Georgia;display:block}.summary-grid,.quick-grid{grid-template-columns:1fr 1fr;gap:10px;margin:25px 0;display:grid}.summary-grid article,.quick-grid button,.category-list button{background:#fffdf7;border:1px solid #ded8c8;border-radius:18px;padding:15px}.summary-grid .summary-card{grid-template-rows:auto auto auto;align-content:start;display:grid}.summary-card-label,.summary-card-value,.summary-card-note{width:100%;margin:0;display:block}.summary-card-value{overflow-wrap:anywhere;line-height:1.15}.summary-card-note{margin-top:0}.kosukechi-callout{text-align:left;background:#cfd9c5;border:0;border-radius:18px;gap:13px;width:100%;padding:14px;display:flex}.sprite{color:#fff;background:#6c866d;border-radius:50%;padding:12px}.amount-field{border-bottom:2px solid #798c77;margin:35px 0;display:flex}.amount-field input{text-align:right;background:0 0;border:0;width:100%;font-size:49px}.category-list{flex-wrap:wrap;gap:8px;display:flex}.category-list .selected{background:#f4dfaa}.primary-button{color:#fff;background:#263b38;border:0;border-radius:99px;width:100%;margin-top:35px;padding:17px}.kosukechi-page{text-align:center}.character{color:#fff;background:#6c866d;border-radius:50%;width:110px;height:103px;margin:32px auto;font-size:55px;line-height:103px}.tabbar{background:#f7f3e8;border-top:1px solid #e1dccf;justify-content:center;gap:25px;padding:12px;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar button{font-size:10px;display:grid}.tabbar .active{color:#c47f11;font-weight:700}
