:root{--bg: #f4f1ea;--surface: #fffdf7;--text: #2a2c27;--muted: #6e736a;--border: #eee9e0;--accent: #2d4a3e;--accent-strong: #233f33;--accent-soft: #e7ede8;--link: #3c5a52;--brass: #a98b5d;--band-stable: #3f6b54;--band-realistic: #4c6b62;--band-needs: #8f7344;--band-tough: #8a6749;--child-1: #3f6b54;--child-2: #8f7344;--child-3: #4c6b62;--child-4: #8a6749;--radius: 14px;--shadow: 0 1px 2px rgba(35, 50, 42, .03);--shadow-raised: 0 1px 2px rgba(35, 50, 42, .04), 0 10px 26px rgba(35, 50, 42, .06);--app-pad-top: calc(24px + env(safe-area-inset-top, 0px)) }*{box-sizing:border-box}html{overscroll-behavior:contain}body{margin:0;background-color:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,Segoe UI,sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased;overscroll-behavior:contain}.app{max-width:720px;margin:0 auto;padding:var(--app-pad-top) 18px 0}.screen{display:flex;flex-direction:column;gap:14px}.screen--result{gap:16px}.section-heading{font-size:1.1rem;font-weight:600;margin:8px 0}.app-title{font-size:1.5rem;font-weight:700;margin:6px 0}.muted{color:var(--muted);font-size:.9rem}.note{color:var(--muted);font-size:.82rem}.pre-line{white-space:pre-line}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.card--input{padding:14px 16px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:12px 18px;border-radius:10px;font-size:.95rem;cursor:pointer;transition:background .25s ease,border-color .25s ease,color .25s ease,box-shadow .25s ease}.btn:hover{border-color:var(--accent)}.btn--primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn--primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn--recommended{background:var(--accent-soft);border-color:var(--accent-soft);color:var(--accent)}.btn--skip{color:var(--muted)}.btn--block{width:100%}.btn:disabled,.btn[disabled]{opacity:.55;cursor:default}.choice-group{display:flex;flex-wrap:wrap;gap:10px}.choice{flex:1 1 auto;min-width:96px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-size:.95rem;cursor:pointer;transition:border-color .12s ease,background .12s ease}.choice:hover{border-color:var(--accent)}.choice[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.choice:disabled{opacity:.5;cursor:default}.field{display:flex;flex-direction:column;gap:6px;margin:8px 0}.field__label{font-weight:600;font-size:.95rem}.field__row{display:flex;align-items:center;gap:8px}.field__input{flex:0 1 140px;padding:10px 12px;font-size:1rem;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text)}.field__input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.field__unit{color:var(--muted);font-size:.9rem}.child-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px;margin:0}.child-card__head{display:flex;align-items:center;justify-content:space-between}.child-card__legend{font-weight:700;font-size:1rem;padding:0}.collapsible{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:4px 18px}.collapsible>summary{cursor:pointer;list-style:none;padding:14px 0;font-weight:600;display:flex;align-items:center;justify-content:space-between}.collapsible>summary::-webkit-details-marker{display:none}.collapsible>summary:after{content:"▾";color:var(--muted);transition:transform .15s ease}.collapsible[open]>summary:after{transform:rotate(180deg)}.collapsible__body{padding-bottom:14px}.collapsible--muted>summary{color:var(--muted);font-weight:500;font-size:.95rem}.peak-hero{background:var(--surface);border:1px solid var(--border);border-top:2px solid var(--brass);border-radius:var(--radius);box-shadow:var(--shadow-raised);padding:20px 18px}.peak-hero__label{color:var(--muted);font-size:.85rem}.peak-hero__year{font-size:2rem;font-weight:700;color:var(--accent);line-height:1.3}.peak-hero__metrics{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:6px}.peak-hero__metric{font-size:1.05rem;font-weight:600}.big-figure{font-size:1.5rem;font-weight:700;color:var(--accent)}.chart-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:6px}.chart{display:flex;align-items:flex-end;gap:8px;min-height:180px}.chart__col{display:flex;flex-direction:column;align-items:center;gap:4px;flex:0 0 auto;width:40px}.chart__bar{width:22px;display:flex;flex-direction:column-reverse;border-radius:4px 4px 0 0;overflow:hidden;background:var(--accent-soft)}.chart__seg{width:100%}.chart__col--peak .chart__bar{outline:2px solid var(--brass);outline-offset:1px}.chart__axis{font-size:.7rem;color:var(--muted);text-align:center}.chart__peakbadge{font-size:.68rem;color:var(--brass);font-weight:700}.chart-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.chart-legend__item{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--muted)}.chart-legend__swatch{width:12px;height:12px;border-radius:3px;display:inline-block}.yearly-table{width:100%;border-collapse:collapse;font-size:.85rem}.yearly-table th,.yearly-table td{text-align:right;padding:6px 8px;border-bottom:1px solid var(--border)}.yearly-table th:first-child,.yearly-table td:first-child{text-align:left}.reflected-note{color:var(--accent);font-size:.85rem;background:var(--accent-soft);border-radius:10px;padding:8px 12px}.handoff-actions{display:flex;flex-direction:column;gap:10px}.help{display:inline-block;position:relative}.help__trigger{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--muted);width:20px;height:20px;border-radius:50%;font-size:.75rem;cursor:pointer;line-height:1}.help__bubble{position:absolute;z-index:30;top:26px;left:0;width:min(260px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-raised);padding:10px 12px;font-size:.82rem;color:var(--text)}.step-layout{display:flex;flex-direction:column;height:calc(100svh - var(--app-pad-top));overflow:hidden}.step-content{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:12px;padding-bottom:calc(16px + min(env(safe-area-inset-bottom),24px))}.bottom-nav{position:sticky;bottom:0;z-index:40;background:#fffdf7f5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--border);padding:10px 10px calc(10px + min(env(safe-area-inset-bottom),24px))}html.is-embedded .step-layout{display:block;height:auto;overflow:visible}html.is-embedded .step-content{overflow:visible;min-height:0}html.is-embedded .bottom-nav{position:static;-webkit-backdrop-filter:none;backdrop-filter:none}.scope-note{background:var(--accent-soft);border-radius:10px;padding:10px 12px}.scope-note__detail{display:block;margin-top:4px}.included-list{margin:0;display:flex;flex-direction:column;gap:12px}.included-item{margin:0}.included-item__term{font-weight:600;font-size:.95rem}.included-item__desc{margin:2px 0 0}.included-item__desc .note{display:block;margin-top:2px}.breakdown-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.breakdown-row{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:10px;row-gap:4px}.breakdown-row__label{font-size:.9rem}.breakdown-row__value{font-weight:600;text-align:right;white-space:nowrap}.breakdown-row__ratio{color:var(--muted);font-weight:400;font-size:.8rem;margin-left:6px}.breakdown-row__bar{grid-column:1 / -1;height:8px;border-radius:4px;background:var(--accent-soft);overflow:hidden}.breakdown-row__fill{display:block;height:100%;background:var(--accent);border-radius:4px}@keyframes fade-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: no-preference){.fade-rise{animation:fade-rise .32s ease both}}
