.widget-head > div:first-child {
  padding: 0.3em 0.7em 0.3em 0.15em;
  overflow: visible;
}

.widget-head .eyebrow {
  margin-bottom: 0.15em;
  line-height: 1.4;
}

.widget-head h1 {
  max-width: none;
  margin-left: 0;
  padding: 0.08em 0.12em 0.1em 0;
  overflow: visible;
  line-height: 1.16;
}

.widget-title-row {
  display: flex;
  align-items: center;
  gap: clamp(12px, 1.7vw, 24px);
}

.widget-crest {
  display: block;
  width: clamp(54px, 6vw, 82px);
  height: clamp(54px, 6vw, 82px);
  flex: 0 0 auto;
  object-fit: contain;
  filter: drop-shadow(0 0 10px #22f0ffaa);
}

/* Compact the display for small DAKboard tiles, while leaving chores readable. */
.widget-shell { padding: clamp(12px,2vw,26px); gap: 8px; }
.widget-head { flex: 0 0 auto; gap: 8px; padding-bottom: 10px; }
.widget-head > div:first-child { min-width: 0; flex: 1 1 auto; padding: 0; }
.widget-title-row { min-width: 0; gap: clamp(8px,1.3vw,18px); }
.widget-crest { width: clamp(34px,4.2vw,58px); height: clamp(34px,4.2vw,58px); }
.widget-head h1 { min-width: 0; font-size: clamp(24px,4.8vw,54px); line-height: 1.08; white-space: nowrap; }
.widget-head .eyebrow { font-size: clamp(8px,1vw,11px); }
.widget-count { flex: 0 0 auto; gap: 4px; white-space: nowrap; }
.widget-count b { font-size: clamp(27px,5vw,52px); }
.widget-count span { font-size: clamp(9px,1.25vw,14px); }
.widget-scoreboard { flex: 0 0 auto; padding: clamp(7px,1.2vw,12px); border: 1px solid #4f3a76; border-radius: 4px; background:linear-gradient(145deg,#161330eb,#0d0b22e8); }
.widget-leader-head,.widget-rewards-head { display:flex; align-items:center; justify-content:space-between; gap:6px; color:#a9a0c7; font:700 clamp(9px,1.15vw,13px) monospace; letter-spacing:.08em; }
.widget-rewards-head { margin-top:8px; padding-top:7px; border-top:1px solid #4f3a76; }
.widget-reward-star { margin-right:3px; color:#b8ff3d; font-size:1.2em; line-height:1; text-shadow:0 0 7px #b8ff3d99; }
.widget-leaderboard { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; margin-top:4px; }
.widget-leader { min-width:0; display:flex; align-items:center; gap:4px; padding:4px 5px; border-left:2px solid var(--tag); background:#ffffff0a; color:#eeeafc; font-size:clamp(8px,.95vw,10px); }
.widget-rank { color:#9389ae; font:8px monospace; }
.widget-person { min-width:0; flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.widget-person small { display:block; color:#a9a0c7; font:7px monospace; }
.widget-leader b { color:var(--tag); font:700 clamp(8px,1vw,10px) monospace; white-space:nowrap; }
.widget-reward-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; margin-top:4px; }
.widget-reward-card { min-width:0; display:flex; align-items:center; justify-content:space-between; gap:5px; padding:4px 5px; border-left:2px solid #b8ff3d; background:#ffffff0a; color:#d1c9e9; font-size:clamp(8px,.9vw,10px); }
.widget-reward-card span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.widget-reward-card b { color:var(--cyan); font:700 clamp(8px,.9vw,10px) monospace; white-space:nowrap; }
.widget-list { min-height:0; padding:5px 0; gap:8px; }
.widget-track { gap:8px; }
.widget-chore { grid-template-columns:auto minmax(0,1fr); gap:clamp(8px,1.2vw,14px); padding:clamp(8px,1.2vw,13px); border-left-width:4px; border-radius:4px; }
.widget-avatar { width:clamp(30px,4vw,44px); height:clamp(30px,4vw,44px); font-size:clamp(13px,1.8vw,20px); }
.widget-chore h2 { margin-bottom:3px; font-size:clamp(13px,2vw,21px); line-height:1.15; }
.widget-chore p { font-size:clamp(9px,1.2vw,12px); line-height:1.25; }
.widget-footer { font-size:clamp(8px,.9vw,10px); }
.widget-empty h2 { margin:8px 0 3px; font-size:clamp(18px,2.8vw,28px); }
.widget-empty p { font-size:clamp(10px,1.2vw,13px); }
@media(max-height:600px) { .widget-shell { gap:5px; }.widget-head { padding-bottom:6px; }.widget-scoreboard { padding:5px 7px; }.widget-rewards-head { margin-top:5px; padding-top:4px; }.widget-list { padding:2px 0; }.widget-chore { padding:6px 8px; } }

/* A portrait DAKboard tile is too narrow to make six scores and rewards legible.
   Give that space back to upcoming chores; the full scoreboard remains on the index. */
@media(max-width:360px) {
  .widget-shell { padding:10px; gap:5px; }
  .widget-head { gap:4px; padding-bottom:7px; }
  .widget-head .eyebrow { margin-bottom:4px; font-size:8px; }
  .widget-title-row { gap:5px; }
  .widget-crest { width:27px; height:27px; }
  .widget-head h1 { font-size:clamp(18px,8vw,28px); }
  .widget-count { gap:2px; }
  .widget-count b { font-size:24px; }
  .widget-count span { font-size:9px; }
  .widget-scoreboard { display:none; }
  .widget-list { padding:7px 0; gap:6px; }
  .widget-track { gap:6px; }
  .widget-chore { gap:7px; padding:7px; border-left-width:3px; }
  .widget-avatar { width:25px; height:25px; font-size:12px; }
  .widget-chore h2 { margin-bottom:2px; font-size:12px; }
  .widget-chore p { font-size:8px; line-height:1.2; letter-spacing:0; }
  .widget-footer { font-size:8px; }
}
