:root {
  --ink: #edf3ef;
  --muted: #9daca6;
  --line: rgba(217, 189, 112, .22);
  --line-strong: rgba(231, 198, 113, .52);
  --canvas: #07100f;
  --surface: #0d1917;
  --surface-2: #11221e;
  --gold: #e9bf65;
  --gold-soft: #f6dfa5;
  --green: #83c9a7;
  --red: #e5988e;
  --blue: #9dc9d5;
  --shadow: 0 20px 50px rgba(0, 0, 0, .28);
  color-scheme: dark;
  font-family: "Noto Serif SC", "Songti SC", "STSong", ui-serif, Georgia, serif;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--canvas); scroll-behavior: smooth; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { position: relative; isolation: isolate; margin: 0; min-width: 320px; min-height: 100vh; overflow-x: hidden; background: radial-gradient(circle at 80% -10%, rgba(170, 124, 34, .2), transparent 31rem), radial-gradient(circle at 0 45%, rgba(22, 91, 69, .17), transparent 33rem), var(--canvas); color: var(--ink); font-size: 1rem; line-height: 1.65; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, a:focus-visible { outline: 3px solid rgba(233, 191, 101, .8); outline-offset: 3px; }
.shell { width: min(1160px, calc(100% - 32px)); margin: 0 auto; }
.hidden { display: none !important; }
.sr-only { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; clip-path: inset(50%); }
.skip-link { position: fixed; z-index: 10; left: 1rem; top: -4rem; padding: .7rem 1rem; background: var(--gold); color: #1b160a; transition: top .2s; }
.skip-link:focus { top: 1rem; }

.page-watermarks { position: fixed; z-index: -1; inset: 0; overflow: hidden; pointer-events: none; user-select: none; color: var(--gold-soft); }
.watermark { position: absolute; opacity: .027; white-space: nowrap; }
.watermark-qimen { top: 39%; left: -2.5rem; font-size: clamp(4.5rem, 12vw, 10rem); font-weight: 700; letter-spacing: .18em; writing-mode: vertical-rl; }
.watermark-yinyang { top: 13%; right: -2rem; font-family: serif; font-size: clamp(12rem, 30vw, 27rem); line-height: 1; transform: rotate(-12deg); }
.watermark-bagua { right: 2%; bottom: 6%; font-family: "Songti SC", "STSong", serif; font-size: clamp(2.7rem, 7vw, 6rem); line-height: 1.7; letter-spacing: .15em; text-align: center; transform: rotate(7deg); }

.site-header { position: relative; overflow: hidden; border-bottom: 1px solid var(--line); background: linear-gradient(180deg, rgba(11, 26, 22, .93), rgba(7, 16, 15, .82)); backdrop-filter: blur(14px); }
.site-header::before, .site-header::after { content: ""; position: absolute; top: 50%; width: min(24vw, 18rem); height: 1px; background: linear-gradient(90deg, transparent, var(--line-strong)); }
.site-header::before { left: 0; }
.site-header::after { right: 0; transform: rotate(180deg); }
.header-inner { position: relative; display: grid; place-items: center; min-height: clamp(15rem, 32vw, 22rem); padding: clamp(2.4rem, 6vw, 4.8rem) 0; text-align: center; }
.hero-copy { display: grid; justify-items: center; width: min(58rem, 100%); margin-inline: auto; text-align: center; }
.hero-kicker { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 0 .7em; width: 100%; margin-bottom: .8rem; color: var(--gold); font-size: clamp(.78rem, 1.8vw, .98rem); font-weight: 600; letter-spacing: .24em; line-height: 1.6; text-align: center; }
.hero-kicker i { font-style: normal; letter-spacing: 0; }
.hero-copy h1 { position: relative; width: fit-content; margin: 0 auto; padding: 0 clamp(1.25rem, 4vw, 3rem); }
.hero-copy h1::before, .hero-copy h1::after { content: "◇"; position: absolute; top: 50%; color: rgba(233, 191, 101, .72); font-size: .36em; transform: translateY(-50%); }
.hero-copy h1::before { left: 0; }
.hero-copy h1::after { right: 0; }
.hero-invocation { display: grid; justify-items: center; gap: .65rem; width: 100%; margin-top: 1.55rem; text-align: center; }
.hero-invocation p { width: 100%; color: #d8dfda; font-size: clamp(.88rem, 1.7vw, 1.04rem); font-weight: 500; letter-spacing: .09em; line-height: 1.9; text-align: center; text-wrap: balance; }
.hero-invocation span { display: inline; }
.header-inner > .button { position: absolute; top: 1rem; right: 0; }
h1, h2, h3, p { margin: 0; }
h1 { color: var(--gold-soft); font-size: clamp(2.45rem, 6vw, 4.15rem); line-height: 1.15; letter-spacing: .16em; text-shadow: 0 5px 26px rgba(233, 191, 101, .16); }
h2 { font-size: clamp(1.3rem, 3vw, 1.75rem); color: var(--gold-soft); letter-spacing: .03em; }
h3 { font-size: 1rem; color: var(--gold-soft); }
.eyebrow { margin-bottom: .5rem; color: var(--gold); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .72rem; letter-spacing: .13em; text-transform: uppercase; }
.tagline, .muted { color: var(--muted); font-size: .92rem; }

.main-layout { display: grid; gap: 1.1rem; padding: 1.3rem 0 3.5rem; }
.panel { position: relative; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(145deg, rgba(17, 34, 30, .955), rgba(8, 20, 18, .93)); box-shadow: var(--shadow); backdrop-filter: blur(2px); }
.intake-panel, .overview-panel, .decision-panel, .signals-panel, .audit-panel, .history-panel, .calibration-panel, .knowledge-panel, .matrix-panel { padding: clamp(1rem, 3vw, 1.55rem); }
.result-stack { display: grid; gap: 1.1rem; }
.section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.section-heading .eyebrow { margin-bottom: .4rem; }
.pill, .ju-badge { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; min-height: 2rem; border: 1px solid rgba(131, 201, 167, .35); border-radius: 999px; padding: .35rem .7rem; color: var(--green); background: rgba(84, 145, 111, .09); font-size: .78rem; white-space: nowrap; }
.ju-badge { min-height: 2.3rem; border-color: var(--line-strong); color: var(--gold-soft); background: rgba(233, 191, 101, .1); font-weight: 700; letter-spacing: .08em; }

.chart-form { display: grid; gap: 1rem; }
.field-grid { display: grid; gap: .9rem; }
.field-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.field-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: .8rem; }
.field, .compact-field { display: grid; gap: .45rem; color: var(--gold-soft); font-size: .86rem; }
.field > span, .compact-field > span { display: flex; gap: .4rem; align-items: baseline; }
em { color: var(--muted); font-style: normal; font-size: .75rem; }
input, select, textarea { width: 100%; border: 1px solid rgba(255, 255, 255, .13); border-radius: 10px; padding: .72rem .78rem; background: rgba(1, 8, 7, .5); color: var(--ink); transition: border-color .15s, background .15s; }
input:hover, select:hover, textarea:hover { border-color: var(--line-strong); }
textarea { resize: vertical; min-height: 5.5rem; line-height: 1.5; }
.control-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 0; border-top: 1px solid rgba(255, 255, 255, .07); border-bottom: 1px solid rgba(255, 255, 255, .07); }
.switch-control { display: flex; align-items: center; gap: .7rem; cursor: pointer; }
.switch-control input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.switch { position: relative; width: 2.6rem; height: 1.45rem; flex: 0 0 auto; border: 1px solid rgba(255, 255, 255, .24); border-radius: 999px; background: #182722; }
.switch::after { content: ""; position: absolute; top: .16rem; left: .16rem; width: .95rem; height: .95rem; border-radius: 50%; background: var(--muted); transition: transform .18s, background .18s; }
.switch-control input:checked + .switch { border-color: var(--gold); background: rgba(233, 191, 101, .2); }
.switch-control input:checked + .switch::after { transform: translateX(1.1rem); background: var(--gold); }
.switch-control strong, .switch-control small { display: block; }
.switch-control strong { color: var(--ink); font-size: .9rem; }
.switch-control small { margin-top: .16rem; color: var(--muted); font-size: .74rem; }
.compact-field { min-width: 11rem; }
.advanced { border: 1px dashed rgba(233, 191, 101, .34); border-radius: 10px; padding: .75rem .9rem; color: var(--muted); font-size: .85rem; }
.advanced summary { color: var(--gold-soft); cursor: pointer; }
.advanced p { margin: .8rem 0; line-height: 1.55; }
.manual-ju { max-width: 10rem; }
.form-actions { display: flex; align-items: center; justify-content: space-between; gap: .9rem; padding-top: .2rem; }
.form-status { color: var(--muted); font-size: .8rem; line-height: 1.4; }

.button { min-height: 2.55rem; border: 1px solid transparent; border-radius: 10px; padding: .6rem .95rem; color: var(--ink); font-size: .86rem; font-weight: 700; transition: transform .15s, border-color .15s, background .15s; }
.button:hover { transform: translateY(-1px); }
.button.primary { color: #191307; background: linear-gradient(135deg, #f0ca77, #ca9647); box-shadow: 0 9px 25px rgba(211, 151, 54, .18); }
.button.ghost { border-color: var(--line); background: rgba(255, 255, 255, .03); color: var(--gold-soft); }
.button.ghost:hover { border-color: var(--line-strong); background: rgba(233, 191, 101, .08); }
.text-button { border: 0; padding: .25rem 0; background: transparent; color: var(--muted); font-size: .82rem; text-decoration: underline; text-underline-offset: .2rem; }

.overview-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .7rem; }
.overview-grid > div { min-height: 5.5rem; border: 1px solid rgba(255, 255, 255, .07); border-radius: 12px; padding: .85rem; background: rgba(0, 0, 0, .12); }
.overview-grid span { display: block; margin-bottom: .5rem; color: var(--muted); font-size: .72rem; }
.overview-grid strong { display: block; color: var(--ink); font-size: .88rem; line-height: 1.55; }

.board-panel { padding: clamp(.7rem, 2vw, 1.2rem); overflow: hidden; }
.board-heading { align-items: center; padding: .45rem .45rem 0; }
.legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .55rem; color: var(--muted); font-size: .72rem; }
.legend span { display: inline-flex; align-items: center; gap: .25rem; }
.legend-dot { display: inline-block; width: .5rem; height: .5rem; border-radius: 999px; }
.value-dot { background: var(--gold); }.agent-dot { background: var(--green); }.horse-dot { background: var(--blue); }
.qimen-board { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; max-width: 820px; margin: 0 auto; border: 1px solid rgba(233, 191, 101, .35); padding: 5px; background: rgba(0, 0, 0, .27); }
.palace { position: relative; min-height: 155px; overflow: hidden; border: 1px solid rgba(255, 255, 255, .08); padding: .64rem; background: linear-gradient(145deg, rgba(25, 48, 41, .86), rgba(8, 19, 17, .96)); }
.palace[role="button"] { cursor: pointer; transition: transform .16s, border-color .16s, background .16s; }.palace[role="button"]:hover { transform: translateY(-2px); border-color: var(--line-strong); background: linear-gradient(145deg, rgba(32, 61, 52, .94), rgba(8, 19, 17, .98)); }
.palace::after { content: ""; position: absolute; inset: .35rem; border: 1px solid transparent; pointer-events: none; }
.palace.is-value::after { border-color: rgba(233, 191, 101, .75); }.palace.is-agent::after { border-style: dashed; border-color: rgba(131, 201, 167, .75); }.palace.is-horse { background: linear-gradient(145deg, rgba(24, 56, 63, .75), rgba(8, 19, 17, .96)); }
.palace-head { display: flex; align-items: center; justify-content: space-between; gap: .5rem; min-height: 1.2rem; }
.palace-name { color: var(--gold-soft); font-size: 1rem; font-weight: 700; }.palace-meta { color: var(--muted); font-size: .7rem; }
.palace-god { margin: .34rem 0 .55rem; color: var(--green); font-size: .78rem; }
.palace-layer { display: grid; grid-template-columns: 1fr 1fr; gap: .28rem .48rem; margin: 0; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .78rem; }
.palace-layer div { display: flex; align-items: baseline; justify-content: space-between; gap: .3rem; border-bottom: 1px solid rgba(255, 255, 255, .055); padding-bottom: .18rem; }.palace-layer dt { color: var(--muted); font-size: .65rem; }.palace-layer dd { margin: 0; color: var(--ink); }.palace-layer .wide { grid-column: 1 / -1; }
.palace-flags { position: absolute; right: .55rem; bottom: .45rem; display: flex; gap: .26rem; font-size: .61rem; }.palace-flags span { border-radius: 999px; padding: .12rem .32rem; background: rgba(0, 0, 0, .36); }.flag-value { color: var(--gold); }.flag-agent { color: var(--green); }.flag-horse, .flag-derived { color: var(--blue); }.flag-caution { color: var(--red); }
.center-palace { display: grid; place-items: center; text-align: center; min-height: 155px; background: radial-gradient(circle, rgba(223, 181, 87, .13), transparent 62%), rgba(8, 19, 17, .98); }.center-palace .palace-god { margin-bottom: 0; }.center-note { margin-top: .5rem; color: var(--muted); font-size: .72rem; }

.decision-lead { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 1rem; padding: 1rem; border: 1px solid rgba(233, 191, 101, .2); border-radius: 14px; background: linear-gradient(120deg, rgba(233, 191, 101, .1), transparent); }
.score-block { display: grid; place-items: center; width: 5.6rem; height: 5.6rem; border: 1px solid var(--line-strong); border-radius: 50%; background: rgba(0, 0, 0, .18); }.score-block strong { color: var(--gold-soft); font-size: 1.65rem; }.score-block span { color: var(--muted); font-size: .67rem; }
.decision-headline { color: var(--gold-soft); font-size: 1.05rem; font-weight: 700; line-height: 1.4; }.decision-text { margin-top: .45rem; color: var(--muted); line-height: 1.6; font-size: .9rem; }
.decision-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem; margin-top: 1rem; }.decision-columns > div { padding: .9rem; border: 1px solid rgba(255, 255, 255, .07); border-radius: 12px; background: rgba(0, 0, 0, .11); }.decision-columns h3 { margin-bottom: .65rem; }
.insight-list { display: grid; gap: .55rem; margin: 0; padding-left: 1.05rem; color: var(--muted); font-size: .84rem; line-height: 1.55; }.insight-list li::marker { color: var(--gold); }.caution-list li::marker { color: var(--red); }

.signals-list { display: grid; gap: .65rem; }.signal { border-left: 3px solid var(--muted); padding: .65rem .8rem; border-radius: 0 8px 8px 0; background: rgba(0, 0, 0, .12); }.signal.positive { border-color: var(--green); }.signal.caution { border-color: var(--red); }.signal h3 { margin-bottom: .25rem; font-size: .9rem; }.signal p { color: var(--muted); font-size: .86rem; line-height: 1.55; }
.audit-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .5rem; }.audit-list { display: grid; grid-template-columns: 10rem 1fr; gap: .7rem 1rem; margin: 0; padding-top: .15rem; }.audit-list dt { color: var(--muted); font-size: .82rem; }.audit-list dd { margin: 0; color: var(--ink); font-size: .86rem; line-height: 1.5; }
.history-list { display: grid; gap: .55rem; }.history-item { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border: 1px solid rgba(255, 255, 255, .07); border-radius: 10px; padding: .7rem .8rem; background: rgba(0, 0, 0, .1); }.history-item strong { display: block; color: var(--ink); font-size: .86rem; }.history-item small { display: block; margin-top: .2rem; color: var(--muted); font-size: .73rem; }.history-item button { border: 1px solid var(--line); border-radius: 8px; padding: .35rem .55rem; background: transparent; color: var(--gold-soft); font-size: .75rem; }
.section-copy { margin: -.45rem 0 1rem; color: var(--muted); font-size: .86rem; line-height: 1.6; }
.calibration-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
.calibration-grid textarea { min-height: 12rem; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .72rem; }
.diff-results { display: grid; gap: .35rem; margin-top: 1rem; max-height: 28rem; overflow: auto; }
.diff-row { display: grid; grid-template-columns: minmax(9rem, .65fr) 1fr 1fr; gap: .55rem; border-left: 3px solid var(--red); padding: .55rem .65rem; background: rgba(229, 152, 142, .06); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .7rem; overflow-wrap: anywhere; }
.diff-row.same { border-left-color: var(--green); opacity: .68; }.diff-row strong { color: var(--gold-soft); }
.knowledge-panel { overflow: hidden; }
.knowledge-panel::after { content: "知"; position: absolute; right: 1rem; bottom: -2.2rem; color: rgba(233, 191, 101, .035); font-size: 9rem; font-weight: 700; line-height: 1; pointer-events: none; }
.knowledge-search-heading { margin-bottom: 1rem; }
.knowledge-search-field { position: relative; z-index: 1; }
.knowledge-search-field input { min-height: 3.1rem; border-color: rgba(233, 191, 101, .25); padding-inline: 1rem; background: rgba(1, 8, 7, .62); }
.knowledge-search-field input:focus { border-color: var(--gold); background: rgba(1, 8, 7, .78); }
.knowledge-results { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; margin-top: 1rem; }
.knowledge-card { border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: .85rem; background: rgba(0,0,0,.11); }.knowledge-card small { color: var(--green); font-size: .68rem; }.knowledge-card h3 { margin: .3rem 0 .45rem; }.knowledge-card p { color: var(--muted); font-size: .8rem; line-height: 1.55; }
.table-wrap { overflow-x: auto; }.table-wrap table { width: 100%; border-collapse: collapse; font-size: .8rem; }.table-wrap th, .table-wrap td { border-bottom: 1px solid rgba(255,255,255,.08); padding: .68rem; text-align: left; vertical-align: top; }.table-wrap th { color: var(--gold-soft); }.table-wrap td { color: var(--muted); }
.grade { display: inline-flex; border-radius: 999px; padding: .13rem .4rem; color: #07100f; font-weight: 800; }.grade-a { background: var(--green); }.grade-b { background: var(--gold); }.grade-c { background: var(--red); }
.topic-field { min-width: 13rem; }.topic-field select { padding: .48rem .65rem; }
.palace-dialog { width: min(1040px, calc(100% - 24px)); max-height: min(88vh, 900px); border: 1px solid var(--line-strong); border-radius: 18px; padding: 0; background: var(--surface); color: var(--ink); box-shadow: 0 30px 90px rgba(0,0,0,.65); }.palace-dialog::backdrop { background: rgba(0,0,0,.72); backdrop-filter: blur(3px); }.dialog-head { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--line); padding: 1rem 1.2rem; background: rgba(13,25,23,.96); }.dialog-content { display: grid; gap: 1rem; padding: 1rem 1.2rem 1.5rem; }.detail-overview { display: flex; flex-wrap: wrap; gap: .45rem; }.detail-overview span { border: 1px solid var(--line); border-radius: 999px; padding: .35rem .58rem; color: var(--gold-soft); font-size: .78rem; }.topic-callout { border-left: 3px solid var(--green); padding: .75rem .9rem; background: rgba(131,201,167,.07); }.topic-callout p { margin-top: .35rem; color: var(--muted); line-height: 1.55; font-size: .84rem; }.entity-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .7rem; }.detail-card { border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: .85rem; background: rgba(0,0,0,.12); }.detail-card small { color: var(--green); }.detail-card h3 { margin: .3rem 0 .5rem; }.detail-card > p, .detail-card details p { color: var(--muted); font-size: .8rem; line-height: 1.55; }.detail-card details { margin-top: .4rem; }.detail-card summary { cursor: pointer; color: var(--gold-soft); font-size: .78rem; }.pattern-section { display: grid; gap: .55rem; }.pattern-section > h3 { margin-bottom: .2rem; }.pattern-detail { border-left: 3px solid var(--blue); border-radius: 0 10px 10px 0; padding: .75rem .85rem; background: rgba(0,0,0,.12); }.pattern-detail.positive { border-color: var(--green); }.pattern-detail.caution { border-color: var(--red); }.pattern-detail h3 span { color: var(--muted); font-size: .68rem; font-weight: 400; }.pattern-detail p { margin-top: .35rem; color: var(--muted); font-size: .82rem; line-height: 1.55; }.pattern-detail dl { display: grid; grid-template-columns: 5rem 1fr; gap: .35rem .6rem; margin: .6rem 0 0; font-size: .78rem; }.pattern-detail dt { color: var(--gold); }.pattern-detail dd { margin: 0; color: var(--muted); }
.site-footer { position: relative; border-top: 1px solid var(--line); padding: 2.3rem 0 2.8rem; color: var(--muted); background: linear-gradient(180deg, rgba(7, 16, 15, .35), rgba(7, 16, 15, .82)); }
.footer-inner { display: grid; gap: .55rem; text-align: center; }
.site-footer p { font-size: clamp(.78rem, 1.6vw, .92rem); letter-spacing: .08em; line-height: 1.85; text-wrap: balance; }
.site-footer p:first-child { color: var(--gold); }

@media (max-width: 760px) {
  .shell { width: min(100% - 22px, 1160px); }.header-inner { width: 100%; min-height: 0; padding: calc(env(safe-area-inset-top, 0px) + 2.25rem) max(1.2rem, env(safe-area-inset-right, 0px)) 2.35rem max(1.2rem, env(safe-area-inset-left, 0px)); }.header-inner > .button { position: static; justify-self: center; margin-top: 1rem; font-size: .75rem; }.hero-copy { width: 100%; }.hero-kicker { gap: .15rem .55rem; margin-bottom: .65rem; letter-spacing: .14em; }.hero-copy h1 { padding-inline: 1.45rem; }.hero-invocation { gap: .72rem; margin-top: 1.2rem; }.hero-invocation p { padding: 0; letter-spacing: .035em; line-height: 1.72; text-align: center; }.hero-invocation span { display: block; margin-inline: auto; }.site-header::before, .site-header::after { top: 46%; width: 10vw; }.watermark-qimen { left: -1.2rem; }.watermark-yinyang { right: -3.5rem; }.watermark-bagua { right: -1rem; }.field-grid.two, .overview-grid, .decision-columns { grid-template-columns: 1fr; }.control-row { align-items: flex-start; flex-direction: column; }.compact-field { width: 100%; min-width: 0; }.form-actions { align-items: stretch; flex-direction: column; }.form-actions .button { width: 100%; }.overview-grid > div { min-height: auto; }.board-heading { align-items: flex-start; flex-direction: column; }.legend { justify-content: flex-start; }.palace { min-height: 138px; padding: .45rem; }.center-palace { min-height: 138px; }.palace-layer { gap: .18rem .25rem; font-size: .68rem; }.palace-layer dt { font-size: .56rem; }.palace-god { font-size: .67rem; }.palace-name { font-size: .85rem; }.palace-meta { font-size: .6rem; }.palace-flags { right: .35rem; bottom: .28rem; }.audit-list { grid-template-columns: 1fr; gap: .2rem; }.audit-list dd { margin-bottom: .55rem; }.decision-lead { align-items: start; }.history-item { align-items: flex-start; flex-direction: column; }.history-item button { align-self: stretch; }
}

@media (max-width: 430px) { .hero-kicker { gap: .08rem; font-size: .78rem; line-height: 1.45; }.hero-kicker span { flex: 0 0 100%; text-align: center; }.hero-kicker i { display: none; }.hero-kicker span:last-of-type::after { content: " ·"; }.hero-copy h1 { font-size: clamp(2.35rem, 12.5vw, 3.15rem); letter-spacing: .12em; }.hero-copy h1::before, .hero-copy h1::after { font-size: .3em; }.hero-invocation p { font-size: .88rem; }.qimen-board { gap: 3px; padding: 3px; }.palace { min-height: 127px; }.center-palace { min-height: 127px; }.palace-layer { display: block; }.palace-layer div { margin-top: .1rem; }.palace-layer .wide { display: flex; }.palace-god { margin: .23rem 0 .35rem; }.palace-flags { display: none; }.decision-lead { grid-template-columns: 1fr; }.score-block { width: 4.5rem; height: 4.5rem; }
}

@media (max-width: 360px) {
  .header-inner { padding-left: max(.85rem, env(safe-area-inset-left, 0px)); padding-right: max(.85rem, env(safe-area-inset-right, 0px)); }
  .hero-copy h1 { padding-inline: 1.15rem; font-size: 2.25rem; }
  .hero-invocation p { font-size: .82rem; letter-spacing: .015em; }
  .hero-invocation span { white-space: normal; }
}

@media (max-width: 760px) {
  .field-grid.three, .calibration-grid, .knowledge-results, .entity-grid { grid-template-columns: 1fr; }
  .diff-row { grid-template-columns: 1fr; }
  .dialog-head { align-items: flex-start; }.palace-dialog { width: calc(100% - 12px); }.pattern-detail dl { grid-template-columns: 1fr; }
}

@media print {
  :root { color-scheme: light; }.page-watermarks, .site-header, .intake-panel, .history-panel, .site-footer, .audit-actions, #copyReport { display: none !important; } body { background: #fff; color: #111; }.shell { width: 100%; }.main-layout { padding: 0; }.panel { border: 1px solid #777; border-radius: 0; box-shadow: none; background: #fff; break-inside: avoid; }.result-stack { display: grid !important; }.overview-grid { grid-template-columns: repeat(4, 1fr); }.palace { min-height: 120px; background: #fff; color: #111; }.palace-name, h2, h3, .decision-headline { color: #222; }.palace-layer dd, .overview-grid strong, .audit-list dd { color: #111; }.palace-god, .eyebrow { color: #555; }.muted, .decision-text, .insight-list, .audit-list dt, .overview-grid span { color: #444; }.qimen-board { border-color: #555; background: #fff; }.decision-columns { grid-template-columns: repeat(3, 1fr); }.signals-panel, .audit-panel { page-break-inside: avoid; }
}

/* V6.2.4 山向黑箱校准研究工具 */
.shanxiang-research-panel { overflow: hidden; }
.research-guide { display: grid; align-content: start; gap: .8rem; border: 1px solid rgba(255,255,255,.08); border-radius: 14px; padding: 1rem; background: rgba(0,0,0,.12); }
.research-guide h3, .candidate-detail h3 { color: var(--gold-soft); }
.research-guide ol { display: grid; gap: .45rem; margin: 0; padding-left: 1.25rem; color: var(--muted); font-size: .82rem; line-height: 1.55; }
.research-actions { display: flex; flex-wrap: wrap; gap: .55rem; }
.research-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; margin-top: 1rem; }
.research-summary > div { display: grid; gap: .2rem; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: .8rem; background: rgba(0,0,0,.12); }
.research-summary span { color: var(--muted); font-size: .72rem; }
.research-summary strong { color: var(--gold-soft); font-size: 1.15rem; }
.research-summary small { color: var(--muted); font-size: .68rem; line-height: 1.45; }
.research-results { margin-top: 1rem; }
.research-results strong { color: var(--green); }
.candidate-detail { margin-top: .8rem; border-left: 3px solid var(--gold); padding: .8rem .9rem; background: rgba(233,191,101,.05); }
.candidate-detail p { margin-top: .35rem; color: var(--muted); font-size: .8rem; line-height: 1.55; }
@media (max-width: 760px) { .research-summary { grid-template-columns: 1fr 1fr; }.research-actions { flex-direction: column; }.research-actions .button { width: 100%; } }
@media (max-width: 430px) { .research-summary { grid-template-columns: 1fr; } }

/* V6.3 research model laboratory */
.research-lab-panel { position: relative; overflow: hidden; }
.research-grid { display: grid; gap: 1rem; margin-top: 1rem; }
.research-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.research-card { border: 1px solid var(--line, rgba(255,255,255,.12)); border-radius: 16px; padding: 1rem; background: rgba(255,255,255,.025); }
.research-card h3 { margin: 0 0 .8rem; }
.model-switches { display: grid; gap: .55rem; margin-top: .9rem; }
.model-switches label { display: flex; gap: .55rem; align-items: center; font-size: .92rem; }
.physical-card { margin-top: 1rem; }
.physical-card textarea { width: 100%; min-height: 13rem; resize: vertical; margin-top: .65rem; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.compact-heading { margin-bottom: .35rem; }
.compact-heading h3 { margin: 0; }
.lab-actions { flex-wrap: wrap; margin-top: 1rem; }
.model-card-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .8rem; margin-top: 1rem; }
.model-card { border: 1px solid rgba(255,255,255,.12); border-radius: 14px; padding: .9rem; background: rgba(0,0,0,.13); }
.model-card header { display:flex; align-items:flex-start; justify-content:space-between; gap:.6rem; margin-bottom:.7rem; }
.model-card h3 { font-size: 1rem; margin:0; }
.model-card .model-id { font-size:.75rem; opacity:.72; letter-spacing:.08em; }
.model-card dl { display:grid; grid-template-columns: auto 1fr; gap:.42rem .7rem; margin:0; font-size:.84rem; }
.model-card dt { opacity:.65; }
.model-card dd { margin:0; text-align:right; overflow-wrap:anywhere; }
.model-status { display:inline-flex; padding:.18rem .45rem; border-radius:999px; font-size:.72rem; border:1px solid rgba(255,255,255,.14); white-space:nowrap; }
.model-status.ready { color:#b9efc8; }
.model-status.incomplete, .model-status.missing-person, .model-status.missing-physical { color:#f2cf8c; }
.table-scroll { overflow-x:auto; margin-top:.7rem; }
.research-table { width:100%; border-collapse:collapse; min-width:680px; }
.research-table th,.research-table td { padding:.65rem .7rem; border-bottom:1px solid rgba(255,255,255,.09); text-align:left; font-size:.84rem; }
.research-table th { opacity:.68; font-weight:600; }
.outcome-card { margin-top:1rem; }
@media (max-width: 1050px) { .model-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 760px) { .research-grid.two,.model-card-grid { grid-template-columns:1fr; } }
