/* Nexus Digital – single-file styling (pure CSS) */
:root{
  --ink:#111;
  --muted:#666;
  --blue:#2f57ff;
  --line:#222;
  --panel:#f3f3f3;
  --panel2:#e9e9e9;
  --shadow: rgba(0,0,0,.08);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: "Courier New", Courier, monospace;
  color:var(--ink);
  background:#fff;
}
a{color:inherit}
code{background:#f6f6f6;padding:0 .25rem;border:1px solid #eee;border-radius:4px}

.app{min-height:100%; display:flex; flex-direction:column;}
.topbar{
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background: #4F4C4C;
  color: #fff;
}
.timer{
  font-size: 24px;
}
.main{flex:1; display:flex; justify-content:center; padding:28px 18px 40px;}
.page{width:min(980px, 100%);}

.h1{
  font-size:34px;
  letter-spacing:.5px;
  font-weight:800;
  margin:0 0 22px;
}
.h1--blue{color:var(--blue)}
.h2{
  margin:26px 0 8px;
  font-size:28px;
  font-weight:800;
  text-align: left;
}
.crumb{font-size:16px; color:var(--muted); margin-bottom:6px}

.para{font-size:18px; line-height:1.6; margin:18px 0;}
.para--spaced{margin:26px 0;}
.centre{text-align:center}

.card{
  border:1px solid var(--line);
  padding:22px;
  display:grid;
  grid-template-columns: 260px 1fr;
  gap:22px;
  align-items:center;
  margin:10px 0 18px;
}
.report-card{min-height:170px}
.brand{
  display:flex; 
  align-items:center; gap:14px
}
.brand img{
  width: 100%;
}

.brand.answer-brand img{
  height: 150px;
}
.brand__mark{
  width:64px; height:64px;
  background:
    radial-gradient(circle at 25% 25%, var(--blue) 0 12px, transparent 13px),
    radial-gradient(circle at 75% 25%, var(--blue) 0 12px, transparent 13px),
    radial-gradient(circle at 25% 75%, var(--blue) 0 12px, transparent 13px),
    radial-gradient(circle at 75% 75%, var(--blue) 0 12px, transparent 13px),
    linear-gradient(var(--blue), var(--blue));
  background-size:auto;
  border-radius:8px;
  opacity:.9;
}
.brand__mark--large{width:92px;height:92px;border-radius:12px}
.brand__name{
  font-family: Arial, Helvetica, sans-serif;
  font-weight:900;
  font-size:40px;
  letter-spacing:-.5px;
}
.brand__name span{font-weight:500}
.brand--compact .brand__name{font-size:26px}
.brand--center{justify-content:center}
.brand__name--large{font-size:52px}

.report-meta{font-size:20px; line-height:1.7}
.k{font-weight:900}

.nav{
  margin-top:50px;
  display:flex;
  justify-content:space-between;
  gap:14px;
}
.nav.final-step{
  justify-content: flex-end;
}
.btn{
  font-family: inherit;
  font-size:18px;
  padding:10px 18px;
  border:2px solid var(--line);
  background:#fff;
  border-radius:4px;
  cursor:pointer;
  box-shadow: 0 2px 0 var(--shadow);
}
.btn:hover{transform: translateY(-1px)}
.btn:active{transform: translateY(0)}
.btn--primary{
  background: linear-gradient(#fff, #f2f2ff);
  border-color:#1f3bdb;
}
.btn--xl{font-size:22px; padding:16px 26px; min-width:360px}
.btn--small{font-size:16px; padding:8px 14px}
.btn--link{
  background:transparent;
  border:none;
  box-shadow:none;
  padding:0;
  text-decoration:underline;
  color:var(--blue);
}

.center{
  min-height: calc(100vh - 180px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:18px;
}
.lead{font-size:20px; line-height:1.7; text-align:center; color:var(--muted)}
.lead--strong{color:var(--ink); font-weight:700}

.bullets{margin:10px 0 0; padding-left:22px; font-size:18px; line-height:1.7}
.bullets--tight li{margin:6px 0}

.postbox{
  background: #F0F0F0;
  padding: 16px;
}
.post{margin:10px 0; font-size:16px; line-height:1.5}
.handle{font-weight:900; margin-right:10px}
.system{color:var(--muted)}

.page-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  margin-bottom:10px;
}
.page-head--wide{align-items:center}

.accordion{
  margin:14px 0;
  border:1px solid #cfcfcf;
  background:var(--panel);
}
.accordion[open=""] i.fa-caret-down{
  transform: rotate(180deg);
}
.accordion summary{
  list-style:none;
  cursor:pointer;
  padding:12px 14px;
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:900;
  background:var(--panel2);
  user-select:none;
  justify-content: space-between;
}
.accordion summary p{
  margin: 0;
}
.accordion summary::-webkit-details-marker{display:none}
.acc-body{padding:14px 16px; background:var(--panel)}
.acc-body p{margin:10px 0; line-height:1.6}
.quote{
  padding:10px 14px;
  border-left:4px solid var(--blue);
  background:#fff;
}

.callout{
  margin-top:20px;
  border:2px solid var(--line);
  padding:18px;
}
.callout__title{font-weight:900; margin-bottom:12px}
.callout__row{display:flex; align-items:center; gap:10px; margin:10px 0; font-size:16px}

.note{
  margin-top:18px;
  padding:12px 14px;
  border:1px dashed #bbb;
  background:#fcfcfc;
  font-size:16px;
  color:var(--muted);
}

.choices{margin-top:14px; display:flex; flex-direction:column; gap:14px}
.choice{display:flex; gap:16px; align-items:flex-start}
.choice__text{font-size:18px; line-height:1.5}

.timer-banner{
  text-align:center;
  margin:0 0 10px;
  color:var(--panel2);
}
.timer-banner__value{
  font-size:22px;
  letter-spacing:1px;
  background:#444;
  color:#fff;
  display:inline-block;
  padding:10px 16px;
  border-radius:6px;
}

.folders{
  margin:18px 0 50px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:18px;
}

.folder__head{
  background: #4F4C4C;
  color: #fff;
  padding: 0px 14px;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: .3px;
  display: flex;
  align-items: center;
  font-family: Open Sans;
}
.folder__head img{
  height: 85px;
}
.doc{
  padding: 12px 14px;
  border: 1px solid #D9D9D9;
  font-size: 15px;
  text-decoration: underline;
  margin-top: 15px;
  min-height: 62px;
  display: flex;
  align-items: center;
}
.doc:hover{
  box-shadow: 3px 5px 10px 0px #d9d9d9;
  border: 0;
}

.doc img{
  width: 50px;
  margin-right: 8px;
}

.ext{ text-decoration:underline }
.ext[aria-disabled="true"]{color:var(--muted); text-decoration:none; cursor:not-allowed}

@media (max-width: 920px){
  .card{grid-template-columns:1fr; }
  .folders{grid-template-columns:1fr;}
  .btn--xl{min-width: 100%;}
  .brand__name{font-size:34px}
}
.end-game h1,h2{
  text-align: center;
}
.end-game h2{
  font-weight: lighter;
}
.sponsors{
  display: flex;
  justify-content: space-around;
  margin-top: 80px;
}

.sponsors img{
  height: 80px;
}

.forced-modal {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
}

.forced-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.6);
}

.forced-modal__box {
  position: relative;
  background: #111;
  color: #fff;
  padding: 32px;
  border-radius: 12px;
  max-width: 400px;
  width: 90%;
  text-align: center;
  z-index: 1;
}
