:root{
    --void:#0b0a17;
    --panel:#171335;
    --panel-hi:#211c47;
    --border:#4a3d8a;
    --border-dim:#2c2557;
    --amber:#ffb84d;
    --teal:#4be3c0;
    --lime:#b7ff5a;
    --rose:#ff5d8f;
    --paper:#ece6d8;
    --paper-dim:#a9a2c4;
    --px:4px; /* base pixel unit */
    --radius:0px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--void);
    color:var(--paper);
    font-family:'Pixelify Sans', sans-serif;
    font-size:17px;
    line-height:1.6;
    overflow-x:hidden;
    image-rendering:pixelated;
  }

  ::selection{ background:var(--amber); color:var(--void); }

  h1,h2,h3,.pixel-font{
    font-family:'Press Start 2P', monospace;
    line-height:1.5;
    letter-spacing:0.5px;
  }
  .mono{ font-family:'VT323', monospace; letter-spacing:0.5px; }

  a{ color:var(--teal); }
  img{ max-width:100%; display:block; }

  :focus-visible{
    outline:3px solid var(--amber);
    outline-offset:3px;
  }

  /* ---------- pixel frame utility (stepped corners) ---------- */
  .pixel-frame{
    position:relative;
    background:var(--panel);
    border:var(--px) solid var(--border);
    clip-path: polygon(
      0 8px, 8px 8px, 8px 0,
      calc(100% - 8px) 0, calc(100% - 8px) 8px, 100% 8px,
      100% calc(100% - 8px), calc(100% - 8px) calc(100% - 8px), calc(100% - 8px) 100%,
      8px 100%, 8px calc(100% - 8px), 0 calc(100% - 8px)
    );
  }
  .pixel-btn{
    font-family:'Press Start 2P', monospace;
    font-size:11px;
    font-weight:700;
    line-height:1.25;
    text-decoration:none;
    text-align:center;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:14px 20px;
    background:var(--amber);
    color:var(--void);
    border:none;
    cursor:pointer;
    clip-path: polygon(
      0 6px, 6px 6px, 6px 0,
      calc(100% - 6px) 0, calc(100% - 6px) 6px, 100% 6px,
      100% calc(100% - 6px), calc(100% - 6px) calc(100% - 6px), calc(100% - 6px) 100%,
      6px 100%, 6px calc(100% - 6px), 0 calc(100% - 6px)
    );
    box-shadow: 4px 4px 0 #7a5518;
    transition: transform .08s ease, box-shadow .08s ease;
  }
  .pixel-btn:hover{ transform:translate(2px,2px); box-shadow:2px 2px 0 #7a5518; }
  .pixel-btn:active{ transform:translate(4px,4px); box-shadow:0 0 0 #7a5518; }
  .pixel-btn.ghost{
    background:transparent;
    color:var(--paper);
    border:var(--px) solid var(--border);
    box-shadow:4px 4px 0 var(--border-dim);
  }
  .pixel-btn.ghost:hover{ box-shadow:2px 2px 0 var(--border-dim); border-color:var(--teal); color:var(--teal);}
  .pixel-btn.small{ padding:10px 14px; font-size:9px; }
  .pixel-btn[disabled]{ opacity:.6; cursor:default; }

  .wrap{ max-width:1180px; margin:0 auto; padding:0 28px; }

  /* ---------- NAV ---------- */
  header.nav{
    position:fixed; top:0; left:0; right:0; z-index:100;
    background:rgba(11,10,23,0.88);
    backdrop-filter:blur(4px);
    border-bottom:var(--px) solid var(--border-dim);
  }
  .nav-inner{
    max-width:1240px; min-height:70px; margin:0 auto; padding:10px 28px;
    display:grid; grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center; gap:22px;
  }
  .brand{ display:flex; align-items:center; gap:12px; text-decoration:none; white-space:nowrap; min-width:0; }

  /* AUTONOMIA wordmark — preserve the logo's natural 1056:214 aspect ratio. */
  .brand-logo{
    display:block;
    max-width:none;
    height:auto;
    object-fit:contain;
    image-rendering:pixelated;
  }
  .brand-navbar{
    width:269px;
    height:56px;
    flex:0 0 269px;
    overflow:hidden;
  }
  .brand-navbar .brand-logo{
    width:100%;
    height:100%;
    object-position:left center;
  }
  .footer-brand{
    width:269px;
    max-width:100%;
    overflow:hidden;
  }
  .footer-brand .footer-brand-logo{
    width:100%;
    height:auto;
    object-position:left center;
  }
  .brand-mark{ width:34px; height:34px; image-rendering:pixelated; flex:none; }
  .brand-name{ font-family:'Press Start 2P',monospace; font-size:13px; color:var(--paper); }
  .brand-name span{ color:var(--amber); }
  .nav-menu{ display:flex; align-items:center; justify-content:center; gap:24px; min-width:0; }
  .nav-menu a{
    font-family:'Press Start 2P',monospace; font-size:9px;
    color:var(--paper-dim); text-decoration:none; white-space:nowrap;
    padding:8px 2px 6px; border-bottom:2px solid transparent;
  }
  .nav-menu a:hover{ color:var(--teal); border-bottom-color:var(--teal); }
  .nav-right{
    display:grid;
    grid-template-columns:112px 132px 138px;
    align-items:center; justify-content:end; gap:10px;
  }
  .nav-right .pixel-btn{
    min-height:38px; width:100%; padding:10px 10px;
    display:inline-flex; align-items:center; justify-content:center;
    white-space:nowrap;
  }
  #wallet-addr{
    width:112px; min-width:112px; overflow:hidden;
    font-family:'VT323',monospace; font-size:16px; color:var(--teal);
    text-align:right; white-space:nowrap;
    visibility:hidden; opacity:0;
    transition:opacity .15s ease;
  }
  #wallet-addr.visible{ visibility:visible; opacity:1; }
  #stake-btn-nav{
    border-color:var(--teal); color:var(--teal);
    visibility:hidden; opacity:0; pointer-events:none;
    transition:opacity .15s ease, transform .08s ease, box-shadow .08s ease;
  }
  #stake-btn-nav.is-visible{ visibility:visible; opacity:1; pointer-events:auto; }
  #stake-btn-nav.is-visible:hover{ color:var(--void); background:var(--teal); }

  @media (max-width:980px){
    .brand-navbar{ width:220px; height:45px; flex-basis:220px; }
    .nav-inner{ gap:14px; }
    .nav-menu{ gap:14px; }
    .nav-right{ grid-template-columns:102px 126px 132px; gap:8px; }
    #wallet-addr{ width:102px; min-width:102px; }
  }
  @media (max-width:860px){
    .brand-navbar{ width:200px; height:41px; flex-basis:200px; }
    .nav-inner{ grid-template-columns:auto 1fr; }
    .nav-menu{ display:none; }
    .nav-right{ justify-self:end; grid-template-columns:132px 138px; }
    #wallet-addr{ display:none; }
  }
  @media (max-width:560px){
    .brand-navbar{ width:150px; height:31px; flex-basis:150px; }
    .footer-brand{ width:220px; }
    .nav-inner{ padding:10px 14px; gap:10px; }
    .brand-name{ font-size:10px; }
    .nav-right{ grid-template-columns:118px 124px; gap:7px; }
    .nav-right .pixel-btn{ font-size:8px; padding:9px 7px; }
  }
  @media (max-width:455px){
    .brand-navbar{ width:110px; height:23px; flex-basis:110px; }
    .brand-name{ display:none; }
    .nav-inner{ grid-template-columns:auto 1fr; }
    .nav-right{ grid-template-columns:minmax(104px,1fr) minmax(108px,1fr); width:100%; }
  }

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    padding:150px 0 0 0;
    overflow:hidden;
    border-bottom:var(--px) solid var(--border-dim);
    background:
      radial-gradient(circle at 18% 20%, rgba(75,227,192,0.10), transparent 45%),
      radial-gradient(circle at 82% 10%, rgba(255,93,143,0.10), transparent 40%),
      var(--void);
  }
  .hero-inner{ max-width:1180px; margin:0 auto; padding:0 28px; position:relative; z-index:3; }
  .eyebrow{
    font-family:'Press Start 2P',monospace; font-size:10px; color:var(--rose);
    display:inline-flex; align-items:center; gap:10px; margin-bottom:22px;
  }
  .eyebrow::before{ content:''; width:8px; height:8px; background:var(--rose); animation:blink 1.4s steps(1) infinite; }
  h1.headline{
    font-size:clamp(26px, 4.4vw, 46px);
    color:var(--paper);
    max-width:820px;
    margin:0 0 20px 0;
  }
  h1.headline .hl{ color:var(--amber); }
  .hero-sub{
    font-size:19px; color:var(--paper-dim); max-width:620px; margin:0 0 34px 0;
  }
  .hero-cta{ display:flex; gap:16px; flex-wrap:wrap; margin-bottom:56px; }
  .hero-cta .pixel-btn{
    min-width:158px; min-height:50px;
    font-weight:700; text-decoration:none; text-align:center;
    display:inline-flex; align-items:center; justify-content:center;
  }

  /* skyline scene (daytime) */
  .skyline{
    position:relative;
    height:280px;
    margin-top:20px;
    border-top:var(--px) solid var(--border-dim);
    background:linear-gradient(180deg, #bfe8ff 0%, #ddf1e0 55%, #f3e2b3 100%);
    overflow:hidden;
  }
  .sun{
    position:absolute; top:26px; right:64px; width:46px; height:46px;
    background:#ffd35c; box-shadow:0 0 0 8px rgba(255,211,92,0.25);
    animation:sun-glow 4s ease-in-out infinite;
  }
  @keyframes sun-glow{ 0%,100%{ box-shadow:0 0 0 8px rgba(255,211,92,0.25);} 50%{ box-shadow:0 0 0 14px rgba(255,211,92,0.35);} }
  .cloud{
    position:absolute; background:#fffdf6; opacity:.9;
    animation:drift linear infinite;
  }
  @keyframes drift{ 0%{ transform:translateX(-120px);} 100%{ transform:translateX(calc(100vw + 120px));} }
  .stars{ display:none; }
  .building{
    position:absolute; bottom:0; background:#d8c8a3; border-top:4px solid #b89f6e;
  }
  .building.alt{ background:#a9c2cf; border-top-color:#7fa0b0; }
  .building i{ /* window */
    position:absolute; width:6px; height:6px; background:#8fd8f0;
    opacity:.85; animation:winkflicker 5s steps(1) infinite;
  }
  .building .leaf{
    position:absolute; width:6px; height:6px; background:#6fbf73; top:-6px;
  }
  .street{
    position:absolute; left:0; right:0; bottom:0; height:34px;
    background:#e6d9b8; border-top:4px solid #cbb98c;
  }
  .street::after{
    content:''; position:absolute; top:15px; left:0; right:0; height:4px;
    background:repeating-linear-gradient(90deg, #8a7a52 0 22px, transparent 22px 44px);
    opacity:.4;
  }
  .canal{
    position:absolute; left:0; right:0; bottom:34px; height:10px;
    background:#5cc2d9; opacity:.85;
  }
  .agent{
    position:absolute; bottom:34px; width:48px; height:48px;
    animation:walk-across linear infinite;
    z-index:4;
    pointer-events:none;
  }
  .agent-sprite{
    width:48px; height:48px;
    background-repeat:no-repeat;
    background-size:288px 576px;
    background-position:0 -288px; /* Row 7: Walk Right */
    image-rendering:pixelated;
    animation:sprite-walk-right .72s steps(6) infinite;
  }

  @keyframes walk-across{
    0%{ transform:translateX(-56px); }
    100%{ transform:translateX(calc(100vw + 56px)); }
  }
  @keyframes sprite-walk-right{
    from{ background-position:0 -288px; }
    to{ background-position:-288px -288px; }
  }
  @keyframes winkflicker{
    0%,55%{ opacity:.85; } 56%,60%{ opacity:.4; } 61%,100%{ opacity:.85; }
  }
  @keyframes blink{ 0%,49%{ opacity:1;} 50%,100%{ opacity:0;} }

  /* ---------- TICKER ---------- */
  .ticker{
    background:var(--panel);
    border-bottom:var(--px) solid var(--border-dim);
    overflow:hidden;
    white-space:nowrap;
    padding:12px 0;
  }
  .ticker-track{
    display:inline-flex; gap:48px;
    animation:ticker-scroll 34s linear infinite;
  }
  .ticker span{ font-family:'VT323',monospace; font-size:18px; color:var(--paper-dim); }
  .ticker span b{ color:var(--teal); font-weight:600; }
  @keyframes ticker-scroll{ 0%{ transform:translateX(0);} 100%{ transform:translateX(-50%);} }

  /* ---------- SECTION GENERIC ---------- */
  section{ padding:96px 0; }
  .section-tag{
    font-family:'Press Start 2P',monospace; font-size:10px; color:var(--teal);
    margin-bottom:14px; display:block;
  }
  h2.section-title{ font-size:clamp(22px,3vw,30px); color:var(--paper); margin:0 0 16px 0; max-width:720px; }
  .section-desc{ color:var(--paper-dim); max-width:640px; font-size:17px; margin-bottom:52px; }

  /* ---------- CORE LOOP ---------- */
  .loop-grid{
    display:grid; grid-template-columns:repeat(4,1fr); gap:22px;
  }
  .loop-card{ padding:26px 22px; }
  .loop-num{
    font-family:'Press Start 2P',monospace; font-size:20px; color:var(--border);
    -webkit-text-stroke:1px var(--amber);
    color:transparent;
    margin-bottom:18px;
  }
  .loop-card h3{ font-size:14px; color:var(--paper); margin:0 0 10px 0; }
  .loop-card p{ color:var(--paper-dim); font-size:15px; margin:0; }
  .loop-arrow{ text-align:center; color:var(--border); font-size:22px; margin-top:-4px; }
  @media (max-width:900px){ .loop-grid{ grid-template-columns:1fr; } }

  /* ---------- STAT SHEET ---------- */
  .statsheet{
    display:grid; grid-template-columns:1.1fr 1fr; gap:40px; align-items:start;
  }
  .status-window{ padding:28px; }
  .status-window .win-title{
    font-family:'Press Start 2P',monospace; font-size:11px; color:var(--amber);
    margin-bottom:20px; display:flex; align-items:center; gap:10px;
  }
  .status-window .win-title::before{ content:'▣'; }
  .factor-list{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
  .factor-list li{
    display:flex; align-items:center; gap:12px; font-family:'VT323',monospace; font-size:18px; color:var(--paper);
    padding:10px 12px; background:var(--void); border:2px solid var(--border-dim);
  }
  .factor-list li::before{ content:''; width:10px; height:10px; background:var(--teal); flex:none; }
  .archetypes{ display:grid; gap:16px; }
  .archetype{ padding:20px; display:flex; gap:16px; align-items:flex-start; }
  .archetype .tag{
    font-family:'Press Start 2P',monospace; font-size:9px; color:var(--void);
    background:var(--teal); padding:6px 8px; flex:none;
  }
  .archetype p{ margin:0; color:var(--paper-dim); font-size:15px; }
  .archetype strong{ color:var(--paper); display:block; margin-bottom:4px; font-family:'Pixelify Sans'; font-size:16px;}

  /* ---------- MAP ---------- */
  .map-frame{ padding:8px; }
  .map-scroll{
    overflow-x:auto;
    overflow-y:hidden;
    cursor:grab;
    scrollbar-width:thin;
    scrollbar-color:var(--amber) var(--void);
  }
  .map-scroll:active{ cursor:grabbing; }
  .map-scroll img{
    display:block;
    height:420px;
    width:auto;
    max-width:none;
    image-rendering:pixelated;
    user-select:none;
    -webkit-user-drag:none;
  }
  .map-scroll::-webkit-scrollbar{ height:10px; }
  .map-scroll::-webkit-scrollbar-track{ background:var(--void); }
  .map-scroll::-webkit-scrollbar-thumb{ background:var(--amber); }
  .map-hint{
    text-align:center; font-size:16px; color:var(--paper-dim);
    padding:10px 0 4px 0;
  }
  @media (max-width:700px){
    .map-scroll img{ height:260px; }
  }
  .map-legend{
    margin-top:30px;
    display:grid; grid-template-columns:repeat(4,1fr); gap:18px;
  }
  .legend-item{
    display:flex; flex-direction:column; gap:4px;
    font-size:14px; color:var(--paper-dim);
    padding:16px; background:var(--panel); border:2px solid var(--border-dim);
  }
  .legend-item .dot{ width:10px; height:10px; display:inline-block; margin-bottom:6px; }
  .legend-item b{ color:var(--paper); font-family:'Pixelify Sans'; font-weight:700; font-size:15px; }
  @media (max-width:900px){ .map-legend{ grid-template-columns:1fr 1fr; } }
  @media (max-width:520px){ .map-legend{ grid-template-columns:1fr; } }

  /* ---------- GALLERY ---------- */
  .gallery-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:26px;
  }
  .photo-slot{
    width:100%;
    aspect-ratio:1/1;
    max-width:500px;
    position:relative;
    background:
      linear-gradient(135deg, rgba(75,227,192,.14), rgba(255,93,143,.10)),
      repeating-linear-gradient(45deg, #17143a 0 10px, #1c1846 10px 20px);
    border:var(--px) solid var(--border);
    overflow:hidden;
  }
  .photo-slot img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:block;
  }
  .photo-slot .corner{ position:absolute; width:16px; height:16px; border:3px solid var(--amber); }
  .photo-slot .corner.tl{ top:8px; left:8px; border-right:none; border-bottom:none; }
  .photo-slot .corner.tr{ top:8px; right:8px; border-left:none; border-bottom:none; }
  .photo-slot .corner.bl{ bottom:8px; left:8px; border-right:none; border-top:none; }
  .photo-slot .corner.br{ bottom:8px; right:8px; border-left:none; border-top:none; }
  .gallery-caption{ margin-top:12px; font-family:'VT323',monospace; font-size:18px; color:var(--paper-dim); display:flex; justify-content:space-between; }
  .gallery-caption b{ color:var(--paper); font-weight:400; }
  @media (max-width:900px){ .gallery-grid{ grid-template-columns:1fr; } }

  /* ---------- VAULT FLOW ---------- */
  .vault-flow{
    display:flex; align-items:stretch; gap:0; flex-wrap:wrap;
  }
  .vault-step{
    flex:1; min-width:200px; padding:24px 20px; text-align:left;
  }
  .vault-step .icon{ font-size:26px; margin-bottom:14px; }
  .vault-step h3{ font-size:12px; color:var(--paper); margin:0 0 8px 0; }
  .vault-step p{ font-size:14px; color:var(--paper-dim); margin:0; }
  .vault-connector{ display:flex; align-items:center; justify-content:center; width:44px; color:var(--amber); font-size:20px; }
  @media (max-width:900px){
    .vault-flow{ flex-direction:column; }
    .vault-connector{ transform:rotate(90deg); width:100%; height:30px; }
  }

  /* ---------- ELIGIBILITY ---------- */
  .eligibility-grid{ display:grid; grid-template-columns:1fr 1fr; gap:26px; }
  .status-card{ padding:28px; }
  .status-card.active{ border-color:var(--teal); }
  .status-card.removed{ border-color:var(--rose); }
  .status-pill{
    display:inline-block; font-family:'Press Start 2P',monospace; font-size:9px;
    padding:8px 12px; margin-bottom:18px;
  }
  .status-card.active .status-pill{ background:var(--teal); color:var(--void); }
  .status-card.removed .status-pill{ background:var(--rose); color:var(--void); }
  .status-card ul{ margin:0; padding-left:20px; color:var(--paper-dim); font-size:15px; display:grid; gap:8px; }
  .status-card h3{ font-size:15px; color:var(--paper); margin:0 0 14px 0; }
  @media (max-width:800px){ .eligibility-grid{ grid-template-columns:1fr; } }

  /* ---------- HOW TO PLAY ---------- */
  .htp-steps{ display:grid; gap:18px; counter-reset:step; }
  .htp-step{
    display:grid; grid-template-columns:56px 1fr; gap:20px; padding:22px; align-items:center;
  }
  .htp-step .num{
    font-family:'Press Start 2P',monospace; font-size:16px; color:var(--void);
    background:var(--amber); width:56px; height:56px; display:flex; align-items:center; justify-content:center;
  }
  .htp-step h3{ margin:0 0 6px 0; font-size:16px; color:var(--paper); font-family:'Pixelify Sans'; font-weight:700;}
  .htp-step p{ margin:0; color:var(--paper-dim); font-size:15px; }

  /* ---------- FOOTER ---------- */
  footer{ border-top:var(--px) solid var(--border-dim); padding:56px 0 40px; background:var(--panel); }
  .footer-inner{ display:flex; justify-content:space-between; align-items:flex-start; gap:24px; flex-wrap:wrap; }
  .footer-note{ color:var(--paper-dim); font-size:14px; max-width:480px; }
  .footer-links{ display:flex; gap:18px; }
  .footer-links a{ color:var(--paper-dim); text-decoration:none; font-family:'VT323',monospace; font-size:18px; }
  .footer-links a:hover{ color:var(--teal); }
  .disclaimer{ margin-top:34px; font-family:'VT323',monospace; font-size:14px; color:#655e8f; max-width:900px; }

  /* ---------- STAKE & SPAWN MODAL ---------- */
  .modal-overlay{
    position:fixed; inset:0; z-index:1000;
    background:rgba(6,5,16,0.72);
    display:flex; align-items:center; justify-content:center;
    padding:20px;
    opacity:0; pointer-events:none;
    transition:opacity .15s ease;
  }
  .modal-overlay.open{ opacity:1; pointer-events:auto; }
  .modal-panel{
    width:100%; max-width:420px;
    padding:32px;
    position:relative;
    transform:translateY(8px);
    transition:transform .15s ease;
  }
  .modal-overlay.open .modal-panel{ transform:translateY(0); }
  .modal-close{
    position:absolute; top:14px; right:14px;
    background:transparent; border:2px solid var(--border-dim);
    color:var(--paper-dim); width:30px; height:30px;
    font-family:'Press Start 2P',monospace; font-size:10px;
    cursor:pointer;
  }
  .modal-close:hover{ color:var(--rose); border-color:var(--rose); }
  .modal-title{ font-size:16px; color:var(--paper); margin:0 0 10px 0; }
  .modal-sub{ color:var(--paper-dim); font-size:14px; margin:0 0 24px 0; }
  .modal-label{
    display:block; font-family:'Press Start 2P',monospace; font-size:10px;
    color:var(--teal); margin-bottom:10px;
  }
  .modal-input{
    width:100%; background:var(--void); border:2px solid var(--border);
    color:var(--paper); font-size:20px; padding:12px 14px;
    margin-bottom:8px;
  }
  .modal-input:focus{ border-color:var(--amber); outline:none; }
  .modal-status{
    min-height:20px; color:var(--lime); font-size:13px; margin-bottom:10px;
  }
  .modal-status.error{ color:var(--rose); }
  .modal-actions{ display:flex; justify-content:flex-end; gap:12px; margin-top:10px; }
  .modal-field[hidden]{ display:none; }
  .modal-agent-name{ color:var(--amber); font-weight:700; }

  /* ---------- WALLET CHOOSER (EIP-6963) ---------- */
  .wallet-modal-panel{ max-width:520px; }
  .wallet-list{
    display:grid; gap:10px; max-height:320px; overflow:auto;
    margin:18px 0 10px; padding:2px;
    scrollbar-width:thin; scrollbar-color:var(--amber) var(--void);
  }
  .wallet-option{
    width:100%; display:grid; grid-template-columns:46px minmax(0,1fr) auto;
    align-items:center; gap:14px; padding:13px 14px;
    background:var(--void); color:var(--paper);
    border:2px solid var(--border-dim); cursor:pointer; text-align:left;
    font:inherit;
  }
  .wallet-option:hover, .wallet-option:focus-visible{
    border-color:var(--teal); background:var(--panel-hi);
  }
  .wallet-option[disabled]{ opacity:.55; cursor:wait; }
  .wallet-icon{
    width:42px; height:42px; display:flex; align-items:center; justify-content:center;
    background:var(--panel); border:2px solid var(--border-dim); overflow:hidden;
    font-family:'Press Start 2P',monospace; font-size:14px; color:var(--amber);
  }
  .wallet-icon img{ width:100%; height:100%; object-fit:contain; }
  .wallet-copy{ min-width:0; }
  .wallet-name{
    display:block; color:var(--paper); font-family:'Press Start 2P',monospace;
    font-size:10px; line-height:1.5; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  }
  .wallet-rdns{
    display:block; color:var(--paper-dim); font-family:'VT323',monospace;
    font-size:16px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  }
  .wallet-connect-label{
    color:var(--teal); font-family:'Press Start 2P',monospace; font-size:8px;
  }
  .wallet-empty{
    padding:24px 18px; text-align:center; color:var(--paper-dim);
    background:var(--void); border:2px dashed var(--border-dim);
  }
  .wallet-status{
    min-height:24px; margin:8px 0 0; color:var(--lime);
    font-family:'VT323',monospace; font-size:17px;
  }
  .wallet-status.error{ color:var(--rose); }
  @media (max-width:520px){
    .wallet-option{ grid-template-columns:40px minmax(0,1fr); }
    .wallet-connect-label{ display:none; }
    .wallet-icon{ width:38px; height:38px; }
  }

  .toast{
    position:fixed; bottom:24px; left:50%;
    transform:translate(-50%, 20px);
    background:var(--amber); color:var(--void);
    font-size:16px; padding:14px 22px;
    border:2px solid #7a5518;
    z-index:1100;
    opacity:0; pointer-events:none;
    transition:opacity .2s ease, transform .2s ease;
    max-width:90vw; text-align:center;
  }
  .toast.show{ opacity:1; transform:translate(-50%, 0); }

  @media (prefers-reduced-motion: reduce){
    *{ animation-duration:0.001s !important; animation-iteration-count:1 !important; }
  }
