/* Tab Ecosystem v1: "field journal at dusk" (CodeBot). Ink-on-dusk plates over a climate-tinted terrain. */
:root{
  --ink:#f3ead7; --ink-dim:#cfc3a8; --muted:#9d927b; --plate:rgba(20,18,14,.72); --line:rgba(243,234,215,.16);
  --accent:#ffcf6e; --accent-ink:#2a1d05; --cold:#7fb7ff; --hot:#ff8a5c;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif,"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji";
  --emoji:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Twemoji Mozilla","EmojiOne Color","Android Emoji";
  --sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif,var(--emoji);
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;overflow:hidden;background:#15130f;color:var(--ink);font:14px/1.45 var(--sans)}
canvas#world{position:fixed;inset:0;width:100vw;height:100vh;display:block;cursor:crosshair}
.plate{position:fixed;top:14px;left:14px;padding:12px 16px 12px;background:var(--plate);border:1px solid var(--line);border-radius:14px;backdrop-filter:blur(6px);max-width:min(520px,calc(100vw - 28px))}
.eyebrow{font:600 10.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.eyebrow span{color:var(--ink-dim);letter-spacing:.08em}
h1{margin:6px 0 8px;font:600 26px/1.1 var(--serif);letter-spacing:.01em}
.row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.stat{color:var(--ink-dim)} .stat b{color:var(--ink);font:600 15px var(--mono)}
.gauge{display:flex;gap:8px;align-items:center;font:12px var(--mono);color:var(--ink-dim)}
.gauge-track{position:relative;width:110px;height:8px;border-radius:8px;background:linear-gradient(90deg,var(--cold),#9fe0a2 50%,var(--hot))}
.gauge-track i{position:absolute;top:-4px;width:3px;height:16px;border-radius:2px;background:var(--ink);box-shadow:0 0 0 2px rgba(0,0,0,.5);left:50%}
.pill{font:600 11px var(--sans);padding:3px 8px;border-radius:99px;background:#2d3a52;color:#cfe0ff;letter-spacing:.06em;text-transform:uppercase}
#actions{position:fixed;top:14px;right:14px;display:flex;gap:8px}
button{font:600 14px var(--sans);border-radius:999px;border:1px solid var(--line);padding:9px 16px;cursor:pointer;color:var(--ink);background:var(--plate)}
button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.cta{background:var(--accent);color:var(--accent-ink);border-color:transparent;box-shadow:0 6px 24px rgba(255,207,110,.25)}
.cta:hover{filter:brightness(1.06)}
.cta.pulse{animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,207,110,.55)}50%{box-shadow:0 0 0 12px rgba(255,207,110,0)}}
.ghost{background:var(--plate)} .small{font-size:12px;padding:6px 12px}
.drawer{position:fixed;top:64px;right:14px;bottom:14px;width:min(360px,calc(100vw - 28px));overflow:auto;padding:16px 18px;background:rgba(20,18,14,.86);border:1px solid var(--line);border-radius:14px;backdrop-filter:blur(8px)}
.drawer h2{margin:0;font:600 22px var(--serif)} .drawer h3{margin:18px 0 8px;font:600 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.sub{margin:2px 0 10px;color:var(--muted);font-size:12.5px}
.totals{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.totals div{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:10px;padding:8px}
.totals b{display:block;font:600 18px var(--mono)} .totals span{font-size:11px;color:var(--muted)}
.habs,.memorials,.feed{list-style:none;margin:0;padding:0}
.habs li{display:grid;grid-template-columns:22px 1fr auto;gap:8px;align-items:center;padding:7px 4px;border-bottom:1px solid var(--line)}
.habs li.me{background:rgba(255,207,110,.07);border-radius:8px}
.habs .nm{font:600 14px var(--serif)} .habs .meta{font:11px var(--mono);color:var(--muted)}
.sw{display:inline-block;width:10px;height:10px;border-radius:50%;vertical-align:-1px;margin-right:4px;border:1px solid rgba(0,0,0,.4)}
.mini{position:relative;height:6px;margin-top:4px;border-radius:6px;background:linear-gradient(90deg,var(--cold),#9fe0a2 50%,var(--hot));opacity:.8}
.mini i,.mini u{position:absolute;top:-3px;width:2px;height:12px;background:#fff}
.mini u{background:#111;height:8px;top:-1px;width:4px;border-radius:2px;border:1px solid #fff}
.card{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.card h4{margin:0 0 2px;font:600 17px var(--serif)}
.muted{color:var(--muted)}
.trail{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0 2px}
.trail span{font:11.5px var(--sans);padding:2px 7px;border-radius:99px;background:rgba(255,255,255,.07)}
.trail span+span::before{content:"→ ";color:var(--muted)}
.genes{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;font:11.5px var(--mono);color:var(--ink-dim);margin-top:6px}
.memorials li{padding:7px 0;border-bottom:1px dashed var(--line);font-size:12.5px}
.memorials li b{font:600 14px var(--serif)}
.intro{position:fixed;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse at center,rgba(10,9,7,.35),rgba(10,9,7,.75))}
.intro[hidden],.drawer[hidden],#founding[hidden],.pill[hidden]{display:none}
.intro-card{max-width:520px;margin:20px;padding:26px 28px;background:rgba(24,21,16,.92);border:1px solid var(--line);border-radius:18px;text-align:left;box-shadow:0 20px 80px rgba(0,0,0,.5)}
.intro-card h2{margin:8px 0 10px;font:600 30px/1.15 var(--serif)}
.intro-card p{color:var(--ink-dim);margin:0 0 10px}
.intro-card .nudge{color:var(--accent)}
.cta.big{font-size:17px;padding:13px 24px;margin:6px 0 8px}
.fine{font-size:12px;color:var(--muted)!important}
.intro-card .tip{font-size:13px;color:var(--ink);background:rgba(255,207,110,.08);border:1px solid rgba(255,207,110,.25);border-radius:10px;padding:8px 10px}
.empty{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);max-width:min(420px,calc(100vw - 40px));margin:0;padding:14px 18px;text-align:center;font:italic 16px/1.45 var(--serif);color:var(--ink-dim);background:rgba(20,18,14,.55);border:1px dashed var(--line);border-radius:14px;pointer-events:none}
.empty[hidden]{display:none}
.feed{position:fixed;left:14px;bottom:14px;display:flex;flex-direction:column;gap:6px;max-width:min(460px,calc(100vw - 28px));pointer-events:none}
.feed li{background:var(--plate);border:1px solid var(--line);border-radius:10px;padding:6px 10px;font-size:12.5px;color:var(--ink-dim);animation:fade 6s forwards}
.feed li b{color:var(--ink)}
@keyframes fade{0%{opacity:0;transform:translateY(6px)}6%{opacity:1;transform:none}80%{opacity:1}100%{opacity:0}}
@media (max-width:640px){h1{font-size:21px}.plate{right:14px;max-width:none}.plate .eyebrow span{display:none}
  #actions{top:auto;bottom:14px;right:14px;left:14px;justify-content:flex-end}.feed{bottom:64px}.drawer{top:auto;bottom:64px;height:58vh}}
@media (prefers-reduced-motion:reduce){.cta.pulse,.feed li{animation:none}}
