.hxai-chat {
  --hxai-void: #060606;
  --hxai-panel: rgba(18,18,18, .72);
  --hxai-jade: #c8c8c8;
  --hxai-jade-soft: #ebebeb;
  --hxai-red: #828282;
  --hxai-ink: #e8e8e8;
  --hxai-muted: #8b8b8b;
  --hxai-line: rgba(204,204,204, .18);
  --hxai-pointer-x: 68%;
  --hxai-pointer-y: 22%;
  position: relative;
  isolation: isolate;
  display: flex;
  width: 100%;
  max-width: 1240px;
  height: clamp(620px, calc(100dvh - 190px), 820px);
  margin: 0 auto;
  overflow: hidden;
  flex-direction: column;
  border: 1px solid rgba(204,204,204,.23);
  border-radius: 5px 28px 5px 28px;
  background: linear-gradient(145deg, rgba(20,20,20,.72), rgba(8,8,8,.8));
  box-shadow: 0 32px 95px rgba(6,6,6,.54), inset 0 1px rgba(255,255,255,.022), 0 0 45px rgba(200,200,200,.055);
  color: var(--hxai-ink);
  font-family: "Noto Sans SC", "Microsoft YaHei", sans-serif;
  -webkit-backdrop-filter: blur(24px) saturate(132%);
  backdrop-filter: blur(24px) saturate(132%);
}
.hxai-chat::before {
  position: absolute;
  inset: -48%;
  z-index: 0;
  background:
    radial-gradient(ellipse at 30% 42%, rgba(178,178,178,.15), transparent 30%),
    radial-gradient(ellipse at 71% 55%, rgba(103,103,103,.12), transparent 27%),
    radial-gradient(ellipse at 53% 73%, rgba(125,125,125,.055), transparent 20%);
  content: "";
  pointer-events: none;
  animation: hxai-nebula 22s ease-in-out infinite alternate;
}
.hxai-chat::after {
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background: radial-gradient(circle 320px at var(--hxai-pointer-x) var(--hxai-pointer-y), rgba(200,200,200,.12), rgba(102,102,102,.035) 44%, transparent 72%);
  content: "";
  pointer-events: none;
}
.hxai-chat__main { position: relative; z-index: 1; display: flex; min-width: 0; min-height: 0; flex: 1; flex-direction: column; }
.hxai-chat__header {
  position: relative;
  display: flex;
  min-height: 66px;
  align-items: center;
  gap: 13px;
  flex: 0 0 auto;
  padding: 11px 17px;
  overflow: hidden;
  border-bottom: 1px solid rgba(199,199,199,.15);
  background: linear-gradient(112deg, rgba(28,28,28,.64), rgba(10,10,10,.68));
  -webkit-backdrop-filter: blur(18px) saturate(126%);
  backdrop-filter: blur(18px) saturate(126%);
}
.hxai-chat__header::after {
  position: absolute;
  bottom: -1px;
  left: -35%;
  width: 32%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--hxai-red), var(--hxai-jade), transparent);
  content: "";
  box-shadow: 0 0 13px rgba(200,200,200,.42);
  animation: hxai-edge 7s ease-in-out infinite;
}
.hxai-chat__mark {
  position: relative;
  display: grid;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  place-items: center;
  border: 1px solid rgba(215,215,215,.58);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(200,200,200,.09), transparent 68%);
  color: var(--hxai-jade-soft);
  font-family: "Noto Serif SC", SimSun, serif;
  font-weight: 700;
  box-shadow: inset 0 0 0 4px rgba(200,200,200,.025), 0 0 22px rgba(200,200,200,.1);
}
.hxai-chat__mark::after { position: absolute; inset: -5px; border: 1px solid transparent; border-top-color: var(--hxai-red); border-right-color: rgba(200,200,200,.38); border-radius: 50%; content: ""; animation: hxai-orbit 8s linear infinite; }
.hxai-chat__header h2 { margin: 0; color: #fbfbfb; font-family: "Noto Serif SC", SimSun, serif; font-size: 18px; font-weight: 500; line-height: 1.4; }
.hxai-chat__header p { margin: 2px 0 0; color: #6a6a6a; font-size: 10px; letter-spacing: .05em; }
.hxai-chat__header-actions { position: relative; z-index: 2; display: flex !important; align-items: center; gap: 15px; margin-left: auto; visibility: visible !important; opacity: 1 !important; }
.hxai-chat__new {
  display: inline-flex !important;
  min-height: 35px;
  align-items: center;
  justify-content: center;
  padding: 6px 12px;
  border: 1px solid rgba(204,204,204,.26) !important;
  border-radius: 14px 3px 14px 3px;
  background: rgba(32,32,32,.55) !important;
  color: #cacaca !important;
  cursor: pointer;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.3;
  visibility: visible !important;
  box-shadow: 0 8px 24px rgba(6,6,6,.25);
  transition: transform .22s ease, border-color .22s ease, background .22s ease, color .22s ease, box-shadow .22s ease;
}
.hxai-chat__new:hover { border-color: rgba(225,225,225,.58) !important; background: linear-gradient(135deg, rgba(89,89,89,.58), rgba(48,48,48,.68)) !important; color: #fbfbfb !important; box-shadow: 0 10px 28px rgba(8,8,8,.32),0 0 20px rgba(200,200,200,.09); transform: translateY(-1px); }
.hxai-chat__new:disabled { cursor: wait; opacity: .5 !important; }
.hxai-history-open { display: inline-flex; min-height: 35px; align-items: center; justify-content: center; padding: 6px 12px; border: 1px solid rgba(114,232,245,.3); border-radius: 13px 3px 13px 3px; background: rgba(23,66,73,.2); color: #bceff3; cursor: pointer; font: inherit; font-size: 11px; font-weight: 700; white-space: nowrap; transition: border-color .2s ease,background .2s ease,transform .2s ease; }
.hxai-history-open b { margin-left: 5px; font: inherit; }
.hxai-history-open:hover { border-color: rgba(114,232,245,.62); background: rgba(31,93,102,.34); transform: translateY(-1px); }
.hxai-chat__status { display: inline-flex; align-items: center; color: #9c9c9c; font-size: 11px; }
.hxai-chat__status i { display: inline-block; width: 6px; height: 6px; margin-right: 6px; border-radius: 50%; background: var(--hxai-jade); box-shadow: 0 0 12px rgba(200,200,200,.8); animation: hxai-pulse 2.2s ease-in-out infinite; }

.hxai-chat__messages {
  min-height: 0;
  overflow-y: auto;
  flex: 1 1 auto;
  padding: 24px;
  overscroll-behavior: contain;
  scrollbar-color: rgba(200,200,200,.38) rgba(8,8,8,.5);
  background:
    radial-gradient(ellipse at 14% 13%, rgba(171,171,171,.12), transparent 27%),
    radial-gradient(ellipse at 84% 72%, rgba(83,83,83,.1), transparent 28%),
    radial-gradient(rgba(237,237,237,.22) .55px, transparent .8px),
    rgba(6,6,6,.43);
  background-size: auto, auto, 20px 20px, auto;
  animation: hxai-star-drift 28s linear infinite;
}
.hxai-message { display: flex; margin: 0 0 17px; animation: hxai-message-enter .42s cubic-bezier(.18,.78,.26,1) both; }
.hxai-message__content { max-width: min(82%,860px); padding: 12px 15px; border: 1px solid rgba(194,194,194,.17); border-radius: 3px 16px 16px 16px; background: linear-gradient(145deg, rgba(30,30,30,.8), rgba(15,15,15,.85)); color: #d5d5d5; line-height: 1.75; white-space: pre-wrap; overflow-wrap: anywhere; box-shadow: 0 11px 34px rgba(6,6,6,.24), inset 0 1px rgba(255,255,255,.018); -webkit-backdrop-filter: blur(13px) saturate(118%); backdrop-filter: blur(13px) saturate(118%); transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease; }
.hxai-message.is-assistant { position: relative; padding-bottom: 22px; }
.hxai-message.is-assistant .hxai-message__content { white-space: normal; }
.hxai-message.is-assistant .hxai-message__content:hover { border-color: rgba(203,203,203,.31); box-shadow: 0 14px 39px rgba(6,6,6,.32),0 0 22px rgba(200,200,200,.045); transform: translateY(-1px); }
.hxai-message.is-user { justify-content: flex-end; }
.hxai-message.is-user .hxai-message__content { border-color: rgba(222,222,222,.35); border-radius: 16px 3px 16px 16px; background: linear-gradient(135deg, #707070, #414141); color: #fcfcfc; box-shadow: 0 10px 28px rgba(25,25,25,.3),0 0 19px rgba(200,200,200,.07); }
.hxai-message__content.is-tool-status { width: auto; padding: 8px 13px; border-color: rgba(200,200,200,.23); border-radius: 18px; background: rgba(53,53,53,.28); color: #c8c8c8; font-size: 11px; letter-spacing: .03em; }
.hxai-message__content.is-tool-status::before { display: inline-block; margin-right: 8px; color: var(--hxai-red); content: "✦"; animation: hxai-orbit 1.4s ease-in-out infinite; }
.hxai-message.is-streaming .hxai-message__content::after, .hxai-message__content.is-streaming::after { display: inline-block; width: 5px; height: 1em; margin-left: 4px; background: var(--hxai-jade); content: ""; vertical-align: text-bottom; box-shadow: 0 0 10px rgba(200,200,200,.7); animation: hxai-blink .8s infinite; }
.hxai-message__content.is-error { border-color: rgba(130,130,130,.34); color: #bbbbbb; }
.hxai-message__copy { position: absolute; bottom: 0; left: 2px; min-height: 0; padding: 2px 8px; border: 0; background: transparent; color: #6c6c6c; cursor: pointer; font-size: 10px; font-weight: 400; box-shadow: none; }
.hxai-message__copy:hover { background: transparent; color: var(--hxai-jade); transform: none; }

/* Safe rendered Markdown */
.hxai-message__content > :first-child { margin-top: 0; }
.hxai-message__content > :last-child { margin-bottom: 0; }
.hxai-message__content p { margin: .65em 0; }
.hxai-message__content h1, .hxai-message__content h2, .hxai-message__content h3, .hxai-message__content h4, .hxai-message__content h5, .hxai-message__content h6 { margin: 1.2em 0 .52em; color: #fbfbfb; font-family: "Noto Serif SC", SimSun, serif; line-height: 1.45; }
.hxai-message__content h1 { font-size: 1.48em; }
.hxai-message__content h2 { padding-bottom: 6px; border-bottom: 1px solid rgba(195,195,195,.15); font-size: 1.3em; }
.hxai-message__content h3 { color: var(--hxai-jade-soft); font-size: 1.15em; }
.hxai-message__content h4, .hxai-message__content h5, .hxai-message__content h6 { font-size: 1em; }
.hxai-message__content ul, .hxai-message__content ol { margin: .7em 0; padding-left: 1.6em; }
.hxai-message__content li { margin: .28em 0; }
.hxai-message__content li::marker { color: var(--hxai-red); }
.hxai-message__content blockquote { margin: .85em 0; padding: 10px 14px; border: 1px solid rgba(194,194,194,.12); border-left: 2px solid var(--hxai-red); border-radius: 2px 14px 2px 14px; background: rgba(38,38,38,.28); color: #b7b7b7; }
.hxai-message__content blockquote p { margin: 0; }
.hxai-message__content hr { height: 1px; margin: 1.1em 0; border: 0; background: linear-gradient(90deg,var(--hxai-jade),transparent); }
.hxai-message__content code { padding: 2px 5px; border-radius: 3px; background: rgba(200,200,200,.09); color: var(--hxai-jade-soft); font: .9em Consolas,Monaco,monospace; }
.hxai-message__content pre { max-width: 100%; overflow-x: auto; margin: .9em 0; padding: 13px 15px; border: 1px solid rgba(194,194,194,.14); border-radius: 3px 14px 3px 14px; background: #090909; color: #e8e8e8; line-height: 1.55; }
.hxai-message__content pre code { padding: 0; background: transparent; color: inherit; }
.hxai-message__content a { color: var(--hxai-jade-soft); text-decoration: underline; text-underline-offset: 3px; }
.hxai-table-wrap { max-width: 100%; overflow-x: auto; margin: .9em 0; }
.hxai-message__content table { width: 100%; min-width: 420px; border-collapse: collapse; font-size: .92em; }
.hxai-message__content th, .hxai-message__content td { padding: 8px 10px; border: 1px solid rgba(194,194,194,.14); text-align: left; }
.hxai-message__content th { background: rgba(60,60,60,.48); color: #fbfbfb; }
.hxai-message__content tr:nth-child(even) td { background: rgba(25,25,25,.38); }

.hxai-chat__form { flex: 0 0 auto; padding: 11px 15px 12px; border-top: 1px solid rgba(198,198,198,.15); background: rgba(11,11,11,.72); -webkit-backdrop-filter: blur(18px) saturate(122%); backdrop-filter: blur(18px) saturate(122%); }
.hxai-chat__form textarea { display: block; width: 100%; min-height: 58px; max-height: 110px; padding: 10px 12px; resize: vertical; border: 1px solid rgba(195,195,195,.2); border-radius: 3px 15px 3px 15px; background: rgba(7,7,7,.76); color: var(--hxai-ink); font: inherit; box-shadow: inset 0 1px 14px rgba(6,6,6,.18); transition: border-color .22s ease,box-shadow .22s ease,background .22s ease; }
.hxai-chat__form textarea:focus { border-color: rgba(200,200,200,.56); outline: 0; background: rgba(14,14,14,.91); box-shadow: inset 0 1px 14px rgba(6,6,6,.2),0 0 0 3px rgba(200,200,200,.065),0 0 25px rgba(200,200,200,.045); }
.hxai-chat__actions { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 8px; }
.hxai-chat__actions small { color: #686868; font-size: 10px; }
.hxai-chat__actions button { position: relative; min-width: 100px; min-height: 39px; padding: 7px 19px; overflow: hidden; border: 1px solid rgba(220,220,220,.37); border-radius: 3px 16px 3px 16px; background: linear-gradient(135deg,#6a6a6a,#3d3d3d); color: #fbfbfb; cursor: pointer; font-weight: 700; box-shadow: 0 10px 28px rgba(21,21,21,.3),inset 0 1px rgba(255,255,255,.08); transition: transform .22s ease,box-shadow .22s ease,filter .22s ease; }
.hxai-chat__actions button::after { position: absolute; inset: -50% auto -50% -70%; width: 42%; background: linear-gradient(90deg,transparent,rgba(249,249,249,.3),transparent); content: ""; transform: skewX(-18deg); transition: left .5s ease; }
.hxai-chat__actions button:hover { filter: brightness(1.12); transform: translateY(-2px); box-shadow: 0 13px 34px rgba(23,23,23,.38),0 0 23px rgba(200,200,200,.1); }
.hxai-chat__actions button:hover::after { left: 135%; }
.hxai-chat__actions button:disabled { cursor: wait; opacity: .6; }

/* Configurable intake fields */
.hxai-intake { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px 12px; margin-bottom: 10px; }
.hxai-field { display: grid; min-width: 0; gap: 6px; color: #b8c1c7; font-size: 14px; }
.hxai-field--wide { grid-column: 1/-1; }
.hxai-field > span { letter-spacing: .04em; }
.hxai-field b { color: #ff8292; }
.hxai-field input, .hxai-field select, .hxai-field textarea { width: 100%; min-height: 44px; padding: 9px 12px; border: 1px solid rgba(114,232,245,.23); border-radius: 3px 12px 3px 12px; outline: 0; background: rgba(5,8,10,.86); color: #eefcff; font: inherit; box-shadow: inset 0 1px 12px rgba(0,0,0,.25); }
.hxai-field textarea { resize: vertical; }
.hxai-field input:focus, .hxai-field select:focus, .hxai-field textarea:focus { border-color: rgba(114,232,245,.66); box-shadow: 0 0 0 3px rgba(37,185,202,.1),0 0 20px rgba(114,232,245,.1); }
.hxai-chat__form > .hxai-intake { max-height: 132px; overflow-y: auto; padding: 2px 4px 3px 0; }
.hxai-chat__form .hxai-intake textarea { min-height: 48px; }

/* Interactive divination workspace */
.hxai-game {
  --hxai-jade: #72e8f5;
  --hxai-jade-soft: #d8fbff;
  --hxai-violet: #a78bfa;
  --hxai-line: rgba(210,245,250,.18);
  position: relative;
  isolation: isolate;
  width: min(100%,1320px);
  margin: 0 auto 42px;
  overflow: hidden;
  border: 1px solid rgba(114,232,245,.25);
  border-radius: 5px 30px 5px 30px;
  background: radial-gradient(circle at 84% 12%,rgba(167,139,250,.13),transparent 29%),radial-gradient(circle at 10% 78%,rgba(37,185,202,.12),transparent 28%),linear-gradient(145deg,rgba(9,12,17,.96),rgba(2,3,6,.98));
  color: #edf4f7;
  box-shadow: 0 32px 90px rgba(0,0,0,.68),0 0 28px rgba(114,232,245,.1),inset 0 1px rgba(255,255,255,.07);
  font-family: "Noto Sans SC","Microsoft YaHei",sans-serif;
  animation: hxai-game-enter .75s cubic-bezier(.2,.78,.22,1) both;
}
.hxai-game::before { position: absolute; inset: 0; z-index: -1; background: radial-gradient(rgba(216,251,255,.16) .65px,transparent .9px); background-size: 23px 23px; content: ""; opacity: .55; mask-image: linear-gradient(to bottom,#000,transparent 86%); }
.hxai-game__header { display: flex; min-height: 116px; align-items: center; gap: 17px; padding: 22px 28px; border-bottom: 1px solid var(--hxai-line); background: rgba(8,10,16,.74); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.hxai-game__seal { position: relative; display: grid; width: 58px; height: 58px; flex: 0 0 58px; place-items: center; border: 1px solid rgba(114,232,245,.6); border-radius: 50%; color: var(--hxai-jade-soft); font-family: "Noto Serif SC",SimSun,serif; font-size: 23px; box-shadow: inset 0 0 0 5px rgba(114,232,245,.03),0 0 24px rgba(114,232,245,.14); }
.hxai-game__seal::after { position: absolute; inset: -6px; border: 1px solid transparent; border-top-color: var(--hxai-violet); border-right-color: rgba(114,232,245,.25); border-radius: 50%; content: ""; animation: hxai-orbit 9s linear infinite; }
.hxai-game__header small { color: var(--hxai-jade); font-size: 12px; font-weight: 700; letter-spacing: .16em; }
.hxai-game__header h2 { margin: 2px 0; color: #fff; font-family: "Noto Serif SC",SimSun,serif; font-size: clamp(22px,3vw,34px); font-weight: 500; }
.hxai-game__header p { max-width: 720px; margin: 0; color: #aab6be; font-size: 15px; line-height: 1.7; }
.hxai-game__reset { min-height: 41px; margin-left: auto; padding: 8px 15px; border: 1px solid rgba(167,139,250,.4); border-radius: 14px 3px 14px 3px; background: rgba(82,56,158,.16); color: #ddd3ff; cursor: pointer; font-size: 14px; }
.hxai-game__header-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 10px; margin-left: auto; }
.hxai-game__header-actions .hxai-game__reset { margin-left: 0; }
.hxai-game__workspace { display: grid; gap: 22px; padding: clamp(24px,3.6vw,48px); }
.hxai-game__setup, .hxai-game__stage, .hxai-game__report { padding: clamp(26px,3.5vw,46px); border: 1px solid rgba(114,232,245,.2); border-radius: 6px 28px 6px 28px; background: linear-gradient(145deg,rgba(13,17,24,.9),rgba(5,7,11,.94)); box-shadow: 0 20px 54px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.04); }
.hxai-game__setup-heading, .hxai-game__stage-heading, .hxai-game__report-heading { display: flex; align-items: center; gap: 13px; margin-bottom: 20px; }
.hxai-game__setup-heading > span, .hxai-game__stage-heading > span, .hxai-game__report-heading > span { color: var(--hxai-violet); font: 600 30px/1 Georgia,serif; text-shadow: 0 0 16px rgba(167,139,250,.4); }
.hxai-game__setup-heading div, .hxai-game__stage-heading div, .hxai-game__report-heading div { display: flex; flex-direction: column; }
.hxai-game__setup-heading strong, .hxai-game__stage-heading strong, .hxai-game__report-heading strong { color: #fff; font-family: "Noto Serif SC",SimSun,serif; font-size: 26px; }
.hxai-game__setup-heading small, .hxai-game__stage-heading small, .hxai-game__report-heading small { color: #aebac2; font-size: 16px; line-height: 1.7; }
.hxai-game__setup-body { display: grid; grid-template-columns: minmax(0,1fr); gap: 22px; align-items: stretch; }
.hxai-game__setup-fields { display: grid; align-content: start; gap: 18px; }
.hxai-game__setup-fields .hxai-intake { margin-bottom: 0; }
.hxai-game__setup-aside { display: grid; min-height: 0; grid-template-columns: minmax(130px,.24fr) minmax(0,1fr) auto; align-items: center; gap: 18px 28px; padding: 20px 28px; border: 1px solid rgba(167,139,250,.28); border-radius: 5px 25px 5px 25px; background: radial-gradient(circle at 80% 14%,rgba(167,139,250,.18),transparent 34%),linear-gradient(155deg,rgba(37,185,202,.09),rgba(10,10,18,.66)); box-shadow: inset 0 1px rgba(255,255,255,.06),0 16px 38px rgba(0,0,0,.22); }
.hxai-game__setup-aside > span { color: var(--hxai-jade); font-size: 14px; font-weight: 700; letter-spacing: .14em; }
.hxai-game__setup-copy { display: grid; min-width: 0; gap: 5px; }
.hxai-game__setup-aside strong { margin: 0; color: #fff; font-family: "Noto Serif SC",SimSun,serif; font-size: clamp(20px,1.55vw,25px); font-weight: 500; line-height: 1.28; }
.hxai-game__setup-aside p { margin: 0; color: #adbac2; font-size: 15px; line-height: 1.6; }
.hxai-game__prepare, .hxai-game__interact { display: flex; min-height: 58px; align-items: center; justify-content: center; gap: 14px; margin: 24px auto 0; padding: 12px 34px; border: 1px solid rgba(114,232,245,.58); border-radius: 3px 18px 3px 18px; background: linear-gradient(135deg,rgba(37,185,202,.92),rgba(88,62,170,.94)); color: #fff; cursor: pointer; font-size: 20px; font-weight: 700; box-shadow: 0 14px 34px rgba(0,0,0,.42),0 0 24px rgba(114,232,245,.14); transition: transform .22s ease,box-shadow .22s ease,filter .22s ease; }
.hxai-game__setup-aside .hxai-game__prepare { width: auto; min-width: 190px; margin: 0; white-space: nowrap; }
.hxai-game__prepare:hover, .hxai-game__interact:hover { filter: brightness(1.12); box-shadow: 0 16px 40px rgba(0,0,0,.5),0 0 22px rgba(114,232,245,.3),0 0 42px rgba(167,139,250,.17); transform: translateY(-2px); }
.hxai-game__prepare:disabled, .hxai-game__interact:disabled { cursor: wait; opacity: .58; transform: none; }
.hxai-game__setup-error, .hxai-game__error { margin-top: 14px; padding: 10px 13px; border: 1px solid rgba(255,113,133,.42); border-radius: 3px 13px 3px 13px; background: rgba(73,24,35,.4); color: #ffd6dc; }
.hxai-game__visual { position: relative; display: grid; min-height: 360px; place-items: center; overflow: hidden; border: 1px solid rgba(114,232,245,.12); border-radius: 26px 4px 26px 4px; background: radial-gradient(circle at 50% 46%,rgba(37,185,202,.12),transparent 34%),radial-gradient(circle at 78% 20%,rgba(167,139,250,.09),transparent 30%),rgba(2,4,8,.8); perspective: 1200px; }
.hxai-game__visual::before { position: absolute; inset: 0; background: radial-gradient(rgba(216,251,255,.18) .55px,transparent .8px); background-size: 18px 18px; content: ""; opacity: .34; }
.hxai-game__outcome { margin-bottom: 16px; padding: 12px 15px; border-left: 2px solid var(--hxai-jade); background: rgba(37,185,202,.07); }
.hxai-game__outcome strong { color: var(--hxai-jade-soft); font-family: "Noto Serif SC",SimSun,serif; font-size: 18px; }
.hxai-game__outcome p { margin: 4px 0 0; color: #aab7be; font-size: 15px; line-height: 1.65; }
.hxai-game__answer { min-height: 90px; color: #d9e0e3; font-size: 16px; line-height: 1.85; }
.hxai-game__answer h1, .hxai-game__answer h2, .hxai-game__answer h3 { color: #fff; font-family: "Noto Serif SC",SimSun,serif; }
.hxai-game__answer h2 { padding-bottom: 7px; border-bottom: 1px solid var(--hxai-line); }
.hxai-game__answer li::marker { color: var(--hxai-violet); }
.hxai-game__thinking { display: flex; align-items: center; gap: 11px; color: var(--hxai-jade-soft); }
.hxai-game__thinking i { width: 9px; height: 9px; border-radius: 50%; background: var(--hxai-jade); box-shadow: 0 0 16px rgba(114,232,245,.8); animation: hxai-pulse 1.1s ease-in-out infinite; }
.hxai-game__disclaimer { margin: 0; padding: 0 28px 20px; color: #83919a; font-size: 13px; text-align: center; }

/* Streamed cultural reading modal */
body.hxai-reading-open { overflow: hidden; }
.hxai-reading-modal[hidden] { display: none !important; }
.hxai-reading-modal { position: fixed; inset: 0; z-index: 100080; display: grid; place-items: center; padding: clamp(12px,3vw,38px); opacity: 0; transition: opacity .22s ease; }
.hxai-reading-modal.is-open { opacity: 1; }
.hxai-reading-modal__backdrop,
.hxai-reading-modal__backdrop:hover,
.hxai-reading-modal__backdrop:focus { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; outline: 0 !important; background: radial-gradient(circle at 50% 42%,rgba(35,74,91,.18),transparent 42%),rgba(0,2,6,.86) !important; box-shadow: none !important; cursor: default; filter: none !important; transform: none !important; -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.hxai-reading-modal__panel { position: relative; display: grid; width: min(960px,100%); height: min(780px,86dvh); grid-template-rows: auto minmax(0,1fr) auto; overflow: hidden; border: 1px solid rgba(114,232,245,.4); border-radius: 7px 34px 7px 34px; background: radial-gradient(circle at 76% 5%,rgba(111,76,206,.17),transparent 33%),linear-gradient(145deg,rgba(10,18,25,.98),rgba(2,4,9,.99) 56%,rgba(8,5,17,.99)); box-shadow: 0 46px 140px rgba(0,0,0,.86),0 0 0 1px rgba(255,255,255,.06),0 0 80px rgba(114,232,245,.14),inset 0 0 80px rgba(167,139,250,.045); transform: translateY(24px) scale(.975); transition: transform .32s cubic-bezier(.2,.8,.2,1); }
.hxai-reading-modal.is-open .hxai-reading-modal__panel { transform: translateY(0) scale(1); }
.hxai-reading-modal__panel::before { position: absolute; top: 0; left: -35%; z-index: 3; width: 30%; height: 1px; background: linear-gradient(90deg,transparent,var(--hxai-violet),var(--hxai-jade),transparent); content: ""; box-shadow: 0 0 18px rgba(114,232,245,.75); animation: hxai-reading-edge 5.5s ease-in-out infinite; }
.hxai-reading-modal__aura { position: absolute; top: -180px; right: -150px; width: 430px; height: 430px; opacity: .34; pointer-events: none; }
.hxai-reading-modal__aura i { position: absolute; inset: 10%; border: 1px solid rgba(114,232,245,.25); border-radius: 50%; animation: hxai-orbit 28s linear infinite; }
.hxai-reading-modal__aura i:nth-child(2) { inset: 25%; border-style: dashed; border-color: rgba(167,139,250,.32); animation-duration: 18s; animation-direction: reverse; }
.hxai-reading-modal__aura i:nth-child(3) { inset: 40%; border-color: rgba(244,201,107,.24); animation-duration: 11s; }
.hxai-reading-modal__header { position: relative; z-index: 2; display: flex; min-height: 92px; align-items: center; gap: 20px; padding: 18px max(84px,clamp(20px,4vw,42px)) 18px clamp(20px,4vw,42px); border-bottom: 1px solid rgba(114,232,245,.2); background: rgba(4,8,13,.66); }
.hxai-reading-modal__header small { color: var(--hxai-jade); font-size: 11px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.hxai-reading-modal__header h2 { margin: 3px 0 0; color: #fff; font: 500 clamp(25px,3vw,38px)/1.25 "Noto Serif SC",SimSun,serif; letter-spacing: .04em; text-shadow: 0 0 26px rgba(216,251,255,.22); }
.hxai-reading-modal__close { position: absolute !important; top: 18px !important; right: 18px !important; z-index: 8; display: grid !important; width: 46px !important; height: 46px !important; min-width: 46px !important; min-height: 46px !important; place-items: center; margin: 0 !important; padding: 0 !important; border: 1px solid rgba(216,251,255,.32) !important; border-radius: 50% !important; background: rgba(7,13,20,.94) !important; color: #fff !important; box-shadow: 0 0 22px rgba(114,232,245,.12) !important; font-size: 30px; font-weight: 300; line-height: 1; transform: none !important; }
.hxai-reading-modal__scroll { position: relative; min-height: 0; padding: clamp(20px,4vw,42px); overflow-y: auto; overscroll-behavior: contain; scrollbar-color: rgba(114,232,245,.5) rgba(0,0,0,.25); }
.hxai-reading-modal .hxai-game__outcome { margin-bottom: 24px; border: 1px solid rgba(114,232,245,.12); border-left: 2px solid var(--hxai-jade); border-radius: 0 14px 0 14px; }
.hxai-reading-modal .hxai-game__answer { min-height: 180px; font-size: clamp(15px,1.4vw,18px); line-height: 1.9; }
.hxai-reading-modal .hxai-game__answer.is-streaming::after { display: inline-block; width: 8px; height: 1.15em; margin-left: 5px; background: linear-gradient(var(--hxai-jade),var(--hxai-violet)); content: ""; vertical-align: -.18em; box-shadow: 0 0 14px rgba(114,232,245,.65); animation: hxai-blink .8s step-end infinite; }
.hxai-reading-modal .hxai-game__answer h1,.hxai-reading-modal .hxai-game__answer h2,.hxai-reading-modal .hxai-game__answer h3 { margin-top: 1.3em; letter-spacing: .025em; }
.hxai-reading-modal .hxai-game__answer blockquote { margin-inline: 0; padding: 15px 18px; border-left: 2px solid var(--hxai-violet); border-radius: 0 14px 0 14px; background: rgba(167,139,250,.06); }
.hxai-reading-modal .hxai-game__answer pre { overflow-x: auto; padding: 15px; border: 1px solid rgba(114,232,245,.14); border-radius: 4px 14px 4px 14px; background: rgba(0,0,0,.42); }
.hxai-reading-modal .hxai-table-wrap { overflow-x: auto; }
.hxai-reading-modal footer { position: relative; z-index: 2; display: flex; min-height: 68px; align-items: center; justify-content: space-between; gap: 16px; padding: 12px clamp(20px,4vw,42px); border-top: 1px solid rgba(114,232,245,.15); background: rgba(2,5,9,.86); }
.hxai-reading-modal footer span { color: #7f909a; font-size: 12px; }
.hxai-reading-modal footer button { min-height: 40px; padding: 7px 18px; font-size: 13px; }

/* Tarot */
.hxai-tarot-table { position: relative; z-index: 1; display: grid; width: min(100%,1180px); min-height: 430px; grid-template-columns: minmax(0,1fr); place-items: center; gap: 22px; }
.hxai-tarot-carousel { position: relative; width: min(92%,1050px); height: 350px; overflow: hidden; border: 1px solid rgba(114,232,245,.16); border-radius: 10px 30px 10px 30px; background: radial-gradient(circle at center,rgba(93,64,173,.14),transparent 60%),rgba(1,3,8,.68); box-shadow: inset 0 0 70px rgba(0,0,0,.58),0 0 26px rgba(114,232,245,.06); }
.hxai-tarot-carousel::before, .hxai-tarot-carousel::after { position: absolute; top: 0; bottom: 0; z-index: 2; width: 22%; content: ""; pointer-events: none; }
.hxai-tarot-carousel::before { left: 0; background: linear-gradient(90deg,rgba(2,4,8,.96),transparent); }
.hxai-tarot-carousel::after { right: 0; background: linear-gradient(-90deg,rgba(2,4,8,.96),transparent); }
.hxai-tarot-carousel__lane { position: absolute; top: 50%; left: 50%; display: flex; align-items: center; gap: 22px; transform: translate(-50%,-50%); }
.hxai-tarot-carousel__card { display: block; width: 154px; height: 264px; flex: 0 0 154px; perspective: 1100px; transition: opacity .5s ease,filter .5s ease,transform .5s ease; }
.hxai-tarot-carousel__inner { position: relative; display: block; width: 100%; height: 100%; transition: transform 1s cubic-bezier(.18,.78,.18,1); transform-style: preserve-3d; }
.hxai-tarot-carousel__back, .hxai-tarot-carousel__face { position: absolute; inset: 0; display: block; overflow: hidden; border: 1px solid rgba(244,201,107,.42); border-radius: 9px; background: #08080d; backface-visibility: hidden; box-shadow: 0 14px 38px rgba(0,0,0,.62),0 0 17px rgba(167,139,250,.1); }
.hxai-tarot-carousel__face { transform: rotateY(180deg); }
.hxai-tarot-carousel__back img, .hxai-tarot-carousel__face img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hxai-tarot-carousel__card.is-selected { z-index: 4; transform: scale(1.08); }
.hxai-tarot-carousel__card.is-flipped .hxai-tarot-carousel__inner { transform: rotateY(180deg); }
.hxai-tarot-carousel__card.is-flipped.is-reversed .hxai-tarot-carousel__inner { transform: rotateY(180deg) rotateZ(180deg); }
.hxai-tarot-table.is-revealed .hxai-tarot-carousel__card:not(.is-selected) { opacity: .08; filter: blur(4px); transform: scale(.82); }
.hxai-tarot-table.is-revealed .hxai-tarot-carousel__card.is-selected { transform: scale(1.18); }
.hxai-tarot-carousel__marker { position: absolute; top: 12px; left: 50%; z-index: 3; color: #f6d786; font-size: 20px; text-shadow: 0 0 16px rgba(244,201,107,.8); transform: translateX(-50%); }
.hxai-tarot-carousel__marker::after { position: absolute; top: 27px; left: 50%; width: 1px; height: 275px; background: linear-gradient(#f6d786,rgba(246,215,134,.05)); content: ""; transform: translateX(-50%); }
.hxai-tarot-carousel.is-rolling .hxai-tarot-carousel__lane { animation: hxai-tarot-flow 8s linear infinite; will-change: transform; }
.hxai-tarot-caption { display: flex; align-items: flex-start; flex-direction: column; gap: 8px; }
.hxai-tarot-caption strong { color: #fff; font: 22px "Noto Serif SC",SimSun,serif; }
.hxai-tarot-caption span { padding: 4px 11px; border: 1px solid rgba(167,139,250,.45); border-radius: 13px; background: rgba(93,64,173,.2); color: #ddd3ff; }
.hxai-tarot-caption--waiting strong { color: #d8fbff; font-size: 20px; }
.hxai-tarot-caption--waiting span { color: #f6d786; }
.hxai-game__visual.is-casting .hxai-tarot-carousel { animation: hxai-tarot-lock .42s ease both; }

/* Six-line coins */
.hxai-coins-stage { position: relative; z-index: 1; display: grid; width: min(92%,780px); grid-template-columns: minmax(300px,1fr) 190px; align-items: center; gap: 45px; }
.hxai-coins { display: flex; min-height: 150px; align-items: center; justify-content: space-evenly; gap: 16px; }
.hxai-coin { width: clamp(72px,9vw,104px); aspect-ratio: 1; border: 3px solid #b58c39; border-radius: 50%; background: #75551d; box-shadow: 0 14px 28px rgba(0,0,0,.46),0 0 20px rgba(244,201,107,.12); }
.hxai-coin img { display: block; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.hxai-game__visual.is-casting .hxai-coin { animation: hxai-coin-toss .74s calc(var(--coin-index) * 70ms) cubic-bezier(.2,.72,.28,1) both; }
.hxai-hexagram { display: flex; flex-direction: column; gap: 12px; }
.hxai-hex-line { display: flex; height: 8px; align-items: center; gap: 12px; opacity: .16; transition: opacity .3s ease,filter .3s ease; }
.hxai-hex-line span { height: 5px; flex: 1; background: #687078; }
.hxai-hex-line em { width: 32px; color: #77818a; font-size: 11px; font-style: normal; }
.hxai-hex-line.is-visible { opacity: 1; filter: drop-shadow(0 0 7px rgba(114,232,245,.35)); }
.hxai-hex-line.is-visible span { background: var(--hxai-jade); }

/* Jiaobei */
.hxai-jiaobei-stage { position: relative; z-index: 1; display: grid; justify-items: center; gap: 13px; }
.hxai-jiaobei-pieces { display: flex; min-height: 230px; align-items: center; justify-content: center; gap: clamp(10px,3vw,34px); }
.hxai-jiaobei-piece { width: clamp(112px,15vw,164px); height: 214px; padding: 0; border: 0; background: transparent; filter: drop-shadow(0 22px 18px rgba(0,0,0,.58)) drop-shadow(0 0 13px rgba(114,232,245,.24)) drop-shadow(0 0 22px rgba(167,139,250,.12)); }
.hxai-jiaobei-piece:nth-child(2) { transform: scaleX(-1); }
.hxai-jiaobei-piece img { display: block; width: 100%; height: 100%; object-fit: contain; }
.hxai-game__visual.is-casting .hxai-jiaobei-piece { animation: hxai-jiaobei-toss .72s calc(var(--piece-index) * 90ms) cubic-bezier(.2,.76,.25,1) both; }
.hxai-jiaobei-stage > strong { color: #fff; font: 20px "Noto Serif SC",SimSun,serif; }
.hxai-jiaobei-history { display: flex; gap: 9px; }
.hxai-jiaobei-history span { display: grid; min-width: 42px; height: 30px; place-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 13px 3px 13px 3px; color: #69737b; font-size: 11px; }
.hxai-jiaobei-history span.is-visible { border-color: rgba(114,232,245,.4); color: var(--hxai-jade-soft); box-shadow: 0 0 16px rgba(114,232,245,.08); }
.hxai-jiaobei-history span.is-xiao { border-color: rgba(244,201,107,.45); color: #f8dda0; }
.hxai-jiaobei-history span.is-yin { border-color: rgba(167,139,250,.46); color: #ddd3ff; }

/* Online test directory */
.hxai-directory { margin: 4px auto 54px; }
.hxai-directory__intro { position: relative; min-height: 250px; overflow: hidden; margin-bottom: 24px; padding: clamp(32px,5vw,64px); border: 1px solid rgba(198,198,198,.18); border-radius: 34px 4px 34px 4px; background: radial-gradient(circle at 78% 30%,rgba(173,173,173,.13),transparent 26%),linear-gradient(125deg,rgba(23,23,23,.78),rgba(10,10,10,.87)); color: #e8e8e8; box-shadow: 0 30px 80px rgba(6,6,6,.4); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.hxai-directory__intro::before { position: absolute; inset: 0; background: repeating-linear-gradient(90deg,transparent 0 84px,rgba(221,221,221,.02) 85px 86px); content: ""; animation: hxai-directory-scan 12s ease-in-out infinite alternate; }
.hxai-directory__intro::after { position: absolute; top: -85px; right: -45px; width: 280px; height: 280px; border: 1px solid rgba(205,205,205,.18); border-radius: 50%; box-shadow: inset 0 0 0 25px rgba(200,200,200,.018),inset 0 0 0 26px rgba(200,200,200,.1),0 0 50px rgba(200,200,200,.06); content: ""; animation: hxai-orbit 24s linear infinite; }
.hxai-directory__intro span { position: relative; z-index: 1; color: var(--hxai-jade); font-size: 13px; font-weight: 700; letter-spacing: .18em; }
.hxai-directory__intro h2 { position: relative; z-index: 1; max-width: 680px; margin: 9px 0; color: #fbfbfb; font-family: "Noto Serif SC",SimSun,serif; font-size: clamp(31px,5vw,54px); font-weight: 500; }
.hxai-directory__intro p { position: relative; z-index: 1; max-width: 760px; margin: 0; color: #b0b0b0; font-size: 17px; line-height: 1.75; }
.hxai-directory__section { margin-top: 34px; }
.hxai-directory__heading { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin: 0 4px 18px; padding-bottom: 15px; border-bottom: 1px solid rgba(255,255,255,.15); }
.hxai-directory__heading small { color: var(--hxai-jade); font-size: 11px; font-weight: 700; letter-spacing: .2em; }
.hxai-directory__heading h3 { margin: 5px 0 0; color: #fff; font: 500 clamp(28px,3vw,40px) "Noto Serif SC",SimSun,serif; }
.hxai-directory__heading p { max-width: 560px; margin: 0; color: #9ba4aa; font-size: 15px; text-align: right; }
.hxai-directory__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.hxai-test-card { --hx-glow-x: 50%; --hx-glow-y: 50%; position: relative; display: flex; min-height: 220px; align-items: center; gap: 23px; padding: 30px 34px; overflow: hidden; border: 1px solid rgba(197,197,197,.18); border-radius: 5px 28px 5px 28px; background: radial-gradient(circle 260px at var(--hx-glow-x) var(--hx-glow-y),rgba(200,200,200,.09),transparent 72%),linear-gradient(145deg,rgba(23,23,23,.78),rgba(11,11,11,.9)); color: #e3e3e3; box-shadow: 0 20px 55px rgba(6,6,6,.3); transition: transform .28s ease,border-color .28s ease,box-shadow .28s ease; }
.hxai-test-card.has-image { min-height: 250px; align-items: flex-end; background: linear-gradient(90deg,rgba(2,6,9,.96) 0%,rgba(2,6,9,.76) 58%,rgba(2,6,9,.15) 100%),var(--hx-card-image) center/cover; }
.hxai-test-card__image { position: absolute; inset: 0; z-index: -1; }
.hxai-test-card__image img { width: 100%; height: 100%; object-fit: cover; opacity: .38; }
.hxai-test-card:nth-child(3n+2) { border-radius: 22px 4px 22px 4px; }
.hxai-test-card::after { position: absolute; top: -1px; left: -40%; width: 36%; height: 1px; background: linear-gradient(90deg,transparent,var(--hxai-red),var(--hxai-jade),transparent); content: ""; opacity: 0; transition: left .55s ease,opacity .2s ease; }
.hxai-test-card:hover { border-color: rgba(217,217,217,.36); color: #fff; box-shadow: 0 27px 68px rgba(6,6,6,.42),0 0 28px rgba(200,200,200,.065); transform: translateY(-5px); }
.hxai-test-card:hover::after { left: 108%; opacity: 1; }
.hxai-test-card__seal { position: relative; display: grid; width: 72px; height: 72px; flex: 0 0 72px; place-items: center; border: 1px solid rgba(215,215,215,.55); border-radius: 50%; color: var(--hxai-jade-soft); font-family: "Noto Serif SC",SimSun,serif; font-size: 29px; font-weight: 700; box-shadow: inset 0 0 0 5px rgba(200,200,200,.025),0 0 21px rgba(200,200,200,.08); }
.hxai-test-card__seal::after { position: absolute; inset: -5px; border: 1px solid transparent; border-top-color: var(--hxai-red); border-radius: 50%; content: ""; animation: hxai-orbit 10s linear infinite; }
.hxai-test-card__body { display: flex; min-width: 0; flex: 1; flex-direction: column; }
.hxai-test-card__body small { color: var(--hxai-jade); font-size: 15px; font-weight: 700; letter-spacing: .09em; }
.hxai-test-card__body strong { margin: 7px 0 9px; color: #fbfbfb; font-family: "Noto Serif SC",SimSun,serif; font-size: clamp(27px,2.2vw,34px); font-weight: 500; }
.hxai-test-card__body em { color: #b4bdc2; font-size: 17px; font-style: normal; line-height: 1.75; }
.hxai-test-card__arrow { color: var(--hxai-red); font-family: Georgia,serif; font-size: 39px; transition: transform .22s ease; }
.hxai-test-card:hover .hxai-test-card__arrow { transform: translate(3px,-3px); }
.hxai-directory-empty, .hxai-unavailable { padding: 34px; border: 1px solid rgba(195,195,195,.16); border-radius: 4px 20px 4px 20px; background: rgba(19,19,19,.78); color: #adadad; text-align: center; }

.hxai-chat.is-entering .hxai-chat__header { animation: hxai-panel-down .62s .1s cubic-bezier(.2,.8,.24,1) both; }
.hxai-chat.is-entering .hxai-chat__messages { animation: hxai-panel-reveal .7s .2s cubic-bezier(.2,.8,.24,1) both,hxai-star-drift 28s linear infinite; }
.hxai-chat.is-entering .hxai-chat__form { animation: hxai-panel-up .65s .28s cubic-bezier(.2,.8,.24,1) both; }

html.hxai-history-is-open { overflow: hidden; }
.hxai-history[hidden] { display: none !important; }
.hxai-history { position: fixed; inset: 0; z-index: 100100; isolation: isolate; display: grid; place-items: center; padding: clamp(16px,3vw,42px); color: #e8eef1; }
.hxai-history__backdrop,
.hxai-history__backdrop:hover,
.hxai-history__backdrop:focus { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; min-width: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; outline: 0; background: rgba(0,0,0,.76) !important; cursor: default; box-shadow: none !important; filter: none !important; transform: none !important; -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); }
.hxai-history__panel { position: relative; display: flex; width: min(680px,100%); height: min(680px,calc(100dvh - 84px)); min-height: 0; flex-direction: column; overflow: hidden; border: 1px solid rgba(114,232,245,.25); border-radius: 6px 28px 6px 28px; background: linear-gradient(160deg,rgba(18,22,29,.985),rgba(5,7,11,.99)); box-shadow: 0 28px 90px rgba(0,0,0,.7),0 0 34px rgba(114,232,245,.07); }
.hxai-history__panel.is-detail-open { visibility: hidden; pointer-events: none; }
.hxai-history__panel > header { position: relative; display: flex; min-height: 92px; align-items: center; gap: 16px; padding: 18px 82px 18px 22px; border-bottom: 1px solid rgba(114,232,245,.16); background: rgba(9,12,17,.82); }
.hxai-history__panel > header small { color: var(--hxai-jade); font-size: 10px; font-weight: 700; letter-spacing: .18em; }
.hxai-history__panel > header h2 { margin: 3px 0 0; color: #fff; font-family: "Noto Serif SC",SimSun,serif; font-size: 23px; font-weight: 500; }
.hxai-history__close { position: absolute !important; top: 18px !important; right: 18px !important; z-index: 8; display: grid !important; width: 42px !important; height: 42px !important; min-width: 42px !important; min-height: 42px !important; place-items: center; margin: 0 !important; padding: 0 !important; border: 1px solid rgba(220,220,220,.3) !important; border-radius: 50% !important; background: rgba(7,13,20,.94) !important; color: #e9eef0 !important; cursor: pointer; font-size: 27px; line-height: 1; box-shadow: 0 0 18px rgba(114,232,245,.1) !important; transform: none !important; }
.hxai-history__list { min-height: 0; flex: 1; padding: 16px; overflow-y: auto; overscroll-behavior: contain; }
.hxai-history__loading,.hxai-history__empty,.hxai-history__error { margin: 30px 8px; color: #91a0a8; font-size: 14px; line-height: 1.8; text-align: center; }
.hxai-history__error { color: #f0aaaa; }
.hxai-history__item { margin-bottom: 11px; overflow: hidden; border: 1px solid rgba(174,202,207,.16); border-radius: 4px 17px 4px 17px; background: rgba(255,255,255,.025); }
.hxai-history__item summary { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 15px 17px; cursor: pointer; list-style: none; }
.hxai-history__item summary::-webkit-details-marker { display: none; }
.hxai-history__item summary span { display: grid; min-width: 0; gap: 4px; }
.hxai-history__item summary small { color: #74848c; font-size: 10px; letter-spacing: .04em; }
.hxai-history__item summary strong { overflow: hidden; color: #e9f1f3; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.hxai-history__item summary em { color: var(--hxai-jade); font-size: 19px; font-style: normal; transition: transform .2s ease; }
.hxai-history__item[open] summary em { transform: rotate(45deg); }
.hxai-history__detail { padding: 0 17px 18px; border-top: 1px solid rgba(174,202,207,.1); }
.hxai-history__question,.hxai-history__outcome { margin: 14px 0; color: #b9c4c8; font-size: 13px; line-height: 1.7; white-space: pre-wrap; }
.hxai-history__question b,.hxai-history__outcome strong { display: block; margin-bottom: 3px; color: #79dce5; }
.hxai-history__answer { padding: 14px; border: 1px solid rgba(255,255,255,.08); border-radius: 3px 13px 3px 13px; background: rgba(0,0,0,.2); color: #d8dee1; font-size: 13px; line-height: 1.75; overflow-wrap: anywhere; }
.hxai-history__answer > :first-child { margin-top: 0; }
.hxai-history__answer > :last-child { margin-bottom: 0; }
.hxai-history__more { min-height: 43px; margin: 0 16px max(16px,env(safe-area-inset-bottom)); border: 1px solid rgba(114,232,245,.28); border-radius: 3px 14px 3px 14px; background: rgba(20,83,91,.22); color: #bceff3; cursor: pointer; font-weight: 700; }
.hxai-directory__history-open { position: absolute; top: 18px; right: 18px; z-index: 2; }
.hxai-history__item { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 14px; }
.hxai-history__item > div { display: grid; min-width: 0; gap: 3px; }
.hxai-history__item > div small { color: #74848c; font-size: 10px; letter-spacing: .04em; }
.hxai-history__item > div strong { overflow: hidden; color: #e9f1f3; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.hxai-history__item > button { flex: 0 0 auto; min-height: 34px; padding: 6px 10px; border: 1px solid rgba(114,232,245,.34); border-radius: 3px 12px 3px 12px; background: rgba(20,83,91,.22); color: #bceff3; cursor: pointer; font: inherit; font-size: 11px; font-weight: 700; }
.hxai-history-detail[hidden] { display: none !important; }
.hxai-history-detail { position: fixed; inset: 0; z-index: 3; display: grid; place-items: center; padding: clamp(18px,3vw,42px); }
.hxai-history-detail__backdrop,
.hxai-history-detail__backdrop:hover,
.hxai-history-detail__backdrop:focus { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; min-width: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; outline: 0; background: rgba(0,0,0,.7) !important; cursor: default; box-shadow: none !important; filter: none !important; transform: none !important; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.hxai-history-detail__panel { position: relative; display: flex; width: min(1040px,100%); height: min(820px,calc(100dvh - 72px)); min-height: 300px; flex-direction: column; overflow: hidden; border: 1px solid rgba(114,232,245,.34); border-radius: 6px 28px 6px 28px; background: linear-gradient(160deg,rgba(18,22,29,.995),rgba(5,7,11,.995)); box-shadow: 0 30px 90px rgba(0,0,0,.72),0 0 36px rgba(114,232,245,.08); }
.hxai-history-detail__panel header { position: relative; display: flex; min-height: 84px; align-items: center; padding: 16px 84px 16px 26px; border-bottom: 1px solid rgba(114,232,245,.16); background: rgba(9,12,17,.82); }
.hxai-history-detail__panel h3 { margin: 0; overflow: hidden; color: #fff; font: 500 clamp(21px,2.2vw,29px)/1.4 "Noto Serif SC",SimSun,serif; text-overflow: ellipsis; white-space: nowrap; }
.hxai-history-detail__close,
.hxai-history-detail__close:hover,
.hxai-history-detail__close:focus { position: absolute !important; top: 18px !important; right: 20px !important; z-index: 4; display: grid !important; width: 48px !important; height: 48px !important; min-width: 48px !important; min-height: 48px !important; place-items: center; margin: 0 !important; padding: 0 !important; border: 1px solid rgba(220,220,220,.3) !important; border-radius: 50% !important; background: rgba(7,13,20,.96) !important; color: #e9eef0 !important; cursor: pointer; font-size: 30px; line-height: 1; box-shadow: 0 0 18px rgba(114,232,245,.1) !important; filter: none !important; transform: none !important; }
.hxai-history-detail__content { min-height: 0; padding: clamp(20px,3vw,38px); overflow-y: auto; overscroll-behavior: contain; scrollbar-color: rgba(114,232,245,.5) rgba(0,0,0,.35); }
.hxai-history-detail__content .hxai-history__question,
.hxai-history-detail__content .hxai-history__outcome { margin-inline: 0; }
.hxai-history-detail__content .hxai-history__answer { padding: 0; border: 0; border-radius: 0; background: transparent; }

/* Do not let intake controls consume the game workspace. */
.hxai-field input, .hxai-field select { min-height: 40px; padding-block: 7px; }
.hxai-field textarea { min-height: 64px; padding: 8px 11px; }
.hxai-game__setup-fields { gap: 12px; }

@keyframes hxai-nebula { from { opacity: .5; transform: translate3d(-3%,-2%,0) rotate(-4deg) scale(1); } to { opacity: 1; transform: translate3d(4%,3%,0) rotate(6deg) scale(1.08); } }
@keyframes hxai-edge { 0% { left: -35%; opacity: 0; } 18% { opacity: 1; } 72% { opacity: .9; } 100% { left: 112%; opacity: 0; } }
@keyframes hxai-orbit { to { transform: rotate(360deg); } }
@keyframes hxai-pulse { 50% { opacity: .45; transform: scale(.72); } }
@keyframes hxai-star-drift { to { background-position: 0 0,0 0,40px 60px,0 0; } }
@keyframes hxai-message-enter { from { opacity: 0; transform: translateY(10px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes hxai-blink { 50% { opacity: 0; } }
@keyframes hxai-panel-down { from { opacity: 0; transform: translateY(-18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes hxai-panel-up { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes hxai-panel-reveal { from { opacity: 0; filter: blur(7px); } to { opacity: 1; filter: blur(0); } }
@keyframes hxai-directory-scan { from { transform: translateX(-7%); opacity: .45; } to { transform: translateX(7%); opacity: 1; } }
@keyframes hxai-game-enter { from { opacity: 0; transform: translateY(24px) scale(.988); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes hxai-reading-edge { 0% { left: -35%; opacity: 0; } 16%,78% { opacity: 1; } 100% { left: 110%; opacity: 0; } }
@keyframes hxai-tarot-flow { from { transform: translate(-50%,-50%); } to { transform: translate(calc(-50% - 704px),-50%); } }
@keyframes hxai-tarot-lock { 0%,100% { transform: translateX(0); filter: brightness(1); } 35% { transform: translateX(-9px); filter: brightness(1.45); } 70% { transform: translateX(7px); } }
@keyframes hxai-card-arrive { from { opacity: 0; translate: -45px 12px; scale: .86; } to { opacity: 1; translate: 0 0; scale: 1; } }
@keyframes hxai-coin-toss { 0% { transform: translateY(0) rotateX(0) scale(1); } 48% { transform: translateY(-95px) rotateX(900deg) scale(.82); } 100% { transform: translateY(0) rotateX(1440deg) scale(1); } }
@keyframes hxai-jiaobei-toss { 0% { translate: 0 0; rotate: 0deg; scale: 1; } 48% { translate: 0 -105px; rotate: 380deg; scale: .82; } 100% { translate: 0 0; rotate: 720deg; scale: 1; } }

@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .hxai-chat, .hxai-directory__intro, .hxai-test-card { background-color: rgba(15,15,15,.96); }
}

@media (max-width: 980px) {
  .hxai-game__setup-aside { grid-template-columns: 1fr; align-items: start; }
  .hxai-game__setup-aside .hxai-game__prepare { width: auto; min-width: 230px; margin-top: 8px; }
  .hxai-tarot-carousel { width: 96%; height: 300px; }
  .hxai-tarot-carousel__card { width: 132px; height: 226px; flex-basis: 132px; }
}

@media (max-width: 600px) {
  .hxai-chat { height: 100%; min-height: 0; max-height: none; margin: 0; border-inline: 0; border-radius: 0; }
  body.hxai-generated-page:not(.hxai-game-page) .content-layout.is-ai-page { animation: none !important; transform: none !important; }
  body.hxai-generated-page:not(.hxai-game-page) .hxai-chat { position: fixed; top: calc(var(--hxai-mobile-viewport-top,0px) + 48px); bottom: auto; left: 50%; z-index: 90; width: 100%; height: calc(var(--hxai-mobile-viewport-height,100dvh) - 48px); min-height: 0; max-height: calc(var(--hxai-mobile-viewport-height,100dvh) - 48px); margin: 0; transform: translateX(-50%); }
  body.admin-bar.hxai-generated-page:not(.hxai-game-page) .hxai-chat { top: calc(var(--hxai-mobile-viewport-top,0px) + 94px); height: calc(var(--hxai-mobile-viewport-height,100dvh) - 94px); max-height: calc(var(--hxai-mobile-viewport-height,100dvh) - 94px); }
  .hxai-chat__main { box-sizing: border-box; padding-bottom: max(56px,env(safe-area-inset-bottom)); }
  .hxai-chat__header { min-height: 58px; padding: 9px 11px; }
  .hxai-chat__mark { width: 35px; height: 35px; flex-basis: 35px; }
  .hxai-chat__header h2 { font-size: 15px; }
  .hxai-chat__header p, .hxai-chat__status { display: none; }
  .hxai-chat__header-actions { gap: 0; }
  .hxai-history-open { min-height: 33px; padding: 5px 8px; font-size: 10px; }
  .hxai-chat__header-actions .hxai-history-open { width: 33px; padding-inline: 5px; }
  .hxai-chat__header-actions .hxai-history-open b { display: none; }
  .hxai-chat__new { min-height: 33px; padding: 5px 8px; font-size: 10px; }
  .hxai-chat__messages { padding: 15px 11px; }
  .hxai-message__content { max-width: 92%; padding: 10px 12px; }
  .hxai-chat__form { display: grid; align-items: end; grid-template-columns: minmax(0,1fr) auto; gap: 8px; padding: 9px max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left)); }
  .hxai-chat__form > .hxai-intake { grid-column: 1/-1; margin-bottom: 0; }
  .hxai-chat__form > textarea { height: 52px; min-height: 52px; max-height: 96px; resize: none; overflow-y: auto; }
  .hxai-chat__actions { display: contents; }
  .hxai-chat__actions small { display: none; }
  .hxai-chat__actions button { min-width: 86px; min-height: 52px; max-width: 98px; padding-inline: 13px; overflow: hidden; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
  .hxai-directory { margin-bottom: 36px; }
  .hxai-directory__intro { min-height: 230px; margin-inline: 11px; padding: 32px 22px; border-radius: 25px 4px 25px 4px; }
  .hxai-directory__grid { grid-template-columns: 1fr; padding-inline: 11px; }
	.hxai-directory__history-open { top: 14px; right: 14px; min-height: 32px; padding: 5px 8px; }
	.hxai-directory__history-open b { display: none; }
	.hxai-directory__heading { align-items: flex-start; flex-direction: column; margin-inline: 15px; }
	.hxai-directory__heading p { text-align: left; }
  .hxai-test-card, .hxai-test-card.has-image { min-height: 142px; gap: 13px; padding: 17px 16px; }
  .hxai-directory__intro span { font-size: 11px; }
  .hxai-directory__intro p { font-size: 15px; }
  .hxai-test-card__seal { width: 48px; height: 48px; flex-basis: 48px; font-size: 20px; }
  .hxai-test-card__body small { font-size: 13px; }
  .hxai-test-card__body strong { margin: 3px 0 5px; font-size: 21px; }
  .hxai-test-card__body em { display: -webkit-box; overflow: hidden; font-size: 13px; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .hxai-field { font-size: 16px; }
  .hxai-intake { grid-template-columns: 1fr; }
  .hxai-game { margin-bottom: 24px; border-inline: 0; border-radius: 0; }
  .hxai-game__header { min-height: 92px; padding: 15px 13px; }
  .hxai-game__seal { width: 44px; height: 44px; flex-basis: 44px; font-size: 18px; }
  .hxai-game__header p { display: none; }
  .hxai-game__header small { font-size: 11px; }
  .hxai-game__setup-heading > span, .hxai-game__stage-heading > span, .hxai-game__report-heading > span { font-size: 26px; }
  .hxai-game__setup-heading strong, .hxai-game__stage-heading strong, .hxai-game__report-heading strong { font-size: 23px; }
  .hxai-game__setup-heading small, .hxai-game__stage-heading small, .hxai-game__report-heading small { font-size: 15px; }
  .hxai-game__setup-aside { grid-template-columns: 1fr; gap: 12px; padding: 21px; }
  .hxai-game__setup-aside > span { font-size: 13px; }
  .hxai-game__setup-aside strong { font-size: 23px; }
  .hxai-game__setup-aside p { font-size: 15px; }
  .hxai-reading-modal { padding: 8px; }
  .hxai-reading-modal__panel { height: min(760px,calc(100dvh - 16px)); border-radius: 5px 22px 5px 22px; }
  .hxai-reading-modal__header { min-height: 76px; padding: 13px 68px 13px 15px; }
  .hxai-reading-modal__close { top: 12px !important; right: 12px !important; width: 40px !important; height: 40px !important; min-width: 40px !important; min-height: 40px !important; }
  .hxai-reading-modal__scroll { padding: 16px 14px; }
  .hxai-reading-modal footer { align-items: stretch; flex-direction: column; padding: 10px 14px; }
  .hxai-reading-modal footer button { width: 100%; }
  .hxai-game__prepare, .hxai-game__interact { min-height: 54px; padding-inline: 26px; font-size: 18px; }
  .hxai-game__reset { padding: 5px 8px; font-size: 10px; }
  .hxai-game__header-actions { flex-direction: column; gap: 5px; }
  .hxai-game__header-actions .hxai-history-open,.hxai-game__header-actions .hxai-game__reset { min-height: 30px; }
  .hxai-history { padding: max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left)); }
  .hxai-history__panel { width: 100%; height: min(680px,calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom))); border: 1px solid rgba(114,232,245,.25); border-radius: 5px 20px 5px 20px; }
  .hxai-history__panel > header { min-height: 72px; padding: max(12px,env(safe-area-inset-top)) 66px 12px 14px; }
  .hxai-history__close { top: 14px !important; right: 14px !important; }
  .hxai-history__panel > header h2 { font-size: 19px; }
  .hxai-history__list { padding: 11px; }
  .hxai-history__item summary { padding: 13px; }
  .hxai-history-detail { padding: max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left)); }
  .hxai-history-detail__panel { width: 100%; height: calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); border-radius: 5px 20px 5px 20px; }
  .hxai-history-detail__panel header { min-height: 70px; padding: 12px 68px 12px 16px; }
  .hxai-history-detail__panel h3 { font-size: 20px; }
  .hxai-history-detail__close,
  .hxai-history-detail__close:hover,
  .hxai-history-detail__close:focus { top: 12px !important; right: 12px !important; width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important; }
  .hxai-history-detail__content { padding: 17px 15px; }
  .hxai-game__workspace { padding: 11px; }
  .hxai-game__setup, .hxai-game__stage, .hxai-game__report { padding: 16px 13px; }
  .hxai-game__visual { min-height: 300px; }
  .hxai-tarot-table { min-height: 300px; gap: 10px; }
  .hxai-tarot-carousel { width: min(100%,330px); height: 195px; }
  .hxai-tarot-carousel__lane { gap: 9px; }
  .hxai-tarot-carousel__card { width: 78px; height: 135px; flex-basis: 78px; }
  .hxai-tarot-carousel__marker { top: 5px; }
  .hxai-tarot-carousel__marker::after { top: 22px; height: 145px; }
  .hxai-tarot-table.is-revealed .hxai-tarot-carousel__card.is-selected { transform: scale(1.13); }
  .hxai-tarot-caption { align-items: center; text-align: center; }
  .hxai-coins-stage { width: 100%; grid-template-columns: 1fr; gap: 18px; }
  .hxai-coins { min-height: 125px; gap: 8px; }
  .hxai-coin { width: min(24vw,82px); }
  .hxai-hexagram { width: min(82%,260px); justify-self: center; }
  .hxai-jiaobei-pieces { min-height: 195px; gap: 4px; }
  .hxai-jiaobei-piece { width: min(39vw,138px); height: 178px; }
}

@media (prefers-reduced-motion: reduce) {
  .hxai-chat::before, .hxai-chat__header::after, .hxai-chat__mark::after, .hxai-chat__status i,
  .hxai-chat__messages, .hxai-message, .hxai-directory__intro::before, .hxai-directory__intro::after,
  .hxai-test-card__seal::after, .hxai-chat.is-entering .hxai-chat__header,
  .hxai-chat.is-entering .hxai-chat__messages, .hxai-chat.is-entering .hxai-chat__form,
  .hxai-game, .hxai-game__seal::after, .hxai-game__thinking i, .hxai-tarot-deck,
  .hxai-reading-modal__panel::before, .hxai-reading-modal__aura i,
  .hxai-tarot-card, .hxai-coin, .hxai-jiaobei-piece { animation: none !important; }
}
body.hxai-credit-dialog-open { overflow: hidden; }
.hxai-credit-dialog-layer { position:fixed;inset:0;z-index:100020;display:grid;padding:24px;place-items:center;background:rgba(0,3,8,.84);opacity:0;transition:opacity .18s ease; }
.hxai-credit-dialog-layer.is-visible { opacity:1; }
.hxai-credit-dialog-layer.is-closing { opacity:0; }
.hxai-credit-dialog { position:relative;width:min(520px,100%);overflow:hidden;padding:34px;border:1px solid rgba(114,232,245,.42);border-radius:7px 30px 7px 30px;background:radial-gradient(circle at 92% 7%,rgba(167,139,250,.18),transparent 32%),linear-gradient(145deg,#071018 0%,#03050a 58%,#090614 100%);color:#f4f6f8;box-shadow:0 36px 110px rgba(0,0,0,.85),0 0 46px rgba(114,232,245,.13),inset 0 1px rgba(255,255,255,.08);transform:translateY(18px) scale(.97);transition:transform .22s cubic-bezier(.2,.8,.2,1); }
.hxai-credit-dialog-layer.is-visible .hxai-credit-dialog { transform:translateY(0) scale(1); }
.hxai-credit-dialog::before { position:absolute;inset:0;background:linear-gradient(112deg,transparent 18%,rgba(114,232,245,.055) 42%,transparent 62%),repeating-linear-gradient(90deg,transparent 0 74px,rgba(255,255,255,.018) 75px 76px);content:"";pointer-events:none; }
.hxai-credit-dialog__close { position:absolute;top:17px;right:18px;z-index:2;display:grid;width:38px;height:38px;padding:0;place-items:center;border:1px solid rgba(255,255,255,.26);border-radius:50%;background:rgba(5,8,12,.86);color:#fff;font-size:27px;font-weight:300;line-height:1;cursor:pointer; }
.hxai-credit-dialog__close:hover,.hxai-credit-dialog__close:focus-visible { border-color:#72e8f5;box-shadow:0 0 20px rgba(114,232,245,.2); }
.hxai-credit-dialog__sigil { position:relative;display:grid;width:58px;height:58px;margin-bottom:18px;place-items:center;border:1px solid rgba(167,139,250,.58);border-radius:50%;color:#ddd3ff;box-shadow:0 0 24px rgba(167,139,250,.18),inset 0 0 18px rgba(167,139,250,.08); }
.hxai-credit-dialog__sigil::before,.hxai-credit-dialog__sigil::after { position:absolute;border:1px solid rgba(114,232,245,.18);border-radius:50%;content:""; }
.hxai-credit-dialog__sigil::before { inset:7px; }
.hxai-credit-dialog__sigil::after { inset:-7px;border-style:dashed; }
.hxai-credit-dialog__eyebrow { position:relative;margin:0 0 7px;color:#72e8f5;font-size:11px;font-weight:800;letter-spacing:.2em; }
.hxai-credit-dialog h2 { position:relative;margin:0;padding-right:44px;color:#fff;font-family:Georgia,"Songti SC",serif;font-size:clamp(27px,5vw,38px);font-weight:500;line-height:1.2; }
.hxai-credit-dialog__message { position:relative;margin:16px 0 0;color:#c9cdd2;font-size:15px;line-height:1.75; }
.hxai-credit-dialog__facts { position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px; }
.hxai-credit-dialog__facts[hidden] { display:none; }
.hxai-credit-dialog__facts > span { display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid rgba(255,255,255,.13);border-radius:14px 4px 14px 4px;background:rgba(255,255,255,.035); }
.hxai-credit-dialog__facts small { color:#929aa4;font-size:11px; }
.hxai-credit-dialog__facts strong { color:#d8fbff;font-size:18px; }
.hxai-credit-dialog__actions { position:relative;display:flex;justify-content:flex-end;gap:10px;margin-top:27px; }
.hxai-credit-dialog__actions button { min-height:45px;padding:9px 19px;border:1px solid rgba(255,255,255,.24);border-radius:15px 4px 15px 4px;color:#f8fbff;font-weight:700;cursor:pointer; }
.hxai-credit-dialog__cancel { background:rgba(255,255,255,.045); }
.hxai-credit-dialog__confirm { border-color:rgba(114,232,245,.62)!important;background:linear-gradient(135deg,#3c9eb5,#5744a9);box-shadow:0 0 22px rgba(114,232,245,.14); }
.hxai-credit-dialog__actions button:hover,.hxai-credit-dialog__actions button:focus-visible { border-color:#d8fbff;filter:brightness(1.12); }
@media (max-width:600px) { .hxai-credit-dialog-layer{padding:14px}.hxai-credit-dialog{padding:27px 21px 22px}.hxai-credit-dialog__facts{grid-template-columns:1fr}.hxai-credit-dialog__actions{display:grid;grid-template-columns:1fr 1.35fr}.hxai-credit-dialog__actions button{padding-inline:10px}.hxai-credit-dialog__close{top:13px;right:13px} }
@media (prefers-reduced-motion:reduce) { .hxai-credit-dialog-layer,.hxai-credit-dialog{transition:none} }
