/* GRIND TERMINAL — preview only; loaded after the production stylesheet. */
@font-face{font-family:"Plex Terminal";src:url('/plex-mono.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:"Plex Terminal";src:url('/plex-mono-semibold.ttf') format('truetype');font-weight:600 900;font-display:swap}
:root{--night:#050705;--night2:#090e0a;--card:#0b110c;--card2:#0e1710;--text:#dcf0df;--muted:#9bb59f;--line:#294530;--pink:#67d985;--coral:#67d985;--sun:#e4bb65;--violet:#33583b;--cyan:#67d985;--teal:#67d985;--accent:#67d985;--ok:#67d985;--bad:#e4bb65;--sunset:linear-gradient(#67d985,#67d985);--dusk:linear-gradient(#0b110c,#0b110c);--display:"Plex Terminal",monospace;--pixel:"Plex Terminal",monospace;--r:3px}
html,body{background:#050705!important;color:#dcf0df}
body{font-family:Inter,system-ui,sans-serif;line-height:1.7}
/* No neon bloom or decorative gradients; image blur remains solely as cover fill. */
body *{box-shadow:none!important;text-shadow:none}
header.top,.page-cal header.top{background:#050705!important;border-color:#294530!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
header.top::after{height:2px;background:#67d985!important}
.logo img{filter:brightness(0) saturate(100%) invert(83%) sepia(30%) saturate(729%) hue-rotate(78deg) brightness(91%) contrast(89%)}
header .links,header .dd{background:#050705!important}
.links a,.links summary,.search input,.nav-group-label,.burger,.chip,.btn,.filters,.kick,.m,.cal-body time,.board,.hud,.bt,.t10-filters,.facts,.share,.mag-rail__nav{font-family:"Plex Terminal",monospace!important}
.links a,.links summary{color:#b8d5bf!important;letter-spacing:.015em}
.links a:hover,.links summary:hover{color:#67d985!important;border-color:#67d985!important}
.search input,input,select,textarea{background:#090e0a!important;color:#dcf0df!important;border:1px solid #33583b!important;border-radius:3px!important}
.burger{background:#090e0a!important;border-color:#33583b!important}
.burger i,.burger i::before,.burger i::after{background:#67d985!important}
h1,h2,h3,.hero .t,.card h3,.mini .t,.ltitle{font-family:"Plex Terminal",monospace!important;font-weight:600!important;letter-spacing:-.035em}
h2.sec{font-size:clamp(23px,2.4vw,32px);color:#67d985!important;line-height:1.25}
h2.sec::before{display:none!important}h2.sec::after{background:#294530!important;height:1px}
.ltitle{background:none!important;-webkit-text-fill-color:#67d985;color:#67d985!important;filter:none;font-size:clamp(30px,4vw,52px)}
.hero .main,.card,.mini,.cal-card,.t10-card,.issue,.consent,.pitch,.board,.facts,.strip,.mag-flip,.t10-filters,.comments,.hud .panel{background:#0b110c!important;border:1px solid #294530!important;border-radius:3px!important}
.hero .main::before,.cal-cover::before{filter:blur(20px) brightness(.3) saturate(.45)!important}
.hero .main .ov{background:linear-gradient(transparent,#050705 62%)!important}
.hero h1{font-size:clamp(25px,2.7vw,40px);line-height:1.15!important}
.m,.lead,.prose,.description,.cal-note,.card .m,.mini .m{color:#b8cdbd!important}
.prose{color:#dcf0df!important;line-height:1.85;font-size:19px}
.prose a{color:#67d985!important;text-decoration:underline;text-underline-offset:3px}
.btn,.btn.p,.hud .save,.filters a,.chip,.chip.s,.chip.g,.mag-rail__nav,.cal-links .btn{background:#090e0a!important;color:#a4efb8!important;border:1px solid #4b855a!important;border-radius:3px!important;filter:none!important}
.btn:hover,.btn.p:hover,.filters .on{background:#15321d!important;color:#e1ffe9!important}
.chip{font-size:11px;letter-spacing:.02em}
.chip.s{font-weight:600!important;color:#67d985!important}
.hero .main .chip.s{color:#a4efb8!important;border:2px solid #67d985!important;border-radius:3px!important}
.hero .main .chip:not(.s){color:#a4efb8!important}
.t10-rank{color:#67d985!important;font-family:"Plex Terminal",monospace!important}
.partner-section{border-color:#294530}.partner-grid img{filter:grayscale(1) brightness(0) invert(.86)!important;opacity:.8}
.partner-grid img[src$="jocurinoi-real.svg"]{filter:grayscale(1)!important}
.partner-grid a{border-color:#294530}
footer,.fbar,.skyline{background:#050705!important;color:#9bb59f!important}
.fgrid .fh,.fgrid a:hover{color:#67d985!important}
.fmark,.fgrid b.f{filter:grayscale(1)}
.hud .pill,.hud .panel{background:#050705!important;color:#a4efb8!important;border:1px solid #4b855a!important;border-radius:3px!important}
.hud .lv{background:#193a22!important;color:#a4efb8!important;border-radius:2px}.hud .xp{color:#a4efb8!important}.hud .bar i{background:#67d985!important}
.hud .rk{color:#9bb59f!important}.xpop{background:#090e0a!important;color:#a4efb8!important;border-color:#294530!important}
.skyline{height:190px;border-top:1px solid #294530;border-bottom:1px solid #294530;position:relative}
.skyline .sun,.skyline svg{display:none!important}
.skyline::before{inset:28px 0 auto;width:100%;height:96px;transform:none;filter:none;background-image:url('/invaders.svg')!important;background-repeat:repeat-x!important;background-position:center!important;background-size:160px 96px!important}
.skyline::after{inset:auto 0 0;height:30px;background:repeating-linear-gradient(90deg,#14261a 0 18px,transparent 18px 21px);filter:none;opacity:1}
@media(max-width:600px){.hero .main .ov{background:#0b110c!important}.hero .main h1{font-size:25px!important}.hero .main .chip.s{font-size:32px!important}.hero .mini .t{font-size:14px}.cal-links .btn{font-size:11px!important}.skyline{height:150px}.skyline::before{top:20px;background-size:130px 78px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.mag-flip__stage img{background:#090e0a!important}.mag-flip__stage::after{display:none!important}
.btn{position:relative;padding-left:20px!important;padding-right:20px!important}
.btn::before{content:"[";position:absolute;left:6px;top:50%;transform:translateY(-50%);color:#67d985}
.btn::after{content:"]";position:absolute;right:6px;top:50%;transform:translateY(-50%);color:#67d985}
/* Explicit flat states for inherited hot-pink inline accents. */
.filters a,.issue .t,.mag-flip__title,.cal-ed{color:#b8d5bf!important}
/* Preview v2: static CRT texture; restrained heading cursor. */
body::after{content:"";position:fixed;inset:0;z-index:200;pointer-events:none;background:repeating-linear-gradient(to bottom,transparent 0px,transparent 2px,rgba(0,0,0,.15) 2px,rgba(0,0,0,.15) 3px);opacity:1}
h2.sec::before{content:"█"!important;display:inline-block!important;order:1;flex:0 0 auto;width:.65em;height:1em;margin:0;background:none!important;border-radius:0;color:#67d985;font:400 .78em/1 "Plex Terminal",monospace;animation:terminal-cursor 1.1s steps(1,end) infinite}
h2.sec::after{order:2}
@keyframes terminal-cursor{0%,49%{opacity:1}50%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){h2.sec::before{animation:none!important;opacity:1}}
/* Preview v4: transient tracking noise, no clones or script needed. */
@keyframes vhs-tracking{
 0%,100%{text-shadow:none;filter:none}
 14%{text-shadow:2px 0 #5ee9dc,-2px 0 #b477a5;filter:contrast(1.12)}
 28%{text-shadow:-2px 1px #5ee9dc,2px -1px #b477a5}
 43%{text-shadow:3px 0 #5ee9dc,-1px 0 #b477a5;filter:contrast(1.25)}
 57%{text-shadow:-1px 0 #5ee9dc,2px 1px #b477a5}
 71%{text-shadow:1px -1px #5ee9dc,-2px 1px #b477a5;filter:contrast(1.08)}
 86%{text-shadow:-1px 0 #5ee9dc,1px 0 #b477a5}
}
@keyframes crt-power-on{0%{clip-path:inset(49% 0);opacity:0}20%{clip-path:inset(48% 0);opacity:1}68%{clip-path:inset(6% 0);opacity:.9}100%{clip-path:inset(0);opacity:1}}
@keyframes logo-phosphor{0%,89%,94%,100%{opacity:1}90%{opacity:.65}91%{opacity:1}92%{opacity:.8}93%{opacity:1}}
.logo img{animation:crt-power-on .6s steps(8,end) both,logo-phosphor 7s steps(1,end) .6s infinite;transform-origin:center}
/* Animation text shadows must override the base theme's static !important reset. */
@media(hover:hover) and (pointer:fine){
 .links a:hover,.links summary:hover,.card:hover h3,.hero .main:hover h1,.mini:hover .t,.t10-card:hover h3,.cal-card:hover h3{animation:vhs-tracking .36s steps(1,end) 1}
}
.links a:focus-visible,.links summary:focus-visible,.card:focus-visible h3,.card a:focus-visible h3,.hero .main:focus-visible h1,.mini:focus-visible .t,.t10-card:focus-visible h3{animation:vhs-tracking .36s steps(1,end) 1}
@media(prefers-reduced-motion:reduce){.logo img,.links a,.links summary,.card h3,.hero h1,.mini .t,.t10-card h3,.cal-card h3{animation:none!important;text-shadow:none!important}}

/* Scanlines belong on the terminal UI, not on editorial photography or printed pages. */
body.page-reader::after{display:none!important}
.page-article .hero-img,
.page-article .prose :is(img,figure,.gallery,video,iframe,canvas){position:relative;z-index:201}
/* Keep navigation and interactive dialogs above the exempt media as it scrolls. */
header.top,.page-cal header.top{z-index:300}
.modal{z-index:400}

/* Opaque iOS safe-area cap, outside the sticky composited layer. */
:root{--grind-safe-top:env(safe-area-inset-top,0px)}
html{background-color:#050705!important;color-scheme:dark}
header.top,.page-cal header.top{top:0;padding-top:var(--grind-safe-top);background:#050705!important;opacity:1;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body::before{content:"";position:fixed;top:0;left:0;right:0;height:calc(var(--grind-safe-top) + 1px);background:#050705;z-index:400;pointer-events:none;transform:translateZ(0)}
@media(max-width:1279px){header.top .links{top:100%;max-height:calc(100vh - 80px - var(--grind-safe-top) - env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 80px - var(--grind-safe-top) - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain}}

/* Patreon support CTA alongside search, amber terminal key. */
header .links a.patreon-btn{display:inline-flex;justify-content:center;align-items:center;flex:none;min-height:36px;padding:7px 10px;border:1px solid #e4bb65!important;border-radius:0;background:#e4bb65!important;color:#050705!important;white-space:nowrap;font-family:"Plex Terminal",monospace!important;font-size:12px}
header .links a.patreon-btn:hover,header .links a.patreon-btn:focus-visible{background:#f1ce84!important;color:#050705!important;outline-offset:3px}
@media(min-width:1280px){header .links .search input{width:clamp(110px,10vw,150px);min-width:0}}
@media(max-width:1279px){header .links a.patreon-btn{order:-1;align-self:stretch;margin:0 0 12px;min-height:42px}}
