/* bub.fun on Elysium. Builds on app.css tokens. */
.ely-badge{font:600 11px var(--mono);color:#111;background:var(--live);border-radius:6px;padding:4px 8px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:14px}
.ely-h2{margin:56px 0 16px;text-align:center}
.ely-title{font-size:clamp(32px,5vw,48px);margin:14px 0 24px}
select{font:inherit;font-size:16px;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:13px 14px;width:100%;appearance:none}
input[type=range]{padding:0;border:0;background:none;accent-color:var(--brand);height:28px}
.panel .seg{margin:0 0 16px}
.field label b{color:var(--ink);font-weight:600;margin-left:6px}

/* coin cards */
.ely-card .call{font:600 14px var(--mono);letter-spacing:-.02em}
.ely-card .call .up{color:var(--live)}.ely-card .call .dn{color:var(--bad)}
.ely-av{width:48px;height:48px;border-radius:12px;flex:none;background-size:cover;background-position:center}
.pillst{font:600 11px var(--mono);text-transform:uppercase;letter-spacing:.05em;border-radius:6px;padding:3px 7px;background:var(--well);color:var(--mute)}
.pillst.open{background:#4ee39b22;color:var(--live)}
.pillst.won{background:var(--live);color:#111}
.pillst.lost{background:#f0443833;color:var(--bad)}

/* the match bar: stop | entry | target */
.ely-bar{position:relative;height:56px;margin:18px 0 6px}
.ely-bar .track{position:absolute;left:0;right:0;top:22px;height:12px;border-radius:999px;background:linear-gradient(90deg,#f0443855,var(--well) 50%,#4ee39b55)}
.ely-bar .mid{position:absolute;left:50%;top:16px;width:2px;height:24px;background:var(--line2)}
.ely-bar .px{position:absolute;top:13px;width:30px;height:30px;margin-left:-15px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 6px #f2f2f222;transition:left .6s cubic-bezier(.2,.8,.2,1)}
.ely-bar .lbl{position:absolute;top:44px;font:500 12px var(--mono);color:var(--mute);white-space:nowrap}
.ely-bar .lbl.l{left:0}.ely-bar .lbl.r{right:0;text-align:right}.ely-bar .lbl.c{left:50%;transform:translateX(-50%)}
.ely-bar .lbl b{color:var(--ink);font-weight:600}
.ely-bar.mini{height:40px;margin:10px 0 18px}
.ely-bar.mini .track{top:14px;height:8px}.ely-bar.mini .mid{top:10px;height:16px}.ely-bar.mini .px{top:8px;width:20px;height:20px;margin-left:-10px}
.ely-bar.mini .lbl{top:28px;font-size:11px}

.ely-launch{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}
.ely-call{font-size:26px;font-weight:650;letter-spacing:-.02em;margin:4px 0 2px}
.ely-kv{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;font-size:14px;margin:6px 0 14px}
.ely-kv dt{color:var(--mute)}.ely-kv dd{text-align:right;font-family:var(--mono);letter-spacing:-.02em}

/* room */
.ely-head{display:flex;gap:16px;align-items:center;margin:18px 0 18px}
.ely-head .ely-av{width:64px;height:64px;border-radius:16px}
.ely-head h1{font-size:clamp(28px,4.5vw,40px)}
.ely-match{padding:22px 24px}
.ely-status{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.ely-status .big{font:650 30px var(--mono);letter-spacing:-.03em}
.ely-holders{display:flex;flex-wrap:wrap;gap:6px;margin-top:22px;min-height:28px}
.ely-holders span{border-radius:50%;flex:none;box-shadow:0 0 0 2px var(--card)}
.ely-room{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:14px;margin-top:14px;align-items:start}
.ely-side{display:flex;flex-direction:column;gap:14px}
.ely-feed{display:flex;flex-direction:column;gap:10px;height:380px;overflow-y:auto;padding-right:4px;margin-bottom:12px}
.ely-feed .row{display:flex;gap:10px;align-items:flex-start;font-size:14px}
.ely-feed .row .who{font:600 13px var(--mono);color:var(--mute);flex:none}
.ely-feed .row.fuel{color:var(--mute)}
.ely-feed .row.fuel b{color:var(--brand);font-weight:600}
.ely-feed .row.sys{color:var(--live);font-weight:600}
.ely-feed .row .t{overflow-wrap:anywhere}
.ely-feed .row .when{margin-left:auto;font:12px var(--mono);color:var(--dim);flex:none}
.ely-say{display:flex;gap:8px}
.ely-say button{padding:12px 18px}
.ely-dotav{display:inline-block;width:18px;height:18px;border-radius:50%;flex:none;vertical-align:middle}

/* end card */
.ely-end{position:fixed;inset:0;z-index:20;background:#000c;display:flex;align-items:center;justify-content:center;padding:20px}
.ely-end .cardx{background:var(--card);border-radius:24px;padding:32px;max-width:420px;width:100%;text-align:center;display:flex;flex-direction:column;gap:12px}
.ely-end .cardx h2{font-size:30px}
.ely-end .cardx .num{font-size:22px}

@media (max-width:760px){
 .ely-launch,.ely-room{grid-template-columns:1fr}
 .ely-feed{height:300px}
 .ely-match{padding:18px 16px}
}
.ely-bar.mini .lbl.c{display:none}
.ely-end .cardx .ely-av{margin:0 auto 4px;width:72px;height:72px;border-radius:18px}

/* AI agents */
textarea{font:inherit;font-size:16px;line-height:1.45;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:13px 14px;width:100%;resize:vertical}
textarea:focus{outline:none;border-color:var(--line2)}
.ely-ahead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ely-ahead .ely-title{margin-bottom:8px}
.ely-lede{margin:0 0 22px}
.ely-by{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--mute);margin-top:3px}
.ely-by .ely-dotav{width:14px;height:14px}
.ely-snip{font-size:13px;color:var(--mute);line-height:1.45;margin:12px 0 14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ely-quote{white-space:pre-wrap;line-height:1.55;margin:8px 0 10px;overflow-wrap:anywhere}
.ely-feed .row.ely-why{background:var(--well);border-radius:12px;padding:10px 12px;align-items:center}
.ely-feed .row.ely-why .who a{color:var(--ink)}
.ely-chips{display:flex;flex-wrap:wrap;gap:6px}
.ely-chips button{background:var(--well);color:var(--mute);border-radius:999px;padding:7px 12px;font-size:13px;min-height:34px}
.ely-chips button.on{background:var(--brand);color:#111}
.ely-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ely-list{margin:10px 0 14px;padding-left:18px;display:flex;flex-direction:column;gap:8px;font-size:14px;line-height:1.45}
.ely-cards2{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.ely-side .go{display:block;width:100%;margin-top:8px;text-align:center}
#agent .bar{margin-top:22px}
.ely-hash{text-align:left;margin:0 0 14px}
