/* ============================================================
   艾创商单 · Aichuang Briefs
   Design Language: 「石墨电光」Graphite Electric
   — graphite black / raised carbon / electric mint / cool slate
   ============================================================ */

/* ---------- Tokens ---------- */
:root{
  --paper:#16181B;
  --paper-raised:#1E2226;
  --paper-deep:#111417;
  --ink:#E6E9EC;
  --ink-2:#A8B0B8;
  --ink-3:#6E777F;

  --line:#2C3237;
  --line-strong:#3D444B;

  --copper:#5FE3C0;
  --copper-deep:#3FCB9F;
  --copper-tint:#182622;
  --copper-wash:rgba(95,227,192,.22);

  --sage:#8CA3B8;
  --sage-tint:#1D242B;
  --gold:#C9B98F;
  --gold-tint:#242013;
  --clay:#E2655F;
  --clay-tint:#2A1B1A;

  --dark:#0D0F12;
  --dark-2:#15181C;

  --sh-sm:0 1px 2px rgba(0,0,0,.2),0 4px 14px -6px rgba(0,0,0,.3);
  --sh-md:0 2px 4px rgba(0,0,0,.18),0 18px 44px -16px rgba(0,0,0,.55);
  --sh-lg:0 4px 8px rgba(0,0,0,.25),0 32px 80px -24px rgba(0,0,0,.65);

  --r-xl:26px;
  --r-lg:22px;
  --r-md:14px;
  --r-sm:10px;

  --f-display:"Fraunces","Noto Serif SC","Songti SC",Georgia,serif;
  --f-body:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  --f-mono:"IBM Plex Mono","Noto Sans SC",ui-monospace,monospace;

  --ease:cubic-bezier(.22,.7,.24,1);
}

/* ---------- Reset & Base ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--f-body);
  font-size:15px;
  line-height:1.8;
  color:var(--ink);
  background:var(--paper);
  min-height:100vh;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
button{font-family:inherit;background:none;border:0;cursor:pointer;color:inherit}
input,textarea,select{font-family:inherit;color:inherit}
img,svg{display:block}
ul,ol{list-style:none}
a{color:inherit;text-decoration:none}

::selection{background:var(--copper-wash);color:var(--ink)}

:focus-visible{outline:2px solid var(--copper);outline-offset:2px;border-radius:4px}

::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--paper)}
::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:99px;border:2px solid var(--paper)}
::-webkit-scrollbar-thumb:hover{background:var(--ink-3)}

/* ---------- Grain Texture ---------- */
.grain{
  position:fixed;inset:0;z-index:2000;pointer-events:none;opacity:.35;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.72' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.055'/%3E%3C/svg%3E");
}

/* ---------- Utilities ---------- */
.container{max-width:1240px;margin:0 auto;padding:0 28px}
.container-narrow{max-width:1100px}

.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--f-mono);font-size:11.5px;font-weight:500;
  letter-spacing:.16em;color:var(--copper-deep);text-transform:uppercase;
}
.pulse-dot{
  width:7px;height:7px;border-radius:50%;background:var(--copper);
  display:inline-block;animation:pulse 2.2s ease-in-out infinite;
}
.ic{width:1.05em;height:1.05em;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none}

.display{font-family:var(--f-display);font-weight:500;font-size:clamp(34px,4.4vw,56px);line-height:1.22;letter-spacing:.01em}
.display em{font-style:italic;color:var(--copper-deep)}
.display-2{font-family:var(--f-display);font-weight:500;font-size:clamp(28px,3.4vw,42px);line-height:1.26}
.display-2 em{font-style:italic;color:var(--copper-deep)}
.display-3{font-family:var(--f-display);font-weight:500;font-size:clamp(26px,3vw,36px);line-height:1.3}
.lede{color:var(--ink-2);max-width:52ch;margin-top:18px}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-size:14px;font-weight:600;letter-spacing:.02em;
  padding:13px 26px;border-radius:999px;border:1px solid transparent;
  transition:all .28s var(--ease);white-space:nowrap;user-select:none;
}
.btn:active{transform:translateY(1px) scale(.985)}
.btn[disabled],.btn:disabled{opacity:.4;pointer-events:none}
.btn-sm{padding:9px 18px;font-size:13px}

.btn-primary{background:var(--copper);color:#101315;box-shadow:0 10px 24px -10px rgba(95,227,192,.55)}
.btn-primary:hover{background:var(--copper-deep);transform:translateY(-2px);box-shadow:0 16px 32px -12px rgba(52,196,162,.6)}

.btn-ghost{border-color:var(--line-strong);color:var(--ink-2);background:transparent}
.btn-ghost:hover{border-color:var(--ink-2);color:var(--ink);background:var(--paper-raised)}

.btn-copper{background:var(--copper);color:#101315}
.btn-copper:hover{background:var(--copper-deep);transform:translateY(-2px)}

.btn-ghost-dark{border-color:rgba(230,233,236,.28);color:rgba(230,233,236,.92)}
.btn-ghost-dark:hover{border-color:rgba(230,233,236,.6);background:rgba(230,233,236,.07)}

/* ---------- Views ---------- */
.view{display:none}
.view.is-active{display:block;animation:viewIn .55s var(--ease) both}

@keyframes viewIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* ============================================================
   HEADER
   ============================================================ */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(22,24,27,.8);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color .3s,box-shadow .3s;
}
.site-header.is-scrolled{border-bottom-color:var(--line);box-shadow:0 8px 30px -18px rgba(0,0,0,.25)}
.header-inner{max-width:1240px;margin:0 auto;padding:0 28px;height:70px;display:flex;align-items:center;gap:36px}

.brand{display:flex;align-items:center;gap:12px;flex:none}
.brand-mark{width:32px;height:32px;transition:transform .6s var(--ease)}
.brand:hover .brand-mark{transform:rotate(120deg)}
.brand-text{display:flex;flex-direction:column;line-height:1.25}
.brand-text strong{font-family:var(--f-display);font-size:17px;font-weight:600;letter-spacing:.06em}
.brand-text em{font-family:var(--f-mono);font-style:normal;font-size:8.5px;letter-spacing:.3em;color:var(--ink-3)}

.main-nav{display:flex;gap:6px;margin-left:8px}
.nav-link{
  position:relative;padding:9px 16px;font-size:14px;font-weight:500;color:var(--ink-2);
  border-radius:999px;transition:color .25s;
}
.nav-link:hover{color:var(--ink)}
.nav-link::after{
  content:"";position:absolute;left:50%;bottom:2px;width:4px;height:4px;border-radius:50%;
  background:var(--copper);transform:translateX(-50%) scale(0);transition:transform .3s var(--ease);
}
.nav-link.is-active{color:var(--ink)}
.nav-link.is-active::after{transform:translateX(-50%) scale(1)}

.header-actions{margin-left:auto;display:flex;align-items:center;gap:14px}
.avatar{
  width:37px;height:37px;border-radius:50%;
  background:var(--copper-tint);color:var(--copper-deep);
  font-family:var(--f-display);font-size:15px;font-weight:600;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--copper-wash);transition:all .25s;
}
.avatar:hover{background:var(--copper-wash);transform:translateY(-1px)}

/* ============================================================
   VIEW 1 · 商单大厅 HALL
   ============================================================ */
#view-hall{padding-top:64px;background:
  radial-gradient(60rem 30rem at 85% -6%,rgba(95,227,192,.06),transparent 60%),
  radial-gradient(50rem 26rem at -10% 30%,rgba(140,163,184,.05),transparent 60%)}
#view-hall > .container{padding-bottom:96px}
#view-hall > .container + .container{padding-top:12px;padding-bottom:110px}

/* --- Hero · 简洁版 --- */
.hall-hero{display:block;position:relative;margin-top:8px}
.hero-grid{
  display:grid;grid-template-columns:1.15fr .85fr;gap:48px;
  align-items:center;padding:24px 0 8px;
}
.hero-text{display:flex;flex-direction:column;gap:22px;min-width:0}
.hero-text .eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--f-mono);font-size:11px;letter-spacing:.22em;
  color:var(--copper-deep);text-transform:uppercase;
}
.hero-title{
  font-family:var(--f-display);
  font-size:clamp(36px,5vw,60px);font-weight:500;line-height:1.12;
  letter-spacing:-.01em;color:var(--ink);margin:0;
}
.hero-title em{
  font-style:italic;color:var(--copper);
  background:linear-gradient(180deg,transparent 60%,rgba(95,227,192,.18) 60%);
  padding:0 .08em;
}
.hero-sub{
  font-size:15.5px;line-height:1.85;color:var(--ink-2);
  max-width:560px;letter-spacing:.01em;
}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.hero-stats{
  display:flex;gap:0;margin-top:18px;
  border-top:1px solid var(--line);padding-top:22px;
}
.hero-stats li{flex:1;min-width:0;padding-right:18px}
.hero-stats li + li{padding-left:18px;border-left:1px solid var(--line)}
.hero-stats strong{
  display:block;font-family:var(--f-mono);font-weight:500;
  font-size:clamp(20px,2.2vw,28px);
  color:var(--ink);line-height:1.2;letter-spacing:-.02em;
}
.hero-stats span{font-size:11.5px;color:var(--ink-3);letter-spacing:.06em;margin-top:2px;display:block}

/* Hero 右侧黑胶 */
.hero-visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:380px}
.hv-stage{position:relative;width:100%;display:flex;flex-direction:column;align-items:center;gap:18px}
.hero-visual .vinyl-hero{width:min(320px,76%);animation:spin 46s linear infinite;filter:drop-shadow(0 30px 40px rgba(0,0,0,.35))}
.hv-tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;max-width:320px}
.hv-tag{
  font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;
  color:var(--ink-2);background:var(--paper-raised);
  border:1px solid var(--line);border-radius:999px;
  padding:4px 11px;
}

/* --- Vinyl Visual --- */
.hall-hero-visual{position:relative;height:520px;display:flex;align-items:center;justify-content:center}
.vinyl{animation:spin 46s linear infinite;filter:drop-shadow(0 30px 40px rgba(0,0,0,.35))}
.vinyl-hero{width:min(400px,86%)}

.now-chip{
  position:absolute;top:34px;right:6px;
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--f-mono);font-size:10.5px;letter-spacing:.18em;
  background:#EDF0F2;color:rgba(16,19,22,.85);
  padding:10px 18px;border-radius:999px;
  animation:floatY 6s ease-in-out infinite;
}
.now-chip .pulse-dot{background:#17A57F}

.float-card{
  position:absolute;left:-6px;bottom:44px;
  background:var(--paper-raised);border:1px solid var(--line);
  border-radius:18px;padding:18px 22px;box-shadow:var(--sh-md);
  animation:floatY 7s ease-in-out .8s infinite;min-width:172px;
}
.fc-label{font-family:var(--f-mono);font-size:10px;letter-spacing:.18em;color:var(--ink-3);text-transform:uppercase}
.fc-value{font-family:var(--f-display);font-size:27px;font-weight:600;color:var(--ink);line-height:1.3;letter-spacing:-.01em}
.fc-spark{width:120px;height:36px;margin-top:6px}

/* --- Spotlight --- */
.spotlight{
  margin-top:70px;
  background:linear-gradient(135deg,var(--dark) 0%,var(--dark-2) 100%);
  border-radius:var(--r-xl);
  padding:clamp(30px,4vw,54px);
  display:grid;grid-template-columns:1.2fr .8fr;gap:44px;
  color:#E6E9EC;position:relative;overflow:hidden;
  box-shadow:var(--sh-lg);
}
.spotlight::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(30rem 18rem at 88% 12%,rgba(95,227,192,.16),transparent 65%);
}
.spot-main{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:0}
.spot-badge{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--f-mono);font-size:10.5px;letter-spacing:.2em;
  color:var(--gold);background:rgba(201,185,143,.12);
  border:1px solid rgba(201,185,143,.35);
  padding:7px 15px;border-radius:999px;margin-bottom:26px;
}
.spot-badge .ic{width:.95em;height:.95em;fill:currentColor;stroke:none}
.spot-title{font-family:var(--f-display);font-weight:500;font-size:clamp(24px,3vw,37px);line-height:1.32}
.spot-quote{
  margin-top:22px;font-family:var(--f-display);font-style:italic;
  font-size:clamp(15px,1.6vw,19px);line-height:1.85;color:rgba(230,233,236,.62);
  border-left:2px solid rgba(95,227,192,.55);padding-left:22px;
}
.spot-client{margin-top:14px;font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;color:rgba(230,233,236,.4)}
.spot-meta{display:flex;gap:38px;margin-top:30px;flex-wrap:wrap}
.spot-meta div span{display:block;font-size:11px;color:rgba(230,233,236,.45);letter-spacing:.1em;margin-bottom:3px}
.spot-meta div strong{font-family:var(--f-mono);font-weight:500;font-size:16px;letter-spacing:.01em}
.spot-cta{display:flex;gap:14px;margin-top:36px;flex-wrap:wrap}

.spot-visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:260px}
.waveform{width:100%;max-width:320px;height:120px}
.waveform rect{fill:rgba(230,233,236,.16);transform-box:fill-box;transform-origin:center bottom;animation:wavePulse 3.8s ease-in-out infinite}
.waveform rect.hi{fill:var(--copper)}
.spot-watermark{
  position:absolute;right:-14px;bottom:-38px;
  font-family:var(--f-display);font-style:italic;font-size:clamp(70px,8vw,120px);
  color:rgba(230,233,236,.05);line-height:1;user-select:none;
}

/* --- Toolbar --- */
.toolbar{margin-top:76px}
.toolbar-row{display:flex;gap:14px;flex-wrap:wrap}
.search-box{
  flex:1;min-width:260px;position:relative;display:flex;align-items:center;
  background:var(--paper-raised);border:1px solid var(--line);
  border-radius:999px;padding:0 20px;height:50px;
  transition:border-color .25s,box-shadow .25s;
}
.search-box:focus-within{border-color:var(--copper);box-shadow:0 0 0 4px rgba(95,227,192,.1)}
.search-box .ic{width:17px;height:17px;color:var(--ink-3);margin-right:12px}
.search-box input{
  flex:1;border:0;background:transparent;font-size:14.5px;outline:none;min-width:0;
}
.search-box input::placeholder{color:var(--ink-3)}

.sort-box{position:relative;display:flex;align-items:center}
.sort-box select{
  appearance:none;-webkit-appearance:none;
  background:var(--paper-raised);border:1px solid var(--line);
  border-radius:999px;height:50px;padding:0 44px 0 22px;
  font-size:13.5px;font-weight:500;color:var(--ink-2);cursor:pointer;outline:none;
  transition:border-color .25s;
}
.sort-box select:hover{border-color:var(--line-strong)}
.sort-box .ic{position:absolute;right:17px;width:15px;height:15px;color:var(--ink-3);pointer-events:none}

.cat-pills{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}
.pill{
  font-size:13px;font-weight:500;color:var(--ink-2);
  padding:8px 17px;border-radius:999px;border:1px solid transparent;
  transition:all .25s var(--ease);
}
.pill:hover{background:var(--paper-deep);color:var(--ink)}
.pill.is-active{
  background:var(--copper-tint);color:var(--copper-deep);
  border-color:var(--copper-wash);font-weight:600;
}

/* --- Section Head --- */
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin:64px 0 26px}
.section-title{
  font-family:var(--f-display);font-weight:500;font-size:clamp(22px,2.4vw,29px);letter-spacing:.01em;
}
.section-title em{
  font-style:italic;color:var(--copper-deep);margin-right:14px;
}
.section-note{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.12em;color:var(--ink-3)}

/* --- Orders Grid & Card --- */
.orders-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(345px,1fr));gap:22px}

.order-card{
  position:relative;background:var(--paper-raised);
  border:1px solid var(--line);border-radius:var(--r-lg);
  padding:24px 24px 20px;display:flex;flex-direction:column;gap:13px;
  cursor:pointer;overflow:hidden;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;
  animation:cardIn .6s var(--ease) both;
}
.order-card:hover{transform:translateY(-5px);box-shadow:var(--sh-md);border-color:var(--line-strong)}
.order-card::after{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--copper),var(--gold));
  opacity:0;transition:opacity .35s;
}
.order-card:hover::after{opacity:1}
.order-card.is-done{opacity:.78}
.order-card.is-done:hover{opacity:1}

.oc-top{display:flex;align-items:center;gap:8px}
.type-badge{
  font-family:var(--f-mono);font-size:10.5px;font-weight:500;letter-spacing:.14em;
  color:var(--copper-deep);background:var(--copper-tint);
  padding:4px 11px;border-radius:999px;text-transform:uppercase;
}
.order-id{margin-left:auto;font-family:var(--f-mono);font-size:11px;color:var(--ink-3);letter-spacing:.06em}
.oc-status{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600}
.oc-status i{width:6px;height:6px;border-radius:50%;display:inline-block}
.st-bidding{color:var(--copper-deep)}.st-bidding i{background:var(--copper)}
.st-ongoing{color:var(--sage)}.st-ongoing i{background:var(--sage)}
.st-done{color:var(--ink-3)}.st-done i{background:var(--ink-3)}
.urgent-chip{
  font-size:10.5px;font-weight:600;color:var(--clay);background:var(--clay-tint);
  padding:3px 9px;border-radius:999px;letter-spacing:.04em;
}

.oc-title{
  font-family:var(--f-display);font-weight:500;font-size:18.5px;line-height:1.5;
  letter-spacing:.01em;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.oc-desc{
  font-size:13.5px;color:var(--ink-2);line-height:1.75;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.oc-tags{display:flex;gap:7px;flex-wrap:wrap}
.oc-tags span{
  font-size:11.5px;color:var(--ink-2);background:var(--paper-deep);
  padding:4px 11px;border-radius:999px;
}

.oc-meta{
  display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px;
  border-top:1px dashed var(--line-strong);border-bottom:1px dashed var(--line-strong);
  padding:13px 0;margin-top:auto;
}
.oc-meta label{display:block;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.16em;color:var(--ink-3);text-transform:uppercase;margin-bottom:2px}
.oc-meta strong{font-family:var(--f-mono);font-weight:500;font-size:13.5px;letter-spacing:0}
.oc-meta .budget-v{color:var(--copper-deep);font-size:14.5px}

.oc-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}
.oc-client{display:flex;align-items:center;gap:11px;min-width:0}
.client-avatar{
  width:36px;height:36px;border-radius:50%;flex:none;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--f-display);font-size:15px;font-weight:600;color:#E6E9EC;
  background:hsl(var(--h,32) 28% 24%);
}
.oc-client strong{display:block;font-size:13.5px;font-weight:600;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.oc-client span{font-size:11px;color:var(--ink-3);display:flex;align-items:center;gap:5px}
.v-check{width:12px;height:12px;color:var(--sage)}

.oc-match{display:flex;flex-direction:column;align-items:center;gap:2px;flex:none}
.match-ring{position:relative;width:46px;height:46px}
.match-ring svg{width:46px;height:46px;transform:rotate(-90deg)}
.mr-track{fill:none;stroke:var(--paper-deep);stroke-width:3.5}
.mr-fill{fill:none;stroke:var(--copper);stroke-width:3.5;stroke-linecap:round;stroke-dasharray:113.1}
.match-ring span{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:var(--f-mono);font-size:10.5px;font-weight:500;color:var(--ink-2);
}
.oc-match small{font-size:10px;color:var(--ink-3);letter-spacing:.1em;line-height:1.5}

.oc-cta{display:flex;align-items:center;justify-content:space-between;gap:10px}
.bids{font-size:12px;color:var(--ink-3)}
.bids strong{color:var(--ink-2);font-weight:600}
.oc-link{
  display:inline-flex;align-items:center;gap:7px;
  font-size:13.5px;font-weight:600;color:var(--copper-deep);
  transition:gap .25s var(--ease);
}
.order-card:hover .oc-link{gap:12px}

/* --- Empty State --- */
.empty-state{
  text-align:center;padding:80px 20px;color:var(--ink-3);
  border:1.5px dashed var(--line-strong);border-radius:var(--r-lg);margin-top:20px;
}
.empty-state .ic{width:34px;height:34px;margin:0 auto 14px;stroke-width:1.4;opacity:.6}
.empty-state p{margin-bottom:20px;font-size:15px}

/* --- Pager --- */
.pager{
  display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;
  margin-top:44px;padding-top:34px;border-top:1px solid var(--line);
  animation:cardIn .6s var(--ease) both;
}
.pg-btn{
  min-width:42px;height:42px;padding:0 12px;border-radius:12px;
  background:var(--paper-raised);border:1px solid var(--line);
  color:var(--ink-2);font-family:var(--f-display);font-size:15px;font-weight:600;
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
  transition:all .25s var(--ease);
}
.pg-btn .ic{width:17px;height:17px;stroke-width:2}
.pg-btn:hover:not(:disabled):not(.is-active){border-color:var(--copper);color:var(--copper);transform:translateY(-2px)}
.pg-btn.is-active{
  background:var(--copper);border-color:var(--copper);color:#101315;
  box-shadow:0 6px 18px -8px rgba(52,196,162,.6);
}
.pg-btn:disabled{opacity:.32;pointer-events:none}
.pg-btn.pg-arrow{min-width:46px}
@media (max-width:560px){
  .pager{margin-top:34px;padding-top:26px;gap:6px}
  .pg-btn{min-width:38px;height:38px;padding:0 9px;font-size:14px}
  .pg-btn.pg-arrow{min-width:42px}
}

/* ============================================================
   VIEW 2 · 发布商单 POST
   ============================================================ */
#view-post{padding:76px 0 120px;background:
  radial-gradient(50rem 26rem at 110% 0%,rgba(95,227,192,.06),transparent 60%),
  radial-gradient(44rem 24rem at -12% 20%,rgba(140,163,184,.05),transparent 60%)}
.view-head{text-align:center;margin-bottom:56px}
.view-head .display-2{margin-top:18px}
.view-head .lede{margin:18px auto 0}

/* --- Wizard Layout --- */
.wizard{display:grid;grid-template-columns:308px 1fr;gap:36px;align-items:start}

.wizard-side{position:sticky;top:96px;display:flex;flex-direction:column;gap:22px}
.wizard-steps{display:flex;flex-direction:column}
.wizard-steps li{display:flex;align-items:center;gap:15px;padding:11px 4px;position:relative}
.wizard-steps li:not(:last-child)::before{
  content:"";position:absolute;left:16px;top:44px;bottom:-12px;width:1.5px;
  background:var(--line-strong);
}
.ws-num{
  width:33px;height:33px;border-radius:50%;flex:none;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--f-mono);font-size:11.5px;font-weight:500;
  color:var(--ink-3);background:var(--paper-raised);
  border:1.5px solid var(--line-strong);transition:all .35s var(--ease);
  position:relative;z-index:1;
}
.ws-text strong{display:block;font-size:14px;font-weight:600;color:var(--ink-3);transition:color .3s;line-height:1.4}
.ws-text em{font-family:var(--f-mono);font-style:normal;font-size:9.5px;letter-spacing:.22em;color:var(--ink-3);opacity:.7;text-transform:uppercase}
.wizard-steps li.is-active .ws-num{background:var(--copper);border-color:var(--copper);color:#101315;box-shadow:0 6px 16px -6px rgba(95,227,192,.55)}
.wizard-steps li.is-active .ws-text strong{color:var(--ink)}
.wizard-steps li.is-done .ws-num{background:var(--sage-tint);border-color:var(--sage);color:var(--sage)}

.wizard-preview{
  background:var(--paper-raised);border:1px solid var(--line);
  border-radius:var(--r-lg);padding:20px;box-shadow:var(--sh-sm);
}
.preview-label{
  display:flex;align-items:center;gap:8px;
  font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;color:var(--ink-3);
  text-transform:uppercase;margin-bottom:14px;
}
.preview-label .pulse-dot{width:5px;height:5px}
.preview-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:11px}
.preview-card .pc-empty{font-size:12.5px;color:var(--ink-3);font-style:italic}
.preview-card .pc-title{font-family:var(--f-display);font-size:15.5px;font-weight:500;line-height:1.55}
.preview-card .pc-meta{display:flex;gap:14px;flex-wrap:wrap;font-family:var(--f-mono);font-size:11.5px;color:var(--ink-2)}
.preview-card .pc-meta b{color:var(--copper-deep);font-weight:500}
.preview-card .pc-tags{display:flex;gap:6px;flex-wrap:wrap}
.preview-card .pc-tags span{font-size:10.5px;background:var(--paper-deep);color:var(--ink-2);padding:3px 9px;border-radius:999px}

.wizard-tip{
  display:flex;gap:12px;background:var(--gold-tint);
  border:1px solid rgba(201,185,143,.28);border-radius:16px;padding:15px 17px;
}
.wizard-tip .ic{width:15px;height:15px;color:var(--gold);fill:currentColor;stroke:none;margin-top:4px;flex:none}
.wizard-tip p{font-size:12.5px;line-height:1.75;color:var(--ink-2)}

/* --- Wizard Main --- */
.wizard-main{
  background:var(--paper-raised);border:1px solid var(--line);
  border-radius:var(--r-xl);padding:clamp(24px,3.4vw,46px);
  box-shadow:var(--sh-sm);position:relative;overflow:hidden;
}
.w-step{display:none}
.w-step.is-active{display:block;animation:stepIn .45s var(--ease) both}
@keyframes stepIn{from{opacity:0;transform:translateX(22px)}to{opacity:1;transform:none}}

.w-title{font-family:var(--f-display);font-weight:500;font-size:clamp(20px,2.2vw,26px);letter-spacing:.01em}
.w-sub{font-size:13.5px;color:var(--ink-3);margin-top:8px;margin-bottom:30px}

/* Type cards */
.type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}
.type-card{
  position:relative;display:flex;gap:15px;align-items:flex-start;text-align:left;
  background:var(--paper);border:1.5px solid var(--line);border-radius:18px;
  padding:18px;transition:all .3s var(--ease);
}
.type-card:hover{border-color:var(--line-strong);transform:translateY(-2px);box-shadow:var(--sh-sm)}
.type-card.is-selected{border-color:var(--copper);background:var(--copper-tint)}
.tc-icon{
  width:42px;height:42px;border-radius:13px;flex:none;
  display:flex;align-items:center;justify-content:center;
  background:var(--paper-deep);color:var(--ink-2);transition:all .3s;
}
.tc-icon .ic{width:20px;height:20px;stroke-width:1.7}
.type-card.is-selected .tc-icon{background:var(--copper);color:#101315}
.tc-name{display:block;font-size:15px;font-weight:600;line-height:1.4}
.tc-en{display:block;font-family:var(--f-mono);font-size:9px;letter-spacing:.2em;color:var(--ink-3);text-transform:uppercase;margin:2px 0 5px}
.tc-desc{display:block;font-size:12px;color:var(--ink-3);line-height:1.65}
.tc-check{
  position:absolute;top:14px;right:14px;width:22px;height:22px;border-radius:50%;
  background:var(--copper);color:#101315;display:flex;align-items:center;justify-content:center;
  transform:scale(0);transition:transform .3s var(--ease);
}
.tc-check .ic{width:11px;height:11px;stroke-width:3}
.type-card.is-selected .tc-check{transform:scale(1)}

/* Fields */
.field{margin-bottom:24px}
.field > label,.field > .field-row label{
  display:flex;align-items:center;gap:8px;
  font-family:var(--f-mono);font-size:10.5px;font-weight:500;letter-spacing:.18em;
  color:var(--ink-2);text-transform:uppercase;margin-bottom:10px;
}
.label-hint{font-family:var(--f-body);font-size:10.5px;color:var(--ink-3);letter-spacing:.05em;font-weight:400}
.field input[type="text"],.field input[type="tel"],.field textarea,.field input[type="date"],.field input[type="number"],.field input:not([type]){
  width:100%;background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r-md);
  padding:13px 16px;font-size:14.5px;outline:none;color:var(--ink);transition:border-color .25s,box-shadow .25s;
}
.field input:focus,.field textarea:focus{border-color:var(--copper);box-shadow:0 0 0 4px rgba(95,227,192,.09)}
.field textarea{resize:vertical;min-height:120px;line-height:1.8}
.field input::placeholder,.field textarea::placeholder{color:#5D666E}
.field-err{font-size:12px;color:var(--clay);margin-top:7px;display:none}
.field.has-err .field-err{display:block}
.field.has-err input,.field.has-err textarea{border-color:var(--clay)}

.field-row{display:grid;gap:18px;margin-bottom:24px}
.field-row-3{grid-template-columns:repeat(3,1fr)}
.field-row-2{grid-template-columns:1.4fr 1fr}

/* Chip cloud (multi-select) */
.chip-cloud{display:flex;flex-wrap:wrap;gap:9px}
.chip{
  font-size:13px;font-weight:500;color:var(--ink-2);
  background:var(--paper);border:1.5px solid var(--line);
  padding:8px 16px;border-radius:999px;transition:all .25s var(--ease);
}
.chip:hover{border-color:var(--line-strong);color:var(--ink);transform:translateY(-1px)}
.chip.is-on{background:var(--ink);border-color:var(--ink);color:#16181B;font-weight:600}
.field .chip-cloud{margin-bottom:2px}

/* Segmented control */
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg-item{
  font-size:13px;font-weight:500;color:var(--ink-2);
  background:var(--paper);border:1.5px solid var(--line);
  padding:9px 15px;border-radius:12px;transition:all .25s var(--ease);
}
.seg-item:hover{border-color:var(--line-strong)}
.seg-item.is-on{background:var(--copper-tint);border-color:var(--copper);color:var(--copper-deep);font-weight:600}

/* Budget slider */
.budget-row{display:flex;align-items:center;gap:26px;background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r-md);padding:20px 24px}
#budgetOut{
  font-family:var(--f-display);font-weight:600;font-size:clamp(24px,2.6vw,32px);
  color:var(--copper-deep);min-width:150px;letter-spacing:-.01em;line-height:1.2;
}
input[type="range"]{
  -webkit-appearance:none;appearance:none;flex:1;height:6px;border-radius:99px;
  background:linear-gradient(90deg,var(--copper) var(--fill,10%),var(--paper-deep) var(--fill,10%));
  outline:none;cursor:pointer;
}
input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;width:24px;height:24px;border-radius:50%;
  background:var(--copper);border:4px solid #1E2226;
  box-shadow:0 3px 10px rgba(52,196,162,.4);transition:transform .2s;
}
input[type="range"]::-webkit-slider-thumb:hover{transform:scale(1.15)}
input[type="range"]::-moz-range-thumb{
  width:17px;height:17px;border-radius:50%;background:var(--copper);
  border:4px solid #1E2226;box-shadow:0 3px 10px rgba(52,196,162,.4);
}
.budget-scale{display:flex;justify-content:space-between;margin-top:9px;padding:0 2px}
.budget-scale span{font-family:var(--f-mono);font-size:10px;color:var(--ink-3);letter-spacing:.06em}
.budget-quick{display:flex;gap:8px;margin-top:13px;flex-wrap:wrap}
.budget-quick .chip{padding:6px 14px;font-size:12px}
.field-note{font-size:12px;color:var(--ink-3);margin-top:11px}
.field-note b{color:var(--copper-deep);font-weight:600}

input[type="date"]{color:var(--ink-2)}

/* 预算手动输入 · 最低/最高成对 + ¥ 前缀 */
.budget-inputs{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:end;margin-bottom:14px}
.budget-input{display:flex;align-items:center;gap:8px;background:var(--paper);border:1.5px solid var(--line);border-radius:12px;padding:10px 14px;transition:border-color .2s var(--ease)}
.budget-input:focus-within{border-color:var(--copper);box-shadow:0 0 0 3px rgba(95,227,192,.12)}
.budget-input .bi-cap{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.14em;color:var(--ink-3);text-transform:uppercase;flex:none}
.budget-input .bi-pre{font-family:var(--f-display);font-size:15px;font-weight:600;color:var(--copper-deep);flex:none}
.budget-input input[type="number"]{
  appearance:none;-moz-appearance:textfield;background:transparent;border:0;outline:none;
  width:100%;min-width:0;font-family:var(--f-display);font-size:18px;font-weight:600;
  color:var(--ink);padding:0;
}
.budget-input input[type="number"]::-webkit-outer-spin-button,
.budget-input input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.budget-input .bi-suf{font-family:var(--f-mono);font-size:12px;color:var(--ink-3);flex:none}
.budget-input.bi-solo{max-width:200px;margin-top:10px}
.budget-dash{font-family:var(--f-display);font-size:18px;color:var(--ink-3);padding-bottom:14px;text-align:center}

/* 交付周期 · 自定义天数 */
.cycle-custom{margin-top:12px;animation:odIn .3s var(--ease) both}
.budget-out{font-family:var(--f-display);font-weight:600;font-size:clamp(22px,2.4vw,28px);color:var(--copper-deep);min-width:150px;letter-spacing:-.01em;line-height:1.2;transition:width .25s var(--ease)}

@media (max-width:560px){
  .budget-inputs{grid-template-columns:1fr;gap:8px}
  .budget-dash{text-align:left;padding:0 4px;font-size:14px}
  .budget-row{flex-direction:column;align-items:stretch;gap:14px}
}
input[type="date"]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.55}

/* Switch */
.switch-card{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r-md);padding:18px 22px;
  transition:border-color .25s;
}
.switch-card:has(input:checked){border-color:var(--copper)}
.switch-copy strong{font-size:14.5px;font-weight:600;display:block}
.switch-copy p{font-size:12.5px;color:var(--ink-3);margin-top:3px}
.switch{position:relative;display:inline-block;width:48px;height:27px;flex:none;cursor:pointer}
.switch input{opacity:0;width:0;height:0;position:absolute}
.switch i{
  position:absolute;inset:0;border-radius:999px;background:var(--paper-deep);
  border:1.5px solid var(--line-strong);transition:all .3s var(--ease);
}
.switch i::after{
  content:"";position:absolute;left:4px;top:50%;width:18px;height:18px;border-radius:50%;
  background:#E6E9EC;box-shadow:0 2px 6px rgba(0,0,0,.35);
  transform:translateY(-50%);transition:all .3s var(--ease);
}
.switch input:checked + i{background:var(--copper);border-color:var(--copper)}
.switch input:checked + i::after{left:24px;background:#16181B}
.switch input:focus-visible + i{outline:2px solid var(--copper);outline-offset:2px}

/* Radio cards */
.radio-cards{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.radio-card{
  position:relative;display:flex;flex-direction:column;gap:4px;text-align:left;
  background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r-md);
  padding:16px 18px;transition:all .28s var(--ease);
}
.radio-card:hover{border-color:var(--line-strong)}
.radio-card.is-on{border-color:var(--copper);background:var(--copper-tint)}
.rc-title{font-size:14.5px;font-weight:600;display:flex;align-items:center;gap:8px}
.rc-tag{
  font-family:var(--f-mono);font-size:9px;letter-spacing:.12em;color:var(--sage);
  background:var(--sage-tint);padding:2px 8px;border-radius:999px;font-weight:500;
}
.rc-desc{font-size:12px;color:var(--ink-3);line-height:1.65}

/* Summary */
.summary{background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r-md);padding:20px 24px;margin-top:6px}
.sum-row{display:flex;align-items:baseline;gap:12px;padding:8px 0;font-size:13.5px}
.sum-row + .sum-row{border-top:1px dashed var(--line)}
.sum-row label{font-family:var(--f-mono);font-size:10px;letter-spacing:.16em;color:var(--ink-3);text-transform:uppercase;flex:none;width:88px}
.sum-row .sum-lead{flex:1;border-bottom:1px dotted var(--line-strong);transform:translateY(-4px);min-width:20px}
.sum-row strong{color:var(--ink);font-weight:600;text-align:right}
.sum-row strong.b{color:var(--copper-deep)}

/* Wizard nav */
.wizard-nav{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  border-top:1px solid var(--line);margin-top:34px;padding-top:26px;
}
.wizard-step-count{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.2em;color:var(--ink-3)}

/* Success */
.wizard-success{
  text-align:center;padding:44px 24px 30px;
  display:flex;flex-direction:column;align-items:center;gap:6px;
  animation:viewIn .5s var(--ease) both;
}
.vinyl-success{width:110px;margin-bottom:20px;filter:drop-shadow(0 14px 24px rgba(0,0,0,.3))}
.ws-order{font-size:14px;color:var(--ink-2);margin-top:14px}
.ws-order strong{font-family:var(--f-mono);color:var(--copper-deep);font-weight:500;letter-spacing:.06em}
.ws-note{font-size:14px;color:var(--ink-2);margin:8px 0 6px;line-height:2}
.ws-note strong{color:var(--ink)}
.ws-actions{display:flex;gap:14px;margin-top:26px;flex-wrap:wrap;justify-content:center}

/* ============================================================
   VIEW 3 · 音乐路途诊断 QUIZ
   ============================================================ */
#view-quiz{
  padding:64px 0 110px;min-height:82vh;
  background:
    radial-gradient(56rem 30rem at 50% -10%,rgba(95,227,192,.07),transparent 62%),
    radial-gradient(40rem 24rem at 100% 100%,rgba(140,163,184,.05),transparent 60%),
    radial-gradient(40rem 24rem at 0% 90%,rgba(95,227,192,.05),transparent 60%);
}
.quiz-wrap{max-width:760px;margin:0 auto;padding:0 24px}
.quiz-top{margin-bottom:52px}
.quiz-progress{height:3px;background:var(--paper-deep);border-radius:99px;overflow:hidden}
.quiz-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--copper),var(--gold));border-radius:99px;transition:width .55s var(--ease)}
.quiz-meta{display:flex;justify-content:space-between;align-items:center;margin-top:14px}
.quiz-brand{display:flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.22em;color:var(--ink-2)}
.quiz-brand svg{width:20px;height:20px}
.quiz-counter{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.18em;color:var(--ink-3)}
.quiz-counter span{color:var(--copper-deep);font-weight:500}

.quiz-stage{animation:stageIn .5s var(--ease) both}
@keyframes stageIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}

/* Intro */
.quiz-intro{text-align:center;padding:36px 10px 20px}
.qi-mark{
  width:76px;height:76px;margin:0 auto 30px;border-radius:50%;
  background:var(--dark);display:flex;align-items:center;justify-content:center;
  box-shadow:var(--sh-md);animation:spin 40s linear infinite;
}
.qi-mark svg{width:52px;height:52px}
.quiz-intro h2{font-family:var(--f-display);font-weight:500;font-size:clamp(28px,3.6vw,40px);line-height:1.3}
.quiz-intro h2 em{font-style:italic;color:var(--copper-deep)}
.quiz-intro .lede{margin:20px auto 0;max-width:40ch}
.quiz-intro .btn{margin-top:38px}
.qi-note{margin-top:26px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.16em;color:var(--ink-3)}

/* Question */
.qq-head{margin-bottom:34px}
.qq-kicker{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.22em;color:var(--copper-deep);text-transform:uppercase;display:flex;align-items:center;gap:10px}
.qq-title{font-family:var(--f-display);font-weight:500;font-size:clamp(24px,3vw,32px);margin-top:14px;line-height:1.4}
.qq-sub{font-size:13.5px;color:var(--ink-3);margin-top:10px}
.qq-count{margin-left:auto;font-family:var(--f-mono);font-size:10.5px;color:var(--ink-3);letter-spacing:.1em}

.opt-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.option-card{
  position:relative;display:flex;flex-direction:column;gap:5px;text-align:left;
  background:var(--paper-raised);border:1.5px solid var(--line);border-radius:18px;
  padding:19px 20px;transition:all .3s var(--ease);min-height:96px;
}
.option-card:hover{border-color:var(--line-strong);transform:translateY(-2px);box-shadow:var(--sh-sm)}
.option-card.is-selected{border-color:var(--copper);background:var(--copper-tint);box-shadow:0 12px 30px -14px rgba(95,227,192,.35)}
.opt-t{font-size:15.5px;font-weight:600;line-height:1.45;display:flex;align-items:center;gap:10px}
.opt-d{font-size:12.5px;color:var(--ink-3);line-height:1.7}
.opt-check{
  position:absolute;top:16px;right:16px;width:22px;height:22px;border-radius:50%;
  background:var(--copper);color:#101315;display:flex;align-items:center;justify-content:center;
  transform:scale(0);transition:transform .28s var(--ease);
}
.opt-check .ic{width:11px;height:11px;stroke-width:3}
.option-card.is-selected .opt-check{transform:scale(1)}
.option-card .opt-num{
  font-family:var(--f-mono);font-size:10px;color:var(--ink-3);letter-spacing:.1em;
  position:absolute;bottom:14px;right:17px;opacity:.7;
}

.quiz-actions{display:flex;justify-content:space-between;align-items:center;margin-top:40px;gap:14px}
.quiz-actions .spacer{flex:1}

/* Result */
.quiz-result{display:flex;flex-direction:column;gap:28px}
.qr-head{text-align:center;padding-top:6px}
.qr-head .eyebrow{justify-content:center}
.qr-head h2{font-family:var(--f-display);font-weight:500;font-size:clamp(26px,3.2vw,38px);margin-top:16px;line-height:1.35}
.qr-echo{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:18px}
.qr-echo span{font-size:12px;color:var(--copper-deep);background:var(--copper-tint);border:1px solid var(--copper-wash);padding:5px 13px;border-radius:999px}

.qr-panel{
  background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:28px 30px;box-shadow:var(--sh-sm);
}
.qr-panel-title{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.22em;color:var(--ink-3);text-transform:uppercase;margin-bottom:22px}

.bar-row{display:grid;grid-template-columns:96px 1fr 44px;align-items:center;gap:14px;padding:9px 0}
.bar-row label{font-size:12.5px;color:var(--ink-2);font-weight:500}
.bar-track{height:7px;background:var(--paper-deep);border-radius:99px;overflow:hidden}
.bar-fill{height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,var(--copper),var(--gold));transition:width 1s var(--ease)}
.bar-val{font-family:var(--f-mono);font-size:11px;color:var(--ink-3);text-align:right}

.verdict{
  background:linear-gradient(135deg,var(--dark),var(--dark-2));
  color:#E6E9EC;border-radius:var(--r-lg);padding:34px 36px;position:relative;overflow:hidden;
  box-shadow:var(--sh-lg);
}
.verdict::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(26rem 14rem at 90% -10%,rgba(95,227,192,.2),transparent 65%);
}
.verdict-tag{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--f-mono);font-size:10px;letter-spacing:.22em;
  color:var(--gold);background:rgba(201,185,143,.13);border:1px solid rgba(201,185,143,.35);
  padding:6px 13px;border-radius:999px;margin-bottom:20px;
}
.verdict h3{font-family:var(--f-display);font-weight:500;font-size:clamp(21px,2.4vw,27px);line-height:1.5;position:relative}
.verdict p{margin-top:16px;font-size:13.5px;line-height:2;color:rgba(230,233,236,.68);position:relative}
.verdict p b{color:#E6E9EC;font-weight:600}
.verdict-chips{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px;position:relative}
.verdict-chips span{
  font-family:var(--f-mono);font-size:11px;letter-spacing:.04em;
  background:rgba(230,233,236,.08);border:1px solid rgba(230,233,236,.16);
  color:rgba(230,233,236,.85);padding:7px 14px;border-radius:999px;
}

.qr-rec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.musician-card{
  background:var(--paper-raised);border:1.5px solid var(--line);border-radius:18px;
  padding:20px;display:flex;flex-direction:column;gap:12px;transition:all .3s var(--ease);
}
.musician-card:hover{transform:translateY(-4px);box-shadow:var(--sh-md);border-color:var(--line-strong)}
.mc-head{display:flex;align-items:center;gap:12px}
.mc-avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--f-display);font-size:16px;font-weight:600;color:#E6E9EC;background:hsl(var(--h,32) 28% 24%);flex:none}
.mc-name{font-size:14.5px;font-weight:600;line-height:1.4}
.mc-en{display:block;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.18em;color:var(--ink-3);margin-top:1px}
.mc-rating{margin-left:auto;display:flex;align-items:center;gap:5px;font-family:var(--f-mono);font-size:12px;color:var(--gold)}
.mc-rating .ic{width:13px;height:13px;fill:currentColor;stroke:none}
.mc-tags{display:flex;gap:6px;flex-wrap:wrap}
.mc-tags span{font-size:11px;color:var(--ink-2);background:var(--paper-deep);padding:3px 10px;border-radius:999px}
.mc-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-3);border-top:1px dashed var(--line-strong);padding-top:12px}
.mc-meta b{color:var(--copper-deep);font-family:var(--f-mono);font-weight:500;font-size:12.5px}
.musician-card .btn{margin-top:2px}

.focus-item{
  display:flex;align-items:center;gap:16px;
  background:var(--paper-raised);border:1.5px solid var(--line);border-radius:18px;
  padding:18px 20px;transition:all .3s var(--ease);
}
.focus-item:hover{transform:translateY(-3px);box-shadow:var(--sh-sm);border-color:var(--line-strong)}
.fi-icon{width:42px;height:42px;border-radius:13px;background:var(--copper-tint);color:var(--copper-deep);display:flex;align-items:center;justify-content:center;flex:none}
.fi-icon .ic{width:19px;height:19px;stroke-width:1.7}
.fi-main{flex:1;min-width:0}
.fi-main strong{display:block;font-size:14.5px;font-weight:600}
.fi-main p{font-size:12px;color:var(--ink-3);margin-top:2px}
.fi-stat{font-family:var(--f-mono);font-size:11.5px;color:var(--sage);white-space:nowrap}

.qr-actions{display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:8px}
.qr-restart{
  font-size:13px;color:var(--ink-3);text-decoration:underline;text-underline-offset:4px;
  text-decoration-color:var(--line-strong);transition:color .25s;padding:8px;
}
.qr-restart:hover{color:var(--ink)}
.qr-fine{font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;color:var(--ink-3);text-align:center;opacity:.75}

/* ============================================================
   QUIZ FORM — 音乐路途诊断（问卷版）
   ============================================================ */
.quiz-top{position:sticky;top:70px;z-index:50;background:linear-gradient(var(--paper) 72%,rgba(22,24,27,0));padding:10px 0 14px;margin-bottom:8px}
.q-form-note{font-size:12.5px;color:var(--ink-3);margin-bottom:18px;line-height:1.7}

.q-toc{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}
.q-toc-chip{font-size:12px;font-weight:500;color:var(--ink-2);background:var(--paper-raised);border:1px solid var(--line);padding:7px 14px;border-radius:999px;cursor:pointer;transition:all .25s var(--ease)}
.q-toc-chip:hover{border-color:var(--copper);color:var(--copper)}

.q-group{margin-top:10px;scroll-margin-top:140px}
.qg-head{display:flex;align-items:baseline;gap:14px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:22px}
.qg-no{font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.16em;color:var(--copper-deep);background:var(--copper-tint);border:1px solid var(--copper-wash);padding:5px 11px;border-radius:999px;flex:none;white-space:nowrap}
.qg-title{font-family:var(--f-display);font-weight:500;font-size:clamp(19px,2.2vw,24px);line-height:1.4}
.qg-desc{font-size:12.5px;color:var(--ink-3);margin-top:5px}

.qq-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--r-lg);padding:23px 25px;margin-bottom:15px;transition:border-color .25s}
.qq-card:focus-within{border-color:var(--line-strong)}
.qq-kicker{font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;color:var(--copper-deep);text-transform:uppercase}
.qq-title2{font-family:var(--f-display);font-weight:500;font-size:clamp(16.5px,1.9vw,19px);line-height:1.5;margin-top:9px}
.qq-sub2{font-size:12.5px;color:var(--ink-3);margin-top:7px;line-height:1.7}

.opt-grid.opt-single,.opt-grid.opt-multi{grid-template-columns:1fr;gap:10px}

.qopt{position:relative;display:flex;align-items:center;gap:13px;text-align:left;background:var(--paper-raised);border:1.5px solid var(--line);border-radius:14px;padding:15px 17px;cursor:pointer;transition:all .3s var(--ease)}
.qopt:hover{border-color:var(--line-strong);transform:translateY(-1px)}
.qopt.is-selected{border-color:var(--copper);background:var(--copper-tint);box-shadow:0 10px 24px -14px rgba(95,227,192,.4)}
.qopt-check{width:20px;height:20px;border-radius:50%;flex:none;background:var(--paper-deep);color:transparent;display:flex;align-items:center;justify-content:center;transition:all .25s}
.qopt-check .ic{width:11px;height:11px;stroke-width:3}
.qopt.is-selected .qopt-check{background:var(--copper);color:#101315}
.qopt-t{font-size:14.5px;font-weight:600;line-height:1.45;flex:1}
.qopt-num{font-family:var(--f-mono);font-size:10px;color:var(--ink-3);letter-spacing:.04em;background:var(--paper-deep);border-radius:6px;padding:2px 8px;flex:none}

.q-custom-wrap{margin-top:11px}
.q-input{width:100%;background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r-md);padding:12px 15px;font-size:14px;outline:none;transition:border-color .25s,box-shadow .25s;color:var(--ink)}
.q-input::placeholder{color:var(--ink-3)}
.q-input:focus{border-color:var(--copper);box-shadow:0 0 0 4px rgba(95,227,192,.09)}
.q-area{resize:vertical;min-height:92px;line-height:1.8;font-family:var(--f-body)}

.scale-row{margin-top:4px}
.scale-btns{display:flex;gap:10px}
.scale-btn{width:52px;height:52px;border-radius:14px;background:var(--paper);border:1.5px solid var(--line);font-family:var(--f-display);font-size:18px;font-weight:600;color:var(--ink-2);cursor:pointer;transition:all .25s var(--ease)}
.scale-btn:hover{border-color:var(--line-strong);color:var(--ink);transform:translateY(-2px)}
.scale-btn.is-on{background:var(--copper);border-color:var(--copper);color:#101315;box-shadow:0 8px 18px -8px rgba(52,196,162,.55)}
.scale-ends{display:flex;justify-content:space-between;margin-top:10px;font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;color:var(--ink-3)}
.scale-note{margin-top:12px}

.quiz-submit{margin-top:34px;padding:30px;border:1px solid var(--line);border-radius:var(--r-xl);background:var(--paper-raised);text-align:center;box-shadow:var(--sh-sm)}
.quiz-submit .qs-hint{font-size:13px;color:var(--ink-3);margin-bottom:18px}
.btn-lg{padding:16px 34px;font-size:15px}

.qi-tips{display:flex;flex-direction:column;gap:10px;margin:26px auto 0;max-width:48ch;text-align:left}
.qi-tips p{font-size:12.5px;color:var(--ink-2);background:var(--paper-raised);border:1px solid var(--line);border-radius:12px;padding:11px 15px;line-height:1.7}

.qr-email{display:flex;align-items:center;gap:14px;background:var(--copper-tint);border:1px solid var(--copper-wash);border-radius:16px;padding:18px 22px;margin-top:6px}
.qr-email .ic{width:24px;height:24px;color:var(--copper);stroke-width:1.8;flex:none}
.qr-email strong{display:block;font-size:13px;color:var(--copper-deep);font-weight:600}
.qr-email span{font-family:var(--f-mono);font-size:13px;color:var(--ink-2);word-break:break-all}

@media (max-width:560px){
  .scale-btn{width:46px;height:46px;font-size:16px}
  .q-toc{margin-bottom:22px}
}

/* ============================================================
   MODAL
   ============================================================ */
.modal-root{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}
.modal-root[hidden]{display:none}
.modal-overlay{
  position:absolute;inset:0;background:rgba(0,0,0,.5);
  backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);
  animation:fadeIn .3s ease both;
}
.modal-card{
  position:relative;background:var(--paper-raised);border:1px solid var(--line);
  border-radius:var(--r-xl);width:min(660px,100%);max-height:88vh;overflow-y:auto;
  box-shadow:var(--sh-lg);animation:modalIn .45s var(--ease) both;
}
.modal-close{
  position:absolute;top:18px;right:18px;z-index:5;
  width:38px;height:38px;border-radius:50%;background:var(--paper);
  border:1px solid var(--line);color:var(--ink-2);
  display:flex;align-items:center;justify-content:center;transition:all .25s;
}
.modal-close:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.modal-close .ic{width:15px;height:15px}
.modal-card > #modalBody{padding:6px 40px 40px}

.mo-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.mo-title{font-family:var(--f-display);font-weight:500;font-size:clamp(21px,2.6vw,27px);line-height:1.5;margin-top:14px}
.mo-client{
  display:flex;align-items:center;gap:14px;margin-top:20px;
  background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:14px 18px;
}
.mo-client .client-avatar{width:42px;height:42px;font-size:17px}
.mo-client .mc-info{flex:1;min-width:0}
.mo-client .mc-info strong{display:block;font-size:14.5px;font-weight:600}
.mo-client .mc-info span{font-size:12px;color:var(--ink-3);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.mo-client .mc-stats{text-align:right;font-family:var(--f-mono);font-size:11px;color:var(--ink-3);line-height:1.9}
.mo-client .mc-stats b{color:var(--ink-2);font-weight:500}
.mo-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.mo-tags span{font-size:12px;color:var(--ink-2);background:var(--paper-deep);padding:5px 13px;border-radius:999px}
.mo-desc{margin-top:24px}
.mo-desc p{font-size:14px;line-height:2;color:var(--ink-2);margin-top:12px}
.mo-specs{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:26px;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.mo-specs > div{padding:14px 18px;background:var(--paper)}
.mo-specs > div:nth-child(odd){border-right:1px solid var(--line)}
.mo-specs > div:nth-child(n+3){border-top:1px solid var(--line)}
.mo-specs label{display:block;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.18em;color:var(--ink-3);text-transform:uppercase;margin-bottom:4px}
.mo-specs strong{font-size:13.5px;font-weight:600}
.mo-bid{margin-top:26px;background:var(--copper-tint);border:1px solid var(--copper-wash);border-radius:18px;padding:22px}
.mo-bid-title{font-size:14.5px;font-weight:600;display:flex;align-items:center;gap:9px;color:var(--copper-deep)}
.mo-bid-note{font-size:12px;color:var(--ink-2);margin-top:4px;margin-bottom:16px}
.mo-bid-row{display:grid;grid-template-columns:1.6fr 1fr;gap:12px}
.mo-bid textarea,.mo-bid input{
  width:100%;background:var(--paper-raised);border:1.5px solid var(--copper-wash);border-radius:12px;
  padding:12px 14px;font-size:13.5px;outline:none;transition:border-color .25s;
}
.mo-bid textarea{grid-column:1/-1;resize:vertical;min-height:86px;line-height:1.8}
.mo-bid textarea:focus,.mo-bid input:focus{border-color:var(--copper)}
.mo-bid .btn{grid-column:1/-1;justify-content:center}

/* ============================================================
   TOAST
   ============================================================ */
.toast-root{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);z-index:1200;display:flex;flex-direction:column;gap:10px;align-items:center;pointer-events:none}
.toast{
  display:flex;align-items:center;gap:12px;
  background:#EDF0F2;color:#16181B;
  font-size:13.5px;font-weight:500;letter-spacing:.02em;
  padding:14px 24px;border-radius:999px;box-shadow:var(--sh-lg);
  animation:toastIn .45s var(--ease) both;max-width:min(88vw,480px);
}
.toast .ic{width:16px;height:16px;color:#17A57F;stroke-width:2.4}
.toast.is-out{animation:toastOut .35s var(--ease) both}

/* ============================================================
   FOOTER
   ============================================================ */
.foot-divider{width:100%;height:52px;display:block;margin-top:20px}
.foot-divider rect{fill:rgba(95,227,192,.28);transform-box:fill-box;transform-origin:center bottom;animation:wavePulse 4.5s ease-in-out infinite}
.site-footer{border-top:1px solid var(--line);padding:52px 0 44px;background:var(--paper)}
.footer-inner{display:flex;align-items:center;gap:34px;flex-wrap:wrap}
.footer-brand{display:flex;align-items:center;gap:14px}
.footer-brand svg{width:34px;height:34px}
.footer-brand strong{display:block;font-family:var(--f-display);font-size:16px;font-weight:600;letter-spacing:.06em}
.footer-brand span{font-size:11.5px;color:var(--ink-3);letter-spacing:.04em}
.footer-nav{display:flex;gap:24px;margin-left:auto}
.footer-nav button{font-size:13px;color:var(--ink-2);transition:color .25s}
.footer-nav button:hover{color:var(--copper-deep)}
.footer-meta{width:100%;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.14em;color:var(--ink-3);border-top:1px dashed var(--line);padding-top:24px;margin-top:6px}

/* ============================================================
   KEYFRAMES
   ============================================================ */
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes cardIn{from{opacity:0;transform:translateY(26px) scale(.98)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes modalIn{from{opacity:0;transform:translateY(30px) scale(.96)}to{opacity:1;transform:none}}
@keyframes toastIn{from{opacity:0;transform:translateY(20px) scale(.94)}to{opacity:1;transform:none}}
@keyframes toastOut{to{opacity:0;transform:translateY(14px) scale(.95)}}
@keyframes wavePulse{0%,100%{transform:scaleY(.55)}50%{transform:scaleY(1)}}

/* ============================================================
   VIEW 4 · 我的工单 WORK DESK（接单后的工作台）
   ============================================================ */
.wk-empty{padding:100px 0 120px;text-align:center;display:flex;flex-direction:column;align-items:center}
.wke-mark svg{width:80px;height:80px}
.wk-empty .display-2{margin-top:22px}
.wk-empty .ws-actions{margin-top:28px}

.wk-head{margin-bottom:40px}

/* 倒计时主卡 —— 深色面板 */
.wk-countdown{
  display:grid;grid-template-columns:auto 1fr auto;gap:36px;align-items:center;
  background:linear-gradient(135deg,var(--dark) 0%,var(--dark-2) 100%);
  border-radius:var(--r-xl);padding:clamp(26px,3.4vw,42px);
  color:#E6E9EC;box-shadow:var(--sh-md);
  animation:cardIn .6s var(--ease) both;
}
.wk-countdown.is-tight .wkc-days strong{color:var(--clay)}
.wk-countdown.is-tight .wkc-cap{color:var(--clay)}
.wkc-days{min-width:150px}
.wkc-days strong{
  font-family:var(--f-display);font-weight:600;font-size:clamp(56px,7vw,84px);
  line-height:1;color:var(--copper);letter-spacing:-.02em;
}
.wkc-days span{font-family:var(--f-display);font-style:italic;font-size:18px;color:rgba(230,233,236,.55);margin-left:7px}
.wkc-cap{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.22em;color:rgba(230,233,236,.45);margin-top:13px;text-transform:uppercase}
.wkc-kicker{font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;color:rgba(230,233,236,.45);text-transform:uppercase}
.wkc-date{font-family:var(--f-display);font-weight:500;font-size:clamp(24px,2.8vw,34px);margin-top:8px;letter-spacing:.02em}
.wkc-meta{font-size:12.5px;color:rgba(230,233,236,.55);margin-top:12px}
.wkc-meta b{color:var(--copper);font-weight:600}
.wkc-escrow{
  display:flex;align-items:center;gap:13px;
  background:rgba(95,227,192,.09);border:1px solid rgba(95,227,192,.3);
  border-radius:16px;padding:16px 20px;max-width:225px;
}
.wkc-escrow .ic{width:22px;height:22px;color:var(--copper);stroke-width:1.7;flex:none}
.wkc-escrow strong{display:block;font-size:13.5px;font-weight:600}
.wkc-escrow span{font-size:11.5px;color:rgba(230,233,236,.55)}

/* 工单时间线 */
.wk-tl{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:30px 0 26px}
.wk-tl li{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px}
.wk-tl li:not(:last-child)::before{
  content:"";position:absolute;top:14px;left:calc(50% + 20px);right:calc(-50% + 20px);
  height:1.5px;background:var(--line-strong);
}
.wk-tl li.is-done:not(:last-child)::before{background:var(--copper)}
.wk-tl i{
  width:28px;height:28px;border-radius:50%;
  background:var(--paper-raised);border:1.5px solid var(--line-strong);
  display:flex;align-items:center;justify-content:center;color:transparent;
}
.wk-tl .ic{width:12px;height:12px;stroke-width:3}
.wk-tl li.is-done i{background:var(--copper);border-color:var(--copper);color:#101315}
.wk-tl li.is-active i{border-color:var(--copper);box-shadow:0 0 0 5px rgba(95,227,192,.12)}
.wk-tl li.is-active:not(.is-done) i::after{
  content:"";display:block;width:8px;height:8px;border-radius:50%;
  background:var(--copper);animation:pulse 2.4s ease-in-out infinite;
}
.wk-tl span{font-size:13px;font-weight:600;color:var(--ink-3);transition:color .3s}
.wk-tl li.is-done span,.wk-tl li.is-active span{color:var(--ink)}
.wk-tl em{font-family:var(--f-mono);font-style:normal;font-size:9.5px;letter-spacing:.1em;color:var(--ink-3)}

/* 需求明细卡 */
.wk-detail{
  background:var(--paper-raised);border:1px solid var(--line);
  border-radius:var(--r-xl);padding:clamp(26px,3.4vw,40px);
  animation:cardIn .6s var(--ease) both;animation-delay:.08s;
}
.wk-detail .mo-title{margin-top:16px}
.wk-detail .mo-client{margin-top:20px}
.wk-detail .mo-specs{margin-top:22px}

/* 成果提交区 */
.wk-deliver{
  margin-top:26px;background:var(--copper-tint);border:1px solid var(--copper-wash);
  border-radius:18px;padding:clamp(20px,2.6vw,28px);
  animation:cardIn .6s var(--ease) both;animation-delay:.16s;
}
.wk-deliver.is-submitted{background:var(--sage-tint);border-color:rgba(140,163,184,.35)}
.wk-deliver .mo-bid-title{color:var(--copper-deep)}
.wk-deliver.is-submitted .mo-bid-title{color:var(--sage)}
.wk-deliver .mo-bid-row{display:grid;grid-template-columns:1.6fr 1fr;gap:12px}
.wk-deliver textarea,.wk-deliver input{
  width:100%;background:var(--paper-raised);border:1.5px solid var(--copper-wash);border-radius:12px;
  padding:12px 14px;font-size:13.5px;outline:none;transition:border-color .25s;
}
.wk-deliver textarea{grid-column:1/-1;resize:vertical;min-height:110px;line-height:1.8}
.wk-deliver textarea:focus,.wk-deliver input:focus{border-color:var(--copper)}
.wk-deliver .btn{grid-column:1/-1;justify-content:center}
.wk-deliver .ws-actions{margin-top:20px}

.wk-submitted-box{
  border:1px solid var(--line);border-radius:14px;background:var(--paper-raised);
  padding:18px 20px;margin:16px 0 4px;
}
.wk-submitted-box > div + div{margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)}
.wk-submitted-box label{
  display:block;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.18em;
  color:var(--ink-3);text-transform:uppercase;margin-bottom:6px;
}
.wk-submitted-box strong{font-size:13.5px;color:var(--copper-deep);word-break:break-all}
.wk-submitted-box p{font-size:13.5px;color:var(--ink-2);line-height:1.8}
.wk-sub-list{list-style:none;display:flex;flex-direction:column;gap:8px;margin-top:4px}
.wk-sub-list li{
  display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-2);
  background:var(--paper-deep);border:1px solid var(--line);border-radius:10px;padding:9px 12px;
}
.wk-sub-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wk-sub-list .dlv-fic{width:16px;height:16px;flex:none}
.wk-sub-list .dlv-fsize{font-family:var(--f-mono);font-size:11px;color:var(--ink-3)}

/* --- 成果上传区 --- */
.dlv-upload{margin:18px 0 6px}
.dlv-drop{
  display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;
  border:1.5px dashed var(--copper-wash);border-radius:16px;padding:30px 20px;cursor:pointer;
  background:rgba(95,227,192,.04);transition:all .25s var(--ease);
}
.dlv-drop:hover,.dlv-drop.is-drag{border-color:var(--copper);background:rgba(95,227,192,.1)}
.dlv-drop.is-drag{transform:scale(1.01)}
.dlv-drop-ic{width:34px;height:34px;color:var(--copper);stroke-width:1.6}
.dlv-drop-t{font-size:14px;font-weight:600;color:var(--ink)}
.dlv-drop-t b{color:var(--copper-deep);text-decoration:underline;text-underline-offset:3px}
.dlv-drop-s{font-size:11.5px;color:var(--ink-3);max-width:420px}
.dlv-filelist{list-style:none;display:flex;flex-direction:column;gap:9px;margin-top:14px}
.dlv-file{
  display:flex;align-items:center;gap:12px;
  background:var(--paper-raised);border:1px solid var(--line);border-radius:12px;padding:11px 14px;
  animation:cardIn .4s var(--ease) both;
}
.dlv-fic{width:26px;height:26px;flex:none;border-radius:8px;display:flex;align-items:center;justify-content:center}
.dlv-fic .ic{width:15px;height:15px;stroke-width:1.8}
.dlv-audio{background:rgba(95,227,192,.14);color:var(--copper)}
.dlv-image{background:rgba(140,163,184,.16);color:var(--sage)}
.dlv-doc{background:rgba(201,185,143,.16);color:var(--gold)}
.dlv-fname{flex:1;min-width:0;font-size:13.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dlv-fsize{font-family:var(--f-mono);font-size:11px;color:var(--ink-3);flex:none}
.dlv-frm{
  width:28px;height:28px;flex:none;border-radius:8px;border:1px solid var(--line);
  background:transparent;color:var(--ink-3);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;
}
.dlv-frm .ic{width:14px;height:14px;stroke-width:2}
.dlv-frm:hover{border-color:var(--clay);color:var(--clay);background:rgba(226,101,95,.1)}

@media (max-width:860px){
  .wk-countdown{grid-template-columns:1fr;gap:22px}
  .wkc-escrow{max-width:none}
  .wk-tl{grid-template-columns:repeat(2,1fr);gap:18px 10px}
  .wk-tl li:not(:last-child)::before{display:none}
  .wk-deliver .mo-bid-row{grid-template-columns:1fr}
  .wk-empty{padding:70px 0 90px}
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1080px){
  .hero-grid{grid-template-columns:1fr;gap:24px;padding:18px 0 4px}
  .hero-visual{min-height:300px;order:2}
  .hero-text{order:1}
  .spotlight{grid-template-columns:1fr;gap:36px}
  .spot-visual{min-height:200px}
  .wizard{grid-template-columns:1fr}
  .wizard-side{position:static}
  .wizard-steps{flex-direction:row;justify-content:space-between;gap:8px}
  .wizard-steps li{flex-direction:column;gap:8px;text-align:center;flex:1}
  .wizard-steps li:not(:last-child)::before{left:50%;top:37px;bottom:-4px;right:auto;width:auto;height:1.5px}
  .ws-text strong{font-size:12.5px}
  .ws-text em{display:none}
  .wizard-preview{display:none}
  .qr-rec-grid{grid-template-columns:1fr}
}

@media (max-width:860px){
  .header-inner{gap:16px}
  .main-nav{gap:0}
  .nav-link{padding:8px 10px;font-size:13px}
  .header-actions .btn{display:none}
  .orders-grid{grid-template-columns:1fr}
  .type-grid{grid-template-columns:1fr}
  .field-row-3,.field-row-2{grid-template-columns:1fr}
  .opt-grid{grid-template-columns:1fr}
  .mo-specs{grid-template-columns:1fr}
  .mo-specs > div:nth-child(odd){border-right:0}
  .mo-specs > div:nth-child(n+2){border-top:1px solid var(--line)}
  .mo-bid-row{grid-template-columns:1fr}
  .radio-cards{grid-template-columns:1fr}
  .hero-stats{flex-wrap:wrap}
  .hero-stats li{flex:1 1 40%;padding:0 0 14px}
  .hero-stats li + li{border-left:0;padding-left:0}
}

@media (max-width:560px){
  .container{padding:0 18px}
  .brand-text{display:none}
  .hero-grid{gap:18px;padding:14px 0 0}
  .hero-title{font-size:clamp(30px,8vw,42px)}
  .hero-sub{font-size:14px;line-height:1.75}
  .hero-visual{min-height:240px}
  .hero-visual .vinyl-hero{width:min(240px,82%)}
  .agent-window{border-radius:var(--r-lg)}
  .aw-head{flex-wrap:wrap;gap:10px;padding:12px 16px}
  .aw-body{min-height:200px;padding:18px}
  .aw-foot{padding:9px 16px;font-size:10px;flex-wrap:wrap;gap:8px}
  .aw-empty-hints{grid-template-columns:1fr}
  .hero-stats{flex-wrap:wrap}
  .hero-stats li{flex:1 1 40%;padding:0 0 14px}
  .hero-stats li + li{border-left:0;padding-left:0}
  .float-card{left:0;bottom:16px;padding:14px 16px;min-width:150px}
  .fc-value{font-size:22px}
  .now-chip{top:14px;right:0;font-size:9px;padding:8px 13px}
  .spot-meta{gap:22px}
  .budget-row{flex-direction:column;align-items:stretch;gap:18px}
  #budgetOut{min-width:0}
  .modal-card > #modalBody{padding:0 22px 26px}
  .quiz-actions{flex-direction:column-reverse}
  .quiz-actions .btn{width:100%}
  .footer-nav{margin-left:0}
}

/* ---------- Reduced Motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  html{scroll-behavior:auto}
  .vinyl,.qi-mark{animation:none}
}

/* ============================================================
   VIEW 5 / 6 · 登录 & 会员中心（石墨电光 · 补全页）
   ============================================================ */
#view-login,#view-member{
  padding:80px 0 110px;
  background:
    radial-gradient(50rem 26rem at 110% 0%,rgba(95,227,192,.06),transparent 60%),
    radial-gradient(44rem 24rem at -12% 20%,rgba(140,163,184,.05),transparent 60%);
}
.auth-card{
  background:var(--paper-raised);border:1px solid var(--line);
  border-radius:var(--r-xl);padding:clamp(28px,4vw,46px);
  box-shadow:var(--sh-sm);max-width:520px;margin:0 auto;
}
.auth-tabs{display:flex;gap:6px;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:5px;margin-bottom:34px}
.auth-tab{flex:1;padding:11px 16px;border-radius:999px;font-size:13.5px;font-weight:600;color:var(--ink-2);transition:all .25s var(--ease)}
.auth-tab.is-on{background:var(--copper);color:#101315;box-shadow:0 8px 20px -10px rgba(52,196,162,.55)}
.auth-body .field{margin-bottom:20px}
.code-row{display:flex;gap:12px}
.code-row input{flex:1;min-width:0;background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r-md);padding:13px 16px;font-size:14.5px;outline:none;transition:border-color .25s,box-shadow .25s}
.code-row input:focus{border-color:var(--copper);box-shadow:0 0 0 4px rgba(95,227,192,.09)}
.auth-fine{font-size:11.5px;color:var(--ink-3);margin-top:16px;text-align:center;line-height:1.7}
.auth-wechat{text-align:center}
.wx-qr{width:190px;height:190px;margin:0 auto 20px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;box-shadow:var(--sh-sm)}
.wx-qr svg{width:100%;height:100%}
.auth-wechat-tip{font-size:13px;color:var(--ink-2);margin-bottom:24px}

.mem-status{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:linear-gradient(135deg,var(--dark),var(--dark-2));border-radius:var(--r-lg);padding:24px 28px;box-shadow:var(--sh-sm)}
.mem-status.is-active{border:1px solid rgba(95,227,192,.35)}
.mem-status-main{display:flex;align-items:center;gap:16px;min-width:0}
.mem-badge{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.18em;padding:7px 13px;border-radius:999px;background:var(--paper-deep);color:var(--ink-3);border:1px solid var(--line);flex:none}
.mem-status.is-active .mem-badge{background:var(--copper-tint);color:var(--copper-deep);border-color:var(--copper-wash)}
.mem-status-main strong{display:block;font-size:16px;font-weight:600}
.mem-status-main span{font-size:12.5px;color:var(--ink-3)}
.mem-bind{display:block;margin-top:5px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;color:var(--ink-3);text-transform:uppercase}
.mem-status-side{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--ink-2)}
.mem-status-side .ic{width:18px;height:18px;color:var(--sage);stroke-width:1.8}
.mem-status.is-active .mem-status-side .ic{color:var(--copper)}

.mem-activate{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px 28px;margin-top:22px}
.mem-sec-title{font-family:var(--f-display);font-weight:500;font-size:clamp(18px,2vw,22px);margin-bottom:8px;display:flex;align-items:center;gap:9px}
.mem-sec-title .ic{width:17px;height:17px;color:var(--copper-deep)}
.mem-sec-note{font-size:13px;color:var(--ink-3);line-height:1.7;margin-bottom:18px}
.mem-sec-note b{color:var(--copper-deep);font-weight:600}
.mem-active-note{font-size:12.5px;color:var(--copper-deep);margin-top:12px}

.mem-benefits{margin-top:22px}
.mem-ben-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:6px}
.mem-ben{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--r-md);padding:18px 20px;display:flex;flex-direction:column;gap:6px}
.mem-ben-ic{width:34px;height:34px;border-radius:11px;background:var(--copper-tint);color:var(--copper-deep);display:flex;align-items:center;justify-content:center;margin-bottom:4px}
.mem-ben-ic .ic{width:17px;height:17px;stroke-width:1.8}
.mem-ben strong{font-size:14.5px;font-weight:600}
.mem-ben span{font-size:12.5px;color:var(--ink-3);line-height:1.7}

.mem-posts{margin-top:22px}
.mem-post{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--r-md);padding:18px 20px;margin-top:12px}
.mem-post-top{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.mem-post-title{font-family:var(--f-display);font-weight:500;font-size:16px;line-height:1.5}
.mem-post-meta{display:flex;gap:18px;font-size:12px;color:var(--ink-3);margin:8px 0 12px}
.mem-picked{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--copper-deep);background:var(--copper-tint);border:1px solid var(--copper-wash);border-radius:12px;padding:11px 14px}
.mem-picked .ic{width:16px;height:16px}
.mem-empty{font-size:13px;color:var(--ink-3)}
.mem-empty a{text-decoration:underline;text-underline-offset:3px}
.mem-foot{display:flex;justify-content:flex-end;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}

.pick-list{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.pick-item{display:flex;align-items:center;gap:13px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:12px 15px}
.pick-info{flex:1;min-width:0}
.pick-info strong{display:block;font-size:14px;font-weight:600;line-height:1.4}
.pick-info span{font-size:11.5px;color:var(--ink-3);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pick-offer{font-family:var(--f-mono);font-size:13.5px;color:var(--copper-deep);font-weight:500;flex:none}
.pick-chosen{font-size:12.5px;font-weight:600;color:var(--sage);background:var(--sage-tint);border:1px solid rgba(140,163,184,.35);padding:6px 13px;border-radius:999px}

/* ============================================================
   AI 助手聊天框（标准 AI 聊天模式 · 外部 agent 可挂载到 #aiChatMount）
   ============================================================ */
.ai-chat{
  margin:36px auto 12px;
  background:linear-gradient(180deg,var(--paper-raised) 0%,var(--paper) 100%);
  border:1px solid var(--line-strong);
  border-radius:var(--r-xl);
  box-shadow:var(--sh-md);
  overflow:hidden;
  position:relative;
}
.ai-chat::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:repeating-linear-gradient(45deg,transparent 0 22px,rgba(95,227,192,.025) 22px 23px);
}
.ai-chat.is-collapsed .ai-chat-body{display:none}

/* Head */
.ai-chat-head{
  position:relative;z-index:2;
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:14px 20px;
  border-bottom:1px solid var(--line);
  background:rgba(13,15,18,.55);
}
.ai-chat-id{display:flex;align-items:center;gap:12px;min-width:0}
.ai-orb{
  width:34px;height:34px;border-radius:50%;flex:none;
  background:radial-gradient(circle at 32% 28%,var(--copper),var(--copper-deep));
  box-shadow:0 0 0 4px rgba(95,227,192,.14);
  animation:pulse 2.6s ease-in-out infinite;
}
.ai-chat-id-text{min-width:0}
.ai-chat-id-text strong{
  display:block;font-family:var(--f-display);font-size:15px;font-weight:600;color:var(--ink);
  letter-spacing:.02em;
}
.ai-chat-id-text span{
  display:flex;align-items:center;gap:6px;
  font-family:var(--f-mono);font-size:10px;letter-spacing:.18em;color:var(--ink-3);
  text-transform:uppercase;
}
.ai-chat-id-text span em{font-style:normal}
.ai-chat-dot{
  width:7px;height:7px;border-radius:50%;background:var(--copper);
  box-shadow:0 0 0 3px rgba(95,227,192,.18);
}
.ai-chat[data-state="ready"] .ai-chat-dot{background:var(--sage);box-shadow:0 0 0 3px rgba(140,163,184,.25)}
.ai-chat[data-state="error"] .ai-chat-dot{background:#E2655F;box-shadow:0 0 0 3px rgba(226,101,95,.25)}
.ai-chat[data-state="thinking"] .ai-chat-dot{background:var(--gold);box-shadow:0 0 0 3px rgba(201,185,143,.25)}

.ai-chat-tools{display:flex;align-items:center;gap:6px;flex:none}
.ai-chat-tool{
  width:32px;height:32px;border-radius:8px;
  background:transparent;border:1px solid var(--line);
  color:var(--ink-3);display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:.2s;
}
.ai-chat-tool:hover{background:var(--paper-deep);color:var(--ink);border-color:var(--line-strong)}
.ai-chat-tool svg{width:15px;height:15px}
.ai-chat.is-collapsed .ic-collapse{display:none}
.ai-chat:not(.is-collapsed) .ic-expand{display:block}
.ai-chat:not(.is-collapsed) .ic-collapse{display:block}
.ai-chat.is-collapsed .ic-expand{display:block}

/* Body */
.ai-chat-body{
  position:relative;z-index:1;
  display:flex;flex-direction:column;
  background:var(--paper);
}
.ai-chat-mount{
  width:100%;min-height:120px;
  display:flex;align-items:center;justify-content:center;
}
.ai-chat-mount[hidden]{display:none}
.ai-chat-mount > *{width:100%}

/* Messages */
.ai-chat-msgs{
  flex:1;overflow-y:auto;
  padding:20px 22px 8px;
  display:flex;flex-direction:column;gap:14px;
  scroll-behavior:smooth;
  max-height:min(56vh,520px);
  min-height:200px;
}
.ai-chat-msgs::-webkit-scrollbar{width:6px}
.ai-chat-msgs::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:3px}
.ai-chat-msgs::-webkit-scrollbar-track{background:transparent}

.ai-chat-msg{
  display:flex;align-items:flex-start;gap:10px;
  max-width:92%;
  animation:msgIn .28s var(--ease) both;
}
@keyframes msgIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.ai-chat-msg-ai{align-self:flex-start}
.ai-chat-msg-me{align-self:flex-end;flex-direction:row-reverse}

.ai-chat-avatar{
  width:30px;height:30px;border-radius:50%;flex:none;
  background:var(--paper-deep);
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line);
}
.ai-chat-avatar svg{width:22px;height:22px}
.ai-chat-msg-me .ai-chat-avatar{
  background:var(--copper-tint);border-color:var(--copper-wash);
}
.ai-chat-msg-me .ai-chat-avatar svg{display:none}

.ai-chat-bubble{
  padding:11px 14px;border-radius:14px;
  font-size:13.5px;line-height:1.78;color:var(--ink);
  word-break:break-word;
  border:1px solid var(--line);
}
.ai-chat-msg-ai .ai-chat-bubble{
  background:var(--paper-deep);
  border-bottom-left-radius:5px;
}
.ai-chat-msg-me .ai-chat-bubble{
  background:var(--copper);color:#101315;border-color:var(--copper);
  border-bottom-right-radius:5px;
  font-weight:500;
}
.ai-chat-bubble p{margin:0}
.ai-chat-bubble p + p{margin-top:6px}

/* Suggestion chips */
.ai-chat-suggest{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.ai-chat-suggest button{
  font-size:12px;color:var(--ink-2);
  background:var(--paper);border:1px solid var(--line);
  border-radius:999px;padding:5px 11px;cursor:pointer;
  transition:.2s;
}
.ai-chat-suggest button:hover{background:var(--copper-tint);border-color:var(--copper-wash);color:var(--copper-deep)}

/* 诊断驱动 · 题目标签 & 选项控件 */
.ai-chat-kicker{
  display:inline-block;
  font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;
  color:var(--copper-deep);
  background:var(--copper-tint);
  border:1px solid var(--copper-wash);
  border-radius:999px;
  padding:2px 9px;margin-bottom:7px;text-transform:uppercase;
}
.ai-chat-qsub{font-size:12.5px;color:var(--ink-3);line-height:1.6;margin-top:5px}
.ai-chat-qhint{font-size:12.5px;color:var(--ink-3);margin-top:8px}
.ai-chat-ends{display:flex;justify-content:space-between;font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;color:var(--ink-3);margin-top:8px;text-transform:uppercase}
.ai-chat-controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ai-chat-opt{
  text-align:left;font-size:13px;color:var(--ink-2);
  background:var(--paper);border:1px solid var(--line);
  border-radius:12px;padding:9px 13px;cursor:pointer;transition:.18s;line-height:1.5;
}
.ai-chat-opt:hover{background:var(--copper-tint);border-color:var(--copper-wash);color:var(--copper-deep);transform:translateY(-1px)}
.ai-chat-opt.is-on{background:var(--copper);border-color:var(--copper);color:#101315;font-weight:500}
.ai-chat-opt-custom{font-style:italic;color:var(--gold);border-color:rgba(201,185,143,.4)}
.ai-chat-opt-custom:hover{background:rgba(201,185,143,.12);border-color:var(--gold);color:var(--gold)}
.ai-chat-optbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;flex-wrap:wrap}
.ai-chat-count{font-family:var(--f-mono);font-size:11px;color:var(--ink-3);letter-spacing:.06em}
.ai-chat-next{
  font-size:13px;font-weight:600;color:#101315;
  background:var(--copper);border:1px solid var(--copper);
  border-radius:999px;padding:8px 18px;cursor:pointer;transition:.18s;
}
.ai-chat-next:hover{background:var(--copper-deep);border-color:var(--copper-deep);transform:translateY(-1px)}
.ai-chat-scale{
  width:42px;height:42px;font-family:var(--f-display);font-size:16px;font-weight:600;
  color:var(--ink-2);background:var(--paper);
  border:1px solid var(--line);border-radius:12px;cursor:pointer;transition:.18s;
}
.ai-chat-scale:hover{background:var(--copper-tint);border-color:var(--copper-wash);color:var(--copper-deep)}
.ai-chat-scale.is-on{background:var(--copper);border-color:var(--copper);color:#101315}
/* 诊断进行中精简面板 */
.quiz-running{text-align:center;padding:18px 6px 6px}
.quiz-running .eyebrow{justify-content:center}
.quiz-running h2{margin:10px 0 8px}
.quiz-running .lede{margin:0 auto;max-width:560px}

/* Typing indicator */
.ai-chat-typing{
  display:flex;align-items:center;gap:5px;
  padding:6px 22px 0;
  font-family:var(--f-mono);font-size:11px;color:var(--ink-3);
  letter-spacing:.04em;
}
.ai-chat-typing[hidden]{display:none}
.ai-chat-typing em{font-style:normal;margin-left:4px}
.t-dot{
  width:6px;height:6px;border-radius:50%;background:var(--ink-3);
  animation:typing 1.2s ease-in-out infinite;
}
.t-dot:nth-child(2){animation-delay:.18s}
.t-dot:nth-child(3){animation-delay:.36s}
@keyframes typing{
  0%,60%,100%{opacity:.3;transform:translateY(0)}
  30%{opacity:1;transform:translateY(-3px)}
}

/* Input */
.ai-chat-input{
  position:relative;
  display:flex;align-items:flex-end;gap:8px;
  padding:14px 18px;border-top:1px solid var(--line);
  background:var(--paper-raised);
}
.ai-chat-input textarea{
  flex:1;min-width:0;
  background:var(--paper);
  border:1.5px solid var(--line);
  border-radius:14px;
  padding:10px 14px;
  font-family:inherit;font-size:13.5px;line-height:1.6;
  color:var(--ink);outline:none;resize:none;
  max-height:160px;
  transition:border-color .2s,box-shadow .2s;
}
.ai-chat-input textarea:focus{
  border-color:var(--copper);
  box-shadow:0 0 0 4px rgba(95,227,192,.1);
}
.ai-chat-input textarea::placeholder{color:var(--ink-3)}
.ai-chat-send{
  flex:none;
  width:40px;height:40px;border-radius:12px;
  background:var(--copper);color:#101315;
  border:1px solid var(--copper);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:.2s;
}
.ai-chat-send:hover{background:var(--copper-deep);border-color:var(--copper-deep);transform:translateY(-1px)}
.ai-chat-send:disabled{opacity:.5;cursor:not-allowed;transform:none}
.ai-chat-send svg{width:18px;height:18px;fill:currentColor}

/* 560px 适配 */
@media (max-width:560px){
  .ai-chat{border-radius:var(--r-lg);margin-top:24px}
  .ai-chat-head{padding:12px 16px}
  .ai-chat-msgs{padding:16px 14px 6px;max-height:min(50vh,420px)}
  .ai-chat-input{padding:10px 12px}
  .ai-chat-input textarea{font-size:14px;padding:9px 12px}
}

/* ============================================================
   广告位招商（沿用原 agent-window 视觉骨架）
   ============================================================ */
.ad-reserve{
  position:relative;
  background:linear-gradient(180deg,var(--paper-raised) 0%,var(--paper) 100%);
  border:1px solid var(--line-strong);
  border-radius:var(--r-xl);
  margin:32px 0 8px;
  box-shadow:var(--sh-md);
  overflow:hidden;
}
.ad-reserve::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:repeating-linear-gradient(45deg,transparent 0 22px,rgba(201,185,143,.025) 22px 23px);
}
.ar-head{
  position:relative;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px 22px;
  border-bottom:1px solid var(--line);
  background:rgba(13,15,18,.5);
}
.ar-title{display:flex;align-items:center;gap:12px;min-width:0}
.ar-pulse{
  width:10px;height:10px;border-radius:50%;
  background:var(--gold);box-shadow:0 0 0 4px rgba(201,185,143,.22);
  animation:pulse 2.4s ease-in-out infinite;flex:none;
}
.ar-title strong{font-family:var(--f-display);font-size:16px;font-weight:600;color:var(--ink);letter-spacing:.02em}
.ar-sub{font-family:var(--f-mono);font-size:10px;letter-spacing:.22em;color:var(--ink-3);text-transform:uppercase}
.ar-meta{display:flex;align-items:center;gap:10px;flex:none}
.ar-status{
  font-family:var(--f-mono);font-size:10.5px;letter-spacing:.16em;
  color:var(--gold);background:rgba(201,185,143,.10);
  border:1px solid rgba(201,185,143,.35);
  padding:4px 10px;border-radius:999px;
}
.ar-status[data-state="booked"]{color:var(--sage);background:rgba(140,163,184,.12);border-color:rgba(140,163,184,.4)}
.ar-version{font-family:var(--f-mono);font-size:10.5px;color:var(--ink-3)}

.ar-body{
  position:relative;min-height:240px;
  display:flex;align-items:center;justify-content:center;
  padding:28px 22px;
}
.ar-empty{
  width:100%;max-width:620px;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:10px;
  color:var(--ink-3);
}
.ar-empty svg{width:54px;height:54px;color:var(--gold);opacity:.75;margin-bottom:6px}
.ar-empty-title{font-family:var(--f-display);font-size:18px;font-weight:500;color:var(--ink-2)}
.ar-empty small{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;max-width:520px}
.ar-empty .btn{margin-top:14px}
.ar-empty-hints{
  display:grid;grid-template-columns:repeat(2,1fr);gap:8px 14px;
  margin-top:16px;width:100%;
  list-style:none;padding:0;
}
.ar-empty-hints li{
  font-size:12.5px;color:var(--ink-2);
  background:var(--paper);border:1px dashed var(--line);
  border-radius:10px;padding:10px 12px;text-align:left;
  display:flex;align-items:center;gap:8px;
}
.ar-empty-hints code{
  font-family:var(--f-mono);font-size:10.5px;letter-spacing:.04em;
  color:var(--gold);background:rgba(201,185,143,.12);
  padding:2px 7px;border-radius:6px;flex:none;
}

.ar-foot{
  position:relative;
  display:flex;align-items:center;justify-content:center;gap:10px;
  padding:10px 22px;border-top:1px solid var(--line);
  font-family:var(--f-mono);font-size:10.5px;letter-spacing:.14em;
  color:var(--ink-3);background:rgba(13,15,18,.4);
}
.ar-foot code{
  font-family:inherit;color:var(--ink-2);
  background:var(--paper);border:1px solid var(--line);
  padding:2px 7px;border-radius:5px;letter-spacing:.04em;
}
.ar-foot-sep{color:var(--line-strong)}

@media (max-width:560px){
  .ad-reserve{border-radius:var(--r-lg)}
  .ar-head{flex-wrap:wrap;gap:10px;padding:12px 16px}
  .ar-body{min-height:200px;padding:18px}
  .ar-foot{padding:9px 16px;font-size:10px;flex-wrap:wrap;gap:8px}
  .ar-empty-hints{grid-template-columns:1fr}
}
/* ============================================================
   作品分类两行筛选（类型 + 风格）
   ============================================================ */
.cat-pills-style{margin-top:8px}
.cat-pills .pill{padding:8px 14px;font-size:13px}
.cat-pills .pill.is-active{background:var(--copper);color:#101315;border-color:var(--copper);box-shadow:0 6px 16px -8px rgba(52,196,162,.5)}

/* ============================================================
   发单方审阅面板：应单人作品 + 否决/要求修改/接受
   ============================================================ */
.applicant-list{display:flex;flex-direction:column;gap:14px;margin-top:10px}
.applicant-card{background:var(--paper-deep);border:1px solid var(--line);border-radius:var(--r-md);padding:18px 20px;transition:border-color .25s,opacity .25s}
.applicant-card.is-rejected{opacity:.7;border-color:rgba(226,101,95,.25)}
.applicant-card.is-changes{border-color:rgba(201,185,143,.3)}
.app-head{display:flex;align-items:center;gap:13px;margin-bottom:10px;flex-wrap:wrap}
.app-id{flex:1;min-width:0}
.app-id strong{display:block;font-size:14.5px;font-weight:600;line-height:1.4}
.app-id span{font-size:11.5px;color:var(--ink-3)}
.app-offer{font-family:var(--f-mono);font-size:13.5px;color:var(--copper-deep);font-weight:500;flex:none}
.app-status{font-size:12px;font-weight:600;padding:5px 12px;border-radius:999px;flex:none;letter-spacing:.04em}
.app-status.st-accept{color:var(--copper-deep);background:var(--copper-tint);border:1px solid var(--copper-wash)}
.app-status.st-reject{color:#E2655F;background:#2A1B1A;border:1px solid rgba(226,101,95,.35)}
.app-status.st-modify{color:var(--gold);background:var(--gold-tint);border:1px solid rgba(201,185,143,.35)}
.app-msg{margin:6px 0 12px;padding:10px 14px;background:var(--paper);border-left:3px solid var(--copper);border-radius:0 10px 10px 0;font-size:13px;color:var(--ink-2);line-height:1.7;font-style:italic}
.app-work-label{font-family:var(--f-mono);font-size:10.5px;color:var(--ink-3);letter-spacing:.18em;margin-bottom:8px;text-transform:uppercase}
.app-work-link{display:inline-block;font-size:12.5px;color:var(--copper-deep);background:var(--copper-tint);border:1px solid var(--copper-wash);padding:7px 12px;border-radius:10px;text-decoration:none;word-break:break-all;max-width:100%;transition:background .25s}
.app-work-link:hover{background:var(--copper-wash)}
.app-work-files{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.app-work-file{display:inline-flex;align-items:center;gap:9px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:7px 12px;font-size:12px;color:var(--ink-2)}
.app-work-file em{color:var(--ink-3);font-style:normal;font-size:11px}
.app-work-file .file-ico{width:14px;height:14px;border-radius:4px;display:inline-block}
.app-work-empty{font-size:12.5px;color:var(--ink-3);margin:4px 0 0}
.app-note{font-size:12.5px;color:var(--ink-2);background:var(--paper);border:1px dashed var(--line);border-radius:10px;padding:10px 13px;margin-top:10px;line-height:1.7}
.app-actions{display:flex;gap:9px;margin-top:14px;flex-wrap:wrap}
.btn-clay{background:var(--clay);color:#fff;border:1px solid var(--clay)}
.btn-clay:hover{background:#d8554f;border-color:#d8554f;color:#fff;transform:translateY(-1px)}

/* ============================================================
   否决 / 要求修改 表单
   ============================================================ */
.review-form{display:flex;flex-direction:column;gap:14px;margin-top:18px}
.review-form .field{margin:0}
.review-form .field>span{display:block;font-size:13px;color:var(--ink-2);margin-bottom:8px}
.review-form textarea{width:100%;min-height:140px;background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r-md);padding:14px 16px;font-family:inherit;font-size:13.5px;line-height:1.8;color:var(--ink);outline:none;resize:vertical;transition:border-color .25s,box-shadow .25s}
.review-form textarea:focus{border-color:var(--copper);box-shadow:0 0 0 4px rgba(95,227,192,.08)}
.review-actions{display:flex;justify-content:flex-end;gap:10px}

/* ============================================================
   顶部官方公告栏（可带图 · 自动轮播）
   ============================================================ */
.ann-bar{position:relative;z-index:90;background:linear-gradient(90deg,var(--dark),var(--dark-2));border-bottom:1px solid var(--line);color:var(--ink)}
.ann-inner{max-width:1280px;margin:0 auto;padding:9px 22px;display:flex;align-items:center;gap:14px}
.ann-tag{flex:none;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.16em;color:var(--copper-deep);background:var(--copper-tint);border:1px solid var(--copper-wash);padding:5px 11px;border-radius:999px}
.ann-track{flex:1;min-width:0;position:relative;height:40px;overflow:hidden}
.ann-item{position:absolute;inset:0;display:flex;align-items:center;gap:12px;opacity:0;transform:translateY(6px);transition:opacity .4s var(--ease),transform .4s var(--ease);pointer-events:none}
.ann-item.is-on{opacity:1;transform:none;pointer-events:auto}
.ann-thumb{flex:none;width:34px;height:34px;border-radius:8px;object-fit:cover;border:1px solid var(--line)}
.ann-thumb-svg{flex:none;width:34px;height:34px;border-radius:8px;overflow:hidden;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;background:var(--paper-deep)}
.ann-text{flex:1;min-width:0;font-size:13px;color:var(--ink);line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ann-text b{color:var(--copper-deep);font-weight:600;margin-right:8px}
.ann-dots{flex:none;display:flex;align-items:center;gap:6px}
.ann-dot{width:7px;height:7px;border-radius:50%;background:var(--line-strong);border:0;padding:0;cursor:pointer;transition:background .25s,transform .25s}
.ann-dot.is-on{background:var(--copper);transform:scale(1.15)}
.ann-close{flex:none;width:30px;height:30px;border-radius:50%;background:var(--paper);border:1px solid var(--line);color:var(--ink-2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s}
.ann-close:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.ann-close .ic{width:13px;height:13px}

/* ============================================================
   广告预留位（中部 · 通栏）
   ============================================================ */
.ad-slot{
  display:flex;align-items:center;gap:18px;margin:24px 0 4px;padding:20px 24px;
  border:1.5px dashed var(--line-strong);border-radius:var(--r-lg);
  background:var(--paper-raised);position:relative;overflow:hidden;min-height:96px;
}
.ad-flag{position:absolute;top:9px;left:12px;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.16em;color:var(--ink-3)}
.ad-art{flex:none;width:118px;height:58px;border-radius:10px;background:linear-gradient(135deg,var(--copper-tint),var(--sage-tint));display:flex;align-items:center;justify-content:center;border:1px solid var(--line)}
.ad-art svg{width:30px;height:30px;fill:none;stroke:var(--ink-3);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ad-copy{flex:1;min-width:0}
.ad-title{font-family:var(--f-display);font-size:17px;font-weight:500;color:var(--ink-2)}
.ad-sub{font-size:12.5px;color:var(--ink-3);margin-top:4px;line-height:1.6}
.ad-slot-unlocked{position:absolute;top:9px;right:12px;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.14em;color:var(--copper-deep);background:var(--copper-tint);border:1px solid var(--copper-wash);padding:4px 9px;border-radius:999px}

@media (max-width:560px){
  .ad-slot{flex-direction:column;align-items:flex-start;gap:12px;padding-top:34px}
  .ad-copy{padding-left:0}
  .ad-art{width:100%;height:54px}
}

/* ============================================================
   推荐创作人预留位（付费推荐 · 平台代传资料）
   ============================================================ */
.rc-section{margin:26px 0 2px}
.rc-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.rc-title{font-family:var(--f-display);font-size:clamp(22px,3vw,30px);font-weight:500;color:var(--ink);margin-top:6px}
.rc-title em{font-style:normal;color:var(--copper-deep)}
.rc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.rc-card{background:var(--paper-raised);border:1.5px dashed var(--line-strong);border-radius:var(--r-lg);padding:24px 20px;text-align:center;cursor:pointer;transition:border-color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease);position:relative;overflow:hidden}
.rc-card:hover{border-color:var(--copper);transform:translateY(-3px);box-shadow:var(--sh-sm)}
.rc-avatar{width:56px;height:56px;border-radius:50%;margin:0 auto 14px;background:var(--copper-tint);display:flex;align-items:center;justify-content:center}
.rc-avatar svg{width:30px;height:30px;fill:none;stroke:var(--ink-3);stroke-width:1.6;stroke-linecap:round}
.rc-name{font-family:var(--f-display);font-size:15px;font-weight:500;color:var(--ink-2)}
.rc-tag{font-family:var(--f-mono);font-size:10px;letter-spacing:.16em;color:var(--ink-3);margin-top:5px}
.rc-buy{display:inline-block;margin-top:14px;font-size:12.5px;color:var(--copper-deep);border:1px solid var(--copper-wash);background:var(--copper-tint);padding:6px 13px;border-radius:999px;opacity:0;transform:translateY(6px);transition:opacity .25s var(--ease),transform .25s var(--ease)}
.rc-card:hover .rc-buy{opacity:1;transform:none}
.rc-card.real{border-style:solid;text-align:left;cursor:default}
.rc-card.real:hover{transform:none}
.rc-card.real .rc-avatar{margin:0 0 14px}
.rc-avatar img{width:56px;height:56px;border-radius:50%;object-fit:cover;display:block}
.rc-tags{font-size:11.5px;color:var(--copper-deep);margin-top:6px;line-height:1.5}
.rc-intro{font-size:12.5px;color:var(--ink-3);margin-top:8px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rc-card .rc-buy.keep{opacity:1;transform:none;margin-top:14px}
.rc-foot{font-size:12px;color:var(--ink-3);margin-top:14px}

@media (max-width:760px){ .rc-grid{grid-template-columns:repeat(2,1fr)} }

/* ============================================================
   POST VIEW · 发布页双标签 + 发单方审核台
   ============================================================ */
.post-tabs{display:flex;gap:6px;justify-content:center;margin:0 auto 38px;padding:5px;background:var(--paper-deep);border:1px solid var(--line);border-radius:999px;width:max-content;max-width:100%}
.post-tab{appearance:none;border:0;background:transparent;cursor:pointer;font-family:var(--f-body);font-size:14px;font-weight:500;color:var(--ink-3);padding:10px 22px;border-radius:999px;display:inline-flex;align-items:center;gap:8px;transition:color .25s var(--ease),background .25s var(--ease)}
.post-tab:hover{color:var(--ink-2)}
.post-tab.is-active{color:#101315;background:var(--copper);box-shadow:0 8px 20px -10px rgba(95,227,192,.6)}
.post-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;font-family:var(--f-mono);font-size:11px;font-weight:600;line-height:1;color:#101315;background:var(--gold);border-radius:999px}

.owner-desk{margin-top:14px;animation:odIn .4s var(--ease) both}
@keyframes odIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.od-empty{text-align:center;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--r-lg);padding:54px 28px}
.od-empty .lede{margin:16px auto 22px}
.od-actions{display:flex;justify-content:center}
.od-head{text-align:center;margin-bottom:34px}
.od-head .lede{margin:16px auto 0}

.od-list{display:flex;flex-direction:column;gap:16px}
.owner-desk-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:border-color .25s var(--ease),box-shadow .25s var(--ease)}
.owner-desk-card.is-open{border-color:var(--copper-wash);box-shadow:var(--sh-sm)}
.odc-head{width:100%;appearance:none;border:0;background:transparent;cursor:pointer;text-align:left;display:flex;align-items:center;gap:18px;padding:18px 22px;color:var(--ink);transition:background .2s var(--ease)}
.odc-head:hover{background:var(--paper-deep)}
.odc-id{display:flex;flex-direction:column;gap:7px;align-items:flex-start;flex:none}
.odc-main{flex:1;min-width:0}
.odc-title{font-family:var(--f-display);font-size:17px;font-weight:500;line-height:1.35;margin:0 0 7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.odc-meta{display:flex;gap:14px;flex-wrap:wrap;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.04em;color:var(--ink-3)}
.odc-meta span{position:relative}
.odc-meta span+span::before{content:"";position:absolute;left:-9px;top:50%;width:3px;height:3px;border-radius:50%;background:var(--line-strong);transform:translateY(-50%)}
.odc-aside{display:flex;align-items:center;gap:12px;flex:none}
.odc-pending{font-family:var(--f-mono);font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--copper-deep);background:var(--copper-tint);border:1px solid var(--copper-wash);padding:5px 11px;border-radius:999px}
.odc-chevron{width:10px;height:10px;border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);transform:rotate(45deg);transition:transform .25s var(--ease);flex:none;margin-top:-3px}
.owner-desk-card.is-open .odc-chevron{transform:rotate(-135deg);margin-top:3px}

.odc-body{padding:18px 22px 22px;border-top:1px solid var(--line);background:var(--copper-tint)}
.odc-body .mo-bid-note{margin-top:0}
.odc-body .applicant-list{margin-top:12px}
.odc-body .applicant-card{background:var(--paper-deep)}

@media (max-width:640px){
  .odc-head{gap:12px;padding:15px 16px}
  .odc-meta{gap:10px}
  .odc-title{font-size:15px;white-space:normal}
  .odc-body{padding:16px 16px 18px}
  .post-tab{padding:9px 16px;font-size:13px}
}

/* ============================================================
   用户专长 · 适配度设置弹窗
   ============================================================ */
.pf-setup{padding:6px 2px 2px}
.pf-setup .mo-title{margin:6px 0 0}
.pf-h{display:flex;align-items:baseline;gap:8px;margin:22px 0 12px;font-size:14px;font-weight:600;color:var(--ink);letter-spacing:.01em}
.pf-h small{font-weight:400;color:var(--ink-3);font-size:12px}
.pf-dirs{display:flex;flex-wrap:wrap;gap:9px}
.pf-dir{padding:9px 15px;font-size:13.5px;font-weight:500;color:var(--ink-2);background:var(--paper-raised);border:1px solid var(--line);border-radius:999px;cursor:pointer;transition:all var(--ease) .18s}
.pf-dir:hover{border-color:var(--line-strong);color:var(--ink)}
.pf-dir.is-on{color:#0E1413;background:var(--copper);border-color:var(--copper);box-shadow:0 6px 18px -8px var(--copper-wash)}
.pf-text{width:100%;min-height:104px;resize:vertical;padding:13px 15px;font-family:var(--f-body);font-size:14px;line-height:1.6;color:var(--ink);background:var(--paper-deep);border:1px solid var(--line);border-radius:var(--r-md);transition:border-color var(--ease) .18s}
.pf-text::placeholder{color:var(--ink-3)}
.pf-text:focus{outline:none;border-color:var(--copper);box-shadow:0 0 0 3px var(--copper-wash)}
.pf-row{display:flex;align-items:center;gap:12px;margin-top:12px}
.pf-row .btn-ghost{border-color:var(--line-strong);color:var(--ink)}
.pf-row .btn-ghost:hover{border-color:var(--copper);color:var(--copper)}
.pf-hint{font-size:12.5px;color:var(--ink-3)}
.pf-tags{display:flex;flex-wrap:wrap;gap:8px;min-height:40px;align-items:center;padding:12px 14px;background:var(--paper-deep);border:1px dashed var(--line);border-radius:var(--r-md)}
.pf-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;color:var(--ink);background:var(--copper-tint);border:1px solid var(--copper-wash);border-radius:999px;cursor:pointer;transition:all var(--ease) .16s}
.pf-tag:hover{background:var(--copper-wash)}
.pf-tag svg{width:13px;height:13px;opacity:.7}
.pf-tag-ai{color:var(--gold);background:var(--gold-tint);border-color:rgba(201,185,143,.3)}
.pf-empty{font-size:12.5px;color:var(--ink-3)}
.pf-foot{margin-top:22px}

/* 会员中心 · 我的专长 */
.mem-profile{margin:20px 0;padding:18px 20px;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--r-lg)}
.mem-pf-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.mem-pf-head .mem-sec-title{margin:0}
.mem-pf-note{margin:8px 0 12px;font-size:12.5px;color:var(--ink-3)}
.mem-pf-tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.mem-pf-tags .pf-tag{cursor:default}

/* ============================================================
   广告位 · IAB 标准尺寸（全站通用）
   每个位置 = 桌面标准位 + 移动标准位，窄屏自动切换
   ============================================================ */
.ad-unit{
  --ad-w:728px;  --ad-h:90px;    /* 桌面标准位 */
  --ad-mw:320px; --ad-mh:100px;  /* 移动标准位 */
  width:100%;max-width:var(--ad-w);margin:26px auto;
}
.ad-unit[data-ad="billboard"]{--ad-w:970px;--ad-h:250px;--ad-mw:320px;--ad-mh:100px}
.ad-unit[data-ad="superleader"]{--ad-w:970px;--ad-h:90px;--ad-mw:320px;--ad-mh:100px}
.ad-unit[data-ad="leaderboard"]{--ad-w:728px;--ad-h:90px;--ad-mw:320px;--ad-mh:100px}
.ad-unit[data-ad="rect"]{--ad-w:300px;--ad-h:250px;--ad-mw:300px;--ad-mh:250px}
.ad-unit[data-ad="halfpage"]{--ad-w:300px;--ad-h:600px;--ad-mw:300px;--ad-mh:250px}

.ad-unit-frame{
  position:relative;
  width:100%;max-width:var(--ad-w);height:var(--ad-h);
  margin:0 auto;padding:10px 12px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  text-align:center;overflow:hidden;
  border:1px dashed var(--line-strong);border-radius:var(--r-md);
  background:
    repeating-linear-gradient(135deg, rgba(95,227,192,.035) 0 10px, transparent 10px 20px),
    var(--paper-raised);
  color:var(--ink-3);
  transition:height .28s ease,max-width .28s ease;
}
.ad-unit-frame::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 120% at 50% 0%, rgba(95,227,192,.05), transparent 55%);
}
.ad-unit-tag{
  position:absolute;top:8px;left:12px;
  font-family:var(--f-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--copper-deep);
}
.ad-unit-line{display:flex;flex-direction:column;align-items:center;gap:2px}
.ad-unit-line b{font-family:var(--f-mono);font-size:15px;font-weight:600;letter-spacing:.06em;color:var(--ink-2)}
.ad-unit-line i{font-style:normal;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.ad-unit-line-m{display:none}
.ad-unit-ph{font-size:12px;color:var(--ink-3)}

/* 窄屏 → 切换移动标准位 */
@media (max-width:820px){
  .ad-unit{max-width:var(--ad-mw);margin:20px auto}
  .ad-unit-frame{max-width:var(--ad-mw);height:var(--ad-mh);gap:3px;padding:8px 10px}
  .ad-unit-line-d{display:none}
  .ad-unit-line-m{display:flex}
  .ad-unit-line b{font-size:13px}
  .ad-unit-ph{font-size:11px}
}

/* ============================================================
   广告上线态：容器拿到 .is-ad-filled 后隐藏招商占位皮，
   只留真实创意。下线（移除该 class）自动恢复招商态。
   ============================================================ */

/* 1) 标准位 .ad-unit：去掉虚线框 / 斜纹底 / 占位文字，撑满标准尺寸 */
.ad-unit.is-ad-filled .ad-unit-frame{
  padding:0;
  border-style:solid;border-color:transparent;
  background:var(--paper-raised);
  overflow:hidden;
}
.ad-unit.is-ad-filled .ad-unit-frame::after{display:none}
.ad-unit.is-ad-filled .ad-unit-tag,
.ad-unit.is-ad-filled .ad-unit-line,
.ad-unit.is-ad-filled .ad-unit-ph{display:none}
.ad-unit-frame > iframe,.ad-unit-frame > a,.ad-unit-frame > img,
.ad-unit-frame > div,.ad-unit-frame > ins{display:block;width:100%;height:100%;object-fit:cover}

/* 2) 大厅 Hero 招商卡 #adReserve：换成创意，隐藏招商内容
      高度按 billboard 标准：桌面 250 / 移动 100 */
.ar-ad{display:none;width:100%;height:250px}
.ad-reserve.is-ad-filled .ar-empty{display:none}
.ad-reserve.is-ad-filled .ar-ad{display:block}
.ad-reserve.is-ad-filled .ar-sub::after{content:' · 投放中'}
.ad-reserve.is-ad-filled .ar-body{padding:0}
.ad-reserve.is-ad-filled .ar-body > .ar-ad > *{display:block;width:100%;height:100%;object-fit:cover}

/* 3) 大厅中部通栏卡 .ad-slot[data-ad="mid"]：隐藏图标 + 文案 + PREBOOK
      高度按 leaderboard 标准：桌面 90 / 移动 100 */
.ad-slot-ad{display:none;width:100%;height:90px}
.ad-slot.is-ad-filled{flex-direction:column;align-items:stretch;padding:0;min-height:0}
.ad-slot.is-ad-filled .ad-flag,
.ad-slot.is-ad-filled .ad-art,
.ad-slot.is-ad-filled .ad-copy,
.ad-slot.is-ad-filled .ad-slot-unlocked{display:none}
.ad-slot.is-ad-filled .ad-slot-ad{display:block}
.ad-slot.is-ad-filled .ad-slot-ad > *{display:block;width:100%;height:100%;object-fit:cover}

/* 上线态 · 窄屏高度跟随移动标准位 */
@media (max-width:820px){
  .ar-ad{height:100px}
  .ad-slot-ad{height:100px}
}

/* ---------- 商单详情 · 甲方参考素材区 ---------- */
.mo-media{margin-top:16px;border-top:1px dashed var(--line-strong);padding-top:14px}
.mo-media-label{font-size:11.5px;letter-spacing:.12em;color:var(--ink-3);margin-bottom:10px}
.mo-media-grid{display:flex;flex-wrap:wrap;gap:10px}
.mo-media-item{flex:1 1 240px;min-width:220px;border:1px solid var(--line-strong);border-radius:var(--r-md);padding:10px 12px;background:var(--paper-raised)}
.mo-media-item .mo-media-name{display:flex;align-items:center;gap:6px;word-break:break-all;margin-bottom:2px}
.mo-media-img img{width:120px;height:120px;object-fit:cover;border-radius:var(--r-md);display:block;border:1px solid var(--line-strong)}
.mo-media-img:hover img{border-color:var(--copper)}
