
/* Night Vendor Living World v1.0
   Additive-only atmospheric nervous system. No analytics. No external calls. */
:root{
  --nv-lw-line: rgba(185,216,248,.18);
  --nv-lw-cold: rgba(231,245,255,.94);
  --nv-lw-muted: rgba(177,196,216,.88);
  --nv-lw-panel: linear-gradient(135deg, rgba(8,20,33,.88), rgba(3,6,9,.92));
  --nv-lw-glow: rgba(122,184,255,.10);
  --nv-lw-warn: rgba(217,198,162,.92);
  --nv-lw-shadow: 0 14px 50px rgba(0,0,0,.26);
}
html.nv-lw-active body{position:relative;}
body.nv-lw-home::after,
body.nv-lw-late-files::after,
body.nv-lw-night-desk::after,
body.nv-lw-hidden-bookshop::after,
body.nv-lw-fiction-shop::after,
body.nv-lw-widows-bell::after,
body.nv-lw-late-file::after,
body.nv-lw-night-desk-entry::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at var(--nv-lw-ambient-x,72%) var(--nv-lw-ambient-y,18%), rgba(185,216,248,.05), transparent 26%),
             radial-gradient(circle at 18% 72%, rgba(95,23,34,.04), transparent 28%);
  opacity:var(--nv-lw-ambient-opacity,.85);
  mix-blend-mode:screen;
  z-index:0;
}
.nv-lw-quiet-room{position:relative; z-index:2;}
.nv-lw-slip,
.nv-lw-room-memo,
.nv-lw-cabinet-slip,
.nv-lw-counter-slip,
.nv-lw-bookshop-slip{
  margin:20px 0 0;
  padding:16px 18px;
  border:1px solid rgba(217,198,162,.22);
  background:linear-gradient(135deg, rgba(7,17,29,.9), rgba(4,8,12,.92));
  box-shadow: var(--nv-lw-shadow);
  color:var(--nv-lw-muted);
  border-radius:18px;
  font-size: clamp(.95rem,2.7vw,1.05rem);
  line-height:1.68;
  position:relative;
  overflow:hidden;
}
.nv-lw-slip::before,
.nv-lw-room-memo::before,
.nv-lw-cabinet-slip::before,
.nv-lw-counter-slip::before,
.nv-lw-bookshop-slip::before{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  top:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(217,198,162,.42), transparent);
}
.nv-lw-label{
  display:block;
  margin:0 0 8px;
  color:var(--nv-lw-warn);
  text-transform:uppercase;
  letter-spacing:.18em;
  font:800 .68rem/1.3 system-ui,sans-serif;
}
.nv-lw-slip p,
.nv-lw-room-memo p,
.nv-lw-cabinet-slip p,
.nv-lw-counter-slip p,
.nv-lw-bookshop-slip p{margin:0; color:var(--nv-lw-cold);}
.nv-lw-return-slip-note{margin-top:16px;}
.nv-lw-last-door,
.nv-lw-file-last{
  box-shadow:0 0 0 1px rgba(217,198,162,.28) inset, 0 0 24px rgba(122,184,255,.14);
  border-color:rgba(217,198,162,.34)!important;
}
.nv-lw-door-memory{
  position:relative;
}
.nv-lw-door-memory::after{
  content:attr(data-nv-lw-note);
  display:block;
  margin-top:8px;
  color:rgba(217,198,162,.76);
  font:700 .62rem/1.4 system-ui,sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.nv-lw-handled{
  position:relative;
  border-color:rgba(185,216,248,.3)!important;
  background:linear-gradient(180deg, rgba(185,216,248,.06), rgba(185,216,248,.025));
}
.nv-lw-handled::before{
  content:"Handled";
  position:absolute;
  right:10px;
  top:8px;
  color:rgba(217,198,162,.72);
  text-transform:uppercase;
  letter-spacing:.18em;
  font:800 .56rem/1 system-ui,sans-serif;
}
.nv-lw-file-next{
  box-shadow:0 0 0 1px rgba(217,198,162,.22) inset;
}
.nv-lw-file-next::after{
  content:"Cooling next";
  position:absolute;
  left:12px;
  bottom:8px;
  color:rgba(217,198,162,.7);
  text-transform:uppercase;
  letter-spacing:.16em;
  font:800 .56rem/1 system-ui,sans-serif;
}
.nv-lw-thread{
  position:fixed;
  top:18vh;
  right:clamp(10px,3vw,32px);
  width:2px;
  height:min(38vh,360px);
  background:linear-gradient(180deg, rgba(185,216,248,0), rgba(185,216,248,.2), rgba(95,23,34,.2), rgba(185,216,248,0));
  box-shadow:0 0 22px rgba(122,184,255,.16);
  opacity:0;
  transform:translateY(-14px);
  transition:opacity .8s ease, transform .8s ease;
  pointer-events:none;
  z-index:5;
}
body.nv-lw-depth-reached .nv-lw-thread{opacity:.72; transform:translateY(0);}
body.nv-lw-bell-chamber [data-nv-custody-seal],
body.nv-lw-bell-chamber [data-nv-custody-envelope]{box-shadow:0 0 0 1px rgba(217,198,162,.16), 0 0 32px rgba(122,184,255,.06);}
body.nv-lw-bookshop-shift .artifact-ledger:first-of-type,
body.nv-lw-counter-mark .artifact-ledger:first-of-type,
body.nv-lw-desk-awake main > section:nth-of-type(2){
  position:relative;
}
body.nv-lw-bookshop-shift .artifact-ledger:first-of-type::after,
body.nv-lw-counter-mark .artifact-ledger:first-of-type::after,
body.nv-lw-desk-awake main > section:nth-of-type(2)::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 78% 18%, rgba(185,216,248,.06), transparent 24%);
  opacity:.9;
}
.nv-lw-home-artifact{
  margin-top:14px;
  padding:14px 16px;
  border:1px solid rgba(185,216,248,.18);
  background:rgba(6,12,18,.82);
  color:var(--nv-lw-cold);
  border-radius:16px;
  line-height:1.62;
}
.nv-lw-home-artifact strong{display:block; margin-bottom:6px; color:var(--nv-lw-warn); text-transform:uppercase; letter-spacing:.16em; font:800 .66rem/1.3 system-ui,sans-serif;}
@media (prefers-reduced-motion: reduce){
  .nv-lw-thread{transition:none; transform:none;}
  body.nv-lw-depth-reached .nv-lw-thread{opacity:.4;}
}
@media (max-width: 820px){
  .nv-lw-slip,
  .nv-lw-room-memo,
  .nv-lw-cabinet-slip,
  .nv-lw-counter-slip,
  .nv-lw-bookshop-slip{padding:15px 16px; border-radius:16px;}
  .nv-lw-thread{right:10px; height:28vh;}
  .nv-lw-handled::before,
  .nv-lw-file-next::after{font-size:.52rem;}
}


/* v1.0.1 mobile return-memory correction
   The shop memory is a separate quiet trace, never a card inside the physical receipt. */
.nv-home-page .home-anchor-scene > .nv-lw-return-memory{
  position:absolute;
  top:326px;
  right:8%;
  z-index:7;
  width:min(330px,34vw);
  margin:0;
  padding:12px 14px;
  border-radius:12px;
  border-color:rgba(185,216,248,.16);
  background:linear-gradient(135deg,rgba(4,10,16,.88),rgba(2,5,8,.94));
  box-shadow:0 12px 34px rgba(0,0,0,.24);
  pointer-events:none;
}
.nv-home-page .home-anchor-scene > .nv-lw-return-memory .nv-lw-label{
  margin-bottom:5px;
  font-size:.58rem;
  letter-spacing:.16em;
}
.nv-home-page .home-anchor-scene > .nv-lw-return-memory p{
  font-size:.88rem;
  line-height:1.48;
  letter-spacing:.01em;
}
@media(max-width:820px){
  .nv-home-page .home-anchor-scene > .nv-lw-return-memory{
    position:relative;
    top:auto;
    right:auto;
    width:calc(100% - 36px);
    max-width:none;
    margin:10px 18px 0;
    padding:11px 13px;
    border-radius:11px;
    z-index:8;
  }
  .nv-home-page .home-anchor-scene > .nv-lw-return-memory .nv-lw-label{
    display:block;
    margin:0 0 6px;
  }
  .nv-home-page .home-anchor-scene > .nv-lw-return-memory p{
    display:block;
    font-size:.9rem;
    line-height:1.5;
  }
}
@media(max-width:390px){
  .nv-home-page .home-anchor-scene > .nv-lw-return-memory{
    width:calc(100% - 30px);
    margin-left:15px;
    margin-right:15px;
    padding:10px 12px;
  }
  .nv-home-page .home-anchor-scene > .nv-lw-return-memory p{
    font-size:.86rem;
  }
}
