:root{--ax-bg: #0b0c0e;--background-secondary: 19 20 24;--background-tertiary: 27 29 34;--primary-stroke: 33 35 41;--secondary-stroke: 44 47 55;--border-subtle: 25 27 32;--text-primary: 238 240 243;--text-secondary: 154 158 171;--text-tertiary: 118 122 135;--primary-color: 62 240 143;--primary-color-hover: 116 246 175;--on-primary: 5 20 12;--increase: 46 226 128;--increase-hover: 92 236 158;--decrease: 242 72 106;--decrease-hover: 246 108 136;--primary-green: 46 226 128;--primary-red: 242 72 106;--primary-yellow: 247 201 72;--primary-orange: 255 138 61;--primary-light-blue: 95 190 255;--chart-up: 46 226 128;--chart-down: 242 72 106;--bnb: 240 185 11;--j7-bg: #121316;--j7-bg-2: #18191d;--j7-bg-3: #1f2025;--j7-input: #0f1013;--j7-border: #2a2c33;--j7-border-2: #33363e;--j7-text: #eceef1;--j7-text-2: #a3a7b3;--j7-text-3: #767a87;--j7-accent: #3ef08f;--j7-green: #2ee280;--j7-yellow: #eab308;--j7-pink: #ec4899;--j7-red: #f2486a;--j7-blue: #1d9bf0;--j7-width: 430px;--font-ax: "Geist", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Geist Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--font-j7: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--emoji: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--ax-bg);color:rgb(var(--text-primary));font-family:var(--font-ax);font-size:13px;line-height:1.35;overflow:hidden;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}img{display:block}a{color:inherit;text-decoration:none}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.emoji{font-family:var(--emoji)}.hidden{display:none!important}.truncate{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0}*{scrollbar-width:thin;scrollbar-color:rgb(var(--secondary-stroke)) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:rgb(var(--secondary-stroke));border-radius:6px}::-webkit-scrollbar-track{background:transparent}#app{height:calc(100vh / var(--ui-zoom, 1));display:grid;grid-template-columns:min(var(--j7-width),max(300px,34vw)) 4px minmax(0,1fr);grid-template-areas:"j7 rz ax"}#app.j7-right{grid-template-columns:minmax(0,1fr) 4px min(var(--j7-width),max(300px,34vw));grid-template-areas:"ax rz j7"}#app.j7-hidden{grid-template-columns:0 0 minmax(0,1fr)}#app.j7-hidden #j7,#app.j7-hidden #j7-resizer{display:none}#j7{grid-area:j7;min-width:0;height:calc(100vh / var(--ui-zoom, 1));overflow:hidden;background:var(--j7-bg);font-family:var(--font-j7);color:var(--j7-text)}#j7-resizer{grid-area:rz;cursor:col-resize;background:var(--ax-bg);border-left:1px solid rgb(var(--primary-stroke));border-right:1px solid rgb(var(--primary-stroke))}#j7-resizer:hover,#j7-resizer.dragging{background:rgb(var(--primary-color) / .5)}#axiom{grid-area:ax;min-width:0;height:calc(100vh / var(--ui-zoom, 1));display:flex;flex-direction:column;background:var(--ax-bg)}#ax-nav{flex:0 0 auto}#ax-body{flex:1 1 auto;min-height:0;display:flex}#ax-trades{flex:0 0 auto;min-height:0}#ax-view{flex:1 1 auto;min-width:0;min-height:0;position:relative}#ax-bottom{flex:0 0 auto}#toast-root{position:fixed;left:50%;bottom:44px;z-index:900;transform:translate(-50%);display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;pointer-events:none}.toast{pointer-events:none;min-width:220px;max-width:420px;display:flex;align-items:center;gap:10px;background:rgb(var(--background-tertiary));border:1px solid rgb(var(--secondary-stroke));border-radius:6px;padding:8px 12px;box-shadow:0 8px 24px #00000073;font-size:13px;animation:toast-up .16s ease-out}.toast .t-icon{width:18px;height:18px;border-radius:4px;flex:0 0 auto;display:grid;place-items:center;font-size:11px;font-weight:700;color:#000}.toast.ok .t-icon{background:rgb(var(--increase))}.toast.err .t-icon{background:rgb(var(--decrease))}.toast.info .t-icon{background:rgb(var(--primary-color));color:rgb(var(--on-primary))}.toast .t-msg{flex:1;min-width:0}.toast .t-ms{font-family:var(--font-mono);font-size:12px;color:rgb(var(--primary-color))}.toast.out{opacity:0;transform:translateY(6px);transition:all .2s}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes toast-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.tx-pop{position:fixed;z-index:800;min-width:180px;background:rgb(var(--background-tertiary));border:1px solid rgb(var(--secondary-stroke));border-radius:6px;box-shadow:0 12px 32px #00000080;padding:6px}@media (max-width: 900px){#app,#app.j7-right{grid-template-columns:1fr;grid-template-rows:calc(46vh / var(--ui-zoom, 1)) 0 calc(54vh / var(--ui-zoom, 1));grid-template-areas:"j7" "rz" "ax"}#j7,#axiom{height:auto}#j7-resizer{display:none}}html.tx-phone,html.tx-phone body{overflow-x:hidden;overflow-y:auto;height:auto;min-height:100%}html.tx-phone #app,html.tx-phone #game-root,html.tx-phone #mp-root,html.tx-phone #ax-search-root,html.tx-phone #toast-root{display:none!important}#tx-phone{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px 16px;background:var(--ax-bg)}.txp-card{width:min(400px,100%);padding:28px 22px 20px;border-radius:12px;text-align:center;background:rgb(var(--background-secondary));border:1px solid rgb(var(--secondary-stroke));box-shadow:0 24px 60px #00000080}.txp-logo{width:161px;height:40px;margin:0 auto 18px}.txp-card h1{margin:0 0 8px;font-size:20px;font-weight:600;letter-spacing:-.01em}.txp-line{margin:0 0 18px;font-size:14px;line-height:1.5;color:rgb(var(--text-secondary))}.txp-room{display:flex;flex-direction:column;align-items:center;gap:4px;margin:0 0 16px;padding:12px;border-radius:8px;background:var(--ax-bg);border:1px solid rgb(var(--primary-stroke))}.txp-room-l{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgb(var(--text-tertiary))}.txp-code{font-size:30px;font-weight:600;letter-spacing:.14em;color:rgb(var(--text-primary))}.txp-room-s{font-size:12px;color:rgb(var(--text-secondary))}.txp-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.txp-btn{flex:1 1 140px;min-height:44px;padding:0 16px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:14px;font-weight:600;color:rgb(var(--text-primary));background:rgb(var(--background-tertiary));border:1px solid rgb(var(--secondary-stroke))}.txp-btn.primary{background:rgb(var(--primary-color));border-color:transparent;color:rgb(var(--on-primary))}.txp-btn:focus-visible{outline:2px solid rgb(var(--primary-color));outline-offset:2px}.txp-link{display:block;width:100%;margin:12px 0 0;padding:9px 10px;border-radius:6px;font-size:12px;text-align:center;color:rgb(var(--text-secondary));background:var(--ax-bg);border:1px solid rgb(var(--primary-stroke));outline:0}.txp-note{margin:14px 0 0;font-size:11.5px;color:rgb(var(--text-tertiary))}.dn-btn{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border-radius:4px;border:1px solid rgb(var(--decrease) / .45);color:rgb(var(--decrease));font-size:12px;font-weight:600;white-space:nowrap;flex:0 0 auto}.dn-btn:hover{background:rgb(var(--decrease) / .1)}.dn-btn.lg{height:34px;padding:0 14px;border-radius:6px;font-size:13px}.tx-x{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:4px;flex:0 0 auto;color:rgb(var(--text-secondary));font-size:13px;line-height:1;text-decoration:none;border:1px solid rgb(var(--secondary-stroke));transition:color .15s,border-color .15s,background .15s}.tx-x:hover{color:rgb(var(--text-primary));border-color:rgb(var(--text-secondary) / .7);background:#ffffff0a}.tx-x:focus-visible{outline:2px solid rgb(var(--primary-color));outline-offset:2px}.dn-backdrop{position:fixed;inset:0;z-index:2000;background:#0009;display:grid;place-items:center;padding:16px;animation:toast-in .14s ease-out}.dn-card{position:relative;width:min(440px,100%);background:rgb(var(--background-tertiary));border:1px solid rgb(var(--secondary-stroke));border-radius:10px;padding:26px 24px 20px;text-align:center;box-shadow:0 24px 60px #0009}.dn-card h3{margin:10px 0 6px;font-size:18px}.dn-card p{margin:0 0 18px;color:rgb(var(--text-secondary));font-size:13px}.dn-icon{width:44px;height:44px;margin:0 auto;border-radius:12px;display:grid;place-items:center;font-size:22px;color:rgb(var(--decrease));background:rgb(var(--decrease) / .12)}.dn-x{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:6px;color:rgb(var(--text-secondary));font-size:18px}.dn-x:hover{background:rgb(var(--secondary-stroke));color:rgb(var(--text-primary))}.dn-label{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:rgb(var(--text-tertiary));margin-bottom:6px}.dn-row{display:flex;gap:8px;align-items:stretch}.dn-addr{flex:1;min-width:0;padding:10px;border-radius:6px;background:var(--ax-bg);border:1px solid rgb(var(--primary-stroke));font-size:12px;word-break:break-all;text-align:left;user-select:all}.dn-copy{display:inline-flex;align-items:center;gap:5px;padding:0 12px;border-radius:6px;background:rgb(var(--primary-color));color:rgb(var(--on-primary));font-weight:600;font-size:12.5px;white-space:nowrap}.dn-copy:hover{background:rgb(var(--primary-color-hover))}.dn-open{display:inline-flex;align-items:center;gap:6px;margin-top:14px;color:rgb(var(--primary-color));font-weight:600;font-size:13px}.dn-open:hover{text-decoration:underline}.dn-note{margin-top:12px;font-size:11px;color:rgb(var(--text-tertiary))}
/* GNGM brand: pixel lockup and mark. <span class="md-logo" role="img" aria-label="GNGM"></span> or <img class="md-logo" src="img/brand/gngm-lockup.svg" alt="GNGM">.
   The art sits on a 16-px grid: 32px tall is pixel-perfect at 1x, 24px at 2x. */
.md-logo,.md-mark{display:inline-block;flex:0 0 auto;vertical-align:middle;overflow:hidden;color:transparent;font-size:0;line-height:0}
.md-logo{height:var(--md-logo-h,28px);aspect-ratio:52/20;background:url(../img/brand/gngm-lockup.svg) left center / contain no-repeat}
.md-mark{width:var(--md-mark-s,28px);height:var(--md-mark-s,28px);background:url(../img/brand/gngm-mark.svg) center / contain no-repeat}
img.md-logo,img.md-mark{background:none;object-fit:contain}
img.md-logo{width:auto}
.md-logo.sm{--md-logo-h:20px}.md-logo.lg{--md-logo-h:40px}.md-mark.sm{--md-mark-s:20px}.md-mark.lg{--md-mark-s:40px}
.bnb{color:rgb(var(--bnb))}
/* pixel accents: a stepped 2-px bar under the Trenches column titles, a green keyboard focus ring, green selection */
.axp-ctitle:after{content:"";position:absolute;left:0;bottom:-5px;width:10px;height:2px;background:linear-gradient(90deg,rgb(var(--primary-color)) 0 2px,transparent 2px 4px) 0 0 / 4px 2px repeat-x;pointer-events:none}
.axp-col[data-col=final] .axp-ctitle:after{background-image:linear-gradient(90deg,rgb(var(--primary-yellow)) 0 2px,transparent 2px 4px)}
:where(a,button,input,select,textarea,summary,[tabindex]:not([tabindex="-1"]),[role=button]):focus-visible{outline:2px solid rgb(var(--primary-color));outline-offset:2px}
::selection{background:rgb(var(--primary-color) / .28);color:rgb(var(--text-primary))}

/* ---- Real logos (GNGM round 3) ----
   Launchpad and pool glyphs are drawn with these remixicon class names all over the UI; swap the font glyph for the
   real logo image at the same size and position. Four.meme, Flap, BNB, USDT, CAKE, USD1 use the projects' own logos;
   GraFun's official logo was unreachable, so its mark is our own pixel "G" until it can be fetched. */
.ri-rocket-2-fill,.ri-sparkling-fill,.ri-graduation-cap-fill:not(.axc-grad *),.ri-money-dollar-circle-fill,.ri-coin-fill,.ri-donut-chart-fill{background-repeat:no-repeat;background-position:center;background-size:contain;color:transparent!important;font-size:inherit}
.ri-rocket-2-fill:before,.ri-sparkling-fill:before,.ri-graduation-cap-fill:not(.axc-grad *):before,.ri-money-dollar-circle-fill:before,.ri-coin-fill:before,.ri-donut-chart-fill:before{content:"\00a0"!important;display:inline-block;width:1.15em;height:1.15em}
.ri-rocket-2-fill{background-image:url(../img/chain/four.webp)}
.ri-sparkling-fill{background-image:url(../img/chain/flap.webp)}
.ri-graduation-cap-fill:not(.axc-grad *){background-image:url(../img/chain/grafun.webp)}
.ri-money-dollar-circle-fill{background-image:url(../img/chain/usd1.webp)}
.ri-coin-fill{background-image:url(../img/chain/usdt.webp)}
.ri-donut-chart-fill{background-image:url(../img/chain/cake.webp)}
/* tint-based glyph containers (platform ring badges) keep their colored ring but show the logo inside */
.axc-plat i,.ax-platb i,.axp-plat i{border-radius:50%}
