/* Home's first run: the empty House and "Getting your House ready"
   (PROMPT-14; the onboarding mockup's `home` and `home-first` scenes,
   DECISIONS 22-24). Every class is fr-, because app.css has generic names
   (.done, .err, .shot) that would leak in. Colors are the look's own tokens,
   so both themes and every look come for free. */

/* No photograph yet, so no photograph band: an empty band would be a
   placeholder. The page is one column from the greeting down. */
.home.fr-first{display:block;min-height:0}
.home.fr-first .homebody{display:block;padding-top:22px;max-width:560px}
.home.fr-first .greet{margin:6px 0 18px}
@media (min-width:900px){
  .home.fr-first .greet{margin:0 0 26px}
}

.fr-card{margin:0 0 26px;padding:22px 20px 20px;border-radius:22px;background:var(--raised);border:1px solid var(--line)}
.fr-card h2{margin:0 0 8px;font:400 27px/1.12 var(--f-d);letter-spacing:-.015em;color:var(--ink)}
.fr-card p{margin:0 0 18px;font-size:15.5px;line-height:1.5;color:var(--muted)}
.fr-card .btn{width:100%;min-height:54px;font-size:17px}

.fr-h{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 6px;font:600 12.5px var(--f-s);
  letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.fr-h span{letter-spacing:0;text-transform:none;font-weight:500}
.fr-list{margin:0 0 6px;border-top:1px solid var(--line)}
.fr-step{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:12px;min-height:64px;padding:12px 2px;
  border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;cursor:pointer}
.fr-step svg{flex:none}
.fr-dot{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--firm);display:grid;place-items:center;
  font:600 13px var(--f-s);color:var(--muted)}
.fr-step.is-now .fr-dot{border-color:var(--accent);color:var(--accent)}
.fr-step.is-done .fr-dot{border-color:var(--good);background:var(--good);color:var(--ground)}
.fr-step.is-done .fr-dot svg{width:15px;height:15px}
.fr-tx b{display:block;font-size:16px;font-weight:600;line-height:1.25}
.fr-tx small{display:block;margin-top:3px;font-size:13.5px;line-height:1.4;color:var(--muted)}
.fr-step.is-done .fr-tx b{color:var(--muted);font-weight:500}
.fr-hide{display:block;margin:6px auto 0;padding:10px 0;border:0;background:none;color:var(--muted);
  font:400 13.5px var(--f-s);cursor:pointer}
.home:not(.fr-first) .fr-hide{margin-bottom:18px}

.fr-song{display:grid;grid-template-columns:48px 1fr auto auto;align-items:center;gap:14px;padding:12px;margin:0 0 26px;
  border-radius:18px;background:var(--raised);border:1px solid var(--line);color:var(--ink);text-decoration:none}
.fr-art{width:48px;height:48px;border-radius:10px;background:var(--tile);color:var(--accent);display:grid;place-items:center}
.fr-sx{min-width:0}
.fr-song b{display:block;font-size:16.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fr-song small{display:block;margin-top:2px;font-size:13.5px;color:var(--muted)}
.fr-stage{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:2px;background:var(--stage-on, var(--muted));vertical-align:1px}
.fr-kept{font:500 14px var(--f-s);color:var(--good);padding-right:4px}
