/* Phone layout (user 2026-09-24, canvas boards M1–M9). Applies under 760px only; desktop rules are untouched.
   Shape: one-column rows · bottom tab bar (Board · Calls · Thesis · TG · Wallet) · filters, coin and wallet open as sheets over
   the list · calls is a tab, not a side column · meter is a pill in the header · new-call toast above the tabs. */
#mtool,#mnav,#mtoast{display:none}
@media (max-width:760px){
  html,body{overflow:hidden}
  #frame{display:flex;flex-direction:column;height:100vh;height:100dvh}
  header{gap:8px;padding:8px 10px;flex-wrap:nowrap} header .title{font-size:16px;letter-spacing:1px;gap:6px} header .title img{width:26px!important;height:26px!important} header .title small{display:none}
  .ca{padding-left:32px;margin-top:-3px;gap:4px;font-size:8px;letter-spacing:1px} .ca .full{display:none} .ca .short{display:inline;font-size:11px} .ca .cp{font-size:8px;line-height:11px}
  header .status{font-size:9px;gap:4px} header .status #wsmsg{display:none} header .pnav{display:none}
  header .wallet{gap:6px} #connect{font-size:8px!important;padding:5px 7px!important;box-shadow:2px 2px 0 #000!important}
  #meter{max-width:140px;gap:0;font-size:8px} #meter .mline,#meter .fuel,#meter .mline.dim{display:none} #meter .mtag{font-size:8px;padding:1px 5px}
  #meter .mtag+.mline{display:block;font-size:0} #meter .mtag+.mline .tick{font-size:13px}   /* pill: tag + the ticking number only */
  #meter .mtag+.mline .tick.big{font-size:13px} #meter .mtag+.mline .tick~.tick{display:none}   /* pill shows one number: the seat's */
  #meter .mtag{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  /* toolbar: search · filters · sort */
  #mtool{display:flex;gap:6px;padding:8px 10px;border-bottom:2px solid #3d2e18;background:#241a10}
  #mtool input{flex:1;min-width:0;height:40px;font-size:11px!important} #mtool .chip{height:40px;padding:0 10px;font-size:10px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
  #mtool .chip b{color:var(--gold)} #mtool select{height:40px;font-size:10px;padding:0 8px;max-width:104px}
  /* filters → sheet (search + calls toggle live in the toolbar instead) */
  nav#filters{position:fixed;left:0;right:0;top:56px;bottom:56px;z-index:40;display:none;flex-direction:column;align-items:stretch;gap:12px;overflow:auto;padding:12px 14px 20px;background:linear-gradient(#3b2a15,#241a10);border-top:3px solid var(--gold);box-shadow:0 -6px 0 #000}
  body.sheet-filters nav#filters{display:flex}
  nav#filters .group{flex-wrap:wrap} nav#filters .group.grow{margin-left:0} nav#filters #q,nav#filters #callstoggle{display:none}
  nav#filters .lbl{flex-basis:100%;font-size:10px;letter-spacing:1.5px;color:var(--gold);margin:0 0 2px} nav#filters .chip,nav#filters select{min-height:38px}
  nav#filters #ranges{position:static;display:flex!important;flex-wrap:wrap;gap:6px 10px;padding:0;border:none;background:none;overflow:visible;white-space:normal}
  nav#filters #ranges .lbl{flex-basis:100%} nav#filters #ranges label{flex:0 0 calc(50% - 5px);font-size:11px} nav#filters #ranges input{flex:1;height:34px}
  nav#filters #ranges small{display:block;flex-basis:100%;color:#7d6c4a;font-size:10px} nav#filters #rangestoggle{display:none}
  nav#filters .msheet{display:flex;gap:8px;margin-top:auto;padding-top:8px} nav#filters .msheet .chip{flex:1;justify-content:center;min-height:44px}
  #ranges{display:none}                                          /* the standalone ranges bar never shows on phone: it lives inside the sheet */
  /* board */
  #board{flex:1;min-height:0;overflow-y:auto;padding:6px 8px 90px;container-type:normal}
  .row.head{display:none}
  .row{grid-template-columns:6px 30px 1fr 72px 40px;grid-template-areas:"bar logo name mcap all" "bar logo dots x all" "bar logo age peak all";grid-template-rows:auto auto auto;gap:2px 8px;padding:6px 8px;margin:6px 0}
  .c-bar{grid-area:bar;height:44px} .c-fav{display:none} .c-logo{grid-area:logo;width:30px;height:30px;border-radius:0}
  .c-name{grid-area:name;font-size:13px} .c-name .quote{display:none} .c-name .when{display:none}
  .c-dots{grid-area:dots;display:flex;gap:3px;justify-items:start} .c-dots .gem{width:10px;height:10px;border-radius:0;box-shadow:inset -3px -3px 0 rgba(0,0,0,.45),inset 3px 3px 0 rgba(255,255,255,.4),0 0 0 1px #000}
  .c-age{grid-area:age;display:block!important;text-align:left;font-size:12px;color:var(--dim)} .c-age::before{content:"age "}
  .c-mcap{grid-area:mcap;font-size:15px} .c-x{grid-area:x;font-size:14px} .c-peak{grid-area:peak;display:block!important;font-size:12px}
  .c-all{grid-area:all;flex-direction:column;gap:1px} .c-all .gem.all{width:16px;height:16px;border-radius:0;box-shadow:inset -4px -4px 0 rgba(0,0,0,.45),inset 4px 4px 0 rgba(255,255,255,.4),0 0 0 2px #000} .c-all small{font-size:8px}
  .c-links{display:none}
  .row.hidden-row .c-links{display:none} .row.hidden-row .c-logo.lockimg{font-size:14px}
  /* expanded coin → sheet */
  .detail{position:fixed;left:0;right:0;top:56px;bottom:56px;z-index:41;margin:0;overflow:auto;padding:10px 12px 20px;border:none;border-top:3px solid var(--gold);box-shadow:0 -6px 0 #000!important;background:linear-gradient(#3b2a15,#241a10)}
  .dbody{grid-template-columns:1fr} .dchart{height:220px} .dh img{width:44px;height:44px;border-radius:0}
  .dh{flex-wrap:wrap;gap:8px} .dh .dt{flex:1 1 200px;min-width:0} .dh .dn{font-size:15px;white-space:normal} .dh .ds{font-size:10px;word-break:break-all;line-height:1.2}
  .dh .tf{flex-basis:100%;display:flex;gap:6px;order:3} .dh .tf button{flex:1}
  .dclose{position:sticky;top:0;float:right;font-size:11px!important;padding:8px 12px;min-height:40px;z-index:2}
  .abtn{display:grid;grid-template-columns:1fr 1fr;gap:6px} .abtn a{min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:11px!important}
  .tf button{min-height:36px;padding:0 10px;font-size:10px!important}
  /* calls → tab */
  aside#calls{position:fixed;left:0;right:0;top:56px;bottom:56px;z-index:39;width:auto;border:none;display:none;padding:0 8px 20px;overflow-y:auto}
  body.tab-calls aside#calls{display:flex} body.tab-calls #board,body.tab-calls #mtool{visibility:hidden}
  aside#calls .ch{position:sticky;top:0;background:var(--panel);padding:10px 4px;z-index:1}
  .row.call{grid-template-columns:6px 30px 1fr auto;grid-template-areas:none;grid-template-rows:auto}
  .row.call .c-bar,.row.call .c-logo,.row.call .c-name,.row.call .c-lvl,.row.call .c-mcap{grid-area:auto} .row.call .c-lvl{font-size:20px} .row.call .c-mcap{display:none}
  /* bottom tab bar + toast */
  #mnav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;height:56px;z-index:50;border-top:4px double var(--gold2);background:#2b2015}
  #mnav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-family:"Jersey 15",sans-serif;font-size:9px;letter-spacing:.5px;color:var(--dim);text-decoration:none}
  #mnav a i{font-style:normal;font-size:15px} #mnav a.on{color:var(--gold);background:#3a2b18;box-shadow:inset 0 3px 0 var(--gold)}
  #mnav a svg{width:18px;height:18px;display:block;image-rendering:pixelated;filter:drop-shadow(1px 1px 0 #000)} #mnav a.on svg{filter:drop-shadow(1px 1px 0 #000) drop-shadow(0 0 3px rgba(201,162,39,.6))}
  /* new-call toast (user 2026-09-24: wrong font, clean it up): Jersey 15 for words, VT323 for numbers, level colour from the ladder */
  #mtoast{position:fixed;left:10px;right:10px;bottom:66px;z-index:45;display:none;align-items:center;gap:10px;padding:7px 10px 7px 12px;border:2px solid var(--gold);border-left-width:5px;background:#2b2015;box-shadow:3px 3px 0 #000;cursor:pointer;font-family:"Jersey 15",Cinzel,serif;text-shadow:none}
  #mtoast.show{display:flex}
  #mtoast .mt-l{display:flex;flex-direction:column;min-width:0;flex:1;gap:1px}
  #mtoast .tag{font-size:9px;letter-spacing:2px;color:var(--gold);line-height:1}
  #mtoast .mt-l b{font-size:16px;font-weight:400;letter-spacing:.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.1}
  #mtoast .mt-r{display:flex;flex-direction:column;align-items:flex-end;font-family:VT323,monospace;line-height:1;flex:none}
  #mtoast .lvl{font-size:24px;font-weight:400!important} #mtoast .mono{font-size:14px;color:var(--dim)}
  #mtoast .mt-go{font-family:VT323,monospace;font-size:26px;line-height:1;color:var(--gold);flex:none}
  /* locked view + wallet modal */
  #lockbar{font-size:11px;margin:4px 0 6px} #wmodal .wbox,#outmodal .wbox{width:100vw;max-height:calc(100dvh - 56px);position:fixed;left:0;bottom:56px;border-width:3px 0 0;box-shadow:0 -6px 0 #000}
  /* a 44-char Solana address on one line at 390px (user 2026-09-24): VT323 is ~0.45em wide per glyph → 12.5px ≈ 250px + padding */
  #wmodal .addr code{font-size:12.5px;letter-spacing:0;white-space:nowrap;word-break:normal;overflow:hidden;padding:3px 6px}
  /* long-form pages */
  main.doc{padding:14px 14px 90px} main.doc h1{font-size:26px} main.doc table{display:block;overflow-x:auto;font-size:11px}
}
@media (max-width:760px){.cmds{grid-template-columns:1fr;gap:4px 0;padding:10px 12px} .cmds h4{grid-column:1;margin-top:12px} .cmds>code{white-space:normal;margin-top:6px} .cmds>span{margin-bottom:4px}}
