:root{color-scheme:light;--bg:#f4f1ea;--panel:#fffdf8;--panel-alt:#f8f4ec;--line:#d9cfbf;--text:#1d2731;--muted:#5d6a76;--accent:#8b6b3f;--accent-strong:#6e512b;--error:#b43c32;--shadow:0 18px 40px rgba(47,37,23,0.08);--radius:20px}*{box-sizing:border-box}html{min-height:100%}body{min-height:100vh;margin:0;background:radial-gradient(circle at top left,rgba(139,107,63,.12),transparent 32%),linear-gradient(180deg,#f8f5ef 0,var(--bg) 100%);color:var(--text);font-family:Hiragino Sans,Yu Gothic,sans-serif}.page-shell{max-width:1400px;margin:0 auto;padding:32px 20px 48px}.tool-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.9fr);grid-gap:24px;gap:24px;align-items:start}.panel{background:color-mix(in srgb,var(--panel) 94%,white 6%);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.form-panel{padding:28px}.result-panel{position:-webkit-sticky;position:sticky;top:20px;padding:24px}.page-intro{margin-bottom:24px}.family-card h3,.page-intro h1,.result-panel h2,.result-section h3,.section-block h2{font-family:BIZ UDPMincho,Yu Mincho,serif;letter-spacing:.02em;margin:0}.muted,.page-intro p{color:var(--muted)}.eyebrow,.label,.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-strong)}.pill{padding:6px 10px;border-radius:999px;background:rgba(139,107,63,.12)}.section-block{padding-top:24px;border-top:1px solid rgba(139,107,63,.16);margin-top:24px}.family-card__header,.housing-card__header,.result-panel__header,.section-block__header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.grid{display:grid;grid-gap:16px;gap:16px}.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.stack{display:grid;grid-gap:16px;gap:16px}.checkbox,.field{display:grid;grid-gap:8px;gap:8px;font-size:14px}.checkbox{align-content:center;grid-template-columns:18px 1fr}.checkbox input{margin-top:3px}.checkbox--wide{margin-top:18px;padding:14px 16px;border:1px solid rgba(139,107,63,.18);border-radius:14px;background:var(--panel-alt)}.checkbox--wide small{display:block;margin-top:4px;color:var(--muted);font-size:12px}button,input,select{font:inherit}input,select{width:100%;border:1px solid var(--line);border-radius:12px;background:white;padding:12px 14px;color:var(--text)}input:focus,select:focus{outline:2px solid rgba(139,107,63,.22);outline-offset:1px;border-color:var(--accent)}.button{border:none;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:white;padding:10px 16px;cursor:pointer}.button--ghost{background:transparent;color:var(--accent-strong);border:1px solid rgba(139,107,63,.3)}.family-card,.housing-card{padding:18px;border-radius:18px;background:var(--panel-alt);border:1px solid rgba(139,107,63,.14)}.subsection{margin-top:12px;display:grid;grid-gap:16px;gap:16px}.alert{padding:14px 16px;border-radius:14px;margin-bottom:20px}.alert--error{background:rgba(180,60,50,.09);border:1px solid rgba(180,60,50,.22);color:var(--error)}.error{color:var(--error);font-size:12px}.result-hero{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;margin:18px 0 22px}.result-hero>div{padding:16px;background:var(--panel-alt);border-radius:16px;border:1px solid rgba(139,107,63,.14)}.result-hero strong{display:block;margin-top:6px;font-size:28px;font-family:BIZ UDPMincho,Yu Mincho,serif}.summary-list{display:grid;grid-gap:10px;gap:10px;margin:0}.summary-list div{display:flex;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px dashed rgba(139,107,63,.2)}.summary-list--compact div{padding-bottom:8px}.summary-list dd,.summary-list dt{margin:0}.result-section{margin-top:24px}.table{width:100%;border-collapse:collapse;margin-top:10px;font-size:14px}.table td,.table th{padding:10px 8px;border-bottom:1px solid rgba(139,107,63,.14);text-align:left;vertical-align:top}@media (max-width:1080px){.tool-layout{grid-template-columns:1fr}.result-panel{position:static;order:-1}}@media (max-width:720px){.page-shell{padding:20px 14px 32px}.form-panel,.result-panel{padding:18px}.grid--2,.result-hero{grid-template-columns:1fr}.family-card__header,.housing-card__header,.result-panel__header,.section-block__header{align-items:flex-start;flex-direction:column}}.assumption-box{margin-bottom:20px;padding:16px 18px;border:1px solid rgba(139,107,63,.18);border-radius:16px;background:var(--panel-alt)}.assumption-box strong{display:block;margin-bottom:6px;font-family:BIZ UDPMincho,Yu Mincho,serif}.assumption-box p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}