@layer assembly-sequence {
  .assembly-launch { padding:22px 27px; align-items:center; border-bottom:1px solid #cbd0bf; }
  .assembly-launch>div { display:flex; align-items:center; gap:18px; }
  .assembly-questions { margin:0; }
  .assembly-trigger { background:transparent; color:#34462b; border-color:#a6b394; }
  .assembly-trigger:hover { background:#f4f6ed; }
  .assembly-timeline { padding:18px 27px; background:#f3f4ec; }
  .assembly-timeline button { font-size:.75rem; }
  .assembly-viewport { padding:50px 28px 60px; position:relative; }
  .assembly-world { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; height:595px; align-items:start; transform:none; }
  .assembly.is-expanded .assembly-world { transform:rotateX(4deg) rotateY(-8deg) scale(.94); }
  .assembly .assembly-pane { position:relative; inset:auto; width:auto; height:535px; margin:0; --focus-depth:0px; transition:opacity 460ms,transform 800ms cubic-bezier(.18,.8,.24,1); transition-delay:0ms; }
  .assembly.is-expanded .assembly-pane { transform:translate3d(0,22px,0) rotateY(-10deg); }
  .assembly.is-expanded .pane-context { transform:translate3d(0,12px,0) rotateY(-10deg); }
  .assembly.is-expanded .pane-knowledge { transform:translate3d(0,2px,0) rotateY(-10deg); }
  .assembly.is-expanded .pane-reply { transform:translate3d(0,-8px,0) rotateY(-10deg); }
  .assembly.is-expanded .assembly-pane.is-current { transform:translate3d(0,-6px,28px) rotateY(-6deg); }
  .assembly-enhanced.is-expanded .assembly-pane[data-state="pending"] { opacity:0; visibility:hidden; pointer-events:none; transform:translate3d(-22px,65px,-100px) rotateY(-28deg) scale(.91); }
  .assembly .assembly-pane:not([data-state="pending"]) { opacity:1; visibility:visible; pointer-events:auto; }
  .assembly .pane-face { border:1px solid #bac6aa; border-radius:4px; }
  .assembly .pane-header { padding:0 13px; height:44px; }
  .assembly .pane-header strong { font-size:.8125rem; }
  .assembly .pane-body { padding:16px 13px 12px; height:calc(100% - 102px); }
  .assembly .pane-kicker { margin-bottom:14px; }
  .assembly .pane-chat-row { margin-top:18px; }
  .assembly .pane-buyer-message { font-size:.875rem; padding:11px; line-height:1.75; }
  .assembly .pane-validation { margin-top:16px; padding-top:12px; }
  .assembly .pane-product { gap:9px; padding-bottom:10px; }
  .assembly .pane-product svg { width:34px; height:50px; }
  .assembly .pane-scope { margin-top:12px; }
  .assembly .pane-mini-route { margin-top:15px; }
  .assembly .pane-document { padding:12px 10px; margin-top:13px; }
  .assembly .pane-document p { margin-top:10px; font-size:.8125rem; line-height:1.9; }
  .assembly .pane-search { font-size:.6875rem; line-height:1.7; padding:8px; }
  .assembly .pane-source-tag { font-size:.6875rem; margin-top:12px; }
  .assembly .pane-reply-text { padding:10px; font-size:.8125rem; min-height:124px; margin-top:12px; }
  .assembly .pane-reply-author { margin-top:12px; }
  .assembly .pane-send-checks { font-size:.6875rem; margin-top:12px; }
  .assembly .pane-receipt { margin-top:10px; }
  .assembly .pane-id { line-height:1.7; }
  .pane-loading { display:flex; align-items:center; gap:7px; position:relative; height:58px; padding:8px 12px; border-bottom:1px solid #d7decc; background:#f5f7ee; color:#526c3b; }
  .pane-loading::after { content:''; position:absolute; bottom:-1px; left:0; right:0; height:3px; background:#708c4f; transform:scaleX(var(--card-progress,0)); transform-origin:left; }
  .pane-loading span { font-size:.6875rem; line-height:1.6; flex:1; }
  .pane-loading b { font-size:.625rem; font-weight:400; font-variant-numeric:tabular-nums; }
  .pane-loading i { width:15px; height:15px; border:2px solid #cbd9ba; border-top-color:#567e35; border-radius:50%; flex-shrink:0; animation:sequence-load 850ms linear infinite; animation-play-state:paused; }
  .assembly.is-running .assembly-pane.is-current .pane-loading i { animation-play-state:running; }
  .assembly-pane[data-state="done"] .pane-loading i { border:0; animation:none; color:#557437; }
  .assembly-pane[data-state="done"] .pane-loading i::after { content:'✓'; font-size:.875rem; font-style:normal; }
  .assembly-pane[data-state="done"] .pane-loading { background:#edf2e3; }
  .assembly-pane[data-state="done"] .pane-header-mark { font-size:0; }
  .assembly-pane[data-state="done"] .pane-header-mark::after { content:'已完成'; font-size:.5625rem; }
  @keyframes sequence-load { to { transform:rotate(360deg); } }
  .pane-extracted { padding:10px; margin-top:16px; border-left:2px solid #8a9f6c; background:#edf1e5; }
  .pane-extracted small { display:block; font-size:.625rem; color:#707f5f; margin-bottom:5px; }
  .pane-extracted strong { display:block; font-size:.75rem; line-height:1.7; font-weight:500; color:#435d2e; }
  .pane-facts { margin-top:14px; display:grid; gap:7px; }
  .pane-facts>span { display:flex; align-items:center; gap:8px; padding:7px 9px; border:1px solid #cdd9bc; background:#edf3e2; }
  .pane-facts i { font-style:normal; font-size:.625rem; color:#7a8a66; }
  .pane-facts b { font-weight:500; font-size:.75rem; color:#445f31; }
  .pane-inputs { display:flex; flex-wrap:wrap; gap:4px; align-items:center; }
  .pane-inputs small { font-size:.5625rem; color:#718360; width:100%; margin-bottom:3px; }
  .pane-inputs>span { font-size:.625rem; border:1px solid #c6d5b3; padding:3px 6px; color:#4e6d35; background:#eff4e7; }
  .assembly-enhanced [data-reveal-step] { opacity:0; transform:translateY(8px); transition:opacity 350ms,transform 450ms; }
  .assembly-enhanced [data-reveal-step].is-revealed { opacity:1; transform:none; }
  .pane-connector { position:absolute; width:34px; left:calc(100% + 1px); top:47%; opacity:0; pointer-events:none; transform:translateZ(-8px); }
  .pane-connector svg { width:100%; height:24px; overflow:visible; }
  .pane-connector path { stroke:#728d50; stroke-width:1.7; stroke-dasharray:1; stroke-dashoffset:calc(1 - var(--link-progress,0)); }
  .assembly-pane.is-linked .pane-connector,.assembly-pane.is-linking .pane-connector { opacity:1; }
  .assembly-pane.is-linking .pane-connector path { stroke:#416726; stroke-width:2.5; }
  .assembly .assembly-frame { inset:-15px -10px 8px; }
  .assembly:not(.is-expanded) .assembly-world { gap:0; padding-top:30px; }
  .assembly:not(.is-expanded) .assembly-pane { transform:none; }
  .assembly:not(.is-expanded) .pane-connector { display:none; }
  .assembly-narration { min-height:140px; align-items:flex-start; padding:25px 27px; gap:20px; }
  .assembly-narration-index { font-size:2.2rem; width:44px; padding-top:4px; }
  .assembly-narration h3 { font-size:1.0625rem; }
  .assembly-narration p { font-size:.8125rem; }
  .assembly-handoff { margin-top:10px; display:flex; flex-wrap:wrap; gap:8px 15px; font-size:.75rem; line-height:1.7; }
  .assembly-handoff>span { color:#79876a; }
  .assembly-handoff>strong { font-weight:500; color:#4f6739; }
  .assembly-transport { margin-top:0; }
  .assembly:not(.assembly-enhanced) .pane-loading { display:none; }
  .assembly:not(.assembly-enhanced) .pane-body { height:calc(100% - 44px); }
  @media (max-width:1100px) {
    .assembly-launch>div { flex-direction:column; align-items:flex-start; gap:10px; }
    .assembly-viewport { padding:40px 16px 50px; }
    .assembly-world { gap:23px; height:630px; }
    .assembly .assembly-pane { height:575px; }
    .assembly.is-expanded .assembly-world { transform:rotateX(3deg) rotateY(-6deg) scale(.94); }
    .assembly .pane-body { padding-inline:10px; }
    .assembly .pane-header { padding-inline:10px; gap:5px; }
    .assembly .pane-header strong { font-size:.75rem; }
    .pane-loading { padding-inline:9px; gap:5px; }
    .pane-loading b { display:none; }
    .pane-connector { width:27px; }
    .assembly .pane-product { gap:5px; }
    .assembly .pane-product svg { width:25px; }
    .assembly .pane-reply-text { min-height:164px; }
    .assembly .pane-mini-route>div { flex-wrap:wrap; }
  }
  @media (max-width:850px) {
    .assembly-launch>div { width:100%; }
    .assembly-launch { align-items:stretch; }
    .assembly-world,.assembly.is-expanded .assembly-world { grid-template-columns:1fr; gap:65px; height:auto; min-height:520px; max-width:460px; margin-inline:auto; transform:none; }
    .assembly .assembly-pane { width:auto; height:540px; }
    .assembly.is-expanded .assembly-pane,.assembly.is-expanded .assembly-pane.is-current { transform:none; }
    .assembly-enhanced.is-expanded .assembly-pane[data-state="pending"] { display:none; }
    .assembly .pane-body { padding-inline:16px; }
    .assembly .pane-reply-text { min-height:125px; }
    .assembly .pane-mini-route>div { flex-wrap:nowrap; }
    .assembly .pane-header strong { font-size:.875rem; }
    .assembly .pane-buyer-message { font-size:.9375rem; }
    .assembly .pane-header { padding-inline:16px; }
    .pane-loading b { display:block; }
    .pane-connector { width:30px; left:calc(50% - 15px); top:calc(100% + 26px); transform:rotate(90deg); }
    .assembly-timeline { grid-template-columns:repeat(4,1fr); gap:6px 15px; }
    .assembly .pane-caption { top:calc(100% + 12px); }
    .assembly .pane-caption>span { display:inline; }
  }
  @media (max-width:600px) {
    .assembly-launch { padding:18px; }
    .assembly-questions { width:100%; }
    .assembly-questions button { min-height:44px; }
    .assembly-timeline { padding:14px 18px; gap:4px 12px; }
    .assembly-timeline button { font-size:.6875rem; }
    .assembly-viewport { padding:20px 20px 50px; }
    .assembly-world,.assembly.is-expanded .assembly-world { grid-template-columns:1fr; gap:65px; }
    .assembly .assembly-pane { height:550px; }
    .assembly .pane-face { border-radius:4px; }
    .assembly .pane-body { padding:16px; }
    .assembly .pane-store strong,.assembly .pane-product strong { font-size:.9375rem; }
    .assembly .pane-store small { font-size:.6875rem; }
    .assembly .pane-buyer-message,.assembly .pane-reply-text,.assembly .pane-document p { font-size:.875rem; }
    .assembly .pane-reply-text { min-height:110px; }
    .assembly .pane-send-checks { font-size:.75rem; }
    .pane-connector { left:calc(50% - 15px); top:calc(100% + 26px); transform:rotate(90deg); }
    .assembly-narration { padding:22px 18px; gap:12px; }
    .assembly-narration-index { width:30px; font-size:1.7rem; }
    .assembly-narration h3 { font-size:1rem; }
    .assembly-handoff { gap:4px; }
    .assembly-controls { padding:18px; }
    .assembly-transport button { min-height:44px; }
  }
  .large-text .assembly-world { display:flex; flex-direction:column; gap:35px; height:auto; min-height:0; padding:0; }
  .large-text .assembly .assembly-pane { width:100%; height:auto; margin:0; }
  .large-text .assembly .pane-body { height:auto; min-height:0; }
  .large-text .assembly .pane-header { height:auto; min-height:44px; padding:14px; }
  .large-text .pane-loading { height:auto; min-height:58px; padding:14px; }
  .large-text .assembly-enhanced.is-expanded .assembly-pane[data-state="pending"] { display:none; }
  .large-text .pane-connector { display:none; }
  .large-text .assembly-launch>div { flex-wrap:wrap; }
  .large-text .assembly-trigger { white-space:normal; }
  @media (prefers-reduced-motion:reduce) {
    .assembly.is-expanded .assembly-world,.assembly.is-expanded .assembly-pane,.assembly.is-expanded .assembly-pane.is-current { transform:none; }
    .assembly.is-expanded .assembly-frame { opacity:0; }
    .pane-loading i { animation:none; }
    .assembly-enhanced [data-reveal-step] { transition:none; }
  }
}
