:root{--bg:#070b12;--bg-2:#0d1420;--card:#111a28;--card-2:#16202f;--line:#233145;
 --line-soft:#1a2534;--ink:#eaf0f8;--ink-dim:#9fb0c6;--ink-faint:#6b7d94;
 --gold:#e8c98a;--green:#22c55e;--radius:14px;--shadow:0 10px 40px rgba(0,0,0,.45)}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,sans-serif;
 line-height:1.55;-webkit-font-smoothing:antialiased;
 background-image:radial-gradient(1100px 520px at 50% -12%,rgba(232,201,138,.10),transparent 62%),
   radial-gradient(760px 420px at 12% 8%,rgba(34,197,94,.07),transparent 60%);
 background-attachment:fixed}
.wrap{max-width:640px;margin:0 auto;padding:20px 16px 72px}
header{text-align:center;padding:22px 0 8px}
header img{width:min(320px,70vw);height:auto;max-height:170px;object-fit:contain;display:block;margin:0 auto}
.tagline{font-family:Cinzel,Georgia,serif;color:var(--gold);letter-spacing:.14em;
 text-transform:uppercase;font-size:.74rem;margin-top:14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
 padding:22px;margin-top:18px;box-shadow:var(--shadow)}
h2{font-family:Cinzel,Georgia,serif;font-size:1.16rem;margin:0 0 4px}
.sub{color:var(--ink-dim);font-size:.9rem;margin:0 0 18px}
label{display:block;font-size:.82rem;color:var(--ink-dim);margin:14px 0 5px;font-weight:500}
input,textarea,select{width:100%;padding:13px 14px;border-radius:11px;border:1px solid var(--line);
 background:var(--bg-2);color:var(--ink);font-size:16px;font-family:inherit}
textarea{min-height:80px;resize:vertical}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--gold)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:520px){.row{grid-template-columns:1fr}}
.btn{display:block;width:100%;padding:16px;border-radius:12px;border:0;cursor:pointer;
 font-size:1.02rem;font-weight:700;font-family:inherit;margin-top:16px;
 background:linear-gradient(180deg,#2fd968,#18a04a);color:#04150a}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--ink-dim);
 font-weight:500;padding:12px}
.btn:disabled{opacity:.45;cursor:default}
.qty{display:flex;align-items:center;justify-content:center;gap:20px;margin:6px 0 4px}
.qty button{width:52px;height:52px;border-radius:13px;border:1px solid var(--line);
 background:var(--card-2);color:var(--ink);font-size:1.5rem;cursor:pointer;line-height:1}
.qty button:disabled{opacity:.3;cursor:default}
.qty .n{font-size:2.5rem;font-weight:700;min-width:66px;text-align:center;font-variant-numeric:tabular-nums}
.summary{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:15px;margin-top:18px}
.li{display:flex;justify-content:space-between;padding:5px 0;font-size:.9rem;color:var(--ink-dim)}
.li.total{border-top:1px solid var(--line);margin-top:9px;padding-top:11px;color:var(--ink);
 font-weight:700;font-size:1.14rem}
.err{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.4);color:#fca5a5;
 padding:12px 14px;border-radius:11px;margin-top:14px;font-size:.88rem}
.info{color:var(--ink-faint);font-size:.79rem;margin-top:16px;line-height:1.65;
 border-top:1px solid var(--line-soft);padding-top:14px}
.hide{display:none!important}
.center{text-align:center}
.spin{display:inline-block;width:15px;height:15px;border:2px solid rgba(255,255,255,.25);
 border-top-color:#fff;border-radius:50%;animation:sp .7s linear infinite;vertical-align:-2px}
@keyframes sp{to{transform:rotate(360deg)}}
footer{text-align:center;color:var(--ink-faint);font-size:.75rem;margin-top:28px;line-height:1.9}
footer a{color:var(--ink-dim)}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:9px}
.slot{background:var(--bg-2);border:1px solid var(--line-soft);border-radius:11px;padding:13px 8px;
 cursor:pointer;text-align:center;color:var(--ink)}
.slot b{display:block;font-size:1.02rem;font-weight:700}
.slot small{display:block;color:var(--ink-faint);font-size:.7rem;margin-top:3px}
.slot[aria-pressed="true"]{background:var(--gold);color:#1a1206;border-color:var(--gold)}
.slot:disabled{opacity:.3;cursor:default}
.grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.dow{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}
.dow span{text-align:center;font-size:.68rem;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em}
.day{aspect-ratio:1;border:1px solid var(--line-soft);background:var(--bg-2);border-radius:10px;
 color:var(--ink);cursor:pointer;font-size:.95rem;font-weight:600;padding:0;
 display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.day .pip{width:8px;height:8px;border-radius:50%;background:var(--green)}
.day .pip.filling{background:var(--gold)} .day .pip.almost-gone{background:#f97316}
.day[aria-pressed="true"] .pip{background:#1a1206}
.day.closed{opacity:.34;cursor:default;text-decoration:line-through}
.legend{display:flex;gap:16px;justify-content:center;margin-top:14px;flex-wrap:wrap;
  font-size:.8rem;color:var(--ink-faint)}
.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.day:disabled{opacity:.16;background:transparent;border-color:transparent;cursor:default}
.day[aria-pressed="true"]{background:var(--gold);color:#1a1206;border-color:var(--gold)}
.mon{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.mon h3{font-family:Cinzel,serif;font-size:1rem;margin:0;letter-spacing:.05em}
.navb{background:var(--card-2);border:1px solid var(--line);color:var(--ink);
 width:38px;height:38px;border-radius:10px;cursor:pointer}
.navb:disabled{opacity:.3;cursor:default}
