/* Gold UI r2 · source geometry 941 × 1672. Every decorated panel is an
   independent SVG crop; the live content uses normal HTML and natural flow. */
@font-face { font-family:"YSC Brush"; src:url('/static/fonts/ma-shan-zheng/heading-subset.ttf') format('truetype'); font-weight:400; font-display:swap; }
:root { color-scheme:light; --ink:#251709; --gold:#edbd65; --muted:#7a5a34; --red:#aa2517; --green:#316632; --display:"YSC Brush","Kaiti SC","STKaiti","Songti SC",serif; --numbers:"Times New Roman",Georgia,serif; }
* { box-sizing:border-box; }
html,body { margin:0; min-width:320px; background:#17120d; color:var(--ink); }
body { font-family:"Songti SC","STSong","SimSun",serif; }
a { color:inherit; } button { font:inherit; cursor:pointer; } button,a { -webkit-tap-highlight-color:transparent; }
button:focus-visible,a:focus-visible { outline:2px solid #f5d695; outline-offset:2px; }
[hidden] { display:none!important; }
.sr-only { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.gold-page-shell { position:relative; container-type:inline-size; max-width:941px; margin:auto; background:#291d11; box-shadow:0 0 70px #080604; isolation:isolate; }
.gold-page { position:relative; }
.ornament { position:absolute; inset:0; display:block; width:100%; height:100%; pointer-events:none; z-index:-1; }
.scene-rail { position:absolute; top:37.72cqw; bottom:13.28cqw; width:8.2%; z-index:-1; }
.scene-rail-left { left:0; } .scene-rail-right { right:0; }
.shop-header { position:relative; isolation:isolate; height:37.725cqw; }
.shop-header h1 { position:absolute; top:8.55cqw; left:20.3%; width:58%; margin:0; font:400 9.05cqw/1.08 var(--display); letter-spacing:.025em; white-space:nowrap; text-align:center; color:#efbf6c; text-shadow:0 .16cqw .13cqw #090604; }
.shop-slogan { position:absolute; top:18.6cqw; left:28%; width:44%; text-align:center; margin:0; font:400 2.95cqw/1.2 var(--display); letter-spacing:.14em; color:#eac276; }
.shop-slogan span { margin:0 .12em; }
.lantern-word { position:absolute; color:#2e190b; font-family:var(--display); text-align:center; line-height:1; }
.lantern-left { left:5.7%; top:9cqw; width:7.5%; font-size:8.7cqw; }
.lantern-right { right:5.8%; top:8.55cqw; width:7%; font-size:4.75cqw; line-height:1.12; }
.side-motto { position:absolute; top:23.5cqw; writing-mode:vertical-rl; font:400 3.05cqw/1 var(--display); letter-spacing:.07em; height:14cqw; color:#eabd6b; }
.motto-left { left:2.5%; } .motto-right { right:2.6%; }
.brand-seal { position:absolute; left:78.1%; top:15.2cqw; font:1.55cqw/1.1 var(--display); color:#d6a146; }
.global-market { position:absolute; top:27.4cqw; left:10%; width:81.8%; height:8.1cqw; display:grid; grid-template-columns:31.4% 28.4% 23.2% 17%; }
.indicator { min-width:0; padding-left:11.25cqw; white-space:nowrap; }
.indicator:nth-child(2) { padding-left:9.95cqw; } .indicator:nth-child(3) { padding-left:8.6cqw; }
.indicator small { display:block; font:600 max(8px,2cqw)/1.2 var(--numbers); }
.indicator strong { display:block; margin:.13cqw 0; color:var(--red); font:700 max(13px,3.15cqw)/1.08 var(--numbers); font-variant-numeric:tabular-nums; }
.indicator:nth-child(2) strong { color:#265831; }
.indicator-unit { display:block; font:max(7px,1.5cqw)/1.2 "Songti SC",serif; color:#79572c; }
.market-meta { display:flex; flex-direction:column; gap:.8cqw; align-items:center; padding-top:1.2cqw; color:#654923; white-space:nowrap; }
.market-meta time { font:max(6px,1.52cqw)/1.1 var(--numbers); font-variant-numeric:tabular-nums; }
.status { display:inline-flex; align-items:center; justify-content:center; width:9.7cqw; height:3cqw; font:max(7px,1.6cqw)/1 var(--display); color:#e8bd75; }
.status::before { content:"◌"; padding-right:.4cqw; }
.hero-price { position:relative; isolation:isolate; width:86.4%; aspect-ratio:813/295; margin:-.1cqw auto 0; color:#edc373; }
.hero-side { position:absolute; top:29%; font:400 3.1cqw/1 var(--display); writing-mode:vertical-rl; letter-spacing:.45em; }
.hero-side-left { left:3.5%; } .hero-side-right { right:2.8%; }
.hero-main { position:absolute; top:11%; left:32.2%; width:37.4%; text-align:center; }
.hero-main h2 { display:flex; justify-content:center; align-items:baseline; gap:.5cqw; margin:0 0 .8cqw; font:600 4.25cqw/1.15 "Songti SC","STSong","SimSun",serif; letter-spacing:.04em; }
.hero-grade { font-family:var(--numbers); font-weight:500; letter-spacing:.025em; }
.hero-label { display:flex; justify-content:center; align-items:center; gap:.6cqw; font:400 max(9px,2.15cqw)/1.2 "Songti SC","STSong",serif; color:#c5a16a; white-space:nowrap; }
.hero-label span { font-size:max(7px,1.65cqw); color:#bda175; }
.hero-label::before,.hero-label::after { content:""; flex:1; max-width:5.5cqw; height:max(.7px,.1cqw); }
.hero-label::before { background:linear-gradient(to right,transparent,#936129 65%,#c49a56); }
.hero-label::after { background:linear-gradient(to left,transparent,#936129 65%,#c49a56); }
.hero-number { font:700 10.15cqw/.98 var(--numbers); color:#ea4429; letter-spacing:-.035em; font-variant-numeric:tabular-nums; margin:.75cqw 0 .2cqw; }
.hero-sale { font:max(7px,1.45cqw)/1.2 "Songti SC",serif; color:#c8a26a; }
.hero-sale strong { font:400 max(8px,1.75cqw) var(--numbers); margin-left:.35cqw; }
.hero-motto { margin:1cqw auto 0; padding-top:.65cqw; border-top:1px solid #95662c; font:2.25cqw/1 var(--display); letter-spacing:.13em; white-space:nowrap; }
.hero-motto span { padding:0 .25em; }
.day-range { position:absolute; left:73.3%; top:30%; width:18.8%; text-align:center; }
.range-title { font:2.1cqw/1.2 var(--display); white-space:nowrap; margin-bottom:1cqw; }
.range-title>span { font-size:1.7cqw; }
.range-value { display:flex; justify-content:center; align-items:center; gap:1.4cqw; }
.range-value strong { font:600 3.65cqw/1.15 var(--numbers); font-variant-numeric:tabular-nums; }
.range-value>span { font-size:1.9cqw; }
.day-high { color:#e54a2a; } .day-low { color:#55a442; }
.range-value + .range-value { margin-top:1.4cqw; }
.quote-feedback { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.quote-feedback.is-error { position:relative; clip-path:none; width:84%; height:auto; padding:7px 10px; margin:0 auto; background:#f0d8aa; color:#842117; font:12px/1.5 "PingFang SC",sans-serif; }
.price-table { position:relative; isolation:isolate; width:84%; margin:0 auto; padding:1cqw 1.5cqw 1.1cqw; }
.ledger-heading-art { inset:1cqw 1.5cqw auto; width:calc(100% - 3cqw); height:6.3cqw; }
.price-table table { width:100%; border-collapse:collapse; table-layout:fixed; }
.price-table th { height:6.3cqw; color:#ebc577; font:400 2.7cqw/1.1 var(--display); background:transparent; border-right:1px solid #bc975f77; }
.price-table th:first-child { width:25%; } .price-table th:nth-child(2),.price-table th:nth-child(3) { width:24%; } .price-table th:last-child { width:27%; border-right:0; }
.price-table th small { display:block; margin-top:.25cqw; font:max(6px,1.45cqw)/1.2 var(--display); color:#bda275; }
.price-table td { height:7cqw; padding:.3cqw .2cqw; text-align:center; border:1px solid #b18d5599; font:600 max(12px,2.8cqw)/1.05 var(--numbers); font-variant-numeric:tabular-nums; }
.price-table td:first-child { border-left:0; } .price-table td:last-child { border-right:0; }
.product-name { font:600 max(12px,3.45cqw)/1 "Songti SC","STSong",serif; white-space:nowrap; }
tr[data-symbol="Pt950"] .product-name { font-size:max(10px,3.12cqw); }
.product-sub { display:none; }
.price { color:#a32518; } .price.down { color:#316632; } .price-sell { color:#25180b; }
.high,.low { display:block; font-size:max(11px,2.65cqw); line-height:1.18; }
.high { color:#a32518; } .low { color:#316632; }
.range-key { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; }
.other-market { position:relative; isolation:isolate; display:flex; justify-content:center; align-items:center; gap:1.5cqw; width:100%; aspect-ratio:760/87; margin:.7cqw auto 0; color:#edc06b; text-decoration:none; }
.market-icon { width:3.8cqw; height:3.8cqw; }
.market-entry-title { font:400 3.45cqw/1.2 var(--display); letter-spacing:.05em; }
.market-entry-title small { font-size:2.55cqw; letter-spacing:0; }
.arrow { position:absolute; right:9.1%; font:5cqw/1 var(--numbers); top:21%; }
.bottom-content { width:84%; margin:.45cqw auto 0; display:grid; grid-template-columns:1.245fr 1fr; gap:1cqw; align-items:stretch; min-height:26cqw; }
.paper-panel { position:relative; isolation:isolate; min-width:0; }
.panel-header { display:flex; align-items:center; justify-content:space-between; height:5.9cqw; min-height:24px; padding:0 2.5cqw 0 8cqw; color:#e9bd6c; }
.panel-header h2 { font:400 max(12px,2.7cqw)/1 var(--display); margin:0; white-space:nowrap; }
.panel-header button { font:400 max(9px,1.8cqw)/1 var(--display); color:inherit; background:none; border:0; padding:5px 0 5px 4px; white-space:nowrap; }
.news-list { padding:1cqw 2.35cqw 1.9cqw; }
.news-item { display:flex; align-items:center; gap:1.35cqw; padding:.8cqw 0; min-height:17px; color:#25190d; text-decoration:none; }
.news-item::before { content:""; flex-shrink:0; width:.9cqw; height:.9cqw; border-radius:50%; background:#8f2115; box-shadow:inset .15cqw .15cqw .15cqw #d18752; }
.news-content { min-width:0; flex:1; display:flex; align-items:baseline; justify-content:space-between; gap:1cqw; }
.news-title { min-width:0; font:max(9px,1.82cqw)/1.3 "Songti SC",serif; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.news-time { flex-shrink:0; font:max(8px,1.55cqw)/1.3 "Songti SC",serif; color:#91724c; }
.news-tag,.news-source { display:none; }
.news-panel:not(.is-expanded) .news-item:nth-child(n+5) { display:none; }
.news-panel.is-expanded .news-title { white-space:normal; }
.analysis-panel { display:flex; flex-direction:column; }
.analysis-panel .panel-header { padding-left:7.8cqw; }
.ai-summary { font:max(10px,2cqw)/1.55 "Songti SC",serif; margin:1.3cqw 3.2cqw .7cqw; flex:1; }
.ai-button { position:relative; isolation:isolate; display:block; border:0; background:none; color:#e9b95f; width:84%; min-height:26px; height:4.6cqw; margin:0 auto 1.7cqw; padding:0; font:max(11px,2.55cqw)/1 var(--display); }
.notice-panel { display:flex; align-items:center; gap:1.5cqw; width:84%; height:8.1cqw; margin:.65cqw auto 0; padding:1.4cqw 3cqw; }
.notice-panel #backend-content { min-width:0; flex:1; overflow:hidden; }
.notice-panel .wholesale-bar { min-width:0; width:100%; }
.empty-state { font:max(10px,1.8cqw)/1.6 "Songti SC",serif; color:#78572f; margin:1cqw 0; }
.wholesale-tags { display:block; min-width:0; width:100%; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.wholesale-tags span { font:400 max(10px,2cqw)/1.5 "Songti SC",serif; white-space:nowrap; }
.wholesale-tags span+span::before { content:"·"; padding:0 1cqw; color:#966331; }
.stone-footer { position:relative; isolation:isolate; height:13.3cqw; }
.stone-support { position:absolute; top:3.2cqw; left:32%; width:36%; text-align:center; color:#e6b566; font:2.2cqw/1 var(--display); letter-spacing:.1em; white-space:nowrap; }
.stone-support a { text-decoration:none; }
.quote-notice { position:absolute; bottom:.3cqw; width:100%; margin:0; color:#b0915b; text-align:center; font:max(7px,1.25cqw)/1.2 "Songti SC",serif; }
@media (max-width:430px) {
 .price-table td { height:max(29px,7cqw); }
 .panel-header { padding-right:2.2cqw; }
 .news-list { padding-bottom:2.1cqw; }
 .news-item { padding:3px 0; }
 .hero-motto { font-size:2.2cqw; }
}
@media (hover:hover) { .other-market:hover,.ai-button:hover { filter:brightness(1.13); } .news-item:hover { color:#a42916; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; } }

.ai-modal { display:none; position:fixed; inset:0; padding:20px; z-index:10; background:#180e09bb; align-items:center; justify-content:center; font-family:"PingFang SC",sans-serif; }
.ai-modal.active { display:flex; }
.ai-modal-content { width:min(700px,100%); max-height:88dvh; overflow:auto; background:#f4e5c9; border:3px double #a77c3d; box-shadow:0 12px 50px #130d0b88; }
.ai-modal-header { position:sticky; top:0; display:flex; align-items:center; justify-content:space-between; padding:10px 18px; background:#2b1d11; color:#efcc85; }
.ai-modal-header h3 { font:22px var(--display); margin:0; }
.ai-modal-close { border:0; background:none; color:inherit; font-size:32px; min-width:44px; min-height:44px; }
.ai-modal-body { padding:18px; font-size:14px; line-height:1.7; }
.ai-disclaimer { padding:4px 18px 12px; font-size:11px; color:#6f563c; }
.ai-loading { text-align:center; padding:30px 10px; }
.ai-loading-spinner { width:30px; height:30px; border:2px solid #b19771; border-top-color:#8e2e1b; border-radius:50%; margin:auto; animation:spin 1s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.ai-result-section { margin:12px 0; } .ai-result-label { font-weight:600; margin-bottom:6px; }

.ai-data-note { padding:12px; margin-bottom:14px; border:1px solid #ab6d35; background:#f0d9ac; color:#6e2919; font-size:13px; line-height:1.6; }
.ai-modal [style*="linear-gradient"] { background:#482b16!important; color:#f1d39a!important; border-radius:3px!important; }
.ai-modal [style*="background: #667eea"] { background:#78502b!important; }
.ai-modal [style*="color: #667eea"] { color:#78502b!important; }

/* Fixed-height ornament caps keep carved icons and corners intact when prose grows. */
.panel-cap { inset:0 0 auto; height:max(24px,5.9cqw); }
.panel-fill { top:max(24px,5.9cqw); height:calc(100% - max(24px,5.9cqw) - .9cqw); }
.panel-foot { inset:auto 0 0; height:.9cqw; }
.notice-cap { inset:0 0 auto; height:1.3cqw; }
.notice-foot { inset:auto 0 0; height:1.3cqw; }
.notice-fill { inset:1.3cqw 1.9cqw; width:calc(100% - 3.8cqw); height:calc(100% - 2.6cqw); }
.notice-edge { top:1.3cqw; width:1.9cqw; height:calc(100% - 2.6cqw); }
.notice-edge-right { left:auto; right:0; }

.ai-heading { display:flex; align-items:baseline; gap:.6cqw; }
.ai-letters { font:600 1em/1 Georgia,"Times New Roman",serif; letter-spacing:.03em; }
.notice-more { flex-shrink:0; border:0; padding:.8cqw 0 .8cqw 1cqw; background:none; color:#674018; font:400 max(11px,2cqw)/1 "Songti SC",serif; white-space:nowrap; }
.notice-more span { font:1.35em/1 Georgia,serif; margin-left:.4cqw; }
.notice-dialog { width:min(640px,calc(100% - 32px)); max-height:82dvh; overflow:auto; padding:0; border:4px double #9e753a; background:#f1dfb9; color:#392816; box-shadow:0 18px 60px #110b0766; }
.notice-dialog::backdrop { background:#160e0bb5; }
.notice-dialog-header { position:sticky; top:0; display:flex; align-items:center; justify-content:space-between; padding:8px 18px; color:#eac37d; background:#2d1c0f; }
.notice-dialog-header h2 { margin:0; font:500 21px "Songti SC",serif; }
.notice-dialog-header form { margin:0; }
.notice-dialog-header button { border:0; background:none; color:inherit; font:30px/1 sans-serif; width:44px; height:44px; }
.notice-full-text { padding:10px 24px 24px; font:17px/1.85 "Songti SC",serif; }
.notice-full-text p { white-space:pre-wrap; overflow-wrap:anywhere; margin:14px 0; }

/* Fixed brand lettering and decorative stamps reuse the approved calligraphy.
   Merchant names outside this brand still render as live text. */
.brand-lettering { display:none; top:7.97cqw; left:20.62%; width:56.96%; height:10.41cqw; z-index:0; }
.use-reference-lettering .brand-lettering { display:block; }
.use-reference-lettering h1 { color:transparent; text-shadow:none; }
.lantern-lettering { top:8.61cqw; left:6.06%; width:7.23%; height:10.2cqw; z-index:0; }
.gold-detail { left:8.487%; top:37.627%; width:25.215%; height:55.932%; z-index:0; }

/* r4: fine hierarchy and spacing from the user's annotated reference. */
.shop-slogan::before,.shop-slogan::after { content:""; position:absolute; top:50%; width:9cqw; height:max(.7px,.1cqw); }
.shop-slogan::before { left:-5.5cqw; background:linear-gradient(to right,transparent,#9a6126 60%,#e1b165); }
.shop-slogan::after { right:-5.5cqw; background:linear-gradient(to left,transparent,#9a6126 60%,#e1b165); }
.lantern-right>span { display:block; }
/* The brush font has no traditional 義 glyph. Reuse the approved artwork so
   mobile system-font fallback cannot change its strokes or proportions. */
.lantern-right .lantern-yi { display:block; width:5.9cqw; height:auto; aspect-ratio:48/49; margin-inline:auto; overflow:hidden; transform:translateY(-.85cqw); }

/* Symbol-specific analysis uses the same paper and wood palette as the homepage. */
.gold-analysis-result { color:#402d1b; overflow-wrap:anywhere; }
.gold-analysis-result p { margin:8px 0; }
.gold-analysis-overview { padding:14px 16px; background:#3b2715; color:#f1d5a0; border:1px solid #ac8243; }
.gold-analysis-eyebrow { font-size:14px; }
.gold-analysis-result .gold-analysis-price { margin:4px 0; font:600 28px/1.3 Georgia,"Songti SC",serif; }
.gold-analysis-result h4 { font:600 17px/1.5 "Songti SC",serif; border-bottom:1px solid #b99c6d; padding-bottom:5px; margin:18px 0 8px; }
.gold-analysis-meta { font-size:12px; color:#786043; }
.gold-analysis-overview .gold-analysis-meta { color:#d1b98c; }
.gold-analysis-benchmark,.gold-analysis-news { padding:7px 0; border-bottom:1px solid #ceba96; }
.gold-analysis-news a { color:#784220; text-decoration:underline; text-underline-offset:3px; }
.ai-retry { border:1px solid #966d36; background:#3b2715; color:#f1d5a0; padding:10px 18px; font:inherit; cursor:pointer; }

/* Vehicle appraisal entry under other-market; still requires vehicle login */
.other-market.vehicle-entry-link { margin-top: 1.2cqw; }
