/* wallet + proof pages, on top of site.css */
/* classes below set display; the hidden attribute must still win */
[hidden]{display:none!important}
.appbody{min-height:100vh;display:flex;flex-direction:column;background:
  radial-gradient(80% 50% at 80% 0%,rgba(199,227,108,.08),transparent 70%),
  radial-gradient(60% 40% at 0% 100%,rgba(92,158,51,.06),transparent 70%),#000}
.appbody .nav-right{display:flex}
.appbody .navbar.is-hidden{transform:none}
.app{flex:1;width:100%;max-width:1120px;margin:0 auto;padding:128px var(--gut) 48px}
.card{border-radius:16px;padding:28px;background:rgba(8,10,6,.72)}
.eyebrow{margin-bottom:14px}
.lbl{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--g400);margin:18px 0 8px}
.lbl em{font-style:normal;color:var(--g600)}
.sub{color:var(--g400);font-weight:300;line-height:1.6;font-size:15px;margin-top:10px}
.fine{font-size:12px;line-height:1.6;color:var(--g500);margin-top:14px}
.err{color:#ff8a7a;font-size:13px;margin-top:10px;min-height:0}
.err:empty,.ok:empty{display:none}
.ok{color:var(--brand);font-size:13px;margin-top:10px}
.ok a,.err a{text-decoration:underline;text-underline-offset:3px}
.warn{color:#e9d27c;font-size:13px;line-height:1.55;margin-top:14px;padding:10px 12px;border:1px solid rgba(233,210,124,.25);border-radius:10px;background:rgba(233,210,124,.05)}
.warn.small{font-size:12px}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}
.row input{flex:1;min-width:180px}
.btn-md{padding:11px 22px;font-size:15px;line-height:22px}
.btn:disabled{opacity:.55;cursor:not-allowed;filter:none}

input,textarea,select{width:100%;font:inherit;font-size:15px;color:var(--text);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:12px 14px;outline:none;transition:border-color .15s,background-color .15s}
input:focus,textarea:focus,select:focus{border-color:rgba(199,227,108,.6);background:rgba(255,255,255,.06)}
input:disabled{opacity:.6}
textarea{resize:vertical;font-family:var(--mono);font-size:14px}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--g400) 50%),linear-gradient(135deg,var(--g400) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}
input+input{margin-top:10px}

/* gate */
.gate{display:flex;justify-content:center}
.gate-card{width:100%;max-width:520px}
.gate-h{font-size:clamp(2rem,5vw,3rem);font-weight:400;letter-spacing:-.04em;line-height:1.05}
.choices{display:grid;gap:10px;margin-top:22px}
.choice{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:16px 18px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.02);transition:border-color .15s,background-color .15s}
.choice:hover{border-color:rgba(199,227,108,.5);background:rgba(199,227,108,.05)}
.choice b{font-weight:500;font-size:15px}
.choice span{font-size:13px;color:var(--g500)}
.step{margin-top:6px}
.phrase{list-style:none;counter-reset:w;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:6px}
.phrase li{counter-increment:w;display:flex;gap:8px;align-items:baseline;padding:9px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);font-family:var(--mono);font-size:14px}
.phrase li::before{content:counter(w);font-size:11px;color:var(--g600);min-width:14px}
.check{display:flex;gap:10px;align-items:center;font-size:14px;color:var(--g300);margin:14px 0}
.check input{width:16px;height:16px;accent-color:var(--brand)}
.wl{display:grid;gap:8px;margin-bottom:14px}
.wl-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.02);transition:border-color .15s}
.wl-item:hover{border-color:rgba(199,227,108,.5)}
.wl-item img{border-radius:6px}
.wl-item span{flex:1;text-align:left;font-size:15px}
.wl-item em{font-style:normal;font-size:12px;color:var(--brand)}

/* nav account chip */
.acct{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.12);font-size:13px}
.acct em{font-style:normal;font-size:11px;color:var(--g500);border-left:1px solid rgba(255,255,255,.12);padding-left:8px}

/* dashboard */
.dash-grid{display:grid;gap:20px}
@media (min-width:900px){.dash-grid{grid-template-columns:400px 1fr;align-items:start}.bal{position:sticky;top:112px}}
.bal-top{display:flex;justify-content:space-between;align-items:center}
.bal-top .lbl{margin:0}
.eye{font-size:12px;padding:6px 10px;border-radius:999px;border:1px solid rgba(199,227,108,.35);color:var(--brand)}
.eye .eye-on{display:none}
body.lights-off .eye .eye-on{display:inline}
body.lights-off .eye .eye-off{display:none}
.bal-amt{font-size:clamp(2.1rem,6vw,3rem);letter-spacing:-.03em;margin:18px 0 6px;word-break:break-all}
.bal-sub{display:flex;justify-content:space-between;font-size:13px;color:var(--g400);padding-top:12px;border-top:1px solid var(--line);margin-top:12px}
.dim-able{transition:filter .35s var(--ease),opacity .35s}
body.lights-off .dim-able{filter:blur(9px);opacity:.7;user-select:none}
.acts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:22px}
.act{padding:11px 6px;border-radius:10px;border:1px solid rgba(255,255,255,.12);font-size:14px;transition:all .15s}
.act:hover{border-color:rgba(199,227,108,.45)}
.act.on{background:var(--grad);color:var(--on-brand);border-color:transparent;font-weight:500}
.addr-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.addr-line a{color:var(--g300)}
.copy{font-size:12px;padding:5px 10px;border-radius:7px;border:1px solid rgba(255,255,255,.14);color:var(--g300);transition:all .15s;white-space:nowrap}
.copy:hover{border-color:var(--brand);color:var(--brand)}
.copy.danger:hover{border-color:#ff8a7a;color:#ff8a7a}
.ph{font-size:22px;font-weight:400;letter-spacing:-.02em;margin-bottom:4px}
.ph.sm{font-size:16px;margin-top:28px}
.amt{display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:0 12px 0 0;background:rgba(255,255,255,.04)}
.amt:focus-within{border-color:rgba(199,227,108,.6)}
.amt input{border:0;background:none;font-size:20px}
.amt span{font-size:13px;color:var(--g500)}
.max{font-size:12px;padding:5px 9px;border-radius:7px;border:1px solid rgba(199,227,108,.4);color:var(--brand)}
.review{margin-top:16px;border:1px solid rgba(199,227,108,.3);border-radius:12px;padding:6px 14px;background:rgba(199,227,108,.04)}
.review div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;font-size:14px}
.review div+div{border-top:1px solid var(--line)}
.review span{color:var(--g400)}
.review b{font-weight:500}
.review b.addr-full{word-break:break-all;text-align:right;font-size:12.5px;line-height:1.5;max-width:30ch}
.qr{width:220px;max-width:100%;margin:16px 0;padding:12px;border-radius:14px;background:#f1f8d6}
.qr svg{display:block;width:100%;height:auto}
.big-addr{font-size:14px;word-break:break-all;margin-bottom:14px;color:var(--g300)}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:18px 0 12px;padding:4px;border-radius:12px;border:1px solid rgba(255,255,255,.1)}
.seg label{position:relative}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:block;text-align:center;padding:10px;border-radius:9px;font-size:14px;color:var(--g300);cursor:pointer;transition:all .15s}
.seg input:checked+span{background:rgba(199,227,108,.14);color:#fff}
#proveForm .btn{margin-top:18px}
.made{margin-top:20px}
.linkbox{display:flex;gap:8px;align-items:center}
.linkbox input{font-size:12px}
.plist,.alist{display:grid;gap:8px;margin-top:10px}
.prow{display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:start;padding:12px 14px;border-radius:12px;border:1px solid var(--line)}
.prow b{display:block;font-weight:500;font-size:14px}
.prow span{display:block;font-size:12px;color:var(--g500);margin-top:3px}
.prow .pacts{grid-column:1/-1;display:flex;gap:8px}
.st{font-style:normal;font-size:11px;padding:3px 8px;border-radius:999px;border:1px solid}
.st.active{color:var(--brand);border-color:rgba(199,227,108,.4)}
.st.expired{color:var(--g500);border-color:rgba(255,255,255,.15)}
.st.revoked{color:#ff8a7a;border-color:rgba(255,138,122,.35)}
.arow{display:grid;grid-template-columns:auto 1fr auto;gap:4px 12px;align-items:center;padding:11px 14px;border-radius:12px;border:1px solid var(--line);transition:border-color .15s}
.arow:hover{border-color:rgba(199,227,108,.35)}
.arow span{font-size:13px;color:var(--g300)}
.arow b{font-weight:500;font-size:14px;text-align:right}
.arow i{grid-column:2/-1;font-style:normal;font-size:11px;color:var(--g600)}
.dir{font-style:normal;font-size:11px;padding:3px 8px;border-radius:6px;background:rgba(255,255,255,.06)}
.dir.in{color:var(--brand);background:rgba(199,227,108,.1)}
.settings{display:flex;gap:18px;flex-wrap:wrap;margin-top:22px}
.link{font-size:13px;color:var(--g500);text-decoration:underline;text-underline-offset:3px}
.link:hover{color:var(--text)}
.link.danger:hover{color:#ff8a7a}
.reveal-phrase{margin-top:14px;max-width:560px}
.appfoot{padding:24px var(--gut) 40px;max-width:1120px;margin:0 auto;width:100%}
.appfoot p{font-size:12px;line-height:1.6;color:var(--g600);border-top:1px solid var(--line);padding-top:18px}

/* proof page */
.pv{max-width:620px;margin:0 auto}
.pv-status{display:flex;align-items:center;gap:14px;margin:6px 0 18px}
.pv-badge{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;flex:none}
.pv-badge svg{width:24px;height:24px}
.pv-badge.good{background:rgba(199,227,108,.14);color:var(--brand)}
.pv-badge.bad{background:rgba(255,138,122,.12);color:#ff8a7a}
.pv-badge.wait{background:rgba(255,255,255,.06);color:var(--g400)}
.pv-badge.caution{background:rgba(233,210,124,.12);color:#e9d27c}
.pv-h{font-size:clamp(1.6rem,4vw,2.2rem);font-weight:400;letter-spacing:-.03em;line-height:1.1}
.pv-claim{font-size:clamp(1.3rem,3.6vw,1.8rem);letter-spacing:-.02em;margin:18px 0 4px}
.pv-rows{margin-top:18px;border-top:1px solid var(--line)}
.pv-rows div{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}
.pv-rows span{color:var(--g500)}
.pv-rows b{font-weight:400;text-align:right;word-break:break-all}
.pv-rows a{text-decoration:underline;text-underline-offset:3px}
.chk{color:var(--brand)}
.nochk{color:#ff8a7a}
.warnchk{color:#e9d27c}

@media (max-width:640px){
  .card{padding:20px}
  .app{padding-top:112px}
  .phrase{grid-template-columns:repeat(2,1fr)}
  .acct em{display:none}
  .appbody .nav-right .btn[href="/"]{display:none}
}

/* sealed balance */
.sealed{margin-top:18px;padding:16px;border-radius:12px;border:1px solid rgba(199,227,108,.25);background:rgba(199,227,108,.04)}
.sealed .bal-top .lbl{gap:7px;color:var(--brand)}
.sealed .pill{margin-left:0}
.bal-amt.sm{font-size:clamp(1.6rem,4.5vw,2.1rem);margin:10px 0 2px}
.sealed .fine{margin-top:6px}
.sealed-acts{margin-top:10px}
.sealed-acts:empty{display:none}
.acts{grid-template-columns:repeat(auto-fit,minmax(52px,1fr));gap:6px}
.acts .act{font-size:13px;padding:10px 2px}
.seg3{grid-template-columns:repeat(3,1fr)}
.steps-msg{color:var(--g300)}
.appfoot p.note-links{border-top:0;padding-top:6px}
