/* Dreadmark devlog — generated by tools/publish-devlog.py. Do not edit by hand. */
@font-face{font-family:'Cinzel';font-style:normal;font-weight:400 900;font-display:swap;src:url('/assets/fonts/cinzel-var-latin.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('/assets/fonts/inter-var-latin.woff2') format('woff2')}
:root{
  --ground:#0d0a0b; --ground-2:#120d0e; --panel:#17100f; --panel-2:#1f1513;
  --line:#3a2622; --line-soft:#241715; --snow:#ece3dd; --mist:#9c8a84; --mist-dim:#6e5a55;
  --ice:#e5471f; --ice-dim:#9a3f26; --ember:#e8a94a; --ember-dim:#a6702a;
  --sans:"Inter","Segoe UI",system-ui,-apple-system,Roboto,sans-serif;
  --mono:ui-monospace,"Cascadia Mono",Consolas,monospace;
  --display:"Cinzel","Georgia","Times New Roman",serif;
  --wrap:1120px; --wrap-narrow:760px; --gutter:clamp(1.25rem,5vw,4rem); --nav-h:56px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--snow);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
img{max-width:100%;display:block}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.wrap-narrow{width:100%;max-width:var(--wrap-narrow);margin-inline:auto;padding-inline:var(--gutter)}
.eyebrow{font-family:var(--sans);font-size:.74rem;letter-spacing:.28em;text-transform:uppercase;color:var(--ice);margin:0}
.eyebrow.warm{color:var(--ember)}
/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:40;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding-inline:var(--gutter);font-family:var(--sans);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mist);background:rgba(9,17,24,.94);border-bottom:1px solid var(--line-soft);backdrop-filter:blur(6px)}
.nav__brand{color:var(--snow);font-weight:600;letter-spacing:.2em;text-decoration:none;display:inline-flex;align-items:center;gap:.6em}
.nav__links{display:flex;align-items:center;gap:clamp(.9rem,3vw,2rem)}
.nav__links a{text-decoration:none;transition:color .15s}
.nav__links a:hover{color:var(--snow)}
.nav__links a.active{color:var(--ice)}
.beacon{width:7px;height:7px;border-radius:50%;background:var(--ember);box-shadow:0 0 0 0 rgba(242,137,76,.7);animation:pulse 2.4s ease-out infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(242,137,76,.55)}70%{box-shadow:0 0 0 9px rgba(242,137,76,0)}100%{box-shadow:0 0 0 0 rgba(242,137,76,0)}}
@media (prefers-reduced-motion:reduce){.beacon{animation:none}html{scroll-behavior:auto}}
/* buttons */
.btn{display:inline-flex;align-items:center;gap:.6em;font-family:var(--sans);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:.85em 1.35em;border-radius:2px;border:1px solid var(--line);color:var(--snow);background:rgba(15,30,42,.6);transition:border-color .18s,color .18s,transform .18s}
.btn:hover{border-color:var(--ice);color:var(--ice);transform:translateY(-1px)}
/* hero */
.fn-hero{padding-top:calc(var(--nav-h) + clamp(3rem,8vw,6rem));padding-bottom:clamp(2rem,5vw,3.5rem);border-bottom:1px solid var(--line-soft);background:linear-gradient(180deg,var(--ground-2),var(--ground))}
.fn-hero h1{font-family:var(--display);font-size:clamp(1.9rem,5vw,3.1rem);font-weight:700;letter-spacing:.01em;margin:.6rem 0 .6rem;line-height:1.12;text-wrap:balance}
.fn-hero p{color:var(--mist);max-width:64ch;font-size:1.08rem;margin:0}
.fn-hero p.dl-entry__meta{font-family:var(--sans);font-size:.82rem;letter-spacing:.04em;color:var(--ember-dim);text-transform:none;max-width:64ch}
/* index grid */
.dl-wrap{padding-block:clamp(2.5rem,6vw,4.5rem)}
.dl-grid{display:grid;gap:1px;background:var(--line-soft);border:1px solid var(--line-soft)}
@media (min-width:760px){.dl-grid{grid-template-columns:1fr 1fr}}
.dl-card{display:flex;flex-direction:column;background:var(--panel);text-decoration:none;transition:background .18s}
.dl-card:hover{background:var(--panel-2)}
.dl-card__thumb{aspect-ratio:16/9;overflow:hidden;background:var(--ground-2)}
.dl-card__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.dl-card:hover .dl-card__thumb img{transform:scale(1.04)}
.dl-card__body{padding:clamp(1.4rem,3vw,2rem);display:flex;flex-direction:column;gap:.5rem;flex:1}
.dl-card__n{font-family:var(--sans);font-size:.72rem;letter-spacing:.2em;color:var(--ice-dim)}
.dl-card__title{font-family:var(--display);font-size:clamp(1.15rem,2.3vw,1.5rem);font-weight:700;line-height:1.22;letter-spacing:.01em;margin:0;text-wrap:balance;color:var(--snow)}
.dl-card__date{font-family:var(--sans);font-size:.72rem;color:var(--ember-dim);margin:0}
.dl-card__excerpt{color:var(--mist);margin:.2rem 0 0;font-size:.98rem}
.dl-card__more{margin-top:auto;padding-top:.6rem;font-family:var(--sans);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ice)}
/* article */
.dl-article{padding-block:clamp(2.5rem,6vw,4rem);min-width:0}
.fn-body p{color:#d5c7bf;max-width:68ch}
.fn-body h2{font-family:var(--display);font-size:clamp(1.3rem,2.9vw,1.8rem);font-weight:700;letter-spacing:.01em;margin:2rem 0 .8rem;line-height:1.2;text-wrap:balance;color:var(--snow)}
.fn-body h3{font-size:clamp(1.1rem,2.4vw,1.4rem);font-weight:700;margin:1.6rem 0 .6rem;color:var(--snow)}
.fn-body strong{color:var(--snow);font-weight:600}
.fn-body em{color:var(--ice);font-style:normal}
.fn-body a{color:var(--ember);text-decoration:underline;text-underline-offset:2px}
.fn-body code{font-family:var(--mono);font-size:.86em;background:var(--panel-2);border:1px solid var(--line-soft);padding:.08em .4em;border-radius:3px;color:var(--ice)}
.fn-body ul{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.6rem;max-width:68ch}
.fn-body ul li{position:relative;padding-left:1.4rem;color:#d5c7bf}
.fn-body ul li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;background:var(--ice-dim)}
.dl-fig,.dl-media{margin:1.8rem 0 .4rem;border:1px solid var(--line-soft);background:var(--panel)}
.dl-fig img,.dl-media video{width:100%;display:block}
.dl-fig figcaption,.dl-media figcaption{font-family:var(--sans);font-size:.72rem;letter-spacing:.04em;color:var(--mist);padding:.7rem .9rem;border-top:1px solid var(--line-soft)}
/* entry prev/next */
.dl-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:2.6rem;padding-top:1.6rem;border-top:1px solid var(--line-soft)}
.dl-nav__link{text-decoration:none;color:var(--mist);max-width:46%;font-size:.95rem;transition:color .15s}
.dl-nav__link:hover{color:var(--snow)}
.dl-nav__next{text-align:right;margin-left:auto}
.dl-nav__k{display:block;font-family:var(--sans);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ice-dim);margin-bottom:.2rem}
.dl-back{margin-top:2.2rem}
/* footer */
.foot{border-top:1px solid var(--line);padding-block:clamp(3rem,6vw,4.5rem)}
.foot__cta{text-align:center}
.foot__links{display:flex;flex-wrap:wrap;gap:1.2rem 2rem;justify-content:center;align-items:center;font-family:var(--sans);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mist)}
.foot__links a{text-decoration:none;transition:color .15s}
.foot__links a:hover{color:var(--ice)}
.foot__links .sig{color:var(--mist-dim)}
.foot__links .sig b{color:var(--snow);font-weight:600}
/* uppercase micro-labels: Inter with weight, not the coder font */
.eyebrow,.nav,.btn,.dl-card__n,.dl-card__date,.dl-card__more,.dl-entry__meta,.dl-nav__k,.dl-fig figcaption,.dl-media figcaption,.foot__links{font-weight:550}
/* themed scrollbars — every scrollbar matches the panel palette */
html{scrollbar-color:var(--line) var(--ground-2);scrollbar-width:thin}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--ground-2)}
::-webkit-scrollbar-thumb{background:var(--line);border-radius:5px;border:2px solid var(--ground-2)}
::-webkit-scrollbar-thumb:hover{background:var(--ice-dim)}
::-webkit-scrollbar-corner{background:var(--ground-2)}
