/* MAILBX1-CMS — deep-space text theme. Copyright (c) MAILBX1-CMS. BSD-3-Clause. */
*{box-sizing:border-box}
html{font-size:15px}
body{
  margin:0;
  min-height:100vh;
  color:#d8dee8;
  background-color:#060b14;
  background-image:
    radial-gradient(1px 1px at 24px 32px,#9db8d8 50%,transparent 51%),
    radial-gradient(1px 1px at 128px 96px,#6f88ad 50%,transparent 51%),
    radial-gradient(1.5px 1.5px at 220px 48px,#dbe8f8 50%,transparent 51%),
    radial-gradient(1px 1px at 320px 180px,#8aa6c8 50%,transparent 51%),
    radial-gradient(1px 1px at 60px 220px,#5d7a9d 50%,transparent 51%),
    radial-gradient(ellipse 120% 90% at 50% -20%,#12233f 0%,transparent 60%),
    radial-gradient(ellipse 100% 80% at 80% 110%,#101c30 0%,transparent 55%);
  background-size:360px 280px,360px 280px,360px 280px,360px 280px,360px 280px,100% 100%,100% 100%;
  font-family:"Cascadia Mono",ui-monospace,"DejaVu Sans Mono","Courier New",monospace;
  line-height:1.55;
  font-size:1.215rem;
}
.wrap{max-width:64rem;margin:0 auto;padding:0 1rem 2rem}
a{color:#8fd0ff;text-decoration:none}
a:hover,a:focus{text-decoration:underline}
h1,h2,h3{color:#eaf2ff;line-height:1.25;font-weight:700}
h1{font-size:1.35rem;border-bottom:1px solid #22304a;padding-bottom:.35rem}
h2{font-size:1.3rem;margin-top:1.8rem}
h3{font-size:1.25rem}
.body h2:first-child{margin-top:0}
p,ul,ol{margin:.6rem 0}
code,pre{background:rgba(18,32,54,.8);border:1px solid #22304a;border-radius:2px}
code{padding:0 .25rem}
pre{padding:.6rem;overflow:auto}
blockquote{margin:.6rem 0;padding:.2rem .8rem;border-left:3px solid #2a4a72}
hr{border:0;border-top:1px solid #22304a}
img{max-width:100%;height:auto}

/* header / nav */
.hd{display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem;padding:.9rem 0 .7rem;border-bottom:1px solid #22304a}
.brand{color:#5fd0ff;font-weight:700;letter-spacing:.06em}
.tag{color:#a8b2c0;font-size:1.215rem}
.nav{margin-left:auto;display:flex;flex-wrap:wrap;gap:.45rem}
.nav a{color:#d8dee8}
.nav a::before{content:"[ ";color:#7d8794}
.nav a::after{content:" ]";color:#7d8794}
.nav a.on{color:#5fd0ff}
.nav a.adm{color:#ffc24d}

/* sheets */
main{padding-top:1rem}
.sheet{background:rgba(10,18,32,.82);border:1px solid #22304a;border-radius:3px;padding:1rem 1.2rem;margin:0 0 1.2rem}
.sheet.narrow{max-width:26rem}
.meta{color:#a8b2c0;font-size:1.215rem;margin:.3rem 0 .9rem}
.body{max-width:52rem}

/* tables, forms */
.tbl{width:100%;border-collapse:collapse;font-size:1.215rem;margin:.5rem 0 1rem}
.tbl th,.tbl td{border:1px solid #22304a;padding:.35rem .55rem;text-align:left;vertical-align:top}
.tbl th{color:#c3ccd8;background:rgba(18,32,54,.7)}
.tbl a{margin-right:.55rem}
.form{display:flex;flex-direction:column;gap:.7rem;max-width:42rem}
.form label{display:flex;flex-direction:column;gap:.25rem;font-size:1.215rem;color:#9db8d8}
.form input,.form select,.form textarea{
  font:inherit;color:#eaf2ff;background:#0b1526;border:1px solid #2a4a72;border-radius:2px;padding:.45rem .55rem
}
.form input:focus,.form select:focus,.form textarea:focus{outline:1px solid #5fd0ff}
button{
  font:inherit;font-size:1.215rem;color:#06111f;background:#5fd0ff;border:0;border-radius:2px;
  padding:.42rem .9rem;cursor:pointer;align-self:flex-start
}
button:hover{background:#8fd9ff}
.form input[type=checkbox]{width:auto}
.inline{display:inline-flex;gap:.45rem;align-items:center;margin-left:.45rem}
.mini{font-size:1.215rem;color:#a8b2c0}
.flash{color:#062033;background:#5fd0ff;border-radius:2px;padding:.35rem .6rem;font-size:.85rem}
.flash.bad{color:#2a0d0d;background:#ff8f6b}

/* editor */
.ed{display:flex;flex-direction:column;gap:.5rem;max-width:52rem}
.ed-bar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:space-between}
.ed-tools{display:flex;flex-wrap:wrap;gap:.25rem}
.ed-tools button{padding:.28rem .55rem;background:#152742;color:#c7d3e4}
.ed-tools button:hover{background:#1e3a5f}
.ed-mode button{padding:.28rem .7rem;background:#152742;color:#a8b2c0}
.ed-mode button.on{background:#2a5080;color:#eaf2ff}
.ed-area{
  min-height:16rem;max-width:52rem;padding:.7rem .8rem;border:1px solid #22304a;border-radius:2px;
  background:#0b1526;color:#eaf2ff;font-size:1.215rem;overflow:auto
}
.ed-visual{line-height:1.5}
.ed-html{width:100%;resize:vertical;font-family:inherit;white-space:pre}

/* footer */
.ft{border-top:1px solid #22304a;padding:.7rem 0 0;color:#b6bfcc;font-size:1.215rem}

/* cookie gate: server-rendered, no JS — form post stores the consent cookie */
.consent{position:fixed;left:0;right:0;top:28vh;z-index:20;display:flex;justify-content:center;padding:0 1rem}
.consent-form{
  display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;max-width:30rem;
  padding:1.1rem 1.2rem;background:rgba(10,18,32,.96);
  border:1px solid #22304a;border-radius:3px;font-size:1.215rem;color:#c3ccd8
}

/* telnet plugin */
.tn-bar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.4rem 0 .7rem}
.tn-bar button{padding:.32rem .7rem;background:#152742;color:#c7d3e4}
.tn-bar button:hover{background:#1e3a5f}
.tn-out{
  min-height:18rem;max-height:60vh;overflow:auto;margin:0 0 .7rem;padding:.7rem .8rem;
  border:1px solid #22304a;border-radius:2px;background:#040910;color:#9fe8c8;
  font-size:1.215rem;line-height:1.45;white-space:pre-wrap;word-break:break-all
}
.tn-form{display:flex;gap:.5rem;max-width:52rem}
.tn-form input{
  flex:1;font:inherit;color:#eaf2ff;background:#0b1526;
  border:1px solid #2a4a72;border-radius:2px;padding:.45rem .55rem
}
.tn-form input:focus{outline:1px solid #5fd0ff}
.plug{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;border:1px solid #22304a;border-radius:2px;padding:.55rem .7rem}
.plug-name{width:100%;color:#eaf2ff}

@media (max-width:40rem){
  .nav{margin-left:0;width:100%}
  .tbl{font-size:.8rem}
}
