:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;color:#20333e;background:#f3f5f2;line-height:1.65;font-size:16px}*{box-sizing:border-box}body{margin:0}main{max-width:1160px;margin:auto;padding:42px 24px}header{margin-bottom:30px}h1{font-size:clamp(1.7rem,4vw,2.8rem);line-height:1.35;margin:12px 0}h1 small{display:block;font-size:.6em;font-weight:500;margin-top:8px}h2{font-size:1.25rem;margin:0 0 12px}p{margin:10px 0}.eyebrow{font-size:.75rem;letter-spacing:.15em;color:#597168;font-weight:700}.panel{background:white;border:1px solid #dce4de;border-radius:18px;padding:26px;margin-bottom:22px;box-shadow:0 5px 20px #24352d04}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}.plan{border-radius:13px;padding:20px;text-align:left;border:1px solid #dce4de;border-top:5px solid var(--color);background:#fff;min-width:0}.a{--color:#2376ae}.b{--color:#b25915}.c{--color:#8553b4}.a-text{color:#2376ae}.b-text{color:#b25915}.c-text{color:#8553b4}.plan b{display:flex;justify-content:space-between;font-size:1.4rem;color:var(--color)}.plan b span{font-size:.8rem;align-self:center}.plan strong{display:block;font-size:1.3rem;margin:12px 0 4px;overflow-wrap:anywhere}.plan small,.hint{font-size:.85rem;color:#5c6f77}.plan.selected{outline:3px solid var(--color);background:#f7faf8}button,select,input{font:inherit;border:1px solid #b8c8bf;border-radius:9px;padding:10px 13px;background:#fff;color:inherit}button{cursor:pointer;font-weight:600;min-height:44px}button:hover{background:#eef4ef}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #d49429;outline-offset:3px}button:disabled{opacity:.45;cursor:default}.primary{background:#285e4c;color:white;border-color:#285e4c}.primary:hover{background:#194b39}.buttons{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.buttons label{font-size:.85rem;display:flex;gap:8px;align-items:center}.controls h2{font-size:1.8rem}.graph-heading{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.legend{display:flex;gap:24px;font-weight:700}#chart svg{display:block;width:100%;height:auto}#chart{min-height:160px}.empty{padding:50px 12px;text-align:center;color:#61736b;background:#f7f9f6;border-radius:12px}.discovery{border-left:4px solid #d59b2a;padding:8px 14px;background:#fff8e8;margin:8px 0}.gap{color:#4f695a;font-size:.9rem}.table-wrap{overflow:auto;max-height:500px;border:1px solid #e0e7e0;border-radius:10px}table{border-collapse:collapse;width:100%;font-size:.85rem;white-space:nowrap}th,td{padding:12px;text-align:right;border-bottom:1px solid #e0e7e0}thead th{background:#edf3ef}tbody th{position:sticky;left:0;background:#fff}tr.latest td,tr.latest th{background:#e9f4ee;font-weight:700}td small{display:block;color:#62766a}summary{cursor:pointer;font-weight:700;min-height:44px}.editor label{display:block;font-size:.85rem;margin-top:12px}.editor input,.editor select{width:100%;margin-top:5px}.formula{background:#f6f8f4;padding:16px;border-radius:10px;overflow-wrap:anywhere}#error{color:#b23423}footer{text-align:center;color:#687e70;font-size:.85rem;padding:15px}[hidden]{display:none!important}@media(max-width:700px){main{padding:24px 14px}.panel{padding:20px 16px}.plan-grid{grid-template-columns:1fr}.plan strong{font-size:1.2rem}.buttons{gap:8px}.buttons label{flex-wrap:wrap}.graph-heading{display:block}th,td{padding:10px}.controls h2{font-size:1.5rem}}

/* Each amount keeps its own rank and change indicator. */
.result-card .card-month{font-size:1.8rem;font-weight:750;margin:16px 0;color:var(--color);line-height:1.3}
.result-card .card-month small{display:block;font-weight:400;font-size:.8rem;margin-top:5px}
.result-section{border:1px solid #dce4de;border-radius:10px;padding:14px;margin-top:12px;background:#f8faf8;min-width:0}
.result-section h3{font-size:.95rem;margin:0 0 10px;color:#40565f;font-weight:650}
.amount-and-rank{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0}
.result-card .result-money{flex:1 1 130px;min-width:0;font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.4;margin:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.rank-badge{flex:0 0 auto;border:1px solid #cbd8cf;border-radius:9px;padding:5px 11px;line-height:1.2;background:white;color:var(--color);font-weight:700}
.rank-number{font-size:2rem}.rank-badge small{display:block;font-size:.7rem;text-align:center;margin-top:3px;color:inherit}
.rank-change{font-size:.75rem;min-height:1.65em;margin:10px 0 0;color:#60716a;overflow-wrap:anywhere}
.rank-changed{border:2px solid #bd8a25;padding:13px;background:#fff7e4}
.rank-changed .rank-change{color:#805b0d;font-weight:700}
.rank-changed .rank-badge{border-color:#bd8a25;animation:rank-pop .45s ease-out}
@keyframes rank-pop{0%{transform:scale(.85)}55%{transform:scale(1.12)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.rank-changed .rank-badge{animation:none}}
@media(max-width:950px) and (min-width:701px){.result-card{padding:14px}.result-section{padding:10px}.rank-changed{padding:9px}.result-card .result-money{flex-basis:100%}}
