body{margin:0}#root{min-height:100svh}*{box-sizing:border-box;margin:0;padding:0}body{color:#333;background:#f5f6fa;font-family:Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;line-height:1.6}.app{max-width:900px;margin:0 auto;padding:20px}header{text-align:center;padding:30px 0 20px}header h1{color:#2c3e50;margin-bottom:4px;font-size:1.8rem}.subtitle{color:#7f8c8d;font-size:.9rem}section{margin-bottom:24px}.input-section{background:#fff;border-radius:10px;align-items:center;gap:12px;padding:16px 20px;display:flex;box-shadow:0 2px 8px #0000000f}.input-section label{white-space:nowrap;font-weight:600}.input-section input{border:1px solid #ddd;border-radius:6px;flex:1;padding:8px 12px;font-size:1rem}.parties-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px;display:grid}.party{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 8px #0000000f}.party h2{border-bottom:2px solid;margin-bottom:16px;padding-bottom:8px;font-size:1.1rem}.obligor h2{color:#2980b9;border-color:#3498db}.children-full-width{margin-bottom:24px}.children-full-width .children-block{border-top:none;margin-top:0;padding-top:0}.children-full-width .section-header h4{color:#c0392b;font-size:1.05rem}.form-group{margin-bottom:12px}.form-group label{color:#555;margin-bottom:4px;font-size:.85rem;font-weight:600;display:block}.form-group input[type=text],.form-group input[type=number],.form-group input[type=date],.form-group select{background:#fafafa;border:1px solid #ddd;border-radius:6px;width:100%;padding:8px 10px;font-size:.95rem}.form-group input:focus,.form-group select:focus{background:#fff;border-color:#3498db;outline:none}.age{color:#2980b9;background:#eaf2f8;border-radius:12px;margin-top:4px;padding:2px 10px;font-size:.85rem;font-weight:600;display:inline-block}.date-select-row{gap:4px;display:flex}.date-select{background:#fafafa;border:1px solid #ddd;border-radius:6px;flex:0 0 60px;padding:8px 4px;font-size:.85rem}.date-select:focus{background:#fff;border-color:#3498db;outline:none}.year-select{min-width:160px;flex:auto!important}.age-input-row{align-items:center;gap:4px;display:flex}.age-input{text-align:center;width:100%!important}.age-unit{color:#555;font-size:.9rem;font-weight:600}.hint{color:#999;margin-top:2px;font-size:.75rem;display:block}.income-block{margin-top:8px}.income-block h4{color:#777;border-left:3px solid #ddd;margin-top:10px;margin-bottom:6px;padding-left:4px;font-size:.85rem}.income-row{gap:8px;display:flex}.income-row .form-group{flex:1}.income-row .form-group.ratio{flex:0 0 120px}.base-total{color:#2980b9;background:#eaf2f8;border-radius:6px;margin-top:8px;padding:6px 12px;font-size:.9rem;font-weight:700}.children-section{background:#fff;border-radius:10px;margin-bottom:24px;padding:20px;box-shadow:0 2px 8px #0000000f}.obligee-children .section-header h2{color:#c0392b}.obligor-household .section-header h2{color:#2980b9}.ex-children .section-header h2{color:#e67e22}.ex-spouse-income{border-top:1px solid #eee;margin-top:16px;padding-top:12px}.ex-spouse-income h4{color:#e67e22;border-left:3px solid #e67e22;margin-bottom:8px;padding-left:4px;font-size:.9rem}.base-total.deduction{color:#e67e22;background:#fdf2e9}.remarried-income h4{color:#3498db;border-left-color:#3498db}.sub-heading{color:#555;padding-top:8px;font-size:.9rem;font-weight:700;border-bottom:none!important}.section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.section-header h2{font-size:1.1rem}.sub-header{border-top:1px solid #eee;margin-top:16px;padding-top:12px}.sub-header h3{color:#555;font-size:.95rem}.btn-add{color:#fff;cursor:pointer;background:#27ae60;border:none;border-radius:6px;padding:6px 16px;font-size:.85rem;font-weight:600}.btn-add:hover{background:#219a52}.btn-add-secondary{background:#3498db}.btn-add-secondary:hover{background:#2980b9}.remarried-check{margin-bottom:12px}.checkbox-label{color:#555;cursor:pointer;background:#f0f4f8;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:.95rem;font-weight:600;display:flex}.checkbox-label input[type=checkbox]{accent-color:#3498db;width:18px;height:18px}.empty-note{color:#aaa;padding:8px 12px;font-size:.85rem;font-style:italic}.group-section{border-left:4px solid #95a5a6}.group-section h2{color:#555;border-color:#95a5a6}.target-group{border-left-color:#e74c3c}.target-group h2{color:#c0392b!important;border-color:#e74c3c!important}.group-header{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.group-header .form-group{flex:1;margin-bottom:0}.group-options{flex-wrap:wrap;gap:12px;margin-bottom:12px;display:flex}.group-options .checkbox-label{padding:6px 10px;font-size:.85rem}.children-block{border-top:1px solid #eee;margin-top:12px;padding-top:12px}.children-block h4{color:#555;font-size:.95rem}.group-subtotal{text-align:right;color:#2980b9;background:#eaf2f8;border-radius:6px;margin-top:8px;padding:8px 12px;font-size:.9rem;font-weight:700}.spouse-index{color:#8e44ad;background:#f5eef8;border-radius:6px;margin-top:4px;padding:6px 12px;font-size:.85rem}.add-group-area{text-align:center;margin-bottom:24px}.btn-add-group{color:#fff;cursor:pointer;background:#34495e;border:none;border-radius:8px;padding:10px 24px;font-size:.9rem;font-weight:600}.btn-add-group:hover{background:#2c3e50}.computed.highlight{color:#856404;background:#fff3cd}.child-row{background:#f8faf8;border-radius:8px;grid-template-columns:50px 2fr 70px 90px 60px 60px auto;align-items:end;gap:8px;margin-bottom:8px;padding:12px;display:grid}.child-label{color:#555;white-space:nowrap;padding-bottom:8px;font-weight:700}.child-row .form-group{margin-bottom:0}.computed{color:#27ae60;background:#e8f5e9;border-radius:6px;padding:8px 12px;font-weight:700;display:inline-block}.btn-remove{color:#fff;cursor:pointer;background:#e74c3c;border:none;border-radius:6px;margin-bottom:8px;padding:6px 12px;font-size:.8rem}.btn-remove:hover{background:#c0392b}.results{margin-bottom:24px}.results h2{color:#2c3e50;text-align:center;margin-bottom:16px;font-size:1.3rem}.result-block{background:#fff;border-radius:10px;margin-bottom:12px;padding:20px;box-shadow:0 2px 8px #0000000f}.result-block.detail{border-left:4px solid #f39c12}.result-block.detail h3{color:#e67e22}.result-block h3{color:#555;margin-bottom:12px;font-size:1rem}.result-block table{border-collapse:collapse;width:100%}.result-block td{border-bottom:1px solid #eee;padding:8px 12px}.result-block .amt{text-align:right;white-space:nowrap;font-size:1.05rem;font-weight:600}.result-block .total td{border-top:2px solid #333;border-bottom:none;padding-top:12px;font-size:1.15rem;font-weight:700}.konpi{border-left:4px solid #9b59b6}.konpi h3{color:#8e44ad}.konpi .total td{border-top-color:#9b59b6}.konpi .total .amt{color:#8e44ad;font-size:1.3rem}.youiku{border-left:4px solid #2ecc71}.youiku h3{color:#27ae60}.youiku .total td{border-top-color:#2ecc71}.youiku .total .amt{color:#27ae60;font-size:1.3rem}.formula{color:#999;border-top:1px dashed #eee;margin-top:10px;padding-top:8px;font-size:.75rem}.notes{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 8px #0000000f}.notes h3{color:#555;margin-top:12px;margin-bottom:8px;font-size:.95rem}.notes h3:first-child{margin-top:0}.notes ul{color:#666;margin-bottom:4px;padding-left:20px;font-size:.9rem}.remark-section{background:#fff;border-radius:10px;margin-bottom:24px;padding:20px;box-shadow:0 2px 8px #0000000f}.remark-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.remark-header h2{color:#2c3e50;font-size:1.1rem}.remark-buttons{gap:8px;display:flex}.btn-regen{color:#fff;cursor:pointer;background:#95a5a6;border:none;border-radius:6px;padding:6px 14px;font-size:.85rem;font-weight:600}.btn-regen:hover{background:#7f8c8d}.btn-print{color:#fff;cursor:pointer;background:#2c3e50;border:none;border-radius:6px;padding:6px 20px;font-size:.85rem;font-weight:600}.btn-print:hover{background:#1a252f}.remark-hint{color:#999;margin-bottom:10px;font-size:.8rem}.remark-textarea{color:#333;resize:vertical;white-space:pre-wrap;background:#fafafa;border:1px solid #ddd;border-radius:8px;width:100%;padding:16px;font-family:Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,monospace;font-size:.9rem;line-height:1.7}.remark-textarea:focus{background:#fff;border-color:#3498db;outline:none}@media print{body{background:#fff}.app>:not(.remark-section){display:none!important}.remark-section{box-shadow:none;border-radius:0;padding:0}.remark-header h2{font-size:1.3rem}.remark-buttons,.remark-hint{display:none}.remark-textarea{resize:none;background:#fff;border:none;padding:0;font-size:11pt;line-height:1.8;overflow:visible;height:auto!important}}footer{text-align:center;color:#aaa;padding:20px;font-size:.85rem}@media (width<=700px){.parties-grid{grid-template-columns:1fr}.income-row{flex-direction:column}.income-row .form-group.ratio{flex:1}.child-row{grid-template-columns:1fr 1fr;gap:8px}.child-label{grid-column:1/-1}header h1{font-size:1.4rem}}
