/* Ready for Life — compact, phone-first layer (2026-10-01).
   Loaded LAST on every app page. Matches the condensed home hero: tight spacing, 16px text, big thumb targets. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-size:16px;line-height:1.5;overflow-x:hidden}
img,iframe,video{max-width:100%}
.top-inner{padding:8px 14px}
/* header lockup (2026-10-06): shield mark + real "Ready for Life" text */
.brand{gap:10px;color:#111827;flex-shrink:0}
.brand img.logo-mark{display:block;width:auto;height:40px;flex-shrink:0}
.brand .brand-name{font-size:20px;font-weight:800;line-height:1;letter-spacing:-0.01em;color:#111827;white-space:nowrap}
.top-inner .login{white-space:nowrap;flex-shrink:0}
@media (max-width:600px){.brand{gap:8px}.brand img.logo-mark{height:32px}.brand .brand-name{font-size:18px}}
.login{font-size:0.9rem;padding:9px 14px;min-height:40px;display:inline-flex;align-items:center}
.page{padding:12px 12px 48px}
.wrap{padding:10px 12px 40px}
.main{padding:16px}
h1{font-size:clamp(1.45rem,6.2vw,2rem);margin:6px 0 4px;line-height:1.15}
.sub{margin:0 0 10px;font-size:1rem}
.crumb{margin:0 0 6px;font-size:0.95rem}
.crumb a{display:inline-block;padding:6px 0}
.tag,.pill-soft{font-size:13px;padding:3px 9px}
.muted{font-size:0.95rem}
.cta{min-height:48px;display:flex;align-items:center;justify-content:center;padding:12px 16px;font-size:1rem;border-radius:12px;margin-top:10px}
a.cta{display:flex}
.note{font-size:0.95rem;padding:10px 12px;margin-top:10px}
/* forms (signup / login / questions) */
.form{gap:10px;margin-top:10px}
.form label{font-size:0.95rem}
.form input,.form textarea,.form select{font-size:16px;min-height:48px;padding:11px 12px;border-radius:12px;width:100%}
.form textarea{min-height:72px}
.form .hint{font-size:0.85rem}
.expect-list{margin:8px 0 0;color:var(--ink)}
.expect-list li{margin:6px 0}
@media (max-width:860px){
  .grid{gap:10px}
  .side-banner{display:none}
  .side{display:none}
  .page .card.main a.cta{display:flex!important;width:100%}
}

/* ---------- lane header ---------- */
.ln-head{margin:0 0 10px}
.ln-head h1{margin:6px 0 2px}
.ln-blurb{margin:0 0 8px;color:var(--muted);font-size:1rem}
.lane-progress{margin:6px 0;font-size:0.95rem;color:#334155;gap:10px}
.lane-progress b{color:var(--ink)}
.lane-progress .bar{height:8px;max-width:none}
.lane-note{font-size:0.95rem;padding:8px 10px;margin:6px 0;line-height:1.5}
.lane-note.ln-req{display:flex;flex-wrap:wrap;gap:6px;align-items:center;background:#fff}
.ln-soon{font-size:0.95rem;margin:6px 0}
.ln-about-hero h3,.ln-about-trap h3{margin:8px 0 4px;font-size:1rem}
.ln-about-trap{border-top:1px solid var(--line);margin-top:8px;padding-top:4px}

/* ---------- tap-to-open folds ---------- */
.qc-fold{border:1px solid var(--line);border-radius:12px;background:#fff;margin:8px 0 0}
.qc-fold > summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;min-height:48px;padding:10px 14px;font-weight:700;font-size:1rem;color:#1f2937}
.qc-fold > summary::-webkit-details-marker{display:none}
.qc-fold > summary::after{content:"";margin-left:auto;width:9px;height:9px;border-right:2px solid #64748b;border-bottom:2px solid #64748b;transform:rotate(45deg);transition:transform .15s;flex-shrink:0}
.qc-fold[open] > summary::after{transform:rotate(-135deg)}
.qc-fold-sub{font-weight:500;color:var(--muted);font-size:0.85rem}
.qc-fold-body{padding:0 14px 12px;font-size:1rem}
.qc-fold-body > p{margin:0.4rem 0}
details.extras.qc-fold{border-style:dashed;background:#fcfcfd;padding:0}
details.extras.qc-fold > summary,details.extras > summary{font-size:1rem}
details.extras:not(.qc-fold){padding:0}
details.extras:not(.qc-fold) > summary{list-style:none;min-height:48px;display:flex;align-items:center;padding:10px 14px}
details.extras:not(.qc-fold) > summary::-webkit-details-marker{display:none}
details.extras:not(.qc-fold) > *:not(summary){margin-left:14px;margin-right:14px}
details.extras:not(.qc-fold) .extra-item:last-child{padding-bottom:12px}

/* ---------- compact quest card ---------- */
.qcard{padding:14px;margin:10px 0;border-radius:14px}
.qcard.qc{padding:0;overflow:visible;position:relative}
.qc-accent{height:6px;border-radius:14px 14px 0 0;min-height:0;padding:0;margin:0}
.qc-head{padding:12px 14px 4px}
.qc-meta{font-size:0.85rem;color:var(--muted);font-weight:600}
.qc-id{color:var(--teal);font-weight:800}
.qcard.qc h2{font-size:1.25rem;line-height:1.25;margin:2px 0 6px;letter-spacing:-0.02em}
.qc-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 4px}
.qc-chips .req-chip{font-size:0.8rem}
.qc-gate{margin:6px 14px;padding:8px 10px;border-radius:10px;background:#fff8eb;border:1px solid #f0dfb8;font-size:0.95rem}
.qc-safety{background:#fff7f5;border-color:#f0c2b6}
.qc-sec{padding:8px 14px;border-top:1px solid #f1f5f9}
.qc-sec:first-of-type{border-top:0}
.qc-label{margin:0 0 4px;font-size:0.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.qc-label-sub{font-size:0.85rem;font-weight:600;letter-spacing:0;text-transform:none;color:var(--muted)}
.qc-why p{margin:0;font-size:1rem;font-weight:600}
.qc-body{font-size:1rem}
.qc-body p{margin:0.25rem 0}
.qc-body ul,.qc-body ol{padding-left:1.15rem;margin:0.3rem 0}
.qc-body li{margin:0.2rem 0}
.qc-watch .embed-wrap{margin:4px 0 6px;border-radius:12px}
.qc-cap{margin:0 0 6px;font-size:0.95rem;color:#334155}
.qc-small{margin:6px 0 0;font-size:0.9rem;color:var(--muted)}
.qc-chiprow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.qc-chiprow .embed-fallback{margin:0;font-size:inherit}
.qc-chip{font:inherit;font-size:0.92rem;font-weight:700;min-height:40px;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;color:#1f2937;cursor:pointer;text-decoration:none}
.qc-chip.look-chip{background:#ecfdf5;border-color:#99f6e4;color:#0f766e}
.qc-chip b{font-weight:800}
.qc-show .cta.day7{background:#fff;border:1px solid var(--line);width:100%;font-weight:700;cursor:pointer;font:inherit;font-weight:700}
.qc-show .cta.day7.is-done{border-color:#0f766e;color:#0f766e;background:#ecfdf5}
.qc .parent-watch{margin:4px 0 6px;padding:10px 12px;font-size:0.95rem}
/* compact takeaway */
.takeaway.qc-take{margin:6px 14px 0;padding:8px 10px;border-radius:12px}
.qc-take label{font-size:0.9rem;margin-bottom:4px}
.qc-take-row{display:flex;gap:8px;align-items:stretch}
.qc-take-row textarea{flex:1;min-width:0;min-height:48px!important;height:48px;font-size:16px!important;padding:11px 12px!important;resize:vertical}
.qc-take-row .btn-save{flex-shrink:0;min-height:48px;min-width:64px;font-size:0.95rem;border-radius:10px}
.qc-take .save-ack{display:block;height:0;overflow:visible;font-size:0.85rem;margin-top:0}
.qc-take .save-ack.show{height:auto;margin-top:4px}
.qc-more{padding:4px 14px 2px}
.qc-more .qc-fold{margin:6px 0 0}
.qc-more .notes-bar{margin:0;border:0;border-radius:0}
.qc-more .notes-tabs{background:transparent;padding:0 0 6px;border-bottom:1px solid var(--line)}
.notes-tab{font-size:0.9rem;min-height:40px;padding:8px 12px}
.notes-panel{padding:8px 0 2px}
.notes-sec h4{font-size:0.82rem}
.notes-sec li{font-size:1rem}
.lookfor-item{min-height:40px;align-items:flex-start}
.lookfor-item input{width:22px;height:22px;margin-top:0.1rem}
.qc .next-hint{font-size:0.9rem;margin:8px 14px 0}
.qc [data-done-note]{margin:8px 14px 0}
.qc .qc-complink{margin:8px 14px 0}
/* sticky bottom action bar */
.quest-actions.qc-bar{position:sticky;bottom:0;z-index:5;display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1.4fr);gap:8px;margin:10px 0 0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,0.97);border-top:1px solid var(--line);border-radius:0 0 14px 14px;box-shadow:0 -6px 16px rgba(17,24,39,0.06)}
.qc-bar .cta{margin:0;min-height:52px;font-size:1rem;line-height:1.2;padding:10px 10px;border-radius:12px}
.qc-bar .cta.watch-mark{font-weight:700}
.qc-bar .cta.quest-next{font-weight:800}
.qc-bar .qc-back{display:flex;margin:0}
/* locked quest */
.qc-locked{padding:16px!important}
.qc-locked .cta{margin-top:10px}

/* ---------- lane rows (tight, tappable) ---------- */
.ln-map{margin:12px 0 0}
.ln-map h2,.map-card h2{font-size:1.1rem;margin:0 0 4px;display:flex;align-items:center;gap:8px}
.skill-map li{border-top:1px solid #eef2f7}
.skill-row{grid-template-columns:34px minmax(0,1fr) auto;gap:10px;padding:8px 4px;min-height:52px}
.skill-num{font-size:0.9rem;padding:5px 0;border-radius:8px}
.skill-title{font-size:1rem;font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.skill-title small{font-size:0.82rem;margin-top:2px;display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center}
.skill-title small .req-chip{font-size:0.72rem;margin-top:0}
.skill-state{font-size:0.85rem;min-width:34px;text-align:center;padding:4px 8px}
.skill-row.is-locked{color:#64748b}
.skill-row.is-locked .skill-num{background:#f1f5f9;color:#94a3b8}
.skill-row.is-done .skill-num{background:#0f766e;color:#fff}
.skill-row.is-current{background:#fff8eb;outline:2px solid #e8b86d;outline-offset:-2px}
a.skill-row:active{background:#f1f5f9}
/* visually hidden but inline, so innerText/screen readers still read "✓ Checked off" */
.sr{font-size:0;line-height:0;letter-spacing:0;color:transparent}

/* ---------- lane map: compact 2-col tiles ---------- */
.lane-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0 0}
@media(min-width:700px){.lane-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}}
a.lane-tile{display:flex;flex-direction:column;gap:3px;padding:10px 11px;border-radius:14px;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line);min-height:118px;outline:none}
a.lane-tile.is-live{outline:none}
a.lane-tile:active{background:#f8fafc}
a.lane-tile.is-done{border-color:#99f6e4;background:#f0fdfa}
.lt-top{display:flex;justify-content:space-between;align-items:center;gap:6px}
.lt-num{font-weight:800;font-size:0.85rem;color:#0f766e;background:#ecfdf5;border-radius:8px;min-width:26px;text-align:center;padding:2px 6px}
.lt-chip{font-size:0.75rem;font-weight:800;padding:2px 8px;border-radius:999px;background:#f1f5f9;color:#475569}
.lt-chip.is-going{background:#e8b86d;color:#111827}
.lt-chip.is-done{background:#0f766e;color:#fff}
.lt-name{font-weight:800;font-size:1.02rem;line-height:1.2;overflow-wrap:anywhere}
.lt-meta{font-size:0.82rem;color:var(--muted)}
.lt-prog{display:flex;align-items:center;gap:6px;margin-top:auto}
.lt-prog .bar{flex:1;height:6px;border-radius:999px;background:#e5e7eb;overflow:hidden}
.lt-prog .bar i{display:block;height:100%;background:linear-gradient(90deg,#0f766e,#e8b86d)}
.lt-count{font-size:0.8rem;font-weight:700;color:#334155}
.lt-next{font-size:0.8rem;color:#475569;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ln-every{margin-top:12px}
.ln-every-h{font-size:1rem;margin:12px 0 2px}
.ln-every-h a{text-decoration:none}

@media(min-width:760px){
  .wrap{padding:16px 16px 56px}
  .qc-head{padding:14px 18px 4px}
  .qc-sec{padding:10px 18px}
  .takeaway.qc-take,.qc-gate{margin-left:18px;margin-right:18px}
  .qc-more{padding:4px 18px 2px}
  .quest-actions.qc-bar{padding:10px 18px}
}
@media print{.quest-actions.qc-bar{display:none}.qc-fold{border:0}.qc-fold > .qc-fold-body{display:block}}
/* quest page: card header already shows lane position */
#quest-root > .tag{display:none}
.qc-bar .cta.quest-next{flex-direction:column;gap:1px}
.qn-main{font-weight:800;font-size:1.02rem;line-height:1.15}
.qn-sub{font-weight:600;font-size:0.8rem;opacity:0.85;line-height:1.1}
.lane-note.ln-req{flex-direction:column;align-items:flex-start;gap:4px}
.ln-req-i{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:0.92rem}
.qcard.qc.ln-done{padding:14px 16px;background:#f0fdfa;border-color:#99f6e4}.ln-done h2{margin:0 0 4px}.ln-done p{margin:0}
