: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; }
body { margin: 0; min-width: 320px; min-height: 100vh; 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); }
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; }
.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; }

.site-header { border-bottom: 1px solid var(--line); background: rgba(7, 16, 15, .75); backdrop-filter: blur(14px); }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: clamp(1.3rem, 3.5vw, 2.6rem) 0; }
h1, h2, h3, p { margin: 0; }
h1 { color: var(--gold-soft); font-size: clamp(2rem, 5vw, 3.2rem); line-height: 1; letter-spacing: .08em; }
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 { border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(145deg, rgba(17, 34, 30, .96), rgba(8, 20, 18, .94)); box-shadow: var(--shadow); }
.intake-panel, .overview-panel, .decision-panel, .signals-panel, .audit-panel, .history-panel { padding: clamp(1rem, 3vw, 1.55rem); }
.knowledge-panel, .classic-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, .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; }

.library-intro { max-width: 78ch; margin: -.3rem 0 1rem; color: var(--muted); font-size: .88rem; line-height: 1.65; }
.knowledge-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; margin-bottom: .9rem; }
.knowledge-stats > div { border: 1px solid rgba(233, 191, 101, .18); border-radius: 12px; padding: .75rem .85rem; background: rgba(233, 191, 101, .045); }
.knowledge-stats span, .knowledge-stats strong { display: block; }.knowledge-stats span { color: var(--muted); font-size: .7rem; }.knowledge-stats strong { margin-top: .2rem; color: var(--gold-soft); font-size: 1.04rem; }
.source-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; margin-bottom: 1rem; }
.source-card { border: 1px solid rgba(255, 255, 255, .08); border-radius: 12px; padding: .82rem; background: rgba(0, 0, 0, .11); }.source-card h3 { margin-bottom: .35rem; font-size: .88rem; }.source-card p { color: var(--ink); font-size: .8rem; line-height: 1.5; }.source-card small { display: block; margin-top: .45rem; color: var(--muted); font-size: .7rem; line-height: 1.4; }
.knowledge-search-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: .8rem; margin-top: .25rem; }.knowledge-search-row .form-status { max-width: 22rem; padding-bottom: .1rem; }
.knowledge-results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; margin-top: .8rem; max-height: 41rem; overflow: auto; padding-right: .1rem; }
.knowledge-card { border: 1px solid rgba(255, 255, 255, .08); border-radius: 11px; padding: .78rem; background: linear-gradient(135deg, rgba(255, 255, 255, .025), rgba(0, 0, 0, .14)); }.knowledge-card h3 { margin: .45rem 0 .35rem; font-size: .92rem; }.knowledge-card p { color: var(--muted); font-size: .8rem; line-height: 1.55; }.knowledge-card-head { display: flex; justify-content: space-between; gap: .6rem; align-items: flex-start; }.knowledge-card-head span { color: var(--green); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .66rem; }.knowledge-card-head small { max-width: 62%; color: var(--muted); font-size: .66rem; line-height: 1.3; text-align: right; }

.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::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 { color: var(--blue); }
.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); }

.classic-reference { border: 1px solid rgba(233, 191, 101, .18); border-radius: 14px; padding: 1rem; background: linear-gradient(135deg, rgba(233, 191, 101, .07), transparent 54%), rgba(0, 0, 0, .1); }.classic-bureau-title { color: var(--gold-soft); font-size: 1.04rem; font-weight: 700; line-height: 1.45; }.classic-bureau-meta { margin-top: .3rem; color: var(--green); font-size: .76rem; line-height: 1.45; }.classic-axes { display: flex; flex-wrap: wrap; gap: .42rem; margin-top: .75rem; }.axis-pill { border: 1px solid rgba(131, 201, 167, .27); border-radius: 999px; padding: .22rem .5rem; color: var(--green); background: rgba(131, 201, 167, .06); font-size: .7rem; }.classic-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; margin-top: 1rem; }.classic-columns > div { border: 1px solid rgba(255, 255, 255, .07); border-radius: 11px; padding: .8rem; background: rgba(0, 0, 0, .1); }.classic-columns h3 { margin-bottom: .55rem; font-size: .88rem; }

.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; }
.site-footer { border-top: 1px solid var(--line); padding: 1.4rem 0 2.1rem; color: var(--muted); font-size: .77rem; line-height: 1.6; }.site-footer p + p { margin-top: .2rem; }

@media (max-width: 760px) {
  .shell { width: min(100% - 22px, 1160px); }.header-inner { align-items: flex-start; }.header-inner .button { font-size: .75rem; }.field-grid.two, .overview-grid, .decision-columns, .knowledge-stats, .source-grid, .knowledge-results, .classic-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; }.knowledge-search-row { grid-template-columns: 1fr; align-items: stretch; }.knowledge-search-row .form-status { max-width: none; }.knowledge-results { max-height: none; }.knowledge-card-head { display: block; }.knowledge-card-head small { max-width: none; margin-top: .24rem; text-align: left; }
}

@media (max-width: 430px) { .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 print {
  :root { color-scheme: light; }.site-header, .intake-panel, .knowledge-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, .classic-bureau-title { color: #222; }.palace-layer dd, .overview-grid strong, .audit-list dd { color: #111; }.palace-god, .eyebrow, .classic-bureau-meta { color: #555; }.muted, .decision-text, .insight-list, .audit-list dt, .overview-grid span { color: #444; }.qimen-board { border-color: #555; background: #fff; }.decision-columns, .classic-columns { grid-template-columns: repeat(3, 1fr); }.signals-panel, .audit-panel, .classic-panel { page-break-inside: avoid; }
}
