  :root{
    --bg:#1C2333; --panel:#232B3E; --panel-2:#2A3349; --line:#36405A;
    --text:#ECE6DA; --muted:#A7AEC0; --gold:#D9A47E; --gold-2:#F0C9A8; --green:#7FC8A0;
  }
  *{box-sizing:border-box}
  html,body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}
  a{color:var(--gold-2)}
  .wrap{max-width:1180px;margin:0 auto;padding:0 20px}
  header.hero{padding:44px 0 28px;text-align:center;border-bottom:1px solid var(--line);
    background:radial-gradient(ellipse at top,#2B3550 0%,var(--bg) 70%)}
  .hero img{width:min(460px,86vw);height:auto;display:block;margin:0 auto 14px}
  .hero .kicker{font-family:Cinzel,serif;letter-spacing:.18em;font-size:13px;color:var(--gold);text-transform:uppercase}
  .hero h1{font-family:Cinzel,serif;font-size:clamp(26px,4vw,38px);margin:8px 0 10px;color:var(--text)}
  .hero p{max-width:640px;margin:0 auto;color:var(--muted);line-height:1.6}
  .facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:26px 0}
  .fact{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 18px}
  .fact b{display:block;font-size:20px;color:var(--gold-2);margin-bottom:4px}
  .fact span{color:var(--muted);font-size:14px}
  .feed{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:space-between;
    background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin-bottom:22px}
  .feed .label{color:var(--muted);font-size:14px}
  .btn{display:inline-block;background:var(--gold);color:#1C2333;font-weight:700;text-decoration:none;
    border-radius:8px;padding:9px 16px;font-size:14px;margin-left:6px}
  .btn.ghost{background:transparent;color:var(--gold-2);border:1px solid var(--gold)}
  .controls{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}
  .controls input,.controls select{background:var(--panel-2);border:1px solid var(--line);color:var(--text);
    border-radius:8px;padding:10px 12px;font-size:15px;font-family:inherit}
  .controls input{flex:1;min-width:220px}
  .count{color:var(--muted);font-size:13px;margin:0 0 8px}
  .table-wrap{border:1px solid var(--line);border-radius:12px;overflow:auto;max-height:70vh;background:var(--panel)}
  table{width:100%;border-collapse:collapse;font-size:14px}
  thead th{position:sticky;top:0;background:#1F2739;color:var(--muted);text-align:left;font-weight:600;
    padding:11px 12px;border-bottom:1px solid var(--line);cursor:pointer;white-space:nowrap;user-select:none}
  thead th.num,td.num{text-align:right}
  tbody td{padding:9px 12px;border-bottom:1px solid #2E3750;vertical-align:top}
  tbody tr:hover{background:#28314A}
  tbody tr[data-i]{cursor:pointer}
  td.card{font-weight:600}
  td.card small{display:block;font-weight:400;color:var(--muted);font-size:12px;margin-top:2px}
  td.price{font-variant-numeric:tabular-nums}
  td.nm{color:var(--green);font-weight:700}
  .tag{display:inline-block;font-size:11px;padding:2px 7px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
  .tag.foil{border-color:var(--gold);color:var(--gold-2)}
  section{padding:26px 0}
  h2{font-family:Cinzel,serif;font-size:22px;margin:0 0 12px}
  .decks{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
  .deck{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:14px;text-decoration:none;color:var(--text)}
  .deck i{font-style:normal;color:var(--gold);font-weight:700;margin-right:8px}
  .terms{color:var(--muted);line-height:1.7;font-size:14px}
  footer{border-top:1px solid var(--line);padding:22px 0 40px;color:var(--muted);font-size:13px;text-align:center}
  .empty{padding:30px;text-align:center;color:var(--muted)}
  td.img{width:62px;padding:6px 8px}
  td.img img{width:50px;height:70px;object-fit:cover;border-radius:4px;display:block;cursor:zoom-in;background:#1A2030}
  .modal{position:fixed;inset:0;background:rgba(10,13,22,.82);display:none;align-items:center;justify-content:center;z-index:50;padding:20px}
  .modal.open{display:flex}
  .modal .box{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;gap:18px;max-width:640px;flex-wrap:wrap;justify-content:center}
  .modal img{width:260px;max-width:80vw;border-radius:12px}
  .modal h3{margin:0 0 6px;font-size:20px}
  .modal .meta{color:var(--muted);font-size:14px;margin-bottom:12px}
  .modal table{width:auto;font-size:15px}
  .modal td{padding:6px 14px 6px 0;border:none}
  .modal .close{margin-top:14px;background:var(--gold);color:#1C2333;border:0;border-radius:8px;padding:8px 16px;font-weight:700;cursor:pointer}

  /* nav */
  .nav{position:sticky;top:0;z-index:40;background:rgba(28,35,51,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
  .nav .wrap{display:flex;align-items:center;justify-content:space-between;height:58px;gap:12px}
  .nav .brand{font-family:Cinzel,serif;font-weight:700;color:var(--text);text-decoration:none;font-size:18px;letter-spacing:.04em}
  .nav .links{display:flex;gap:6px;align-items:center}
  .nav .links a{color:var(--text);text-decoration:none;font-size:14px;font-weight:600;padding:8px 12px;border-radius:8px}
  .nav .links a:hover,.nav .links a.on{background:var(--panel-2)}
  .nav .cart-pill{background:var(--gold);color:#1C2333 !important}
  .nav .cart-pill b{background:#1C2333;color:var(--gold-2);border-radius:999px;padding:1px 7px;margin-left:6px;font-size:12px}
  /* forms & panels */
  .panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:18px}
  .grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}
  label{display:block;font-size:13px;color:var(--muted);margin:12px 0 6px}
  .field{width:100%;background:var(--panel-2);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:10px 12px;font-size:15px;font-family:inherit}
  textarea.field{min-height:80px;resize:vertical}
  button.btn{border:0;cursor:pointer;font-family:inherit}
  .btn:disabled{opacity:.5;cursor:not-allowed}
  .btn.small{padding:6px 11px;font-size:13px}
  .btn.danger{background:transparent;color:#F2A7A7;border:1px solid #7A3B3B}
  .err{color:#F2A7A7;font-size:14px;margin-top:10px;min-height:1em}
  .ok{color:var(--green);font-size:14px;margin-top:10px}
  .muted{color:var(--muted)}
  .page-title{font-family:Cinzel,serif;font-size:30px;margin:30px 0 6px}
  .total-row{display:flex;justify-content:space-between;align-items:center;font-size:20px;font-weight:700;padding:14px 0 0}
  .qty{width:64px;text-align:center}
  .status{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;text-transform:capitalize}
  .st-submitted{background:#3A4664;color:#CFD8EE}.st-shipped{background:#5A4A2A;color:#F0D29A}
  .st-received{background:#2E4C5A;color:#A8DCEF}.st-paid{background:#2D5240;color:#A9E5C3}.st-cancelled{background:#4A2E2E;color:#F2A7A7}
  .steps{display:flex;gap:6px;margin:10px 0 4px;flex-wrap:wrap}
  .steps span{font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
  .steps span.done{border-color:var(--gold);color:var(--gold-2)}
  .tabs{display:flex;gap:6px;margin-bottom:14px}
  .tabs button{background:var(--panel-2);color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:8px 14px;cursor:pointer;font-family:inherit;font-weight:600}
  .tabs button.on{color:#1C2333;background:var(--gold);border-color:var(--gold)}
  .sell-box{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
  .sell-box .row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0}
  .sell-box .price-ref{padding:2px 0;font-size:15px}
  .sell-box .est-row{border-top:1px dashed var(--line);margin-top:6px;padding-top:8px}
  .sell-box .est-row + .row{margin-top:8px}
  pre.addr{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:12px;font-family:inherit;white-space:pre-wrap;margin:8px 0}

  /* quantity stepper */
  .stepper{display:inline-flex;align-items:stretch;border-radius:8px;overflow:hidden;border:1px solid var(--gold)}
  .stepper .step{width:40px;background:var(--gold);color:#1C2333;border:0;font-size:22px;font-weight:700;line-height:1;cursor:pointer;font-family:inherit;padding:0}
  .stepper .step:hover{background:var(--gold-2)}
  .stepper .step:active{transform:scale(.96)}
  .stepper .step-qty{width:52px;text-align:center;background:var(--text);color:#1C2333;border:0;font-size:16px;font-weight:700;font-family:inherit;padding:8px 0;-moz-appearance:textfield}
  .stepper .step-qty::-webkit-outer-spin-button,.stepper .step-qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

  /* how selling works */
  .how{list-style:none;counter-reset:step;display:grid;grid-template-columns:repeat(5,1fr);gap:12px;
    max-width:1080px;margin:28px auto 4px;padding:0;text-align:left}
  .how li{counter-increment:step;position:relative;background:var(--panel);border:1px solid var(--line);
    border-radius:12px;padding:16px 14px 14px}
  .how li::before{content:counter(step);display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;
    border-radius:999px;background:var(--gold);color:#1C2333;font-weight:700;font-size:14px;margin-bottom:10px}
  .how li:not(:last-child)::after{content:"›";position:absolute;right:-11px;top:50%;transform:translateY(-50%);
    color:var(--gold);font-size:22px;font-weight:700;z-index:1}
  .how b{display:block;color:var(--text);font-size:15px;margin-bottom:4px}
  .how span{display:block;color:var(--muted);font-size:13px;line-height:1.5}
  @media (max-width:900px){.how{grid-template-columns:1fr 1fr}.how li::after{display:none}}
  @media (max-width:520px){.how{grid-template-columns:1fr}}

  /* order messages */
  .thread{max-height:360px;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:12px;background:var(--panel-2);
    border:1px solid var(--line);border-radius:10px;margin:8px 0 10px}
  .msg{max-width:78%;padding:10px 12px;border-radius:12px;font-size:14px;line-height:1.5}
  .msg .who{font-size:11px;color:var(--muted);margin-bottom:3px}
  .msg .text{white-space:pre-wrap;word-wrap:break-word}
  .msg.mine{align-self:flex-end;background:#5A4532;border:1px solid var(--gold)}
  .msg.theirs{align-self:flex-start;background:var(--panel);border:1px solid var(--line)}
  .unread{display:inline-block;background:#D9534F;color:#fff;font-size:11px;font-weight:700;border-radius:999px;padding:1px 7px;margin-left:6px}

  .st-review{background:#5A3A5E;color:#F0C2F5}.st-approved{background:#2E4C5A;color:#A8DCEF}
  select.grade{background:var(--panel-2);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:6px 8px;font-family:inherit;font-size:14px}
  select.grade.changed{border-color:var(--gold);color:var(--gold-2);font-weight:700}
  tr.regraded td{background:rgba(217,164,126,.08)}
  .was{color:var(--muted);text-decoration:line-through;margin-right:6px;font-size:13px}
  .review-box{border:1px solid var(--gold);border-radius:12px;padding:16px;margin:16px 0;background:rgba(217,164,126,.06)}
  .choice{display:inline-flex;gap:6px}
  .choice label{margin:0;display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;cursor:pointer;color:var(--text);font-size:13px}
  .choice input{accent-color:var(--gold)}
  .choice label:has(input:checked){border-color:var(--gold);background:#5A4532}
  .sum-row{display:flex;justify-content:space-between;padding:4px 0;font-size:15px}
  .sum-row.big{font-size:19px;font-weight:700;border-top:1px solid var(--line);margin-top:6px;padding-top:10px}

  /* notifications (bottom right) */
  .toast{position:fixed;right:22px;bottom:22px;z-index:60;display:none;align-items:center;gap:8px;
    background:#2F7D54;color:#fff;font-weight:600;font-size:14px;padding:12px 16px;border-radius:10px;
    box-shadow:0 8px 24px rgba(0,0,0,.35);animation:toast-in .25s ease-out}
  .toast.show{display:flex}
  .toast.error{background:#A63D3D}
  .toast::before{content:"✓";display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;background:rgba(255,255,255,.22);font-size:12px}
  .toast.error::before{content:"!"}
  @keyframes toast-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

  /* interactive buttons: hover color + bounce on click */
  .btn,.stepper .step,.tabs button,.nav .links a,.choice label,.deck,.split-btn{
    transition:background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .1s ease}
  .btn:hover:not(:disabled){background:var(--gold-2);box-shadow:0 4px 14px rgba(217,164,126,.35)}
  .btn.ghost:hover:not(:disabled){background:rgba(217,164,126,.15);color:var(--gold-2);border-color:var(--gold-2)}
  .btn.danger:hover:not(:disabled){background:rgba(242,167,167,.12);color:#FFC4C4;border-color:#C25B5B;box-shadow:none}
  .tabs button:hover:not(.on){background:#36405A;color:var(--text)}
  .nav .links a:hover:not(.cart-pill){background:var(--panel-2)}
  .nav .cart-pill:hover{background:var(--gold-2) !important}
  .choice label:hover{border-color:var(--gold-2)}
  .btn:active:not(:disabled),.stepper .step:active,.tabs button:active{transform:scale(.94)}
  .bounce{animation:bounce .38s cubic-bezier(.3,1.6,.5,1)}
  @keyframes bounce{0%{transform:scale(1)}30%{transform:scale(.9)}60%{transform:scale(1.06)}100%{transform:scale(1)}}
  .msg.fresh{animation:toast-in .3s ease-out}

  .cond-note{display:inline-block;margin:14px auto 0;padding:8px 14px;border:1px solid var(--gold);border-radius:999px;
    background:rgba(217,164,126,.08);color:var(--text);font-size:14px}
  .cond-note b{color:var(--gold-2)}

  .addr-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}
  @media (max-width:520px){.addr-row{grid-template-columns:1fr 1fr}.addr-row>div:first-child{grid-column:1/-1}}
  .addr-box{white-space:pre-wrap}

/* ---- CSV import page ---- */
.how.how3{grid-template-columns:repeat(3,1fr)}
@media (max-width:700px){.how.how3{grid-template-columns:1fr}}
.imp-opt{display:flex;gap:12px;align-items:flex-start;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:12px 0}
.imp-letter{font-weight:700;color:var(--muted);min-width:18px}
.imp-opt textarea{margin-top:8px;font-family:ui-monospace,Consolas,monospace;font-size:13px}
.check{display:flex;gap:8px;align-items:center;font-size:14px;margin:12px 0 4px;cursor:pointer}
.check input{width:16px;height:16px;accent-color:var(--gold)}
.sec-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
#match-rows tr.off td{opacity:.45}
#match-rows input[type=checkbox]{width:16px;height:16px;accent-color:var(--gold)}
.choose-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--line)}
.choose-row:last-child{border-bottom:0}
ul.miss{columns:2;column-gap:28px;margin:0;padding-left:18px;font-size:14px;line-height:1.8}
@media (max-width:700px){ul.miss{columns:1}}
.faq details{border-bottom:1px solid var(--line);padding:12px 0}
.faq details:last-child{border-bottom:0}
.faq summary{cursor:pointer;font-weight:600;font-size:15px}
.faq summary:hover{color:var(--gold)}
.faq details p,.faq details ul{color:var(--muted);font-size:14px;line-height:1.6}
.faq details b{color:var(--text)}
.panel + .panel{margin-top:18px}
