/* Elysium Makers — mainnet presale (on top of style.css) */
.ps .ph1{margin:2px 0 22px;font-size:clamp(42px,4.2vw,56px);line-height:.98;font-weight:900;font-stretch:125%;letter-spacing:-.025em}
.ps .lead{margin:0 0 22px}
.ps .chip.live b{font-weight:800}
.ps .chip.soon i{background:var(--mu2);animation:none}
.ps .chip.closed i{background:var(--err);animation:none}

/* section heads */
.sh{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}
.sh b{font-size:15px;font-weight:800;font-stretch:112%}
.sh span,.sh a{font-size:12.5px;color:var(--mu2);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sh a:hover{color:var(--mu)}

/* raise */
.raise{padding:16px 16px 14px;border-radius:16px;background:var(--s3);border:1px solid var(--line)}
.rtop{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}
.rl{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--mu)}
.rv{display:flex;align-items:baseline;gap:6px;white-space:nowrap}
.rv b{font-size:30px;line-height:1;font-weight:900;font-stretch:125%;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.rv span{font-size:13px;color:var(--mu2);font-weight:700}
.rsub{display:flex;justify-content:space-between;gap:10px;margin-top:9px;font-size:12.5px;color:var(--mu2)}
.rsub b{color:var(--tx);font-variant-numeric:tabular-nums}
.kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.kpis div{min-width:0}
.kpis span{display:block;font-size:11.5px;color:var(--mu2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpis b{display:block;font-size:16px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#mult{color:var(--g)}
.flash{animation:flash 1s}
@keyframes flash{30%{color:var(--pale);text-shadow:0 0 18px rgba(143,224,154,.5)}}

/* buy */
.buy{margin-top:14px;padding:16px;border-radius:16px;background:#141517;border:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.bh{display:flex;align-items:center;justify-content:space-between;gap:10px}
.bh b{font-size:16px;font-weight:800;font-stretch:112%}
.bh span{min-width:0;font-size:12px;line-height:1.3;color:var(--mu2);font-variant-numeric:tabular-nums;text-align:right}
.amt{display:flex;align-items:center;height:58px;padding:0 16px;border-radius:14px;background:var(--s3);border:1px solid var(--line);transition:border-color .2s,box-shadow .2s}
.amt:focus-within{border-color:var(--g);box-shadow:0 0 0 3px rgba(143,224,154,.14)}
.amt input{flex:1;width:0;min-width:0;height:100%;background:none;border:0;outline:0;font-weight:800;font-size:22px;font-variant-numeric:tabular-nums}
.amt input::placeholder{color:#4c534f}
.amt span{flex:none;font-weight:800;font-size:14px;color:var(--mu);letter-spacing:.04em}
.qchips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.qchips button{height:38px;border-radius:10px;border:1px solid var(--line);background:var(--s2);font-weight:700;font-size:13.5px;cursor:pointer;transition:border-color .15s,background .15s}
.qchips button:hover{border-color:#3a3f41}
.qchips button:active{transform:scale(.97)}
.quote{display:grid;gap:5px;padding:12px 14px;border-radius:12px;background:var(--s3);border:1px solid var(--line)}
.qbig{font-size:24px;line-height:1.1;font-weight:900;font-stretch:118%;font-variant-numeric:tabular-nums;color:var(--g);margin-bottom:4px;word-break:break-all}
.qbig small{font-size:13px;color:var(--mu);font-weight:800;margin-left:4px}
.ql{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:var(--mu2)}
.ql b{color:var(--tx);font-weight:700;font-variant-numeric:tabular-nums;text-align:right}
.ql b.up{color:var(--g)}
.ql.err b,.ql.err{color:var(--err)}
.buy .btn.primary{width:100%}
.buy .btn.primary:disabled{opacity:.5;cursor:not-allowed}
.buy .btn.primary.wait:disabled{cursor:wait;opacity:.75}
.buy .msg{margin:0;min-height:0}
.buy .msg:empty{display:none}
.buy .msg a{color:var(--g)}
.buy .msg code.tre{display:block;margin:8px 0 6px;padding:9px 11px;border-radius:10px;border:1px solid var(--line);background:var(--s2);color:var(--tx);font-family:ui-monospace,Consolas,monospace;font-size:12.5px;word-break:break-all;user-select:all}
.buy .msg .cpy{display:flex;align-items:center;justify-content:center;width:100%;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--s2);color:var(--tx);font:inherit;font-weight:800;font-size:13.5px;cursor:pointer}
.buy .msg .cpy:active{transform:scale(.98)}
.buy .msg .hint{display:block;margin-top:8px;font-size:12px;color:var(--mu2)}
.wl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}
.wl a{display:flex;align-items:center;justify-content:center;height:42px;border-radius:10px;border:1px solid var(--line);background:var(--s2);color:var(--tx)!important;font-weight:800;font-size:13.5px;text-decoration:none}
.wl a:active{transform:scale(.98)}
.note{margin:0;font-size:12px;color:var(--mu2);line-height:1.45;word-break:break-word}
.note b{color:var(--mu);font-weight:700}

/* pay from: HyperEVM wallet or Hyperliquid balance */
.src{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.src button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0;padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:var(--s3);cursor:pointer;text-align:left;transition:border-color .15s,background .15s}
.src button span{font-size:11.5px;font-weight:700;color:var(--mu2)}
.src button b{max-width:100%;font-size:14px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.src button.on{border-color:rgba(143,224,154,.6);background:#151d18}
.src button.on span{color:var(--g)}
.src button:focus-visible{outline:2px solid var(--g);outline-offset:1px}

/* buy / sell tabs */
.seg{display:inline-flex;padding:3px;border-radius:11px;background:var(--s3);border:1px solid var(--line)}
.seg button{height:32px;padding:0 13px;border:0;border-radius:8px;background:none;color:var(--mu);font-weight:800;font-size:13.5px;font-stretch:108%;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}
.seg button.on{background:var(--s2);color:var(--tx);box-shadow:0 0 0 1px var(--line)}
.seg button:focus-visible{outline:2px solid var(--g);outline-offset:1px}
.buy.selling .bonly,.buy:not(.selling) .sonly{display:none!important}
.sellbtn{width:100%;height:58px;font-size:17px;font-weight:800;border-radius:12px}
.swarn{margin:0;font-size:12.5px;line-height:1.4;color:var(--err);animation:swarn 5s ease forwards}
@keyframes swarn{0%{opacity:0;transform:translateY(-3px)}6%,88%{opacity:1;transform:none}100%{opacity:0}}

/* closed / complete notice */
.closed{margin-top:14px;padding:16px;border-radius:16px;border:1px solid rgba(143,224,154,.35);background:#151d18;font-size:14px;color:var(--mu);line-height:1.5}
.closed b{display:block;color:var(--tx);font-size:16px;font-weight:800;font-stretch:112%;margin-bottom:4px}

/* position */
.pos{margin-top:14px;padding:16px;border-radius:16px;background:#141517;border:1px solid var(--line)}
.prow{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--line);font-size:13.5px;color:var(--mu)}
.prow b{font-weight:800;color:var(--tx);font-variant-numeric:tabular-nums;text-align:right}
.prow b.up{color:var(--g)}
.prow.warn b{color:var(--err)}

/* curve chart */
.chart{margin-top:14px;padding:16px;border-radius:16px;background:#141517;border:1px solid var(--line)}
#curve{display:block;width:100%;height:170px}

/* feed */
.feed{margin-top:14px;padding:16px 16px 8px;border-radius:16px;background:#141517;border:1px solid var(--line)}
#feedList{display:grid}
.fi{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line);animation:fin .45s ease-out}
.fi.old{animation:none}
@keyframes fin{from{opacity:0;transform:translateY(-6px)}}
.fi .ic{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--s2)}
.fi .ic i{width:10px;height:10px;background:var(--g);clip-path:polygon(50% 0,100% 100%,0 100%)}
.fi .fa{min-width:0}
.fi .fa a{display:block;font-weight:700;font-size:13.5px;text-decoration:none;font-variant-numeric:tabular-nums}
.fi .fa a:hover{color:var(--g)}
.fi .fa span{display:block;font-size:12px;color:var(--mu2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fi .fu{text-align:right}
.fi .fu b{display:block;font-size:14px;font-weight:800;color:var(--g);font-variant-numeric:tabular-nums}
.fi .fu span{display:block;font-size:11.5px;color:var(--mu2)}
.feed .empty{margin:0;padding:10px 0 12px;font-size:13px;color:var(--mu2)}

/* how + params */
.how2{margin-top:14px;padding:16px;border-radius:16px;background:#141517;border:1px solid var(--line)}
.how2 ol{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.how2 li{display:flex;gap:12px;font-size:13.5px;color:var(--mu);line-height:1.45}
.how2 li>b{flex:none;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:var(--s2);border:1px solid var(--line);font-size:12px;color:var(--tx)}
.how2 em{font-style:normal;color:var(--tx);font-weight:700}
.params{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}
.params div{padding:10px 12px;border-radius:12px;background:var(--s3);border:1px solid var(--line);min-width:0}
.params span{display:block;font-size:11.5px;color:var(--mu2)}
.params b{display:block;font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.params div:last-child:nth-child(odd){grid-column:1/-1}
.params small{font-size:11.5px;color:var(--mu);font-weight:700}
.fine{margin:14px 2px 4px;font-size:11.5px;line-height:1.5;color:#6f7872}

/* closed state: no buy controls anywhere */
body.ps.over #buyBox{display:none}

@media (max-width:860px){
  .ps .ph1{font-size:clamp(38px,11vw,50px);margin:0 0 18px}
  .rv b{font-size:26px}
}
@media (max-width:380px){
  .kpis b{font-size:14.5px}
  .qbig{font-size:21px}
  .panel{padding-left:14px;padding-right:14px}
}
