:root{
  --paper:#faf7f0; --ink:#1d2733; --muted:#5b6878; --line:#e3ddcf;
  --accent:#0e6b5c; --accent-dark:#0a4f44; --warn:#a33b2e; --card:#ffffff;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);
  font:17px/1.65 -apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
h1,h2,h3,.brand{font-family:Georgia,"Times New Roman",serif;line-height:1.25}
a{color:var(--accent)}
main{max-width:880px;margin:0 auto;padding:0 20px}

.site-head{display:flex;justify-content:space-between;align-items:center;max-width:880px;
  margin:0 auto;padding:18px 20px}
.brand{font-size:26px;font-weight:700;color:var(--ink);text-decoration:none}
.brand-2{color:var(--warn)}
.site-head nav a{margin-left:18px;text-decoration:none;color:var(--muted);font-size:15px}
.site-head nav a:hover{color:var(--accent)}

.hero{padding:48px 0 8px;text-align:center}
.hero h1{font-size:44px;margin:0 0 14px}
.hero .sub{font-size:20px;color:var(--muted);max-width:640px;margin:0 auto 26px}
.hero .cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

.btn{display:inline-block;padding:13px 26px;border-radius:8px;border:0;cursor:pointer;
  font-size:17px;text-decoration:none;font-family:inherit}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-dark)}
.btn-ghost{background:transparent;color:var(--accent);border:1.5px solid var(--accent)}
.btn[disabled]{opacity:.55;cursor:not-allowed}

.trust{display:flex;gap:26px;justify-content:center;flex-wrap:wrap;color:var(--muted);
  font-size:14.5px;margin:26px 0 8px}

section{margin:56px 0}
section h2{font-size:30px;margin-bottom:8px}
.sec-sub{color:var(--muted);margin-top:0}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px;
  display:flex;flex-direction:column}
.card h3{margin:0 0 6px;font-size:21px}
.price{font-size:34px;font-family:Georgia,serif;margin:8px 0 2px}
.price small{font-size:15px;color:var(--muted);font-family:inherit}
.card p{color:var(--muted);font-size:15.5px;flex:1}
.card .btn{margin-top:10px;text-align:center}
.card.featured{border-color:var(--accent);box-shadow:0 4px 18px rgba(14,107,92,.12)}

.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;
  counter-reset:step}
.step{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px}
.step::before{counter-increment:step;content:counter(step);display:inline-block;width:30px;
  height:30px;border-radius:50%;background:var(--accent);color:#fff;text-align:center;
  line-height:30px;font-weight:700;margin-bottom:10px}

.demo-box{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:26px}
.demo-box textarea{width:100%;min-height:120px;border:1px solid var(--line);border-radius:8px;
  padding:12px;font:15px/1.5 inherit;resize:vertical}
.demo-out{margin-top:18px;border-left:4px solid var(--accent);background:#f2efe6;
  padding:14px 18px;border-radius:0 8px 8px 0;white-space:pre-wrap;font-size:16px}
.demo-err{color:var(--warn);margin-top:10px}
.small{font-size:14px;color:var(--muted)}

form.order-form{background:var(--card);border:1px solid var(--line);border-radius:12px;
  padding:28px;display:flex;flex-direction:column;gap:16px}
form.order-form label{font-weight:600;font-size:15px}
form.order-form input[type=text],form.order-form textarea{width:100%;border:1px solid var(--line);
  border-radius:8px;padding:11px;font:15px/1.5 inherit}
form.order-form textarea{min-height:170px;resize:vertical}
.drop{border:2px dashed var(--line);border-radius:10px;padding:22px;text-align:center;
  color:var(--muted);background:#fcfaf4}
.err-banner{background:#f8e9e6;border:1px solid var(--warn);color:var(--warn);border-radius:8px;
  padding:12px 16px;display:none}

.pay-box{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:30px}
.pay-amount{font-size:30px;font-family:Georgia,serif;margin:6px 0}
.pay-addr{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:14.5px;background:#f2efe6;
  padding:12px 14px;border-radius:8px;word-break:break-all;cursor:pointer}
.copy-hint{font-size:13px;color:var(--muted)}
.status-line{display:flex;align-items:center;gap:10px;margin-top:18px;font-size:16px}
.spinner{width:16px;height:16px;border:2.5px solid var(--line);border-top-color:var(--accent);
  border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.qr{margin:14px auto;display:block}

.rpt-sec{background:var(--card);border:1px solid var(--line);border-radius:12px;
  padding:28px 32px;margin:22px 0}
.rpt-sec h2{margin-top:0;color:var(--accent-dark)}
.rpt-sec h3{color:var(--accent-dark)}
.rpt-sec code{background:#f2efe6;padding:1px 5px;border-radius:4px;font-size:14.5px}

.guide-list{list-style:none;padding:0}
.guide-list li{margin:10px 0;padding:14px 18px;background:var(--card);
  border:1px solid var(--line);border-radius:10px}
.guide-list a{font-weight:600;text-decoration:none}
.guide-list p{margin:4px 0 0;font-size:14.5px;color:var(--muted)}
article.guide{background:var(--card);border:1px solid var(--line);border-radius:12px;
  padding:30px 34px;margin:24px 0}
article.guide h1{font-size:32px}

.faq dt{font-weight:700;margin-top:18px}
.faq dd{margin:6px 0 0;color:var(--muted)}

table.admin{width:100%;border-collapse:collapse;font-size:14px}
table.admin th,table.admin td{border:1px solid var(--line);padding:6px 9px;text-align:left}

.site-foot{max-width:880px;margin:70px auto 0;padding:26px 20px;border-top:1px solid var(--line);
  color:var(--muted);font-size:13.5px}
@media(max-width:640px){.hero h1{font-size:32px}}
