:root {
  --ink: #111416;
  --ink-soft: #1a252c;
  --paper: #f1eee7;
  --paper-soft: #e8e4da;
  --line: rgba(25, 26, 26, 0.18);
  --line-light: rgba(241, 238, 231, 0.2);
  --text: #1b1d1d;
  --muted: #6d6c66;
  --muted-dark: #a9afb0;
  --accent: #b54432;
  --gold: #c6a06a;
  --display: Georgia, "Songti SC", "STSong", serif;
  --sans: "Avenir Next", "PingFang SC", "Helvetica Neue", Arial, sans-serif;
  color-scheme: dark;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body { margin: 0; background: var(--paper); color: var(--text); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
button, input { font: inherit; }
button { cursor: pointer; }
img { display: block; width: 100%; }
a { color: inherit; text-decoration: none; }

.page-noise { position: fixed; inset: 0; z-index: 50; pointer-events: none; opacity: .045; mix-blend-mode: soft-light; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E"); }
.content-width { width: min(100% - 80px, 1380px); margin: 0 auto; }

.site-header { height: 70px; position: fixed; inset: 0 0 auto; z-index: 20; display: grid; grid-template-columns: minmax(250px, 1fr) auto minmax(250px, 1fr); align-items: center; gap: 24px; padding: 0 30px; color: #f1eee7; background: transparent; border-bottom: 1px solid transparent; backdrop-filter: none; transition: background-color .35s ease, backdrop-filter .35s ease, border-color .35s ease; }
.site-header.is-scrolled { background: rgba(14, 16, 17, .94); border-bottom-color: rgba(255,255,255,.18); backdrop-filter: blur(13px) saturate(1.1); }
.brand { display: inline-flex; align-items: center; gap: 12px; min-width: 0; }
.brand-mark { color: var(--gold); font-size: 28px; line-height: 1; transform: rotate(45deg); }
.brand-copy { display: grid; gap: 3px; }
.brand-cn { font-family: var(--display); font-size: 16px; letter-spacing: .18em; white-space: nowrap; }
.brand-en { color: #8e9697; font-size: 9px; letter-spacing: .15em; white-space: nowrap; }
.primary-nav { display: flex; align-items: center; gap: 36px; height: 100%; }
.primary-nav a { position: relative; display: inline-flex; align-items: center; height: 100%; color: #e8e7e2; font-family: var(--display); font-size: 15px; letter-spacing: .08em; transition: color .25s ease; }
.primary-nav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--accent); transform: scaleX(0); transform-origin: left; transition: transform .3s ease; }
.primary-nav a:hover, .primary-nav a.is-active { color: #fff; }
.primary-nav a.is-active::after { transform: scaleX(1); }
.header-tools { justify-self: end; display: flex; align-items: center; gap: 20px; }
.archive-code { display: grid; gap: 2px; padding-left: 14px; border-left: 1px solid rgba(255,255,255,.35); color: #9ba2a2; font-size: 10px; letter-spacing: .12em; }
.archive-code strong { color: #eee9de; font-size: 11px; font-weight: 500; letter-spacing: .1em; white-space: nowrap; }
.archive-code em, .metric em, .site-footer em { color: var(--accent); font-style: normal; }
.icon-button, .menu-toggle { border: 0; color: #f3efe5; background: transparent; }
.search-toggle { width: 32px; height: 32px; font-size: 27px; line-height: 1; }
.menu-toggle { display: none; width: 34px; padding: 7px 0; }
.menu-toggle span { display: block; height: 1px; margin: 5px 0; background: currentColor; }

.search-panel { position: fixed; top: 70px; right: 28px; z-index: 19; width: min(390px, calc(100% - 32px)); padding: 18px; color: #eae6dd; background: rgba(17,20,22,.98); border: 1px solid rgba(255,255,255,.18); box-shadow: 0 18px 50px rgba(0,0,0,.24); }
.search-panel label { display: block; margin-bottom: 8px; color: #a8aca9; font-size: 11px; letter-spacing: .12em; }
.search-field { display: flex; align-items: center; border-bottom: 1px solid rgba(255,255,255,.36); }
.search-field input { flex: 1; min-width: 0; padding: 9px 0; color: #fff; border: 0; outline: 0; background: transparent; }
.search-field input::placeholder { color: #838b8b; }
.search-field button { border: 0; color: #bfc5c4; background: transparent; font-size: 11px; letter-spacing: .1em; }

.page-shell { margin-right: 0; }
.hero-section { position: relative; min-height: min(680px, calc(100dvh - 70px)); overflow: hidden; color: #f3eee5; background: var(--ink); }
.hero-slides { position: absolute; inset: 0; overflow: hidden; background: #121616; }
.hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; image-rendering: auto; opacity: 0; filter: saturate(.86) contrast(1.06) brightness(.96); transition: opacity 1.05s cubic-bezier(.16,1,.3,1), transform 8s cubic-bezier(.16,1,.3,1); transform: scale(1.035); }
.hero-image.is-active { opacity: 1; transform: scale(1); }
.hero-scrim { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10,12,12,.84) 0%, rgba(10,12,12,.52) 37%, rgba(10,12,12,.10) 76%, rgba(10,12,12,.36) 100%), linear-gradient(0deg, rgba(10,12,12,.44), transparent 47%); }
.hero-content { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; width: min(570px, 54%); min-height: min(680px, calc(100dvh - 70px)); padding: 76px 50px 88px clamp(40px, 7vw, 120px); }
.eyebrow, .section-kicker { margin: 0; color: var(--gold); font-size: 10px; letter-spacing: .26em; }
.hero-content h1 { margin: 24px 0 10px; font-family: var(--display); font-size: clamp(48px, 6vw, 82px); font-weight: 500; line-height: .98; letter-spacing: .07em; }
.hero-subtitle { margin: 0; font-family: var(--display); font-size: clamp(22px, 2.3vw, 34px); line-height: 1.45; letter-spacing: .12em; }
.hero-rule { width: 52px; height: 1px; margin: 28px 0 19px; background: var(--gold); }
.hero-location { margin: 0 0 34px; color: #d5d2c9; font-size: 12px; line-height: 1.9; letter-spacing: .2em; }
.hero-location span { color: #aaa9a1; letter-spacing: .08em; }
.text-link { display: inline-flex; align-items: center; gap: 12px; width: fit-content; padding-bottom: 7px; color: var(--text); border-bottom: 1px solid currentColor; font-size: 12px; letter-spacing: .13em; transition: gap .25s ease, color .25s ease; }
.text-link:hover { gap: 17px; color: var(--accent); }
.text-link-light { color: #f2eee4; }
.hero-note { position: absolute; z-index: 1; right: 38px; bottom: 22px; display: grid; gap: 4px; color: rgba(242,238,228,.78); font-size: 9px; letter-spacing: .13em; text-align: right; }
.hero-note span:last-child { color: rgba(242,238,228,.55); font-family: var(--display); font-size: 11px; letter-spacing: .05em; }
.hero-carousel { position: absolute; z-index: 2; right: 50%; bottom: 24px; display: flex; align-items: center; gap: 8px; padding: 7px 10px; border: 1px solid rgba(242,238,228,.24); border-radius: 999px; background: rgba(15,18,18,.2); transform: translateX(50%); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.hero-carousel-dot { width: 6px; height: 6px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.58); box-shadow: 0 0 0 0 rgba(255,255,255,0); transition: width .3s cubic-bezier(.16,1,.3,1), background .3s ease, box-shadow .3s ease, transform .3s ease; }
.hero-carousel-dot:hover { background: rgba(255,255,255,.94); transform: scale(1.25); }
.hero-carousel-dot.is-active { width: 18px; border-radius: 99px; background: #fff; box-shadow: 0 0 0 3px rgba(255,255,255,.12); }
.hero-carousel-dot:active { transform: scale(.9); }

.paper-section { background: var(--paper); }
.profile-section { padding: 42px 0 40px; }
.profile-layout { display: grid; grid-template-columns: minmax(0, 1.05fr) 150px minmax(0, 1.1fr); gap: 38px; align-items: start; }
.section-kicker { color: #595b58; letter-spacing: .16em; }
.profile-main { display: grid; grid-template-columns: minmax(170px, 215px) 1fr; gap: 30px; margin-top: 17px; }
.profile-portrait { margin: 0; aspect-ratio: .83; overflow: hidden; background: #d4d0c6; filter: saturate(.9) contrast(1.02); }
.profile-portrait img { height: 100%; object-fit: cover; object-position: center top; }
.identity-list { display: grid; gap: 13px; margin: 0; }
.identity-list div { display: grid; gap: 3px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.identity-list dt { color: var(--muted); font-size: 9px; letter-spacing: .18em; text-transform: uppercase; }
.identity-list dd { margin: 0; font-family: var(--display); font-size: 16px; line-height: 1.35; }
.identity-list dd small { color: var(--muted); font-family: var(--sans); font-size: 10px; letter-spacing: .12em; }
.profile-summary { margin: 20px 0 17px; color: #4d4e4a; font-family: var(--display); font-size: 14px; line-height: 1.85; }
.metrics-stack { display: grid; gap: 0; padding: 16px 0 0; border-left: 1px solid var(--line); }
.metric { display: grid; gap: 5px; padding: 0 0 17px 19px; margin-bottom: 15px; border-bottom: 1px solid var(--line); }
.metric strong { font-family: var(--display); font-size: 32px; font-weight: 500; line-height: 1; }
.metric span { color: var(--muted); font-size: 10px; letter-spacing: .12em; }
.metric-muted strong { font-size: 20px; }
.metric-foot { padding-left: 19px; color: #7b7d77; font-size: 9px; letter-spacing: .14em; }
.process-preview .section-kicker { margin-bottom: 16px; }
.process-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 11px; }
.process-strip figure { margin: 0; min-width: 0; }
.process-strip img { aspect-ratio: .93; object-fit: cover; filter: saturate(.82); }
.process-strip figcaption { padding-top: 8px; font-family: var(--display); font-size: 13px; line-height: 1.3; }
.process-strip figcaption small { display: block; padding-top: 3px; color: var(--muted); font-family: var(--sans); font-size: 9px; letter-spacing: .04em; }
.process-note { margin: 31px 0 0; padding-top: 15px; color: var(--accent); border-top: 1px solid var(--line); font-family: var(--display); font-size: 17px; line-height: 1.45; }
.process-note small { display: block; padding-top: 4px; color: var(--muted); font-family: var(--sans); font-size: 10px; letter-spacing: .03em; }

.works-section { padding: 47px 0 80px; border-top: 1px solid var(--line); }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 20px; }
.section-heading h2, .heritage-copy h2, .knowledge-intro h2 { max-width: 620px; margin: 12px 0 0; font-family: var(--display); font-size: clamp(30px, 3.2vw, 49px); font-weight: 500; line-height: 1.1; letter-spacing: .04em; }
.button-link { border: 0; background: transparent; cursor: pointer; }
.works-grid { display: grid; grid-template-columns: 1.35fr .8fr .8fr .8fr; gap: 15px; align-items: start; }
.work-card { min-width: 0; }
.work-card figure { margin: 0; overflow: hidden; background: #dad5cb; }
.work-card img { aspect-ratio: .86; object-fit: cover; filter: saturate(.82); transition: transform .6s cubic-bezier(.2,.8,.2,1); }
.work-card-feature img { aspect-ratio: 1.08; }
.work-card:hover img { transform: scale(1.035); }
.work-caption { display: grid; gap: 4px; padding: 12px 2px 0; }
.work-caption strong { font-family: var(--display); font-size: 15px; font-weight: 500; }
.work-caption span { color: var(--muted); font-size: 10px; letter-spacing: .03em; }

.heritage-section { padding: 10px 0 92px; }
.heritage-layout { display: grid; grid-template-columns: 1.03fr .97fr; gap: clamp(45px, 8vw, 120px); align-items: center; }
.heritage-media { position: relative; }
.heritage-media img { aspect-ratio: 1.17; object-fit: cover; filter: saturate(.75); }
.media-caption { position: absolute; left: 14px; bottom: 14px; padding: 7px 9px; color: #f1eee7; background: rgba(17,20,22,.78); font-size: 9px; letter-spacing: .1em; }
.heritage-media-detail { display: grid; grid-template-columns: 150px 1fr; gap: 13px; align-items: end; width: min(78%, 390px); margin: -35px 0 0 auto; position: relative; z-index: 1; }
.heritage-media-detail img { aspect-ratio: 1.45; border: 7px solid var(--paper); filter: saturate(.84); }
.heritage-media-detail figcaption { padding-bottom: 8px; color: var(--muted); font-size: 9px; line-height: 1.55; letter-spacing: .06em; }
.heritage-copy { max-width: 520px; }
.heritage-copy h2 { margin-bottom: 22px; }
.heritage-copy p { margin: 0; color: #4e514d; font-family: var(--display); font-size: 16px; line-height: 1.9; }
blockquote { margin: 28px 0 5px; padding-left: 17px; color: var(--accent); border-left: 2px solid var(--accent); font-family: var(--display); font-size: 18px; line-height: 1.7; }
.quote-source { display: block; margin: 0 0 28px 19px; color: var(--muted); font-size: 10px; letter-spacing: .1em; }

.ink-section { color: var(--text); background: var(--paper); }
.process-section { padding: 80px 0 94px; }
.section-heading-dark .section-kicker { color: #595b58; }
.section-heading-dark h2 { color: var(--text); }
.section-heading-dark > p { max-width: 280px; margin: 0; color: #4e514d; font-family: var(--display); font-size: 14px; line-height: 1.8; }
.process-timeline { margin-top: 43px; border-top: 1px solid var(--line); }
.timeline-row { display: grid; grid-template-columns: 72px minmax(0, 1fr) 150px; align-items: center; gap: 25px; padding: 22px 0; border-bottom: 1px solid var(--line); }
.timeline-index { color: var(--accent); font-size: 12px; letter-spacing: .18em; }
.timeline-row h3 { margin: 0 0 5px; font-family: var(--display); font-size: 23px; font-weight: 500; }
.timeline-row p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.timeline-note { justify-self: end; color: var(--muted); font-size: 9px; letter-spacing: .16em; }

.knowledge-section { color: var(--text); background: var(--paper); border-top: 1px solid var(--line); }
.knowledge-wrap { padding-top: 76px; padding-bottom: 82px; }
.knowledge-header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, .95fr); gap: clamp(50px, 9vw, 140px); align-items: end; padding-bottom: 35px; border-bottom: 1px solid var(--line-light); }
.knowledge-intro h2 { color: var(--text); }
.knowledge-intro p { max-width: 470px; margin: 23px 0 0; color: #4e514d; font-family: var(--display); font-size: 15px; line-height: 1.8; }
.knowledge-controls { display: grid; gap: 15px; }
.knowledge-status { color: var(--muted); font-size: 9px; letter-spacing: .16em; }
.knowledge-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.knowledge-tab { padding: 10px 13px; color: var(--muted); border: 1px solid var(--line); background: transparent; font-size: 11px; transition: color .25s ease, border-color .25s ease, background .25s ease; }
.knowledge-tab:hover, .knowledge-tab.is-active { color: #f1eee7; border-color: var(--accent); background: var(--accent); }
.knowledge-view { padding-top: 34px; }
.knowledge-section-title { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 22px; }
.knowledge-section-title h3 { margin: 0; color: var(--text); font-family: var(--display); font-size: 24px; font-weight: 500; letter-spacing: .04em; }
.knowledge-section-title p { max-width: 350px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.65; text-align: right; }
.knowledge-term-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.knowledge-term { min-height: 175px; padding: 20px 22px 21px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.knowledge-term-index { display: block; margin-bottom: 24px; color: var(--accent); font-size: 10px; letter-spacing: .18em; }
.knowledge-term h4 { margin: 0 0 9px; color: var(--text); font-family: var(--display); font-size: 20px; font-weight: 500; }
.knowledge-term p { max-width: 48ch; margin: 0; color: #4e514d; font-size: 12px; line-height: 1.8; }
.knowledge-qa { display: grid; grid-template-columns: .8fr 1.5fr; gap: 50px; margin-top: 50px; padding-top: 28px; border-top: 1px solid var(--line); }
.knowledge-qa-heading { display: grid; align-content: start; gap: 10px; }
.knowledge-qa-heading span { color: var(--accent); font-size: 10px; letter-spacing: .16em; }
.knowledge-qa-heading strong { color: var(--text); font-family: var(--display); font-size: 19px; font-weight: 500; line-height: 1.45; }
.knowledge-qa-list details { padding: 0 0 17px; margin-bottom: 17px; border-bottom: 1px solid var(--line); }
.knowledge-qa-list summary { color: var(--text); cursor: pointer; font-family: var(--display); font-size: 16px; list-style-position: outside; }
.knowledge-qa-list summary::marker { color: var(--accent); }
.knowledge-qa-list p { max-width: 65ch; margin: 10px 0 0 18px; color: #4e514d; font-size: 12px; line-height: 1.8; }
.knowledge-footnote { margin: 38px 0 0; color: var(--muted); font-size: 10px; line-height: 1.7; }

.site-footer { color: #c4c7c4; background: #111416; }
.footer-inner { display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 82px; font-size: 10px; letter-spacing: .08em; }
.footer-inner > div:first-child { display: grid; gap: 5px; }
.footer-inner strong { color: #eee9df; font-family: var(--display); font-size: 14px; font-weight: 500; }
.footer-inner span { color: #8f9797; font-size: 9px; }

.reveal { opacity: 0; transform: translateY(20px); transition: opacity .7s ease, transform .7s cubic-bezier(.16,1,.3,1); }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
[hidden] { display: none !important; }

.digital-guide { position: fixed; right: 24px; bottom: 24px; z-index: 18; display: grid; justify-items: end; gap: 10px; pointer-events: none; }
.digital-guide.is-dragging { user-select: none; }
.digital-guide-avatar { position: relative; display: grid; grid-template-columns: 112px auto; align-items: end; gap: 10px; padding: 0; color: var(--text); border: 0; background: transparent; text-align: left; pointer-events: auto; }
.digital-guide-avatar { animation: guide-float 4.8s ease-in-out infinite; }
.digital-guide-avatar:hover { animation-play-state: paused; }
.digital-guide-avatar { cursor: grab; touch-action: none; user-select: none; }
.digital-guide.is-dragging .digital-guide-avatar { cursor: grabbing; animation: none; }
.digital-guide-avatar-frame { position: relative; display: block; width: 112px; height: 168px; overflow: hidden; background: transparent; border: 0; box-shadow: none; clip-path: none; }
.digital-guide-sprite { --pet-scale-x: .86; --pet-frame-scale-x: 1; position: absolute; inset: 0; display: block; background-image: url("./宠物/塔拉斯门/spritesheet.webp"); background-repeat: no-repeat; background-size: 800% 1100%; background-position: 0% 0%; image-rendering: auto; filter: saturate(1.08) contrast(1.03); transform: scaleX(var(--pet-scale-x)) scaleX(var(--pet-frame-scale-x)); transform-origin: 50% 100%; }
.digital-guide.is-thinking .digital-guide-sprite { animation: guide-think 1.45s ease-in-out infinite; }
.digital-guide.is-dragging .digital-guide-sprite { animation: none; }
.digital-guide-avatar-frame::after { content: none; }
.digital-guide-label { display: grid; gap: 3px; min-width: 116px; padding: 9px 11px; color: #eee9de; background: rgba(17,20,22,.9); box-shadow: inset 2px 0 0 var(--accent), 0 8px 20px rgba(17,20,22,.14); }
.digital-guide-label strong { font-family: var(--display); font-size: 14px; font-weight: 500; }
.digital-guide-label small { color: #a9afb0; font-size: 9px; letter-spacing: .08em; }
.digital-guide-pulse { position: absolute; top: 8px; left: 9px; z-index: 2; width: 8px; height: 8px; border-radius: 50%; background: #6d9d72; box-shadow: 0 0 0 4px rgba(109,157,114,.18); }
.digital-guide-panel { position: absolute; right: -2px; bottom: calc(100% + 17px); isolation: isolate; width: min(338px, calc(100vw - 24px)); padding: 18px; overflow: hidden; color: #f7f1e7; background: linear-gradient(128deg, rgba(24,30,28,.84), rgba(34,36,31,.64) 52%, rgba(101,68,48,.54)); border: 1px solid rgba(247,241,231,.31); border-radius: 32px 32px 9px 32px; box-shadow: inset 0 1px 0 rgba(255,255,255,.16), inset -22px -25px 45px rgba(13,17,15,.19), 0 24px 60px rgba(23,25,22,.26); backdrop-filter: blur(19px) saturate(1.12); -webkit-backdrop-filter: blur(19px) saturate(1.12); pointer-events: auto; animation: guide-panel-in .55s cubic-bezier(.16,1,.3,1) both; }
.digital-guide-panel::before { content: ''; position: absolute; z-index: -1; width: 190px; height: 190px; top: -118px; right: -66px; border: 1px solid rgba(231,205,161,.18); border-radius: 50%; box-shadow: 0 0 0 23px rgba(231,205,161,.045), 0 0 0 56px rgba(231,205,161,.025); animation: guide-orbit 12s ease-in-out infinite; }
.digital-guide-panel::after { content: ''; position: absolute; z-index: -1; inset: 0 auto 0 -44%; width: 52%; background: linear-gradient(105deg, transparent, rgba(255,250,237,.12), transparent); transform: skewX(-18deg) translateX(-135%); animation: guide-glass-sheen 8s ease-in-out infinite; }
.guide-panel-atmosphere { position: absolute; z-index: -1; inset: 0; overflow: hidden; pointer-events: none; }
.guide-panel-atmosphere span { position: absolute; display: block; border-radius: 50%; filter: blur(1px); opacity: .48; }
.guide-panel-atmosphere span:first-child { width: 104px; height: 104px; right: 16%; bottom: -65px; background: rgba(190,83,57,.28); animation: guide-atmosphere-one 8s ease-in-out infinite; }
.guide-panel-atmosphere span:last-child { width: 72px; height: 72px; left: -27px; top: 38%; background: rgba(198,160,106,.18); animation: guide-atmosphere-two 10s ease-in-out infinite; }
.guide-panel-header { position: relative; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 0 1px 15px; border-bottom: 1px solid rgba(247,241,231,.18); }
.guide-panel-identity { display: flex; align-items: center; gap: 10px; min-width: 0; }
.guide-panel-seal { position: relative; display: grid; place-items: center; flex: 0 0 auto; width: 31px; height: 31px; border: 1px solid rgba(235,211,169,.72); border-radius: 50% 50% 46% 54%; transform: rotate(-10deg); }
.guide-panel-seal::before, .guide-panel-seal::after { content: ''; position: absolute; width: 12px; height: 12px; border: 1px solid rgba(235,211,169,.36); border-radius: 50%; }
.guide-panel-seal::after { width: 4px; height: 4px; background: var(--accent); border: 0; box-shadow: 0 0 0 4px rgba(181,68,50,.16); animation: guide-seal-pulse 2.8s ease-in-out infinite; }
.guide-panel-identity > div { display: grid; gap: 2px; }
.guide-panel-identity > div > span { color: rgba(247,241,231,.66); font-size: 8px; letter-spacing: .19em; }
.guide-panel-identity strong { color: #fff8eb; font-family: var(--display); font-size: 16px; font-weight: 500; letter-spacing: .035em; }
.guide-panel-status { display: inline-flex; align-items: center; gap: 5px; margin-top: 3px; color: rgba(247,241,231,.69); font-size: 9px; white-space: nowrap; letter-spacing: .08em; }
.guide-panel-status i { width: 6px; height: 6px; border-radius: 50%; background: #91a976; box-shadow: 0 0 0 3px rgba(145,169,118,.15); animation: guide-status-breathe 2.4s ease-in-out infinite; }
.guide-panel-actions { display: flex; align-items: flex-start; gap: 10px; }
.guide-close { display: grid; place-items: center; width: 25px; height: 25px; margin-top: -3px; padding: 0; color: rgba(247,241,231,.72); border: 1px solid rgba(247,241,231,.2); border-radius: 50%; background: rgba(247,241,231,.06); transition: color .25s ease, background .25s ease, transform .25s cubic-bezier(.16,1,.3,1); }
.guide-close:hover { color: #fff8eb; background: rgba(247,241,231,.15); transform: rotate(8deg); }
.guide-close:active { transform: scale(.92); }
.guide-close svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 1.5; }
.digital-guide-form { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) 39px; gap: 8px; align-items: center; margin-top: 15px; padding: 5px 5px 5px 14px; background: rgba(10,14,13,.42); border: 1px solid rgba(247,241,231,.2); border-radius: 20px 20px 8px 20px; box-shadow: inset 0 1px 0 rgba(255,255,255,.08); transition: border-color .3s cubic-bezier(.16,1,.3,1), background .3s cubic-bezier(.16,1,.3,1), transform .3s cubic-bezier(.16,1,.3,1); }
.digital-guide-form:focus-within { background: rgba(10,14,13,.57); border-color: rgba(235,211,169,.66); transform: translateY(-1px); }
.guide-input-wrap { position: relative; min-width: 0; }
.digital-guide-form input { width: 100%; min-width: 0; padding: 8px 0; color: #fff8ed; border: 0; outline: 0; background: transparent; font-family: var(--sans); font-size: 12px; }
.digital-guide-form input::placeholder { color: rgba(247,241,231,.54); }
.guide-input-focus { position: absolute; right: 0; bottom: 0; left: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--gold), transparent); opacity: 0; transform: scaleX(.4); transition: opacity .3s ease, transform .3s cubic-bezier(.16,1,.3,1); }
.digital-guide-form:focus-within .guide-input-focus { opacity: .85; transform: scaleX(1); }
.digital-guide-form button { display: grid; place-items: center; width: 39px; height: 39px; padding: 0; color: #fff9ef; border: 1px solid rgba(255,255,255,.18); border-radius: 50% 50% 50% 39%; background: linear-gradient(145deg, #b95743, #8f3029); box-shadow: inset 0 1px 0 rgba(255,255,255,.19); transition: transform .3s cubic-bezier(.16,1,.3,1), filter .3s ease; }
.digital-guide-form button:hover { filter: brightness(1.08); transform: translate(-1px,-1px) rotate(-4deg); }
.digital-guide-form button:active { transform: translateY(1px) scale(.96); }
.digital-guide-form button:disabled { cursor: wait; opacity: .58; }
.digital-guide-form button svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5; }
.guide-form-hint { position: relative; margin: 9px 3px 0; color: rgba(247,241,231,.54); font-size: 9px; letter-spacing: .055em; }
.digital-guide-reply { position: relative; max-height: min(230px, 28dvh); margin-top: 15px; padding: 14px 15px 13px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: rgba(235,211,169,.52) transparent; color: #f7f0e5; background: rgba(244,235,218,.1); border: 1px solid rgba(247,241,231,.18); border-radius: 22px 7px 22px 22px; box-shadow: inset 0 1px 0 rgba(255,255,255,.11); transition: background .35s ease, transform .35s cubic-bezier(.16,1,.3,1); }
.digital-guide-reply::before { content: ''; position: absolute; top: -1px; left: 16px; width: 42px; height: 1px; background: linear-gradient(90deg, var(--gold), transparent); }
.guide-reply-from { display: block; margin-bottom: 6px; color: rgba(235,211,169,.88); font-size: 9px; letter-spacing: .15em; }
.digital-guide-reply p { margin: 0; font-family: var(--display); font-size: 13px; line-height: 1.72; }
.digital-guide-reply.is-thinking { background: rgba(244,235,218,.14); transform: translateY(-1px); }
.digital-guide-reply.is-thinking p { color: rgba(247,241,231,.72); }
.digital-guide-reply.is-thinking p::after { content: '···'; display: inline-block; width: 22px; overflow: hidden; vertical-align: bottom; color: var(--gold); letter-spacing: 1px; animation: guide-dots 1.1s steps(4, end) infinite; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

@keyframes guide-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

@keyframes guide-dots {
  0%, 25% { width: 0; }
  50% { width: 6px; }
  75%, 100% { width: 12px; }
}

@keyframes guide-panel-in {
  from { opacity: 0; transform: translateY(12px) scale(.965); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes guide-glass-sheen {
  0%, 54% { transform: skewX(-18deg) translateX(-135%); }
  68%, 100% { transform: skewX(-18deg) translateX(475%); }
}

@keyframes guide-orbit {
  0%, 100% { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(7deg) scale(1.045); }
}

@keyframes guide-atmosphere-one {
  0%, 100% { transform: translate3d(0,0,0) scale(1); }
  50% { transform: translate3d(-18px,-14px,0) scale(1.12); }
}

@keyframes guide-atmosphere-two {
  0%, 100% { transform: translate3d(0,0,0); }
  50% { transform: translate3d(12px,16px,0) scale(.9); }
}

@keyframes guide-seal-pulse {
  0%, 100% { box-shadow: 0 0 0 4px rgba(181,68,50,.16); }
  50% { box-shadow: 0 0 0 7px rgba(181,68,50,.04); }
}

@keyframes guide-status-breathe {
  0%, 100% { opacity: .72; transform: scale(.82); }
  50% { opacity: 1; transform: scale(1); }
}

@keyframes guide-think {
  0%, 100% { transform: translateY(0) rotate(0deg) scaleX(var(--pet-scale-x)); }
  50% { transform: translateY(-2px) rotate(-1deg) scaleX(var(--pet-scale-x)); }
}

@media (max-width: 1120px) {
  .site-header { grid-template-columns: 1fr auto; }
  .primary-nav { position: absolute; top: 70px; left: 0; right: 0; display: none; height: auto; padding: 6px 28px 13px; background: rgba(14,16,17,.98); border-bottom: 1px solid rgba(255,255,255,.16); }
  .primary-nav.is-open { display: flex; flex-wrap: wrap; gap: 0 26px; }
  .primary-nav a { height: 42px; }
  .menu-toggle { display: block; }
  .header-tools { gap: 11px; }
  .archive-code { display: none; }
  .content-width { width: min(100% - 48px, 980px); }
  .profile-layout { grid-template-columns: minmax(0, 1fr) 130px; }
  .process-preview { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .content-width { width: min(100% - 32px, 640px); }
  .site-header { height: 62px; padding: 0 16px; }
  .brand-mark { font-size: 23px; }
  .brand-cn { font-size: 14px; }
  .brand-en { display: none; }
  .search-toggle { display: none; }
  .primary-nav { top: 62px; padding-inline: 16px; }
  .page-shell { margin-right: 0; }
  .hero-section { min-height: 620px; }
  .hero-content { width: 100%; min-height: 620px; padding: 68px 27px 105px; justify-content: flex-end; }
  .hero-content h1 { font-size: 56px; }
  .hero-note { right: 18px; bottom: 61px; max-width: 210px; }
  .hero-carousel { right: 50%; bottom: 26px; }
  .profile-section { padding-top: 32px; }
  .profile-layout { display: block; }
  .profile-main { grid-template-columns: 112px 1fr; gap: 16px; }
  .profile-summary { font-size: 13px; }
  .metrics-stack { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; margin: 32px 0 37px; padding: 0; border-left: 0; border-top: 1px solid var(--line); }
  .metric { padding: 14px 0 0; margin: 0; border-bottom: 0; }
  .metric strong { font-size: 21px; }
  .metric-muted strong { font-size: 14px; }
  .metric span { font-size: 8px; line-height: 1.3; }
  .metric-foot { display: none; }
  .process-strip { grid-template-columns: repeat(4, minmax(110px, 1fr)); overflow-x: auto; padding-bottom: 5px; }
  .process-strip figure { min-width: 110px; }
  .works-section { padding-bottom: 52px; }
  .section-heading { align-items: start; flex-direction: column; gap: 15px; }
  .section-heading h2, .heritage-copy h2, .knowledge-intro h2 { font-size: 33px; }
  .works-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 11px; }
  .work-card-feature { grid-column: 1 / -1; }
  .work-card-feature img { aspect-ratio: 1.25; }
  .heritage-section { padding: 0 0 58px; }
  .heritage-layout, .knowledge-header, .knowledge-qa { display: block; }
  .heritage-media { margin-bottom: 42px; }
  .heritage-media > .media-caption { position: static; display: inline-block; margin: 10px 0 0; }
  .heritage-media-detail { width: 100%; grid-template-columns: minmax(112px, .88fr) 1fr; gap: 12px; margin: 15px 0 0; align-items: center; }
  .heritage-media-detail img { border-width: 4px; }
  .heritage-media-detail figcaption { padding-bottom: 0; font-size: 9px; }
  .heritage-copy p { font-size: 14px; }
  .process-section { padding: 58px 0 65px; }
  .section-heading-dark > p { margin-top: 4px; }
  .process-timeline { margin-top: 28px; }
  .timeline-row { grid-template-columns: 34px 1fr; gap: 12px; padding: 19px 0; }
  .timeline-note { display: none; }
  .timeline-row h3 { font-size: 20px; }
  .timeline-row p { font-size: 11px; }
  .knowledge-wrap { padding-top: 58px; padding-bottom: 65px; }
  .knowledge-controls { margin-top: 32px; }
  .knowledge-section-title { display: block; }
  .knowledge-section-title p { margin-top: 8px; text-align: left; }
  .knowledge-term-grid { grid-template-columns: 1fr; }
  .knowledge-term { min-height: 0; padding: 18px 17px 20px; }
  .knowledge-term-index { margin-bottom: 17px; }
  .knowledge-qa { margin-top: 38px; }
  .knowledge-qa-list { margin-top: 27px; }
  .footer-inner { align-items: flex-start; flex-direction: column; justify-content: center; gap: 8px; padding: 18px 0; }
  .digital-guide { right: 12px; bottom: 12px; }
  .digital-guide-avatar { grid-template-columns: 82px auto; gap: 7px; }
  .digital-guide-avatar-frame { width: 82px; height: 123px; }
  .digital-guide-label { min-width: 98px; padding: 7px 8px; }
  .digital-guide-label strong { font-size: 12px; }
  .digital-guide-label small { font-size: 8px; }
  .digital-guide-pulse { top: 6px; left: 6px; }
  .digital-guide-panel { width: min(318px, calc(100vw - 24px)); padding: 15px; border-radius: 28px 28px 8px 28px; }
  .guide-panel-header { padding-bottom: 12px; }
  .guide-panel-identity strong { font-size: 15px; }
  .guide-panel-actions { gap: 8px; }
  .guide-panel-status { display: none; }
  .guide-close { width: 28px; height: 28px; margin-top: -3px; }
  .guide-form-hint { margin-top: 8px; }
  .digital-guide-reply { max-height: min(210px, 25dvh); margin-top: 12px; padding: 12px 13px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
  .digital-guide-avatar { animation: none; }
}
