:root{
  --bg:#0b0e14; --panel:#131824; --panel2:#1b2233; --line:#26304a;
  --text:#e7ecf5; --muted:#93a0bd; --accent:#f7931a; --accent2:#2bd67b;
  --danger:#ff6b6b; --radius:14px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:#0b0e14}
body{margin:0;background:radial-gradient(1200px 600px at 50% -10%,#182135,#0b0e14) fixed;
  color:var(--text);font:15px/1.5 system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;padding:20px 14px 40px}
.wrap{max-width:760px;margin:0 auto}

/* header */
.top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:4px}
.logo{width:40px;height:40px;border-radius:10px;flex:none}
.titles{flex:1;min-width:180px}
h1{font-size:21px;margin:0;line-height:1.2}
.sub{color:var(--muted);margin:2px 0 0;font-size:13px}
.badges{display:flex;gap:8px;align-items:center}

.badge{font-size:11.5px;padding:4px 10px;border-radius:999px;border:1px solid var(--line);
  color:var(--muted);white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.badge .b-dot{width:7px;height:7px;border-radius:50%;background:var(--muted);flex:none}
.badge.off{color:#b8f5cf;border-color:#1f5a3c;background:#0f1f18}
.badge.off .b-dot{background:var(--accent2)}
.badge.on{color:#ffd9ad;border-color:#5a3a1c;background:#20160d}
.badge.on .b-dot{background:var(--accent)}

/* cards */
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:18px;margin:14px 0;box-shadow:0 8px 30px rgba(0,0,0,.25)}
.warn{background:linear-gradient(180deg,#2a1b12,#1c130c);border-color:#5a3a1c;color:#ffd9ad;font-size:13px}
.warn b{color:#ffb865}

/* controls */
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
button{font:inherit;cursor:pointer;border-radius:10px;border:1px solid var(--line);
  background:var(--panel2);color:var(--text);padding:10px 14px;transition:.15s;font-weight:600}
button:hover{border-color:var(--accent);transform:translateY(-1px)}
button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
button.primary{background:var(--accent);border-color:var(--accent);color:#1a1204}
button.ghost{background:transparent}
button.sm{padding:6px 10px;font-size:12.5px}
#installBtn{border-color:#2bd67b55;color:#b8f5cf}
label{display:block;font-size:12px;color:var(--muted);margin:0 0 6px;letter-spacing:.02em}
textarea,input,select{width:100%;background:#0e1220;border:1px solid var(--line);color:var(--text);
  border-radius:10px;padding:11px 12px;font:14px/1.5 ui-monospace,Menlo,Consolas,monospace}
textarea{min-height:78px;resize:vertical}
textarea:focus,input:focus{outline:none;border-color:var(--accent)}

/* seed */
.seed{background:#0e1220;border:1px dashed #3a466a;border-radius:12px;padding:14px;margin-top:14px;position:relative}
.words{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
@media(max-width:520px){.words{grid-template-columns:repeat(2,1fr)}}
.word{background:#141b2c;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font:13px ui-monospace,monospace}
.word i{color:var(--muted);font-style:normal;margin-right:8px;user-select:none}
.veiled .words{filter:blur(7px);user-select:none;pointer-events:none}
.veil{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;cursor:pointer;
  border-radius:12px;background:rgba(11,14,20,.25);z-index:2}
.veil span{background:var(--panel2);border:1px solid var(--line);padding:9px 16px;border-radius:999px;font-size:13px;font-weight:600}
.veil:hover span{border-color:var(--accent)}

.hide{display:none!important}

/* tabs */
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:2px 0 14px}
.tab{padding:7px 12px;font-size:13px;border-radius:999px}
.tab.active{background:var(--accent);border-color:var(--accent);color:#1a1204}
.tab .ok{color:var(--accent2);font-weight:700}
.tab.active .ok{color:#14532d}
.tab .no{color:var(--danger);font-weight:700}

/* address panel */
.addrbox{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.qr{background:#fff;border-radius:12px;padding:12px;line-height:0;margin:0 auto}
.addrmeta{flex:1;min-width:250px}
.addr{font:15px/1.6 ui-monospace,Menlo,Consolas,monospace;word-break:break-all;background:#0e1220;
  border:1px solid var(--line);border-radius:10px;padding:12px;margin:8px 0}
.addr b{font-weight:400;margin-right:.42em;display:inline-block}
.addr b:nth-child(even){color:var(--muted)}
.pill{display:inline-block;font-size:11.5px;padding:3px 9px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.pill.good{color:var(--accent2);border-color:#1f5a3c;background:#0f1f18}
.pill.bad{color:var(--danger);border-color:#5a2020;background:#1f1010}
.hint{color:var(--muted);font-size:12.5px;margin-top:8px}
.idxrow{display:flex;align-items:center;gap:8px;margin-top:12px;flex-wrap:wrap}
.mt10{margin-top:10px}
.mt14{margin-top:14px}

/* vault: unlock, switcher, save bar */
.pinput{width:auto;flex:1;min-width:130px;max-width:220px}
.swlabel{margin:0;flex:none}
#walletSel{width:auto;flex:1;min-width:160px;max-width:320px;padding:9px 10px}
#switchRow{margin-bottom:12px}
#renameRow{margin-bottom:12px}
#renameRow input{width:auto;flex:1;max-width:260px}
button.danger{color:var(--danger);border-color:#5a2020}
button.danger:hover{border-color:var(--danger)}
.savebar{margin-top:14px;border:1px dashed #5a3a1c;border-radius:12px;padding:12px;background:#191207}
.savebar label{color:#ffd9ad}
#unsavedChip{margin-top:12px;display:inline-block}
#unlockCard .hint button{padding:2px 8px;font-size:11.5px;vertical-align:baseline}

/* balance + send */
.balhead{justify-content:space-between;align-items:flex-start}
.balwrap{min-width:200px}
.bal{font:600 26px/1.2 ui-monospace,Menlo,Consolas,monospace;margin:2px 0}
.bal small{font-size:14px;color:var(--muted);font-weight:400}
.balbtns{display:flex;gap:8px;align-items:center}
.balbtns select{width:auto;padding:8px 10px;font-size:13px}
.sendbox{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}
.amtrow input{flex:1;min-width:150px}
.amtrow select{width:auto;min-width:150px}
.confirm{margin-top:14px;background:#0e1220;border:1px solid #5a3a1c;border-radius:12px;padding:14px}
.cline{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px dashed #1d2740;font-size:13.5px}
.cline:last-of-type{border-bottom:none}
.cline span{color:var(--muted);flex:none}
.cline b{font-weight:600;text-align:right;word-break:break-all}
.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:400!important}
#sendResult a{word-break:break-all}

/* toast + footer */
.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);background:#12331f;color:#b8f5cf;
  border:1px solid #1f5a3c;padding:10px 16px;border-radius:10px;opacity:0;transition:.25s;pointer-events:none;z-index:50;max-width:90vw;text-align:center}
.toast.show{opacity:1}
footer{color:var(--muted);font-size:12px;text-align:center;margin-top:26px}
a{color:var(--accent)}
code{background:#0e1220;padding:1px 6px;border-radius:6px}

/* print: paper backup sheet only */
#printSheet{display:none}
@media print{
  body{background:#fff;color:#000;padding:0}
  body>.wrap{display:none}
  #printSheet{display:block;font:13px/1.6 Georgia,serif;color:#000;padding:24px}
  #printSheet h2{margin:0 0 4px}
  #printSheet .pmeta{color:#444;margin-bottom:14px}
  #printSheet ol{columns:2;font:15px/2 ui-monospace,Consolas,monospace;margin:12px 0;padding-left:34px}
  #printSheet .paddr{font:12px ui-monospace,Consolas,monospace;word-break:break-all;margin:4px 0}
  #printSheet .pwarn{border:2px solid #000;padding:10px 14px;font-weight:700;margin-top:14px}
}
