:root{
  --paper:#f7f1e6;
  --paper2:#fffaf2;
  --ink:#18221b;
  --green:#2f5d46;
  --orange:#e56f3b;
  --gold:#d9b44a;
  --line:#cfc5b4;
  --soft:#ece4d6;
  --navy:#20313f;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper);min-height:100vh}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.35;background-image:linear-gradient(rgba(24,34,27,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(24,34,27,.025) 1px,transparent 1px);background-size:24px 24px}
a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}
.wrap{width:min(1180px,calc(100% - 32px));margin:0 auto;position:relative}
.ribbon{background:var(--navy);color:#fff;font-size:13px;letter-spacing:.08em;text-transform:uppercase;overflow:hidden;white-space:nowrap}
.ribbon-inner{display:flex;gap:44px;padding:10px 0;animation:marquee 24s linear infinite;width:max-content}
@keyframes marquee{to{transform:translateX(-35%)}}
.header{border-bottom:1px solid var(--line);background:rgba(247,241,230,.92);backdrop-filter:blur(10px);position:sticky;top:0;z-index:20}
.header-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;padding:18px 0}
.brand{display:flex;align-items:center;gap:14px}
.brand-seal{width:46px;height:46px;border-radius:50%;background:conic-gradient(from 25deg,var(--orange),var(--gold),var(--green),var(--orange));display:grid;place-items:center;color:#fff;font-weight:800;box-shadow:inset 0 0 0 6px rgba(255,255,255,.7)}
.brand strong{font-size:19px}.brand small{display:block;color:#6f756f;margin-top:2px}
.nav{display:flex;gap:22px;font-size:14px;flex-wrap:wrap}.nav a:hover{color:var(--orange)}
.cover{padding:42px 0 20px}
.cover-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:stretch}
.cover-copy{border-top:4px solid var(--ink);border-bottom:1px solid var(--line);padding:28px 0 30px;position:relative}
.issue{font-size:12px;letter-spacing:.16em;color:var(--orange);font-weight:800;text-transform:uppercase}
.cover h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,6vw,74px);line-height:1.02;margin:12px 0 18px;font-weight:700;letter-spacing:-.04em}
.cover p{font-size:18px;line-height:1.8;color:#4f5c55;max-width:720px;margin:0}
.cover-meta{display:grid;grid-template-columns:repeat(3,1fr);margin-top:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.meta-cell{padding:14px 12px;border-right:1px solid var(--line)}.meta-cell:last-child{border-right:none}.meta-cell b{display:block;font-size:20px}.meta-cell span{font-size:12px;color:#7a7f7b}
.cover-art{position:relative;min-height:420px;background:var(--green);overflow:hidden;border-radius:2px}
.cover-art:before{content:"";position:absolute;width:330px;height:330px;border-radius:50%;background:var(--orange);right:-70px;top:-60px}
.cover-art:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:var(--gold);left:-80px;bottom:-90px;mix-blend-mode:screen;opacity:.9}
.shelf-lines{position:absolute;inset:24px;display:grid;align-content:end;gap:10px;z-index:2}.shelf-lines div{height:58px;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:center;padding:0 16px;color:white}.shelf-lines strong{font-size:18px}.shelf-lines span{font-size:12px;opacity:.8}
.section{padding:34px 0;border-top:1px solid var(--line)}
.section-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:18px}.section-head h2{margin:0;font-family:Georgia,serif;font-size:34px}.section-head p{margin:0;color:#6d756f;max-width:650px;line-height:1.7}
.market-strip{display:grid;grid-template-columns:160px 1fr;border-top:2px solid var(--ink);border-bottom:1px solid var(--line)}
.market-strip+.market-strip{border-top:none}
.market-no{padding:24px 18px;border-right:1px solid var(--line);font-family:Georgia,serif;font-size:34px;color:var(--orange)}
.market-body{display:grid;grid-template-columns:1fr auto;gap:20px;padding:22px 18px;align-items:center}.market-body h3{margin:0 0 7px;font-size:22px}.market-body p{margin:0;color:#69716c;line-height:1.65}.market-body a{font-weight:700;color:var(--green);border-bottom:1px solid var(--green)}
.desk{background:var(--ink);color:#fff;padding:36px 0;margin-top:30px}.desk .section-head p{color:#bdc7c0}.desk .section-head h2{color:#fff}
.quote-board{background:var(--paper2);color:var(--ink);border:1px solid #3d493f;box-shadow:10px 10px 0 rgba(0,0,0,.18)}
.quote-title{display:flex;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:2px solid var(--ink);align-items:center}.quote-title h3{margin:0;font-size:22px}.quote-title small{color:#6d756f}
.quote-grid{display:grid;grid-template-columns:1.6fr .6fr .7fr auto}.quote-grid>*{padding:12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.quote-grid>*:nth-child(4n){border-right:none}
.quote-grid .head{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;background:var(--soft)}
.input{width:100%;border:1px solid var(--line);background:#fffaf4;padding:11px 12px;outline:none}.input:focus{border-color:var(--green)}
.btn{border:none;background:var(--green);color:#fff;padding:11px 16px;cursor:pointer;font-weight:700}.btn.alt{background:var(--orange)}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.quote-actions{display:flex;gap:10px;flex-wrap:wrap;padding:18px 20px;align-items:center}.total{margin-left:auto;font-size:22px;font-weight:800}
.catalogue{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}
.catalogue article{padding:22px;min-height:180px;border-right:1px solid var(--line);position:relative}.catalogue article:last-child{border-right:none}.catalogue article:nth-child(odd){background:#fff8ed}.catalogue small{color:var(--orange);font-weight:800}.catalogue h3{font-size:21px;margin:26px 0 8px}.catalogue p{margin:0;color:#6a726d;line-height:1.6}
.note-band{display:grid;grid-template-columns:1fr 1fr;gap:18px}.note{border:1px solid var(--line);background:#fffaf3;padding:24px}.note h3{margin-top:0}.note p{line-height:1.8;color:#68706b}
.footer{background:#e9dfd0;border-top:1px solid var(--line);padding:28px 0;margin-top:34px}.footer-row{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;color:#555f58;font-size:14px}.footer strong{color:var(--ink)}
.page-title{padding:40px 0 20px;border-bottom:1px solid var(--line)}.page-title h1{font-family:Georgia,serif;font-size:48px;margin:8px 0}.page-title p{color:#6b746e;max-width:760px;line-height:1.8}
.content-box{padding:28px 0}.panel{border:1px solid var(--line);background:#fffaf2;padding:24px}.panel h2,.panel h3{margin-top:0}.stack{display:grid;gap:14px}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.result{padding:16px;background:#eee4d7;border-left:4px solid var(--orange);line-height:1.7;white-space:pre-wrap}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;background:#fff}.data-table th,.data-table td{border:1px solid var(--line);padding:10px;text-align:left}.data-table th{background:var(--soft)}
@media(max-width:900px){.cover-grid,.two{grid-template-columns:1fr}.catalogue{grid-template-columns:1fr 1fr}.catalogue article:nth-child(2){border-right:none}.market-strip{grid-template-columns:90px 1fr}.header-row{grid-template-columns:1fr}.nav{padding-bottom:4px}.cover-art{min-height:320px}}
@media(max-width:620px){.catalogue{grid-template-columns:1fr}.catalogue article{border-right:none;border-bottom:1px solid var(--line)}.cover-meta{grid-template-columns:1fr}.meta-cell{border-right:none;border-bottom:1px solid var(--line)}.market-body{grid-template-columns:1fr}.quote-grid{grid-template-columns:1fr}.quote-grid>*{border-right:none}.total{margin-left:0;width:100%}.section-head{align-items:flex-start;flex-direction:column}.cover h1{font-size:46px}}
@media print{.ribbon,.header,.footer,.no-print,.desk{display:none!important}.quote-board{box-shadow:none;border:1px solid #000}body{background:#fff}.wrap{width:100%}}
