/* RELAY·INBOX — night-desk control room. Substantially distinct from cream editorial baselines. */
@font-face{font-family:"Oswald";src:url("assets/oswald.ttf") format("truetype");font-display:swap}
@font-face{font-family:"Space Grotesk";src:url("assets/space-grotesk.ttf") format("truetype");font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("assets/ibm-plex-mono.ttf") format("truetype");font-display:swap}

:root{
  --ink:#0b0e08;
  --paper:#0e120b;
  --panel:#151a10;
  --panel2:#1b2114;
  --line:#2b3320;
  --cream:#f2f4e4;
  --muted:#a9b08d;
  --dim:#6f7757;
  --lime:#d7ff3f;
  --lime-ink:#101400;
  --orange:#ff7a1a;
  --mint:#7dffc4;
  --blue:#8ecbff;
  --radius:14px;
  --font-d:"Oswald", "Arial Narrow", sans-serif;
  --font-b:"Space Grotesk", system-ui, sans-serif;
  --font-m:"IBM Plex Mono", ui-monospace, monospace;
}
*{box-sizing:border-box}
[hidden]{display:none !important}
html{scroll-behavior:smooth;background:var(--ink)}
body{margin:0;background:var(--ink);color:var(--cream);font-family:var(--font-b);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
::selection{background:var(--lime);color:var(--lime-ink)}
.skip{position:absolute;left:-9999px;top:0;background:var(--lime);color:#000;padding:.6rem 1rem;z-index:99;font-weight:700}
.skip:focus{left:8px;top:8px}
a{color:inherit}
.mono{font-family:var(--font-m)}
.dim{color:var(--dim)}

/* topbar */
.topbar{position:sticky;top:0;z-index:40;background:rgba(11,14,8,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.topbar-inner{max-width:1240px;margin:0 auto;padding:.65rem 1.25rem;display:flex;align-items:center;gap:1.25rem}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none}
.brand-mark{display:grid;place-items:center;width:34px;height:34px;background:var(--lime);color:var(--lime-ink);font-family:var(--font-d);font-weight:700;font-size:1.25rem;border-radius:8px;transform:skew(-6deg)}
.brand-word{font-family:var(--font-m);font-size:.85rem;letter-spacing:.14em;font-weight:700}
.brand-word em{font-style:normal;color:var(--lime)}
.topnav{display:flex;gap:1rem;margin-left:.5rem}
.topnav a{font-family:var(--font-m);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-decoration:none;padding:.3rem .1rem;border-bottom:2px solid transparent}
.topnav a:hover{color:var(--cream);border-color:var(--lime)}
.top-right{margin-left:auto;display:flex;align-items:center;gap:.7rem}
.live-dot{width:9px;height:9px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px var(--lime);animation:blink 1.6s infinite}
@keyframes blink{50%{opacity:.35}}
.top-date{font-family:var(--font-m);font-size:.72rem;letter-spacing:.12em;color:var(--muted)}
.open-pill{font-family:var(--font-m);font-size:.72rem;font-weight:700;letter-spacing:.1em;background:transparent;border:1px solid var(--lime);color:var(--lime);border-radius:99px;padding:.3rem .7rem}
.avatars{display:flex}
.avatars span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--panel2);border:1px solid var(--line);font-family:var(--font-m);font-size:.6rem;margin-left:-8px}
.avatars .more{background:var(--lime);color:#000;border-color:var(--lime);font-weight:700}

/* hero */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(900px 380px at 85% -10%,rgba(215,255,63,.14),transparent 60%),radial-gradient(700px 420px at 8% 10%,rgba(142,203,255,.08),transparent 60%),var(--paper)}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(215,255,63,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(215,255,63,.07) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(800px 500px at 30% 20%,#000 30%,transparent 75%)}
.hero-inner{position:relative;max-width:1240px;margin:0 auto;padding:3.2rem 1.25rem 2rem;display:grid;grid-template-columns:1.15fr .85fr;gap:2.5rem;align-items:start}
.eyebrow{font-family:var(--font-m);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--lime);display:flex;align-items:center;gap:.6rem;margin:0 0 1rem}
.pulse{width:8px;height:8px;background:var(--lime);border-radius:50%;box-shadow:0 0 10px var(--lime);animation:blink 1.2s infinite}
h1{font-family:var(--font-d);font-weight:700;font-size:clamp(3.6rem,8.5vw,7rem);line-height:.92;letter-spacing:-.01em;text-transform:uppercase;margin:0 0 1rem}
h1 .outline{color:transparent;-webkit-text-stroke:2px var(--lime)}
.lede{max-width:34rem;color:var(--muted);font-size:1.06rem;margin:0 0 1.5rem}
.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:1.6rem}
.btn-lime{display:inline-block;background:var(--lime);color:var(--lime-ink);font-weight:700;text-decoration:none;padding:.85rem 1.5rem;border-radius:4px;transform:skew(-6deg);font-family:var(--font-m);font-size:.85rem;letter-spacing:.06em}
.btn-lime:hover{box-shadow:0 0 0 3px rgba(215,255,63,.35)}
.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--cream);padding:.85rem 1.3rem;border-radius:4px;font-family:var(--font-m);font-size:.85rem;cursor:pointer}
.btn-ghost:hover{border-color:var(--lime);color:var(--lime)}
.hero-meta{display:grid;grid-template-columns:repeat(3,auto);gap:1.5rem;justify-content:start;border-top:1px dashed var(--line);padding-top:1rem;margin:0}
.hero-meta dt{font-family:var(--font-m);font-size:.68rem;letter-spacing:.16em;color:var(--dim);text-transform:uppercase}
.hero-meta dd{margin:.15rem 0 0;font-weight:700;font-size:.92rem}

.hero-right{display:grid;gap:1rem}
.photo-card{position:relative;min-height:210px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:url("assets/city-street.jpg") center/cover no-repeat, linear-gradient(135deg,#232b14,#0e120b)}
.photo-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,14,8,.05) 40%,rgba(11,14,8,.82)),linear-gradient(90deg,rgba(215,255,63,.28),rgba(11,14,8,.35));mix-blend-mode:normal}
.photo-scan{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(0,0,0,.18) 3px 4px);z-index:1}
.photo-tag{position:absolute;left:.9rem;bottom:.8rem;z-index:2;font-family:var(--font-m);font-size:.7rem;letter-spacing:.14em;background:#000;border:1px solid var(--lime);color:var(--lime);padding:.3rem .6rem;border-radius:4px}
.stat-board{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem}
.stat-head{display:flex;justify-content:space-between;font-family:var(--font-m);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.6rem}
.stat-bar{height:8px;background:#0a0d07;border:1px solid var(--line);border-radius:99px;overflow:hidden;margin-bottom:.8rem}
.stat-bar i{display:block;height:100%;width:17%;background:linear-gradient(90deg,var(--lime),var(--mint));transition:width .5s}
.stat-rows{list-style:none;margin:0 0 .8rem;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.45rem}
.stat-rows li{display:flex;align-items:center;gap:.5rem;font-family:var(--font-m);font-size:.74rem;background:#0d110a;border:1px solid var(--line);border-radius:8px;padding:.45rem .6rem}
.stat-rows b{margin-left:auto}
.led{width:9px;height:9px;border-radius:50%;flex:none}
.led.todo{background:var(--blue);box-shadow:0 0 8px var(--blue)}
.led.in-progress{background:var(--lime);box-shadow:0 0 8px var(--lime)}
.led.blocked{background:var(--orange);box-shadow:0 0 8px var(--orange);animation:blink 1s infinite}
.led.done{background:var(--mint);box-shadow:0 0 8px var(--mint)}
.stat-reset{width:100%;background:transparent;border:1px dashed var(--dim);color:var(--muted);border-radius:8px;padding:.55rem;font-family:var(--font-m);font-size:.74rem;cursor:pointer}
.stat-reset:hover{color:var(--lime);border-color:var(--lime)}

/* ticker */
.ticker{position:relative;border-top:1px solid var(--line);background:#0a0d07;overflow:hidden;white-space:nowrap}
.ticker-track{display:inline-block;padding:.55rem 0;font-family:var(--font-m);font-size:.74rem;letter-spacing:.18em;color:var(--dim);animation:tick 26s linear infinite}
.ticker-track span{color:var(--lime)}
@keyframes tick{to{transform:translateX(-50%)}}

/* workspace */
.workspace{max-width:1240px;margin:0 auto;padding:2.2rem 1.25rem 1rem;display:grid;grid-template-columns:300px 1fr;gap:1.6rem;align-items:start}
.rail{position:sticky;top:64px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;display:grid;gap:1.1rem}
.rail h2,.log h3,.about h3{font-family:var(--font-d);text-transform:uppercase;letter-spacing:.02em;margin:0;font-size:1.35rem}
.idx{display:inline-grid;place-items:center;font-family:var(--font-m);font-size:.68rem;background:var(--lime);color:#000;border-radius:6px;padding:.15rem .4rem;margin-right:.5rem;vertical-align:middle}
.field{display:grid;gap:.45rem}
.field label,.flabel{font-family:var(--font-m);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.field input,.field select{background:#0b0f08;border:1px solid var(--line);color:var(--cream);border-radius:8px;padding:.7rem .8rem;font:inherit;font-size:.92rem;width:100%}
.field input:focus-visible,.field select:focus-visible,.chips button:focus-visible,.btn-ghost:focus-visible,.btn-lime:focus-visible,.card-open:focus-visible,.close-x:focus-visible,.status-zone select:focus-visible,.detail-nav button:focus-visible,.empty button:focus-visible,.stat-reset:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
.hint{margin:0;font-size:.78rem;color:var(--dim)}
.hint kbd{font-family:var(--font-m);border:1px solid var(--line);border-radius:4px;padding:0 .35rem;background:#0b0f08}
.chips{display:flex;flex-wrap:wrap;gap:.45rem}
.chips button{font-family:var(--font-m);font-size:.72rem;letter-spacing:.06em;background:#0b0f08;border:1px solid var(--line);color:var(--muted);border-radius:99px;padding:.4rem .75rem;cursor:pointer}
.chips button[aria-pressed="true"]{background:var(--lime);border-color:var(--lime);color:#000;font-weight:700}
.rail-note{border-top:1px dashed var(--line);padding-top:.9rem;font-size:.85rem;color:var(--muted)}
.rail-note p{margin:.3rem 0}
.rail-note strong{color:var(--cream)}

.feed-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.feed-count{font-family:var(--font-m);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--lime);margin:0}
.feed-sort-note{font-family:var(--font-m);font-size:.74rem;color:var(--dim);margin:0}

.list{list-style:none;margin:0;padding:0;display:grid;gap:.8rem}
.card{position:relative;display:grid;grid-template-columns:10px 1fr auto;gap:1rem;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:1rem 1.1rem;overflow:hidden;transition:border-color .2s,transform .2s}
.card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:10px;background:var(--blue)}
.card[data-status="in-progress"]::before{background:var(--lime)}
.card[data-status="blocked"]::before{background:var(--orange)}
.card[data-status="done"]::before{background:var(--mint)}
.card[data-status="done"] .card-title{color:var(--muted);text-decoration:line-through;text-decoration-color:rgba(125,255,196,.6)}
.card:hover{border-color:var(--lime);transform:translateX(3px)}
.card-id{grid-column:2;font-family:var(--font-m);font-size:.68rem;letter-spacing:.14em;color:var(--dim);display:flex;gap:.6rem;align-items:center}
.card-id .pill{margin-left:auto}
.card-title{grid-column:2;font-family:var(--font-d);font-size:1.35rem;line-height:1.1;text-transform:uppercase;letter-spacing:.01em;margin:.15rem 0 .3rem}
.card-meta{grid-column:2;color:var(--muted);font-size:.85rem;display:flex;flex-wrap:wrap;gap:.4rem .9rem}
.card-meta .mono{font-size:.74rem}
.card-open{grid-column:3;grid-row:1/span 3;align-self:center;background:var(--lime);color:var(--lime-ink);border:0;border-radius:8px;font-family:var(--font-m);font-weight:700;font-size:.78rem;padding:.8rem 1rem;cursor:pointer;transform:skew(-6deg);white-space:nowrap}
.card-open:hover{box-shadow:0 0 0 3px rgba(215,255,63,.35)}
.pill{font-family:var(--font-m);font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-radius:99px;padding:.22rem .6rem;border:1px solid}
.pill.todo{color:var(--blue);border-color:var(--blue)}
.pill.in-progress{color:var(--lime);border-color:var(--lime)}
.pill.blocked{color:var(--orange);border-color:var(--orange)}
.pill.done{color:var(--mint);border-color:var(--mint)}
.prio{font-family:var(--font-m);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}
.prio.high{color:var(--orange)}
.prio.medium{color:var(--blue)}
.prio.low{color:var(--dim)}

.empty{background:var(--panel);border:1px dashed var(--lime);border-radius:12px;padding:2.5rem 1.5rem;text-align:center}
.empty-kicker{font-family:var(--font-m);font-size:.72rem;letter-spacing:.2em;color:var(--lime);margin:0}
.empty-title{font-family:var(--font-d);font-size:2rem;text-transform:uppercase;margin:.5rem 0}
.empty-sub{color:var(--muted);margin:0 0 1.2rem}
.empty button{background:var(--lime);border:0;border-radius:8px;color:#000;font-weight:700;padding:.8rem 1.4rem;font-family:var(--font-m);cursor:pointer}

.log{margin-top:1.6rem;background:#0a0d07;border:1px solid var(--line);border-radius:12px;padding:1rem 1.1rem}
.log h3{margin-bottom:.6rem}
.log ol{list-style:none;margin:0;padding:0;display:grid;gap:.4rem;font-size:.86rem;color:var(--muted);max-height:180px;overflow:auto}
.log .mono{color:var(--lime);font-size:.74rem;margin-right:.6rem}

.about{max-width:1240px;margin:1rem auto 0;padding:0 1.25rem 2.5rem}
.about h3{margin-bottom:1rem}
.about-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:1.2rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem}
.about-grid p{margin:0;color:var(--muted)}
.about-grid strong{color:var(--cream)}
.about-grid ul{margin:0;padding-left:1.1rem;color:var(--muted);font-size:.92rem;display:grid;gap:.35rem}
.fine{font-size:.8rem !important}
.foot{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid var(--line);padding:1rem 1.25rem;font-family:var(--font-m);font-size:.72rem;letter-spacing:.1em;color:var(--dim);max-width:1240px;margin:0 auto}

/* detail drawer */
.backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:50}
.detail{position:fixed;inset:0;z-index:51;display:flex;justify-content:flex-end;pointer-events:none}
.detail>div{pointer-events:auto;width:min(520px,100%);background:var(--panel);border-left:1px solid var(--lime);height:100%;overflow:auto;padding:1.4rem 1.4rem 2rem;animation:slide .25s ease}
@keyframes slide{from{transform:translateX(40px);opacity:0}}
.detail-top{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.detail-top .mono{font-size:.72rem;letter-spacing:.14em;color:var(--lime);margin:0}
.close-x{background:#0b0f08;border:1px solid var(--line);color:var(--cream);border-radius:8px;padding:.5rem .7rem;font-family:var(--font-m);font-size:.75rem;cursor:pointer}
.close-x span{color:var(--dim);font-size:.65rem;margin-left:.3rem}
.close-x:hover{border-color:var(--lime)}
.detail-status-row{display:flex;align-items:center;gap:.8rem;margin:1rem 0 .4rem}
#detailTitle{font-family:var(--font-d);font-size:2.1rem;line-height:1.02;text-transform:uppercase;margin:0 0 .8rem}
.meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem}
.meta-grid div{background:#0b0f08;border:1px solid var(--line);border-radius:8px;padding:.55rem .7rem;font-size:.82rem}
.meta-grid .mk{font-family:var(--font-m);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);display:block}
.meta-grid .mv{display:block;margin-top:.15rem;font-weight:600}
.body-copy{background:#0b0f08;border:1px solid var(--line);border-left:3px solid var(--lime);border-radius:8px;padding:1rem;white-space:pre-line;color:var(--cream);margin-bottom:1.2rem}
.status-zone{border-top:1px dashed var(--line);padding-top:1rem;display:grid;gap:.6rem}
.status-zone label{font-family:var(--font-m);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--lime)}
.status-zone select{background:#0b0f08;border:1px solid var(--lime);color:var(--cream);border-radius:8px;padding:.75rem;font:inherit}
.status-feedback{min-height:1.4em;margin:0;font-family:var(--font-m);font-size:.78rem;color:var(--mint)}
.detail-nav{display:flex;gap:.6rem}
.detail-nav button{flex:1;background:transparent;border:1px solid var(--line);color:var(--cream);border-radius:8px;padding:.6rem;font-family:var(--font-m);font-size:.78rem;cursor:pointer}
.detail-nav button:hover{border-color:var(--lime)}

.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:var(--lime);color:#000;font-family:var(--font-m);font-weight:700;font-size:.82rem;padding:.7rem 1.2rem;border-radius:99px;z-index:60;box-shadow:0 8px 30px rgba(0,0,0,.5)}

:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important;scroll-behavior:auto !important}}

@media (max-width:980px){
  .hero-inner{grid-template-columns:1fr}
  .workspace{grid-template-columns:1fr}
  .rail{position:static}
  .about-grid{grid-template-columns:1fr}
  .topnav{display:none}
}
@media (max-width:560px){
  h1{font-size:3.4rem}
  .card{grid-template-columns:8px 1fr;grid-template-rows:auto auto auto auto}
  .card-open{grid-column:2;grid-row:4;justify-self:start}
  .card-id .pill{margin-left:0}
  .card-id{flex-wrap:wrap}
  .hero-meta{grid-template-columns:1fr 1fr}
  .detail>div{border-left:0;border-top:2px solid var(--lime)}
  .detail{align-items:flex-end}
  .detail>div{height:88%;border-radius:16px 16px 0 0}
}
