/* skin.css for rulewell/npc-voice-kit: the night pack (memory/projects/audiences/night.md). The dark theme with an
   ember infusion: a hard condensed display for titles, mono for the status windows, numbers as hooks. Each NPC is a
   status window with an ember rim; the secret is a redacted bar until tapped. No remote fonts. */
.rw-npc{--n-ground:#0e0a0c;--n-panel:#17110f;--n-ink:#f4ece6;--n-sub:#b9a69a;--n-ember:#ff7a3c;--n-ember-deep:#b8401a;--n-rule:#3a2620;
  --n-display:"Bahnschrift Condensed","Arial Narrow","Roboto Condensed",Impact,sans-serif;--n-mono:ui-monospace,Consolas,monospace;
  color-scheme:dark;background:radial-gradient(120% 70% at 50% 0%,#2a120a,var(--n-ground) 60%);color:var(--n-ink);min-height:100svh;margin:0;padding-inline:16px}
.rw-npc.rw-body::before,.rw-npc.rw-body::after{display:none}
.rw-npc__bar{max-width:1080px;margin:0 auto;padding-block:18px 0}
.rw-npc__home{font:700 20px var(--f-display,serif);color:var(--n-ink);text-decoration:none}
.rw-npc__main{max-width:1080px;margin:0 auto;padding-block:36px 24px;display:grid;gap:26px}
.rw-npc__hero{display:grid;gap:10px;max-width:62ch}
.rw-npc__eye{margin:0;font:600 12px var(--n-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--n-ember)}
.rw-npc__title{margin:0;font:700 clamp(40px,8vw,76px)/.95 var(--n-display);letter-spacing:.01em;text-transform:uppercase;text-wrap:balance}
.rw-npc__lede{margin:0;font:18px/1.5 var(--f-display,serif);color:var(--n-sub)}

.rw-npc__cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}
.rw-npc__card{min-width:0;display:grid;gap:10px;padding:18px 18px 16px;border-radius:12px;background:linear-gradient(var(--n-panel),#110c0b);
  border:1px solid var(--n-rule);box-shadow:inset 0 1px 0 rgba(255,140,80,.12),0 0 0 1px rgba(255,122,60,.08),0 18px 40px -18px rgba(255,90,30,.35);
  animation:rw-npc-in .5s cubic-bezier(.2,.8,.3,1) both}
@keyframes rw-npc-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.rw-npc__id{margin:0;font:600 11px var(--n-mono);letter-spacing:.16em;color:var(--n-ember)}
.rw-npc__name{margin:0;font:700 28px/1.05 var(--n-display);text-transform:uppercase;letter-spacing:.02em}
.rw-npc__row{margin:0;display:grid;grid-template-columns:72px 1fr;gap:10px;align-items:baseline;font:14px/1.45 var(--n-mono);color:var(--n-ink);
  padding-top:8px;border-top:1px dashed var(--n-rule);text-align:left;background:none;border-left:0;border-right:0;border-bottom:0;width:100%;cursor:default}
.rw-npc__key{font:700 11px var(--n-mono);letter-spacing:.16em;color:var(--n-ember)}
.rw-npc__secret{cursor:pointer}
.rw-npc__redacted{color:transparent;background:repeating-linear-gradient(90deg,#2b1c18 0 10px,#3a2620 10px 12px);border-radius:3px;position:relative}
.rw-npc__redacted::after{content:"TAP TO REVEAL";position:absolute;inset:0;display:grid;place-items:center;font:600 10px var(--n-mono);letter-spacing:.2em;color:var(--n-sub)}
.rw-npc__secret:hover .rw-npc__redacted{background:repeating-linear-gradient(90deg,#4a2618 0 10px,#5a2e1c 10px 12px)}
.rw-npc__secret.is-open .rw-npc__val{animation:rw-npc-ember 1.2s ease-out}
@keyframes rw-npc-ember{0%{color:#fff;text-shadow:0 0 12px var(--n-ember)}100%{color:var(--n-ink);text-shadow:none}}

.rw-npc__actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.rw-npc__roll{font:700 15px var(--n-display);letter-spacing:.08em;text-transform:uppercase;padding:12px 20px;border-radius:10px;cursor:pointer;
  background:transparent;color:var(--n-ember);border:1.5px solid var(--n-ember)}
.rw-npc__roll:hover{background:rgba(255,122,60,.12)}
#rw-npc-get{--btn-ground-a:var(--n-ember);--btn-ground-b:var(--n-ember-deep);--btn-ink:#140a06;--btn-hover-ink:#140a06;--btn-edge:transparent;--btn-radius:10px}
.rw-npc__note{margin:0;color:var(--n-sub);font-size:14px}
.rw-npc__footer{max-width:1080px;margin:0 auto;padding-block:24px 32px;font-size:13px;color:var(--n-sub)}
.rw-npc__footer a{color:var(--n-ember)}
@media (prefers-reduced-motion:reduce){.rw-npc__card,.rw-npc__secret.is-open .rw-npc__val{animation:none}}
