:root{--paper:#f0ebe3;--paper2:#e6e0d4;--card:#f8f5ef;--ink:#0f3d2c;--ink2:#3f6455;--ink3:#7d9186;--rule:rgba(15,61,44,.16);--leaf:#2f8f5b;--clay:#c4552d;--ease:cubic-bezier(.2,.75,.1,1)}
*{box-sizing:border-box;margin:0;padding:0;font-variant-ligatures:none!important;font-feature-settings:"liga" 0,"clig" 0,"calt" 0,"dlig" 0!important}
html{scroll-behavior:smooth;background:var(--paper);overflow-x:clip}
body{background:transparent;color:var(--ink);font:400 17px/1.55 "Hanken Grotesk",system-ui,sans-serif;-webkit-font-smoothing:antialiased;min-height:100vh}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;color:inherit}
h1,h2,h3{font-weight:500;letter-spacing:-.025em;line-height:1.05;text-wrap:balance}
p{text-wrap:pretty}
.px{font-family:"Pixelify Sans",monospace;letter-spacing:0}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
#dots{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.top{position:fixed;top:0;left:0;right:0;z-index:30;display:flex;justify-content:space-between;align-items:center;padding:18px 26px;pointer-events:none}
.top>*{pointer-events:auto}
.word{font:700 30px "Pixelify Sans",monospace;letter-spacing:.01em;line-height:1;color:var(--leaf)}
.word span{color:var(--ink)}
.top .word{background:var(--card);padding:8px 14px;border-radius:12px;border:1px solid var(--rule)}
.pills{display:flex;gap:8px}
.pill{padding:10px 18px;border-radius:99px;background:var(--card);border:1px solid var(--rule);font-size:15px;transition:background .25s,color .25s}
.pill:hover,.pill.on{background:var(--ink);color:var(--paper)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 26px;border-radius:99px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font-weight:600;font-size:16px;cursor:pointer;transition:transform .3s var(--ease),background .25s,color .25s}
.btn:hover{transform:translateY(-2px);background:var(--leaf);border-color:var(--leaf)}
.btn.ghost{background:none;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn.sm{padding:10px 16px;font-size:14px}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}
.hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1fr);gap:40px;min-height:100vh;padding:18px}
.art{border-radius:22px;overflow:hidden;background:url(img/hero.webp) center 62%/cover no-repeat;mix-blend-mode:multiply;min-height:600px}
.pitch{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 28px 40px}
.pitch .word{font-size:clamp(44px,5vw,68px)}
.pitch h1{font-size:clamp(32px,3.2vw,46px);margin-top:26px}
.pitch h1 span{color:var(--ink3)}
.pitch .lead{margin-top:18px;max-width:520px;font-size:18.5px;color:var(--ink2)}
.stack{display:grid;gap:10px;width:min(100%,380px);margin-top:30px}
.ca{margin-top:14px;display:inline-flex;gap:12px;padding:10px 18px;border-radius:99px;background:var(--card);border:1px solid var(--rule);font:400 13.5px "DM Mono",monospace}
.ca span{color:var(--ink3)}
.strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:34px 0 0}
.tile{background:var(--card);border:1px solid var(--rule);border-radius:18px;padding:18px 20px;font-size:14px}
.tile h3{font:700 19px "Pixelify Sans",monospace;margin-bottom:10px}
.kv{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--rule)}
.kv:first-of-type{border-top:0}
.kv span{color:var(--ink2)}
.kv b{font:500 13.5px "DM Mono",monospace;text-align:right}
section.blk{padding:110px 0}
.row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:64px;align-items:center}
.row.flip>:first-child{order:2}
.h2{font:700 clamp(32px,3.6vw,48px)/1.08 "Pixelify Sans",monospace;letter-spacing:0}
.row p{margin-top:16px;color:var(--ink2)}
.panel{background:var(--card);border:1px solid var(--rule);border-radius:20px;padding:22px;box-shadow:0 24px 60px rgba(15,61,44,.08)}
table{width:100%;border-collapse:collapse;font:400 13.5px "DM Mono",monospace}
th{text-align:left;font-weight:500;color:var(--ink3);padding:0 8px 10px 0}
td{padding:9px 8px 9px 0;border-top:1px solid var(--rule)}
td:last-child,th:last-child{text-align:right;padding-right:0}
.row p.foot-note,.foot-note{margin-top:12px;font-size:13.5px;color:var(--ink3)}
.empty{padding:22px 0;text-align:center;color:var(--ink3);font-size:15px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:56px}
.debt{background:var(--card);border:1px solid var(--rule);border-radius:20px;padding:26px}
.debt h3{font:700 26px "Pixelify Sans",monospace}
.debt p{margin-top:10px;color:var(--ink2)}
.soil{height:clamp(220px,28vw,400px);background:url(img/soil.webp) center/cover;border-radius:22px;margin-top:14px}
label.f{display:block;font-size:14px;color:var(--ink2);margin-top:14px}
label.f>span{display:flex;justify-content:space-between;margin-bottom:6px}
label.f b{font:500 13.5px "DM Mono",monospace;color:var(--ink)}
input[type=text],input[type=number],textarea{width:100%;padding:12px 14px;border:1px solid var(--rule);border-radius:12px;background:var(--paper);outline:none}
input:focus,textarea:focus{border-color:var(--ink)}
textarea{min-height:96px;resize:vertical}
input[type=range]{width:100%;accent-color:#0f3d2c}
.fin{text-align:center;padding:120px 32px}
.fin h2{margin:0 auto 26px;max-width:760px}
footer{border-top:1px solid var(--rule);padding:26px 0 34px;background:rgba(240,235,227,.92);position:relative}
.foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:14px;color:var(--ink2)}
.foot .fl{display:flex;gap:20px;flex-wrap:wrap}
.foot a:hover{color:var(--leaf)}
.page{padding:96px 32px 80px}
.page h1{font:700 clamp(36px,4.4vw,56px)/1.05 "Pixelify Sans",monospace;letter-spacing:0}
.page .sub{margin-top:12px;color:var(--ink2);max-width:640px}
.pots{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:14px}
.pot{border:1px solid var(--rule);border-radius:14px;padding:12px;background:var(--paper);min-height:92px;font-size:13px;line-height:1.25;display:flex;flex-direction:column;justify-content:space-between;gap:8px;min-width:0;overflow-wrap:anywhere}
.pot b{font:500 12.5px "DM Mono",monospace;color:var(--ink3)}
.pot.full{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.pot.full b{color:#9fbcae}
.pot.big{grid-column:span 3}
.pot.huge{grid-column:span 6}
.feed{list-style:none;font-size:14.5px}
.feed li{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-top:1px solid var(--rule)}
.feed li:first-child{border-top:0}
.feed time{font:400 12.5px "DM Mono",monospace;color:var(--ink3);white-space:nowrap}
.grid2{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:18px;margin-top:30px;align-items:start}
.acard{margin-bottom:14px}
.acard h3{font:700 22px "Pixelify Sans",monospace}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}
.stats div{background:var(--paper);border-radius:12px;padding:10px 12px;font-size:13px;color:var(--ink2)}
.stats b{display:block;font:500 15px "DM Mono",monospace;color:var(--ink)}
.acts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.act{border:1px solid var(--rule);border-radius:14px;padding:14px;min-width:0}
.act h4{font-size:15px;font-weight:600;margin-bottom:8px}
.act .in{display:flex;gap:8px}
.act .in input{min-width:0}
.out{margin-top:10px;font-size:14.5px;white-space:pre-wrap}
.err{color:var(--clay)}
pre{background:var(--ink);color:#e8efe9;border-radius:14px;padding:16px;font:400 13px/1.6 "DM Mono",monospace;overflow:auto;margin-top:10px}
.doc h2{font:700 26px "Pixelify Sans",monospace;margin-top:40px}
.doc p{margin-top:8px;color:var(--ink2)}
.rv{opacity:0;transform:translateY(16px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{transform:translateY(6px);transition-duration:.5s}}
@media (max-width:980px){
 .hero{grid-template-columns:1fr;min-height:0}.art{min-height:420px;order:2}
 .row,.two,.grid2{grid-template-columns:1fr;gap:30px}.row.flip>:first-child{order:0}
 .strip{grid-template-columns:1fr 1fr}.pots{grid-template-columns:repeat(4,minmax(0,1fr))}.pot.big{grid-column:span 2}.pot.huge{grid-column:span 4}
}
@media (max-width:600px){
 .wrap,.page{padding-left:16px;padding-right:16px}.top{padding:12px}.word{font-size:24px}.pill{padding:8px 12px;font-size:13.5px}
 .strip,.acts{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}section.blk{padding:72px 0}
 .pots{grid-template-columns:repeat(3,minmax(0,1fr))}.pot.huge{grid-column:span 3}.pot.big{grid-column:span 3}
 table{font-size:12px}
}
.beta{display:inline-block;align-self:center;font:500 12px "DM Mono",monospace;padding:6px 10px;border-radius:8px;background:var(--ink);color:var(--paper)}
.pill.w{cursor:pointer;font-family:"DM Mono",monospace;font-size:13.5px;white-space:pre}
.modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:16px;background:rgba(15,61,44,.35)}
.sheet{position:relative;width:min(100%,400px);background:var(--card);border-radius:20px;padding:26px;display:grid;gap:10px}
.sheet h3{font-size:26px}
.sheet p{color:var(--ink2);font-size:15px}
.sheet .err{color:var(--clay);min-height:0}
.sheet .x{position:absolute;right:14px;top:10px;border:0;background:none;font-size:24px;cursor:pointer;color:var(--ink2)}
.act .out{margin-top:6px}
@media (max-width:760px){.top{flex-wrap:wrap;gap:8px}.pills{flex-wrap:wrap}.pill.nav{display:none}}
.cols{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;padding-bottom:26px;font-size:14.5px}
.cols h4{font-weight:600;margin-bottom:8px}
.cols a,.cols span{display:block;padding:3px 0;color:var(--ink2)}
.cols a:hover{color:var(--leaf)}
.cookie{position:fixed;left:18px;bottom:18px;z-index:40;display:flex;align-items:center;gap:14px;max-width:min(560px,calc(100vw - 36px));padding:12px 16px;border-radius:16px;background:var(--card);border:1px solid var(--rule);box-shadow:0 14px 40px rgba(15,61,44,.14);font-size:14px}
.cookie a{text-decoration:underline}
.tile .ok{color:var(--leaf)}
.banner{position:relative;margin-top:34px;border-radius:22px;overflow:hidden;background:url(img/soil.webp) center/cover;min-height:300px;display:grid;place-items:center;padding:40px 20px;text-align:center}
.banner p{background:var(--ink);color:var(--paper);display:inline;padding:6px 12px;font-size:clamp(20px,2.4vw,30px);line-height:1.7;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.big4{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:24px}
.big4 div{background:var(--card);border:1px solid var(--rule);border-radius:16px;padding:16px}
.big4 b{display:block;font:700 28px "Pixelify Sans",monospace}
.big4 span{font-size:13.5px;color:var(--ink2)}
.qrow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.qrow div{background:var(--paper);border-radius:12px;padding:12px}
.qrow b{display:block;font:500 20px "DM Mono",monospace}
.qrow span{font-size:13px;color:var(--ink2)}
.sizes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:26px}
.sizes h3{font:700 34px "Pixelify Sans",monospace}
.chain{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:14px;font:500 13px "DM Mono",monospace}
.chain span{background:var(--card);border:1px solid var(--rule);padding:8px 10px;border-radius:10px}
.docs{display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px;margin-top:20px}
.side{position:sticky;top:90px;align-self:start;display:grid;gap:2px;font-size:14.5px}
.side a{padding:6px 10px;border-radius:9px;color:var(--ink2)}
.side a:hover{background:var(--card);color:var(--ink)}
.doc section{scroll-margin-top:90px}
.tbl td:first-child{white-space:nowrap;padding-right:18px}
.tbl td:last-child{text-align:left}
.log article{padding:22px 0;border-top:1px solid var(--rule)}
.log time{font:500 12.5px "DM Mono",monospace;color:var(--ink3)}
.log h2{font:700 24px "Pixelify Sans",monospace;margin-top:6px}
.log p{margin-top:8px;color:var(--ink2)}
a.link{text-decoration:underline}
@media (max-width:980px){.cols{grid-template-columns:repeat(2,minmax(0,1fr))}.big4{grid-template-columns:repeat(2,minmax(0,1fr))}.qrow{grid-template-columns:repeat(2,minmax(0,1fr))}.sizes{grid-template-columns:1fr}.docs{grid-template-columns:1fr}.side{position:static;grid-template-columns:1fr 1fr}}
@media (max-width:600px){.cookie{flex-direction:column;align-items:flex-start;left:10px;right:10px;bottom:10px;max-width:none}}
.grid2>*,.docs>*,.row>*{min-width:0}
.tbl td:first-child{white-space:normal}
@media (max-width:600px){.side{grid-template-columns:1fr}.cols{grid-template-columns:1fr 1fr}}

html{scrollbar-width:none}html::-webkit-scrollbar{display:none}
.drumsec{position:relative;height:440px;margin-top:30px;overflow:hidden}
.drum{position:absolute;inset:0;perspective:2272px;perspective-origin:50% 150px;cursor:grab;touch-action:pan-y;user-select:none}
.drum.grab{cursor:grabbing}
.stage{position:absolute;inset:0;transform-style:preserve-3d}
.dcard{position:absolute;left:50%;top:14px;width:360px;height:252px;margin-left:-180px;padding:16px 18px;background:rgba(248,245,239,.97);border-radius:16px;box-shadow:0 1px 2px rgba(15,61,44,.08),0 10px 32px rgba(15,61,44,.12);backface-visibility:hidden;font-size:13.5px;overflow:hidden;will-change:transform}
.dh{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}
.dh h4{font-weight:600;font-size:15px}
.dh span{color:var(--ink3);font-size:13px}
.dcard .kv{padding:5px 0}
.dcard .kv b{font-size:12.5px}
.dcard pre{margin:0;font-size:11.5px;padding:12px;background:var(--paper2);color:var(--ink)}
.chips{position:absolute;left:18px;bottom:14px;display:flex;gap:6px;flex-wrap:wrap}
.chips span{font-size:11.5px;padding:3px 8px;background:var(--paper);border-radius:6px;color:var(--ink2)}
.meter{height:6px;border-radius:6px;background:var(--paper2);overflow:hidden;margin-bottom:6px}
.meter i{display:block;height:100%;background:var(--ink)}
.beats{display:flex;gap:4px;margin-bottom:6px}
.beats i{width:15px;height:15px;border-radius:3px;background:var(--leaf)}
.bubble{position:absolute;left:50%;top:292px;transform:translateX(-50%);width:max-content;max-width:min(420px,calc(100vw - 32px));padding:15px 20px;border-radius:26px;background:var(--card);font-size:17px;line-height:1.3;text-align:center;box-shadow:0 2px 6px rgba(15,61,44,.1),0 10px 40px rgba(15,61,44,.14);pointer-events:none}
.bubble.pop{animation:pop .45s cubic-bezier(.34,1.56,.64,1) both}
@keyframes pop{from{opacity:0;transform:translateX(-50%) scale(.3,.6)}to{opacity:1;transform:translateX(-50%) scale(1)}}
@media (max-width:600px){.dcard{width:290px;margin-left:-145px;height:250px}.drumsec{height:420px}}
.word sup{font:500 10px "DM Mono",monospace;color:var(--ink3);margin-left:5px;vertical-align:super;letter-spacing:.02em}
.home .top{opacity:0;transform:translateY(-10px);pointer-events:none;transition:opacity .35s,transform .35s var(--ease)}
.home .top>*{pointer-events:none}
.home .top.show{opacity:1;transform:none}
.home .top.show>*{pointer-events:auto}
.row>div:not(.panel),.pitch,.fin,.page>h1,.page>.sub,.doc,.log{position:relative;isolation:isolate}
.row>div:not(.panel)::before,.pitch::before,.fin::before,.page>h1::before,.page>.sub::before,.doc::before,.log::before{content:"";position:absolute;inset:-30px -12px;z-index:-1;background:var(--paper);filter:blur(22px);border-radius:40px;pointer-events:none}
body{overflow-x:clip}
.row p,.doc p,.debt p,.log p,.cookie p,.sheet p{text-wrap:balance}
.faq{margin-top:22px;display:grid;gap:8px}
.faq details{background:var(--card);border:1px solid var(--rule);border-radius:14px;padding:14px 18px}
.faq summary{cursor:pointer;font-weight:600}
.faq p{margin-top:8px;color:var(--ink2)}
