: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;--tag-user: #2d4a3e;--tag-recommended: #577a61;--tag-default: #9b988d;--tag-skipped: #a98b5d;--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}.section-heading{font-size:1.1rem;font-weight:600;margin:8px 0}.muted{color:var(--muted);font-size:.9rem}.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.is-active{border-color:var(--accent);color:var(--accent)}.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--selected{background:var(--accent);border-color:var(--accent);color:#fff}.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--primary>summary,.collapsible--primary>summary:after{color:var(--accent)}.collapsible--muted>summary{color:var(--muted);font-weight:500;font-size:.95rem}.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:10px;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))}@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}}.screen{gap:16px;padding-bottom:32px}.is-embedded .step-layout{height:auto;min-height:0;overflow:visible}.is-embedded .step-content{flex:0 0 auto;min-height:auto;overflow:visible;-webkit-overflow-scrolling:auto;padding-bottom:16px}.is-embedded .bottom-nav{position:static;bottom:auto;z-index:auto;-webkit-backdrop-filter:none;backdrop-filter:none}.is-embedded,.is-embedded body{overflow:visible}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.btn--block{display:block;width:100%;text-align:center;min-height:48px;text-decoration:none}.btn--block+.btn--block{margin-top:10px}.reassure{background:var(--accent-soft);color:var(--accent-strong);border-radius:var(--radius);padding:12px 14px;font-size:.88rem;margin:0}.notice{background:#f6efe2;color:var(--band-tough);border:1px solid #e7d9bf;border-radius:var(--radius);padding:12px 14px;font-size:.85rem;margin:0}.note-block{font-size:.85rem;margin:0}.field-note{font-size:.8rem;margin:6px 0 0}.intro-hero__eyebrow{color:var(--brass);letter-spacing:.08em;font-size:.72rem;margin:0 0 4px}.intro-hero__title{font-size:1.5rem;margin:0 0 6px}.intro-list{margin:6px 0 0;padding-left:1.2em}.intro-list li{margin-bottom:6px;font-size:.9rem}.step-head{margin-bottom:2px}.qcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px}.qcard__head{display:flex;align-items:center;gap:6px;margin-bottom:8px}.qcard__title{font-weight:600;font-size:.95rem}.numfield{display:flex;align-items:center;gap:8px}.numfield__input{flex:1 1 auto;min-width:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);font-size:1.05rem;padding:10px 12px;text-align:right;font-variant-numeric:tabular-nums}.numfield__input:focus{outline:none;border-color:var(--accent)}.numfield__unit{flex:0 0 auto;color:var(--muted);font-size:.9rem}.help{position:relative;display:inline-flex}.help__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:.72rem;line-height:1;cursor:pointer;padding:0}.help__pop{position:absolute;top:26px;left:0;z-index:30;width:min(320px,calc(100vw - 32px));max-height:50vh;overflow-y:auto;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);line-height:1.6}.nav-row{display:flex;gap:10px}.nav-grow{flex:1 1 auto;min-height:48px}.result-hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.result-hero__grid--sub{margin-top:12px}.detail-card{display:flex;flex-direction:column;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px 14px}.detail-card--emphasis{background:var(--accent-soft);border-color:var(--accent-soft)}.detail-card__label{color:var(--muted);font-size:.78rem}.detail-card__value{font-size:1.15rem;font-weight:600}.detail-card--emphasis .detail-card__value{color:var(--accent-strong)}.detail-card__caption{color:var(--muted);font-size:.74rem}.bars{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}.bars__head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px}.bars__label{font-size:.86rem;display:inline-flex;align-items:center;gap:6px}.bars__tag{font-size:.66rem;padding:1px 6px;border-radius:999px;color:#fff}.bars__amount{font-size:.86rem;font-weight:600;white-space:nowrap}.bars__pct{font-weight:400;font-size:.76rem}.bars__track{height:10px;background:var(--bg);border-radius:999px;overflow:hidden}.bars__fill{height:100%;border-radius:999px}.adjust__totals{display:flex;gap:16px;margin:10px 0}.adjust__totals>div{display:flex;flex-direction:column}.adjust__totals .muted{font-size:.76rem}.adjust__current,.adjust__trial{font-size:1.1rem;font-weight:600}.adjust__trial{color:var(--accent-strong)}.adjust__steps{margin-top:4px}.adjust__effects{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin:14px 0 0}.adjust__effects>div{display:flex;flex-direction:column}.adjust__effects dt{color:var(--muted);font-size:.76rem}.adjust__effects dd{margin:0;font-weight:600;font-size:.98rem}.top-list{margin:4px 0 0;padding-left:1.3em}.top-list__item{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px;font-size:.9rem}.top-list__amount{font-weight:600;white-space:nowrap}.condition-list,.disclaimer-list{list-style:none;margin:0;padding:0}.condition-list li{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--border);font-size:.88rem}.disclaimer-list{padding-left:1.1em;list-style:disc}.disclaimer-list li{font-size:.82rem;margin-bottom:4px}.reflect__item+.reflect__item{margin-top:12px}.reflect__note{margin:4px 0 0;font-size:.78rem}.resume .btn--block+.btn--block{margin-top:8px}.reflect__msg{margin:4px 0 0;color:var(--accent-strong);font-size:.85rem}.reflect__link{margin-top:10px}.reference__row{display:flex;justify-content:space-between;gap:10px;font-size:.9rem;padding:4px 0}.reference .notice{margin-top:8px}.live-total{background:var(--accent-soft);border-color:var(--accent-soft)}.live-total__row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:3px 0}.live-total__value{font-size:1.2rem;color:var(--accent-strong)}.donut{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:8px}.donut__svg{flex:0 0 auto}.donut__legend{list-style:none;margin:0;padding:0;flex:1 1 160px;min-width:160px}.donut__legend li{display:flex;align-items:center;gap:8px;padding:6px 0}.donut__swatch{flex:0 0 auto;width:12px;height:12px;border-radius:3px}.donut__legend-label{font-size:.88rem}.donut__legend-value{margin-left:auto;font-weight:600;font-size:.9rem;white-space:nowrap}.donut__legend-value .muted{font-weight:400;font-size:.78rem}.review-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}.review-item{background:var(--accent-soft);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.review-item__head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}.review-item__title{font-weight:600;font-size:.92rem;color:var(--accent-strong)}.review-item__chip{flex:0 0 auto;font-size:.7rem;color:var(--accent);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:2px 8px;white-space:nowrap}.review-item__message{margin:0;font-size:.86rem}.review-item__note{margin:6px 0 0;font-size:.76rem}.scenario__chips{margin-top:10px}.scenario__chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;min-width:0}.scenario__chip-amount{font-size:.78rem;opacity:.85}.scenario__badge{font-size:.64rem;padding:1px 6px;border-radius:999px;background:var(--brass);color:#fff}.scenario__editor{margin-top:14px;padding:12px 14px;background:var(--accent-soft);border-radius:var(--radius)}.scenario__editor-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.scenario__editor-title{font-weight:600;color:var(--accent-strong)}.scenario__reset-cat{padding:4px 10px;font-size:.8rem}.scenario__rows{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin:0 0 10px}.scenario__rows>div{display:flex;flex-direction:column}.scenario__rows dt{color:var(--muted);font-size:.74rem}.scenario__rows dd{margin:0;font-weight:600;font-size:.92rem}.scenario__steps{margin-bottom:10px}.scenario__manual{display:flex;flex-direction:column;gap:4px}.scenario__manual .muted{font-size:.76rem}.scenario__summary{margin-top:14px;border-top:1px solid var(--border);padding-top:12px}.scenario__summary-title{font-size:.95rem;font-weight:600;margin:0 0 8px}.scenario__summary-rows>div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:4px 0;font-size:.9rem}.scenario__reset-all{margin-top:10px;padding:6px 12px;font-size:.82rem}.composition-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}.composition-item{background:var(--accent-soft);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.composition-item__label{font-weight:600;font-size:.92rem;color:var(--accent-strong)}.composition-item__shares{margin:4px 0;font-size:.88rem}.composition-item__message{margin:4px 0 0;font-size:.86rem}.composition-item__caveat{margin:4px 0 0;font-size:.76rem}.compare-list{list-style:none;margin:8px 0 0;padding:0}.compare-list__row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:6px 0;border-bottom:1px solid var(--border);font-size:.92rem}.compare-comment{margin:12px 0 4px;background:var(--accent-soft);color:var(--accent-strong);border-radius:var(--radius);padding:10px 14px;font-size:.92rem}
