:root{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:#242726;background:#f7f7f5;font-synthesis:none;--muted:#686d69;--line:#e4e7e3;--accent:#9a3b53;--soft:#f3e9ed}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,label.file-button,summary{cursor:pointer}button{border:0}button:disabled{cursor:not-allowed;opacity:.42}a{color:inherit;text-decoration:none}button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,.file-button:focus-within{outline:3px solid #ad647a;outline-offset:4px}input,textarea,select{max-width:100%}button{transition:background .18s,transform .18s}button:not(:disabled):active{transform:translateY(1px)}.site-header{max-width:1160px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:30px 30px}.brand{display:flex;align-items:center;gap:12px;font-size:21px;font-weight:650;letter-spacing:.06em}.brand small{display:block;font-size:9px;letter-spacing:.21em;font-weight:500;margin-top:4px;color:var(--muted)}.brand-mark{color:var(--accent);font-size:39px;line-height:1}.privacy-pill{font-size:11px;padding:10px 14px;border:1px solid var(--line);border-radius:99px;color:#515851;display:flex;gap:7px}main{max-width:1100px;padding:0 30px;margin:auto}.intro{padding:34px 0 34px}.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:600;color:var(--accent);margin:0 0 16px}h1{font-size:clamp(29px,3.7vw,44px);line-height:1.5;letter-spacing:.01em;font-weight:600;margin:0 0 16px}h1 span{color:#676d67}.intro>p:last-child{font-size:13px;line-height:1.95;color:var(--muted);margin:0}.workspace{display:grid;grid-template-columns:minmax(0,1.24fr) minmax(0,1fr);background:#fff;border-radius:28px;box-shadow:0 14px 60px #22352508;overflow:hidden}.input-panel{padding:30px}.section-heading{display:flex;align-items:center;gap:10px;margin-bottom:25px}.section-heading h2{font-size:15px;font-weight:600;margin:0}.step{font-size:11px;color:#7b807b;letter-spacing:.08em}.text-button{padding:6px 0;color:#646b64;background:none;font-size:12px}.section-heading>.text-button{margin-left:auto}.dropzone{background:#f8f9f7;border:1px dashed #c9cfc8;border-radius:20px;padding:32px 20px;text-align:center;transition:background .18s}.dropzone.drag{background:var(--soft);border-color:var(--accent)}.dropzone svg{color:#7e897e}.dropzone h3{font-size:15px;margin:19px 0 9px;font-weight:600}.dropzone p{font-size:11px;color:var(--muted);margin:0 0 22px}.file-button{display:inline-block;background:#fff;border:1px solid #d8ddd7;padding:11px 23px;border-radius:99px;font-size:12px;position:relative;font-weight:600}.file-button input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.dropzone small{display:block;font-size:10px;margin-top:20px;color:#777d77;line-height:1.7}.status{font-size:11px;color:#697169;line-height:1.75;min-height:20px;margin:14px 0}.status.error{color:#9a3b53}.text-entry{padding-top:12px}summary{list-style:none;font-size:12px;color:#535b53;line-height:1.7}summary::-webkit-details-marker{display:none}summary:before{content:'＋';margin-right:9px;color:#737b73}details[open]>summary:before{content:'−'}textarea{display:block;resize:vertical;min-height:80px;background:#f7f8f6;border:1px solid var(--line);border-radius:12px;width:100%;padding:12px;font-size:12px;line-height:1.8;margin-top:14px;color:#343b34}.secondary-button{font-size:12px;background:#eff1ee;padding:10px 16px;border-radius:99px;margin-top:12px}.input-footer{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:18px;flex-wrap:wrap}.input-footer>span{font-size:10px;color:#7d837d}.input-footer button{color:var(--accent)}.manual-start{margin-top:12px}.result-panel{background:#f0f2ee;padding:30px}.draft-label{margin-left:auto;font-size:10px;color:#757c75}.period-label{display:block;font-size:11px;color:var(--muted);margin-bottom:8px}.period-label span{color:#888f88;margin-left:5px}#period{background:#ffffffa6;border:1px solid #e0e4dd;border-radius:10px;width:100%;padding:10px 12px;font-size:12px;min-height:40px;color:#333}.expense-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:25px}.expense-row h3{font-size:14px;font-weight:600;margin:0 0 8px}.expense-row h3 span{font-size:10px;color:#697669;background:#e1e7de;padding:4px 7px;border-radius:99px;margin-left:5px;font-weight:500}.expense-row p{font-size:10px;color:#787e78;margin:0}.expense-numbers{text-align:right}.expense-numbers strong{display:block;font-size:23px;font-weight:550;font-variant-numeric:tabular-nums}.expense-numbers strong small{font-size:12px;font-weight:400}.expense-numbers>span{display:block;font-size:10px;color:#747b74;margin-top:5px}.expense-numbers b{font-weight:400}.total{margin-top:25px;padding-top:22px;border-top:1px solid #d9dfd5;display:grid;grid-template-columns:1fr auto;align-items:center;gap:9px}.total>span{font-size:13px;font-weight:600}.total strong{font-size:35px;letter-spacing:-.04em;font-weight:600;font-variant-numeric:tabular-nums}.total small{font-size:13px;letter-spacing:0;font-weight:400}.total p{grid-column:1/-1;margin:0;text-align:right;font-size:11px;color:#747c72}.total p b{font-weight:400}.calculation-note{font-size:10px;color:#757d72;line-height:1.8;margin:16px 0 21px}.confirm{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.7;color:#50594e}.confirm input{accent-color:#374434;margin:3px 0 0;width:15px;height:15px;flex:none}.primary-button{margin-top:18px;background:#29372c;color:#fff;padding:15px 14px;min-height:49px;border-radius:99px;width:100%;font-size:13px;font-weight:500}.primary-button>span{font-size:18px;margin-right:6px}.copy-status{font-size:11px;color:#52644f;min-height:14px;margin:10px 0}.output-details summary{font-size:11px;color:#717b6d}.output-details textarea{font-size:11px;background:#fff}.bottom-info{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:25px 0}.bottom-info p{font-size:11px;color:var(--muted);line-height:1.95}.bottom-info label{display:block;font-size:11px;color:var(--muted);margin:16px 0 8px}.bottom-info select{width:100%;padding:10px;background:#fff;border:1px solid var(--line);border-radius:10px;font-size:12px}footer{max-width:1100px;padding:24px 30px 32px;margin:auto;display:flex;justify-content:space-between;font-size:10px;color:#91968e}footer>span:first-child{font-weight:600}.review{margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}.review summary{display:flex;align-items:center;gap:4px}.count{margin-left:auto;font-size:10px;color:var(--accent);background:var(--soft);padding:3px 8px;border-radius:99px}.hint{font-size:11px;line-height:1.8;color:var(--muted);margin:15px 0}.review-row{padding:13px 0;display:grid;grid-template-columns:20px 1fr 100px;gap:9px;align-items:start}.review-row>input[type=checkbox]{accent-color:#374434;margin:11px 0 0;width:15px;height:15px}.review-row input[type=text],.review-row input[type=number]{width:100%;min-width:0;background:#f7f8f6;border:1px solid var(--line);border-radius:8px;padding:9px;font-size:11px}.review-row input[type=number]{text-align:right}.review-row small{font-size:10px;line-height:1.6;color:#777;display:block;overflow-wrap:anywhere;margin-top:6px}.review-row .issue{color:var(--accent)}.row-amount{display:flex;align-items:center;gap:3px;font-size:10px}.row-meta{grid-column:2/-1;font-size:10px;color:#777}.progress-area{padding:16px 0 0}.progress-label{display:flex;justify-content:space-between;gap:12px;font-size:11px;line-height:1.7;align-items:center}progress{width:100%;height:5px;border:0;accent-color:#7c8b79;background:#f0f2ee;margin-top:9px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}[hidden]{display:none!important}@media(max-width:760px){.site-header{padding:24px}.brand{font-size:18px}.brand-mark{font-size:32px}.privacy-pill{font-size:9px;padding:8px 10px}main{padding:0 20px}.intro{padding:24px 4px 30px}h1{font-size:31px}.intro>p:last-child{font-size:12px}.workspace{grid-template-columns:1fr;border-radius:24px}.input-panel,.result-panel{padding:25px}.bottom-info{grid-template-columns:1fr;gap:18px;padding:23px 5px}.expense-row{margin-top:25px}.total strong{font-size:38px}footer{padding:15px 25px 30px}.review-row{grid-template-columns:18px minmax(0,1fr) 90px}.dropzone{padding:27px 12px}}@media(max-width:360px){.privacy-pill{font-size:8px}.brand{font-size:16px}.site-header{padding:20px 16px}main{padding:0 14px}.input-panel,.result-panel{padding:21px}h1{font-size:27px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
