:root{
  --bg:#080808;
  --panel:#101010;
  --panel-2:#151515;
  --ink:#f1eee8;
  --muted:#8e8b86;
  --line:#282828;
  --red:#d31324;
  --red-dark:#7f0b16;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
.container{width:min(var(--max),calc(100% - 42px));margin:0 auto}

/* header */
.header{position:sticky;top:0;z-index:50;background:rgba(8,8,8,.82);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.05)}
.nav{height:76px;display:flex;align-items:center;gap:30px}
.brand{display:flex;align-items:center;gap:12px;margin-right:auto;font-family:Georgia,serif;font-weight:700;letter-spacing:.04em}
.brand-eye{width:38px;height:26px;border:2px solid var(--ink);border-radius:55% 15% 55% 15%;transform:rotate(45deg);position:relative;flex:none}
.brand-eye:before{content:"?";position:absolute;inset:0;display:grid;place-items:center;transform:rotate(-45deg);font-weight:800;color:var(--red);font-family:Arial,sans-serif}
.navlinks{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.navlinks a,.chip{border:1px solid #333;border-radius:999px;padding:8px 14px;font-size:12px;color:#c8c5c0;transition:.2s ease;background:transparent}
.navlinks a:hover,.navlinks a.active,.chip:hover{border-color:#777;color:#fff}
.nav-cta{border-color:var(--red)!important;color:#fff!important}
.menu{display:none;background:none;border:0;color:white;font-size:26px}

/* hero */
.hero{min-height:calc(100vh - 76px);display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:70px;padding:68px 0 80px}
.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.22em;color:var(--muted);display:flex;align-items:center;gap:10px}.eyebrow:before{content:"";width:8px;height:8px;background:var(--red);border-radius:50%}
.hero h1{font-size:clamp(58px,8vw,128px);line-height:.87;letter-spacing:-.06em;margin:30px 0 24px;font-weight:750;max-width:950px}
.hero h1 em{color:var(--red);font-style:normal;font-family:Georgia,serif;font-weight:600}
.hero-copy{max-width:630px;color:#a6a39f;font-size:17px}
.hero-actions{display:flex;gap:12px;align-items:center;margin-top:34px;flex-wrap:wrap}
.btn{padding:13px 19px;border-radius:999px;border:1px solid #3b3b3b;background:#111;color:#fff;font-weight:650;font-size:13px}
.btn.primary{background:var(--red);border-color:var(--red)}
.btn.ghost:hover{border-color:#777}
.hero-mark{position:relative;min-height:430px;display:grid;place-items:center}
.hero-mark:before{content:"";position:absolute;width:330px;height:330px;border:1px solid #252525;border-radius:50%}
.hero-mark:after{content:"";position:absolute;width:210px;height:210px;border:1px solid #1e1e1e;border-radius:50%}
.eye-orbit{width:270px;height:150px;border:7px solid var(--ink);border-left-width:3px;border-right-width:3px;border-radius:55% 12% 55% 12%;transform:rotate(45deg);display:grid;place-items:center;position:relative;z-index:2;background:#090909}
.eye-orbit span{transform:rotate(-45deg);display:grid;place-items:center;width:98px;height:98px;border-radius:50%;background:#050505;color:var(--red);font-size:84px;line-height:1;font-family:Georgia,serif}
.hero-micro{position:absolute;bottom:20px;right:0;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#666}

/* general sections */
.section{padding:108px 0;border-top:1px solid #151515}
.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:42px}
.section-head h2{font-size:clamp(38px,5vw,72px);line-height:.95;letter-spacing:-.045em;margin:10px 0 0}
.section-head p{max-width:500px;color:var(--muted);margin:0}
.text-red{color:var(--red)}

/* riddle feature */
.feature-riddle{display:grid;grid-template-columns:1.25fr .75fr;border:1px solid var(--line);background:linear-gradient(135deg,#101010,#0a0a0a);min-height:520px}
.feature-copy{padding:48px;display:flex;flex-direction:column;justify-content:space-between}
.kicker{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#9c9994}
.feature-copy h3{font-size:clamp(36px,4.8vw,70px);line-height:1;letter-spacing:-.04em;margin:16px 0 18px;max-width:800px}
.feature-copy p{color:#aaa7a2;max-width:700px}
.meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.meta span{font-size:11px;border:1px solid #333;border-radius:999px;padding:7px 10px;color:#aaa}
.feature-side{border-left:1px solid var(--line);padding:34px;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 60% 20%,rgba(211,19,36,.13),transparent 45%)}
.level{font-size:72px;line-height:1;font-family:Georgia,serif;color:var(--red)}
.reveal-box{border-top:1px solid var(--line);padding-top:24px}.reveal-time{font-size:30px;font-weight:700;letter-spacing:-.03em}

/* cards */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{border:1px solid var(--line);background:var(--panel);padding:24px;min-height:250px;display:flex;flex-direction:column;transition:.22s ease}
.card:hover{transform:translateY(-3px);border-color:#454545;background:#121212}
.card .num{font-family:Georgia,serif;color:var(--red);font-size:28px}
.card h3{font-size:24px;letter-spacing:-.025em;margin:36px 0 10px}
.card p{font-size:14px;color:#8f8c87;margin:0 0 24px}
.card .card-foot{margin-top:auto;display:flex;justify-content:space-between;gap:10px;color:#666;font-size:11px;text-transform:uppercase;letter-spacing:.1em}

/* leaderboard */
.board{display:grid;grid-template-columns:.7fr 1.3fr;border:1px solid var(--line)}
.board-intro{padding:40px;background:#0d0d0d}.board-intro h3{font-size:42px;line-height:1;letter-spacing:-.04em;margin:14px 0}.board-intro p{color:#87847f}
.rank-list{padding:16px 26px}.rank{display:grid;grid-template-columns:45px 1fr auto;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid #202020}.rank:last-child{border-bottom:0}.rank .place{font-family:Georgia,serif;color:var(--red);font-size:24px}.rank b{font-size:14px}.rank small{color:#666}.score{font-weight:800}

/* editorial list */
.list{border-top:1px solid var(--line)}
.story-row{display:grid;grid-template-columns:110px 1fr 160px;gap:30px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}
.story-row .idx{font-family:Georgia,serif;font-size:42px;color:#444}.story-row h3{font-size:29px;letter-spacing:-.03em;margin:0 0 8px}.story-row p{margin:0;color:#777;font-size:14px}.story-row .tag{justify-self:end;border:1px solid #333;border-radius:999px;padding:8px 12px;font-size:11px;color:#999}

/* submit */
.submit-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start}.submit-copy h2{font-size:60px;line-height:.95;letter-spacing:-.045em}.submit-copy p{color:#8b8883;max-width:430px}
.form{border:1px solid var(--line);background:#0e0e0e;padding:30px}.field{margin-bottom:18px}.field label{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#7e7b76;margin-bottom:8px}.field input,.field textarea,.field select{width:100%;background:#090909;border:1px solid #2d2d2d;color:#eee;padding:13px 14px;outline:none}.field textarea{min-height:150px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:#666}

/* ad */
.ad-slot{border:1px dashed #292929;padding:18px;text-align:center;color:#4f4f4f;font-size:10px;letter-spacing:.2em;text-transform:uppercase;margin:28px 0;background:#0a0a0a}

/* about/footer */
.about{display:grid;grid-template-columns:1fr 1fr;gap:70px}.about h2{font-size:70px;line-height:.9;letter-spacing:-.05em;margin:0}.about p{color:#96938e;font-size:17px}.footer{padding:44px 0 30px;border-top:1px solid #151515}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:center}.socials{display:flex;gap:10px;flex-wrap:wrap}.socials a{border:1px solid #333;border-radius:999px;padding:9px 13px;font-size:12px;color:#aaa}.copyright{margin-top:38px;color:#4f4f4f;font-size:11px;display:flex;justify-content:space-between;gap:20px}

/* pages */
.page-hero{padding:86px 0 55px}.page-hero h1{font-size:clamp(58px,8vw,110px);letter-spacing:-.055em;line-height:.9;margin:20px 0}.page-hero p{color:#8e8b86;max-width:620px;font-size:17px}
.filterbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}
.content-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.content-card{min-height:340px;border:1px solid var(--line);padding:24px;background:#0e0e0e;display:flex;flex-direction:column}.content-card .top{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#777}.content-card h3{font-size:30px;line-height:1.05;letter-spacing:-.035em;margin:64px 0 12px}.content-card p{color:#83807b;font-size:14px}.content-card .bottom{display:flex;justify-content:space-between;margin-top:auto;color:#666;font-size:11px}

/* post detail */
.post{max-width:820px;margin:0 auto;padding:80px 0}.post h1{font-size:clamp(46px,7vw,86px);line-height:.95;letter-spacing:-.05em}.post .lead{font-size:20px;color:#aaa}.post article{font-family:Georgia,serif;font-size:20px;line-height:1.9;color:#d2cec7}.post article p{margin:0 0 26px}.discussion{margin-top:50px;border-top:1px solid var(--line);padding-top:30px}.comment{padding:18px 0;border-bottom:1px solid #1d1d1d}.comment small{color:#666}.reveal-locked{border:1px solid #3b2024;background:#120b0c;padding:24px;margin:40px 0}.reveal-locked h3{margin:0 0 8px;color:#f0eae3}.countdown{font-size:38px;font-weight:800;color:var(--red)}

/* admin */
.admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat{border:1px solid var(--line);padding:22px;background:#0e0e0e}.stat strong{display:block;font-size:32px}.stat span{font-size:11px;color:#777;text-transform:uppercase;letter-spacing:.12em}

@media (max-width:900px){
 .menu{display:block}.navlinks{display:none;position:absolute;top:76px;left:0;right:0;background:#090909;padding:18px 21px;border-bottom:1px solid #222}.navlinks.open{display:flex}.hero{grid-template-columns:1fr;gap:20px;min-height:auto}.hero-mark{min-height:330px;order:-1}.feature-riddle{grid-template-columns:1fr}.feature-side{border-left:0;border-top:1px solid var(--line);min-height:300px}.grid,.content-grid{grid-template-columns:1fr 1fr}.board,.submit-wrap,.about{grid-template-columns:1fr}.story-row{grid-template-columns:60px 1fr}.story-row .tag{display:none}.admin-grid{grid-template-columns:1fr 1fr}.section{padding:76px 0}
}
@media (max-width:600px){.container{width:min(100% - 28px,var(--max))}.grid,.content-grid{grid-template-columns:1fr}.hero{padding-top:36px}.hero h1{font-size:58px}.hero-mark{transform:scale(.82);margin:-30px 0}.feature-copy{padding:28px}.section-head{display:block}.section-head p{margin-top:16px}.about h2,.submit-copy h2{font-size:48px}.footer-top,.copyright{align-items:flex-start;flex-direction:column}.admin-grid{grid-template-columns:1fr}.page-hero{padding-top:55px}}

/* ===== v2 fixes: contrast, focus, footer links, legal ===== */
.ad-slot{color:#7c7973}
.copyright{color:#7c7973}
.story-row p{color:#8b8883}
.content-card p{color:#94918b}
.foot-links{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.foot-links a{color:#b9b6b0}
.foot-links a:hover{color:#fff}
:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:4px}
.legal article h3{font-family:Inter,system-ui,sans-serif;font-size:22px;letter-spacing:-.01em;margin:34px 0 6px;color:#f0ece5}
.legal article p{font-family:Inter,system-ui,sans-serif;font-size:16px;line-height:1.75;color:#b4b0aa}

/* ===== v3: filters, cookie bar, 404 ===== */
.chip.active{border-color:#8a8a8a;color:#fff;background:#1a1a1a}
.cookiebar{position:fixed;left:0;right:0;bottom:0;z-index:80;display:flex;gap:16px;align-items:center;justify-content:center;flex-wrap:wrap;background:rgba(12,12,12,.96);backdrop-filter:blur(10px);border-top:1px solid #262626;padding:14px 20px;font-size:13px;color:#b4b0aa}
.cookiebar a{color:#e6e2db;text-decoration:underline}
.cookiebar .btn{padding:9px 16px;font-size:12px;white-space:nowrap}
.err-wrap{min-height:calc(100vh - 76px);display:grid;place-items:center;text-align:center;padding:60px 0}
.err-wrap .code{font-family:Georgia,serif;font-size:clamp(90px,20vw,220px);line-height:.9;color:var(--red)}
.err-wrap h1{font-size:clamp(30px,5vw,52px);letter-spacing:-.03em;margin:8px 0 12px}
.err-wrap p{color:#8e8b86;max-width:460px;margin:0 auto 26px}
