/* ============================================================
   Tarn stub shell — shared skin for the throwaway flow-demo pages
   (enter / dreamer / queue). Matches tarn.html's still-water skin.
   Dummy data only; no backend. Not the real app.
   ============================================================ */
:root{
  --ink:#17181a; --ink-2:#3c3e42; --muted:#656b68; --faint:#8d9491;
  --page:#f2f5f4; --panel:#ffffff; --sink:#eaefed; --line:#dde3e0; --line-2:#d3cfc7;
  --accent:#1b564c; --accent-ink:#123f37; --accent-wash:#e4efeb; --accent-line:#aacabf;
  --warn:#8a5a1e; --warn-wash:#f8f0e2;
  --radius:10px; --radius-s:7px;
  --shadow:0 1px 2px rgba(23,24,26,.05), 0 1px 1px rgba(23,24,26,.04);
  --shadow-2:0 6px 20px rgba(23,24,26,.09), 0 1px 3px rgba(23,24,26,.06);
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--page);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
::selection{background:var(--accent-wash)}

/* ---------- topbar ---------- */
.topbar{display:flex;align-items:center;gap:14px;padding:0 20px;height:52px;background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.brand{display:flex;align-items:baseline;gap:8px;text-decoration:none}
.brand b{position:relative;font-family:var(--serif);font-size:17.5px;letter-spacing:-.005em;font-weight:600;color:var(--accent);padding-bottom:5px;text-transform:lowercase}
.brand b::after{content:"";position:absolute;left:-5%;right:-5%;bottom:2px;height:1px;background:linear-gradient(90deg,transparent,var(--accent-line) 22%,var(--accent-line) 78%,transparent)}
.brand span{color:var(--muted);font-size:12.5px}
.proto{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.09em;color:var(--warn);background:var(--warn-wash);border:1px solid #e6d3ae;padding:3px 8px;border-radius:99px;white-space:nowrap}
.topbar-sp{flex:1}
.who{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--muted)}
.who .role{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent-wash);border:1px solid var(--accent-line);padding:2px 8px;border-radius:99px}
.who a{color:var(--faint);text-decoration:none;font-size:12px}
.who a:hover{color:var(--ink)}

/* ---------- page frame ---------- */
.wrap{max-width:960px;margin:0 auto;padding:26px 20px 80px}
.page-h{margin:0 0 4px}
.eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--faint);font-weight:600;display:block;margin-bottom:6px}
.page-h h1{margin:0 0 6px;font-size:23px;font-weight:650;letter-spacing:-.02em}
.page-h p{margin:0;color:var(--muted);font-size:13.5px;max-width:64ch}

/* ---------- toolbar (toggles + count) ---------- */
.toolbar{display:flex;align-items:center;gap:12px;margin:20px 0 14px;flex-wrap:wrap}
.toolbar-sp{flex:1}
.count{font-family:var(--mono);font-size:11px;color:var(--muted)}
.seg{display:inline-flex;background:var(--sink);border-radius:var(--radius-s);padding:2px;gap:2px;border:1px solid var(--line)}
.seg button{background:none;border:none;padding:6px 13px;border-radius:5px;cursor:pointer;font-size:12px;font-weight:600;color:var(--muted);transition:all .14s ease;white-space:nowrap}
.seg button[aria-pressed="true"]{background:var(--panel);color:var(--accent-ink);box-shadow:var(--shadow)}
.seg button:hover[aria-pressed="false"]{color:var(--ink)}

/* ---------- group header (by-dreamer view) ---------- */
.group{margin-bottom:22px}
.group-h{display:flex;align-items:baseline;gap:10px;padding:0 2px 8px;border-bottom:1px solid var(--line);margin-bottom:10px}
.group-h .name{font-size:14px;font-weight:650;letter-spacing:-.01em}
.group-h .meta{font-size:12px;color:var(--muted)}
.group-h .motif{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--faint);background:var(--sink);border:1px dashed var(--line-2);padding:2px 8px;border-radius:99px}

/* ---------- queue cards ---------- */
.queue{display:flex;flex-direction:column;gap:10px}
.qcard{display:flex;align-items:center;gap:14px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:13px 16px;text-decoration:none;color:inherit;transition:border-color .13s ease,box-shadow .13s ease,transform .08s ease}
.qcard:hover{border-color:var(--line-2);box-shadow:var(--shadow-2)}
.qcard:active{transform:translateY(.5px)}
.qcard-main{min-width:0;flex:1}
.qcard-t{font-size:14px;font-weight:650;letter-spacing:-.01em;color:var(--ink)}
.qcard-s{font-size:12px;color:var(--muted);margin-top:3px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.qcard-s .dreamer{color:var(--ink-2);font-weight:600}
.qcard-date{font-family:var(--mono);font-size:11px;color:var(--faint);flex:none}
.qcard-go{flex:none;font-size:12.5px;font-weight:600;color:var(--accent-ink);display:flex;align-items:center;gap:5px}
.qcard-go svg{width:13px;height:13px;stroke:currentColor;stroke-width:2;fill:none}

/* ---------- status pill ---------- */
.pill{font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:2px 7px;border-radius:99px;white-space:nowrap;border:1px solid transparent}
.pill.submitted{background:var(--warn-wash);color:#6d4715;border-color:#e6d3ae}
.pill.reflected{background:var(--sink);color:var(--muted);border-color:var(--line)}
.pill.prep{background:var(--accent-wash);color:var(--accent-ink);border-color:var(--accent-line)}
.pill.prepped{background:var(--accent);color:#fff;border-color:var(--accent)}
.pill.done{background:#eef0ef;color:var(--faint);border-color:var(--line)}

/* ---------- pipeline legend ---------- */
.legend{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:11px;color:var(--faint);margin-top:14px}
.legend .sep{width:12px;height:1px;background:var(--line-2)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:7px;background:var(--panel);border:1px solid var(--line-2);border-radius:var(--radius-s);padding:8px 15px;font-size:13px;font-weight:600;cursor:pointer;color:var(--ink);text-decoration:none;transition:background .13s ease,border-color .13s ease}
.btn:hover{background:var(--sink)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.primary:hover{background:var(--accent-ink);border-color:var(--accent-ink)}
.btn.big{padding:11px 20px;font-size:14px}

/* ---------- empty / notes ---------- */
.empty{font-size:12.5px;color:var(--faint);border:1px dashed var(--line-2);border-radius:var(--radius);padding:22px;text-align:center;line-height:1.5}
.demo-note{font-size:11.5px;color:var(--muted);background:var(--sink);border:1px solid var(--line);border-radius:var(--radius-s);padding:9px 12px;margin-top:20px;line-height:1.5}
.demo-note b{color:var(--ink-2)}

/* ---------- doc pages (privacy / terms / contact / reflector) ---------- */
.backlink{display:inline-block;margin-bottom:18px;font-size:12.5px;color:var(--muted);text-decoration:none}
.backlink:hover{color:var(--ink)}
.doc{max-width:66ch}
.draft-flag{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--warn);background:var(--warn-wash);border:1px solid #e6d3ae;padding:3px 9px;border-radius:99px;margin-bottom:18px}
.doc h2{font-size:15px;font-weight:650;letter-spacing:-.01em;margin:26px 0 8px;color:var(--ink)}
.doc p{margin:0 0 12px;font-size:14px;line-height:1.65;color:var(--ink-2)}
.doc ul{margin:0 0 12px;padding-left:20px}
.doc li{margin-bottom:6px;font-size:14px;line-height:1.6;color:var(--ink-2)}
.doc a{color:var(--accent-ink)}
.doc .updated{font-size:12px;color:var(--faint);margin-top:26px;font-family:var(--mono);letter-spacing:.03em}
.name-list{list-style:none;margin:10px 0 12px;padding:0;display:flex;flex-direction:column;gap:8px}
.name-list li{display:flex;gap:12px;align-items:baseline;border:1px solid var(--line);border-radius:var(--radius-s);padding:10px 13px;background:var(--panel);box-shadow:var(--shadow)}
.name-list .nm{font-family:var(--serif);font-size:15px;font-weight:600;color:var(--accent-ink);flex:none;min-width:9ch}
.name-list .gl{font-size:13px;color:var(--muted);line-height:1.5}

/* ---------- footer (marketing, shared across pages) ---------- */
.foot{border-top:1px solid var(--line);padding:20px 0 0;margin-top:48px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--faint)}
.foot .foot-meta{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em}
.foot-links{display:flex;gap:16px;flex-wrap:wrap}
.foot-links a{color:var(--faint);text-decoration:none;font-size:12px}
.foot-links a:hover{color:var(--ink)}
