:root{
    --bg:#07101f;--bg2:#0a1628;--card:#0d1e38;--card2:#0f2340;
    --border:#1a3358;--border2:#234268;
    --cyan:#00c2e0;--cyan2:#90e0ef;--cyan3:#caf0f8;
    --gold:#ffd166;--green:#06d6a0;--red:#ef476f;--orange:#f4a261;
    --white:#f0f6ff;--silver:#b8cde0;--dim:#7a99b8;
    --eq:#060f1e;
    --nhl:#c8102e;  /* NHL red */
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  body{background:var(--bg);color:var(--silver);font-family:'Segoe UI',Helvetica,Arial,sans-serif;font-size:15.5px;line-height:1.78;}

  /* ── HEADER ── */
  header{
    background:linear-gradient(160deg,#04090f 0%,#0b1e3a 50%,#0d2e50 100%);
    padding:56px 40px 48px;text-align:center;
    border-bottom:2px solid var(--cyan);position:relative;overflow:hidden;
  }
  header::before{
    content:'';position:absolute;inset:0;
    background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(0,194,224,.14) 0%,transparent 70%);
    pointer-events:none;
  }
  .badge-row{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:24px;}
  .badge{
    display:inline-block;border-radius:20px;padding:4px 16px;font-size:11px;
    letter-spacing:2.5px;text-transform:uppercase;font-weight:700;
  }
  .badge-nhl{background:rgba(200,16,46,.18);color:#ff6b80;border:1px solid rgba(200,16,46,.5);}
  .badge-sci{background:rgba(0,194,224,.12);color:var(--cyan);border:1px solid rgba(0,194,224,.4);}
  .badge-eng{background:rgba(255,209,102,.1);color:var(--gold);border:1px solid rgba(255,209,102,.35);}
  header h1{font-size:2.55rem;font-weight:900;color:var(--white);line-height:1.18;margin-bottom:14px;text-shadow:0 0 50px rgba(0,194,224,.35);}
  header h1 span{color:var(--cyan);}
  header h1 em{color:var(--gold);font-style:normal;}
  header .sub{font-size:1.05rem;color:var(--silver);max-width:820px;margin:0 auto 30px;}
  .meta-grid{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}
  .meta{background:rgba(255,255,255,.04);border:1px solid var(--border2);border-radius:10px;padding:10px 20px;font-size:12.5px;color:var(--silver);}
  .meta strong{display:block;color:var(--cyan);font-size:10px;letter-spacing:2px;text-transform:uppercase;margin-bottom:3px;}

  /* ── NAV ── */
  nav{background:var(--card);border-bottom:1px solid var(--border);padding:12px 40px;display:flex;flex-wrap:wrap;gap:6px;position:sticky;top:0;z-index:100;}
  nav a{color:var(--cyan2);text-decoration:none;font-size:12.5px;padding:4px 11px;border-radius:4px;transition:background .18s,color .18s;}
  nav a:hover{background:rgba(0,194,224,.15);color:var(--white);}

  /* ── MAIN ── */
  main{max-width:1120px;margin:0 auto;padding:50px 28px 90px;}

  /* ── SECTIONS ── */
  .sec{margin-bottom:72px;}
  .sec-hdr{display:flex;align-items:center;gap:15px;margin-bottom:26px;padding-bottom:14px;border-bottom:1px solid var(--border);}
  .sec-num{background:var(--cyan);color:var(--bg);font-weight:900;font-size:13px;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .sec-num.nhl{background:var(--nhl);color:#fff;}
  h2{font-size:1.6rem;color:var(--white);font-weight:700;}
  h3{font-size:1.18rem;color:var(--cyan);font-weight:600;margin:30px 0 12px;}
  h4{font-size:.98rem;color:var(--gold);font-weight:600;margin:18px 0 8px;}
  p{margin-bottom:13px;}

  /* ── ABSTRACT ── */
  .abstract{
    background:linear-gradient(135deg,var(--card) 0%,var(--card2) 100%);
    border:1px solid var(--border2);border-left:4px solid var(--cyan);
    border-radius:12px;padding:28px 34px;margin-bottom:52px;
  }
  .abstract h2{font-size:1rem;color:var(--cyan);letter-spacing:2px;text-transform:uppercase;margin-bottom:12px;}

  /* ── ARENA SPEC BOX ── */
  .arena-box{
    background:linear-gradient(135deg,rgba(200,16,46,.06) 0%,rgba(10,22,40,.9) 100%);
    border:1px solid rgba(200,16,46,.4);border-left:4px solid var(--nhl);
    border-radius:12px;padding:26px 32px;margin:24px 0;
  }
  .arena-box h4{color:#ff8099;margin:0 0 10px;}

  /* ── EQUATIONS ── */
  .eq{background:var(--eq);border:1px solid var(--border2);border-radius:10px;padding:22px 28px;margin:22px 0;overflow-x:auto;}
  .eq .el{font-size:10.5px;color:var(--cyan);letter-spacing:2px;text-transform:uppercase;margin-bottom:10px;}
  .eq-note{margin-top:14px;padding:12px 16px;background:rgba(0,194,224,.07);border-radius:8px;font-size:13.5px;color:var(--dim);border-left:3px solid var(--cyan);}
  .eq-note strong{color:var(--cyan2);}

  /* ── TABLES ── */
  .tw{overflow-x:auto;margin:22px 0;}
  table{width:100%;border-collapse:collapse;font-size:13.5px;}
  thead{background:rgba(13,46,80,.9);}
  th{color:var(--cyan);font-weight:600;padding:11px 15px;text-align:left;border-bottom:2px solid var(--cyan);letter-spacing:.4px;}
  td{padding:9px 15px;border-bottom:1px solid var(--border);color:var(--silver);vertical-align:top;}
  tr:nth-child(even) td{background:rgba(255,255,255,.022);}
  tr:hover td{background:rgba(0,194,224,.045);}
  .tg{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11.5px;font-weight:600;}
  .tg-g{background:rgba(6,214,160,.13);color:var(--green);border:1px solid var(--green);}
  .tg-r{background:rgba(239,71,111,.13);color:var(--red);border:1px solid var(--red);}
  .tg-y{background:rgba(255,209,102,.1);color:var(--gold);border:1px solid var(--gold);}
  .tg-b{background:rgba(0,194,224,.13);color:var(--cyan);border:1px solid var(--cyan);}

  /* ── CARDS ── */
  .cg{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin:22px 0;}
  .c{background:var(--card);border:1px solid var(--border);border-radius:11px;padding:20px;transition:border-color .2s,transform .2s;}
  .c:hover{border-color:var(--cyan);transform:translateY(-3px);}
  .c .ci{font-size:1.9rem;margin-bottom:9px;}
  .c h4{margin:0 0 7px;color:var(--white);}
  .c p{font-size:13px;margin:0;}

  /* ── HIGHLIGHT / WARNING ── */
  .hl{background:rgba(255,209,102,.055);border:1px solid rgba(255,209,102,.28);border-radius:10px;padding:18px 22px;margin:18px 0;}
  .hl h4{color:var(--gold);margin:0 0 7px;}
  .hl p{font-size:13.5px;margin:0;}
  .wn{background:rgba(239,71,111,.055);border:1px solid rgba(239,71,111,.28);border-radius:10px;padding:16px 20px;margin:18px 0;font-size:13.5px;color:#ffb3c1;}
  .ok{background:rgba(6,214,160,.055);border:1px solid rgba(6,214,160,.28);border-radius:10px;padding:16px 20px;margin:18px 0;font-size:13.5px;color:#a8f5e5;}

  /* ── DIAGRAMS ── */
  .dw{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:28px;margin:26px 0;text-align:center;}
  .dw figcaption{margin-top:15px;font-size:13px;color:var(--dim);font-style:italic;}

  /* ── PHASE ── */
  .phase-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0;}
  @media(max-width:680px){.phase-grid{grid-template-columns:1fr;}.meta-grid{flex-direction:column;align-items:center;}.badge-row{flex-direction:column;align-items:center;}}

  ul,ol{padding-left:21px;margin-bottom:13px;}
  li{margin-bottom:5px;}
  li strong{color:var(--white);}

  /* ── DELIVERABLES ── */
  .dlv{display:flex;align-items:flex-start;gap:15px;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:16px 20px;margin-bottom:12px;}
  .dlv .dn{background:var(--cyan);color:var(--bg);font-weight:900;min-width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;}

  /* ── PHASE STEPS ── */
  .phase-step{
    display:flex;align-items:flex-start;gap:16px;
    background:var(--card2);border:1px solid var(--border2);
    border-radius:10px;padding:18px 22px;margin-bottom:14px;
  }
  .phase-step .ps-num{
    background:var(--border2);color:var(--cyan);font-weight:800;
    min-width:36px;height:36px;border-radius:50%;display:flex;align-items:center;
    justify-content:center;font-size:15px;flex-shrink:0;
  }
  .phase-step h4{margin:0 0 6px;color:var(--white);}
  .phase-step p{font-size:13.5px;margin:0;}

  footer{background:var(--card);border-top:1px solid var(--border);text-align:center;padding:28px;font-size:12.5px;color:var(--dim);}

  @media print{nav{display:none;}body{background:#fff;color:#111;}h2,h3,h4{color:#0a1628;}p,li,td{color:#333;}.eq{background:#f5f5f5;border:1px solid #ccc;}}
