/* Shared by every Waves page: wallet modal, wallet menu, app header, app footer, form parts. */
:root{
  --deep:#0B3558; --sea:#0A7CC2; --sea-2:#3FA9E8; --paper:#EEF5F9; --grey:#EFF1F3; --white:#FFFFFF;
  --line:rgba(10,124,194,.25); --line-soft:rgba(11,53,88,.12); --tint:#E6F1F8;
  --display:"Onest", "Helvetica Neue", Arial, sans-serif;
  --body:"Geist", "Helvetica Neue", Arial, sans-serif;
  --mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --notch:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
  --notch-lg:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px);
}

[hidden]{display:none!important}

/* ---------- app header ---------- */
.appbar{position:sticky;top:0;z-index:40;display:flex;align-items:stretch;justify-content:space-between;height:56px;background:rgba(255,255,255,.97);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft)}
.appbar .l,.appbar .r{display:flex;align-items:stretch}
.appbar a.cell{display:flex;align-items:center;gap:9px;padding:0 24px;border-right:1px solid var(--line-soft);font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(11,53,88,.72);white-space:nowrap}
.appbar .r a.cell{border-right:0;border-left:1px solid var(--line-soft)}
.appbar a.cell:hover,.appbar a.cell.here{color:var(--deep)}
.appbar a.cell.here{box-shadow:inset 0 -2px 0 var(--sea)}
.appbar .brand b{font-family:var(--display);font-weight:700;font-size:17px;letter-spacing:-.01em;text-transform:none;color:var(--deep)}
.appbar .connect-wrap{display:flex;align-items:center;padding:0 12px 0 14px;border-left:1px solid var(--line-soft)}

/* ---------- connect button (header + anywhere) ---------- */
.wbtn{position:relative;display:inline-flex;align-items:center;gap:9px;height:38px;padding:0 18px;border:0;cursor:pointer;background:var(--deep);color:#fff;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;clip-path:var(--notch);transition:background .2s}
.wbtn:hover{background:var(--sea)}
.wbtn .dot{width:7px;height:7px;border-radius:50%;background:#5BD39A;box-shadow:0 0 0 3px rgba(91,211,154,.25)}
.wbtn.on{text-transform:none;letter-spacing:.04em}

/* ---------- wallet menu ---------- */
.wmenu{position:fixed;z-index:70;min-width:250px;background:#fff;border:1px solid var(--line-soft);box-shadow:0 18px 40px -18px rgba(11,53,88,.35);padding:14px;font-family:var(--body);color:var(--deep)}
.wmenu .k{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(11,53,88,.55)}
.wmenu .addr{margin-top:4px;font-family:var(--mono);font-size:13px;word-break:break-all}
.wmenu .bal{margin-top:12px;font-family:var(--display);font-weight:600;font-size:22px}
.wmenu .row{display:flex;gap:8px;margin-top:14px}
.wmenu button{flex:1;height:34px;border:1px solid var(--line);background:#fff;color:var(--deep);cursor:pointer;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.wmenu button:hover{background:var(--tint)}

/* ---------- wallet modal ---------- */
.wm{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px}
.wm-back{position:absolute;inset:0;background:rgba(11,53,88,.38);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.wm-card{position:relative;width:min(420px,100%);background:#fff;clip-path:var(--notch-lg);padding:26px 26px 22px;color:var(--deep);font-family:var(--body);animation:wmIn .22s ease}
@keyframes wmIn{from{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}
.wm-head{display:flex;justify-content:space-between;align-items:center}
.wm-head b{font-family:var(--display);font-weight:600;font-size:24px;letter-spacing:-.02em}
.wm-x{width:34px;height:34px;border:1px solid var(--line-soft);background:#fff;cursor:pointer;font-size:18px;color:var(--deep)}
.wm-x:hover{background:var(--tint)}
.wm-sub{margin:8px 0 0;font-size:14px;color:rgba(11,53,88,.75)}
.wm-list{margin-top:18px;display:flex;flex-direction:column;gap:8px}
.wm-opt{display:flex;align-items:center;gap:14px;width:100%;padding:12px 14px;border:1px solid var(--line-soft);background:#fff;cursor:pointer;text-align:left;font:inherit;color:inherit;transition:border-color .15s,background .15s}
.wm-opt:hover{border-color:var(--sea);background:var(--tint)}
.wm-ico{width:34px;height:34px;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:15px;color:#fff;flex:none}
.wm-name{flex:1;font-weight:600;font-size:15px}
.wm-tag{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(11,53,88,.55)}
.wm-tag.ok{color:#1F8A5B}
.wm-err{margin:12px 0 0;padding:10px 12px;background:#FBEFEA;color:#8A3A1F;font-size:13px}
.wm-foot{margin:16px 0 0;font-size:12.5px;line-height:1.5;color:rgba(11,53,88,.62)}

/* ---------- app footer ---------- */
.appfoot{border-top:1px solid var(--line);background:var(--paper)}
.appfoot .in{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.4fr .6fr}
.appfoot .cta{padding:64px clamp(22px,4vw,40px);border-right:1px solid var(--line)}
.appfoot h2{margin:0;font-family:var(--display);font-weight:600;font-size:clamp(34px,4vw,48px);line-height:.98;letter-spacing:-.02em;text-transform:uppercase;color:var(--deep);max-width:13ch}
.appfoot p{margin:18px 0 0;max-width:34em;font-size:15px;color:rgba(11,53,88,.8)}
.appfoot .links{padding:64px clamp(22px,4vw,40px);display:flex;flex-direction:column;gap:14px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--deep)}
.appfoot .links a:hover{color:var(--sea)}
.appfoot .links .brand{margin-top:22px;display:flex;align-items:center;gap:8px;font-family:var(--display);font-size:16px;letter-spacing:0;text-transform:none;font-weight:700}
.appfoot .links small{opacity:.55}

/* ---------- shared buttons ---------- */
.abtn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:46px;padding:0 22px;border:0;cursor:pointer;background:var(--deep);color:#fff;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;clip-path:var(--notch);transition:background .2s,opacity .2s}
.abtn:hover{background:var(--sea)}
.abtn.ghost{background:#fff;color:var(--deep);box-shadow:inset 0 0 0 1px var(--line)}
.abtn.ghost:hover{background:var(--tint)}
.abtn[disabled]{opacity:.45;cursor:not-allowed}

.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:90;max-width:min(520px,calc(100% - 32px));padding:12px 16px;background:var(--deep);color:#fff;font-family:var(--body);font-size:14px;line-height:1.45;clip-path:var(--notch);animation:wmIn .2s ease}

@media (max-width:820px){
  .appbar a.cell{padding:0 14px}
  .appbar .hide-sm{display:none}
  .appfoot .in{grid-template-columns:1fr}
  .appfoot .cta{border-right:0;border-bottom:1px solid var(--line)}
}
@media (max-width:520px){
  .appbar .brand .mk{height:12px}
  .wbtn{padding:0 12px}
}
.mk{display:block;flex:none;width:auto;object-fit:contain}
@media (prefers-reduced-motion:reduce){
  .wm-card,.toast{animation:none}
}
