#history .panel{max-width:860px;margin:auto}#history [hidden]{display:none!important}.analysis-switch{display:flex;gap:5px;background:#e5e8ed;padding:5px;border-radius:14px;margin-bottom:22px}.analysis-switch button{flex:1;border:0;border-radius:10px;background:transparent;padding:13px 4px;font:inherit;font-weight:650;font-size:14px;color:#526075;cursor:pointer}.analysis-switch button[aria-pressed=true]{background:#202c40;color:#fff;box-shadow:0 3px 10px #19243c26}.analysis-card{background:white;border:1px solid #e0e5ed;border-radius:20px;padding:22px;margin:18px 0}.analysis-card h2{font-size:18px;margin:0 0 12px}.analysis-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}.analysis-heading h2{margin:0}.analysis-heading>span,.analysis-note{font-size:13px;color:#627086;line-height:1.8}.analysis-note a{color:#435caa;text-decoration:underline}.analysis-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 18px}.analysis-fields label{font-size:14px;line-height:1.7}.analysis-fields small{color:#627086}.analysis-fields input,.analysis-fields select{width:100%;min-width:0;margin-top:7px}.analysis-fields input:read-only{background:#edf0f4;color:#5a6676}.analysis-card .compact{width:auto;max-width:100%;font-size:14px}.body-scan{background:radial-gradient(ellipse at 20% 50%,#334562,transparent 65%),#17202e;color:#fff;border-radius:24px;padding:24px;overflow:hidden}.scan-heading{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;color:#d3dceb}.scan-heading>span{letter-spacing:.07em;color:#e2ba78}.scan-layout{display:grid;grid-template-columns:1fr 1.25fr;align-items:center;gap:14px}.scan-person{position:relative;text-align:center;background:repeating-linear-gradient(0deg,transparent,transparent 35px,#73849d25 36px);border:1px solid #73849d35;border-radius:100px;max-width:225px;margin:20px auto;width:100%;color:#abbfda}.scan-person svg{width:100%;height:220px}.scan-person span{font-size:10px;letter-spacing:.2em;display:block;margin-bottom:15px}.scan-metrics>div{padding:16px 0;border-bottom:1px solid #8ea1ba30}.scan-metrics span{display:block;font-size:13px;color:#c5cfdd}.scan-metrics strong{display:block;font-size:38px;line-height:1.3;font-weight:650;font-variant-numeric:tabular-nums}.scan-metrics strong small{font-size:15px;font-weight:400;margin-left:8px}.scan-metrics em{font-size:12px;color:#e2ba78;font-style:normal}.scan-metrics .scan-bmi{display:flex;align-items:center;justify-content:space-between;border:0}.scan-bmi strong{font-size:24px}.scan-foot{font-size:12px;color:#b4c2d5;margin:8px 0 0;line-height:1.6}.compare-values{display:flex;align-items:center;justify-content:space-around;text-align:center;gap:12px}.compare-values small{font-size:13px;display:block;color:#657185}.compare-values strong{font-size:32px;font-weight:650}.compare-track{height:10px;background:linear-gradient(90deg,#e3e9f7,#95a7d6);position:relative;margin:40px 12px 42px;border-radius:8px}.compare-track b,.compare-track span{position:absolute;transform:translateX(-50%);font-size:12px;white-space:nowrap}.compare-track b{top:19px;color:#314b96}.compare-track span{bottom:19px}.compare-track b:before,.compare-track span:after{content:'';position:absolute;width:3px;height:20px;background:#263c76;left:50%}.compare-track b:before{bottom:100%}.compare-track span:after{top:100%;background:#73819a}.body-line-chart,.strength-map{width:100%;height:auto;display:block;max-height:340px}.body-line-chart text,.strength-map text{font:12px sans-serif;fill:#5d6a80}.body-record-list{max-height:215px;overflow:auto}.body-record-list button{display:flex;align-items:center;gap:15px;width:100%;padding:14px 2px;background:none;border:0;border-bottom:1px solid #edf0f4;color:#26364d;font:inherit;font-size:14px;text-align:left;cursor:pointer}.body-record-list strong{margin-left:auto}.body-record-list small{color:#516dc5}.analysis-empty{font-size:15px;line-height:1.8;color:#66758b;padding:22px 0}.strength-hero{background:#202b3c;color:#fff;padding:26px;border-radius:24px}.analysis-kicker{font-size:12px;letter-spacing:.07em;color:#e2ba78}.strength-hero h2{font-size:26px;line-height:1.4;margin:16px 0}.strength-hero p{font-size:15px;line-height:1.9;color:#d8e0ec}.strength-activity{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;border-top:1px solid #67788b55;padding-top:18px;margin-top:22px}.strength-activity strong{font-size:25px;display:block;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.strength-activity small{font-size:12px;margin-left:3px}.strength-activity span{display:block;font-size:12px;color:#c3cede;margin-top:5px}.lift-row{padding:18px 0;border-bottom:1px solid #e9edf3}.lift-row:last-child{border-bottom:0}.lift-row>div{display:flex;justify-content:space-between;align-items:center;gap:12px}.lift-row p{font-size:19px;margin:10px 0 4px}.lift-row small{font-size:13px;color:#69768b}.level-pill{font-size:12px;padding:5px 10px;border-radius:20px;background:#edf0f9;color:#40578f;white-space:nowrap}.map-caption{font-weight:600;text-align:center;font-size:15px}.critic-output{white-space:pre-wrap;font-size:15px;line-height:1.9;margin-top:18px}.rank-number{font-size:40px;color:#263a5a;font-weight:650}.rank-list{list-style:none;padding:0}.rank-list li{display:flex;justify-content:space-between;padding:14px 0;border-top:1px solid #e5eaf2}.analysis-card summary{font-size:14px;cursor:pointer}.analysis-switch button:focus-visible,.body-record-list button:focus-visible{outline:3px solid #b07b2e;outline-offset:2px}@media(max-width:500px){.analysis-card{padding:18px}.analysis-fields{grid-template-columns:1fr 1fr}.analysis-fields label:first-child{grid-column:1/-1}.body-scan{padding:20px 16px}.scan-person svg{height:200px}.scan-metrics strong{font-size:32px}.scan-layout{grid-template-columns:.8fr 1.2fr;gap:18px}.strength-hero{padding:22px}.strength-hero h2{font-size:23px}}

/* Strength shares the body dashboard's graphite surface and measured rhythm. */
#strengthAnalysis .strength-hero{background:radial-gradient(ellipse at 20% 50%,#334562,transparent 65%),#17202e;border-radius:24px;padding:24px;margin-bottom:18px}
#strengthAnalysis .strength-hero h2{font-size:26px;font-weight:650;letter-spacing:.01em;margin:18px 0 14px}
#strengthAnalysis .strength-hero p{color:#d3dceb;line-height:1.9;margin:0}
#strengthAnalysis .analysis-kicker{color:#e2ba78;font-size:13px;letter-spacing:.07em}
#strengthAnalysis .analysis-card{padding:24px;border-color:#e0e5ed;box-shadow:none}
#strengthAnalysis .analysis-heading{margin-bottom:14px}
#strengthAnalysis .strength-activity{border-top-color:#8ea1ba30;padding-top:20px;margin-top:24px}
#strengthAnalysis .strength-activity strong{font-size:30px;font-weight:650}
#growthRows .lift-row{padding:16px 0}#growthRows .lift-row p{font-size:22px;font-weight:600;font-variant-numeric:tabular-nums;color:#263a5a}
#rankingCard .rank-number{font-size:30px;font-weight:650;margin:18px 0 24px;letter-spacing:.01em;line-height:1.5}
#rankingCard{border-top:3px solid #d8a95b}#rankingCard .analysis-note{margin:14px 0 0}
#criticCard .btn{margin-top:12px}#criticCard .critic-output:not(:empty){padding:18px;background:#f2f5fa;border-radius:12px;color:#28394f}
#strengthAnalysis .level-pill{background:#e9eef8;border:1px solid #dbe3f1;padding:5px 12px;font-weight:600}
#strengthAnalysis .map-caption{background:#f2f5fa;padding:14px;border-radius:12px}
@media(max-width:500px){#strengthAnalysis .strength-hero,#strengthAnalysis .analysis-card{padding:20px}#strengthAnalysis .strength-hero h2{font-size:24px}#strengthAnalysis .strength-activity strong{font-size:26px}#rankingCard .rank-number{font-size:26px}#growthRows .lift-row p{font-size:19px}}

.ranking-reward{background:#f5eddf;color:#58411f;border-radius:12px;padding:16px;font-size:14px;line-height:1.8;font-weight:600;margin:14px 0 20px}

/* Data-driven body diagram: bounded geometry keeps all values within the viewport. */
.scan-person{border-radius:24px;max-width:235px;background:radial-gradient(ellipse at 50% 40%,#7599c51a,transparent 70%),repeating-linear-gradient(0deg,transparent,transparent 35px,#73849d25 36px)}
.scan-person #bodyFigure{display:block;width:100%;height:auto;max-height:310px;min-height:230px;overflow:visible}
.scan-person #bodyFigureCaption{font-size:12px;line-height:1.7;letter-spacing:0;color:#cad6e6;padding:0 10px;margin:0 0 14px;overflow-wrap:anywhere}
#bodyFigurePrevious{opacity:.85}#bodyFigureCurrent{filter:drop-shadow(0 0 7px #97bde92b)}
@media(max-width:500px){.scan-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:12px}.scan-person #bodyFigure{min-height:210px}.scan-person #bodyFigureCaption{padding:0 6px}}
