/* ============================================================
   rodac — a dark, server-rack themed Ghost theme
   Palette / type system ported from rod.ac
   ============================================================ */

:root{
  --bg:#080a0d; --fg:#f2f5f8; --dim:#8b94a1; --dimmer:#525b67; --line:#242a33;
  --gold:var(--ghost-accent-color, #e3b23c);
  --card-bg-a:#1a1f26; --card-bg-b:#101418;
  --panel-a:#2c333c; --panel-b:#1e242b; --panel-c:#161b21;
  --maxw:1280px;
  --pad:clamp(20px,5vw,54px);
  --gh-font-heading:var(--display-font, 'Sora', sans-serif);
  --gh-font-body:var(--body-font, 'Inter', sans-serif);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{background:var(--bg);scroll-behavior:smooth;}
body{background:var(--bg);color:var(--fg);font-family:var(--gh-font-body);overflow-x:hidden;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column;}
a{color:inherit;text-decoration:none;}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #fff;outline-offset:3px;border-radius:4px;}
img{max-width:100%;height:auto;display:block;}
::selection{background:var(--gold);color:#140f00;}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace;}
.display{font-family:var(--gh-font-heading);}
.site-main{flex:1;position:relative;z-index:2;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);}

/* ---------- decorative backdrop ---------- */
.room{position:fixed;inset:0;z-index:0;pointer-events:none;}
.room .haze{position:absolute;inset:0;
  background:radial-gradient(60% 45% at 74% 34%,rgba(120,150,190,.10),transparent 70%),
             radial-gradient(50% 40% at 20% 70%,rgba(60,90,130,.07),transparent 70%);}
.room .grid{position:absolute;inset:0;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);
  background-size:70px 70px;
  mask-image:radial-gradient(ellipse 75% 60% at 50% 40%,#000 10%,transparent 85%);}
.room .noise{position:absolute;inset:0;opacity:.16;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;left:0;right:0;z-index:90;display:flex;justify-content:space-between;align-items:center;
  padding:20px var(--pad);backdrop-filter:blur(12px);
  background:linear-gradient(to bottom,rgba(8,10,13,.92),rgba(8,10,13,.7));
  border-bottom:1px solid var(--line);}
.brandmark{display:flex;align-items:center;gap:10px;font-family:'Sora',sans-serif;font-weight:700;font-size:1rem;flex:none;color:var(--fg);}
.brandmark img.logo{height:22px;width:auto;display:block;}
.site-nav{display:flex;gap:clamp(14px,3vw,30px);align-items:center;}
.site-nav a,.site-nav button{font-size:.82rem;font-weight:500;color:var(--dim);transition:color .2s;white-space:nowrap;}
.site-nav a:hover,.site-nav button:hover{color:var(--fg);}
.site-nav .stat{font-family:'JetBrains Mono',monospace;font-size:.66rem;color:var(--dimmer);letter-spacing:.06em;display:none;}
@media(min-width:820px){.site-nav .stat{display:inline;}}
.site-nav .subscribe-link{color:var(--gold);font-weight:700;}
.site-nav .subscribe-link:hover{color:var(--gold);opacity:.8;}
.btn-search{background:none;border:0;cursor:pointer;padding:0;display:flex;}
.nav-toggle{display:none;background:none;border:0;color:var(--fg);cursor:pointer;padding:4px;}
@media(max-width:760px){
  .site-nav{position:fixed;top:63px;left:0;right:0;bottom:0;background:var(--bg);flex-direction:column;
    align-items:flex-start;padding:24px var(--pad);gap:20px;transform:translateX(100%);transition:transform .3s ease;overflow-y:auto;}
  .site-nav.open{transform:translateX(0);}
  .site-nav a,.site-nav button{font-size:1.1rem;}
  .nav-toggle{display:block;}
}

/* ---------- hero ---------- */
.hero{padding:76px 0 40px;position:relative;z-index:2;}
.hero-inner{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);}
.kick{font-family:'JetBrains Mono',monospace;font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);}
.hero h1{margin-top:16px;font-family:'Sora',sans-serif;font-weight:800;font-size:clamp(2.4rem,6vw,4.4rem);line-height:.98;letter-spacing:-.03em;
  background:linear-gradient(180deg,#fff,#9fb0c4);-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero p{margin-top:18px;color:var(--dim);font-size:clamp(1rem,1.6vw,1.1rem);line-height:1.62;max-width:52ch;}

/* ---------- section heads ---------- */
.section-head{padding:56px 0 26px;position:relative;z-index:2;}
.section-head-inner{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);}
.section-head h2{margin-top:9px;font-family:'Sora',sans-serif;font-weight:700;font-size:clamp(1.5rem,2.9vw,2.1rem);letter-spacing:-.02em;}
.section-head p{margin-top:10px;color:var(--dim);font-size:.94rem;max-width:52ch;line-height:1.6;}
.section-head .rack-tag{font-family:'JetBrains Mono',monospace;font-size:.62rem;letter-spacing:.16em;color:var(--dimmer);text-transform:uppercase;}

/* ---------- post card grid ---------- */
.post-grid{position:relative;z-index:2;padding:0 0 30px;}
.post-grid-inner{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);display:grid;gap:20px;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));}
.pcard{--pc:var(--gold);--pcg:rgba(227,178,60,.45);--pcf:rgba(227,178,60,.14);
  position:relative;border-radius:14px;overflow:hidden;padding:0;border:1px solid rgba(255,255,255,.07);
  display:flex;flex-direction:column;background:linear-gradient(165deg,var(--card-bg-a),var(--card-bg-b));
  box-shadow:0 24px 60px -18px rgba(0,0,0,.85);
  opacity:0;animation:cardin .6s ease forwards;}
.pcard-body{padding:clamp(16px,2vw,22px);display:flex;flex-direction:column;flex:1;position:relative;z-index:1;}
.post-grid-inner .pcard:nth-child(1){animation-delay:.02s;}
.post-grid-inner .pcard:nth-child(2){animation-delay:.08s;}
.post-grid-inner .pcard:nth-child(3){animation-delay:.14s;}
.post-grid-inner .pcard:nth-child(4){animation-delay:.2s;}
.post-grid-inner .pcard:nth-child(5){animation-delay:.26s;}
.post-grid-inner .pcard:nth-child(6){animation-delay:.32s;}
.post-grid-inner .pcard:nth-child(5n+1){--pc:#e3b23c;--pcg:rgba(227,178,60,.45);--pcf:rgba(227,178,60,.14);}
.post-grid-inner .pcard:nth-child(5n+2){--pc:#4b6fe0;--pcg:rgba(75,111,224,.45);--pcf:rgba(75,111,224,.14);}
.post-grid-inner .pcard:nth-child(5n+3){--pc:#1bd860;--pcg:rgba(27,216,96,.4);--pcf:rgba(27,216,96,.13);}
.post-grid-inner .pcard:nth-child(5n+4){--pc:#e05a3c;--pcg:rgba(224,90,60,.45);--pcf:rgba(224,90,60,.14);}
.post-grid-inner .pcard:nth-child(5n+5){--pc:#6cd634;--pcg:rgba(108,214,52,.4);--pcf:rgba(108,214,52,.13);}
.pcard::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:var(--pc);opacity:.9;z-index:2;}
.pcard::after{content:'';position:absolute;left:50%;top:0;width:70%;height:110px;transform:translateX(-50%);
  background:radial-gradient(ellipse at top,var(--pcg),transparent 70%);opacity:.45;pointer-events:none;}
.pcard .row{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:.63rem;font-weight:700;letter-spacing:.08em;
  padding:5px 10px;border-radius:20px;text-transform:uppercase;white-space:nowrap;
  background:var(--pcf);color:var(--pc);box-shadow:inset 0 0 0 1px var(--pcg);}
.pill .d{width:5px;height:5px;border-radius:50%;background:var(--pc);box-shadow:0 0 6px var(--pc);}
.pill.hot .d{animation:hotdot 1.15s ease-in-out infinite;}
.pill.mute{background:rgba(255,255,255,.05);color:var(--dim);box-shadow:inset 0 0 0 1px rgba(255,255,255,.09);}
.pill.mute .d{background:var(--dimmer);box-shadow:none;}
.pcard h3{margin-top:14px;font-family:'Sora',sans-serif;font-weight:700;font-size:clamp(1rem,1.55vw,1.32rem);letter-spacing:-.015em;position:relative;z-index:1;}
.pcard h3 a{color:var(--fg);}
.pcard p{margin-top:6px;color:var(--dim);font-size:clamp(.76rem,.95vw,.87rem);line-height:1.5;position:relative;z-index:1;}
.pcard .go{margin-top:13px;align-self:flex-start;display:inline-flex;align-items:center;gap:7px;font-weight:700;
  font-size:.78rem;color:var(--fg);position:relative;z-index:1;transition:transform .2s,box-shadow .2s;}
.pcard .go:hover{transform:translateX(3px);color:var(--pc);}
.pcard .note{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08);
  font-family:'JetBrains Mono',monospace;font-size:.66rem;color:var(--dimmer);letter-spacing:.04em;
  position:relative;z-index:1;display:flex;align-items:center;gap:8px;}
.pcard.featured{grid-column:span 2;}
@media(max-width:640px){.pcard.featured{grid-column:span 1;}}

.empty-state{padding:60px var(--pad);text-align:center;color:var(--dim);position:relative;z-index:2;}

/* ---------- pagination ---------- */
.pagination{display:flex;justify-content:center;gap:14px;padding:20px var(--pad) 70px;position:relative;z-index:2;}
.pagination a,.pagination span{font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:.06em;
  padding:9px 16px;border-radius:8px;background:linear-gradient(180deg,#20262e,#161b21);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1),inset 0 0 0 1px rgba(255,255,255,.05);color:var(--dim);}
.pagination a:hover{color:var(--fg);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),inset 0 0 0 1px var(--gold);}
.pagination .page-number{color:var(--dimmer);}

/* ---------- single post ---------- */
.post-head{padding:96px var(--pad) 30px;position:relative;z-index:2;}
.post-head-inner{max-width:74ch;margin:0 auto;}
.post-head .kick{display:flex;align-items:center;gap:10px;}
.post-head h1{margin-top:16px;font-family:'Sora',sans-serif;font-weight:800;font-size:clamp(2.6rem,6.6vw,4.4rem);line-height:1.0;letter-spacing:-.03em;}
.post-head .excerpt{margin-top:16px;color:var(--dim);font-size:1.05rem;line-height:1.6;}
.post-meta{margin-top:26px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  font-family:'JetBrains Mono',monospace;font-size:.74rem;color:var(--dimmer);letter-spacing:.03em;}
.post-meta .sep{opacity:.5;}

.post-feature{max-width:1100px;margin:0 auto;padding:0 var(--pad) 10px;position:relative;z-index:2;}
.post-feature img{width:100%;border-radius:14px;box-shadow:0 30px 60px -24px rgba(0,0,0,.9),inset 0 0 0 1px rgba(255,255,255,.07);}

.post-content{max-width:74ch;margin:36px auto 0;padding:0 var(--pad) 20px;position:relative;z-index:2;
  font-size:1.06rem;line-height:1.78;color:#d7dce3;}
.post-content > *{margin-bottom:1.4em;}
.post-content .kg-width-wide{max-width:1100px;margin-left:50%;transform:translateX(-50%);width:calc(100% - var(--pad) * 2);}
.post-content .kg-width-full{max-width:none;margin-left:50%;transform:translateX(-50%);width:100vw;}
.post-content .kg-width-full img{border-radius:0;}
.post-content h1,.post-content h2,.post-content h3,.post-content h4{font-family:'Sora',sans-serif;font-weight:700;color:var(--fg);
  letter-spacing:-.015em;margin-top:1.6em;line-height:1.25;}
.post-content h1{font-size:1.9rem;} .post-content h2{font-size:1.55rem;} .post-content h3{font-size:1.25rem;} .post-content h4{font-size:1.08rem;}
.post-content p{}
.post-content a{color:var(--gold);text-decoration:underline;text-decoration-color:rgba(227,178,60,.35);text-underline-offset:3px;}
.post-content a:hover{text-decoration-color:var(--gold);}
.post-content strong{color:var(--fg);}
.post-content ul,.post-content ol{padding-left:1.4em;}
.post-content li{margin-bottom:.4em;}
.post-content blockquote{border-left:3px solid var(--gold);padding:.2em 0 .2em 1.2em;color:var(--dim);font-style:italic;}
.post-content hr{border:0;border-top:1px solid var(--line);margin:2.4em 0;}
.post-content figure{margin:0 0 1.4em;}
.post-content figcaption{margin-top:.6em;font-size:.82rem;color:var(--dimmer);text-align:center;}
.post-content code{font-family:'JetBrains Mono',monospace;font-size:.86em;background:rgba(227,178,60,.1);color:#f2d99a;
  padding:.15em .4em;border-radius:4px;}
.post-content pre{font-family:'JetBrains Mono',monospace;font-size:.84rem;line-height:1.6;background:linear-gradient(180deg,#12161c,#0a0d11);
  border-radius:10px;padding:18px 20px;overflow-x:auto;box-shadow:inset 0 0 0 1px var(--line);}
.post-content pre code{background:none;padding:0;color:#c7d0dc;}
.post-content table{width:100%;border-collapse:collapse;font-size:.92rem;}
.post-content th,.post-content td{padding:.6em .8em;border-bottom:1px solid var(--line);text-align:left;}
.post-content th{color:var(--fg);font-weight:700;}
.post-content img{border-radius:10px;}
.post-content .kg-callout-card{display:flex;gap:12px;padding:16px 18px;border-radius:10px;background:rgba(227,178,60,.08);
  box-shadow:inset 0 0 0 1px rgba(227,178,60,.25);}
.post-content .kg-bookmark-card a{display:flex;border-radius:10px;overflow:hidden;min-height:110px;
  background:linear-gradient(165deg,var(--card-bg-a),var(--card-bg-b));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);text-decoration:none;transition:box-shadow .2s;}
.post-content .kg-bookmark-card a:hover{box-shadow:inset 0 0 0 1px var(--gold);
  background:linear-gradient(165deg,var(--card-bg-a),var(--card-bg-b)) !important;}
.post-content .kg-bookmark-content{padding:16px 18px;flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center;}
.post-content .kg-bookmark-title{color:var(--fg);font-weight:700;font-size:.95rem;}
.post-content .kg-bookmark-description{color:var(--dim);font-size:.83rem;margin-top:6px;line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.post-content .kg-bookmark-metadata{margin-top:12px;display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--dimmer);}
.post-content .kg-bookmark-icon{width:18px;height:18px;border-radius:3px;}
.post-content .kg-bookmark-thumbnail{flex:0 0 auto;width:180px;}
.post-content .kg-bookmark-thumbnail img{width:100%;height:100%;object-fit:cover;border-radius:0;}
@media(max-width:560px){
  .post-content .kg-bookmark-card a{flex-direction:column;}
  .post-content .kg-bookmark-thumbnail{width:100%;height:130px;}
}

.post-tags{max-width:74ch;margin:0 auto;padding:0 var(--pad) 10px;display:flex;gap:8px;flex-wrap:wrap;position:relative;z-index:2;}
.post-tags a{font-family:'JetBrains Mono',monospace;font-size:.68rem;letter-spacing:.06em;color:var(--dim);
  padding:6px 12px;border-radius:20px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);}
.post-tags a:hover{color:var(--fg);box-shadow:inset 0 0 0 1px var(--gold);}

/* ---------- related posts ---------- */
.related{position:relative;z-index:2;padding:60px var(--pad) 10px;}
.related-inner{max-width:74ch;margin:0 auto;}
.related h3.section-title{font-family:'JetBrains Mono',monospace;font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;}
.related-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));}

/* ---------- subscribe / PDU panel ---------- */
.subscribe-panel{position:relative;z-index:2;padding:60px 0;}
.subscribe-panel-inner{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);}
.pdu-card{border-radius:14px;padding:clamp(28px,4vw,50px);text-align:center;position:relative;overflow:hidden;
  background:linear-gradient(180deg,var(--panel-a),var(--panel-b) 22%,var(--panel-c));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 -2px 4px rgba(0,0,0,.7),0 30px 60px -24px rgba(0,0,0,.9);}
.pdu-card::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:var(--gold);opacity:.85;}
.pdu-card .pled{width:6px;height:6px;border-radius:50%;background:#4ade80;box-shadow:0 0 8px #4ade80;display:inline-block;margin-right:8px;animation:pip 2.4s ease-in-out infinite;}
.pdu-card h3{font-family:'Sora',sans-serif;font-weight:700;font-size:clamp(1.3rem,2.6vw,1.8rem);letter-spacing:-.02em;max-width:32ch;margin:14px auto 0;}
.pdu-card p{color:var(--dim);font-size:.94rem;margin:10px auto 0;max-width:44ch;line-height:1.55;}
.subscribe-form{margin:26px auto 0;display:flex;gap:10px;max-width:420px;flex-wrap:wrap;justify-content:center;}
.subscribe-form input[type=email]{flex:1;min-width:200px;padding:12px 16px;border-radius:8px;border:0;
  background:#0a0d11;color:var(--fg);box-shadow:inset 0 0 0 1px #3a414b;font-family:'Inter',sans-serif;font-size:.9rem;}
.subscribe-form input[type=email]::placeholder{color:var(--dimmer);}
.subscribe-form button{padding:12px 22px;border-radius:8px;border:0;background:var(--gold);color:#140f00;font-weight:700;
  font-size:.86rem;cursor:pointer;transition:transform .2s;white-space:nowrap;}
.subscribe-form button:hover{transform:translateY(-1px);}
.subscribe-msg{display:none;margin-top:12px;font-family:'JetBrains Mono',monospace;font-size:.76rem;color:var(--dim);}
.subscribe-msg[data-members-error]{color:#e05a3c;}
.subscribe-form.success ~ [data-members-success],
.subscribe-form.error ~ [data-members-error]{display:block;}

/* ---------- footer / I-O panel ---------- */
.site-footer{position:relative;z-index:2;padding:80px 0 46px;background:var(--bg);border-top:1px solid var(--line);margin-top:40px;}
.io-wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);}
.io-kick{font-family:'JetBrains Mono',monospace;font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);}
.io-wrap h2{margin-top:10px;font-family:'Sora',sans-serif;font-weight:700;font-size:clamp(1.5rem,3vw,2.1rem);letter-spacing:-.02em;}
.io-wrap .lede{margin-top:10px;color:var(--dim);font-size:.94rem;max-width:46ch;line-height:1.6;}
.io-panel{margin-top:30px;border-radius:10px;padding:clamp(20px,3vw,34px) clamp(16px,3vw,30px);
  background:linear-gradient(180deg,var(--panel-a),var(--panel-b) 22%,var(--panel-c));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 -2px 4px rgba(0,0,0,.7),0 30px 60px -24px rgba(0,0,0,.9);
  display:flex;flex-wrap:wrap;gap:clamp(16px,2.6vw,32px);align-items:flex-end;position:relative;}
.io-panel::after{content:'';position:absolute;right:16px;top:14px;width:64px;height:26px;border-radius:2px;opacity:.5;
  background-image:radial-gradient(circle,#0a0d11 1.05px,transparent 1.35px);background-size:4.5px 4.5px;}
.port,.port a{display:flex;flex-direction:column;align-items:center;gap:9px;}
.port .lbl{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.12em;color:var(--dimmer);text-transform:uppercase;}
.port .nm{font-size:.76rem;font-weight:600;color:var(--dim);transition:color .2s;}
.port a:hover .nm{color:var(--fg);}
.jack{position:relative;background:linear-gradient(180deg,#0a0d11,#05070a);
  box-shadow:inset 0 0 0 1.5px #4a525d,inset 0 3px 7px rgba(0,0,0,.95);transition:box-shadow .25s ease;}
.port a:hover .jack{box-shadow:inset 0 0 0 1.5px #96a2b0,inset 0 3px 7px rgba(0,0,0,.95),0 0 20px rgba(150,190,255,.28);}
.rj45{width:46px;height:36px;border-radius:3px;}
.rj45 .tab{position:absolute;left:50%;transform:translateX(-50%);top:-7px;width:15px;height:9px;border-radius:2px 2px 0 0;
  background:linear-gradient(180deg,#0a0d11,#05070a);box-shadow:inset 0 0 0 1.5px #4a525d;}
.rj45 .pins{position:absolute;left:50%;transform:translateX(-50%);bottom:6px;display:flex;gap:1.5px;}
.rj45 .pins i{width:2px;height:11px;border-radius:0 0 1px 1px;background:linear-gradient(180deg,#e8c86a,#8a6d24);}
.rj45 .lnk{position:absolute;top:4px;width:6px;height:3px;border-radius:1px;}
.rj45 .lnk.l{left:5px;background:#4ade80;box-shadow:0 0 6px #4ade80;}
.rj45 .lnk.r{right:5px;background:var(--gold);box-shadow:0 0 6px var(--gold);animation:actblink 1.7s steps(1,end) infinite;}
.iec{width:48px;height:36px;border-radius:4px;clip-path:polygon(0 0,100% 0,100% 68%,86% 100%,14% 100%,0 68%);}
.iec .hole{position:absolute;width:7px;height:10px;border-radius:1.5px;background:#000;box-shadow:inset 0 0 0 1px #2a313a;}
.iec .hole.a{left:8px;top:9px;} .iec .hole.b{right:8px;top:9px;} .iec .hole.c{left:50%;transform:translateX(-50%);bottom:7px;}
.usb{width:38px;height:24px;border-radius:2px;}
.usb .blk{position:absolute;left:4px;right:4px;top:4px;height:7px;border-radius:1px;background:#c9d3e0;box-shadow:0 1px 2px rgba(0,0,0,.6);}
.de9{width:50px;height:26px;border-radius:5px;clip-path:polygon(6% 0,94% 0,100% 100%,0 100%);}
.de9 .prow{position:absolute;left:0;right:0;display:flex;justify-content:center;gap:3px;}
.de9 .prow.t{top:6px;} .de9 .prow.b{bottom:5px;}
.de9 .prow i{width:3px;height:3px;border-radius:50%;background:#d8c07a;box-shadow:0 0 3px rgba(216,192,122,.5);}
.foot-bottom{max-width:var(--maxw);margin:40px auto 0;padding-top:22px;border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;
  font-family:'JetBrains Mono',monospace;font-size:.68rem;letter-spacing:.05em;color:var(--dimmer);}
.foot-bottom a:hover{color:var(--dim);}

/* ---------- 404 ---------- */
.error-content{min-height:60vh;display:flex;align-items:center;justify-content:center;text-align:center;
  padding:120px var(--pad) 60px;position:relative;z-index:2;flex-direction:column;}
.error-content .code{font-family:'JetBrains Mono',monospace;font-size:.8rem;letter-spacing:.3em;color:var(--gold);}
.error-content .blank-slot{width:min(340px,80vw);height:60px;margin:26px auto;border-radius:2px;display:flex;align-items:center;justify-content:center;gap:6px;
  background:linear-gradient(180deg,#333a43,#20262e 55%,#161b21);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),inset 0 -1px 2px rgba(0,0,0,.6);}
.error-content .blank-slot span{width:24px;height:24px;border-radius:1px;
  background-image:radial-gradient(circle,#07090c 1.1px,transparent 1.4px);background-size:5px 5px;}
.error-content h1{font-family:'Sora',sans-serif;font-weight:800;font-size:clamp(1.6rem,4vw,2.2rem);}
.error-content p{margin-top:12px;color:var(--dim);max-width:44ch;}
.error-content .go{margin-top:26px;display:inline-flex;padding:11px 22px;border-radius:24px;background:var(--gold);color:#140f00;font-weight:700;font-size:.86rem;}

/* ---------- generic page ---------- */
.page-content{max-width:74ch;margin:0 auto;padding:0 var(--pad) 60px;position:relative;z-index:2;}

/* ---------- search icon svg ---------- */
.icon{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}

@keyframes pip{0%,100%{opacity:1;}50%{opacity:.32;}}
@keyframes hotdot{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.4;transform:scale(.78);}}
@keyframes actblink{0%,42%{opacity:1;}43%,58%{opacity:.15;}59%,77%{opacity:1;}78%,88%{opacity:.2;}89%,100%{opacity:1;}}
@keyframes cardin{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}

@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;}.pcard{opacity:1!important;}}
