
:root{--bg:#050705;--panel:#0d120e;--panel2:#101812;--green:#59ff73;--text:#effff2;--dim:#9bb09f;--line:#263a2b;--white:#fff;--danger:#ff7777;--gold:#ffe38a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}body:after{content:"";position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(89,255,115,.025) 3px 4px);z-index:99}.wrap{max-width:1180px;margin:auto;padding:0 22px}.nav{position:sticky;top:0;z-index:20;background:rgba(5,7,5,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.navin{height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{color:var(--green);font-weight:900;letter-spacing:.12em;text-decoration:none}.navlinks{display:flex;gap:20px;align-items:center}.navlinks a{color:var(--dim);text-decoration:none}.navlinks a:hover{color:var(--green)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 17px;border:1px solid #397747;border-radius:8px;background:#112b18;color:var(--green);text-decoration:none;font:inherit;cursor:pointer}.btn:hover{background:#193e23}.btn.primary{box-shadow:0 0 30px rgba(89,255,115,.12)}.btn:disabled{opacity:.35;cursor:not-allowed}.hero{min-height:calc(100vh - 72px);display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:60px;padding:72px 0}.eyebrow{color:var(--green);letter-spacing:.15em;font-size:.82rem}.hero h1{font-size:clamp(3rem,8vw,7.2rem);line-height:.87;margin:20px 0;text-transform:uppercase;letter-spacing:-.07em;text-shadow:0 0 28px rgba(89,255,115,.12)}.hero p{color:var(--dim);font-size:1.1rem;line-height:1.75;max-width:700px}.heroart{position:relative;display:grid;place-items:center}.heroart img{width:min(100%,460px);aspect-ratio:1;image-rendering:pixelated;background:#fff;border:16px solid #fff;box-shadow:0 0 0 1px var(--line),0 40px 100px rgba(0,0,0,.6)}.statbar{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel)}.stat{padding:24px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat strong{display:block;color:var(--green);font-size:1.8rem}.stat span{color:var(--dim);font-size:.8rem}.section{padding:100px 0}.section h2{font-size:clamp(2rem,5vw,4rem);margin:0 0 20px}.lead{color:var(--dim);line-height:1.8;max-width:780px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:24px}.card b{color:var(--green)}.card p{color:var(--dim);line-height:1.65}.steps{counter-reset:n}.step{display:grid;grid-template-columns:56px 1fr;gap:18px;padding:28px 0;border-top:1px solid var(--line)}.step:before{counter-increment:n;content:"0" counter(n);color:var(--green);font-weight:900}.quote{border:1px solid #665b22;background:#191708;border-radius:12px;padding:32px;font-size:1.15rem;line-height:1.7}.links{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.footer{border-top:1px solid var(--line);padding:36px 0;color:var(--dim)}.mono{word-break:break-all;color:var(--green)}
/* app */.appbody{min-height:100vh}.apphead{padding:38px 0 10px}.apphead h1{color:var(--green);letter-spacing:.08em}.notice{border:1px solid #756622;background:#211d0c;padding:14px;border-radius:8px;color:#fff4b8}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px;margin:16px 0}.panel h2{color:var(--green);font-size:1rem;margin-top:0}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.input{font:inherit;background:#050805;color:var(--text);border:1px solid #397747;border-radius:8px;padding:12px;min-width:220px;flex:1}.small{color:var(--dim);font-size:.86rem;line-height:1.55}.status{white-space:pre-wrap;background:#040604;border:1px solid var(--line);padding:15px;border-radius:8px;min-height:72px}.traitgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.trait{background:#080c09;border:1px solid var(--line);border-radius:10px;padding:10px;cursor:pointer}.trait.selected{border-color:var(--green);box-shadow:0 0 0 1px var(--green) inset}.trait.lonted{opacity:.5}.trait img{width:100%;aspect-ratio:1;object-fit:contain;background:white;image-rendering:pixelated}.trait b{display:block;margin-top:8px}.good{color:var(--green)}.bad{color:var(--danger)}.appgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.hidden{display:none!important}
@media(max-width:820px){.hero{grid-template-columns:1fr;padding:54px 0}.heroart{order:-1}.navlinks a:not(.btn){display:none}.statbar,.cards{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.appgrid{grid-template-columns:1fr}}@media(max-width:480px){.statbar,.cards{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--line)}.hero h1{font-size:3.6rem}}


/* v1.1.6 mobile wallet stability */
html,body{max-width:100%;overflow-x:hidden}.appbody main{min-width:0}.apphead,.panel,.notice,.row,.traitgrid,.statbar{min-width:0}.apphead a,.small,.status,.mono{overflow-wrap:anywhere;word-break:break-word}.btn,.trait{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.input{font-size:16px}.status{max-width:100%;overflow:auto}.trait img{display:block}.panel{contain:layout paint}
@media(max-width:600px){.wrap{padding-left:12px;padding-right:12px}.navin{height:58px}.navlinks{gap:10px}.navlinks a{font-size:.78rem}.apphead{padding-top:24px}.apphead h1{font-size:1.45rem;line-height:1.25;letter-spacing:.035em}.notice,.panel{padding:14px;border-radius:9px}.row{display:grid;grid-template-columns:1fr;width:100%}.row>.btn,.row>.input{width:100%;min-width:0}.traitgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.trait{padding:8px}.trait b{font-size:.78rem;overflow-wrap:anywhere}.trait .small{font-size:.72rem}.statbar{grid-template-columns:1fr 1fr}.stat{padding:15px}.stat strong{font-size:1.25rem}.appgrid{gap:0}.btn{min-height:46px;padding:11px 12px}.status{font-size:.75rem}}
@media(max-width:360px){.traitgrid{grid-template-columns:1fr}.statbar{grid-template-columns:1fr}}
