/* Security+ subsite — "SOC Console" theme */
:root{
  --bg:#0a0705; --panel:rgba(26,16,12,0.55); --panel-solid:#12100c; --line:rgba(255,140,60,0.28); --line-soft:rgba(255,140,60,0.14);
  --amber:#ff8c3c; --amber-soft:#ffb680; --red:#e6483c; --green:#5ec98f; --ink:#f5ece4; --muted:#a68f80; --muted2:#7a6759;
  --mono:'JetBrains Mono','Consolas',monospace; --body:'Inter','Segoe UI',sans-serif;
}
*{box-sizing:border-box;}
html,body{margin:0; min-height:100%;}
body{
  background:var(--bg); color:var(--ink); font-family:var(--body); line-height:1.6;
  background-image:linear-gradient(rgba(255,140,60,0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,140,60,0.035) 1px, transparent 1px);
  background-size:32px 32px;
}
a{color:var(--amber);}

/* corner brackets */
.corner{position:fixed; width:22px; height:22px; border:2px solid rgba(255,140,60,0.35); pointer-events:none; z-index:5;}
.corner.tl{top:12px; left:12px; border-right:none; border-bottom:none;}
.corner.tr{top:12px; right:12px; border-left:none; border-bottom:none;}
.corner.bl{bottom:12px; left:12px; border-right:none; border-top:none;}
.corner.br{bottom:12px; right:12px; border-left:none; border-top:none;}

/* top nav shared across all sec+ pages */
.topnav{position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:space-between; padding:14px 20px; background:rgba(10,7,5,0.9); backdrop-filter:blur(6px); border-bottom:1px solid var(--line-soft);}
.topnav .back{font-family:var(--mono); font-size:12.5px; color:var(--amber); text-decoration:none;}
.toc-toggle{display:none; font-family:var(--mono); font-size:12px; background:rgba(255,140,60,0.08); border:1px solid var(--line); color:var(--ink); border-radius:6px; padding:8px 12px; cursor:pointer;}

/* sidebar + reference reader layout */
.layout{display:flex; max-width:1200px; margin:0 auto;}
.sidebar{width:280px; flex:none; padding:24px 14px 60px 20px; position:sticky; top:53px; align-self:flex-start; max-height:calc(100vh - 53px); overflow-y:auto;}
.sidebar-label{font-family:var(--mono); font-size:11px; letter-spacing:.15em; color:var(--amber); text-transform:uppercase; margin-bottom:10px;}
.toc-group-label{font-family:var(--mono); font-size:10.5px; letter-spacing:.08em; color:var(--red); text-transform:uppercase; margin:16px 0 4px; padding:0 8px;}
.toc-group-label:first-child{margin-top:0;}
.toc-link{display:flex; gap:6px; font-size:12px; color:var(--muted); text-decoration:none; padding:5px 8px; border-radius:5px; border-left:2px solid transparent; margin-bottom:1px;}
.toc-obj{font-family:var(--mono); color:var(--amber); flex:none; opacity:.7;}
.toc-link:hover{color:var(--ink); background:rgba(255,140,60,0.06); border-left-color:var(--amber);}
.content{flex:1; min-width:0; padding:24px 24px 80px; max-width:820px;}
.doc-header{border-bottom:1px solid var(--line-soft); padding-bottom:20px; margin-bottom:20px;}
.eyebrow{font-family:var(--mono); font-size:.75rem; letter-spacing:.15em; color:var(--amber); text-transform:uppercase; margin:0 0 8px;}
h1{font-family:var(--mono); font-size:clamp(1.4rem,3vw,2rem); margin:0 0 10px; font-weight:700;}
.sub{color:var(--muted); font-size:13.5px; margin:0;}
.doc-section{padding:20px 0; border-bottom:1px solid var(--line-soft); scroll-margin-top:70px;}
.obj-badge{display:inline-block; font-family:var(--mono); font-size:10.5px; color:var(--red); border:1px solid rgba(230,72,60,0.35); background:rgba(230,72,60,0.08); border-radius:4px; padding:2px 7px; margin-bottom:6px;}
.doc-section h2{font-family:var(--mono); font-size:16.5px; color:var(--amber); margin:0 0 10px;}
.bullets h4{font-family:var(--mono); font-size:12.5px; color:var(--amber-soft); margin:14px 0 4px; text-transform:none;}
.bullets p{font-size:13.8px; color:#ddd0c6; margin:0 0 10px;}
.bullets ul{list-style:none; margin:0 0 10px; padding-left:20px; border-left:1px solid var(--line-soft);}
.bullets > ul{padding-left:0; border-left:none;}
.bullets li{position:relative; padding:3px 0 3px 16px; font-size:13.8px; color:#ddd0c6;}
.bullets li::before{content:"•"; position:absolute; left:0; color:var(--amber); opacity:.6;}
.doc-footer{font-family:var(--mono); font-size:11px; color:var(--muted2); text-align:center; padding-top:30px;}

/* simple article layout (cram pages) */
.article{max-width:860px; margin:0 auto; padding:28px 20px 70px;}
.article table{width:100%; border-collapse:collapse; margin:14px 0 20px; font-size:13px;}
.article th, .article td{border:1px solid var(--line-soft); padding:8px 10px; text-align:left; vertical-align:top;}
.article th{background:rgba(255,140,60,0.08); color:var(--amber-soft); font-family:var(--mono); font-size:11.5px; text-transform:uppercase; letter-spacing:.04em;}
.article h2{font-family:var(--mono); font-size:19px; color:var(--amber); margin:34px 0 12px; padding-bottom:8px; border-bottom:1px solid var(--line-soft);}
.article h2:first-of-type{margin-top:10px;}
.article h3{font-family:var(--mono); font-size:14.5px; color:var(--amber-soft); margin:20px 0 8px;}
.article p{font-size:14px; color:#ddd0c6; margin:0 0 12px;}
.article ul, .article ol{padding-left:22px; margin:0 0 14px;}
.article li{font-size:14px; color:#ddd0c6; margin-bottom:6px;}
.article .callout{background:var(--panel); border:1px solid var(--line); border-left:3px solid var(--amber); border-radius:6px; padding:12px 16px; margin:14px 0; font-size:13px; color:var(--muted);}
.article .callout b{color:var(--ink);}
.article code, .article .kbd{font-family:var(--mono); background:rgba(255,140,60,0.1); border:1px solid var(--line-soft); border-radius:4px; padding:1px 6px; font-size:12.5px; color:var(--amber-soft);}
.article .glossary dt{font-family:var(--mono); color:var(--amber); font-weight:700; margin-top:10px;}
.article .glossary dd{margin:2px 0 0; color:var(--muted); font-size:13px;}

/* mobile */
@media(max-width:860px){
  .toc-toggle{display:block;}
  .sidebar{position:fixed; left:0; top:53px; bottom:0; background:#0d0908; z-index:15; transform:translateX(-100%); transition:transform .2s ease; box-shadow:4px 0 20px rgba(0,0,0,0.5); max-height:none; width:85%;}
  .sidebar.open{transform:translateX(0);}
  .content{padding:20px 16px 60px;}
  .article table{display:block; overflow-x:auto; white-space:nowrap;}
}
