:root{--bg:#0A0A0A;--panel:#161616;--line:#1E1E1E;--text:#F5F5F0;--muted:#BDBDBD;--dim:#8A8A8A;--lime:#D4FF3A;--pink:#FF4FA3;--yellow:#FFD60A;--blue:#3DB2FF;--orange:#FF8A1F;--purple:#A66BFF;--err:#FF6B8A}
*,*::before,*::after{box-sizing:border-box}
html{background:#000;color-scheme:dark}
body{margin:0;font-family:'Space Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--text);background:#000}
a{color:inherit}
button{font-family:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--lime);color:#000;padding:10px;z-index:10}
.skip:focus{left:8px;top:8px}
.app{max-width:560px;margin:0 auto;min-height:100vh;background:var(--bg);display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,0)}
.top{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;padding-top:calc(14px + env(safe-area-inset-top,0px));border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:5}
.logo{font-size:18px;font-weight:700;letter-spacing:.3em;text-decoration:none}
.top-title{font-size:12px;color:var(--dim)}
main{flex:1;outline:none}
.loading{padding:16px;color:var(--dim)}
.nav{position:sticky;bottom:0;display:flex;border-top:1px solid var(--line);background:#0F0F0F;z-index:5}
.nav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0;min-height:56px;font-size:12px;color:var(--dim);text-decoration:none}
.nav a i{font-size:22px}
.nav a.on{color:var(--lime)}
.pad{padding:16px}
.center{text-align:center}
.h1{font-size:28px;font-weight:700;line-height:1.05;margin:0 0 6px}
.muted{font-size:14px;color:var(--muted);line-height:1.5;margin:0 0 14px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:8px;font-size:14px;font-weight:700;padding:13px 16px;min-height:48px;text-decoration:none}
.btn-lime{background:var(--lime);color:#000}
.btn-pink{background:var(--pink);color:#000}
.btn-ghost{background:transparent;color:var(--muted);border:2px solid #333}
.btn-dark{background:#000;color:var(--text)}
.full{width:100%}
.chip{border:2px solid #333;background:transparent;color:var(--muted);border-radius:999px;padding:8px 13px;font-size:13px;font-weight:700;min-height:42px}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.card{border-radius:8px;overflow:hidden}
.card-img{height:110px;display:flex;align-items:center;justify-content:center;position:relative;font-size:11px;opacity:.95}
.card-img img{width:100%;height:100%;object-fit:cover}
.card-img .ph{opacity:.55}
.tag{position:absolute;top:8px;left:8px;background:#000;color:var(--text);font-size:11px;font-weight:700;padding:3px 7px;border-radius:3px}
.card-body{padding:9px 10px}
.card-name{font-size:14px;font-weight:700}
.card-meta{font-size:12px;margin-top:2px}
.add{border:none;background:#000;color:var(--text);font-size:12px;font-weight:700;padding:10px;width:100%;min-height:42px}
.add:hover{background:#222}
.hero{padding:22px 16px 18px;position:relative;overflow:hidden}
.hero-k{font-size:12px;font-weight:700}
.hero-t{font-size:clamp(40px,11vw,52px);line-height:.9;font-weight:700;letter-spacing:-1.5px;margin:6px 0 10px}
.hero-p{font-size:15px;line-height:1.5;margin:0;max-width:30ch}
.back{background:transparent;border:none;color:var(--muted);font-size:14px;padding:10px 16px;min-height:44px;text-align:left}
.marquee{font-size:12px;font-weight:700;letter-spacing:.12em;padding:9px 0;white-space:nowrap;overflow:hidden;background:var(--pink);color:#000}
.marquee span{display:inline-block;animation:mq 22s linear infinite}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes drop{from{transform:translateY(-40px);opacity:0}to{transform:none;opacity:1}}
.dr{animation:drop .35s ease-out}
@media (prefers-reduced-motion:reduce){.marquee span,.dr{animation:none}}
.sec{border:none;border-radius:10px;padding:14px;min-height:118px;display:flex;flex-direction:column;justify-content:space-between;text-align:left;text-decoration:none;transition:transform .15s}
.sec:hover{transform:scale(1.02)}
.cd{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.cd div{border-radius:6px;padding:10px 0;text-align:center;color:#000}
.cd b{display:block;font-size:24px;font-variant-numeric:tabular-nums}
.cd small{font-size:11px}
.row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.q{width:38px;height:38px;border-radius:8px;border:none;background:#222;color:var(--text);font-size:18px}
.lab{font-size:13px;color:var(--muted);display:block;margin:12px 0 5px}
.in{width:100%;height:48px;background:var(--panel);border:1.5px solid #333;border-radius:8px;color:var(--text);padding:0 12px;font-size:16px;font-family:inherit}
.in:focus{border-color:var(--lime);outline:none}
.err{font-size:14px;color:var(--err);margin-top:8px;min-height:1em}
.totals{margin-top:16px;background:var(--panel);border-radius:10px;padding:12px 14px;font-size:15px;line-height:1.9}
.totals div{display:flex;justify-content:space-between}
.totals .t{font-size:18px;font-weight:700;border-top:1px solid #262626;margin-top:4px;padding-top:6px}
.seg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:16px 0 4px}
.seg button{border:none;border-radius:8px;padding:13px;min-height:48px;font-weight:700;font-size:14px;background:var(--panel);color:var(--muted)}
.seg button[aria-pressed="true"]{background:var(--text);color:#000}
.pc{border:2px solid #1E4200;background:#F2FFE6;color:#1E4200;border-radius:12px;padding:10px 6px;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;font-weight:700;min-height:92px}
.ps{flex:1;border:2px solid #333;background:transparent;color:var(--muted);border-radius:8px;padding:10px 4px;font-size:13px;font-weight:700;min-height:48px}
.ps[aria-pressed="true"]{background:#9BFF4F;border-color:#9BFF4F;color:#000}
.adult{margin:0 16px 18px;padding:14px;border:1px dashed #3A3A3A;border-radius:10px;font-size:13px;color:var(--muted);line-height:1.5;text-align:center}
.adult a{color:var(--pink)}
.tick{width:72px;height:72px;border-radius:50%;background:var(--lime);color:#000;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:36px;font-weight:700}
.pay-icons{display:flex;gap:10px;justify-content:center;font-size:24px;color:var(--muted);margin-top:10px}
@media (min-width:700px){.app{border-left:1px solid var(--line);border-right:1px solid var(--line)}}

/* ---------- laptop & desktop ---------- */
@media (min-width: 900px) {
  .app { max-width: 1240px; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto 1fr; align-content: start; }
  .top { grid-column: 1; grid-row: 1; padding-left: 28px; }
  .top-title { display: none; }
  .logo { font-size: 22px; }
  .nav { grid-column: 2; grid-row: 1; position: sticky; top: 0; bottom: auto; border-top: none; border-bottom: 1px solid var(--line); background: var(--bg); padding-right: 16px; }
  .nav a { flex-direction: row; gap: 8px; min-height: 0; padding: 0 18px; font-size: 15px; }
  .nav a i { font-size: 20px; }
  main { grid-column: 1 / -1; grid-row: 2; }
  .pad { padding: 24px 28px; }
  .narrow { max-width: 680px; margin: 0 auto; }
  .grid2 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
  .home-top { display: grid; grid-template-columns: 1.15fr 1fr; align-items: center; gap: 8px; padding: 12px 12px 8px; }
  .home-top .pad { padding-bottom: 24px; }
  .home-top .hero-t { font-size: 84px !important; }
  .home-feat { padding: 24px 16px !important; }
  .home-feat .sec:first-child { min-height: 280px !important; }
  .shelves { grid-template-columns: repeat(5, minmax(0, 1fr)); padding: 0 28px 28px !important; }
  .shelves .sec { grid-column: auto !important; min-height: 180px; }
  #shelves { padding: 8px 28px 16px !important; }
  .hero { padding: 40px 28px 32px; }
  .hero-t { font-size: 72px; }
  .hero-p { font-size: 17px; max-width: 46ch; }
  .back { padding-left: 28px; }
  .card-img { height: 160px; }
  .adult { margin: 0 28px 28px; }
}
.nav a { white-space: nowrap; }
.marquee span { padding-right: 0; }
@media (min-width: 900px) { .home-top .hero-t { line-height: 1 !important; } }
.card-img img { object-fit: contain; }
.card-img.has-img { background: #FFFFFF !important; opacity: 1; }
.acct { display: inline-flex; align-items: center; gap: 6px; background: #A66BFF; color: #1A0033; font-size: 13px; font-weight: 700; padding: 8px 12px; border-radius: 999px; text-decoration: none; min-height: 36px; white-space: nowrap; }
.acct[hidden] { display: none; }
.latenight { display: flex; gap: 10px; align-items: center; background: #1A0F33; color: #E6D9FF; padding: 12px 16px; font-size: 14px; line-height: 1.4; text-decoration: none; border-bottom: 1px solid #3A2A55; }
@media (min-width: 900px) { .shelves { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
.seg3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.seg3 button { padding: 10px 4px; font-size: 13px; line-height: 1.3; }
.chk { display: flex; gap: 10px; align-items: flex-start; margin-top: 12px; font-size: 14px; line-height: 1.45; cursor: pointer; }
.chk input { width: 22px; height: 22px; flex-shrink: 0; margin: 0; }
