/* Nodera Systems — document pages (privacy, terms). Deep Signal. */
:root{
  --midnight:#0B1220; --deep:#070B14; --cobalt:#1D4ED8; --ember:#FF6B29;
  --bone:#F4F1EC; --slate:#64748B; --body:#9DAAC0;
  --line:rgba(244,241,236,.10); --line-soft:rgba(244,241,236,.06);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:#04060B;color:var(--body);
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:16.5px;line-height:1.7;-webkit-font-smoothing:antialiased;
  position:relative;overflow-x:hidden;
}
body::before{
  content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;
  background:linear-gradient(180deg,#04060B 0%,#070D1B 22%,#0A1426 48%,#0C1A34 74%,#180F16 100%);
}
body::after{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
}
img,svg{max-width:100%;display:block}
a{color:var(--ember);text-decoration:none}
a:hover{text-decoration:underline}

.wrap{width:100%;max-width:820px;margin-inline:auto;padding-inline:24px}

/* header */
.top{padding:26px 0;border-bottom:1px solid var(--line-soft);margin-bottom:56px}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1180px}
.top svg{height:20px;width:auto}
.back{font-size:14.5px;color:var(--body)}
.back:hover{color:var(--ember)}

/* type */
h1,h2,h3{font-family:'Sora',system-ui,sans-serif;color:var(--bone);letter-spacing:-.02em;line-height:1.2;margin:0}
h1{font-size:clamp(30px,4.6vw,44px);font-weight:600}
h2{font-size:22px;font-weight:600;margin:52px 0 14px;padding-top:28px;border-top:1px solid var(--line-soft)}
h3{font-size:17px;font-weight:600;margin:30px 0 10px}
p{margin:0 0 16px}
ul,ol{margin:0 0 18px;padding-left:22px}
li{margin-bottom:9px}
strong,b{color:var(--bone);font-weight:600}
.lede{font-size:18px;margin-top:18px}
.meta{font-size:14px;color:var(--slate);margin-top:14px}

/* callouts */
.note{
  padding:20px 24px;border-radius:14px;margin:24px 0;font-size:15.5px;
  border:1px solid rgba(255,107,41,.28);
  background:linear-gradient(140deg,rgba(255,107,41,.08),rgba(255,107,41,.02));
}
.note p:last-child{margin-bottom:0}
.todo{border-color:rgba(244,241,236,.18);background:rgba(244,241,236,.03)}

/* tables */
.tbl{width:100%;overflow-x:auto;margin:20px 0}
table{width:100%;border-collapse:collapse;font-size:15px;min-width:520px}
th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line-soft);vertical-align:top}
th{color:var(--slate);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
td{color:var(--body)}
td strong{color:var(--bone)}

/* toc */
.toc{border:1px solid var(--line);border-radius:14px;padding:22px 26px;margin:36px 0;background:rgba(244,241,236,.025)}
.toc p{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);font-weight:600;margin-bottom:12px}
.toc ol{margin:0;padding-left:20px;font-size:15px;columns:2;column-gap:34px}
.toc li{margin-bottom:6px;break-inside:avoid}
.toc a{color:var(--body)}
.toc a:hover{color:var(--ember)}

footer{margin-top:72px;padding:34px 0 46px;border-top:1px solid var(--line-soft);font-size:14px;color:var(--slate)}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;max-width:1180px}
footer a{color:var(--body)}

@media(max-width:620px){
  body{font-size:16px}
  .toc ol{columns:1}
  h2{margin-top:42px}
}
