.dl-shell{ max-width: min(960px, 96vw); margin: 0 auto 40px; padding: 0 12px; display: grid; gap: 14px; }
.dl-pill{
  margin-inline-start: auto;
  padding: 4px 14px;
  background: rgba(212,176,122,.15);
  border: 1px solid rgba(212,176,122,.4);
  border-radius: 999px; font-size: 12px; color: #d4b07a;
}

.dl-hero{ text-align: center; padding: 24px 12px 8px; }
.dl-icon{ font-size: 44px; }
.dl-hero h1{
  font-family: 'Frank Ruhl Libre', serif; font-size: clamp(28px, 5vw, 44px); margin: 6px 0;
  background: linear-gradient(135deg, #f1d597, #d4b07a);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.dl-hero p{ opacity: .8; margin: 0 auto 12px; max-width: 56ch; }
.dl-streak{
  display: inline-block;
  padding: 6px 18px;
  background: linear-gradient(135deg, rgba(255,140,40,.15), rgba(255,200,100,.1));
  border: 1px solid rgba(255,200,100,.4);
  border-radius: 999px;
  color: #f1d597;
  font-weight: 700;
}

.dl-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: 12px;
}

.dl-tile{
  display: block;
  padding: 22px 16px;
  border-radius: 18px;
  text-align: center;
  text-decoration: none;
  color: #f6e6c2;
  border: 1px solid rgba(212,176,122,.3);
  transition: transform .2s, box-shadow .25s;
  cursor: pointer;
}
.dl-tile:hover{
  transform: translateY(-4px) scale(1.02);
  box-shadow: 0 18px 40px rgba(212,176,122,.25);
}
.dl-tile.is-on{
  border-color: rgba(241,213,151,.7);
  box-shadow: 0 0 0 2px rgba(241,213,151,.4) inset;
}
.dl-parsha{ background: linear-gradient(160deg, #312e81, #4f46e5); }
.dl-daf{ background: linear-gradient(160deg, #7c2d12, #ea580c); }
.dl-halacha{ background: linear-gradient(160deg, #166534, #16a34a); }
.dl-mitzva{ background: linear-gradient(160deg, #831843, #db2777); }
.dl-tile-icon{ font-size: 38px; margin-bottom: 6px; }
.dl-tile-name{ font-family: 'Frank Ruhl Libre', serif; font-size: 20px; font-weight: 800; }
.dl-tile-sub{ font-size: 12px; opacity: .85; margin-top: 4px; }

.dl-content{ padding: 22px; }
.dl-content h2{
  font-family: 'Frank Ruhl Libre', serif;
  font-size: clamp(24px, 4vw, 30px);
  margin: 0 0 14px;
  color: #f1d597;
}
.dl-content p{
  font-family: 'Frank Ruhl Libre', serif;
  font-size: 17px;
  line-height: 1.9;
  margin: 0 0 14px;
}
.dl-actions{
  display: flex; gap: 8px; margin-top: 16px; flex-wrap: wrap;
}
.dl-action{
  padding: 10px 18px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(212,176,122,.4);
  color: #d4b07a;
  border-radius: 999px;
  text-decoration: none;
  font-size: 13px; font-weight: 600;
  cursor: pointer;
}
.dl-action.is-primary{
  background: linear-gradient(135deg, #d4b07a, #f1d597);
  color: #0B1F3A;
  border-color: transparent;
}
.dl-action.is-primary.is-done{
  background: linear-gradient(135deg, #4ade80, #16a34a);
  color: #fff;
}
