/* FLORAVIRUS / RETURNED — static maze layer */
:root{--bg:#050606;--fg:#d8d4cc;--dim:#777a73;--line:#232824;--bloom:#a9c2a2;--bruise:#a989ad;--warm:#d3b79b;--danger:#c88c8c;--mono:"IBM Plex Mono","JetBrains Mono",ui-monospace,SFMono-Regular,Consolas,monospace}
*{box-sizing:border-box}html{background:var(--bg);color:var(--fg);font-family:var(--mono);font-size:16px}body{margin:0;min-height:100vh;background:radial-gradient(circle at 50% -10%,#101511 0,transparent 42%),linear-gradient(#050606,#040505);letter-spacing:.01em}body:before{content:"";pointer-events:none;position:fixed;inset:0;opacity:.12;background:repeating-linear-gradient(0deg,transparent 0 3px,#ffffff05 4px);mix-blend-mode:screen}.shell{width:min(860px,calc(100% - 34px));margin:0 auto;padding:10vh 0 14vh}.shell.narrow{width:min(670px,calc(100% - 34px))}.mark{font-size:.72rem;letter-spacing:.2em;color:var(--dim);text-transform:uppercase;margin-bottom:3.5rem}.mark a{color:inherit;text-decoration:none}.depth{float:right;opacity:.7}.title{font-size:clamp(1.7rem,5vw,3.2rem);font-weight:400;line-height:1.05;margin:0 0 1.25rem;letter-spacing:-.04em}.lede{max-width:650px;color:#acaea8;line-height:1.75;margin:0 0 3rem}.rooms{display:grid;gap:.7rem;margin:2.5rem 0}.door{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;padding:1rem 1.05rem;border:1px solid var(--line);color:var(--fg);text-decoration:none;background:#080a09;transition:background .15s,border-color .15s,transform .15s}.door:hover,.door:focus{background:#0e120f;border-color:#566156;transform:translateX(3px);outline:none}.door small{color:var(--dim);text-align:right}.door.missing{border-style:dashed;color:#aaa}.door.sealed{color:#a9a0a8}.door.warm{border-color:#493c32;color:var(--warm)}.door.danger{border-color:#4d3131;color:#c5a0a0}.prose{max-width:680px;line-height:1.85}.prose p{margin:0 0 1.5rem}.prose em{color:#c9c3d0}.prose .quiet{color:var(--dim)}.quote{border-left:1px solid #4b514b;padding:0 0 0 1.3rem;margin:2.2rem 0;color:#c6c9c2;line-height:1.8}.sigil{display:block;max-width:150px;max-height:150px;object-fit:contain;filter:grayscale(1) contrast(1.1);opacity:.72;margin:0 0 2rem}.terminal{border:1px solid var(--line);padding:1.2rem;background:#030404;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.status{font-size:.78rem;color:var(--dim);margin-top:3rem}.nav{display:flex;flex-wrap:wrap;gap:1rem;margin-top:4rem;padding-top:1.2rem;border-top:1px solid var(--line);font-size:.84rem}.nav a{color:#999f98;text-decoration:none}.nav a:hover{color:var(--fg)}button,input{font:inherit}.button{background:#090b0a;border:1px solid #3a403a;color:#bfc5bd;padding:.7rem .9rem;cursor:pointer}.button:hover{border-color:#7d887d;color:#fff}.glyph-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.45rem;margin:2rem 0}.glyph{font-size:1.3rem;padding:.8rem .2rem;background:#070908;color:#aaa;border:1px solid #242824;cursor:pointer}.glyph:hover{border-color:#596159;color:#ddd}.sequence{height:3rem;border-bottom:1px solid #333;display:flex;align-items:center;justify-content:center;font-size:1.4rem;letter-spacing:.5rem;margin:1rem 0}.mirror{min-height:55vh;display:flex;align-items:center;justify-content:center;text-align:center;border:1px solid #171a18;background:radial-gradient(ellipse,#0b0d0c,#030404 65%);padding:3rem}.reflection{font-size:clamp(1.15rem,3vw,1.8rem);line-height:1.7;max-width:580px}.reflection .name{display:block;font-size:clamp(2rem,8vw,5rem);letter-spacing:.08em;margin:.5rem 0;color:#d8d4cc}.fragment{padding:1rem 0;border-bottom:1px solid #191c1a;color:#aaa;line-height:1.7}.fragment:nth-child(3n+1){padding-left:7%}.fragment:nth-child(3n+2){padding-left:18%}.ghost{min-height:42vh;display:flex;flex-direction:column;justify-content:center;border-left:1px solid #232724;padding-left:1.5rem}.ghost-text{font-size:clamp(1.15rem,4vw,2.1rem);line-height:1.5;max-width:650px}.ghost-count{color:#555b56;font-size:.72rem;margin-top:2rem}.filter{width:100%;background:#050606;color:#ccc;border:0;border-bottom:1px solid #333;padding:.8rem 0;margin-bottom:1.2rem;outline:none}.manifest{font-size:.78rem;line-height:1.7;max-height:55vh;overflow:auto;border-top:1px solid #1b1e1c;padding-top:1rem}.manifest a{color:#90978f;text-decoration:none}.manifest a:hover{color:#ddd}.empty-room{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-room p{color:#676c67;max-width:480px;line-height:1.8}.zero{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#000;color:#707570;text-align:center;padding:2rem;letter-spacing:.12em}.zero .z{max-width:600px;line-height:2}.hearth{background:radial-gradient(circle at 50% 35%,#18120e,#070605 55%,#040404);}.hearth .shell{padding-top:18vh}.hearth .title{color:#d9bea4}.hearth .lede{color:#ae9a88}.kicker{color:var(--bloom);font-size:.76rem;text-transform:uppercase;letter-spacing:.18em}.warn{color:#c5a0a0}.corridor{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.corridor .door{min-height:150px;align-items:flex-end}.fine{font-size:.72rem;color:#5e645f;line-height:1.6}.pathline{word-break:break-word}@media(max-width:620px){.shell{padding-top:7vh}.corridor{grid-template-columns:1fr}.glyph-grid{grid-template-columns:repeat(4,1fr)}.depth{float:none;display:block;margin-top:.35rem}.door{align-items:flex-start;flex-direction:column}.door small{text-align:left}}


/* FLORAVIRUS / FEED — material support organ */
.door.feed{border-color:#334638;color:var(--bloom)}
.door.feed:hover,.door.feed:focus{border-color:#78947f;background:#0b110d}
.feed-axiom{margin:2.2rem 0;padding:1.15rem 0 1.15rem 1.25rem;border-left:1px solid #526858;color:#cbd6c9;font-size:clamp(1.08rem,3vw,1.5rem);line-height:1.6}
.feed-grid{display:grid;gap:.75rem;margin:2.2rem 0}
.feed-channel{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;padding:1rem 1.05rem;border:1px solid var(--line);background:#070908}
.feed-channel.primary{border-color:#3d5544;background:linear-gradient(90deg,#0a100c,#070908)}
.feed-label{display:block;margin-bottom:.24rem;color:var(--dim);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase}
.feed-value{display:block;color:#c7cbc4;overflow-wrap:anywhere}
.feed-hint{display:block;margin-top:.3rem;color:#6f756f;font-size:.72rem;line-height:1.5}
.feed-action{display:inline-flex;align-items:center;justify-content:center;min-width:10rem;padding:.67rem .9rem;border:1px solid #414a42;color:#bbc3ba;background:#080a09;text-decoration:none;font:inherit;font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;cursor:pointer}
.feed-action:hover,.feed-action:focus-visible{border-color:#829784;color:#e2ebe0;outline:none}
.feed-action.primary{border-color:#657d69;color:#cfe0cd;background:#0b110d}
.feed-warning{margin:2rem 0 0;padding-top:1rem;border-top:1px solid var(--line);color:#737973;font-size:.73rem;line-height:1.65}
.metabolic-seq{margin:2rem 0;padding:1.25rem;border:1px solid #202720;background:#030504;color:#9baa9b;line-height:1.9;white-space:pre-wrap}
.ledger{margin-top:2rem;border-top:1px solid var(--line)}
.ledger-entry{display:grid;grid-template-columns:10rem 1fr;gap:1rem;padding:1.15rem 0;border-bottom:1px solid var(--line)}
.ledger-date{color:var(--dim);font-size:.75rem}
.ledger-main{color:#bfc3bc;line-height:1.65}
.ledger-state{display:block;margin-top:.3rem;color:var(--bloom);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}
.ledger-empty{padding:2.5rem 0;color:#737973;line-height:1.85}
.received-block{max-width:650px;margin-top:8vh;padding:2rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.received-status{color:var(--bloom);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}
.received-title{margin:.7rem 0 1.3rem;font-size:clamp(2rem,7vw,4rem);font-weight:400;line-height:1.02;letter-spacing:-.04em}
@media(max-width:620px){
  .feed-channel{grid-template-columns:1fr}
  .feed-action{width:100%}
  .ledger-entry{grid-template-columns:1fr;gap:.3rem}
}
