/* v03: full portrait, clear personality copy, a six-dimensional graphic. */
.persona-card{grid-template-columns:1fr 1fr;align-items:center}
.portrait-pane{min-height:0;height:auto;aspect-ratio:2/3;align-self:center}
.portrait-pane img{object-fit:contain;object-position:center}
.portrait-pane.portrait-pending img,.portrait-pane.portrait-failed img{opacity:0}
.portrait-loading-wrap{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#7b7d68}
.portrait-pending .portrait-loading-wrap,.portrait-failed .portrait-loading-wrap{display:flex}
.portrait-loading-wrap:before{content:'古';display:grid;place-items:center;width:42px;height:46px;border:1px solid #c8b99e;border-radius:4px;font:26px var(--serif);color:#a64635;background:#fbf7ed99}
.portrait-loading{font-size:13px;letter-spacing:2px;text-align:center;line-height:1.8;margin:0}
.portrait-loading-wrap button{border:1px solid #b8aa92;background:#fbf7ed;padding:10px 16px;font-size:13px;border-radius:5px}
.portrait-loading-wrap button[hidden],.portrait-ready .portrait-loading-wrap{display:none}
.portrait-ready img{opacity:1}
.portrait-pane .portrait-note{left:0;right:0;bottom:0;text-align:center;padding:7px 4px;font-size:8px;background:#f4eedfcc;letter-spacing:.3px}
.persona-info{padding:30px 24px}
.persona-info h1{font-size:clamp(35px,4.5vw,55px);letter-spacing:3px;overflow-wrap:anywhere}
.persona-title{font-size:22px;line-height:1.65}
.result>.actions{margin-top:22px}
.personality-summary{border-left:3px solid var(--person-color);padding:4px 0 4px 22px}
.personality-summary p{font-size:17px;line-height:1.95;margin:0;color:#383e35}
.talent-box .small-label{margin-bottom:10px;letter-spacing:1px}
.talent-box p{font-weight:400;line-height:1.9}
.life-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.life-card{padding:24px;background:#fbf7ed;border:1px solid #ddd3be;border-radius:8px}
.life-label{display:flex;align-items:center;gap:8px;color:#6f7969;font-size:12px;letter-spacing:1px;margin-bottom:14px}
.life-label svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5}
.life-card h3,.risk-box h3{font-family:var(--serif);font-size:22px;line-height:1.55;font-weight:600;margin:0 0 12px}
.life-card p{margin:0;line-height:1.95}
.risk-box{padding:24px 26px;background:#efe4d6;border-left:3px solid #ad7961;border-radius:0 8px 8px 0}
.risk-box p{margin:0}
.personality-dashboard{border:1px solid #c9dacf;border-radius:12px;background:#edf3ee;overflow:hidden;box-shadow:0 7px 26px #28564708}
.chart-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid #cfdfd4;color:#386357;font-size:12px;letter-spacing:.5px}
.chart-header>span:first-child{display:flex;align-items:center;gap:8px;font-weight:600}
.chart-header i{width:7px;height:7px;border-radius:50%;background:#2d8c78;box-shadow:0 0 0 4px #d6e8de}
.chart-header>span:last-child{font-size:10px;color:#657f70}
.chart-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:4px;align-items:center;padding:18px 20px 16px 4px}
.radar-wrap{background-image:radial-gradient(#becfc044 .7px,transparent .7px);background-size:12px 12px}
.radar-chart{display:block;width:100%;height:auto;overflow:visible}
.radar-orbit{fill:none;stroke:#c5dacf;stroke-width:1;stroke-dasharray:2 6}
.radar-ring{fill:none;stroke:#b9d2c5;stroke-width:1}
.radar-axis{stroke:#c4d9cd;stroke-width:1;fill:none}
.radar-shape{fill:#2d8e7930;stroke:#2b7f70;stroke-width:2.5;stroke-linejoin:round}
.radar-point{fill:#257767;stroke:#f3fbf5;stroke-width:2}
.radar-label{font:600 18px var(--sans);fill:#244c40}
.radar-caption{font:14px var(--sans);fill:#66806f}
.dimension-list{display:grid;gap:15px;padding:10px 0 10px 12px}
.dimension-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.dimension-head h3{font-size:12px;font-weight:500;color:#466557;margin:0}
.dimension-head strong{font-size:11px;font-weight:500;color:#246957;background:#dcebe1;border-radius:3px;padding:3px 6px}
.dimension-meter{position:relative;height:6px;border-radius:2px;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(16.666% - 2px),#edf3ee calc(16.666% - 2px),#edf3ee 16.666%),linear-gradient(90deg,#d1e3d7,#8fbaa7)}
.dimension-meter>span{position:absolute;top:-3px;width:12px;height:12px;border:2px solid #edf3ee;border-radius:50%;background:#236f5e;box-shadow:0 0 0 1px #4c8c77}
.dimension-ends{display:flex;justify-content:space-between;font-size:9px;color:#6b8374;margin-top:7px}
.report-section .chart-note{font-size:11px;text-align:center;margin:0;padding:12px 18px 16px;color:#637e6e}
@media(max-width:700px){
 .persona-card{display:block}.portrait-pane{height:390px;aspect-ratio:auto}.portrait-pane img{object-fit:contain;object-position:center}
 .persona-info{padding:24px}.persona-info h1{font-size:44px}.persona-title{font-size:23px}
 .personality-summary{padding-left:17px}.personality-summary p{font-size:16px}
 .life-cards{grid-template-columns:1fr;gap:14px}.life-card{padding:22px}.life-card h3,.risk-box h3{font-size:22px}.risk-box{padding:22px}
 .chart-header{padding:17px 16px}.chart-header>span:last-child{font-size:9px}
 .chart-layout{grid-template-columns:1fr;gap:0;padding:0 16px 12px}.radar-wrap{margin:4px -10px 0}
 .dimension-list{grid-template-columns:1fr 1fr;gap:22px 18px;padding:0 0 10px}.dimension-head{align-items:flex-start;flex-direction:column;gap:7px}.dimension-head h3{font-size:13px}.dimension-head strong{font-size:11px;padding:0;background:none}.dimension-ends{font-size:9px}
}
@media(max-width:350px){.portrait-pane{height:335px}.persona-info h1{font-size:39px}.chart-header{padding:15px 12px}.chart-header>span:last-child{letter-spacing:0}.chart-layout{padding-left:12px;padding-right:12px}.dimension-list{column-gap:15px}.life-card,.risk-box{padding:20px}}
