:root{--vw-bg:light-dark(#f4f6f8,#131416);--vw-surface:light-dark(#ffffff,#1a1c1f);--vw-ink:light-dark(#17212c,#f0f2f5);--vw-muted:light-dark(#647080,#969fa9);--vw-line:light-dark(#e0e5eb,#2c3036);--vw-soft:light-dark(#eaf0f7,#22262b);--vw-accent:light-dark(#236b9f,#8bcfff);--vw-accent-ink:light-dark(#17212c,#edf5fc);--vw-danger:light-dark(#a63b3b,#eea1a1);--vw-warm:light-dark(#895d27,#d8b584);--vw-backdrop:light-dark(#e3e9ef,#0b0c0d);color-scheme:dark;
--safe-top:max(env(safe-area-inset-top,0px),calc(var(--tg-safe-area-inset-top,0px) + var(--tg-content-safe-area-inset-top,0px)));--safe-bottom:max(env(safe-area-inset-bottom,0px),var(--tg-safe-area-inset-bottom,0px));--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}
:root[data-appearance="light"]{color-scheme:light}
:root[data-appearance="dark"]{color-scheme:dark}
:root[data-appearance="auto"]{color-scheme:light dark}
html,body{margin:0;height:100%;background-color:var(--vw-bg);overscroll-behavior:none}
body{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.stage{height:100%}
.stage-note{display:none}
/* App shell: the bar and the tab bar stay put, only .content scrolls; system areas are padded out. */
.vw{display:flex;flex-direction:column;height:100vh;height:100dvh;width:100%;max-width:430px;margin:0 auto;background:var(--vw-bg);color:var(--vw-ink);font:0.9375rem/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;position:relative;isolation:isolate;padding-left:var(--safe-left);padding-right:var(--safe-right)}
@media(min-width:768px){
  html,body{background-color:var(--vw-backdrop)}
  .stage{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:100%;padding:24px}
  .vw{height:min(880px,calc(100dvh - 90px));border:1px solid var(--vw-line);border-radius:28px;overflow:hidden;box-shadow:0 18px 50px #00000028}
  .stage-note{display:block;margin:0;color:var(--vw-muted);font:0.8125rem/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
}

.vw *{box-sizing:border-box}
.vw button,.vw input,.vw select{font:inherit}
.vw button{color:inherit;border:0;background:none;touch-action:manipulation;min-height:44px;user-select:none;-webkit-tap-highlight-color:transparent}
.vw button:active{background:var(--vw-soft)}
.vw button:disabled{opacity:.46}
.vw button:focus-visible,.vw input:focus-visible,.vw select:focus-visible{outline:2px solid var(--vw-accent);outline-offset:3px}
.vw h1,.vw h2,.vw h3,.vw p{margin:0}
.vw h1{font-size:1.75rem;line-height:1.18;font-weight:650;letter-spacing:-.6px}
.vw h2{font-size:1.188rem;line-height:1.3;font-weight:600;letter-spacing:-.2px}
.vw h3{font-size:1rem;font-weight:600}
.vw svg{width:20px;height:20px;flex-shrink:0}
.vw .top{display:flex;align-items:center;gap:10px;padding:20px 22px 12px}
.vw .logo{height:33px;width:33px;display:grid;place-items:center;border-radius:11px;background:var(--vw-ink);color:var(--vw-bg);font-size:1.5rem;font-weight:650;line-height:1}
.vw .brand{font-size:1.125rem;font-weight:650;letter-spacing:-.6px}
.vw .avatar{margin-left:auto;width:44px;border-radius:50%;background:var(--vw-soft)}
.vw .content{padding:8px 22px 24px}
.vw .eyebrow{display:flex;gap:6px;align-items:center;font-size:0.75rem;color:var(--vw-muted);margin-bottom:8px}
.vw .dot{width:6px;height:6px;border-radius:50%;background:var(--vw-accent)}
.vw .muted{color:var(--vw-muted)}
.vw .small{font-size:0.8125rem}
.vw .tiny{font-size:0.75rem}
.vw .num{font-variant-numeric:tabular-nums}
.vw .hero{padding:12px 0 18px}
.vw .hero-label{display:flex;align-items:center;gap:8px;color:var(--vw-muted);margin-bottom:3px}
.vw .eye{min-height:32px;width:32px;display:grid;place-items:center}
.vw .eye svg{width:16px;height:16px}
.vw .balance{font-size:2.688rem;line-height:1.2;font-weight:600;letter-spacing:-1.8px;overflow-wrap:anywhere}
.vw .balance span{font-size:1.125rem;color:var(--vw-muted);letter-spacing:-.3px;font-weight:400}
.vw .address{padding:0;display:flex;align-items:center;gap:6px;color:var(--vw-muted);font-size:0.75rem;min-height:36px}
.vw .address svg{width:13px;height:13px}
.vw .actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 22px}
.vw .action{border-radius:16px;display:flex;align-items:center;justify-content:center;gap:9px;min-height:54px;background:var(--vw-soft);font-size:0.9375rem;font-weight:550}
.vw .action.primary,.vw .primary{background:var(--vw-accent);color:var(--vw-accent-ink)}
.vw .section-head{display:flex;align-items:center;justify-content:space-between;margin:18px 0 8px;gap:8px}
.vw .section-head:first-child{margin-top:0}
.vw .text-btn{padding:0 4px;color:var(--vw-accent);font-size:0.8125rem}
.vw .rows{background:var(--vw-surface);border-radius:19px;padding:0 15px}
.vw .row{display:flex;align-items:center;gap:12px;width:100%;padding:12px 0;text-align:left;min-height:64px}
.vw .row+.row{border-top:1px solid var(--vw-line)}
.vw .row .body{flex:1;min-width:0}
.vw .row .sub{color:var(--vw-muted);font-size:0.75rem;margin-top:2px}
.vw .row .right{text-align:right;flex-shrink:0;font-size:0.875rem}
.vw .token{width:38px;height:38px;border-radius:50%;background:var(--vw-soft);color:var(--vw-ink);display:grid;place-items:center;flex-shrink:0;font-size:0.9375rem;font-weight:600}
.vw .token.native{background:var(--vw-ink);color:var(--vw-bg)}
.vw .row .chev{width:16px;height:16px;color:var(--vw-muted)}
.vw .preview-tx{display:flex;align-items:center;gap:12px;padding:13px 0}
.vw .tx-icon{width:34px;height:34px;background:var(--vw-soft);border-radius:50%;display:grid;place-items:center;flex-shrink:0}
.vw .tx-icon svg{width:17px;height:17px}
.vw .pill{display:inline-flex;align-items:center;gap:5px;background:var(--vw-soft);color:var(--vw-accent);padding:4px 8px;font-size:0.6875rem;border-radius:7px}
.vw .pill.pending{color:var(--vw-warm)}
.vw .pill.failed{color:var(--vw-danger)}
.vw .nav{display:flex;align-items:center;justify-content:space-around;gap:3px;margin:0 12px 12px;background:var(--vw-surface);padding:7px 4px;border-radius:19px;border:1px solid var(--vw-line)}
.vw .nav button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;flex:1;min-width:0;border-radius:13px;font-size:0.625rem;color:var(--vw-muted);padding:8px 0;min-height:57px}
.vw .nav button[aria-current="page"]{background:var(--vw-soft);color:var(--vw-accent);font-weight:600}
.vw .nav svg{width:20px;height:20px}
.vw .backline{display:flex;align-items:center;gap:7px;margin:-2px 0 14px;color:var(--vw-muted)}
.vw .backline button{display:flex;align-items:center;gap:4px;padding:0 5px 0 0;color:var(--vw-muted);font-size:0.8125rem}
.vw .lead{margin:10px 0 23px;color:var(--vw-muted);font-size:0.875rem}
.vw .form{display:grid;gap:20px;margin-top:25px}
.vw label{display:block;font-size:0.8125rem;font-weight:500;margin-bottom:7px}
.vw input,.vw select{width:100%;min-width:0;min-height:53px;border:1px solid var(--vw-line);border-radius:12px;padding:12px;background:var(--vw-surface);color:var(--vw-ink);font-size:1rem}
.vw input::placeholder{color:var(--vw-muted)}
.vw .amount-wrap{display:flex;align-items:center;gap:8px}
.vw .amount-wrap input{font-size:1.688rem;font-variant-numeric:tabular-nums}
.vw .amount-wrap button{font-size:0.75rem;flex:none;color:var(--vw-accent)}
.vw .help{font-size:0.75rem;color:var(--vw-muted);margin-top:7px}
.vw .error{color:var(--vw-danger);font-size:0.8125rem;min-height:20px;margin-top:12px}
.vw .full{width:100%;min-height:52px;border-radius:14px;font-weight:550;margin-top:16px;padding:12px}
.vw .secondary{background:var(--vw-soft)}
.vw .details{margin:22px 0;border-radius:18px;background:var(--vw-surface);padding:5px 16px}
.vw .detail{display:flex;justify-content:space-between;gap:16px;padding:14px 0;font-size:0.8125rem}
.vw .detail+.detail{border-top:1px solid var(--vw-line)}
.vw .detail dt{color:var(--vw-muted)}
.vw .detail dd{margin:0;text-align:right;overflow-wrap:anywhere;max-width:65%;font-variant-numeric:tabular-nums}
.vw .center{text-align:center}
.vw .emblem{width:68px;height:68px;border-radius:24px;background:var(--vw-soft);color:var(--vw-accent);display:grid;place-items:center;margin:30px auto 20px}
.vw .emblem svg{width:29px;height:29px}
.vw .big-amount{font-size:2.188rem;font-weight:600;letter-spacing:-1px;margin:12px 0}
.vw .note{font-size:0.8125rem;color:var(--vw-muted);padding:15px;background:var(--vw-soft);border-radius:14px;margin:18px 0}
.vw .note svg{width:16px;height:16px;vertical-align:middle;margin-right:5px}
.vw .qr{width:206px;max-width:100%;aspect-ratio:1;background:white;margin:24px auto;padding:14px;border-radius:20px}
.vw .qr svg{width:100%;height:auto;display:block}
.vw .address-full{font:0.75rem/1.7 ui-monospace,SFMono-Regular,monospace;overflow-wrap:anywhere;user-select:text;background:var(--vw-surface);border-radius:12px;padding:13px;text-align:center}
.vw .seg{display:flex;background:var(--vw-soft);padding:4px;border-radius:12px;margin:20px 0 18px;gap:3px}
.vw .seg button{flex:1;min-height:36px;font-size:0.75rem;border-radius:9px;padding:6px}
.vw .seg button[aria-pressed="true"]{background:var(--vw-surface);box-shadow:0 1px 4px #00000008}
.vw .day{font-size:0.75rem;color:var(--vw-muted);margin:22px 0 3px}
.vw .profile-head{display:flex;align-items:center;gap:14px;margin:20px 0 27px}
.vw .profile-avatar{display:grid;place-items:center;width:56px;height:56px;background:var(--vw-soft);border-radius:18px;font-size:1.25rem}
.vw .progress{height:4px;background:var(--vw-soft);border-radius:5px;margin:16px 0;overflow:hidden}
.vw .progress span{display:block;width:50%;height:100%;background:var(--vw-accent)}
.vw .checklabel{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:0.8125rem;margin:22px 0}
.vw .checklabel input{width:19px;min-height:19px;height:19px;flex:none;margin-top:1px;accent-color:var(--vw-accent)}
.vw .linkrow{display:flex;gap:12px;align-items:center;min-height:58px;padding:14px 0;width:100%;text-align:left}
.vw .linkrow+.linkrow{border-top:1px solid var(--vw-line)}
.vw .linkrow>span{flex:1}
.vw .profile-group{margin:16px 0 23px}
.vw .reward-art{height:154px;display:flex;align-items:center;justify-content:center;position:relative;margin:22px 0}
.vw .reward-ring{width:112px;height:112px;border:1px solid var(--vw-line);border-radius:38px;transform:rotate(-10deg);position:absolute}
.vw .reward-core{width:82px;height:82px;background:var(--vw-soft);border-radius:28px;display:grid;place-items:center;color:var(--vw-accent)}
.vw .reward-core svg{width:32px;height:32px}
.vw .toast{position:absolute;bottom:100px;left:22px;right:22px;background:var(--vw-ink);color:var(--vw-bg);padding:12px 15px;border-radius:13px;font-size:0.8125rem;box-shadow:0 5px 25px #0002;z-index:5;pointer-events:none}
.vw .toast:empty{display:none}
@media(max-width:380px){.vw{border-radius:20px}.vw .content{padding-left:17px;padding-right:17px}.vw .top{padding-left:17px;padding-right:17px}.vw .balance{font-size:2.312rem}.vw .row{gap:8px}.vw .row .right{font-size:0.8125rem}}
@media(prefers-reduced-motion:no-preference){.vw button{transition:background-color 120ms,opacity 120ms}.vw .screen.enter{animation:vw-enter 180ms ease-out}@keyframes vw-enter{from{opacity:.65;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}}

/* Charcoal / ice-blue revision. Product icon dimensions override preview defaults. */
.vw{--vw-button:light-dark(#f8fafc,#141619);--vw-outline:light-dark(#a2c8e4,#405c73);--vw-glow:light-dark(#2790d92b,#59b9ff38);box-shadow:0 18px 50px #00000028;border-color:light-dark(#dbe3eb,#2c3138)}
.vw svg.lucide{display:block;width:var(--vw-glyph,20px)!important;height:var(--vw-glyph,20px)!important;margin:0!important;flex:none;stroke-width:1.7}
.vw :is(.avatar,.eye,.token,.tx-icon,.emblem,.profile-avatar,.reward-core){display:grid;place-items:center;padding:0;line-height:1;flex-shrink:0}
.vw .avatar{width:44px;height:44px;min-height:44px;border:1px solid var(--vw-line);background:var(--vw-surface)}
.vw .eye{height:32px;--vw-glyph:16px}
.vw .tx-icon{--vw-glyph:17px;border:1px solid light-dark(#dce6f0,#303a45);color:var(--vw-accent)}
.vw .token{line-height:1;border:1px solid light-dark(#e1e7ed,#343a43)}
.vw .token.native{background:var(--vw-soft);color:var(--vw-accent);border-color:var(--vw-outline)}
.vw .profile-avatar{border:1px solid var(--vw-outline);color:var(--vw-accent)}
.vw .emblem{--vw-glyph:29px;border:1px solid var(--vw-outline)}
.vw .reward-core{--vw-glyph:32px;border:1px solid var(--vw-outline)}
.vw .address{--vw-glyph:13px}
.vw .row .chev,.vw .linkrow .chev{--vw-glyph:16px}
.vw .note{--vw-glyph:16px}
.vw .note svg.lucide{display:inline-block;margin-right:5px!important;vertical-align:middle}
.vw .full{display:flex;align-items:center;justify-content:center;gap:9px;position:relative}
.vw .action{position:relative;background:var(--vw-surface);border:1px solid var(--vw-outline)}
.vw .action.primary,.vw .full.primary{
color:var(--vw-accent-ink);
border:1px solid transparent;
background:linear-gradient(var(--vw-button),var(--vw-button)) padding-box,linear-gradient(180deg,light-dark(#c5d5e2,#323c47) 10%,light-dark(#4b99cc,#85ccff) 100%) border-box;
box-shadow:inset 0 1px 0 light-dark(#ffffff80,#ffffff07),0 2px 0 light-dark(#78b1d54d,#78c6ff55),0 13px 23px -12px var(--vw-glow)
}
.vw .action.primary:active,.vw .full.primary:active{background:linear-gradient(var(--vw-soft),var(--vw-soft)) padding-box,linear-gradient(180deg,var(--vw-outline),var(--vw-accent)) border-box}
.vw .rows{border:1px solid light-dark(#e3e8ee,#272b31)}
.vw .nav{border-color:light-dark(#dce6ef,#303b47);background:var(--vw-surface)}
.vw .nav button[aria-current="page"]{background:var(--vw-soft);box-shadow:inset 0 0 0 1px light-dark(#c0d9eb,#3a5165)}
.vw .reward-ring{border-color:var(--vw-outline)}
.vw input:focus,.vw select:focus{border-color:var(--vw-accent)}
.vw .address{color:var(--vw-accent)}

/* App shell, after the prototype rules it overrides: bar and tab bar fixed in the column, only .content scrolls. */
.vw .top{flex:none;background-color:var(--vw-bg);padding-top:calc(var(--safe-top) + 12px)}
.vw .content{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;outline:none}
.vw .nav{flex:none;margin-bottom:calc(12px + var(--safe-bottom))}
/* Production additions: classes instead of inline styles (CSP style-src 'self'). */
/* One 2 px contour on focused fields (UI standard A11Y-01): accent border plus 1 px inset, no outline beside it. */
.vw input:not([type="checkbox"]):focus,.vw input:not([type="checkbox"]):focus-visible,.vw select:focus,.vw select:focus-visible{outline:none;border-color:var(--vw-accent);box-shadow:inset 0 0 0 1px var(--vw-accent)}
.vw .nav[hidden]{display:none}
.vw .key-full{font-size:0.8125rem;letter-spacing:.02em;margin:18px 0 4px}
.vw .block{display:block}
.vw .c-warm{color:var(--vw-warm)}
.vw .c-danger{color:var(--vw-danger)}
.vw .c-accent{color:var(--vw-accent)}
.vw .gap-top{margin-top:18px}
.vw .rows.spaced{margin-top:24px}
.vw .addr-detail{font-size:0.75rem;line-height:1.6;user-select:text}
.vw .selectable,.vw .balance,.vw .big-amount,.vw .address-full,.vw .detail dd{user-select:text;-webkit-user-select:text}
.vw .nowrap{white-space:nowrap}
.vw .skeleton{display:inline-block;min-width:7ch;height:1em;border-radius:8px;background:var(--vw-soft);vertical-align:-0.1em}
.vw .skeleton.wide{min-width:12ch}
.vw .notice{display:flex;gap:10px;align-items:flex-start;font-size:0.8125rem;color:var(--vw-muted);padding:14px 15px;background:var(--vw-soft);border-radius:14px;margin:14px 0;--vw-glyph:16px}
.vw .notice.error{color:var(--vw-danger)}
.vw .notice .notice-body{flex:1;min-width:0}
.vw .notice .text-btn{min-height:32px;padding:0}
.vw .section-head .head-tools{display:flex;align-items:center;gap:6px}
.vw .icon-btn{min-height:36px;width:36px;display:grid;place-items:center;border-radius:10px;color:var(--vw-muted);--vw-glyph:16px}
.vw .link-btn{display:inline-flex;align-items:center;gap:6px;color:var(--vw-accent);font-size:0.8125rem;min-height:36px;padding:0;--vw-glyph:14px}
.vw .empty{padding:18px 16px;text-align:center;color:var(--vw-muted);font-size:0.875rem}
.vw .qr svg{shape-rendering:crispEdges}
.vw .boot{min-height:200px}
.vw .h1-center,.vw .center h1,.vw .center h2{text-wrap:balance}
.vw .lead,.vw .note,.vw .help{text-wrap:pretty}
.vw .full.primary[aria-busy="true"]{opacity:.75}
@media(prefers-reduced-motion:reduce){.vw *{animation:none!important;transition:none!important}}

/* Header scan button sits before the profile button. */
.vw .top .scan-btn{margin-left:auto}
.vw .top .scan-btn + .avatar{margin-left:8px}
.vw .top .scan-btn[hidden]{display:none}
.vw .top .scan-btn[hidden] + .avatar{margin-left:auto}
.vw .label{display:block;font-size:0.8125rem;font-weight:500;margin-bottom:7px}

/* Our selector: a field-shaped button that opens the asset sheet. */
.vw .field-select{display:flex;align-items:center;gap:12px;width:100%;min-height:58px;padding:9px 12px;text-align:left;background:var(--vw-surface);border:1px solid var(--vw-line);border-radius:12px;font-size:1rem}
.vw .field-select .token{width:34px;height:34px;font-size:0.875rem}
.vw .field-select .field-value{flex:1;min-width:0}
.vw .field-select .chev{--vw-glyph:18px;color:var(--vw-muted)}
.vw .field-select[aria-expanded="true"],.vw .field-select:focus-visible{outline:none;border-color:var(--vw-accent);box-shadow:inset 0 0 0 1px var(--vw-accent)}

/* A field with an action inside its right edge (scan). */
.vw .input-action{position:relative}
.vw .input-action input{padding-right:52px}
.vw .input-action .field-icon{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:44px;min-height:44px;color:var(--vw-accent);--vw-glyph:20px}

/* Our bottom sheet: grabber, swipe down, Esc, backdrop and Back close it; the shell behind is inert. */
.vw .sheet-layer{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;justify-content:flex-end}
.vw .sheet-layer[hidden]{display:none}
.vw .sheet-backdrop{position:absolute;inset:0;background:#0009;opacity:0}
.vw .sheet{position:relative;max-height:78%;display:flex;flex-direction:column;background:var(--vw-bg);border:1px solid var(--vw-line);border-bottom:0;border-radius:24px 24px 0 0;padding:0 18px calc(18px + var(--safe-bottom));outline:none;transform:translateY(100%);touch-action:pan-y;backface-visibility:hidden}
.vw .sheet-layer.open .sheet{transform:translateY(0)}
.vw .sheet-layer.open .sheet-backdrop{opacity:1}
.vw .sheet-grab{flex:none;padding-top:8px;touch-action:none;user-select:none;-webkit-user-select:none}
.vw .grabber{display:block;width:38px;height:5px;border-radius:3px;background:var(--vw-line);margin:0 auto 10px}
.vw .sheet-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.vw .sheet-body{overflow-y:auto;overscroll-behavior:contain;min-height:0}
.vw .sheet .row[aria-pressed="true"] .body strong{color:var(--vw-accent)}
/* Motion (owner request 18.10.2026): the sheet rises from the bottom and settles with a long, decelerating
   ease-out; closing accelerates down and is shorter; the backdrop fades with it. Dragging follows the finger. */
@media(prefers-reduced-motion:no-preference){
  .vw .sheet{transition:transform 260ms cubic-bezier(.4,0,1,1)}
  .vw .sheet-layer.open .sheet{transition:transform 440ms cubic-bezier(.16,1,.3,1)}
  .vw .sheet-backdrop{transition:opacity 240ms ease-in}
  .vw .sheet-layer.open .sheet-backdrop{transition:opacity 340ms ease-out}
  .vw .sheet.dragging{transition:none}
}

/* Our checkbox instead of the system control. */
.vw .checklabel input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:22px;height:22px;min-height:22px;border:1.5px solid var(--vw-outline);border-radius:7px;background:var(--vw-surface);display:grid;place-items:center;flex:none;margin:0;padding:0}
.vw .checklabel input[type="checkbox"]::after{content:"";width:6px;height:11px;border:solid var(--vw-bg);border-width:0 2.5px 2.5px 0;transform:rotate(45deg) translate(-1px,-1px);opacity:0}
.vw .checklabel input[type="checkbox"]:checked{background:var(--vw-accent);border-color:var(--vw-accent)}
.vw .checklabel input[type="checkbox"]:checked::after{opacity:1}
.vw .checklabel input[type="checkbox"]:focus-visible{outline:2px solid var(--vw-accent);outline-offset:2px;box-shadow:none}

/* Token logos: neutral circle while loading, fade in when loaded, letters only when there is no logo. */
.vw .token{position:relative;overflow:hidden}
.vw .token img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%;opacity:0}
.vw .token img.loaded{opacity:1}
.vw .token.has-logo .token-letters{visibility:hidden}
@media(prefers-reduced-motion:no-preference){.vw .token img{transition:opacity 200ms ease-out}}

/* While the on-screen keyboard is up the tab bar steps aside, like native apps; content takes the space. */
.vw.keyboard-open .nav{display:none}
.vw.keyboard-open .toast{bottom:16px}
.vw .content{scroll-padding:24px 0}
