:root{
  --bg:#0b1220;
  --panel:#121c32;
  --panel2:#0f1830;
  --text:#eaf0ff;
  --muted:#a9b6d6;
  --border:rgba(255,255,255,.10);
  --accent:#5cc8ff;
  --ok:#39d98a;
  --warn:#ffcc00;
  --bad:#ff5c7a;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;background:radial-gradient(1200px 700px at 20% -10%, #1e2a53 0%, rgba(30,42,83,0) 60%),linear-gradient(180deg,#070b14 0%, var(--bg) 65%, #070b14 100%);color:var(--text);}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1100px;margin:0 auto;padding:26px 18px 60px}
.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap}
.brand h1{margin:0;font-size:22px;letter-spacing:.2px}
.brand .sub{color:var(--muted);font-size:13px;margin-top:4px}
.nav{display:flex;gap:10px;flex-wrap:wrap}
.nav a{padding:8px 12px;border:1px solid var(--border);border-radius:12px;background:rgba(18,28,50,.55)}
.nav a.active{border-color:rgba(92,200,255,.55);box-shadow:0 0 0 3px rgba(92,200,255,.10) inset}
.hero{margin-top:18px;padding:16px;border:1px solid var(--border);border-radius:16px;background:rgba(18,28,50,.65);box-shadow:0 10px 30px rgba(0,0,0,.25)}
.hero h2{margin:0 0 8px;font-size:24px}
.hero p{margin:0;color:var(--muted);line-height:1.5}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;margin-top:14px}
.card{grid-column:span 12;padding:16px;border:1px solid var(--border);border-radius:16px;background:rgba(18,28,50,.55)}
.card h3{margin:0 0 10px;font-size:18px}
.card p{margin:6px 0;color:var(--muted);line-height:1.5}
.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:rgba(255,255,255,.06);color:var(--muted)}
.badge.ok{color:var(--ok);border-color:rgba(57,217,138,.30)}
.badge.warn{color:var(--warn);border-color:rgba(255,204,0,.28)}
.badge.bad{color:var(--bad);border-color:rgba(255,92,122,.28)}
.kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;padding:2px 6px;border-radius:8px;background:rgba(255,255,255,.08);border:1px solid var(--border)}
.table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid var(--border);border-radius:14px}
.table th,.table td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:top}
.table th{background:rgba(255,255,255,.05);text-align:left;font-size:12px;color:var(--muted);letter-spacing:.25px;text-transform:uppercase}
.table tr:last-child td{border-bottom:0}
ul,ol{margin:8px 0 0 18px;color:var(--muted)}
li{margin:6px 0}
.imggrid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px;margin-top:10px}
.figure{grid-column:span 12;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:rgba(0,0,0,.15)}
.figure img{width:100%;height:auto;display:block}
.figure .cap{padding:10px 12px;color:var(--muted);font-size:12px;border-top:1px solid var(--border)}
.footer{margin-top:20px;color:var(--muted);font-size:12px}
@media (min-width:820px){
  .card.half{grid-column:span 6}
  .figure.half{grid-column:span 6}
  .figure.third{grid-column:span 4}
}

.footer{margin-top:18px;opacity:.85}
.badge.warn{background:#3a2b00;border:1px solid #7a5a00;color:#ffd27a;padding:2px 8px;border-radius:999px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mini{border:1px solid #2a3555;border-radius:12px;padding:12px;background:rgba(18,28,50,.6)}
.mini .label{font-weight:700;margin-bottom:6px}
.mini.wrong{border-color:#5a2a2a}
.mini.ok{border-color:#2a5a3a}
body:before{
  content:"INTERNAL USE ONLY";
  position:fixed;top:40%;left:-10%;
  transform:rotate(-20deg);
  font-size:64px;font-weight:800;letter-spacing:3px;
  color:rgba(255,255,255,0.03);
  z-index:0;pointer-events:none;
}
.container, .topbar, .card, .hero{position:relative;z-index:1}


/* Slip sample cards */
.shot{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:16px;overflow:hidden}
.shot img{display:block;width:100%;height:auto}
.shot .cap{padding:10px 12px;font-size:13px;color:rgba(255,255,255,0.78)}


/* Slip reading highlight grid */
.highlightGrid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
  gap:16px;
  margin-top:12px;
}
.highlightGrid .shot{
  box-shadow:0 10px 30px rgba(0,0,0,0.25);
}
.highlightGrid .cap{
  line-height:1.35;
}
@media (max-width: 420px){
  .highlightGrid{grid-template-columns:1fr;}
}
