/* Lapse — the room. A roll-call chat on amber phosphor: every wallet speaks, its clock ticks beside it. Mobile-first at 390. */
:root{
  --bg:#050505; --ink:#E8E0D0; --amber:#FFB000; --dim:#7A6B4E; --line:#1E1A14;
  --panel:#0C0A07; --panel2:#120E09; --dead:#FF5A3C; --ok:#8FE36B;
  --mono:'IBM Plex Mono',ui-monospace,monospace; --disp:'Silkscreen',ui-monospace,monospace;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:var(--mono);font-size:14px;-webkit-font-smoothing:antialiased;padding-bottom:66px;
  background-image:repeating-linear-gradient(0deg,rgba(255,176,0,.030) 0 1px,transparent 1px 3px)}
a{color:inherit}
button{font-family:var(--mono);cursor:pointer}

/* ---- chrome ---- */
.top{display:flex;align-items:center;gap:6px;padding:9px 10px;border-bottom:1px solid var(--amber);position:sticky;top:0;background:var(--bg);z-index:30}
.mark{display:flex;align-items:center;gap:7px;text-decoration:none;flex:0 0 auto}
.mark img{width:22px;height:22px;display:block;image-rendering:pixelated}
.mark span{font-family:var(--disp);font-size:13px;color:var(--amber);text-transform:uppercase}
.nav{display:flex;gap:0;margin-left:auto;flex-wrap:nowrap}
.nav a{font-size:10px;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;color:var(--dim);padding:5px 5px;white-space:nowrap}
.nav a:hover{color:var(--amber)}
.right{display:flex;align-items:center;gap:6px}
#social{display:flex;gap:4px}
#social a{font-size:10px;text-decoration:none;color:var(--dim);border:1px solid var(--line);padding:4px 5px}
#walletBtn{background:var(--amber);color:#0A0700;border:0;font-weight:600;font-size:11px;padding:6px 9px;text-transform:uppercase;letter-spacing:.04em}
#walletBtn.on{background:transparent;color:var(--amber);border:1px solid var(--amber);text-transform:none}

main{max-width:760px;margin:0 auto;padding:12px 10px}

/* ---- head ---- */
.head h1{font-family:var(--disp);font-size:clamp(22px,7vw,38px);line-height:1.15;margin:6px 0 8px;color:var(--amber);text-transform:uppercase}
.lede{font-size:13px;line-height:1.55;color:#B8AE9A;margin:0 0 12px}
.lede b{color:var(--ink)}

/* ---- your own clock: the one object above the fold ---- */
.mine{border:1px solid var(--amber);background:var(--panel2);padding:12px;margin-bottom:10px}
.mine .lbl{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--dim)}
.mine .clock{font-family:var(--disp);font-size:clamp(38px,15vw,64px);line-height:1;color:var(--amber);margin:6px 0 2px;letter-spacing:.02em}
.mine .clock.warn{color:#FFD24A}
.mine .clock.dead{color:var(--dead)}
.mine .sub{font-size:11px;color:var(--dim);margin-bottom:10px}
.mine .act{display:flex;gap:6px}
.mine button{flex:1;background:var(--amber);color:#0A0700;border:0;font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:14px;padding:13px}
.mine button.ghost{background:transparent;color:var(--amber);border:1px solid var(--amber)}
.mine button:disabled{background:#1A1610;color:#5A5040;border-color:#1A1610;cursor:not-allowed}
.bar{height:6px;background:#1A1610;margin:8px 0 10px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--amber)}
.bar i.warn{background:#FFD24A}
.bar i.dead{background:var(--dead)}

/* ---- watch strip ---- */
.strip{display:flex;justify-content:space-between;gap:8px;border:1px solid var(--line);background:var(--panel);padding:9px 11px;font-size:11px;color:var(--dim);
  text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;flex-wrap:wrap}
.strip b{color:var(--amber);font-weight:600}

/* ---- the room: a roll call as chat ---- */
.room{border:1px solid var(--line);background:var(--panel);margin-bottom:12px}
.room h2{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--dim);margin:0;padding:9px 11px;border-bottom:1px solid var(--line);
  display:flex;justify-content:space-between;gap:8px}
.msgs{display:flex;flex-direction:column;max-height:none}
.msg{display:flex;gap:9px;padding:9px 11px;border-bottom:1px solid var(--line);align-items:flex-start}
.msg:last-child{border-bottom:0}
.msg .av{width:22px;height:22px;flex:0 0 auto;background:var(--amber);image-rendering:pixelated;margin-top:2px}
.msg .body{min-width:0;flex:1}
.msg .who{font-size:11px;color:var(--amber);text-decoration:none}
.msg .said{font-size:12px;color:#B8AE9A;margin-top:2px;line-height:1.45;word-break:break-word}
.msg .stake{font-size:11px;color:var(--dim);margin-top:3px}
.msg .cl{flex:0 0 auto;text-align:right;font-size:13px;font-weight:600;color:var(--amber);min-width:52px}
.msg .cl small{display:block;font-size:9px;color:var(--dim);text-transform:uppercase;letter-spacing:.08em;font-weight:400;margin-top:1px}
.msg.warn .cl{color:#FFD24A}
.msg.dead{background:rgba(255,90,60,.07)}
.msg.dead .cl{color:var(--dead)}
.msg.gone{opacity:.45}
.msg.gone .who,.msg.gone .said{text-decoration:line-through}
.msg.me{background:rgba(255,176,0,.06)}
.msg .catch{background:var(--dead);color:#100402;border:0;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:5px 7px;margin-top:5px}

/* ---- feed ---- */
.feed .line{display:flex;gap:8px;padding:7px 11px;border-bottom:1px solid var(--line);font-size:11px;align-items:baseline}
.feed .line:last-child{border-bottom:0}
.feed .t{color:var(--dim);flex:0 0 auto}
.feed .txt{color:#B8AE9A;min-width:0;word-break:break-word}
.feed .txt b{color:var(--amber);font-weight:500}
.feed .txt .bad{color:var(--dead)}

/* ---- stats ---- */
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px}
.stat{border:1px solid var(--line);background:var(--panel);padding:9px 11px}
.stat .n{font-family:var(--disp);font-size:18px;color:var(--amber);line-height:1.2}
.stat .l{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--dim);margin-top:3px}

/* ---- ledger rows ---- */
.led{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:9px 11px;border-bottom:1px solid var(--line);font-size:11px}
.led:last-child{border-bottom:0}
.led .id{font-family:var(--disp);font-size:13px;color:var(--dim)}
.led .sc{display:flex;gap:5px;flex-wrap:wrap}
.led .pay{margin-left:auto;color:var(--amber);font-weight:600}
.pill{font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:2px 5px;border:1px solid var(--line);color:var(--dim)}
.pill.on{border-color:var(--amber);color:var(--amber)}
.pill.bad{border-color:var(--dead);color:var(--dead)}
.empty{font-size:12px;color:var(--dim);padding:18px 11px;text-align:center;line-height:1.6}

/* ---- how ---- */
.step{display:flex;gap:11px;padding:11px;border-bottom:1px solid var(--line)}
.step:last-child{border-bottom:0}
.step .n{font-family:var(--disp);font-size:16px;color:var(--amber);min-width:24px;line-height:1.3}
.step p{margin:0;font-size:13px;line-height:1.6;color:#B8AE9A}
.step b{color:var(--ink)}

/* ---- modal ---- */
#modal{position:fixed;inset:0;background:rgba(0,0,0,.85);display:flex;align-items:flex-end;justify-content:center;z-index:60}
#modal[hidden]{display:none}
.sheet{width:100%;max-width:440px;background:var(--panel2);border:1px solid var(--amber);border-bottom:0}
.sheetHead{display:flex;align-items:center;justify-content:space-between;padding:10px 11px;border-bottom:1px solid var(--line);font-size:10px;
  text-transform:uppercase;letter-spacing:.14em;color:var(--amber)}
.sheetHead button{background:none;border:0;color:var(--ink);font-size:20px;line-height:1}
#modalBody{padding:11px}
#modalBody label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--dim);margin-bottom:6px}
#modalBody input{width:100%;background:#000;border:1px solid var(--line);color:var(--amber);font-family:var(--mono);font-size:18px;padding:10px;outline:none}
#modalBody input:focus{border-color:var(--amber)}
#modalBody .hint{font-size:11px;color:var(--dim);margin:8px 0 0;line-height:1.6}
#modalBody .go{width:100%;margin-top:11px;background:var(--amber);color:#0A0700;border:0;font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:14px;padding:13px}
#modalBody .go:disabled{background:#1A1610;color:#5A5040}
#modalBody .quick{display:flex;gap:6px;margin-top:8px}
#modalBody .quick button{flex:1;background:transparent;border:1px solid var(--line);color:var(--dim);font-size:11px;padding:6px}

/* ---- toast + footer ---- */
#toast{position:fixed;left:50%;transform:translateX(-50%);bottom:78px;background:var(--amber);color:#0A0700;font-size:12px;padding:9px 13px;z-index:70;max-width:92vw}
.foot{position:fixed;left:0;right:0;bottom:0;display:flex;align-items:center;gap:8px;padding:9px 10px;background:#000;border-top:1px solid var(--line);font-size:11px;z-index:40}
.foot .k{color:var(--dim);letter-spacing:.1em;text-transform:uppercase}
.foot code{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
.foot button,.foot a{background:transparent;border:1px solid var(--line);color:var(--dim);padding:4px 7px;text-decoration:none}
.foot #buy{background:var(--amber);color:#0A0700;border-color:var(--amber);font-weight:600}
.foot .k2 a{border:0;padding:0;color:var(--dim)}

@media (min-width:720px){ main{padding:18px} .stats{grid-template-columns:repeat(4,1fr)} }
@media (max-width:520px){ .mark span{display:none} }
