[hidden]{display:none!important}
/* ═══ nocta desk — the app, on the cream sheet ═══ */
body.desk{background:var(--paper);color:var(--ink)}
.desk .nav{width:min(860px,calc(100% - 24px))}
.tagdesk{font-style:normal;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:400;margin-left:4px;padding:3px 6px;border:1px solid var(--rule);border-radius:4px}
.net{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);display:inline-flex;align-items:center;gap:6px}
.net::before{content:"";width:7px;height:7px;border-radius:50%;background:#2e9b57;box-shadow:0 0 0 3px rgba(46,155,87,.18)}
.net.dev::before{background:#c98a1b;box-shadow:0 0 0 3px rgba(201,138,27,.2)}
.btn-ink{background:var(--navy);color:var(--on-light)}
.btn-ink:disabled,.btn-cream:disabled{opacity:.45;cursor:not-allowed;transform:none}

.desk-main{max-width:var(--max);margin:0 auto;padding:140px var(--gut) 100px;box-sizing:content-box}
.desk-head .h2{margin:22px 0 18px;font-size:clamp(52px,7vw,104px)}
.desk-head .sub{max-width:620px}
.rail{display:flex;gap:8px;flex-wrap:wrap;list-style:none;margin-top:34px}
.rail li{display:flex;align-items:center;gap:10px;padding:8px 14px 8px 8px;border-radius:8px;background:var(--card);border:1px solid var(--rule);font-size:14px;color:var(--ink-3);transition:all .3s}
.rail li span{width:22px;height:22px;border-radius:5px;display:grid;place-items:center;background:var(--tile);font-family:var(--mono);font-size:11px;color:var(--ink-3)}
.rail li.on{color:var(--ink);border-color:var(--ink)}
.rail li.done{color:var(--navy)}
.rail li.done span{background:var(--navy);color:var(--on-light)}
.rail li.done span::before{content:"✓"}
.rail li.done span{font-size:0}
.rail li.done span::before{font-size:12px}

.desk-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:16px;margin-top:56px;align-items:stretch}
.bal-card{position:relative;min-height:640px;border-radius:14px;overflow:hidden;background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:space-between;padding:24px;color:var(--cream)}
.bal-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),transparent 40%,rgba(0,0,0,.8));pointer-events:none}
.widget.bal{width:min(380px,100%);padding:22px}
.b-top{display:flex;justify-content:space-between;align-items:center;font-size:15px;font-weight:500;letter-spacing:-.02em}
.b-mint{font-family:var(--mono);font-size:11px;color:var(--c-3)}
.b-mint a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.b-k{margin-top:22px;font-size:12.5px;color:var(--c-3)}
.b-big{font-size:46px;font-weight:500;letter-spacing:-.05em;line-height:1.05;margin-top:2px;font-variant-numeric:tabular-nums;word-break:break-all}
.b-big.sealed{color:var(--pale)}
.b-rows{margin-top:18px;border-top:1px solid rgba(241,236,226,.14)}
.b-rows div{display:flex;justify-content:space-between;gap:20px;padding:9px 0;font-size:13.5px;border-bottom:1px solid rgba(241,236,226,.08)}
.b-rows span{color:var(--c-3)}
.b-rows b{font-weight:400;font-variant-numeric:tabular-nums}
.b-cta{width:100%;justify-content:center;margin-top:18px}
.b-note{font-size:12px;color:var(--c-3);margin-top:12px;line-height:1.5}

.act{padding:8px 28px 28px;display:flex;flex-direction:column}
.tabs{display:flex;gap:2px;flex-wrap:wrap;border-bottom:1px solid var(--rule);padding:12px 0}
.tabs button{padding:7px 11px;border-radius:6px;font-size:14px;color:var(--ink-2);transition:all .2s}
.tabs button:hover{background:var(--tile)}
.tabs button.on{background:var(--navy);color:var(--on-light)}
.pane{display:none;padding-top:26px;gap:14px;flex-direction:column}
.pane.on{display:flex}
.pane h4{font-weight:400;font-size:26px;letter-spacing:-.04em;line-height:1.1}
.hint{color:var(--ink-2);font-size:15px;line-height:1.55;max-width:560px}
.pane label{display:grid;gap:6px;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.pane input,.copyrow input{height:48px;border-radius:8px;border:1px solid var(--rule);background:#141416;padding:0 14px;font:inherit;font-family:var(--sans);font-size:16px;letter-spacing:-.01em;text-transform:none;color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s;width:100%}
.pane input:focus,.copyrow input:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(188,165,248,.18)}
.pane .btn{align-self:flex-start;height:48px;padding:0 22px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.copyrow{display:flex;gap:8px;align-items:center}
.copyrow code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:12.5px;background:var(--tile);border-radius:6px;padding:12px}
.or{display:flex;align-items:center;gap:12px;color:var(--ink-3);font-size:13px;margin-top:10px}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--rule)}
.mintmore{border-top:1px dashed var(--rule);padding-top:16px;margin-top:10px;display:grid;gap:12px}
.audit-out{border-radius:10px;background:var(--sky);color:var(--navy);padding:16px 18px;font-size:15px;line-height:1.6}
.audit-out b{font-size:28px;font-weight:500;letter-spacing:-.04em;display:block}
.audit-out.err{background:rgba(224,110,80,.12);color:#f2a48c}

.status{margin-top:auto;padding:14px 16px;border-radius:10px;background:var(--tile);font-size:14px;line-height:1.5;color:var(--ink-2);display:flex;gap:12px;align-items:flex-start}
.status[data-k=err]{background:rgba(224,110,80,.12);color:#f2a48c}
.status[data-k=ok]{background:var(--sky);color:var(--navy)}
.status .spin{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .8s linear infinite;flex:none;margin-top:2px}
@keyframes spin{to{transform:rotate(360deg)}}
.status a{text-decoration:underline;text-underline-offset:3px}
.act>.status{margin-top:24px}

.desk-tokens{margin-top:40px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.chips button{height:38px;padding:0 14px;border-radius:8px;border:1px solid var(--rule);background:var(--card);font-size:14px;display:inline-flex;gap:8px;align-items:center}
.chips button small{font-family:var(--mono);font-size:11px;color:var(--ink-3)}
.chips button.on{border-color:var(--navy);background:var(--sky);color:var(--navy)}

.desk-log{margin-top:100px}
.desk-log .tr{grid-template-columns:.7fr 1.2fr 1.6fr 1fr}
.desk-log .tr.empty{grid-template-columns:1fr;color:var(--ink-3)}
.desk-log a{color:var(--navy);font-family:var(--mono);font-size:13px;text-decoration:underline;text-underline-offset:3px}
.desk .foot{padding-top:40px}

@media (max-width:900px){
  .desk-grid{grid-template-columns:1fr}
  .bal-card{min-height:560px}
  .desk-log .tr{grid-template-columns:1fr 1fr}
  .desk-log .tr>span:nth-child(3){display:none}
  .two{grid-template-columns:1fr}
  .act{padding:4px 18px 22px}
  .net{display:none}
}

/* no-token notice + recipient check */
.notok{display:grid;gap:8px;padding:16px 18px;border-radius:10px;background:var(--sky);color:var(--ink-2);font-size:14.5px;line-height:1.55}
.notok b{color:var(--navy);font-weight:500;font-size:16px}
.notok-b{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.notok-b .btn{height:38px}
.rcpt{font-size:13.5px;line-height:1.5;margin-top:-6px}
.rcpt.ok{color:#9ee6b8}
.rcpt.no{color:#f2a48c}
.rcpt button{color:var(--navy);text-decoration:underline;text-underline-offset:3px;font-size:13.5px}
