/* First-run welcome and the one-time tips of the five-step flow. */
.guided-welcome { width:min(640px,calc(100vw - 32px)); max-height:calc(100vh - 40px); overflow:auto; border:0; border-radius:16px; padding:0; box-shadow:0 30px 80px rgba(20,40,30,.3); color:var(--ink,#1b2421); }
.guided-welcome::backdrop { background:rgba(18,32,26,.5); }
.guided-welcome form { padding:28px 30px 22px; display:grid; gap:14px; }
.guided-welcome h2 { margin:0; font-size:23px; color:#294438; }
.guided-welcome form > p { margin:0; font-size:13.5px; line-height:1.8; color:#56675d; }
.guided-welcome-steps { list-style:none; counter-reset:step; margin:0; padding:0; display:grid; gap:7px; }
.guided-welcome-steps li { counter-increment:step; display:grid; grid-template-columns:28px auto minmax(0,1fr); align-items:baseline; gap:10px; padding:8px 12px; border-radius:9px; background:#f3f7f3; font-size:13px; }
.guided-welcome-steps li::before { content:counter(step); display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:#35745f; color:#fff; font-size:12px; font-weight:700; }
.guided-welcome-steps strong { color:#294438; white-space:nowrap; }
.guided-welcome-steps span { color:#667a6e; font-size:12.5px; line-height:1.6; }
.guided-welcome-mode { border:0; margin:0; padding:0; display:grid; gap:8px; }
.guided-welcome-mode legend { font-size:13px; font-weight:600; color:#294438; margin-bottom:8px; }
.guided-welcome-mode label { display:grid; grid-template-columns:auto minmax(0,1fr); gap:10px; align-items:start; padding:11px 13px; border:1px solid #d9e3db; border-radius:10px; cursor:pointer; background:#fff; }
.guided-welcome-mode label:has(input:checked) { border-color:#35745f; background:#eef6f0; box-shadow:0 0 0 1px #35745f inset; }
.guided-welcome-mode input { margin-top:3px; accent-color:#35745f; }
.guided-welcome-mode strong { display:block; font-size:13.5px; }
.guided-welcome-mode small { display:block; margin-top:3px; color:#6c7c73; font-size:12px; line-height:1.6; }
.guided-welcome-name { display:grid; gap:6px; font-size:13px; font-weight:600; color:#294438; }
.guided-welcome-name input { box-sizing:border-box; width:100%; max-width:280px; padding:9px 11px; border:1px solid #d3ded5; border-radius:8px; font:inherit; font-weight:400; }
.guided-welcome-name small { font-weight:400; color:#6c7c73; font-size:12px; line-height:1.6; }
.guided-welcome-error { margin:0; color:#9b3f2a; font-size:12.5px; }
.guided-welcome-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:10px; }
.guided-welcome-actions .btn { min-height:42px; min-width:120px; justify-content:center; }
.guided-welcome-foot { color:#8a9a90; font-size:11.5px; text-align:right; }

.guided-coach { position:fixed; z-index:1200; box-sizing:border-box; padding:14px 16px 12px; border-radius:12px; background:#23392f; color:#f3f8f4; box-shadow:0 16px 40px rgba(15,30,22,.3); font-size:13px; line-height:1.7; }
.guided-coach strong { display:block; font-size:14px; margin-bottom:4px; }
.guided-coach p { margin:0 0 10px; color:#dbe8df; }
.guided-coach-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.guided-coach-actions .text-btn { color:#b9d2c1; margin-left:auto; font-size:12px; }
.guided-coach-actions .btn-quiet { background:transparent; color:#f3f8f4; border-color:rgba(243,248,244,.4); }
.guided-coach::after { content:''; position:absolute; left:calc(50% - 7px); width:14px; height:14px; background:#23392f; transform:rotate(45deg); }
.guided-coach[data-side="below"]::after { top:-7px; }
.guided-coach[data-side="above"]::after { bottom:-7px; }
.guided-coach-target { outline:3px solid rgba(61,138,100,.55); outline-offset:4px; border-radius:8px; transition:outline-color .2s; }
@media (prefers-reduced-motion: reduce) { .guided-coach-target { transition:none; } }

/* These dialogs live on <body>, outside .app-shell: keep the app's buttons
   (character-asset.css restyles bare .btn globally). */
.guided-welcome .btn, .guided-confirm .btn, .guided-coach .btn {
  border:1px solid var(--line,#e2e7e1); border-radius:7px; min-height:36px; padding:0 14px;
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  background:#fff; color:var(--ink,#1b2421); font-size:12.5px; font-weight:700; white-space:nowrap; cursor:pointer;
}
.guided-welcome .btn-primary, .guided-confirm .btn-primary, .guided-coach .btn-primary {
  background:var(--coral,#e77258); border-color:var(--coral,#e77258); color:#fff; box-shadow:0 6px 15px rgba(231,114,88,.2);
}
.guided-welcome .btn-primary:hover, .guided-confirm .btn-primary:hover, .guided-coach .btn-primary:hover { background:#d9644b; border-color:#d9644b; }
.guided-welcome .btn-quiet, .guided-confirm .btn-quiet { background:transparent; }
.guided-coach .btn-quiet { background:transparent; color:#f3f8f4; border-color:rgba(243,248,244,.4); }
.guided-coach .btn-small { min-height:30px; padding:0 11px; font-size:11.5px; }
.guided-welcome .text-btn, .guided-confirm .text-btn { border:0; background:none; color:#2f7152; cursor:pointer; font-size:12px; }
