:root{
  --bg:#0c0907; --bg2:#120e0a; --panel:#17110c; --panel2:#1d1610; --line:rgba(237,230,218,.10); --line2:rgba(237,230,218,.18);
  --ink:#ede6da; --ink2:#a39684; --ink3:#6f6455; --amber:#F2A541; --amber2:#ffcf8a; --ember:#ff7a2a;
  --serif:'Instrument Serif',Georgia,serif; --mono:'JetBrains Mono',ui-monospace,Menlo,monospace; --sans:Inter,system-ui,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font:400 15px/1.6 var(--sans);min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}
body::before{content:'';position:fixed;inset:0;pointer-events:none;background:radial-gradient(1200px 600px at 50% -200px,rgba(242,165,65,.10),transparent 70%);z-index:0}
a{color:inherit}
.hidden{display:none!important}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;letter-spacing:-.01em}
main,header,footer,.mode{position:relative;z-index:1}
.lbl{font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}

/* top bar */
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:28px;padding:14px 28px;background:rgba(12,9,7,.78);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font:400 24px/1 var(--serif);letter-spacing:.01em}
.logo img{width:26px;height:26px}
.logo span em{font-style:italic;color:var(--amber)}
nav{display:flex;gap:22px;flex:1;flex-wrap:wrap}
nav a{text-decoration:none;font:500 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink2);padding:6px 0;border-bottom:1px solid transparent}
nav a:hover{color:var(--ink)}
nav a.on{color:var(--amber);border-color:var(--amber)}
.btn{font:500 13px/1 var(--sans);background:var(--amber);color:#1a1209;border:1px solid var(--amber);border-radius:999px;padding:12px 20px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:background .15s,color .15s,border-color .15s}
.btn:hover{background:var(--amber2);border-color:var(--amber2)}
.btn.small{padding:9px 16px;font-size:12.5px}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line2)}
.btn.ghost:hover{border-color:var(--ink2)}
.btn.green{background:transparent;color:var(--amber);border-color:var(--amber)}
.btn:disabled{opacity:.5;cursor:default}
.mode{background:var(--bg2);color:var(--ink2);text-align:center;font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:9px 12px;border-bottom:1px solid var(--line)}
.mode b{color:var(--amber);font-weight:500}

main{flex:1;width:100%;max-width:1240px;margin:0 auto;padding:36px 20px 56px}
.foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:20px 28px;border-top:1px solid var(--line);font:500 11px/1.4 var(--mono);letter-spacing:.06em;color:var(--ink3)}

/* hero */
.hero{display:grid;grid-template-columns:1.35fr 1fr;gap:48px;align-items:end;margin-bottom:32px}
.hero .lbl{display:block;margin-bottom:18px;color:var(--amber)}
.hero h1{font-size:clamp(52px,7.6vw,104px);line-height:.92}
.hero h1 em{font-style:italic;color:var(--amber)}
.hero p{font-size:17px;color:var(--ink2);margin:22px 0 26px;max-width:540px}
.hero p b{color:var(--ink);font-weight:500}
.hero .row{display:flex;gap:10px;flex-wrap:wrap}
.ca{display:inline-flex;align-items:center;gap:12px;border:1px solid var(--line2);border-radius:999px;padding:8px 8px 8px 16px;font:500 12px/1.2 var(--mono);max-width:100%;cursor:pointer;margin-top:18px;color:var(--ink2)}
.ca b{font-weight:500;color:var(--ink3);letter-spacing:.1em}
.ca span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.ca i{font-style:normal;background:var(--panel2);border:1px solid var(--line);border-radius:999px;padding:5px 10px;color:var(--ink2)}
.models{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.mtile{background:var(--panel);padding:16px;display:flex;gap:14px;align-items:center}
.mtile canvas{width:56px;height:56px;flex:none;border-radius:10px}
.mtile b{font:400 24px/1 var(--serif)}
.mtile small{display:block;color:var(--ink3);font:500 10.5px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-top:6px}

.stats{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden;margin:0 0 20px}
.stat{background:var(--panel);padding:16px 18px}
.stat small{display:block;font:500 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);margin-bottom:10px}
.stat b{font:400 30px/1 var(--serif);font-weight:400}

/* the tank */
.farmwrap{position:relative;border-radius:18px;overflow:hidden;background:#000;border:1px solid var(--line2);box-shadow:0 40px 120px -40px rgba(242,165,65,.18),0 30px 80px rgba(0,0,0,.6)}
#farm{display:block;width:100%;height:auto;cursor:pointer}
.farmbar{position:absolute;left:16px;bottom:14px;display:flex;gap:8px;flex-wrap:wrap;pointer-events:none}
.pill{background:rgba(12,9,7,.7);backdrop-filter:blur(6px);border:1px solid var(--line2);border-radius:999px;padding:5px 11px;font:500 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink2)}
.pill.live{color:var(--ink)}
.pill.live::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--ember);margin-right:7px;vertical-align:1px;box-shadow:0 0 8px var(--ember);animation:blink 1.6s infinite}
@keyframes blink{50%{opacity:.25}}

.grid2{display:grid;grid-template-columns:1.25fr 1fr;gap:20px;margin-top:28px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px;min-width:0}
.card h2{font-size:28px;margin-bottom:16px;display:flex;align-items:baseline;gap:12px;justify-content:space-between;flex-wrap:wrap}
.card h2 small{font:500 10.5px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
.card p{color:var(--ink2)}
.card p b{color:var(--ink);font-weight:500}

/* feed */
.feed{display:flex;flex-direction:column;max-height:600px;overflow:auto;margin:0 -6px;padding:0 6px}
.feed::-webkit-scrollbar,.wall::-webkit-scrollbar{width:6px}.feed::-webkit-scrollbar-thumb,.wall::-webkit-scrollbar-thumb{background:var(--line2);border-radius:3px}
.ev{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:start;padding:14px 0;border-bottom:1px solid var(--line)}
.ev:last-child{border-bottom:0}
.ev .av{width:40px;height:40px;border-radius:10px}
.ev .who{font:500 14px/1.3 var(--sans);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ev .who .tag{font:500 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
.ev .who .tag::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--c);margin-right:6px;vertical-align:1px}
.ev .mv{font:500 10px/1 var(--mono);letter-spacing:.12em;padding:4px 8px;border-radius:999px;border:1px solid var(--line2);color:var(--ink2)}
.mv.BURN{color:var(--ember)!important;border-color:rgba(255,122,42,.45)!important}.mv.GIFT,.mv.GIVE,.mv.HATCH{color:var(--amber)!important;border-color:rgba(242,165,65,.45)!important}.mv.LEAVE{color:#ff8f8f!important;border-color:rgba(255,143,143,.4)!important}
.ev .th{color:var(--ink);font:italic 400 19px/1.35 var(--serif);margin-top:4px}
.ev .sm{font-size:13.5px;color:var(--ink2);margin-top:2px}
.ev .auto{font:500 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);margin-top:8px}
.ev.sys,.ev.kind{grid-template-columns:1fr;text-align:center;font:italic 400 17px/1.4 var(--serif);color:var(--ink2);padding:12px 0}
.ev.kind{color:var(--amber2)}
.reply{margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--panel2);border:1px solid var(--line);font-size:13.5px;color:var(--ink2)}
.reply b{color:var(--ink);font-weight:500}
.reply q{font:italic 400 17px/1.35 var(--serif);color:var(--ink)}

/* glass */
.wall{display:flex;flex-direction:column;gap:12px;max-height:320px;overflow:auto}
.scr{font:italic 400 21px/1.3 var(--serif);padding-left:14px;border-left:2px solid var(--c,var(--line2))}
.scr small{display:block;font:500 10px/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);font-style:normal;margin-top:2px}

/* board */
.lb{width:100%;border-collapse:collapse;font-size:13.5px}
.lb th{text-align:left;font:500 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);padding:0 6px 10px 0;border-bottom:1px solid var(--line)}
.lb td{padding:11px 6px 11px 0;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.lb tr:last-child td{border-bottom:0}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:9px;vertical-align:1px}
.bar{height:4px;border-radius:2px;background:var(--panel2);overflow:hidden;min-width:60px}
.bar i{display:block;height:100%}

/* ants */
.intro{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:end;margin-bottom:24px}
.intro h1{font-size:56px;line-height:1}
.ants{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.ant{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:14px}
.ant.left{opacity:.5}
.ant .hd{display:flex;gap:14px;align-items:center}
.ant .hd canvas{width:72px;height:72px;flex:none;border-radius:12px;border:1px solid var(--line)}
.ant .hd b{font:400 30px/1 var(--serif)}
.ant .hd small{display:block;font:500 10.5px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);margin:6px 0}
.ant .bal{font:400 38px/1 var(--serif)}
.kv{display:grid;grid-template-columns:1fr auto;gap:7px 12px;font-size:13px;font-variant-numeric:tabular-nums}
.kv span{color:var(--ink3)}
.kv b{text-align:right;font-weight:500}
.thought{font:italic 400 19px/1.35 var(--serif);color:var(--ink);padding-left:12px;border-left:2px solid var(--c,var(--amber))}
.notes{font:400 12px/1.7 var(--mono);color:var(--ink2);background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;max-height:150px;overflow:auto}
.ant .ft{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto}
.badge{font:500 9.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:4px 8px;border-radius:999px;border:1px solid var(--line2);color:var(--ink3)}
.badge.on{color:var(--amber);border-color:rgba(242,165,65,.45)}

/* letters */
.write{display:flex;flex-direction:column;gap:14px}
textarea{width:100%;min-height:120px;resize:vertical;font:italic 400 20px/1.4 var(--serif);border:1px solid var(--line2);border-radius:12px;padding:14px 16px;background:var(--bg2);color:var(--ink);outline:none}
textarea:focus{border-color:var(--amber)}
textarea::placeholder{color:var(--ink3)}
.letters{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}
.letter{background:#e9dfcc;color:#2a2017;border-radius:4px;padding:18px 18px 16px;box-shadow:0 14px 30px rgba(0,0,0,.45);position:relative}
.letter::before{content:'';position:absolute;inset:0;border-radius:4px;background:repeating-linear-gradient(transparent 0 27px,rgba(90,70,50,.10) 27px 28px);pointer-events:none}
.letter .t{font:italic 400 21px/1.33 var(--serif);position:relative}
.letter small{font:500 10px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#7d6c58;display:block;margin-bottom:8px;position:relative}
.letter .reply{background:rgba(42,32,23,.07);border-color:rgba(42,32,23,.15);color:#4a3c2e;position:relative}
.letter .reply b,.letter .reply q{color:#2a2017}
.msg{font:500 12px/1.4 var(--mono)}
.msg.err{color:#ff8f7a}.msg.ok{color:var(--amber)}

/* record + how */
.tbl{width:100%;border-collapse:collapse;font-size:13.5px;font-variant-numeric:tabular-nums}
.tbl th{text-align:left;font:500 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);padding:0 8px 10px 0;border-bottom:1px solid var(--line)}
.tbl td{padding:11px 8px 11px 0;border-bottom:1px solid var(--line);vertical-align:top}
.tbl a{color:var(--amber);text-decoration:none;font:500 11px var(--mono)}
.how{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:18px}
.how h1{font-size:64px;line-height:1;margin-bottom:6px}
.how h1 em{font-style:italic;color:var(--amber)}
.moves{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.mvcard{background:var(--panel2);padding:14px 16px;color:var(--ink2);font-size:14px}
.mvcard b{display:block;font:500 11px/1 var(--mono);letter-spacing:.14em;color:var(--amber);margin-bottom:8px}
.split{display:flex;height:46px;border-radius:10px;overflow:hidden;font:500 11px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;gap:2px}
.split div{display:flex;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden;color:#1a1209;padding:0 8px}
.note{font:italic 400 21px/1.45 var(--serif);color:var(--ink);border-left:2px solid var(--amber);padding-left:18px;margin:4px 0 14px}
.faq details{border-top:1px solid var(--line);padding:14px 0}
.faq details:first-of-type{border-top:0}
.faq summary{font:400 20px var(--serif);cursor:pointer;list-style:none}
.faq summary::before{content:'+';font:400 14px var(--mono);color:var(--amber);margin-right:12px}
.faq details[open] summary::before{content:'−'}
.faq p{margin:8px 0 0 26px}

@media (max-width:900px){
  .hero{grid-template-columns:1fr;gap:28px}
  .stats{grid-template-columns:repeat(3,1fr)}
  .grid2{grid-template-columns:1fr}
  .top{flex-wrap:wrap;gap:10px 16px;padding:12px 16px}
  nav{order:3;width:100%;gap:18px}
  .intro{grid-template-columns:1fr}
}
@media (max-width:520px){
  main{padding:24px 16px 40px}
  .stats{grid-template-columns:repeat(2,1fr)}
  .hero h1{font-size:54px}
  .card{padding:18px}
  .how h1,.intro h1{font-size:44px}
}
