/*
Theme Name: Prathamesh Field Notes
Theme URI: https://www.0xprathamesh.com/blog/
Author: Prathamesh Dabir
Description: Editorial security journal theme matched to the Prathamesh Dabir portfolio.
Version: 1.1.2
Text Domain: prathamesh-field-notes
*/

:root{
  --bg:#09090a;--panel:#111113;--panel-2:#171719;--ink:#f4f2ec;
  --dim:#96938a;--line:#29292d;--accent:#c8f04a;--blue:#6eb7ff;
  --red:#ff6b52;--glass:rgba(17,17,19,.76);--ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg);scroll-behavior:smooth}
body{background:radial-gradient(900px 520px at 82% 2%,rgba(200,240,74,.055),transparent 68%),radial-gradient(720px 520px at 8% 40%,rgba(255,107,82,.035),transparent 65%),var(--bg);color:var(--ink);font-family:'Archivo',sans-serif;min-height:100vh;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,#000,transparent 92%)}
::selection{background:var(--accent);color:#09090a}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
button,input,textarea{font:inherit}
.mono{font-family:'JetBrains Mono',monospace}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:10000;left:18px;top:12px;padding:11px 16px;border-radius:999px;background:var(--accent);color:#09090a;font:700 12px/1 'JetBrains Mono',monospace;transform:translateY(-180%);transition:transform .2s var(--ease)}
.skip-link:focus{transform:translateY(0)}

.reading-progress{position:fixed;inset:0 0 auto;z-index:1000;height:2px;background:rgba(255,255,255,.06)}
.reading-progress i{display:block;width:0;height:100%;background:var(--accent);box-shadow:0 0 18px rgba(200,240,74,.75)}
.site-nav{position:fixed;z-index:900;top:18px;left:50%;transform:translateX(-50%);width:min(1320px,calc(100% - 40px));display:flex;align-items:center;justify-content:space-between;padding:10px 12px 10px 18px;border:1px solid rgba(255,255,255,.09);border-radius:999px;background:rgba(10,10,11,.72);box-shadow:0 14px 46px rgba(0,0,0,.24);backdrop-filter:blur(18px) saturate(130%);transition:.3s var(--ease)}
.site-nav.scrolled{background:rgba(10,10,11,.94);border-color:rgba(200,240,74,.24);box-shadow:0 18px 52px rgba(0,0,0,.44)}
.brand{display:flex;align-items:center;gap:10px;font-family:'Anton',sans-serif;font-size:16px;letter-spacing:.08em;white-space:nowrap}
.brand i{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 14px rgba(200,240,74,.8)}
.nav-links{display:flex;align-items:center;gap:3px;font:10.5px 'JetBrains Mono',monospace;letter-spacing:.08em}
.nav-links a{padding:10px 13px;border-radius:999px;color:#aaa79f;transition:.2s}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--ink);background:rgba(255,255,255,.07)}
.nav-links .portfolio-link{color:#09090a;background:var(--accent);padding-inline:17px}
.nav-links .portfolio-link:hover{background:var(--ink);color:#09090a}
.nav-toggle{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--panel);color:var(--ink);position:relative;cursor:pointer}
.nav-toggle::before,.nav-toggle::after{content:"";position:absolute;left:12px;right:12px;height:1px;background:currentColor;transition:.3s var(--ease)}
.nav-toggle::before{top:16px}.nav-toggle::after{top:24px}.site-nav.open .nav-toggle::before{top:20px;transform:rotate(45deg)}.site-nav.open .nav-toggle::after{top:20px;transform:rotate(-45deg)}

.journal-hero{position:relative;min-height:82svh;max-width:1440px;margin:auto;padding:150px 40px 74px;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate;overflow:hidden}
#field-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:.5;pointer-events:none}
.hero-orbit{position:absolute;right:-8%;top:8%;width:min(58vw,760px);aspect-ratio:1;border:1px solid rgba(200,240,74,.16);border-radius:50%;z-index:-1;animation:orbit 24s linear infinite}
.hero-orbit::before,.hero-orbit::after{content:"";position:absolute;border:1px dashed rgba(110,183,255,.18);border-radius:50%;inset:14%}.hero-orbit::after{inset:32%;border-style:solid;border-color:rgba(255,107,82,.18)}
.hero-orbit i{position:absolute;width:10px;height:10px;background:var(--accent);border-radius:50%;left:12%;top:18%;box-shadow:0 0 24px var(--accent)}
@keyframes orbit{to{transform:rotate(360deg)}}
.hero-kicker{display:flex;justify-content:space-between;gap:24px;padding-bottom:22px;border-bottom:1px solid var(--line);color:var(--dim);font:10px 'JetBrains Mono',monospace;letter-spacing:.15em;text-transform:uppercase}
.journal-hero h1{font:clamp(84px,14.8vw,210px)/.77 'Anton',sans-serif;letter-spacing:-.025em;text-transform:uppercase;padding:44px 0 36px;max-width:1180px}
.journal-hero h1 span{color:transparent;-webkit-text-stroke:1.5px rgba(200,240,74,.88)}
.hero-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;border-top:1px solid var(--line);padding-top:24px}
.hero-foot p{max-width:590px;color:#aaa79e;font-size:16px;line-height:1.7}.hero-foot strong{color:var(--ink)}
.hero-stat{display:flex;align-items:flex-end;gap:12px;color:var(--dim);font:9px/1.6 'JetBrains Mono',monospace;letter-spacing:.12em;text-align:right;text-transform:uppercase}
.hero-stat b{font:80px/.74 'Anton',sans-serif;color:var(--accent);letter-spacing:-.04em}

.ticker{overflow:hidden;border-block:1px solid var(--line);padding:13px 0}.ticker-track{display:flex;width:max-content;animation:ticker 28s linear infinite}.ticker span{display:flex;align-items:center;gap:45px;padding:0 22px;white-space:nowrap;font:19px 'Anton',sans-serif;letter-spacing:.04em;color:#b5b2aa}.ticker span::after{content:"✦";font-size:13px;color:var(--accent)}
@keyframes ticker{to{transform:translateX(-50%)}}

.journal-main{max-width:1440px;margin:auto;padding:112px 40px 130px}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding-bottom:22px;margin-bottom:48px;border-bottom:1px solid var(--line)}
.section-head h2{font:clamp(54px,7.2vw,104px)/.85 'Anton',sans-serif;letter-spacing:-.025em;text-transform:uppercase}.section-head p{max-width:340px;color:var(--dim);font:10px/1.8 'JetBrains Mono',monospace;letter-spacing:.12em;text-align:right;text-transform:uppercase}
.post-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}
.post-card{grid-column:span 4;min-height:470px;position:relative;display:flex;flex-direction:column;padding:26px;border:1px solid #303035;border-radius:24px;background:linear-gradient(145deg,var(--panel),#0e0e10);overflow:hidden;transition:border-color .35s var(--ease),transform .45s var(--ease),background .35s}
.post-card:nth-child(5n+1),.post-card:nth-child(5n+5){grid-column:span 6}.post-card:hover{border-color:rgba(200,240,74,.55);background:#171719;transform:translateY(-7px)}
.post-card::after{content:"";position:absolute;width:240px;aspect-ratio:1;right:-120px;bottom:-140px;border:1px solid rgba(200,240,74,.16);border-radius:50%;transition:.6s var(--ease)}.post-card:hover::after{transform:scale(1.5);border-color:rgba(200,240,74,.35)}
.card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--dim);font:9px 'JetBrains Mono',monospace;letter-spacing:.13em;text-transform:uppercase}
.category-pill{display:inline-flex;align-items:center;min-height:28px;padding:6px 10px;border:1px solid rgba(200,240,74,.28);border-radius:999px;color:var(--accent)}
.post-card h3{position:relative;z-index:1;margin:auto 0 20px;font:clamp(34px,3.2vw,58px)/.94 'Anton',sans-serif;text-transform:uppercase;letter-spacing:-.015em}.post-card h3 a{transition:color .25s}.post-card:hover h3 a{color:var(--accent)}
.post-card .excerpt{position:relative;z-index:1;color:#a4a198;font-size:14px;line-height:1.72;max-width:540px}.card-foot{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;margin-top:28px;padding-top:18px;border-top:1px solid var(--line);color:var(--dim);font:9px 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase}.card-arrow{font-size:20px;color:var(--accent);transition:.3s}.post-card:hover .card-arrow{transform:translateX(7px)}
.empty-state{padding:80px 30px;border:1px solid var(--line);border-radius:24px;text-align:center;background:var(--panel)}.empty-state h2{font:52px 'Anton',sans-serif;text-transform:uppercase}.empty-state p{color:var(--dim);margin:16px auto 26px;line-height:1.7}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:12px 20px;border-radius:999px;background:var(--accent);color:#09090a;font:10px 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase;transition:.3s}.button:hover{background:var(--ink);transform:translateY(-2px)}
.pagination{margin-top:54px;display:flex;justify-content:center;gap:8px}.pagination .page-numbers{min-width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--dim);font:10px 'JetBrains Mono',monospace}.pagination .current,.pagination a:hover{background:var(--accent);border-color:var(--accent);color:#09090a}

.article-hero{position:relative;max-width:1440px;margin:auto;padding:170px 40px 70px;overflow:hidden}.article-hero::after{content:"";position:absolute;right:4%;top:26%;width:340px;aspect-ratio:1;border:1px solid rgba(200,240,74,.14);border-radius:50%;z-index:-1}.article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;color:var(--dim);font:9px 'JetBrains Mono',monospace;letter-spacing:.13em;text-transform:uppercase}.article-hero h1{max-width:1180px;margin:30px 0 40px;font:clamp(62px,9.3vw,142px)/.86 'Anton',sans-serif;text-transform:uppercase;letter-spacing:-.025em}.article-deck{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding-top:22px;border-top:1px solid var(--line)}.article-deck p{max-width:640px;color:#aaa79e;font-size:17px;line-height:1.7}.article-deck .read-time{color:var(--accent);font:9px 'JetBrains Mono',monospace;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.article-shell{max-width:1180px;margin:0 auto 130px;padding:0 40px;display:grid;grid-template-columns:180px minmax(0,760px);gap:70px;justify-content:center}.article-shell>*{min-width:0}.article-aside{padding-top:12px}.article-aside-inner{position:sticky;top:120px}.article-aside span{display:block;margin-bottom:14px;color:var(--dim);font:8px 'JetBrains Mono',monospace;letter-spacing:.16em;text-transform:uppercase}.article-aside a{display:block;margin:9px 0;color:#aaa79e;font:10px 'JetBrains Mono',monospace;line-height:1.5}.article-aside a:hover{color:var(--accent)}
.prose{min-width:0;font-size:18px;line-height:1.84;color:#d3d0c8;overflow-wrap:anywhere}.prose>*+*{margin-top:1.45em}.prose h2,.prose h3,.prose h4{color:var(--ink);font-family:'Anton',sans-serif;text-transform:uppercase;letter-spacing:.01em;line-height:1}.prose h2{font-size:clamp(40px,5vw,66px);margin-top:1.5em}.prose h3{font-size:34px;margin-top:1.5em}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.prose strong{color:var(--ink)}.prose ul,.prose ol{padding-left:1.25em}.prose li+li{margin-top:.55em}.prose blockquote{border-left:3px solid var(--accent);padding:18px 0 18px 28px;color:var(--ink);font-size:1.2em}.prose pre{max-width:100%;overflow:auto;padding:24px;border:1px solid #303035;border-radius:16px;background:#060607;color:#c8f04a;font:13px/1.75 'JetBrains Mono',monospace}.prose code{padding:.12em .35em;border-radius:4px;background:#171719;color:#c8f04a;font:85% 'JetBrains Mono',monospace}.prose pre code{padding:0;background:none}.prose img{border-radius:18px;border:1px solid var(--line)}.prose hr{border:0;border-top:1px solid var(--line)}
.prose figure{margin:2.2em 0}.prose figure img{display:block;width:100%}.prose figcaption{margin-top:12px;color:var(--dim);font:11px/1.6 'JetBrains Mono',monospace;letter-spacing:.04em}.prose table{width:100%;border-collapse:collapse;border:1px solid var(--line);font-size:15px;line-height:1.55}.prose th,.prose td{padding:14px 16px;border:1px solid var(--line);text-align:left;vertical-align:top}.prose th{background:#171719;color:var(--accent);font:11px/1.4 'JetBrains Mono',monospace;letter-spacing:.07em;text-transform:uppercase}.prose tbody tr:nth-child(even){background:rgba(255,255,255,.02)}.prose .answer-first,.prose .authorised-use{padding:20px 22px;border:1px solid rgba(200,240,74,.28);border-radius:14px;background:#111113}.prose .answer-first{font-size:19px;color:var(--ink)}.prose .authorised-use{border-color:rgba(110,183,255,.3);color:#aaa79e;font-size:15px}.prose .authorised-use strong{color:var(--blue)}
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:1100px;margin:0 auto 130px;padding:0 40px}.post-nav a{min-height:150px;padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--panel);color:var(--dim);font:9px 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase;transition:.3s}.post-nav a:hover{border-color:var(--accent);color:var(--accent)}.post-nav strong{display:block;margin-top:18px;color:var(--ink);font:25px/1.05 'Anton',sans-serif;letter-spacing:0}.post-nav .next{text-align:right;grid-column:2}

.site-footer{position:relative;margin:0 20px 20px;padding:60px 40px 30px;border:1px solid var(--line);border-radius:30px;background:#111113;overflow:hidden}.footer-title{font:clamp(72px,13vw,190px)/.78 'Anton',sans-serif;letter-spacing:-.03em;text-transform:uppercase;color:transparent;-webkit-text-stroke:1px rgba(200,240,74,.58)}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;margin-top:60px;padding-top:30px;border-top:1px solid var(--line)}.footer-grid h3{font:11px 'JetBrains Mono',monospace;letter-spacing:.14em;color:var(--accent);text-transform:uppercase}.footer-grid p,.footer-grid a{display:block;margin-top:10px;color:var(--dim);font-size:13px;line-height:1.7}.footer-grid a:hover{color:var(--ink)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:50px;padding-top:22px;border-top:1px solid var(--line);color:#96938a;font:8px 'JetBrains Mono',monospace;letter-spacing:.14em;text-transform:uppercase}
.cursor-dot,.cursor-ring{position:fixed;left:0;top:0;z-index:2000;border-radius:50%;pointer-events:none;opacity:0;transition:opacity .25s}.cursor-dot{width:5px;height:5px;background:var(--accent)}.cursor-ring{width:34px;height:34px;border:1px solid rgba(200,240,74,.5)}body.cursor-ready .cursor-dot,body.cursor-ready .cursor-ring{opacity:1}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.in{opacity:1;transform:none}

@media(max-width:900px){.nav-toggle{display:block}.nav-links{position:absolute;top:58px;left:0;right:0;display:grid;padding:12px;border:1px solid var(--line);border-radius:20px;background:rgba(10,10,11,.98);opacity:0;visibility:hidden;transform:translateY(-10px);transition:.25s}.site-nav.open .nav-links{opacity:1;visibility:visible;transform:none}.nav-links a{text-align:center;padding:13px}.journal-hero{padding:130px 22px 58px}.hero-kicker span:nth-child(2){display:none}.journal-hero h1{font-size:clamp(80px,21vw,145px)}.hero-foot{align-items:flex-start;flex-direction:column}.hero-stat{text-align:left}.journal-main{padding:86px 22px 100px}.post-card,.post-card:nth-child(5n+1),.post-card:nth-child(5n+5){grid-column:span 6}.article-hero{padding:145px 22px 54px}.article-shell{grid-template-columns:minmax(0,1fr);padding:0 22px;gap:30px}.article-aside-inner{position:static;display:flex;gap:14px;flex-wrap:wrap}.article-aside span{width:100%}.post-nav{padding:0 22px}.site-footer{margin:0 10px 10px;padding:48px 24px 24px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:600px){.site-nav{top:12px;width:calc(100% - 24px);padding:8px 8px 8px 15px}.journal-hero{min-height:92svh}.journal-hero h1{font-size:clamp(70px,23vw,110px)}.hero-orbit{width:100vw;right:-45%;top:22%}.hero-stat b{font-size:60px}.section-head{align-items:flex-start;flex-direction:column}.section-head p{text-align:left}.post-card,.post-card:nth-child(5n+1),.post-card:nth-child(5n+5){grid-column:1/-1;min-height:420px}.article-hero h1{font-size:clamp(54px,17vw,86px)}.article-deck{align-items:flex-start;flex-direction:column}.article-shell{padding-inline:18px}.prose{font-size:16px}.post-nav{grid-template-columns:1fr}.post-nav .next{grid-column:1}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column}.cursor-dot,.cursor-ring{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.cursor-dot,.cursor-ring{display:none}}
@media(max-width:900px){.site-nav .nav-links{transition:none!important}.site-nav:not(.open) .nav-links{opacity:0!important;visibility:hidden!important;transform:translateY(-10px)!important}.site-nav.open .nav-links{opacity:1!important;visibility:visible!important;transform:none!important}}
