/* Shared Lucide strokes and the approved corner bento-badge treatment. */
.battle-group-picker,.battle-exercise-picker { display:flex;gap:7px;overflow-x:auto;flex:none;padding:5px 0;touch-action:pan-x }
.battle-group-picker button,.battle-exercise-picker button { flex:none;white-space:nowrap }
.battle-exercise-picker button { max-width:240px;overflow:hidden;text-overflow:ellipsis }
.battle-exercise-title { text-align:center;font-size:24px;line-height:1.25;font-weight:300;margin:16px 0 6px }
.battle-exercise-result { text-align:center;touch-action:pan-y }
.battle-exercise-result .battle-fighters { margin-top:18px }
.battle-exercise-actions { display:flex;justify-content:center;gap:10px;padding:16px 0 }
.battle-exercise-actions button { min-width:0;padding:10px;font-size:13px }
.battle-group-metric { margin-top:16px;padding:12px;border:1px solid var(--line);border-radius:18px;background:var(--panel) }
.battle-group-metric h3 { margin:0;font-size:16px;font-weight:400 }
.battle-group-metric .group-rank { display:flex;justify-content:space-between;gap:10px;text-align:left;padding:8px 0 }
.group-rank span { min-width:0;overflow-wrap:anywhere }.group-rank strong { white-space:nowrap;font-weight:400 }
.ui-icon,.sport-icon { width:18px;height:18px;flex:none;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round }
.nav .ui-icon { width:18px;height:18px }
.nav { grid-template-columns:repeat(5,minmax(0,1fr)) }
.nav button { min-width:0;padding:2px }
.icon-btn,.round-icon,.header-refresh { display:inline-flex;align-items:center;justify-content:center }
.header-refresh { width:44px;height:44px;padding:0;border-radius:50% }
.fab { display:flex;align-items:center;justify-content:center }
.fab .ui-icon { width:24px;height:24px }
.sport-badge .ui-icon { width:18px;height:18px }
.calendar-mark .sport-icon { width:12px;height:12px }
.label-with-icon { display:inline-flex;gap:6px;align-items:center;justify-content:center }
.label-with-icon .ui-icon { width:16px;height:16px }
.floating-menu .label-with-icon { justify-content:flex-start }
.bento-sticker { display:inline-flex;align-items:center;gap:5px;white-space:nowrap;padding:6px 10px;border:1px solid currentColor;border-radius:10px;background:var(--panel2);box-shadow:0 3px 9px #0002;font-size:.78rem;font-weight:400;line-height:1.15;transform:rotate(-3deg);color:var(--accent);pointer-events:none }
.bento-sticker .ui-icon { width:14px;height:14px }
.sticker-card { position:relative;overflow:visible;margin-top:24px }
.corner-sticker { position:absolute;top:-12px;right:12px;z-index:1 }
.sticker-done { color:#56d995 }
.sticker-plan { color:#c2a2ff }
.sticker-live { color:#e34d59 }
.sticker-today { color:var(--accent) }
.diary-entry.sticker-card { padding-top:20px;padding-bottom:12px;min-height:78px }
.diary-entry .today-label { font-size:.72rem;flex:none }
.diary-entry .chevron { width:18px;height:18px;position:static }
.timeline-entry .diary-entry { margin-top:20px }
.rest-card.sticker-card { padding-top:20px }
.live-banner.sticker-card { padding-top:20px }
.chat-back { width:auto;height:auto;min-height:44px;min-width:66px;padding:8px 14px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center }
.chat-mode button { display:flex;align-items:center;justify-content:center;text-align:center }
.chat-mode button.active { background:var(--accent);color:var(--accent-text);border-color:var(--accent) }
.profile-block > summary > .ui-icon { float:left;margin-right:10px;margin-top:2px }
.training-template-card.sticker-card .training-template-open { padding-top:22px }
.chart .ui-icon { width:16px;height:16px }
.nav-badge { border-radius:7px;transform:rotate(-3deg);border:1px solid #ff9595 }
.chat-mode .ui-icon { width:16px;height:16px;margin-right:5px }
.sport-strength { --sport:#d84456 }.sport-running { --sport:#939d00 }
.sport-swimming { --sport:#218cbd }.sport-cycling { --sport:#8c59c5 }
.sport-walking { --sport:#c47b33 }.sport-workout { --sport:#178976 }
.sport-other { --sport:#637885 }
.diary-timeline { border-left:1px solid var(--line);margin-left:13px }
.timeline-entry::before { border:2px solid var(--bg);width:12px;height:12px;left:-24px }
.timeline-entry:has(.entry-done)::before { background:#56d995 }
.timeline-entry:has(.entry-plan)::before { background:#c2a2ff }
.timeline-entry:has(.entry-live)::before { background:#e34d59 }
body[data-theme="custom-light"] .sticker-done { color:#16804c }
body[data-theme="custom-light"] .sticker-plan { color:#7746b1 }
@media(max-width:350px) {
  .nav button { font-size:10px }
  .training-template-actions { padding-left:6px;padding-right:6px;gap:2px }
  .training-template-actions button { padding:7px 6px;font-size:12px;gap:4px }
}
