/* ===========================================================
   BlackMail — app theme
   Base: near-black · Accent: Signal blue
   =========================================================== */
:root{
  --bg:#0a0a0c; --bg-2:#0e0f12; --bg-3:#15171c;
  --line:rgba(255,255,255,.07); --line-2:rgba(255,255,255,.12);
  --txt:#eef0f4; --txt-2:#a3a9b5; --txt-3:#6b7180;
  --blue:#3b82f6; --blue-br:#5b9bff; --blue-dim:#1c3966; --blue-glow:rgba(59,130,246,.2);
  --purple:#3b82f6; /* legacy alias kept blue */ --muted:#6b7180;
  --mono:"SF Mono",ui-monospace,"Cascadia Code","JetBrains Mono",Menlo,Consolas,monospace;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
  color:var(--txt);background:var(--bg);font-synthesis:none;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);
  background-image:radial-gradient(900px 480px at 85% -10%,var(--blue-glow),transparent 60%);
  background-attachment:fixed;min-height:100vh;}
body.app-shell{display:flex;flex-direction:column;height:100vh;overflow:hidden}
::selection{background:var(--blue);color:#fff}

header{height:64px;flex:none;padding:0 clamp(16px,4vw,32px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;gap:11px;align-items:center;font-size:19px;font-weight:700;letter-spacing:-.3px;text-decoration:none;color:inherit}
.logo{background:linear-gradient(150deg,#20232b,#0b0c0e);color:#fff;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:22px;font-weight:800;border:1px solid var(--line-2);box-shadow:0 4px 12px rgba(0,0,0,.5)}
.beta{font:8px/1 var(--mono);letter-spacing:1.5px;color:var(--blue);border:1px solid var(--blue-dim);padding:4px 6px;border-radius:5px;margin-left:8px}
.connection{font:11px/1 var(--mono);color:var(--txt-3)}

main{flex:1;min-height:0;display:flex;flex-direction:column}

nav{display:flex;gap:3px;padding:4px;background:var(--bg-2);border:1px solid var(--line);border-radius:11px;max-width:100%;overflow:auto}
.tab{display:flex;align-items:center;gap:8px;white-space:nowrap;background:none;border:0;cursor:pointer;color:var(--txt-3);font-size:12px;font-weight:600;padding:9px 14px;border-radius:8px;transition:.18s}
.tab:hover{color:var(--txt-2)}
.tab.active{background:var(--bg-3);color:var(--txt);box-shadow:0 4px 14px rgba(0,0,0,.4)}

button{cursor:pointer;font:inherit;border-radius:9px;transition:.15s;border:1px solid transparent}
button:disabled{opacity:.5;cursor:wait}
button:focus-visible,a:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:3px}

.panel{flex:1;min-height:0;animation:rise .3s ease both}
#demo{display:flex;flex-direction:column;padding:16px clamp(14px,3vw,24px)}
.work{width:100%;max-width:1060px;margin-inline:auto;padding:26px 24px}
#compose,#receive,#sent{overflow:auto}
@keyframes rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.hidden{display:none!important}

/* cards / compose */
.columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.card{padding:26px;border-radius:16px;border:1px solid var(--line);background:var(--bg-3);position:relative;overflow:hidden}
.card.original{background:linear-gradient(180deg,rgba(59,130,246,.07),transparent 70%),var(--bg-3);border-color:var(--blue-dim)}
.card.original::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(var(--blue),transparent)}
.card-head,.card-bottom,.result-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.badge{font:9px/1 var(--mono);letter-spacing:1.3px;color:var(--txt-3);display:inline-flex;align-items:center;gap:7px}
.card.original .badge{color:var(--blue-br)}
.symbol{color:var(--txt-3);font-size:20px}
h2{font-size:24px;letter-spacing:-.8px;font-weight:600;margin:20px 0 7px}
.card>p,.result>p,.section-title p{font-size:12px;color:var(--txt-2);line-height:1.6}
label{display:block;font:9px/1 var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--txt-3);margin:22px 0 10px}
textarea{width:100%;resize:vertical;min-height:150px;background:var(--bg);border:1px solid var(--line-2);border-radius:11px;padding:15px 16px;font:14.5px/1.7 inherit;color:var(--txt)}
textarea::placeholder{color:var(--txt-3)}
textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-glow)}
.card-bottom{margin-top:14px;font:10px/1 var(--mono);color:var(--txt-3)}
.small{padding:8px 12px;background:transparent;color:var(--blue-br);border:1px solid var(--line-2);font-size:11.5px;font-weight:600}
.small:hover{border-color:var(--blue);background:var(--blue-glow)}
.provider-note{font:10px/1.6 var(--mono);color:var(--txt-3);margin:14px 2px 24px}

.send-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border-radius:16px;background:var(--bg-2);border:1px solid var(--line);margin-top:4px}
.send-bar strong{font-size:14px}
.send-bar p{font-size:12px;color:var(--txt-2);margin:4px 0 0}
.primary{display:inline-flex;align-items:center;gap:12px;border:0;background:linear-gradient(180deg,var(--blue-br),var(--blue));color:#061225;padding:14px 22px;font-size:13px;font-weight:650;box-shadow:0 8px 22px var(--blue-glow)}
.primary:hover{filter:brightness(1.08);transform:translateY(-1px)}
.primary span{margin-left:6px}
.secondary{background:var(--bg-3);border:1px solid var(--line-2);color:var(--txt);padding:13px 18px;font-size:13px;font-weight:600}
.secondary:hover{border-color:var(--txt-3)}

.result{background:linear-gradient(180deg,rgba(59,130,246,.06),transparent),var(--bg-3);border:1px solid var(--blue-dim);padding:25px;border-radius:16px;margin:16px 0 25px}
h3{font-size:18px;margin:0;letter-spacing:-.4px}
.pill{font:10px/1 var(--mono);background:var(--bg);border:1px solid var(--line-2);color:var(--blue-br);padding:7px 11px;border-radius:6px;white-space:nowrap}
.result textarea,#incoming{min-height:85px;font:12.5px/1.7 var(--mono);color:var(--blue-br);word-break:break-all}
.actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}

.receiver{max-width:760px}
.receiver .primary{margin-top:20px}
.opened{border-top:1px solid var(--line);padding-top:24px;margin-top:25px}
#plaintext{white-space:pre-wrap;overflow-wrap:anywhere;font-size:20px;line-height:1.6;padding:15px 0;color:var(--txt)}

.section-title h2{margin-top:6px}
.history-item{background:var(--bg-3);border:1px solid var(--line);border-radius:14px;padding:20px;margin-top:14px}
.history-item p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.6;color:var(--txt);margin:12px 0 0}
.history-item small{font:10px/1 var(--mono);color:var(--txt-3)}
.history-item button{margin-left:10px}

#status{flex:none;min-height:0;font:12px/1.5 var(--mono);color:var(--blue-br);padding:0 clamp(14px,3vw,24px)}
#status:not(:empty){padding-bottom:12px}

@media(max-width:700px){
  header{height:auto;flex-wrap:wrap;padding:10px 16px;gap:10px}
  .beta{display:none}
  nav{order:3;width:100%}
  .work{padding:18px 16px}
  .columns{grid-template-columns:1fr}.card{padding:22px}
  .send-bar{align-items:flex-start;flex-direction:column}
  .connection{font-size:9px}
}
body.app-shell{overflow:auto}
@media(min-width:701px){body.app-shell{overflow:hidden}}
