
:root{--bg:#f7f7f5;--text:#111;--muted:#6b6b66;--line:#dcdcd7;--accent:#ff5a2f}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}
button{font:inherit}
.wrap{width:min(940px,calc(100% - 28px));margin:auto;padding:34px 0 26px}
.top{display:flex;justify-content:space-between;align-items:start;gap:24px}
h1{font-size:clamp(42px,8vw,82px);letter-spacing:-.065em;line-height:.92;margin:0}
.sub{font-size:18px;margin:12px 0 0;color:var(--muted)}
.linkbtn{border:0;background:none;text-decoration:underline;cursor:pointer;padding:4px 0}
.countdown-block{text-align:center;padding:70px 0 44px}
.label{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--muted)}
.countdown{display:flex;justify-content:center;gap:20px;margin-top:12px}
.countdown div{min-width:92px}
.countdown strong{font-size:58px;letter-spacing:-.06em}
.countdown span{font-size:17px;color:var(--muted);margin-left:5px}
.mission{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;display:grid;grid-template-columns:100px 1fr auto;align-items:center;gap:18px}
.mission span,.mission small{font-size:12px;color:var(--muted)}
.mission strong{font-size:22px}
.sponsor-stage{padding:32px 0}
.sponsor-stage img{width:100%;display:block;border-radius:16px}
.spots{padding:30px 0}
.spots-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:16px}
.spots-head h2{font-size:42px;letter-spacing:-.04em;margin:0}
.spots-head p{color:var(--muted);margin:0}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.spot{background:white;border:1px solid var(--line);padding:16px;border-radius:12px;cursor:pointer}
.spot:hover{border-color:#aaa}
.spot .row{display:flex;justify-content:space-between;gap:10px;font-size:12px}
.avail{color:#157a3e;font-weight:700}.taken{color:#9c6100;font-weight:700}
.spot h3{font-size:19px;margin:28px 0 7px}
.spot p{margin:0;color:var(--muted);font-size:14px}
.price{font-size:25px;font-weight:700;margin-top:18px}
.totals{margin:34px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}
.totals div{padding:18px 0}.totals span{display:block;color:var(--muted);font-size:12px}.totals strong{display:block;font-size:28px;margin-top:5px}
footer{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;padding-top:10px}
.drawer,.modal{display:none;position:fixed;inset:0;background:#0008;align-items:center;justify-content:center;padding:20px}
.drawer.show,.modal.show{display:flex}
.drawer-card,.modal-card{background:var(--bg);width:min(520px,100%);padding:26px;border-radius:16px;position:relative}
.drawer-card h2,.modal-card h2{font-size:34px;margin:0 0 20px;letter-spacing:-.04em}
.drawer-card p{line-height:1.5}.muted,.modal-card small,#mStatus{color:var(--muted)}
.close{position:absolute;right:16px;top:12px;border:0;background:none;font-size:28px;cursor:pointer}
.tiny{font-size:11px;color:var(--muted);letter-spacing:.12em}
.mPrice{font-size:48px;font-weight:700;margin:22px 0}
.buy{width:100%;border:0;background:#111;color:white;padding:15px;border-radius:10px;font-weight:700;cursor:pointer}
.modal-card small{display:block;margin-top:12px}
@media(max-width:700px){.grid{grid-template-columns:repeat(2,1fr)}.mission{grid-template-columns:1fr}.mission small{margin-top:-8px}.spots-head{display:block}.spots-head p{margin-top:8px}}
@media(max-width:480px){.top{display:block}.linkbtn{margin-top:18px}.countdown div{min-width:70px}.countdown strong{font-size:44px}.grid{grid-template-columns:1fr}.totals{grid-template-columns:1fr}.totals div{border-bottom:1px solid var(--line)}footer{flex-direction:column;gap:8px}}
