.level-label { display:inline-block; padding:4px 10px; border-radius:8px; background:var(--theme-soft,#fff0d4); color:var(--theme-gold,#755017); font-size:.75rem; font-weight:700; }

a.online-count { text-decoration:none; }a.online-count:hover { text-decoration:underline; }
.online-dot { white-space:nowrap; font-size:11px; }
.peer-avatar { width:34px; height:34px; border-radius:50%; object-fit:cover; object-position:50% 18%; flex-shrink:0; background:var(--theme-soft,#dceff0); }
.mail-contact.peer-row { display:flex; align-items:center; gap:10px; }.peer-row > span { min-width:0; }.peer-row small { display:block; overflow-wrap:anywhere; }
.peer-heading { display:flex; gap:12px; align-items:center; text-decoration:none; }.peer-heading .peer-avatar { width:46px; height:46px; }
.shout-message { display:grid; grid-template-columns:30px minmax(0,1fr); gap:9px; }.shout-message > div { grid-column:2; min-width:0; }.shout-message .peer-avatar { width:30px; height:30px; }.shout-message a { color:inherit; text-decoration:none; }.shout-message a:hover { text-decoration:underline; }
.system-note { font-size:.85rem; color:var(--muted); }

.activity-avatar { position:relative; width:128px; height:146px; display:grid; place-items:start center; padding-top:18px; }

.activity-ring-link { position:absolute; inset:0 0 18px; border-radius:50%; }
.activity-ring-link svg { display:block; width:128px; height:128px; overflow:visible; }
.activity-track { fill:none; stroke:#bbdcdf; stroke-width:4; }
.activity-fill { fill:none; stroke-width:4; stroke-linecap:round; filter:drop-shadow(0 0 3px #729cdd); transition:stroke-dasharray 1s linear; }
.activity-tick { stroke:#6a8c94; stroke-width:1.3; }
.activity-spark { fill:#fff7d9; filter:drop-shadow(0 0 3px #ffcc65); }
.activity-spark-halo { fill:#a1eaff; opacity:.6; transform-box:fill-box; transform-origin:center; animation:spark-breathe 2.4s ease-in-out infinite; }
.avatar-level { position:absolute; top:127px; left:50%; transform:translateX(-50%); padding:3px 9px; border:1px solid var(--theme-line,#edc17b); border-radius:8px; background:#183e50; color:#ffe0a2; font-size:11px; font-weight:700; white-space:nowrap; box-shadow:0 3px 8px #173c4b20; }

.activity-ring-link:focus-visible { outline:2px solid var(--orange); outline-offset:3px; }
@keyframes spark-breathe { 50% { opacity:.18; transform:scale(1.6); } }
.vital-bars { width:100%; max-width:180px; display:grid; gap:9px; margin-top:10px; }
.vital-bars label { display:grid; gap:4px; font-size:11px; }
.vital-bars label > span { display:flex; justify-content:space-between; gap:8px; }
.vital-bars b { font-variant-numeric:tabular-nums; font-weight:500; }
.vital-bars progress { display:block; appearance:none; border:0; width:100%; height:7px; border-radius:8px; overflow:hidden; background:var(--theme-soft,#dceaea); }
.vital-bars progress::-webkit-progress-bar { background:var(--theme-soft,#dceaea); border-radius:8px; }
.vital-health progress::-webkit-progress-value { background:linear-gradient(90deg,#de6578,var(--theme-soft,#f3a28f)); border-radius:8px; }
.vital-energy progress::-webkit-progress-value { background:linear-gradient(90deg,#1297a4,#73d5d1); border-radius:8px; }
.vital-health progress::-moz-progress-bar { background:#de6578; }.vital-energy progress::-moz-progress-bar { background:#1297a4; }
.activity-details { font-size:11px; width:100%; max-width:185px; background:var(--theme-surface,#ffffff70); border-radius:10px; padding:9px; margin-top:6px; }
.activity-details summary { cursor:pointer; color:var(--teal); }.activity-details strong,.activity-details > span,.activity-details a { display:block; margin-top:7px; font-size:11px; }
.attribute-dashboard { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:20px; margin-top:24px; align-items:center; }
.attribute-dashboard .stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:0; align-content:center; }
.stat-card .stat-preview { display:block; color:var(--theme-gold,#a16b13); font-size:1rem; font-weight:600; margin-top:6px; }.stat-preview span { font-size:.75rem; }
.attribute-preview-note { grid-column:1/-1; margin:0; color:var(--theme-gold,#957020); font-size:.75rem; }
.stat-radar { --radar-current:var(--theme-accent,#087f8c); --radar-preview:var(--theme-gold,#8a5a0b); margin:0; padding:5px 8px 12px; border:1px solid var(--theme-line,#d6e6e7); border-radius:22px; background:linear-gradient(145deg,var(--theme-surface,#ffffffcf),var(--theme-soft,#ecf8f6)); }
.stat-radar svg { width:100%; display:block; }.radar-grid { fill:none; stroke:var(--theme-line,#c4dfe0); stroke-width:1; }.radar-value { fill:color-mix(in srgb,var(--radar-current) 18%,transparent); stroke:var(--radar-current); stroke-width:2.25; }.radar-point { fill:var(--radar-current); }
.radar-preview { fill:color-mix(in srgb,var(--radar-preview) 12%,transparent); stroke:var(--radar-preview); stroke-width:2.25; stroke-dasharray:4 3; }
.stat-radar text.radar-label-preview { fill:var(--radar-preview); }
.stat-radar text { fill:var(--theme-muted,#446674); font:11px system-ui,sans-serif; }.stat-radar figcaption { display:flex; justify-content:center; flex-wrap:wrap; gap:6px 12px; font-size:10px; color:var(--theme-muted,#527782); }.stat-radar figcaption small { flex-basis:100%; text-align:center; font-size:9px; }
.stat-radar i { display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--radar-current); }.stat-radar .radar-key-preview i { background:var(--radar-preview); }
.training-offer { flex-direction:row; align-items:center; gap:18px; }.training-offer-copy { display:flex; flex-direction:column; gap:9px; min-width:0; }.training-image { width:104px; height:104px; flex-shrink:0; object-fit:cover; border-radius:17px; }
@media(max-width:950px) { .training-image { width:76px; height:76px; }.attribute-dashboard { grid-template-columns:minmax(0,1fr) 220px; } }
@media(max-width:650px) { .attribute-dashboard { grid-template-columns:1fr; }.stat-radar { width:260px; max-width:100%; justify-self:center; }.training-offer { align-items:flex-start; padding:18px; gap:12px; }.training-image { width:64px; height:64px; }.stat-preview { font-size:.9rem; } }
@media(prefers-reduced-motion:reduce) { .activity-spark-halo { animation:none; }.activity-fill { transition:none; } }

@media(prefers-reduced-motion:reduce){.activity-spark-halo{animation:none}}
