/* worker-info.css */
/* Base */
:root{
  --bg: linear-gradient(135deg, #F9D423 0%, #FF4E50 100%); /* user-preferred */
  --surface: rgba(255,255,255,0.92);
  --ink: #1a1a1a;
  --muted: #555;
  --note: #0a7;
  --danger: #b00;
  --radius: 16px;
  --shadow: 0 10px 24px rgba(0,0,0,0.12);
  --primary: #0a84ff;
  --primary-ink: #fff;
  --outline: rgba(26,26,26,0.15);
  --maxw: 1100px;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  	margin: 0;
	font-weight: 100;
	background: linear-gradient(rgba(255, 255, 255, 0.09),rgba(255, 255, 255, 0.09)), url('background4.png') no-repeat;
	background-size: cover;
	background-position: center;
  background-attachment: fixed;
  width: 100%;
}

/* Layout */
.qb-wrap{
  width:100%;
  max-width:var(--maxw);
  margin-inline:auto;
  padding:24px;
}

.qb-header{
  padding:32px 0 8px;
  color:#111;
  text-align:left;
}
.qb-header h1{
  margin:0 0 4px 0;
  font-size:clamp(28px, 4vw, 40px);
  letter-spacing:.2px;
}
.subtitle{
  margin:0;
  font-size:clamp(14px, 1.8vw, 18px);
  color:#222;
  opacity:.9;
}

.qb-footer{
  padding:24px 0 40px;
  text-align:center;
}

/* Cards and grid */
.card{
  background:var(--surface);
  border:1px solid var(--outline);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:20px;
  margin:16px 0;
  backdrop-filter:saturate(1.2) blur(4px);
}
.card h2{ margin-top:0; font-size:22px; }

.grid-2{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}
@media (min-width: 800px){
  .grid-2{ grid-template-columns:1fr 1fr; }
}

/* Lists */
.tight{ margin:0; padding-left:18px; }
.tight li{ margin:6px 0; }
.small{ font-size:13px; }
.muted{ color:var(--muted); }
.note{ color:var(--note); }

/* Steps */
.steps ol{
  margin:0 0 12px 18px;
}
.cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:8px;
}

/* Buttons and links */
.btn{
  display:inline-block;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid var(--outline);
  background:#fff;
  color:var(--ink);
  text-decoration:none;
  font-weight:600;
  transition:transform .06s ease, box-shadow .12s ease, background .12s;
  box-shadow:0 4px 10px rgba(0,0,0,.08);
}
.btn:hover{ transform:translateY(-1px); }
.btn:active{ transform:translateY(0); }
.btn.primary{
  background:var(--primary);
  color:var(--primary-ink);
  border-color:transparent;
}
.btn.outline{
  background:transparent;
  color:var(--ink);
  border-color:var(--outline);
}
.link{
  color:var(--primary);
  text-decoration:none;
  font-weight:600;
}
.link:hover{ text-decoration:underline; }

/* FAQ */
.faq details{
  border-top:1px solid var(--outline);
  padding:10px 0;
}
.faq details:first-of-type{ border-top:0; }
.faq summary{
  cursor:pointer;
  font-weight:600;
}
.faq p{ margin:8px 0 0; }

/* Accessibility helpers */
a:focus, button:focus, summary:focus{
  outline:3px solid #000;
  outline-offset:2px;
}

/* Print */
@media print{
  body{ background:#fff; }
  .card{ box-shadow:none; }
  .btn, .cta-row{ display:none; }
}

/* Modal */
.qb-modal[aria-hidden="true"]{ display:none; }
.qb-modal{
  position:fixed; inset:0; z-index:2000;
}
.qb-modal__backdrop{
  position:absolute; inset:0; background:rgba(0,0,0,.45);
  backdrop-filter: blur(2px);
}
.qb-modal__dialog{
  position:relative;
  width:min(720px, 92vw);
  max-height:82vh;
  margin:6vh auto 0;
  background:var(--surface);
  border:1px solid var(--outline);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  overflow:auto;
  padding:16px 16px 20px;
}
.qb-modal__title{
  margin:0 32px 8px 0;
  font-size:20px;
}
.qb-modal__content{
  position:relative;
  min-height:120px;
}
.qb-modal__close{
  position:absolute; top:8px; right:10px;
  width:32px; height:32px; border-radius:8px;
  border:1px solid var(--outline); background:#fff;
  font-size:20px; line-height:30px; cursor:pointer;
}
.qb-modal__close:hover{ transform: translateY(-1px); }

.qb-modal__spinner{
  width:28px; height:28px; border:3px solid rgba(0,0,0,.15);
  border-top-color: var(--primary);
  border-radius:50%;
  animation: qbspin 1s linear infinite;
  position:absolute; top:6px; right:6px;
}
.qb-modal__spinner[aria-hidden="true"]{ display:none; }

@keyframes qbspin{ to{ transform: rotate(360deg); } }

/* Ensure modal content matches page typography */
.qb-modal__content h1, .qb-modal__content h2, .qb-modal__content h3{
  margin:.5em 0 .25em;
}
.qb-modal__content p, .qb-modal__content li{
  line-height:1.45;
}
.qb-modal__content ul{ padding-left:18px; }
.qb-modal__content a{ color:var(--primary); text-decoration:none; }
.qb-modal__content a:hover{ text-decoration:underline; }

/* Small screens */
@media (max-width:520px){
  .qb-modal__dialog{ margin:4vh auto 0; max-height:86vh; }
}
