@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600&family=Sora:wght@400;600;700&display=swap");

:root{
  --bg:#0b111a;
  --bg-2:#0e1624;
  --glow-1:rgba(246,169,77,.15);
  --glow-2:rgba(44,196,182,.2);
  --grid-line:rgba(255,255,255,.03);
  --grid-opacity:.3;
  --panel:#111a26;
  --panel-2:#0f141d;
  --panel-glow:rgba(255,255,255,.04);
  --panel-glow-2:rgba(255,255,255,.02);
  --ink:#eaf0ff;
  --muted:#9aa8c7;
  --accent:#f6a94d;
  --accent-2:#2cc4b6;
  --line:rgba(255,255,255,.1);
}
html[data-theme="light"]{
  --bg:#f8fafc;
  --bg-2:#eef2f7;
  --glow-1:rgba(249,115,22,.18);
  --glow-2:rgba(59,130,246,.2);
  --grid-line:rgba(15,23,42,.08);
  --grid-opacity:.2;
  --panel:#ffffff;
  --panel-2:#f3f6fb;
  --panel-glow:rgba(255,255,255,.9);
  --panel-glow-2:rgba(255,255,255,.75);
  --ink:#0f172a;
  --muted:#516079;
  --accent:#f59a3c;
  --accent-2:#1bb3a6;
  --line:rgba(12,18,28,.12);
}
*{box-sizing:border-box}
body{
  margin:0;
  min-height:100vh;
  font-family:"Sora",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--ink);
  background:
    radial-gradient(800px 500px at 20% 0%, var(--glow-1), transparent 60%),
    radial-gradient(900px 600px at 90% 10%, var(--glow-2), transparent 55%),
    linear-gradient(160deg,var(--bg) 0%,var(--bg-2) 50%,var(--bg) 100%);
  transition:background .4s ease,color .4s ease;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  background-image:
    linear-gradient(var(--grid-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
  background-size:90px 90px;
  opacity:var(--grid-opacity);
  pointer-events:none;
}
a{color:inherit;text-decoration:none}
.wrap{max-width:1040px;margin:0 auto;padding:40px 20px}
.nav{
  display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px
}
.brand{display:flex;align-items:center;gap:12px;font-weight:700}
.brand-badge{
  width:36px;height:36px;border-radius:12px;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  display:grid;place-items:center;color:#0b111a;font-weight:700
}
.nav-links{display:flex;gap:16px;align-items:center;font-size:14px;color:var(--muted)}
.theme-toggle{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}
.switch{position:relative;width:46px;height:26px;display:inline-block}
.switch input{opacity:0;width:0;height:0}
.slider{
  position:absolute;inset:0;border-radius:999px;border:1px solid var(--line);
  background:var(--panel-2);transition:background .3s ease,border-color .3s ease
}
.slider::before{
  content:"";position:absolute;height:20px;width:20px;left:2px;top:2px;border-radius:50%;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  transition:transform .3s ease;box-shadow:0 6px 12px rgba(0,0,0,.25)
}
.switch input:checked + .slider::before{transform:translateX(20px)}

.shell{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:start}
.panel{
  border:1px solid var(--line);
  border-radius:20px;
  background:linear-gradient(180deg,var(--panel-glow),var(--panel-glow-2));
  padding:24px;
  box-shadow:0 20px 45px rgba(0,0,0,.35)
}

h1{margin:0 0 12px;font-size:32px}
.lead{color:var(--muted);line-height:1.7;margin:0 0 16px}

.cart-list{display:grid;gap:12px;margin-top:12px}
.cart-item{
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--panel-2);
  padding:12px;
  display:grid;gap:8px
}
.cart-row{display:flex;justify-content:space-between;gap:12px;align-items:center}
.cart-name{font-weight:600}
.cart-meta{color:var(--muted);font-size:12px}
.price{font-weight:700}

.total{
  margin-top:16px;display:flex;justify-content:space-between;align-items:center;
  padding-top:12px;border-top:1px dashed rgba(255,255,255,.12)
}

.btn{
  width:100%;padding:12px 14px;border-radius:12px;border:none;
  background:linear-gradient(135deg,var(--accent),#f27a4d);
  color:#0b111a;font-weight:700;cursor:pointer
}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}
.status{font-size:12px;color:var(--muted);min-height:18px;margin-top:8px}

@media (max-width:900px){
  .shell{grid-template-columns:1fr}
  .nav-links{display:none}
}
