/* First-visit welcome: explain the app before exposing the full workspace. */
.welcome-gate{display:none;position:fixed;inset:0;z-index:1000;overflow:auto;-webkit-overflow-scrolling:touch;background:var(--bg);color:var(--ink);padding:max(18px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
html[data-welcome="show"] .welcome-gate{display:grid;place-items:center}
html[data-welcome="show"] body{overflow:hidden}
.welcome-shell{width:min(720px,100%);margin:auto;background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:0 24px 80px rgba(20,24,20,.16);overflow:hidden}
.welcome-main{padding:clamp(24px,6vw,48px)}
.welcome-mark{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin-bottom:20px;background:linear-gradient(145deg,var(--deep),var(--accent-2));color:#fff;font-size:1.5rem;box-shadow:var(--shadow)}
.welcome-main h1{font-size:clamp(2rem,7vw,3.5rem);line-height:1.02;margin:.35rem 0 1rem;max-width:14ch}
.welcome-lead{font-size:clamp(1.02rem,2.4vw,1.2rem);max-width:58ch;color:var(--muted)}
.welcome-promise{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}
.welcome-promise div{border:1px solid var(--line);border-radius:14px;padding:13px;background:var(--surface-2)}
.welcome-promise strong{display:block;margin-bottom:3px;font-family:var(--font-ui,system-ui,sans-serif)}
.welcome-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.welcome-actions .btn{min-height:46px}
.welcome-link{border:0;background:transparent;color:var(--accent-2);text-decoration:underline;padding:9px 2px;font-weight:700}
.welcome-note{margin:18px 0 0;font:.82rem var(--font-ui,system-ui,sans-serif);color:var(--muted)}
.welcome-step[hidden]{display:none!important}
.welcome-back{margin-bottom:12px}
.welcome-choice-grid{display:grid;gap:10px;margin-top:18px}
.welcome-choice{width:100%;text-align:left;border:1px solid var(--line);border-radius:15px;background:var(--surface);color:var(--ink);padding:15px 16px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}
.welcome-choice:hover,.welcome-choice:focus-visible{border-color:var(--accent-2);background:var(--surface-2)}
.welcome-choice strong{display:block;font-size:1.02rem}.welcome-choice span{display:block;color:var(--muted);font-size:.87rem;margin-top:3px}.welcome-choice b{font-size:1.25rem;color:var(--accent-2)}
.welcome-tour-grid{display:grid;gap:10px;margin:18px 0}.welcome-tour-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--surface-2)}.welcome-tour-card strong{display:block;margin-bottom:4px}.welcome-tour-card p{margin:0;color:var(--muted)}
.planning-ahead-note{display:none;margin:0 0 14px;border-left:4px solid var(--accent-2);background:linear-gradient(125deg,var(--surface) 0%,var(--surface-2) 100%)}
html[data-use-case="planning"] .planning-ahead-note{display:block}
html[data-use-case="planning"] .primary-tab[data-area="progress"]{display:none}
html[data-use-case="planning"] #startStrip{display:none!important}
.getting-started-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}

/* Heritage crest identity: full emblem on first visit, recognizable seal in the app header. */
.welcome-mark{
  width:clamp(132px,25vw,168px);height:clamp(132px,25vw,168px);border-radius:18px;
  background:var(--surface);
  border:1px solid var(--line);color:transparent;font-size:0;box-shadow:var(--shadow);overflow:hidden
}
.brand .seal{
  background:var(--surface);
  color:transparent;font-size:0;border:1px solid var(--line);overflow:hidden
}

@media(max-width:640px){.welcome-gate{padding:0}.welcome-shell{min-height:100dvh;border:0;border-radius:0;box-shadow:none}.welcome-main{padding:28px 20px 32px}.welcome-promise{grid-template-columns:1fr}.welcome-actions{display:grid;grid-template-columns:1fr}.welcome-actions .btn,.welcome-actions .welcome-link{width:100%}.welcome-main h1{max-width:none}.welcome-choice{padding:14px}.welcome-mark{width:132px;height:132px;margin-bottom:16px}}
@media print{.welcome-gate,.planning-ahead-note,.getting-started-row{display:none!important}}
.welcome-mark img,.brand .seal img{display:block;width:100%;height:100%;border-radius:inherit}
.welcome-mark img{object-fit:contain}.brand .seal img{object-fit:cover}
