:root{
  --bg:#24272B; --bg2:#2E3237; --bg3:#1E2125;
  --ink:#ECEAE4; --soft:#9BA0A6;
  --edge:#454A50;
  --brass:#D9A441; --brass-d:#B5842E;
  --blue:#6FB0FF; --onbrass:#1B1D20;
  --hi:rgba(255,255,255,.09);
  --disp:'Bricolage Grotesque',system-ui,sans-serif;
  --serif:'Newsreader',Georgia,serif;
  --mono:'Space Mono','Courier New',monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;color:var(--ink);font-family:var(--serif);
  font-size:18px;line-height:1.5;overflow-x:hidden;
  background:var(--bg);
  background-image:repeating-linear-gradient(90deg,#ffffff07 0 1px,transparent 1px 3px);
}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}

/* brushed panel helper */
.plate{background:var(--bg2);border:2px solid var(--edge);
  box-shadow:inset 0 1px 0 var(--hi),0 3px 8px #0006;}
.groove{border-top:1px solid var(--hi);border-bottom:1px solid #00000066}

/* embossed logo/heads */
.emb{color:var(--ink);text-shadow:0 1px 0 var(--hi),0 -1px 0 #00000080}

/* ---------- demo switcher ---------- */
.demobar{position:sticky;top:0;z-index:500;display:flex;align-items:center;gap:14px;
  background:var(--bg3);color:var(--ink);padding:7px 18px;font-family:var(--mono);font-size:12px;
  letter-spacing:.04em;border-bottom:1px solid #000}
.demobar b{color:var(--brass);text-transform:uppercase;letter-spacing:.12em}
.demobar .sw{display:flex;gap:6px;margin-left:auto}
.demobar .sw button{background:transparent;border:1px solid var(--edge);color:var(--soft);
  padding:4px 12px;border-radius:2px;font-family:var(--mono);font-size:12px;transition:.15s}
.demobar .sw button:hover{border-color:var(--brass);color:var(--ink)}
.demobar .sw button.on{background:var(--brass);border-color:var(--brass);color:var(--onbrass);font-weight:700}

.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.screen{display:none}
.screen.on{display:block}

/* ---------- masthead ---------- */
header.mast{padding:26px 0 18px;border-bottom:2px solid var(--edge);box-shadow:0 1px 0 var(--hi)}
.mast-top{display:flex;align-items:flex-start;gap:24px;flex-wrap:wrap}
.brand{flex:1 1 auto;min-width:260px}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--brass);margin:0 0 4px 3px}
.logo{font-family:var(--disp);font-weight:800;font-size:clamp(46px,8vw,92px);line-height:.82;
  letter-spacing:-.03em;margin:0;text-transform:lowercase}
.logo span{color:var(--ink);text-shadow:0 2px 0 var(--hi),0 -1px 0 #00000090}
.logo .two{color:var(--brass);text-shadow:0 2px 0 #00000060}
.tag{font-family:var(--mono);font-size:12.5px;color:var(--soft);margin:10px 0 0 3px;max-width:42ch;line-height:1.45}

/* nick plate w/ bolts */
.stamp{flex:0 0 auto;align-self:flex-start;min-width:250px;max-width:290px;padding:15px 18px 13px;
  border:2px solid var(--brass-d);color:var(--ink);
  background:
   radial-gradient(circle 3.5px at 10px 10px,#c9ccd0,#5c6065 72%,transparent 74%),
   radial-gradient(circle 3.5px at calc(100% - 10px) 10px,#c9ccd0,#5c6065 72%,transparent 74%),
   radial-gradient(circle 3.5px at 10px calc(100% - 10px),#c9ccd0,#5c6065 72%,transparent 74%),
   radial-gradient(circle 3.5px at calc(100% - 10px) calc(100% - 10px),#c9ccd0,#5c6065 72%,transparent 74%),
   var(--bg3);
  background-repeat:no-repeat;
  box-shadow:inset 0 1px 0 var(--hi),0 4px 10px #0007;}
.stamp .hi{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--soft)}
.stamp .nick{font-family:var(--mono);font-weight:700;font-size:21px;line-height:1.05;text-transform:uppercase;
  margin:2px 0 6px;color:var(--brass);word-break:break-word;text-shadow:0 1px 0 #000}
.stamp .timer{font-family:var(--mono);font-size:11.5px;color:var(--soft);margin-bottom:11px}
.stamp .timer b{color:var(--blue);font-size:13px}
.stamp .acts{display:flex;gap:7px;flex-wrap:wrap}
.btn{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.02em;padding:8px 12px;
  border:2px solid var(--edge);background:var(--bg2);color:var(--ink);transition:.12s;text-transform:lowercase;
  box-shadow:inset 0 1px 0 var(--hi)}
.btn:hover{border-color:var(--brass);transform:translateY(-1px)}
.btn.pink{background:var(--brass);border-color:var(--brass-d);color:var(--onbrass)}
.btn.pink:hover{box-shadow:inset 0 1px 0 #fff6,0 3px 8px #0007}

/* manifesto */
.manifesto{border-bottom:2px solid var(--edge);box-shadow:0 1px 0 var(--hi);padding:16px 0;
  display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.manifesto p{font-family:var(--disp);font-weight:700;font-size:clamp(19px,2.6vw,28px);line-height:1.08;
  margin:0;letter-spacing:-.01em;flex:1 1 340px}
.manifesto p em{color:var(--brass);font-style:normal}
.manifesto .throw{font-family:var(--mono);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;
  background:var(--brass);color:var(--onbrass);padding:12px 18px;white-space:nowrap;transition:.12s;
  border:2px solid var(--brass-d);box-shadow:inset 0 1px 0 #fff6}
.manifesto .throw:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 #fff6,0 4px 10px #0007}

/* feed */
.cols{display:grid;grid-template-columns:1fr 320px;gap:36px;padding:28px 0 60px}
.sec-h{display:flex;align-items:baseline;gap:10px;margin:0 0 16px;font-family:var(--mono);font-size:12px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--soft)}
.sec-h .n{color:var(--brass);font-weight:700}
.sec-h .ln{flex:1;height:2px;background:var(--edge);align-self:center;box-shadow:0 1px 0 var(--hi)}

.card{border:2px solid var(--edge);background:var(--bg2);padding:18px 20px 16px;margin-bottom:20px;
  position:relative;transition:.13s;box-shadow:inset 0 1px 0 var(--hi),0 2px 6px #0005}
.card:hover{transform:translate(-2px,-2px);border-color:var(--brass-d);box-shadow:inset 0 1px 0 var(--hi),6px 6px 0 #00000055}
.card .meta{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;color:var(--soft);margin-bottom:8px;flex-wrap:wrap}
.card .badge{background:var(--brass);color:var(--onbrass);padding:1px 7px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.card .badge.blue{background:var(--blue)}
.card h3{font-family:var(--disp);font-weight:800;font-size:26px;line-height:1.02;margin:0 0 8px;letter-spacing:-.02em;color:var(--ink)}
.card:hover h3{color:var(--brass)}
.card .excerpt{font-size:16.5px;line-height:1.45;color:var(--soft);margin:0 0 12px}
.card .foot{display:flex;align-items:center;gap:16px;font-family:var(--mono);font-size:12px;
  border-top:1px solid #00000066;box-shadow:0 -1px 0 var(--hi);padding-top:10px}
.card .foot .who{display:flex;align-items:center;gap:7px}
.ava{width:26px;height:26px;border:2px solid var(--brass-d);border-radius:50%;display:grid;place-items:center;
  font-family:var(--mono);font-weight:700;font-size:12px;flex:0 0 auto;color:var(--brass);background:var(--bg3);
  box-shadow:inset 0 1px 0 var(--hi)}
.card .foot .stat{color:var(--soft)}
.card .foot .stat b{color:var(--ink)}
.card .foot .heat{color:var(--brass);font-weight:700;margin-left:auto}

/* sidebar */
aside .box{border:2px solid var(--edge);background:var(--bg2);margin-bottom:24px;
  box-shadow:inset 0 1px 0 var(--hi),0 2px 6px #0005}
aside .box>h4{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin:0;
  padding:10px 14px;background:var(--bg3);color:var(--ink);display:flex;justify-content:space-between;
  border-bottom:1px solid #000;box-shadow:0 1px 0 var(--hi)}
aside .box>h4 span{color:var(--brass)}
.rank{display:flex;align-items:baseline;gap:11px;padding:11px 14px;border-bottom:1px solid #00000055}
.rank:last-child{border-bottom:0}
.rank .pos{font-family:var(--disp);font-weight:800;font-size:24px;line-height:1;color:var(--brass);width:26px;flex:0 0 auto;text-shadow:0 1px 0 #000}
.rank .pos.p1{color:var(--blue)}
.rank .rt{flex:1}
.rank .rt .t{font-family:var(--disp);font-weight:700;font-size:15.5px;line-height:1.05;color:var(--ink)}
.rank .rt .b{font-family:var(--mono);font-size:11px;color:var(--soft);margin-top:2px}
.rank .rt .b .fire{color:var(--brass)}

.quip{padding:13px 14px;border-bottom:1px solid #00000055}
.quip:last-child{border-bottom:0}
.quip .txt{font-family:var(--serif);font-style:italic;font-size:16px;line-height:1.35;color:var(--ink)}
.quip .txt::before{content:"\00AB";color:var(--brass);font-style:normal;font-weight:700}
.quip .txt::after{content:"\00BB";color:var(--brass);font-style:normal;font-weight:700}
.quip .by{font-family:var(--mono);font-size:11px;color:var(--soft);margin-top:6px;display:flex;justify-content:space-between}
.quip .by .up{color:var(--blue);font-weight:700}

.chatter{padding:12px 14px;display:flex;flex-wrap:wrap;gap:7px}
.chip{font-family:var(--mono);font-size:11px;border:1.5px solid var(--edge);padding:3px 8px;background:var(--bg3);
  display:flex;align-items:center;gap:5px;color:var(--ink)}
.chip .dot{width:6px;height:6px;border-radius:50%;background:var(--brass);animation:blink 1.4s infinite}
@keyframes blink{50%{opacity:.25}}

/* ---------- STORY: light steel plate ---------- */
#story{background:var(--bg);padding-top:34px;padding-bottom:60px}
.back{font-family:var(--mono);font-size:12px;color:var(--blue);margin:0 auto 20px;display:block;max-width:760px}
.back:hover{color:var(--brass)}
.plate-doc{
  --pink-x:0;
  max-width:760px;margin:0 auto;padding:44px 46px 40px;position:relative;
  background:linear-gradient(180deg,#EEECE6,#E3E1DA);
  background-image:repeating-linear-gradient(90deg,#00000008 0 1px,transparent 1px 3px),linear-gradient(180deg,#EEECE6,#E3E1DA);
  border:2px solid #B4B0A8;color:#1B1E21;
  box-shadow:inset 0 1px 0 #ffffffaa,0 10px 30px #0008;
}
/* corner bolts on the doc plate */
.plate-doc::before,.plate-doc::after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;
  background:radial-gradient(circle at 32% 30%,#eef0f2,#7d8288 72%,#4a4e53);box-shadow:0 1px 2px #0006}
.plate-doc::before{left:14px;top:14px;box-shadow:0 1px 2px #0006, calc(100% + 690px) 0 0 0 transparent}
/* two visible bolts top; add bottom via extra spans */
.pd-bolt{position:absolute;width:9px;height:9px;border-radius:50%;
  background:radial-gradient(circle at 32% 30%,#eef0f2,#7d8288 72%,#4a4e53);box-shadow:0 1px 2px #0006}
.pd-bolt.tr{right:14px;top:14px}.pd-bolt.bl{left:14px;bottom:14px}.pd-bolt.br{right:14px;bottom:14px}
.plate-doc .kicker{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#A8791B;margin-bottom:8px}
.plate-doc h1{font-family:var(--disp);font-weight:800;font-size:clamp(32px,5.5vw,50px);line-height:.94;letter-spacing:-.03em;margin:0 0 18px;color:#17191C}
.plate-doc .byline{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid #00000030;border-bottom:1px solid #00000030;font-family:var(--mono);font-size:12.5px;flex-wrap:wrap}
.plate-doc .byline .ava{width:34px;height:34px;border-color:#A8791B;color:#8A5F12;background:#F0EEE8}
.plate-doc .byline .who b{font-family:var(--disp);font-size:16px;color:#17191C}
.plate-doc .byline .who span{color:#565B60}
.plate-doc .byline .acts{margin-left:auto;display:flex;gap:8px}
.plate-doc .byline .btn{background:#E4E2DC;color:#1B1E21;border-color:#B4B0A8;box-shadow:inset 0 1px 0 #fff}
.plate-doc .byline .btn.pink{background:#B98A2E;color:#1B1509;border-color:#8A5F12}
.plate-doc .body{font-size:20px;line-height:1.66;margin-top:28px;color:#20232A}
.plate-doc .body p{margin:0 0 22px}
.plate-doc .body p.drop::first-letter{font-family:var(--disp);font-weight:800;float:left;font-size:76px;line-height:.72;padding:6px 12px 0 0;color:#A8791B}
.figrow{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:26px 0}
.fig{border:2px solid #B4B0A8;background:#D6D3CC;aspect-ratio:4/3;position:relative;overflow:hidden;box-shadow:inset 0 1px 0 #fff8}
.fig .ph{position:absolute;inset:0;background:repeating-linear-gradient(45deg,#a8a49b22 0 10px,transparent 10px 20px)}
.fig .tag{position:absolute;left:0;top:0;background:#17191C;color:var(--brass);font-family:var(--mono);font-size:11px;padding:3px 8px;font-weight:700}
.fig .cap{position:absolute;left:0;right:0;bottom:0;background:#17191ccc;color:#e9eaec;font-family:var(--mono);font-size:11px;padding:6px 8px}
.mdhint{font-family:var(--mono);font-size:11.5px;color:#3C4045;background:#E6E4DE;border:1px dashed #B4B0A8;padding:8px 11px;margin:26px 0}
.mdhint code{color:#8A5F12;font-weight:700}

.comments{margin-top:44px;border-top:2px solid #00000030;padding-top:22px}
.comments h3{font-family:var(--disp);font-weight:800;font-size:26px;margin:0 0 4px;color:#17191C}
.comments h3 .c{font-family:var(--mono);font-size:15px;color:#A8791B}
.comments .sub{font-family:var(--mono);font-size:12px;color:#565B60;margin-bottom:20px}
.cbox{display:flex;gap:12px;margin-bottom:22px}
.cbox textarea{flex:1;font-family:var(--serif);font-size:16px;padding:11px 13px;border:2px solid #B4B0A8;background:#EAE8E2;color:#1B1E21;resize:vertical;min-height:60px}
.cbox textarea::placeholder{color:#6a6f74;font-style:italic}
.cbox .ava{background:#F0EEE8;border-color:#A8791B;color:#8A5F12}
.cm{display:flex;gap:12px;padding:16px 0;border-top:1px solid #00000022}
.cm .ava{background:#F0EEE8}
.cm .body{flex:1}
.cm .head{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;margin-bottom:5px;flex-wrap:wrap}
.cm .head b{font-family:var(--disp);font-size:15px;color:#17191C}
.cm .head .t{color:#565B60}
.cm .head .au{background:#B98A2E;color:#1B1509;font-family:var(--mono);font-size:10px;padding:0 6px;font-weight:700}
.cm .txt{font-size:16.5px;line-height:1.42;color:#20232A}
.cm .react{display:flex;gap:14px;margin-top:8px;font-family:var(--mono);font-size:12px;color:#565B60}
.cm .react span:hover{color:#A8791B;cursor:pointer}
.cm.reply{margin-left:46px}

/* ---------- PROFILE ---------- */
#prof{background:var(--bg);padding-bottom:60px}
.prof-hero{border-bottom:2px solid var(--edge);box-shadow:0 1px 0 var(--hi);padding:40px 0 24px;display:flex;gap:28px;align-items:flex-end;flex-wrap:wrap}
.prof-ava{width:120px;height:120px;flex:0 0 auto;border-radius:50%;border:3px solid var(--brass-d);
  background:
   radial-gradient(circle 4px at 14px 14px,#c9ccd0,#5c6065 72%,transparent 74%),
   radial-gradient(circle 4px at calc(100% - 14px) 14px,#c9ccd0,#5c6065 72%,transparent 74%),
   radial-gradient(circle 4px at 14px calc(100% - 14px),#c9ccd0,#5c6065 72%,transparent 74%),
   radial-gradient(circle 4px at calc(100% - 14px) calc(100% - 14px),#c9ccd0,#5c6065 72%,transparent 74%),
   var(--bg3);
  background-repeat:no-repeat;color:var(--brass);display:grid;place-items:center;
  font-family:var(--disp);font-weight:800;font-size:52px;text-shadow:0 1px 0 #000;
  box-shadow:inset 0 2px 0 var(--hi),0 6px 16px #0008}
.prof-id{flex:1 1 300px}
.prof-id .who-k{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass)}
.prof-id h1{font-family:var(--disp);font-weight:800;font-size:clamp(34px,6vw,58px);line-height:.9;letter-spacing:-.03em;margin:4px 0 10px;color:var(--ink);text-shadow:0 2px 0 var(--hi),0 -1px 0 #000}
.prof-id .bio{font-size:17px;color:var(--soft);max-width:52ch;margin:0}
.prof-stats{display:flex;border:2px solid var(--edge);flex:0 0 auto;align-self:stretch;box-shadow:inset 0 1px 0 var(--hi)}
.prof-stats .s{padding:14px 20px;text-align:center;border-right:1px solid #000;box-shadow:1px 0 0 var(--hi);background:var(--bg2)}
.prof-stats .s:last-child{border-right:0;box-shadow:none}
.prof-stats .s .v{font-family:var(--disp);font-weight:800;font-size:30px;line-height:1;color:var(--brass);text-shadow:0 1px 0 #000}
.prof-stats .s:nth-child(2) .v{color:var(--blue)}
.prof-stats .s .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);margin-top:4px}
.prof-body{display:grid;grid-template-columns:1fr 340px;gap:36px;padding:30px 0 0}
#prof .cbox{padding:14px}
#prof .cbox textarea{background:var(--bg3);border-color:var(--edge);color:var(--ink);min-height:52px}
#prof .cbox textarea::placeholder{color:var(--soft)}

@media(max-width:860px){
  .cols,.prof-body{grid-template-columns:1fr}
  aside{order:2}
  .stamp{width:100%;max-width:none}
  .prof-stats{width:100%}
  .plate-doc{padding:32px 22px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
