:root{--deep:#0a1530;--glass:rgba(22,36,72,.55);--edge:rgba(176,200,255,.38);--ink:#eef3ff;--soft:#cfdcff;--mist:#9fb3da;--bolt:#9fd0ff;--amber:#f4b84a;
  --serif:Georgia,"Times New Roman",serif;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--mono:ui-monospace,"Cascadia Mono","SF Mono",Menlo,monospace}
*{box-sizing:border-box}
[hidden]{display:none !important}
html{background:var(--deep)}
body{margin:0;color:var(--ink);font:16px/1.55 var(--sans);min-height:100vh;
  background:repeating-linear-gradient(104deg,transparent 0 19px,rgba(176,200,255,.05) 19px 20px,transparent 20px 53px),radial-gradient(110% 80% at 75% -10%,#28477f 0%,#14254c 45%,var(--deep) 100%) fixed}
main{max-width:1060px;margin:0 auto;padding:24px 16px 56px}
.top{display:inline-flex;align-items:center;gap:10px;color:var(--soft);text-decoration:none;font-weight:650}
.top img{border-radius:9px;background:#0d171d;padding:3px}
.intro{margin:26px 0 8px;max-width:640px}
.eyebrow{margin:0 0 6px;font:600 12px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--bolt)}
h1{margin:0 0 10px;font:500 clamp(32px,5.2vw,50px)/1.08 var(--serif)}
.lede{margin:0 0 10px;font-size:18px;color:var(--soft)}
.private{margin:0;font-size:14px;color:var(--mist)}
.grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:22px;margin-top:22px;align-items:start}
.card,.out,.door{background:var(--glass);border:1.5px solid var(--edge);border-radius:20px;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
fieldset{border:0;margin:0 0 6px;padding:0}
legend{font-size:14px;color:var(--soft);margin-bottom:8px}
.pill{display:inline-flex;align-items:center;gap:8px;margin:0 8px 8px 0;padding:8px 14px;border:1px solid var(--edge);border-radius:999px;cursor:pointer;font-size:15px}
.pill:has(input:checked){background:rgba(159,208,255,.18);border-color:var(--bolt)}
.pill input{width:auto;min-height:0;margin:0;accent-color:var(--bolt)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
label{display:block;font-size:13px;color:var(--soft);margin:10px 0 4px}
.opt{color:var(--mist)}
input,select{width:100%;font:15px var(--sans);color:var(--ink);background:rgba(8,14,32,.7);border:1px solid var(--edge);border-radius:10px;padding:10px 11px;min-height:44px}
input[type=date]{color-scheme:dark}
.check{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:14px}
.check input{width:auto;min-height:0;accent-color:var(--bolt)}
.go{display:block;width:100%;margin-top:16px;padding:13px;border:0;border-radius:12px;background:var(--amber);color:#1a1205;font:700 16px var(--sans);cursor:pointer;text-align:center;text-decoration:none}
.go.link{width:auto;display:inline-block;padding:12px 22px}
.fine{margin:10px 0 0;font-size:12.5px;color:var(--mist)}
.out-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.out h2,.door h2{margin:0;font:600 12px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--amber)}
.ghost{min-height:38px;padding:0 14px;border:1px solid var(--edge);border-radius:999px;background:rgba(30,48,96,.6);color:var(--ink);font:600 13px var(--sans);cursor:pointer}
.msgs{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:12px}
.msg{position:relative;padding:14px 14px 12px;border:1px solid var(--edge);border-radius:14px;background:rgba(8,14,32,.55)}
.msg-head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.msg-title{font-size:14px}
.msg-when{font:12px var(--mono);color:var(--bolt)}
.msg-subject{margin:0 0 4px;font-size:13px;color:var(--soft)}
.msg-text{margin:0 0 10px;white-space:pre-wrap;font-size:15px}
.copy{min-height:34px;padding:0 14px;border:1px solid var(--edge);border-radius:999px;background:transparent;color:var(--ink);font:600 13px var(--sans);cursor:pointer}
.copy.done{border-color:var(--bolt);color:var(--bolt)}
.door{margin-top:26px}
.door p{color:var(--soft);max-width:620px}
footer{margin-top:28px;font-size:13px;color:var(--mist)}
footer a{color:var(--soft)}
@media (max-width:820px){.grid{grid-template-columns:1fr}}
@media (max-width:420px){.row{grid-template-columns:1fr;gap:0}}
@media (prefers-reduced-motion:reduce){*{transition:none !important}}
