/*
Theme Name: BoStoch
Theme URI: https://bostoch.com
Author: The Bureau of Stochasticism (via Claude)
Description: The Bureau of Stochasticism — polished-weird theme. Olive-on-black, Germania One display type, egg cursor. Suffer, shall we?
Version: 0.1
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: bostoch
*/

@font-face{
  font-family:'Germania One';
  font-style:normal; font-weight:400; font-display:swap;
  src:url('assets/germania-one.woff2') format('woff2');
}
:root{
  --bg:#0b0b07;
  --olive:#b3b038;
  --olive-2:#8a8824;
  --olive-dark:#5f5d15;
  --cream:#ece7cc;
  --ink:#0b0b07;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{height:100%;}
body{
  background:var(--bg); color:var(--cream);
  font-family:'Inter','Helvetica Neue',Arial,sans-serif;
  min-height:100vh; cursor:none; overflow-x:hidden;
}
body::after{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:1;
  background:radial-gradient(120% 90% at 50% 20%, transparent 55%, rgba(0,0,0,.6));
}
a,button{cursor:none;}

/* ---------- HEADER ---------- */
.site-header{
  position:sticky; top:0; z-index:20;
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; flex-wrap:wrap; padding:20px 40px;
  background:linear-gradient(180deg, rgba(11,11,7,.96), rgba(11,11,7,.75) 80%, transparent);
  backdrop-filter:blur(3px);
}
.logo{
  font-family:'Germania One','Impact',fantasy; font-size:1.7rem; line-height:1; letter-spacing:1px;
  color:var(--olive); text-decoration:none; text-transform:uppercase; max-width:16ch;
  transition:color .2s, text-shadow .2s;
}
.logo:hover{color:var(--cream); text-shadow:0 0 18px rgba(179,176,56,.6);}
.site-header nav{display:flex; gap:26px; flex-wrap:wrap;}
.site-header nav a{
  font-family:'Germania One','Impact',fantasy; font-size:1.15rem; letter-spacing:1px; text-transform:uppercase;
  color:var(--cream); text-decoration:none; position:relative; opacity:.85; transition:color .2s, opacity .2s;
}
.site-header nav a::after{content:""; position:absolute; left:0; bottom:-5px; height:3px; width:0; background:var(--olive); transition:width .22s ease;}
.site-header nav a:hover{color:var(--olive); opacity:1;}
.site-header nav a:hover::after, .site-header nav a.active::after{width:100%;}
.site-header nav a.active{color:var(--olive);}

/* ---------- HERO ---------- */
.hero{
  position:relative; z-index:2; max-width:1180px; margin:0 auto; padding:40px 40px 90px;
  display:grid; grid-template-columns:1.15fr .85fr; gap:48px; align-items:center; min-height:calc(100vh - 90px);
}
.kicker{font-family:'Germania One','Impact',fantasy; text-transform:uppercase; letter-spacing:4px; color:var(--olive-2); font-size:1rem; margin-bottom:22px;}
.greeting h1{font-family:'Germania One','Impact',fantasy; color:var(--cream); font-size:clamp(2.6rem,6vw,5.2rem); line-height:.98; text-transform:uppercase; margin-bottom:10px;}
.greeting .line{display:block; opacity:0; transform:translateY(14px); animation:rise .7s ease forwards;}
.greeting .l2{animation-delay:.12s;} .greeting .l3{animation-delay:.24s;} .greeting .l4{animation-delay:.36s;}
@keyframes rise{to{opacity:1; transform:none;}}
.greeting .hello{color:var(--olive);}
.eggline{margin-top:20px; font-weight:700; font-size:1.35rem; color:var(--olive); letter-spacing:.5px;}
.eggline .wave{display:inline;}
.eggline .wave .word{display:inline-block; white-space:nowrap;}
.eggline .wave .ltr{display:inline-block; animation:wave 1.8s ease-in-out infinite; animation-delay:calc(var(--i,0)*0.045s);}
@keyframes wave{0%,100%{transform:translateY(0) rotate(0)}30%{transform:translateY(-8px) rotate(-7deg)}60%{transform:translateY(3px) rotate(6deg)}}
.egg{display:inline-block; font-size:1.5rem; animation:bounce 1.2s ease-in-out infinite; transform-origin:50% 80%;}
@keyframes bounce{0%,100%{transform:translateY(0) rotate(-10deg)}50%{transform:translateY(-12px) rotate(10deg)}}
.sub{margin-top:30px; max-width:44ch; color:var(--cream); opacity:.8; font-size:1.05rem; line-height:1.6;}
.cta-row{margin-top:34px; display:flex; gap:16px; flex-wrap:wrap;}
.btn{font-family:'Germania One','Impact',fantasy; text-transform:uppercase; letter-spacing:1px; font-size:1.1rem; padding:12px 24px 14px; border-radius:6px; text-decoration:none; border:2px solid var(--olive); color:var(--olive); background:transparent; transition:background .2s, color .2s, transform .1s;}
.btn:hover{background:var(--olive); color:var(--ink); transform:translateY(-2px);}
.btn.solid{background:var(--olive); color:var(--ink);}
.btn.solid:hover{background:var(--cream); border-color:var(--cream);}

/* ---------- PORTRAIT ---------- */
.portrait{position:relative; justify-self:center;}
.frame{position:relative; width:min(360px,78vw); aspect-ratio:807/1024; background:#0b0b07; border:6px solid var(--olive-dark); border-radius:10px; overflow:hidden; box-shadow:0 24px 60px rgba(0,0,0,.65); animation:breathe 6s ease-in-out infinite;}
@keyframes breathe{0%,100%{transform:scale(1) rotate(-.4deg)}50%{transform:scale(1.02) rotate(.4deg)}}
.frame img{width:100%; height:100%; object-fit:cover; display:block; animation:glitch 7s steps(1) infinite;}
@keyframes glitch{0%,96%,100%{transform:translate(0,0);}97%{transform:translate(-3px,1px);}98%{transform:translate(3px,-1px);}99%{transform:translate(-2px,0);}}
.frame::after{content:""; position:absolute; inset:0; pointer-events:none; background:repeating-linear-gradient(0deg, rgba(0,0,0,.12) 0 2px, transparent 2px 4px); mix-blend-mode:overlay; opacity:.5;}
.tag{position:absolute; bottom:-16px; left:50%; transform:translateX(-50%) rotate(-2deg); font-family:'Germania One','Impact',fantasy; text-transform:uppercase; letter-spacing:2px; background:var(--bg); color:var(--olive); border:2px solid var(--olive); padding:6px 16px 8px; border-radius:30px; white-space:nowrap; font-size:1rem;}

/* ---------- FOOTER ---------- */
.site-footer{position:relative; z-index:2; border-top:1px solid rgba(179,176,56,.25); padding:26px 40px; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;}
.site-footer .fnote{font-family:'Germania One','Impact',fantasy; color:var(--olive-2); letter-spacing:2px; text-transform:uppercase; font-size:1rem;}
.site-footer .fsmall{color:var(--cream); opacity:.5; font-size:.85rem;}

@media (max-width:860px){
  .hero{grid-template-columns:1fr; text-align:center; padding-top:20px;}
  .portrait{order:-1;}
  .sub{margin-left:auto; margin-right:auto;}
  .cta-row{justify-content:center;}
  .site-header{justify-content:center; text-align:center;}
  .site-header nav{width:100%; justify-content:center;}
  .logo{max-width:none;}
}

/* ================= THINGS PAGE ================= */
.page-hero{position:relative;z-index:2;text-align:center;padding:36px 20px 6px;}
.page-hero h1{font-family:'Germania One','Impact',fantasy;color:var(--olive);text-transform:uppercase;font-size:clamp(2rem,5vw,3.4rem);line-height:1;letter-spacing:1px;}
.page-hero p{color:var(--cream);opacity:.65;margin-top:12px;font-size:1rem;}
.feeds{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding:30px 40px 90px;display:grid;grid-template-columns:1fr 1fr;gap:26px;}
.feed-card{background:#12120c;border:1px solid rgba(179,176,56,.25);border-radius:14px;padding:22px;box-shadow:0 14px 40px rgba(0,0,0,.5);}
.feed-head{display:flex;align-items:center;gap:13px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px dashed rgba(179,176,56,.25);}
.ficon{width:40px;height:40px;flex:0 0 40px;display:flex;align-items:center;justify-content:center;color:var(--olive);}
.ficon svg{width:30px;height:30px;}
.fname{font-family:'Germania One','Impact',fantasy;text-transform:uppercase;color:var(--cream);font-size:1.3rem;letter-spacing:1px;line-height:1;}
.fhandle{color:var(--olive-2);font-size:.82rem;margin-top:3px;}
.fview{margin-left:auto;font-family:'Germania One','Impact',fantasy;text-transform:uppercase;font-size:.8rem;letter-spacing:1px;color:var(--olive);text-decoration:none;border:1px solid var(--olive);padding:6px 12px;border-radius:20px;white-space:nowrap;transition:background .2s,color .2s;}
.fview:hover{background:var(--olive);color:var(--ink);}
.ig-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.ig-tile{aspect-ratio:1;border-radius:6px;overflow:hidden;background:linear-gradient(135deg,var(--olive-dark),#1c1c10);}
.ig-tile img{width:100%;height:100%;object-fit:cover;display:block;}
.yt-item{display:flex;gap:12px;margin-bottom:14px;}
.yt-item:last-child{margin-bottom:0;}
.yt-thumb{position:relative;width:150px;flex:0 0 150px;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:linear-gradient(135deg,#2a2010,#0e0e08);}
.yt-thumb img{width:100%;height:100%;object-fit:cover;opacity:.8;}
.yt-thumb::after{content:"\25B6";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.3rem;text-shadow:0 2px 8px #000;}
.yt-meta{align-self:center;}
.yt-meta .t{font-weight:700;color:var(--cream);line-height:1.25;}
.yt-meta .d{color:var(--olive-2);font-size:.8rem;margin-top:5px;}
.bc-item{display:flex;gap:13px;align-items:center;margin-bottom:16px;}
.bc-item:last-child{margin-bottom:0;}
.bc-art{width:66px;height:66px;flex:0 0 66px;border-radius:6px;background:linear-gradient(135deg,var(--olive),var(--olive-dark));display:flex;align-items:center;justify-content:center;color:var(--ink);font-family:'Germania One','Impact',fantasy;font-size:1.6rem;}
.bc-meta{flex:1;min-width:0;}
.bc-meta .t{font-weight:700;color:var(--cream);}
.bc-meta .d{color:var(--olive-2);font-size:.8rem;margin-top:2px;}
.bc-bar{height:6px;border-radius:3px;background:rgba(179,176,56,.2);margin-top:9px;position:relative;overflow:hidden;}
.bc-bar i{position:absolute;left:0;top:0;height:100%;width:40%;background:var(--olive);border-radius:3px;}
.bs-post{display:flex;gap:12px;margin-bottom:15px;}
.bs-post:last-child{margin-bottom:0;}
.bs-av{width:40px;height:40px;flex:0 0 40px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,var(--olive),var(--olive-dark));}
.bs-av img{width:100%;height:100%;object-fit:cover;}
.bs-body .h{color:var(--olive);font-weight:700;font-size:.9rem;}
.bs-body .h span{color:var(--olive-2);font-weight:400;}
.bs-body .txt{color:var(--cream);opacity:.9;margin-top:2px;line-height:1.45;}
@media (max-width:860px){ .feeds{grid-template-columns:1fr;padding:24px 20px 70px;} }

/* ================= THOUGHTS (blog) ================= */
.thought-list{position:relative;z-index:2;max-width:760px;margin:0 auto;padding:20px 40px 90px;}
.thought-card{padding:30px 0;border-bottom:1px dashed rgba(179,176,56,.25);}
.thought-card:first-child{padding-top:16px;}
.thought-card .date{font-family:'Germania One','Impact',fantasy;color:var(--olive-2);text-transform:uppercase;letter-spacing:2px;font-size:.8rem;margin-bottom:10px;}
.thought-card h2{font-family:'Germania One','Impact',fantasy;text-transform:uppercase;font-size:clamp(1.6rem,3.6vw,2.5rem);line-height:1.02;margin-bottom:12px;}
.thought-card h2 a{color:var(--cream);text-decoration:none;transition:color .2s;}
.thought-card h2 a:hover{color:var(--olive);}
.thought-card .excerpt{color:var(--cream);opacity:.8;line-height:1.6;}
.thought-card .more{display:inline-block;margin-top:14px;font-family:'Germania One','Impact',fantasy;text-transform:uppercase;letter-spacing:1px;color:var(--olive);text-decoration:none;font-size:.9rem;}
.thought-card .more:hover{text-decoration:underline;}

/* pagination */
.thought-list .navigation{margin-top:36px;}
.thought-list .nav-links{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.thought-list .page-numbers{font-family:'Germania One','Impact',fantasy;color:var(--olive);text-decoration:none;border:1px solid rgba(179,176,56,.4);padding:6px 12px;border-radius:8px;}
.thought-list .page-numbers.current{background:var(--olive);color:var(--ink);}

/* single post */
.post-single{position:relative;z-index:2;max-width:720px;margin:0 auto;padding:16px 40px 90px;}
.post-single .date{font-family:'Germania One','Impact',fantasy;color:var(--olive-2);text-transform:uppercase;letter-spacing:2px;font-size:.8rem;margin-bottom:12px;}
.post-single h1{font-family:'Germania One','Impact',fantasy;text-transform:uppercase;color:var(--cream);font-size:clamp(2rem,5vw,3.2rem);line-height:1.02;margin-bottom:24px;}
.post-content{color:var(--cream);line-height:1.75;font-size:1.08rem;}
.post-content p{margin-bottom:1.2em;}
.post-content h2,.post-content h3{font-family:'Germania One','Impact',fantasy;color:var(--olive);text-transform:uppercase;letter-spacing:1px;margin:1.5em 0 .5em;line-height:1.1;}
.post-content a{color:var(--olive);}
.post-content blockquote{border-left:3px solid var(--olive);padding-left:18px;margin:1.3em 0;font-style:italic;opacity:.9;}
.post-content ul,.post-content ol{padding-left:1.4em;margin-bottom:1.2em;}
.post-content li{margin-bottom:.4em;}
.post-content img{max-width:100%;height:auto;border-radius:8px;margin:1em 0;}
.back-link{display:inline-block;margin-top:34px;font-family:'Germania One','Impact',fantasy;text-transform:uppercase;letter-spacing:1px;color:var(--olive);text-decoration:none;border:1px solid var(--olive);padding:8px 16px;border-radius:20px;font-size:.85rem;transition:background .2s,color .2s;}
.back-link:hover{background:var(--olive);color:var(--ink);}
@media (max-width:860px){ .thought-list{padding:20px 22px 70px;} .post-single{padding:16px 22px 70px;} }

/* ================= CONTACT ================= */
.contact-wrap{position:relative;z-index:2;max-width:640px;margin:0 auto;padding:20px 40px 90px;}
.contact-intro{color:var(--cream);opacity:.85;line-height:1.65;font-size:1.1rem;margin-bottom:30px;}
.field{margin-bottom:18px;}
.field label{display:block;font-family:'Germania One','Impact',fantasy;text-transform:uppercase;letter-spacing:1px;color:var(--olive);font-size:.85rem;margin-bottom:7px;}
.field input,.field textarea{width:100%;background:#12120c;border:1px solid rgba(179,176,56,.3);border-radius:8px;color:var(--cream);font-family:inherit;font-size:1rem;padding:12px 14px;outline:none;transition:border-color .2s;}
.field input:focus,.field textarea:focus{border-color:var(--olive);}
.field textarea{resize:vertical;}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.send-btn{font-family:'Germania One','Impact',fantasy;text-transform:uppercase;letter-spacing:1px;font-size:1.15rem;padding:13px 26px 15px;border-radius:8px;border:2px solid var(--olive);background:var(--olive);color:var(--ink);transition:background .2s,color .2s,transform .1s;margin-top:6px;cursor:none;}
.send-btn:hover{background:var(--cream);border-color:var(--cream);transform:translateY(-2px);}
.form-note{padding:14px 16px;border-radius:8px;margin-bottom:22px;font-size:.95rem;}
.form-note.ok{background:rgba(179,176,56,.15);border:1px solid var(--olive);color:var(--cream);}
.form-note.err{background:rgba(193,60,40,.18);border:1px solid #b3402a;color:#f0d3cb;}
@media (max-width:860px){ .contact-wrap{padding:20px 22px 70px;} }

/* ================= LIVE FEED EMBEDS ================= */
.yt-embed{position:relative;width:100%;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:#000;}
.yt-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.bc-embed iframe{display:block;width:100%;height:120px;border:0;border-radius:8px;background:#12120c;}
.bsky-feed .bs-loading{color:var(--olive-2);font-size:.9rem;padding:6px 0;}
