/* HOLiUS home dashboard v2
   Scope: home page only. Theme-token based, mobile-first, no layout framework. */

.home-dashboard{
  width:min(100%,900px);
  margin:26px auto 0;
  display:grid;
  gap:24px;
  text-align:left;
}
.home-section-eyebrow{
  display:block;
  margin:0 0 4px;
  color:var(--theme-muted);
  font-size:10px;
  font-weight:var(--theme-weight-strong);
  letter-spacing:.12em;
  line-height:1.2;
}
.home-block-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin:0 0 14px;
}
.home-block-head h2{
  margin:0;
  color:var(--theme-text);
  font-size:18px;
  line-height:var(--theme-leading-heading);
  font-weight:var(--theme-weight-strong);
  letter-spacing:var(--theme-tracking-heading);
}

/* Year progress: deliberately compact so it reads as context, not a card. */
.home-year-progress{
  padding:0 2px;
}
.home-year-copy{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
}
.home-year-copy>span{
  display:flex;
  align-items:baseline;
  gap:8px;
  min-width:0;
}
.home-year-copy strong{
  color:var(--theme-text);
  font-size:13px;
  font-weight:var(--theme-weight-strong);
}
.home-year-copy small{
  color:var(--theme-muted);
  font-size:11.5px;
}
.home-year-copy>b{
  flex:0 0 auto;
  color:var(--theme-accent);
  font-size:13px;
  font-weight:var(--theme-weight-strong);
  font-variant-numeric:tabular-nums;
}
.home-year-progress-track{
  height:4px;
  margin-top:8px;
  overflow:hidden;
  border-radius:999px;
  background:var(--theme-surface-2);
}
.home-year-progress-track i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:var(--theme-accent);
}

/* Daily verse: primary home content. */
.home-today-card{
  position:relative;
  overflow:hidden;
  padding:20px 20px 18px;
  border:var(--theme-border-width) solid var(--theme-border);
  border-radius:var(--theme-radius-image);
  background:var(--theme-surface);
  color:var(--theme-text);
  box-shadow:var(--theme-shadow-sm);
}
.home-today-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:var(--theme-accent);
}
.home-today-head{
  margin-bottom:8px;
}
.home-daily-tabs{
  display:inline-flex;
  align-items:center;
  gap:2px;
  margin:0 0 18px;
  padding:3px;
  border-radius:999px;
  background:var(--theme-surface-2);
}
.home-daily-tabs button{
  appearance:none;
  min-width:56px;
  min-height:36px;
  padding:0 12px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:var(--theme-muted);
  font:inherit;
  font-size:12px;
  font-weight:var(--theme-weight-medium);
  cursor:pointer;
}
.home-daily-tabs button.is-active{
  background:var(--theme-surface);
  color:var(--theme-accent);
  box-shadow:var(--theme-shadow-sm);
  font-weight:var(--theme-weight-strong);
}
.home-daily-tabs button:disabled{
  opacity:var(--theme-opacity-subtle);
  cursor:not-allowed;
}
.home-daily-reference{
  margin-bottom:8px;
  color:var(--theme-accent);
  font-size:12px;
  font-weight:var(--theme-weight-strong);
}
.home-today-card blockquote{
  margin:0;
  padding:0;
  color:var(--theme-text);
  font-size:19px;
  line-height:1.72;
  font-weight:var(--theme-weight-medium);
  letter-spacing:var(--theme-tracking-body);
  word-break:keep-all;
}
.home-daily-read{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-top:14px;
  color:var(--theme-muted);
  font-size:12.5px;
  font-weight:var(--theme-weight-medium);
  text-decoration:none;
}
.home-daily-read:hover{color:var(--theme-accent)}

/* Faith routine: three actions in one visual unit rather than three independent cards. */
.home-routine{
  overflow:hidden;
  border:var(--theme-border-width) solid var(--theme-border);
  border-radius:var(--theme-radius-image);
  background:var(--theme-surface);
  color:var(--theme-text);
  box-shadow:var(--theme-shadow-sm);
}
.home-routine>.home-block-head{
  margin:0;
  padding:17px 18px 11px;
}
.home-routine-row{
  display:grid;
  grid-template-columns:36px minmax(0,1fr) 18px;
  align-items:center;
  gap:11px;
  min-height:68px;
  padding:11px 18px;
  border-top:var(--theme-border-width) solid var(--theme-border);
  color:inherit;
  text-decoration:none;
}
.home-routine-icon{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:var(--theme-radius-button);
  background:var(--theme-accent-2);
  color:var(--theme-accent);
  font-size:18px;
  line-height:1;
}
.home-routine-copy{
  display:grid;
  gap:3px;
  min-width:0;
}
.home-routine-copy strong{
  font-size:14.5px;
  font-weight:var(--theme-weight-strong);
}
.home-routine-copy small{
  min-width:0;
  overflow:hidden;
  color:var(--theme-muted);
  font-size:12px;
  line-height:1.45;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.home-routine-row>b,
.home-writing-entry>b{
  color:var(--theme-muted);
  font-size:22px;
  font-weight:var(--theme-weight-body);
}
.home-routine-row:hover .home-routine-copy strong,
.home-routine-row:hover>b{
  color:var(--theme-accent);
}

/* Writing score/rank remains immediately below Continue Writing. */
.home-writing-summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);
  align-items:center;
  min-height:66px;
  padding:10px 18px;
  border-top:var(--theme-border-width) solid var(--theme-border);
  background:var(--theme-bg);
  color:inherit;
  text-decoration:none;
}
.home-writing-stat{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
}
.home-writing-stat strong{
  color:var(--theme-text);
  font-size:19px;
  line-height:1;
  font-weight:var(--theme-weight-strong);
  font-variant-numeric:tabular-nums;
}
.home-writing-stat small{
  color:var(--theme-muted);
  font-size:11.5px;
}
.home-writing-divider{
  width:1px;
  height:30px;
  background:var(--theme-border);
}
.home-writing-entry{
  min-height:62px;
  padding:10px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border-top:var(--theme-border-width) solid var(--theme-border);
  background:var(--theme-bg);
  color:inherit;
  text-decoration:none;
}
.home-writing-entry span{
  display:grid;
  gap:3px;
  min-width:0;
}
.home-writing-entry strong{font-size:14px}
.home-writing-entry small{
  overflow:hidden;
  color:var(--theme-muted);
  font-size:12px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Favorites: lighter than the faith content. */
.home-quick{
  padding:2px 0 0;
  color:var(--theme-text);
}
.home-quick>.home-block-head{
  align-items:center;
  margin-bottom:10px;
}
.home-favorites-edit,
.home-news-share{
  appearance:none;
  min-height:36px;
  padding:0 11px;
  border:var(--theme-border-width) solid var(--theme-border);
  border-radius:999px;
  background:transparent;
  color:var(--theme-muted);
  font:inherit;
  font-size:11.5px;
  font-weight:var(--theme-weight-medium);
  cursor:pointer;
}
.home-favorites-edit:hover,
.home-news-share:hover{
  border-color:var(--theme-accent);
  color:var(--theme-accent);
}
.home-quick-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.home-quick-grid a{
  min-width:0;
  min-height:70px;
  padding:9px 4px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:var(--theme-border-width) solid var(--theme-border);
  border-radius:var(--theme-radius-card);
  background:var(--theme-surface);
  color:inherit;
  text-decoration:none;
}
.home-quick-grid a span{
  color:var(--theme-accent);
  font-size:21px;
  line-height:1;
}
.home-quick-grid a strong{
  max-width:100%;
  overflow:hidden;
  color:var(--theme-text);
  font-size:11.5px;
  font-weight:var(--theme-weight-medium);
  text-overflow:ellipsis;
  white-space:nowrap;
}
.home-favorites-editor{
  margin-top:12px;
  padding:14px;
  border:var(--theme-border-width) solid var(--theme-border);
  border-radius:var(--theme-radius-card);
  background:var(--theme-surface);
}
.home-favorites-editor-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.home-favorites-editor-head span{
  color:var(--theme-muted);
  font-size:12px;
}
.home-favorites-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
}
.home-favorites-options label{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:7px 9px;
  border:var(--theme-border-width) solid var(--theme-border);
  border-radius:var(--theme-radius-button);
  font-size:13px;
}
.home-favorites-editor-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:12px;
}

/* News: shorter on the home page, two columns on wider screens. */
.home-news-section{
  width:min(100%,900px);
  margin:42px auto 0!important;
  text-align:left;
}
.home-news-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.home-news-section-head h2{
  margin:0;
  color:var(--theme-text);
  font-size:20px;
  line-height:1.2;
  font-weight:var(--theme-weight-strong);
}
.home-news-share{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.home-news-share svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.home-news-share.is-done{color:var(--theme-accent)}
.home-news-channel{
  min-width:0;
  padding:0;
}
.home-news-channel-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin:0 0 7px;
  padding-top:14px;
  border-top:var(--theme-border-width) solid var(--theme-border);
}
.home-news-channel-head>div{
  display:flex;
  align-items:baseline;
  gap:7px;
  min-width:0;
}
.home-news-channel-head strong{
  color:var(--theme-text);
  font-size:14px;
  font-weight:var(--theme-weight-strong);
}
.home-news-channel-head small,
.home-news-channel-head>a{
  color:var(--theme-muted);
  font-size:11px;
}
.home-news-channel-head>a{
  flex:0 0 auto;
  text-decoration:none;
}
.home-news-numbered{
  list-style:none;
  margin:0;
  padding:0;
}
.home-news-numbered li{
  display:grid;
  grid-template-columns:26px minmax(0,1fr);
  align-items:center;
  min-height:38px;
  border-bottom:var(--theme-border-width) solid var(--theme-border);
}
.home-news-numbered li>span{
  color:var(--theme-muted);
  font-size:10.5px;
  font-variant-numeric:tabular-nums;
}
.home-news-numbered a{
  min-width:0;
  overflow:hidden;
  color:var(--theme-text);
  font-size:12.5px;
  line-height:1.4;
  text-decoration:none;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.home-news-numbered a:hover{color:var(--theme-accent)}
.home-news-channel-divider{
  height:14px;
}
.home-news-cache-empty{
  display:block!important;
  min-height:0!important;
  padding:12px 0;
  color:var(--theme-muted);
  font-size:12px;
}

/* Discovery sections keep the portal breadth visible after the news. */
.home-discovery{
  width:min(100%,900px);
  margin:38px auto 0;
  display:grid;
  gap:14px;
  text-align:left;
}
.home-discovery-block{
  min-width:0;
  padding:16px 18px;
  border:var(--theme-border-width) solid var(--theme-border);
  border-radius:var(--theme-radius-image);
  background:var(--theme-surface);
  color:var(--theme-text);
}
.home-discovery-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:5px;
}
.home-discovery-head h2{
  margin:0;
  font-size:16px;
  font-weight:var(--theme-weight-strong);
}
.home-discovery-head a{
  color:var(--theme-muted);
  font-size:11.5px;
  text-decoration:none;
}
.home-discovery-list{display:grid}
.home-discovery-list>a{
  display:grid;
  min-width:0;
  gap:3px;
  padding:11px 0;
  border-bottom:var(--theme-border-width) solid var(--theme-border);
  color:inherit;
  text-decoration:none;
}
.home-discovery-list>a:last-child{
  border-bottom:0;
  padding-bottom:2px;
}
.home-discovery-kicker{
  color:var(--theme-accent);
  font-size:10.5px;
  font-weight:var(--theme-weight-strong);
}
.home-discovery-list strong,
.home-discovery-list small{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.home-discovery-list strong{font-size:13px}
.home-discovery-list small{
  color:var(--theme-muted);
  font-size:11px;
}

/* Accessible focus states */
.home-daily-tabs button:focus-visible,
.home-daily-read:focus-visible,
.home-routine-row:focus-visible,
.home-writing-summary:focus-visible,
.home-writing-entry:focus-visible,
.home-favorites-edit:focus-visible,
.home-quick-grid a:focus-visible,
.home-news-share:focus-visible,
.home-news-channel a:focus-visible,
.home-discovery a:focus-visible{
  outline:2px solid color-mix(in srgb,var(--theme-accent) 38%,transparent);
  outline-offset:2px;
}

@media(hover:hover){
  .home-today-card:hover,
  .home-routine:hover,
  .home-quick-grid a:hover,
  .home-discovery-block:hover{
    border-color:color-mix(in srgb,var(--theme-accent) 32%,var(--theme-border));
  }
  .home-quick-grid a:hover{
    background:var(--theme-accent-2);
  }
}

@media(max-width:600px){
  .home-dashboard{
    margin-top:22px;
    gap:20px;
  }
  .home-year-copy>span{
    display:grid;
    gap:2px;
  }
  .home-today-card{
    padding:18px 17px 17px;
  }
  .home-today-card blockquote{
    font-size:16.5px;
    line-height:1.7;
  }
  .home-daily-tabs{
    margin-bottom:15px;
  }
  .home-routine>.home-block-head{
    padding:15px 15px 10px;
  }
  .home-routine-row{
    grid-template-columns:34px minmax(0,1fr) 16px;
    gap:10px;
    min-height:64px;
    padding:10px 15px;
  }
  .home-routine-icon{
    width:34px;
    height:34px;
    font-size:17px;
  }
  .home-writing-summary,
  .home-writing-entry{
    padding-left:15px;
    padding-right:15px;
  }
  .home-quick-grid{
    gap:7px;
  }
  .home-quick-grid a{
    min-height:66px;
  }
  .home-favorites-options{
    grid-template-columns:1fr;
  }
  .home-news-section{
    margin-top:34px!important;
  }
  .home-news-section-head h2{
    font-size:18px;
  }
  .home-news-share{
    width:38px;
    min-width:38px;
    padding:0;
    justify-content:center;
  }
  .home-news-share span{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    clip-path:inset(50%);
    white-space:nowrap;
  }
  .home-discovery{
    margin-top:30px;
    gap:12px;
  }
  .home-discovery-block{
    padding:14px 15px;
  }
}

@media(max-width:380px){
  .home-daily-tabs button{
    min-width:52px;
    padding-inline:10px;
  }
  .home-quick-grid a strong{
    font-size:11px;
  }
}

@media(min-width:760px){
  .home-dashboard{
    margin-top:34px;
    gap:26px;
  }
  .home-today-card{
    padding:24px 26px 22px;
  }
  .home-today-card blockquote{
    max-width:780px;
    font-size:21px;
  }
  .home-routine>.home-block-head{
    padding:20px 22px 12px;
  }
  .home-routine-row{
    padding-left:22px;
    padding-right:22px;
  }
  .home-writing-summary,
  .home-writing-entry{
    padding-left:22px;
    padding-right:22px;
  }
  .home-quick-grid{
    grid-template-columns:repeat(6,minmax(0,1fr));
  }
  .home-news-section{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:28px;
  }
  .home-news-section-head{
    grid-column:1/-1;
  }
  .home-news-channel-divider{
    display:none;
  }
  .home-discovery{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

@media(prefers-reduced-motion:reduce){
  .home-dashboard *{transition:none!important}
}

/* HOLiUS home dashboard v3 visual balance refinements
   Keep structure and features intact; improve hierarchy/readability only. */
.home-dashboard{
  gap:22px;
}
.home-block-head{
  align-items:center;
  margin-bottom:12px;
}
.home-block-head h2{
  font-size:19px;
  line-height:1.3;
}

/* Year progress remains contextual, but is easier to scan. */
.home-year-copy strong{
  font-size:13.5px;
}
.home-year-copy small{
  font-size:12px;
}
.home-year-copy>b{
  font-size:13.5px;
}
.home-year-progress-track{
  height:5px;
  margin-top:9px;
}

/* Daily verse: clean reading card, without decorative side rail. */
.home-today-card{
  padding:20px;
  border-radius:var(--theme-radius-card);
}
.home-today-card::before{
  content:none;
}
.home-today-head{
  margin-bottom:13px;
}
.home-today-head h2{
  font-size:19px;
}
.home-daily-tabs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:100%;
  gap:6px;
  margin:0 0 17px;
  padding:0;
  border-radius:0;
  background:transparent;
}
.home-daily-tabs button{
  min-width:0;
  min-height:40px;
  padding:0 8px;
  border:var(--theme-border-width) solid var(--theme-border);
  border-radius:var(--theme-radius-button);
  background:var(--theme-bg);
  color:var(--theme-muted);
  font-size:12.5px;
}
.home-daily-tabs button.is-active{
  border-color:color-mix(in srgb,var(--theme-accent) 42%,var(--theme-border));
  background:var(--theme-accent-2);
  color:var(--theme-accent);
  box-shadow:none;
}
.home-daily-reference{
  margin-bottom:9px;
  color:var(--theme-muted);
  font-size:12.5px;
}
.home-today-card blockquote{
  font-size:19px;
  line-height:1.78;
  font-weight:var(--theme-weight-medium);
}
.home-daily-read{
  margin-top:15px;
  color:var(--theme-accent);
  font-size:13px;
}

/* Routine: clearer labels without making the card taller. */
.home-routine>.home-block-head{
  padding:17px 18px 12px;
}
.home-routine-copy strong{
  font-size:15px;
}
.home-routine-copy small{
  font-size:12.5px;
}
.home-writing-stat strong{
  font-size:20px;
}
.home-writing-stat small{
  font-size:12px;
}

/* Favorites: improve legibility while retaining compact tiles. */
.home-favorites-edit,
.home-news-share{
  min-height:38px;
  font-size:12px;
}
.home-quick-grid a{
  min-height:72px;
}
.home-quick-grid a strong{
  font-size:12.5px;
}

/* News: stronger hierarchy and more readable list text. */
.home-news-section{
  margin-top:38px!important;
}
.home-news-section-head{
  margin-bottom:10px;
}
.home-news-section-head h2{
  font-size:19px;
}
.home-news-channel-head strong{
  font-size:14.5px;
}
.home-news-channel-head small,
.home-news-channel-head>a{
  font-size:11.5px;
}
.home-news-numbered li{
  min-height:40px;
}
.home-news-numbered li>span{
  font-size:11px;
}
.home-news-numbered a{
  font-size:13px;
  line-height:1.45;
}

@media(max-width:600px){
  .home-dashboard{
    margin-top:21px;
    gap:18px;
  }
  .home-block-head h2,
  .home-today-head h2{
    font-size:17.5px;
  }
  .home-today-card{
    padding:17px 16px 18px;
  }
  .home-daily-tabs{
    gap:5px;
    margin-bottom:16px;
  }
  .home-daily-tabs button{
    min-height:39px;
    padding-inline:5px;
    font-size:12px;
  }
  .home-daily-reference{
    margin-bottom:8px;
    font-size:12.5px;
  }
  .home-today-card blockquote{
    font-size:17.5px;
    line-height:1.76;
  }
  .home-daily-read{
    font-size:12.5px;
  }
  .home-routine>.home-block-head{
    padding:15px 15px 11px;
  }
  .home-routine-copy strong{
    font-size:14.5px;
  }
  .home-routine-copy small{
    font-size:12px;
  }
  .home-writing-stat strong{
    font-size:19px;
  }
  .home-quick-grid a strong{
    font-size:12px;
  }
  .home-news-section{
    margin-top:32px!important;
  }
  .home-news-section-head h2{
    font-size:18px;
  }
  .home-news-numbered a{
    font-size:12.5px;
  }
}


/* HOLiUS home dashboard v4 requested refinements
   Remove year progress, move daily controls below verse, restore favorites spacing,
   and add per-article news sharing without changing the portal structure. */
.home-daily-tabs{
  margin:18px 0 0;
  padding-top:14px;
  border-top:var(--theme-border-width) solid var(--theme-border);
}
.home-quick{
  margin:6px 0 10px;
  padding:8px 2px 2px;
}
.home-news-numbered li{
  grid-template-columns:26px minmax(0,1fr) 40px;
  min-height:44px;
}
.home-news-item-share{
  appearance:none;
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  margin-right:-4px;
  padding:0;
  border:0;
  border-radius:999px;
  background:transparent;
  color:var(--theme-muted);
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.home-news-item-share svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.home-news-item-share:hover,
.home-news-item-share:focus-visible,
.home-news-item-share.is-done{
  color:var(--theme-accent);
  background:var(--theme-accent-2);
}
.home-news-item-share:focus-visible{
  outline:2px solid color-mix(in srgb,var(--theme-accent) 38%,transparent);
  outline-offset:1px;
}
@media(max-width:600px){
  .home-daily-tabs{
    margin-top:16px;
    margin-bottom:0;
    padding-top:13px;
  }
  .home-quick{
    margin-top:8px;
    margin-bottom:12px;
    padding-top:7px;
  }
  .home-news-numbered li{
    grid-template-columns:24px minmax(0,1fr) 38px;
  }
  .home-news-item-share{
    width:38px;
    height:38px;
    margin-right:-3px;
  }
}

/* HOME MAIN UPGRADE V5 ---------------------------------------------------- */
/* Fixed 8-slot favorites: smaller icons, more breathing room, empty slots are actionable. */
.home-quick{
  margin-top:8px;
  padding-top:4px;
}
.home-quick>.home-block-head{
  margin-bottom:12px;
}
.home-quick-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
}
.home-quick-grid .home-quick-slot{
  appearance:none;
  width:100%;
  min-width:0;
  min-height:64px;
  padding:8px 4px 7px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  border:var(--theme-border-width) solid var(--theme-border);
  border-radius:var(--theme-radius-card);
  background:var(--theme-surface);
  color:inherit;
  text-decoration:none;
  cursor:pointer;
  font:inherit;
}
.home-quick-grid .home-quick-slot>span{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  color:var(--theme-accent);
  font-size:16px;
  line-height:1;
}
.home-quick-grid .home-quick-slot>strong{
  max-width:100%;
  overflow:hidden;
  color:var(--theme-text);
  font-size:11px;
  line-height:1.25;
  font-weight:var(--theme-weight-medium);
  text-overflow:ellipsis;
  white-space:nowrap;
}
.home-quick-grid .home-quick-slot.is-empty{
  border-style:dashed;
  background:transparent;
  color:var(--theme-muted);
}
.home-quick-grid .home-quick-slot.is-empty>span{
  color:var(--theme-muted);
  font-size:18px;
}
.home-quick-grid .home-quick-slot.is-empty>strong{color:var(--theme-muted)}
.home-quick.is-editing .home-quick-slot:not(.is-empty){
  border-color:color-mix(in srgb,var(--theme-accent) 40%,var(--theme-border));
}
.home-favorites-picker{
  margin-top:12px;
  padding:14px;
  border:var(--theme-border-width) solid var(--theme-border);
  border-radius:var(--theme-radius-card);
  background:var(--theme-surface);
  box-shadow:var(--theme-shadow-sm);
}
.home-favorites-picker .home-favorites-editor-head{
  align-items:center;
  margin-bottom:10px;
}
.home-favorites-picker-close{
  appearance:none;
  width:36px;
  height:36px;
  border:0;
  border-radius:50%;
  background:transparent;
  color:var(--theme-muted);
  font:inherit;
  font-size:22px;
  cursor:pointer;
}
.home-favorites-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
.home-favorites-options button{
  appearance:none;
  min-width:0;
  min-height:48px;
  padding:7px 5px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  border:var(--theme-border-width) solid var(--theme-border);
  border-radius:var(--theme-radius-button);
  background:var(--theme-bg);
  color:var(--theme-text);
  font:inherit;
  cursor:pointer;
}
.home-favorites-options button>span{color:var(--theme-accent);font-size:15px}
.home-favorites-options button>strong{font-size:11.5px;font-weight:var(--theme-weight-medium)}
.home-favorites-options button.is-used{opacity:.45}
.home-favorites-remove{
  appearance:none;
  width:100%;
  min-height:42px;
  margin-top:10px;
  border:0;
  border-radius:var(--theme-radius-button);
  background:var(--theme-bg);
  color:var(--theme-muted);
  font:inherit;
  font-size:12px;
  cursor:pointer;
}

/* Progress overview now lives below NEWS. All three metrics share one visual language. */
.home-progress-overview{
  margin-top:28px;
  padding-top:1px;
  color:var(--theme-text);
}
.home-progress-overview>.home-block-head{margin-bottom:10px}
.home-progress-list{
  overflow:hidden;
  border:var(--theme-border-width) solid var(--theme-border);
  border-radius:var(--theme-radius-card);
  background:var(--theme-surface);
  box-shadow:var(--theme-shadow-sm);
}
.home-progress-item{
  padding:14px 16px 15px;
}
.home-progress-item+.home-progress-item{
  border-top:var(--theme-border-width) solid var(--theme-border);
}
.home-progress-copy{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
}
.home-progress-copy>span{
  color:var(--theme-text);
  font-size:13.5px;
  font-weight:var(--theme-weight-strong);
}
.home-progress-copy>strong{
  color:var(--theme-text);
  font-size:14px;
  font-weight:var(--theme-weight-strong);
  font-variant-numeric:tabular-nums;
}
.home-progress-detail{
  margin-top:4px;
  color:var(--theme-muted);
  font-size:11.5px;
  line-height:1.45;
}
.home-progress-track{
  height:5px;
  margin-top:9px;
  overflow:hidden;
  border-radius:999px;
  background:var(--theme-surface-2);
}
.home-progress-track>i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:var(--theme-accent);
}

@media(max-width:600px){
  .home-quick-grid{gap:7px}
  .home-quick-grid .home-quick-slot{min-height:60px;padding:7px 3px 6px}
  .home-quick-grid .home-quick-slot>span{width:22px;height:22px;font-size:15px}
  .home-quick-grid .home-quick-slot>strong{font-size:10.5px}
  .home-favorites-options{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-progress-overview{margin-top:24px}
}

/* HOME MAIN UPGRADE V6 ---------------------------------------------------- */
/* Daily verse actions: reading stays primary; copy/share are compact utility actions. */
.home-daily-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:15px;
}
.home-daily-actions .home-daily-read{
  margin-top:0;
  margin-right:auto;
}
.home-daily-action{
  appearance:none;
  min-height:38px;
  padding:0 12px;
  border:var(--theme-border-width) solid var(--theme-border);
  border-radius:999px;
  background:transparent;
  color:var(--theme-muted);
  font:inherit;
  font-size:12px;
  font-weight:var(--theme-weight-medium);
  cursor:pointer;
}
.home-daily-action:hover,
.home-daily-action:focus-visible{
  border-color:color-mix(in srgb,var(--theme-accent) 42%,var(--theme-border));
  color:var(--theme-accent);
  background:var(--theme-accent-2);
}
.home-daily-action:focus-visible{
  outline:2px solid color-mix(in srgb,var(--theme-accent) 38%,transparent);
  outline-offset:2px;
}

/* Mission score info: icon stays visually quiet but keeps a 44px touch target. */
.home-routine-head{
  align-items:center!important;
}
.home-routine-info{
  appearance:none;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  margin:-8px -8px -5px 0;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:var(--theme-muted);
  cursor:pointer;
}
.home-routine-info>span{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border:var(--theme-border-width) solid var(--theme-border);
  border-radius:50%;
  font-family:ui-sans-serif,system-ui,sans-serif;
  font-size:13px;
  line-height:1;
  font-weight:700;
}
.home-routine-info:hover,
.home-routine-info:focus-visible{
  color:var(--theme-accent);
}
.home-routine-info:hover>span,
.home-routine-info:focus-visible>span{
  border-color:var(--theme-accent);
  background:var(--theme-accent-2);
}
.home-routine-info:focus-visible{
  outline:2px solid color-mix(in srgb,var(--theme-accent) 38%,transparent);
  outline-offset:1px;
}

body.home-modal-open{overflow:hidden}
.home-mission-modal[hidden]{display:none!important}
.home-mission-modal{
  position:fixed;
  inset:0;
  z-index:2147483500;
  isolation:isolate;
  display:grid;
  place-items:center;
  padding:18px;
}
.home-mission-backdrop{
  position:absolute;
  inset:0;
  z-index:0;
  background:color-mix(in srgb,var(--theme-text) 28%,transparent);
}
.home-mission-dialog{
  position:relative;
  z-index:1;
  width:min(100%,460px);
  max-height:min(680px,calc(100dvh - 36px));
  overflow:auto;
  padding:20px;
  border:var(--theme-border-width) solid var(--theme-border);
  border-radius:var(--theme-radius-modal);
  background:var(--theme-surface);
  color:var(--theme-text);
  box-shadow:var(--theme-shadow-lg);
  outline:none;
}
.home-mission-dialog-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.home-mission-dialog-head h2{
  margin:0;
  font-size:19px;
  line-height:1.35;
  font-weight:var(--theme-weight-strong);
}
.home-mission-dialog-head p{
  margin:5px 0 0;
  color:var(--theme-muted);
  font-size:12.5px;
  line-height:1.5;
}
.home-mission-close{
  appearance:none;
  flex:0 0 auto;
  width:40px;
  height:40px;
  margin:-7px -7px 0 0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:var(--theme-muted);
  font:inherit;
  font-size:25px;
  line-height:1;
  cursor:pointer;
}
.home-mission-close:hover,
.home-mission-close:focus-visible{
  color:var(--theme-text);
  background:var(--theme-surface-2);
}
.home-mission-score-list{
  overflow:hidden;
  margin-top:18px;
  border:var(--theme-border-width) solid var(--theme-border);
  border-radius:var(--theme-radius-card);
}
.home-mission-score-list>div{
  min-height:48px;
  padding:10px 13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.home-mission-score-list>div+div{
  border-top:var(--theme-border-width) solid var(--theme-border);
}
.home-mission-score-list span{
  min-width:0;
  color:var(--theme-text);
  font-size:13px;
  line-height:1.4;
}
.home-mission-score-list strong{
  flex:0 0 auto;
  color:var(--theme-accent);
  font-size:13px;
  font-weight:var(--theme-weight-strong);
}
.home-mission-notes{
  margin:15px 0 0;
  padding-left:18px;
  color:var(--theme-muted);
  font-size:12px;
  line-height:1.65;
}
.home-mission-confirm{
  appearance:none;
  width:100%;
  min-height:44px;
  margin-top:18px;
  border:0;
  border-radius:var(--theme-radius-button);
  background:var(--theme-accent);
  color:var(--theme-accent-contrast);
  font:inherit;
  font-size:13px;
  font-weight:var(--theme-weight-strong);
  cursor:pointer;
}
.home-mission-confirm:focus-visible,
.home-mission-close:focus-visible{
  outline:2px solid color-mix(in srgb,var(--theme-accent) 42%,transparent);
  outline-offset:2px;
}

.home-toast[hidden]{display:none!important}
.home-toast{
  position:fixed;
  left:50%;
  bottom:max(22px,calc(14px + env(safe-area-inset-bottom)));
  z-index:2147483550;
  max-width:min(360px,calc(100vw - 32px));
  padding:10px 14px;
  border:var(--theme-border-width) solid var(--theme-border);
  border-radius:999px;
  background:var(--theme-text);
  color:var(--theme-bg);
  box-shadow:var(--theme-shadow-md);
  font-size:12px;
  line-height:1.4;
  text-align:center;
  opacity:0;
  transform:translate(-50%,8px);
  transition:opacity .18s ease,transform .18s ease;
  pointer-events:none;
}
.home-toast.is-visible{
  opacity:1;
  transform:translate(-50%,0);
}

@media(max-width:600px){
  .home-daily-actions{
    gap:6px;
  }
  .home-daily-actions .home-daily-read{
    flex:1 1 100%;
    margin-bottom:2px;
  }
  .home-daily-action{
    min-height:40px;
    padding-inline:13px;
  }
  .home-mission-modal{
    align-items:end;
    padding:0;
  }
  .home-mission-dialog{
    width:100%;
    max-height:min(78dvh,680px);
    padding:18px 16px calc(16px + env(safe-area-inset-bottom));
    border-width:var(--theme-border-width) 0 0;
    border-radius:var(--theme-radius-modal) var(--theme-radius-modal) 0 0;
  }
}

@media(prefers-reduced-motion:reduce){
  .home-toast{transition:none}
}

/* HOLiUS HOME DESIGN OPTION A — Faith Routine First / refined dashboard */
:root{--home-section-gap:30px}
.home-dashboard{display:flex;flex-direction:column;gap:12px}
.home-today-card,
.home-routine,
.home-progress-list{border-radius:18px}
.home-today-card{padding:18px 18px 16px}
.home-block-head h2{font-size:17px;line-height:1.35}
.home-daily-reference{margin-top:12px;font-size:13px;line-height:1.45;color:var(--theme-muted)}
.home-daily-panel blockquote{margin:10px 0 0;font-size:19px;line-height:1.72;font-weight:var(--theme-weight-medium);letter-spacing:-.015em}
.home-daily-actions{margin-top:18px;padding-top:2px;gap:0}
.home-daily-actions .home-daily-read,
.home-daily-actions .home-daily-action{min-height:44px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--theme-muted);font-size:12.5px;font-weight:var(--theme-weight-medium)}
.home-daily-actions .home-daily-read{display:inline-flex;align-items:center;margin-right:0;color:var(--theme-accent);padding-left:0}
.home-daily-actions .home-daily-action{position:relative}
.home-daily-actions .home-daily-action:before{content:'·';position:absolute;left:-1px;color:var(--theme-border-strong,var(--theme-border));pointer-events:none}
.home-daily-actions .home-daily-action:hover,
.home-daily-actions .home-daily-action:focus-visible{background:var(--theme-surface-2);color:var(--theme-accent)}
.home-daily-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:14px;padding-top:14px}
.home-daily-tabs button{min-width:0;min-height:40px;padding:0 6px;border-radius:10px;font-size:12px;background:transparent}
.home-daily-tabs button.is-active{font-weight:700;background:transparent;border-color:color-mix(in srgb,var(--theme-accent) 55%,var(--theme-border));color:var(--theme-accent)}
.home-routine{overflow:hidden}
.home-routine .home-block-head{padding:16px 16px 10px}
.home-routine-row{min-height:66px;padding:12px 16px}
.home-routine-icon{width:38px;height:38px;font-size:18px}
.home-routine-copy strong{font-size:14.5px}
.home-routine-copy small{font-size:12.5px;line-height:1.45}
.home-writing-summary{margin:0;border-radius:0;border-width:var(--theme-border-width) 0 0;background:transparent;box-shadow:none;min-height:70px}
.home-writing-stat strong{font-size:19px}.home-writing-stat small{font-size:12px}
.home-quick{margin-top:var(--home-section-gap);padding:0}
.home-quick>.home-block-head{margin-bottom:12px}
.home-favorites-edit{font-size:12.5px}
.home-quick-grid{gap:8px}
.home-quick-grid .home-quick-slot{min-height:74px;padding:9px 5px 8px;gap:6px;border-radius:14px}
.home-quick-grid .home-quick-slot>span{width:28px;height:28px;font-size:20px}
.home-quick-grid .home-quick-slot>strong{font-size:12.5px;line-height:1.25}
.home-quick-grid .home-quick-slot.is-empty{background:color-mix(in srgb,var(--theme-surface) 48%,transparent);border-style:dashed}
.home-news-section{margin-top:34px!important}
.home-news-section-head h2{font-size:18px;letter-spacing:-.01em}
.home-news-channel-head strong{font-size:15px}
.home-news-channel-head small{font-size:12px;margin-left:6px}
.home-news-channel-head>a{font-size:12px}
.home-news-numbered li{min-height:48px;grid-template-columns:26px minmax(0,1fr) 44px}
.home-news-numbered li>span{font-size:11.5px}
.home-news-numbered a{font-size:14px;line-height:1.45}
.home-news-item-share{width:44px;height:44px;margin-right:-5px}
.home-progress-overview{margin-top:30px}
.home-progress-list{box-shadow:none}
.home-progress-item{padding:15px 16px 16px}
.home-progress-copy>span{font-size:13.5px}.home-progress-copy>strong{font-size:14px}
.home-progress-detail{font-size:12px}
.home-progress-track{height:5px;margin-top:9px}
@media(min-width:900px){
  .home-dashboard{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:18px 20px;align-items:start}
  .home-today-card{grid-column:1}.home-routine{grid-column:2}.home-quick{grid-column:1/-1;margin-top:12px}
}
@media(max-width:600px){
  .home-dashboard{gap:11px}
  .home-today-card{padding:17px 16px 15px}
  .home-daily-panel blockquote{font-size:18px;line-height:1.75}
  .home-daily-actions .home-daily-read{flex:0 0 auto;margin-bottom:0}
  .home-daily-actions .home-daily-action{min-height:44px;padding-inline:10px}
  .home-quick{margin-top:28px}
  .home-quick-grid{gap:8px}
  .home-quick-grid .home-quick-slot{min-height:70px;padding:8px 4px 7px}
  .home-quick-grid .home-quick-slot>span{width:26px;height:26px;font-size:19px}
  .home-quick-grid .home-quick-slot>strong{font-size:12px}
  .home-news-numbered a{font-size:13.5px}
}
