:root{
  --bg:#0a0d0b;
  --bg-2:#101512;
  --panel:#131916;
  --border:#1f2a24;
  --border-2:#2a3b32;
  --text:#d8e6dd;
  --muted:#7a8a82;
  --accent:#a6ff3d;   /* lime */
  --accent-2:#4de3c1; /* cyan-mint */
  --danger:#ff4d4d;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--text);font-family:'JetBrains Mono',ui-monospace,monospace;font-size:15px;line-height:1.55}
body{
  min-height:100vh;
  background-image:
    radial-gradient(circle at 15% 0%, rgba(166,255,61,.06), transparent 40%),
    radial-gradient(circle at 85% 100%, rgba(77,227,193,.05), transparent 45%),
    linear-gradient(var(--bg),var(--bg));
  padding:20px 18px 60px;
}
.scanlines{
  position:fixed;inset:0;pointer-events:none;z-index:1;
  background:repeating-linear-gradient(to bottom, rgba(255,255,255,.015) 0 1px, transparent 1px 3px);
  mix-blend-mode:overlay;
}

.top{
  max-width:920px;margin:0 auto;
  border:1px solid var(--border-2);
  padding:18px 18px 22px;
  background:linear-gradient(180deg,#0d1310,#0a0d0b);
  position:relative;z-index:2;
}
.top-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted)}
.tag{letter-spacing:.05em}
.clock{color:var(--accent);font-weight:700}

.title{
  font-family:'Space Grotesk','JetBrains Mono',monospace;
  font-weight:700;
  font-size:clamp(2.2rem, 8vw, 4.6rem);
  letter-spacing:-.02em;
  margin-top:14px;line-height:.95;
  color:var(--text);
}
.subtitle{color:var(--muted);margin-top:10px;font-size:13px;letter-spacing:.02em}
.accent{color:var(--accent);font-weight:700}

.countdown-block{
  margin-top:22px;
  border:1px dashed var(--border-2);
  padding:14px 14px 12px;
  background:#0c110e;
}
.cd-label{font-size:11px;color:var(--muted);letter-spacing:.15em}
.cd-value{
  font-family:'JetBrains Mono',monospace;
  font-weight:800;font-size:clamp(1.8rem,6vw,2.6rem);
  color:var(--accent);margin-top:4px;letter-spacing:.02em;
}
.cd-bar{margin-top:10px;height:6px;background:#0a0f0c;border:1px solid var(--border);position:relative;overflow:hidden}
.cd-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));width:0%}

.cta-row{
  margin-top:18px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;
}
.join{
  font-family:'JetBrains Mono',monospace;
  font-weight:700;letter-spacing:.08em;font-size:14px;
  background:var(--accent);color:#0a0d0b;
  border:1px solid var(--accent);
  padding:12px 18px;cursor:pointer;
  transition:transform .08s ease, box-shadow .15s ease, background .2s;
  min-height:44px;
}
.join:hover{box-shadow:0 0 0 4px rgba(166,255,61,.15)}
.join:active{transform:translateY(1px)}
.join.locked{background:#0a0d0b;color:var(--accent);}
.crew{color:var(--muted);font-size:13px}
.crew b{color:var(--accent)}

.h2{
  font-family:'Space Grotesk','JetBrains Mono',monospace;
  font-size:1.15rem;font-weight:700;letter-spacing:.02em;
  margin:36px 0 14px;color:var(--text);
}
.hash{color:var(--accent);margin-right:8px}

main{max-width:920px;margin:0 auto;position:relative;z-index:2}

.boundaries .rules{list-style:none;border:1px solid var(--border-2);background:var(--panel)}
.rules li{
  padding:12px 14px;border-bottom:1px solid var(--border);
  display:flex;gap:12px;align-items:flex-start;font-size:14px;
}
.rules li:last-child{border-bottom:0}
.rules .num{color:var(--accent);font-weight:700;min-width:2.2em}
.rules .rule-text{flex:1}
.rules .rule-text b{color:#fff}

.grid-2{display:grid;grid-template-columns:1fr;gap:14px;margin-top:14px}
@media(min-width:640px){.grid-2{grid-template-columns:1fr 1fr}}

.panel{border:1px solid var(--border-2);background:var(--panel);padding:14px}
.panel-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.panel-head h3{font-size:.85rem;letter-spacing:.14em;color:var(--muted);font-weight:700}
.dot{width:8px;height:8px;display:inline-block;border-radius:0}
.ok-dot{background:var(--accent);box-shadow:0 0 8px rgba(166,255,61,.6)}
.no-dot{background:var(--danger);box-shadow:0 0 8px rgba(255,77,77,.5)}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.chips li{
  font-size:13px;padding:6px 10px;border:1px solid var(--border-2);
  background:#0c110e;color:var(--text);letter-spacing:.02em;
}
.panel.no .chips li{color:#ffb3b3;border-color:#3a1f1f;background:#160c0c;text-decoration:line-through;text-decoration-color:#ff4d4d}
.note{margin-top:10px;color:var(--muted);font-size:12px;letter-spacing:.03em}
.panel.ok .note::before{content:"> ";color:var(--accent)}

.meal-grid{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:720px){.meal-grid{grid-template-columns:repeat(3,1fr)}}
.meal{
  border:1px solid var(--border-2);background:var(--panel);padding:14px;
  position:relative;
}
.meal .when{color:var(--accent);font-size:11px;letter-spacing:.18em;font-weight:700}
.meal h4{font-family:'Space Grotesk',sans-serif;font-size:1.1rem;margin-top:6px;letter-spacing:-.01em}
.meal .cap{color:var(--muted);font-size:12px;margin-top:2px}
.meal ul{margin-top:10px;list-style:none;display:flex;flex-direction:column;gap:6px}
.meal ul li{font-size:13px;color:var(--text)}
.meal ul li::before{content:"- ";color:var(--accent-2)}
.meal .kcal{
  position:absolute;top:12px;right:12px;
  font-size:11px;color:var(--accent);border:1px solid var(--border-2);padding:2px 6px;letter-spacing:.08em;
}

.snack-card{
  border:1px solid var(--border-2);background:var(--panel);
  padding:16px;display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap;
}
.snack-card .icon{
  font-size:1.6rem;color:var(--accent);font-weight:800;line-height:1;
  border:1px solid var(--border-2);padding:8px 10px;background:#0c110e;
}
.snack-card .body{flex:1;min-width:200px}
.snack-card h4{font-family:'Space Grotesk',sans-serif;font-size:1.05rem}
.snack-card p{font-size:13px;color:var(--muted);margin-top:4px}
.snack-card .kcal{font-size:11px;color:var(--accent);border:1px solid var(--border-2);padding:2px 6px;letter-spacing:.08em;align-self:flex-start}

.crew-section .lede{color:var(--muted);font-size:13px}
.mantra{margin-top:16px;color:var(--accent);font-size:14px;letter-spacing:.02em;border-left:2px solid var(--accent);padding-left:10px}
.crew-list{list-style:none;margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}
.crew-list li{
  border:1px solid var(--border-2);padding:8px 12px;font-size:13px;background:#0c110e;
  display:flex;align-items:center;gap:8px;
}
.crew-list li .status{color:var(--muted);font-size:11px;letter-spacing:.1em}
.crew-list li.locked .status{color:var(--accent)}
.crew-list li .name{font-weight:700;color:var(--text)}
.crew-list li.locked{border-color:var(--accent);box-shadow:inset 0 0 0 1px rgba(166,255,61,.15)}

footer{
  max-width:920px;margin:40px auto 0;display:flex;justify-content:space-between;
  color:var(--muted);font-size:11px;letter-spacing:.1em;border-top:1px dashed var(--border-2);padding-top:14px;
  position:relative;z-index:2;flex-wrap:wrap;gap:6px;
}
