/* Public reading layer; states remain labelled and never depend on color alone. */
.core-profile{--core-positive:#37d7a5;--core-negative:#ff8a86;--core-uncertain:#f1c35e;--core-neutral:#9aaec7;--core-track:#243c58}.core-profile .tone-positive{color:var(--core-positive)}.core-profile .tone-negative{color:var(--core-negative)}.core-profile .tone-uncertain{color:var(--core-uncertain)}.core-profile .tone-neutral{color:var(--core-neutral)}
.core-profile-header{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;align-items:center;margin:1.3rem 0 1.8rem}.core-profile-header .avatar{width:76px;height:76px;font-size:1.6rem}.core-profile-header h1{font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.15;margin:.2rem 0 .6rem;overflow-wrap:anywhere}.core-profile-header p{margin:.3rem 0}.core-profile-location{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;color:var(--muted)}.core-profile-actions{grid-column:1/-1;display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.core-profile-actions .button{min-height:48px}.core-share-status{grid-column:1/-1;margin:0}.core-share-fallback{grid-column:1/-1;min-width:0}.core-share-fallback input{width:100%;font-size:16px}.core-profile .core-jump-links{display:flex;gap:1rem;flex-wrap:wrap;padding-bottom:.7rem;border-bottom:1px solid var(--line);margin-bottom:1.8rem}.core-jump-links a{min-height:44px;display:inline-flex;align-items:center;gap:.4rem}.core-overview .section-heading{margin-bottom:.6rem}.core-period{display:flex;gap:.35rem;flex-wrap:wrap;color:var(--muted);margin:0 0 1.2rem;font-size:16px}.core-rating-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.core-rating-card{min-width:0;border:1px solid var(--line);border-radius:22px;background:var(--surface);padding:1.2rem;display:flex;flex-direction:column;align-items:stretch;box-shadow:0 12px 30px #0000000b}.core-rating-card h3{display:flex;align-items:flex-start;justify-content:center;gap:.5rem;font-size:1.05rem;line-height:1.35;min-height:2.8em;margin:0 0 .6rem;text-align:center}.core-rating-card h3 .icon{flex-shrink:0;margin-top:.1em}.core-ring-link{display:block;text-decoration:none;border-radius:100%;align-self:center}.core-ring-link:focus-visible{outline:3px solid var(--green);outline-offset:5px}.core-ring{position:relative;width:138px;max-width:100%;aspect-ratio:1;display:grid;place-items:center}.core-ring svg{display:block;width:100%;height:100%;transform:rotate(-90deg)}.core-ring circle{fill:none;stroke-width:9}.core-ring-track{stroke:var(--core-track)}.core-ring-segment{stroke:currentColor}.core-ring-value{position:absolute;font-size:2rem;font-weight:750;line-height:1;letter-spacing:-.05em;color:var(--text)}.core-ring-value>span{font-size:1rem;margin-left:.1rem;letter-spacing:0}.core-ring.is-unmeasured .core-ring-track{stroke-dasharray:2 3;stroke-width:5}.core-ring.is-unmeasured .core-ring-value{font-size:1.65rem;color:var(--muted)}.core-ring-caption{text-align:center;margin:.45rem 0;line-height:1.4;font-weight:600;font-size:16px}.core-sample{font-size:16px;line-height:1.4;margin:.3rem 0 .65rem;text-align:center;color:var(--muted)}.core-state-list{list-style:none;padding:0;margin:.7rem 0 1rem;display:grid;gap:.35rem;font-size:16px}.core-state-list li{display:flex;align-items:baseline;gap:.3rem;line-height:1.35;overflow-wrap:anywhere}.core-state-dot{display:inline-block;width:.6rem;height:.6rem;min-width:.6rem;border-radius:50%;background:currentColor;align-self:baseline}.core-browse{display:flex;align-items:center;justify-content:space-between;gap:.4rem;min-height:48px;margin-top:auto;font-size:16px;text-decoration:none;font-weight:650;line-height:1.4}.core-browse .icon{flex-shrink:0}.core-explanation{border-top:1px solid var(--line);margin-top:.5rem;padding-top:.3rem;font-size:16px}.core-explanation summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--muted);line-height:1.4}.core-explanation summary:after{content:'+';margin-left:auto;padding-left:.3rem}.core-explanation[open] summary:after{content:'−'}.core-explanation p{font-size:16px;line-height:1.5}.core-color-key{display:flex;gap:.6rem 1.3rem;flex-wrap:wrap;margin:1.1rem 0 2rem;color:var(--muted);font-size:16px}.core-color-key span{display:inline-flex;align-items:center;gap:.45rem}.core-deeper{margin:1.4rem 0}.core-deeper>summary{font-size:1.1rem;min-height:52px;cursor:pointer;display:flex;align-items:center;gap:.6rem;font-weight:650}.core-deeper>summary:after{content:'+';margin-left:auto}.core-deeper[open]>summary:after{content:'−'}.core-deeper .dimension-grid{margin-top:1.2rem}.core-profile .follow-panel{margin:1.5rem 0}.core-context-details{margin:1rem 0}.core-context-details summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:.5rem}.core-demo-note{padding:1rem;border:1px solid var(--core-uncertain);border-radius:16px;margin:1rem 0;line-height:1.5}.core-demo-note strong{color:var(--core-uncertain)}
[data-theme=light] .core-profile{--core-positive:#087d59;--core-negative:#b83236;--core-uncertain:#946000;--core-neutral:#586a82;--core-track:#dce5ef}
@media(max-width:1100px){.core-rating-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.core-profile-header{gap:.7rem;margin-top:.8rem}.core-profile-header .avatar{width:58px;height:58px;font-size:1.3rem}.core-profile-header h1{font-size:1.8rem}.core-profile-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.core-profile-actions .button{font-size:16px;padding:.7rem .6rem;justify-content:center}.core-rating-grid{gap:.65rem}.core-rating-card{padding:.8rem .65rem;border-radius:18px}.core-rating-card h3{font-size:16px;display:block;min-height:3em}.core-rating-card h3 .icon{display:none}.core-ring{width:116px}.core-ring-value{font-size:1.85rem}.core-ring-caption{min-height:2.8em}.core-explanation summary{font-size:16px}.core-state-list li{display:block}.core-state-list .core-state-dot{margin-right:.25rem}.core-browse{font-size:16px;align-items:flex-start;padding-top:.5rem}.core-browse .icon{width:16px;margin-top:.1rem}.core-profile .core-jump-links{gap:.35rem 1rem}.core-jump-links a{font-size:16px}.core-color-key{display:grid;grid-template-columns:1fr;gap:.6rem}.core-profile-header .badge{font-size:16px}.core-period span{display:block}}
@media(max-width:350px){.core-ring{width:100px}.core-rating-card{padding:.7rem .5rem}.core-ring-value{font-size:1.65rem}.core-profile-actions{grid-template-columns:1fr}.core-ring-caption{min-height:4.2em}}
@media(prefers-reduced-motion:reduce){.core-ring *{animation:none;transition:none}}

.core-legend-title{font-size:16px;color:var(--muted);margin:.6rem 0 .3rem}
