/* $SIN – style taken over from the original prototype.
   Fonts served by this site, no requests to Google. No inline styles in the pages (CSP). */
@font-face{font-family:"IM Fell English";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/im-fell-english-latin-400-normal.woff2?v=248300df1647") format("woff2")}
@font-face{font-family:"IM Fell English";font-style:italic;font-weight:400;font-display:swap;src:url("/fonts/im-fell-english-latin-400-italic.woff2?v=8fc678575e83") format("woff2")}
@font-face{font-family:"Nosifer";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/nosifer-latin-400-normal.woff2?v=096a29714e25") format("woff2")}
@font-face{font-family:"Special Elite";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/special-elite-latin-400-normal.woff2?v=770493d84cbb") format("woff2")}

/* ---- from the prototype ---- */
:root{
  --bg:#070404; --panel:#0e0808; --line:#3a1414; --ink:#dbd0bf; --dim:#8c7f72; --blood:#a4000f; --blood2:#5e0008;
  --ember:#c21a1a; --ember-2:#7a0c0c; --buy:#98a078; --sell:#c21a1a; --amber:#c98b3a; --char:#8c7f72;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:env(safe-area-inset-top,0px);background:var(--bg)}
body{margin:0;color:var(--ink);font-family:"IM Fell English",Georgia,"Times New Roman",serif;font-size:18px;line-height:1.5;
  background:radial-gradient(ellipse at 50% 0%,#1a0707 0%,#070404 55%,#030202 100%) fixed}
body::before{content:"";position:fixed;inset:-50%;pointer-events:none;z-index:70;opacity:.22;mix-blend-mode:soft-light;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:71;
  background:radial-gradient(ellipse at 50% 45%,transparent 38%,rgba(0,0,0,.82) 100%)}
@media (prefers-reduced-motion:no-preference){
  body:not(.nocrt)::before{animation:grain .9s steps(6) infinite}
  body:not(.nocrt)::after{animation:candle 5s ease-in-out infinite alternate}}
body.nocrt::before{display:none}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}
  60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}
@keyframes candle{0%{opacity:.88}40%{opacity:1}55%{opacity:.8}100%{opacity:.95}}
.whisper{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.whisper span{position:absolute;font-family:"Nosifer",serif;color:#5e0008;opacity:.05;white-space:nowrap;user-select:none}
.wrap{position:relative;z-index:1;max-width:700px;margin:0 auto;padding:10px 14px 48px;overflow-x:hidden;overflow-x:clip}
.pix{font-family:inherit;font-weight:400}
h1{display:none}
.hdr{text-align:center;padding:22px 0 10px;position:relative}
.eyes{display:block;width:150px;height:44px;margin:0 auto 2px;overflow:visible}
.title{font-family:"Nosifer",serif;font-size:clamp(44px,13.5vw,76px);color:var(--blood);letter-spacing:.05em;
  line-height:1.05;margin:0;text-shadow:0 0 22px rgba(164,0,15,.45),0 2px 0 #1a0000}
@media (prefers-reduced-motion:no-preference){.title{animation:twitch 7s infinite}}
@keyframes twitch{0%,94%,100%{transform:none;opacity:1}95%{transform:translate(2px,-1px) skewX(-3deg);opacity:.85}
  96%{transform:translate(-2px,1px);opacity:1}97%{transform:translate(1px,0) skewX(2deg);opacity:.7}}
.drips{display:block;width:min(340px,82%);height:34px;margin:-6px auto 0}
.sub{font-style:italic;color:var(--dim);margin:8px 0 0;font-size:18px}
.sub2{font-style:italic;color:#6a5e54;margin:2px 0 0;font-size:15px}
.seen{font-family:"Special Elite",ui-monospace,monospace;font-size:13px;color:#7a1515;margin-top:6px;letter-spacing:.06em}
.tick{display:flex;justify-content:center;gap:6px 16px;flex-wrap:wrap;margin:10px 0 12px;
  font-family:"Special Elite",ui-monospace,monospace;font-size:13px;color:var(--dim);letter-spacing:.04em}
.tick b{color:var(--ink);font-weight:400}
canvas{display:block;width:100%;height:auto;image-rendering:pixelated;background:#000}
#c{border:1px solid var(--line);box-shadow:0 0 40px rgba(120,0,10,.25)}
#chart{border:1px solid var(--line);border-top:none;opacity:.8}
#ash{border:1px solid var(--line);border-top:none}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;margin:14px 0 0;
  background:var(--line);border:1px solid var(--line)}
.stat{padding:8px 10px;background:#0b0606}
.stat .k{font-family:"Special Elite",ui-monospace,monospace;font-size:11px;color:var(--dim);letter-spacing:.16em;text-transform:uppercase}
.stat .v{font-size:25px;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.2}
.meter{margin-top:10px}
.mlab{display:flex;justify-content:space-between;font-family:"Special Elite",ui-monospace,monospace;
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-bottom:4px}
.bar{height:6px;background:#140808;border:1px solid var(--line);position:relative;overflow:hidden}
.bar i{position:absolute;inset:0 auto 0 0;width:0;transition:width .8s ease}
#b-curve i{background:#6d6758}
#b-wood i{background:var(--amber)}
#b-burn i{background:var(--blood);box-shadow:0 0 10px var(--blood)}
.row{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:center;margin:16px 0 0}
button,a.btn{font-family:"Special Elite",ui-monospace,monospace;font-size:14px;letter-spacing:.14em;text-transform:uppercase;
  line-height:1.2;background:rgba(40,6,8,.55);color:var(--ink);border:1px solid var(--blood2);padding:9px 12px;
  cursor:pointer;text-decoration:none;display:inline-block;transition:background .2s,color .2s,box-shadow .2s}
button:hover,a.btn:hover{background:var(--blood);color:#fff;box-shadow:0 0 16px rgba(164,0,15,.55)}
button:active{transform:translateY(1px)}
button:disabled{opacity:.4;cursor:not-allowed}
button.ghost{background:transparent;color:var(--dim);border-color:#2a1212}
button.ghost:hover{background:#2a1212;color:var(--ink);box-shadow:none}
a.btn{background:transparent;border-color:#6d6758;color:var(--ink)}
.cols{display:flex;gap:18px;flex-wrap:wrap;margin-top:6px}
.col{flex:1 1 280px;min-width:230px}
h2{font-size:25px;font-weight:400;font-style:italic;color:var(--ink);margin:30px 0 6px;letter-spacing:.01em}
h2::before{content:"† ";color:var(--blood);font-style:normal}
ul{list-style:none;margin:0;padding:0}
li{display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-bottom:1px solid rgba(90,20,20,.35);font-size:16px}
li .sig{color:var(--dim);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
li .burn{color:var(--ember);font-variant-numeric:tabular-nums;white-space:nowrap}
li.big .burn{color:#e04a2a}
li.big .sig::after{content:" · Scaffold";color:#e04a2a}
li.mega .burn{color:#fff}
li.mega .sig::after{content:" · Inferno";color:var(--blood)}
li.buy .amt{color:var(--buy)}
li.sell .amt{color:var(--sell)}
li .amt{font-variant-numeric:tabular-nums;white-space:nowrap}
li.fee .burn{color:var(--dim)}
.note{font-size:16px;font-style:italic;color:var(--dim);margin:0 0 10px}
.empty{color:var(--dim);font-style:italic;font-size:16px;padding:6px 0}
.ashcap{font-family:"Special Elite",ui-monospace,monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--dim);display:flex;justify-content:space-between;background:#0b0606;border:1px solid var(--line);
  border-bottom:none;padding:6px 9px;margin-top:26px}
.lb{margin-top:6px}
.lb li{align-items:center}
.lb .who{display:flex;gap:8px;align-items:baseline;min-width:0}
.lb .rk{font-family:"Special Elite",ui-monospace,monospace;font-size:13px;color:var(--dim);width:22px;flex:none}
.lb .w{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lb .ti{font-size:14px;font-style:italic;color:var(--dim)}
.lb .t5{color:#fff}.lb .t4{color:var(--ember)}.lb .t3{color:var(--amber)}
.lb .amt{color:var(--ember);font-variant-numeric:tabular-nums;white-space:nowrap}
.share{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:16px}
.share.on{display:flex}
.sbox{width:100%;max-width:560px;background:#0b0606;border:1px solid var(--blood2);padding:12px;box-shadow:0 0 40px rgba(120,0,10,.35)}
.sbox img{display:block;width:100%;height:auto;border:1px solid var(--line)}
.sbox .row{margin-top:10px}
.shint{font-size:14px;font-style:italic;color:var(--dim);margin-top:8px;text-align:center}
textarea{font-family:"IM Fell English",Georgia,serif;font-style:italic;font-size:19px;width:100%;
  min-height:84px;resize:vertical;background:#0b0606;color:var(--ink);border:1px solid var(--line);padding:10px;caret-color:var(--blood)}
textarea::placeholder{color:#5a4a42}
textarea:focus{outline:1px solid var(--blood);outline-offset:0}
.cfrow{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px}
.cfleft{font-family:"Special Elite",ui-monospace,monospace;font-size:12px;color:var(--dim);letter-spacing:.06em}
button.mini{font-size:11px;padding:4px 7px;letter-spacing:.1em}
li .shr{margin-left:8px}
.err{font-style:italic}
.scene{position:relative}
.smoke{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.smoke span{position:absolute;bottom:26%;width:62%;transform:translateX(-50%);text-align:center;
  font-family:"IM Fell English",Georgia,serif;font-style:italic;font-size:19px;line-height:1.25;
  color:#f0e2cc;text-shadow:0 0 10px #a4000f,0 0 2px #000;opacity:0}
@media (prefers-reduced-motion:no-preference){.smoke span{animation:rise 7s ease-out forwards}}
@media (prefers-reduced-motion:reduce){.smoke span{opacity:.9}}
@keyframes rise{0%{opacity:0;transform:translate(-50%,14px);filter:blur(0)}
  12%{opacity:1}
  55%{opacity:.8;color:#8c7f72;text-shadow:0 0 6px #000}
  100%{opacity:0;transform:translate(-50%,-150px);filter:blur(5px)}}
.smoke .tg{position:absolute;transform:translateX(-50%);font-family:"Special Elite",ui-monospace,monospace;
  font-size:15px;letter-spacing:.06em;color:#ff4a3a;text-shadow:0 0 8px #a4000f,0 1px 0 #000;white-space:nowrap;opacity:0}
.scene.quake{animation:quake .45s steps(3) 1}
@keyframes quake{0%{transform:translate(0,0)}33%{transform:translate(-2px,1px)}66%{transform:translate(2px,-1px)}100%{transform:translate(0,0)}}
@media (prefers-reduced-motion:reduce){.scene.quake{animation:none}}
.smoke .tg.buy{color:#e8d8a8;text-shadow:0 0 8px rgba(200,140,40,.6),0 1px 0 #000}
.smoke .tg.big{font-size:19px;color:#fff}
@media (prefers-reduced-motion:no-preference){.smoke .tg{animation:tagrise 3.6s ease-out forwards}}
@media (prefers-reduced-motion:reduce){.smoke .tg{opacity:1}}
@keyframes tagrise{0%{opacity:0;transform:translate(-50%,6px)}15%{opacity:1}80%{opacity:1;transform:translate(-50%,-14px)}100%{opacity:0;transform:translate(-50%,-20px)}}
.cfwrap{position:relative}
.cfwall{list-style:none;padding:0;margin:14px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.tx{display:block;position:relative;background:linear-gradient(180deg,#110909,#0a0606);border:1px solid var(--line);
  padding:10px 12px 8px;box-shadow:inset 0 0 24px rgba(0,0,0,.8)}
.tx::after{content:"";position:absolute;left:14px;top:-1px;width:3px;height:0;background:var(--blood);border-radius:0 0 2px 2px}
.tx.fresh::after{height:22px;transition:height 2.4s ease-in}
.tx .th{display:flex;justify-content:space-between;gap:6px;font-family:"Special Elite",ui-monospace,monospace;
  font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-bottom:6px}
.tx .tb{font-style:italic;font-size:18px;line-height:1.4;color:var(--ink);min-height:48px;word-break:break-word}
.tx .tb span{display:inline}
@media (prefers-reduced-motion:no-preference){.tx .tb.ink span{opacity:0;animation:inkin .7s ease-out forwards}}
@keyframes inkin{0%{opacity:0;color:#ff2a2a;filter:blur(3px)}40%{opacity:1;color:#c21a1a;filter:blur(0)}100%{opacity:1;color:var(--ink)}}
.tx .tf{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-top:8px;
  font-family:"Special Elite",ui-monospace,monospace;font-size:11px;letter-spacing:.1em;color:var(--dim)}
.tx .st{color:var(--blood)}
.tx.ex{opacity:.62}
.cfres{display:none;margin-top:12px;border:1px solid var(--line);background:#0b0606;padding:12px 14px}
.cfres.on{display:block}
.cfres .who{font-family:"Special Elite",ui-monospace,monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-bottom:4px}
.cfres .row2{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.cfres .smoke-note{font-size:14px;font-style:italic;color:var(--dim);margin-top:8px}
.cfdoor{display:none;margin-top:10px;border:1px solid var(--blood2);background:#100505;padding:12px 14px}
.cfdoor.on{display:block}
.cfdoor .dh{font-family:"Special Elite",ui-monospace,monospace;font-size:11px;letter-spacing:.12em;color:var(--dim)}
.cfdoor .amount{font-family:"Special Elite",ui-monospace,monospace;font-size:clamp(18px,5.6vw,26px);color:#f0e2cc;margin:4px 0}
.cfdoor .amount i{font-style:normal;color:#ff3a3a}
.cfdoor input{flex:1 1 160px;font-family:"Special Elite",ui-monospace,monospace;font-size:15px;background:#070303;color:var(--ink);border:1px solid var(--line);padding:8px}
.relicline{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;font-family:"Special Elite",ui-monospace,monospace;font-size:11px;letter-spacing:.05em;color:var(--dim);margin:8px 0 0;text-align:left}
.relicline .rl{display:flex;align-items:center;gap:7px;line-height:1.35}
.relicline canvas{width:34px;height:34px;border-radius:50%;image-rendering:pixelated;border:0;background:#000}
.relicline .rlnote{flex-basis:100%;text-align:center;margin-top:2px}
.relicline b{font-weight:400;color:#e8b050}
.tx .clock{font-family:"Special Elite",ui-monospace,monospace;font-size:11px;letter-spacing:.08em;color:#e8b050}
.tx .fed{font-family:"Special Elite",ui-monospace,monospace;font-size:10px;letter-spacing:.08em;color:var(--dim)}
.presets button{flex:0 0 auto}
#cf-more a{color:var(--ember);cursor:pointer;text-decoration:underline}
.tx .kamt{font-family:"Special Elite",ui-monospace,monospace;font-size:11px;letter-spacing:.08em;color:#ff5a3a}
.verdict{margin-top:8px;padding-top:6px;border-top:1px dashed #2a0e0e}
.reply-text{font-style:italic;font-size:16px;line-height:1.42;color:#c9bda9;margin:0}
.reply-text.think{color:#6a5a52;font-style:italic}
.vline{display:block;margin-top:7px;font-family:"Special Elite",ui-monospace,monospace;font-style:normal;
  font-size:14px;letter-spacing:.1em;color:#ff3a3a;text-shadow:0 0 8px rgba(164,0,15,.5)}
.seal{display:inline-block;margin-top:6px;font-family:"Special Elite",ui-monospace,monospace;font-style:normal;
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:2px 8px;border:1px solid}
.seal.absolved{color:#9a8f80;border-color:#3a342a}
.seal.condemned{color:#ff3a3a;border-color:var(--deep);box-shadow:0 0 12px rgba(164,0,15,.3)}
.seal.dismissed{color:#6a5a52;border-color:#2a1a1a;text-decoration:line-through}
.seal.formula{color:#ffcf6a;border-color:#7a5a1a;box-shadow:0 0 14px rgba(200,150,40,.35)}
.crisis{margin-top:8px;padding:8px 10px;border:1px solid #2b4b8f;background:rgba(20,30,60,.4);
  font-style:normal;font-size:15px;line-height:1.5;color:#cdd6e8}
.byline{font-family:"Special Elite",ui-monospace,monospace;font-style:normal;font-size:10px;
  letter-spacing:.12em;color:#5a4a44;margin-top:5px}
.confab{font-family:"Special Elite",ui-monospace,monospace;font-size:11px;letter-spacing:.1em;color:#6a1010;margin-top:4px}
.spark{position:absolute;width:3px;height:3px;background:#c21a1a;border-radius:50%;pointer-events:none;z-index:2}
@media (prefers-reduced-motion:no-preference){.spark{animation:spk 1.4s ease-out forwards}}
@keyframes spk{0%{opacity:1;transform:translate(0,0)}100%{opacity:0;transform:translate(var(--dx),-70px)}}
#jump{position:fixed;inset:0;z-index:50;background:#000;display:none;align-items:center;justify-content:center;
  flex-direction:column;gap:10px;padding:env(safe-area-inset-top,0px) 12px env(safe-area-inset-bottom,0px)}
#jump.on{display:flex}
#jump canvas{height:58vh;width:auto;max-width:94vw;image-rendering:pixelated;border:0;background:#000}
#jump #jcanvas{width:min(88vw,46vh);height:auto;max-width:none;image-rendering:auto;background:#000;border:0;
  box-shadow:0 0 60px rgba(164,0,15,.5)}
.jflash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:3}
@media (prefers-reduced-motion:no-preference){
.jflash.go{animation:jfl .24s ease-out 1}
#jcanvas.pop{animation:jpop .34s cubic-bezier(.2,1.6,.4,1) 1}
.jtitle{animation:tflick 2.2s infinite}}
@keyframes jfl{0%{opacity:0}25%{opacity:.8}100%{opacity:0}}
@keyframes jpop{0%{transform:scale(.45)}70%{transform:scale(1.1)}100%{transform:scale(1)}}
@keyframes tflick{0%,100%{opacity:1}8%{opacity:.4}9%{opacity:1}50%{opacity:.9}52%{opacity:.3}53%{opacity:1}}
.jinner{display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;z-index:2}
@media (prefers-reduced-motion:no-preference){.jinner.shake{animation:shk .12s steps(2) infinite}}
@keyframes shk{0%{transform:translate(0,0)}25%{transform:translate(-2px,1px)}50%{transform:translate(2px,-1px)}75%{transform:translate(-1px,-2px)}100%{transform:translate(1px,2px)}}
.jtitle{font-family:"Nosifer",serif;font-size:24px;color:var(--blood);text-align:center;letter-spacing:.06em;text-shadow:0 0 14px rgba(164,0,15,.6)}
.jamt{font-size:36px;color:#f0e2cc;line-height:1.1}
.jsig{font-family:"Special Elite",ui-monospace,monospace;font-size:13px;color:var(--dim);letter-spacing:.06em}
.jhint{font-family:"Special Elite",ui-monospace,monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#4a3a34}
footer{margin-top:30px;padding-top:12px;border-top:1px solid var(--line);font-size:15px;font-style:italic;color:var(--dim)}
footer strong{color:var(--ink);font-weight:400;font-style:normal}
code{font-family:"Special Elite",ui-monospace,monospace;font-size:13px;font-style:normal;background:#140808;padding:0 4px;border:1px solid var(--line);color:var(--ink)}
.title span{display:inline-block;transition:transform .18s}
h2 s{color:#5e0008;text-decoration:line-through;text-decoration-color:#a4000f;text-decoration-thickness:2px;
  font-size:.78em;margin-right:8px;opacity:.85}
h2 small{font-family:"Special Elite",ui-monospace,monospace;font-size:12px;color:#6a1010;font-style:normal;
  letter-spacing:.08em;margin-left:10px;white-space:normal;display:inline-block}
.stats{position:relative;clip-path:polygon(0 3%,6% 0,20% 2%,38% 0,55% 3%,72% 0,88% 2%,100% 0,99% 30%,100% 62%,99% 100%,
  80% 97%,63% 100%,44% 97%,26% 100%,9% 97%,0 100%,1% 64%,0 32%)}
.stain{position:absolute;pointer-events:none;border-radius:50%;z-index:2;
  background:radial-gradient(ellipse at 45% 45%,rgba(94,0,8,.5),rgba(70,0,6,.22) 45%,transparent 70%);filter:blur(1px)}
.tally{position:absolute;opacity:.45;pointer-events:none}
.scene::after{content:"";position:absolute;left:0;right:0;height:16%;top:-20%;pointer-events:none;
  background:linear-gradient(transparent,rgba(255,235,235,.05),transparent)}
@media (prefers-reduced-motion:no-preference){body:not(.nocrt) .scene::after{animation:roll 8s linear infinite}}
@keyframes roll{0%{top:-20%}100%{top:110%}}
#c{filter:saturate(.8) contrast(1.08)}
.creep{display:block;text-align:center;margin-top:14px;font-family:"Special Elite",ui-monospace,monospace;font-size:12px;
  letter-spacing:.3em;color:#3a1414;font-style:normal}

/* ---- navigation, page frame, form, waiting state, footer, mobile ---- */
.nav{display:flex;justify-content:center;gap:4px 18px;flex-wrap:wrap;margin:4px 0 14px;font-family:"Special Elite",ui-monospace,monospace;
  font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.nav a{color:var(--dim);text-decoration:none;padding:8px 2px;border-bottom:1px solid transparent}
.nav a:hover,.nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--blood)}
.hdr.compact{padding:12px 0 4px}
.hdr.compact .title{font-size:clamp(34px,9vw,52px)}
.hdr.compact .eyes{width:110px;height:32px}
a{color:var(--ember)}
a:hover{color:#e04a2a}
.tick a{color:var(--dim)}
.tick a:hover{color:var(--ink)}
.waiting{border:1px solid var(--blood2);background:#100505;padding:12px 14px;margin:14px 0 0;font-style:italic}
.waiting strong{font-style:normal;color:var(--ink);font-weight:400}
.placeholder{border:1px dashed #3a1414;padding:14px;color:var(--dim);font-style:italic;margin:14px 0}
.kinds{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 0}
.kinds label{display:flex;align-items:center;gap:6px;border:1px solid var(--line);padding:8px 10px;cursor:pointer;
  font-family:"Special Elite",ui-monospace,monospace;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);min-height:44px}
.kinds input{accent-color:var(--blood);margin:0}
.kinds label:has(input:checked){border-color:var(--blood);color:var(--ink);background:rgba(40,6,8,.55)}
.field{margin:10px 0 0}
.field label{display:block;font-family:"Special Elite",ui-monospace,monospace;font-size:12px;letter-spacing:.08em;color:var(--dim);margin-bottom:4px}
.field input,.field select{width:100%;font-family:"Special Elite",ui-monospace,monospace;font-size:16px;background:#070303;color:var(--ink);
  border:1px solid var(--line);padding:10px;min-height:44px}
.field input:focus,.field select:focus{outline:1px solid var(--blood)}
.panel{margin-top:12px;border:1px solid var(--line);background:#0b0606;padding:12px 14px}
.panel.door{border-color:var(--blood2);background:#100505}
.panel h3{font-family:"Special Elite",ui-monospace,monospace;font-weight:400;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:0 0 6px}
.amount-box{font-family:"Special Elite",ui-monospace,monospace;font-size:clamp(18px,5.6vw,26px);color:#f0e2cc;margin:4px 0;word-break:break-all}
.mono{font-family:"Special Elite",ui-monospace,monospace;font-size:14px;word-break:break-all;color:var(--ink)}
.quiet{font-size:15px;font-style:italic;color:var(--dim)}
.qr svg{width:220px;height:220px;max-width:100%;background:#fff;display:block;margin:12px 0}
.button-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:8px}
.button-row button,.button-row a.btn{min-height:44px}
.error{color:var(--sell);font-style:italic;font-size:15px;margin-top:6px}
.helpbox{border-color:#2b4b8f;background:rgba(20,30,60,.4);color:#cdd6e8;font-style:normal}
.helpbox a{color:#9fb6e8}
.antwort{font-style:italic;color:#c9bda9}
#burning li{display:block}
#burning li p{margin:0 0 4px}
#tiers li{justify-content:flex-start}
footer nav{display:flex;gap:6px 16px;flex-wrap:wrap;margin:8px 0;font-style:normal;font-family:"Special Elite",ui-monospace,monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
footer nav a{color:var(--dim);text-decoration:none}
footer nav a:hover{color:var(--ink)}
.rules-text section{margin:18px 0}
.rules-text h2{margin-top:10px}
[hidden]{display:none!important}
@media (max-width:700px){
  body{font-size:17px}
  .wrap{padding:8px 16px 40px}
  h2{font-size:22px}
  .button-row button,.button-row a.btn{flex:1 1 100%;text-align:center}
  .qr svg{width:180px;height:180px}
}
.tally-l{left:0;top:22px;width:70px;transform:rotate(-9deg)}
.tally-r{right:2px;top:44px;width:56px;transform:rotate(8deg)}
@media (max-width:700px){.tally-l,.tally-r{display:none}}

/* ---- confession, door, relics, wall ---- */
.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:6px 0 8px}
.tier-tag{display:flex;gap:10px;align-items:center;border:1px solid var(--line);padding:8px;cursor:pointer;background:#0b0606;min-height:44px}
.tier-tag input{position:absolute;opacity:0;pointer-events:none}
.tier-tag:has(input:checked){border-color:var(--blood);box-shadow:0 0 12px rgba(164,0,15,.35)}
.tier-tag:has(input:disabled){opacity:.45;cursor:not-allowed}
.tier-tag:has(input:focus-visible){outline:1px solid var(--blood)}
.tier-tag canvas{width:48px;height:48px;flex:none;image-rendering:pixelated;border:1px solid var(--line);border-radius:50%}
.tier-tag .sn{font-family:"Special Elite",ui-monospace,monospace;font-size:12px;letter-spacing:.08em;line-height:1.35;color:var(--dim)}
.tier-tag .sn b{display:block;font-weight:400;color:var(--ink);text-transform:uppercase;letter-spacing:.14em}
.tier-tag .sn i{font-style:normal;color:#e8b050}
.presets button[aria-pressed="true"]{border-color:var(--blood);color:var(--ink)}
.deadline{font-family:"Special Elite",ui-monospace,monospace;color:#ff3a3a;font-style:normal}
.pay-ways{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-start;margin:6px 0}
.way-wallet{flex:1 1 220px}
.way-qr{flex:0 0 auto}
#qrToggle{display:none}
.status{font-family:"Special Elite",ui-monospace,monospace;font-size:14px;letter-spacing:.04em}
.copied{border-color:var(--amber)!important;color:#e8b050!important}
#burning .tx .tb{white-space:pre-wrap}
#burning .tx .reply-text{margin-top:8px;font-size:15px}
#burning .tx .tf button{margin-left:auto}
.relicline .rl canvas{width:34px;height:34px}
@media (max-width:700px){
  .pay-ways{flex-direction:column}
  .way-wallet{flex:0 0 auto}
  .way-qr{order:2}
  #qrToggle{display:inline-block}
  .way-qr .qr{display:none}
  .way-qr.opened .qr{display:block}
}
/* ---- numbers ---- */
.ember-count{color:#ff3a3a;font-weight:400}
#feed li .sig a{color:var(--dim);text-decoration:none}
#feed li .sig a:hover{color:var(--ink);text-decoration:underline}
.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
/* Book of the Dead: the tier is part of the text; the prototype's suffixes (· Scaffold/· Inferno) are dropped. */
#feed li.big .sig::after,#feed li.mega .sig::after{content:none}
/* ---- relics page ---- */
.proof{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;margin:8px 0 12px;font-size:16px}
.proof dt{font-family:"Special Elite",ui-monospace,monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);padding-top:3px}
.proof dd{margin:0;overflow-wrap:anywhere}
.proof dd .mono,.proof dd a{word-break:break-all}
.proof .ok{color:#9fbf6a;font-style:normal}
.proof .wrong{color:#ff3a3a;font-style:normal}
.next-relic{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:16px;margin-top:10px}
.nx{text-align:center;cursor:pointer}
.nx canvas{width:100%;max-width:120px;aspect-ratio:1;border-radius:50%;margin:0 auto;border:1px solid var(--line)}
.nx .lb{font-family:"Special Elite",ui-monospace,monospace;font-size:12px;color:var(--dim);margin-top:6px;line-height:1.45}
.nx .lb b{font-weight:400;color:var(--ink);text-transform:uppercase;letter-spacing:.1em}
.nx .lb i{font-style:normal;color:#e8b050}
.nx .bar{height:3px;max-width:120px;margin:6px auto 0}
.nx .bar i{background:var(--blood)}
.tabs{display:flex;gap:6px 14px;flex-wrap:wrap;font-family:"Special Elite",ui-monospace,monospace;font-size:13px;letter-spacing:.08em;margin:8px 0 12px}
.tabs button{background:none;border:none;border-bottom:1px solid transparent;color:var(--dim);padding:6px 2px;min-height:36px;text-transform:none;letter-spacing:.08em;font-size:13px}
.tabs button:hover{background:none;color:var(--ink);box-shadow:none}
.tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--blood)}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:6px}
.gal canvas{width:100%;aspect-ratio:1;cursor:pointer;border-radius:4px;border:1px solid transparent}
.gal canvas.given{opacity:.3}
.gal canvas.upcoming{border-color:var(--blood)}
.gal canvas:focus-visible{outline:1px solid var(--blood)}
.pager{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;font-family:"Special Elite",ui-monospace,monospace;font-size:13px;color:var(--dim)}
.detail{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap;margin-top:16px;min-height:150px}
.detail canvas{width:150px;height:150px;border-radius:50%;image-rendering:pixelated;border:1px solid var(--line)}
.traits{font-family:"Special Elite",ui-monospace,monospace;font-size:13px;color:var(--ink);white-space:pre-wrap;line-height:1.55;flex:1 1 220px}
.traits a{color:var(--ember)}
.tw{overflow-x:auto}
table.rar,table.list{border-collapse:collapse;font-family:"Special Elite",ui-monospace,monospace;font-size:13px;width:100%}
table.rar td,table.list td,table.list th{padding:4px 10px 4px 0;vertical-align:top;color:var(--ink);text-align:left;border-bottom:1px solid rgba(90,20,20,.35)}
table.list th{font-weight:400;color:var(--dim);letter-spacing:.1em;text-transform:uppercase;font-size:11px}
table.rar td.n{text-align:right;color:var(--dim)}
table.rar td.f{color:var(--ink);padding-top:10px;text-transform:uppercase;letter-spacing:.1em;font-size:11px}
table.list a{color:var(--ember);text-decoration:none}
table.list a:hover{text-decoration:underline}
table.list .closed{color:#e8b050}
@media (max-width:700px){
  .proof{grid-template-columns:1fr}
  .proof dt{padding-top:6px}
  table.list thead{display:none}
  table.list tr{display:block;border-bottom:1px solid rgba(90,20,20,.35);padding:6px 0}
  table.list td{display:block;border:0;padding:1px 0}
  table.list td[data-k]::before{content:attr(data-k) ": ";color:var(--dim)}
}
/* ---- tithe page ---- */
.sums{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.sums .stat .v{font-size:19px}
table.list tr.alarm td{color:#ff5a3a}
table.list td.vacant{color:var(--dim)}
table.explain td:first-child{color:var(--ink);white-space:nowrap}
table.explain td{font-family:"IM Fell English",Georgia,serif;font-size:16px}
.altarwand .tx .tf a{color:var(--dim);text-decoration:none;font-size:11px}
.altarwand .tx .tf a:hover{color:var(--ink)}
.altarwand .tx .tf button{margin-left:auto}
@media (max-width:700px){
  table.list td.vacant{display:none}
  table.explain td:first-child{white-space:normal;font-weight:400}
}
/* ---- share card, no-JS hints ---- */
footer .addresses{font-size:14px;overflow-wrap:anywhere}
footer .addresses a{color:var(--dim)}
footer .addresses a:hover{color:var(--ink)}
/* mobile: small buttons too (Report, pages, effects, copy) get a touch target of at least 44 px. */
@media (max-width:700px){ button.mini{min-height:44px;padding:10px 12px} .row button,.row a.btn{min-height:44px} }
.rules-text h3{font-family:"Special Elite",ui-monospace,monospace;font-weight:400;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:18px 0 6px}
ul.list-text li{display:list-item;margin-left:18px;list-style:disc;justify-content:initial;font-size:16px}
