:root {
  color-scheme: dark;
  --bg: #06101d;
  --bg-soft: #0a1728;
  --surface: rgba(18, 34, 55, .82);
  --surface-strong: #12243a;
  --surface-soft: rgba(255, 255, 255, .045);
  --line: rgba(159, 190, 220, .16);
  --line-strong: rgba(159, 190, 220, .29);
  --text: #f4f8ff;
  --muted: #9eb0c7;
  --teal: #42e2c3;
  --teal-deep: #13bfa7;
  --blue: #62b7ff;
  --earth: #d7a15b;
  --gold: #ffd56a;
  --green: #67dfa0;
  --danger: #ff778a;
  --shadow: 0 12px 36px rgba(0, 5, 14, .28);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "PingFang SC", "Microsoft YaHei", sans-serif;
}

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html { background: var(--bg); }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  background:
    radial-gradient(700px 480px at 88% -8%, rgba(45, 137, 202, .22), transparent 62%),
    radial-gradient(540px 360px at -12% 28%, rgba(40, 211, 179, .12), transparent 68%),
    linear-gradient(180deg, #071322 0%, #06101d 48%, #07111e 100%);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
button, input, select { font: inherit; }
button { cursor: pointer; touch-action: manipulation; }
.hidden { display: none !important; }

/* 登录 */
.gate {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: max(24px, env(safe-area-inset-top)) 22px max(24px, env(safe-area-inset-bottom));
}
.gate-card {
  width: min(100%, 390px);
  padding: 34px 26px 26px;
  text-align: center;
  background: linear-gradient(155deg, rgba(25, 48, 74, .94), rgba(10, 23, 39, .96));
  border: 1px solid rgba(148, 195, 229, .22);
  border-radius: 30px;
  box-shadow: 0 30px 90px rgba(0, 5, 14, .56), inset 0 1px rgba(255,255,255,.05);
  backdrop-filter: blur(24px) saturate(130%);
}
.logo {
  width: 76px;
  height: 76px;
  margin: 0 auto;
  display: grid;
  place-items: center;
  border-radius: 24px;
  color: #03221d;
  font-size: 35px;
  font-weight: 950;
  background: linear-gradient(140deg, #71f1d9, #35cdb4 48%, #54a7ff);
  box-shadow: 0 16px 40px rgba(51, 220, 190, .23), inset 0 1px rgba(255,255,255,.48);
}
.gate h1 { margin: 18px 0 5px; font-size: 26px; letter-spacing: .05em; }
.gate p { color: var(--muted); margin: 6px 0 14px; font-size: 13px; }
input, select {
  width: 100%;
  min-height: 46px;
  margin: 5px 0;
  padding: 11px 13px;
  color: var(--text);
  text-align: center;
  background: rgba(3, 13, 25, .64);
  border: 1px solid var(--line-strong);
  border-radius: 14px;
  outline: none;
  transition: border-color .2s, box-shadow .2s, background .2s;
}
input:focus, select:focus { border-color: var(--teal); box-shadow: 0 0 0 4px rgba(66, 226, 195, .12); background: #081729; }

/* 按钮 */
.primary, .icon-button, .plain-button, .action-button, .choice, .check {
  border: 1px solid transparent;
  font-weight: 800;
  transition: transform .16s ease, background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
}
.primary:active, .icon-button:active, .plain-button:active, .action-button:active, .choice:active, .check:active { transform: scale(.96); }
.primary {
  width: 100%;
  min-height: 49px;
  margin-top: 11px;
  color: #032019;
  font-size: 16px;
  border-radius: 15px;
  background: linear-gradient(135deg, #63efd4, #39d1ba 52%, #4ba7f6);
  box-shadow: 0 12px 26px rgba(37, 208, 179, .22);
}
.icon-button {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  color: #061b1a;
  font-size: 22px;
  border-radius: 14px;
  background: linear-gradient(145deg, #6ce9d2, #48b8ea);
  box-shadow: 0 8px 22px rgba(48, 194, 186, .16);
}
.plain-button, .action-button {
  min-height: 36px;
  padding: 8px 12px;
  color: #dfeafa;
  background: rgba(255,255,255,.055);
  border-color: var(--line);
  border-radius: 11px;
}
.action-button.active, .choice.active {
  color: #77f1db;
  background: rgba(42, 211, 187, .15);
  border-color: rgba(78, 229, 203, .7);
  box-shadow: inset 0 0 0 1px rgba(52, 224, 195, .08), 0 7px 20px rgba(11, 151, 132, .09);
}
.action-button.gold, .selected-probability {
  color: #ffe291 !important;
  background: linear-gradient(135deg, rgba(255, 205, 87, .18), rgba(255, 173, 59, .08)) !important;
  border-color: rgba(255, 211, 103, .72) !important;
}
.action-button.danger { color: #ff9aa8; }
button:disabled { opacity: .42; filter: saturate(.55); }
.error { color: var(--danger) !important; min-height: 20px; }

/* 主框架 */
.app { max-width: 780px; margin: auto; padding: env(safe-area-inset-top) 0 calc(88px + env(safe-area-inset-bottom)); }
header {
  position: sticky;
  top: 0;
  z-index: 8;
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 15px 10px;
  background: linear-gradient(180deg, rgba(6,16,29,.96), rgba(6,16,29,.84));
  border-bottom: 1px solid rgba(255,255,255,.075);
  box-shadow: 0 10px 28px rgba(0, 8, 18, .14);
  backdrop-filter: blur(22px) saturate(145%);
}
header h1 { margin: 0; font-size: 23px; font-weight: 900; letter-spacing: .02em; }
.header-actions { display: flex; gap: 8px; }
.eyebrow { margin-bottom: 2px; color: #68ddca; font-size: 8px; font-weight: 800; letter-spacing: 1.7px; opacity: .84; }
main { display: grid; gap: 11px; padding: 12px 11px 18px; }

/* 标题和卡片 */
.section-title { display: flex; align-items: end; justify-content: space-between; gap: 10px; margin: 9px 2px 0; }
.section-title h2 { position: relative; margin: 0; padding-left: 11px; font-size: 18px; font-weight: 900; letter-spacing: .01em; }
.section-title h2::before { content: ""; position: absolute; left: 0; top: 3px; bottom: 3px; width: 4px; border-radius: 9px; background: linear-gradient(var(--teal), var(--blue)); box-shadow: 0 0 14px rgba(66,226,195,.36); }
.card {
  position: relative;
  padding: 14px;
  overflow: hidden;
  background: linear-gradient(145deg, rgba(20, 39, 62, .88), rgba(12, 27, 46, .88));
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: var(--shadow), inset 0 1px rgba(255,255,255,.025);
  backdrop-filter: blur(12px);
}
.card::after { content: ""; position: absolute; inset: 0 auto auto 0; width: 46%; height: 1px; background: linear-gradient(90deg, rgba(105,234,213,.42), transparent); pointer-events: none; }
.card.selected { border-color: rgba(81, 231, 205, .72); box-shadow: 0 0 0 1px rgba(56,217,196,.12), 0 13px 34px rgba(0,8,19,.3); }
.card h2, .card h3 { margin: 0 0 8px; line-height: 1.28; }
.card h3 { font-size: 15px; }
.card-title-row { display: flex; align-items: center; justify-content: space-between; gap: 9px; margin-bottom: 7px; }
.card-title-row h3 { margin: 0; }
.parameter-button { min-height: 30px; padding: 5px 9px; color: var(--blue); font-size: 10.5px; }
.clue-title { position: relative; margin: 0 !important; padding-left: 10px; color: #f7fbff; font-size: 17px !important; font-weight: 900; line-height: 1.3; letter-spacing: .01em; }
.clue-title::before { content: ""; position: absolute; left: 0; top: 3px; bottom: 3px; width: 3px; border-radius: 6px; background: var(--blue); box-shadow: 0 0 9px rgba(98,183,255,.32); }
.clue-subtitle { margin: 4px 0 7px 10px; color: #c2d1e3; font-size: 11px; font-weight: 750; line-height: 1.35; }
.card p { margin: 7px 0; line-height: 1.56; }
.meta, .muted { color: var(--muted); font-size: 11.5px; line-height: 1.45; }
.metric { font-size: 27px; font-weight: 950; letter-spacing: -.02em; }
.accent { color: var(--teal); }
.warning { color: var(--gold); }
.danger { color: var(--danger); }
.mutation-alert { border: 2px solid var(--danger); background: linear-gradient(135deg, rgba(255,70,94,.24), rgba(255,70,94,.08)); box-shadow: 0 0 0 1px rgba(255,119,138,.15), 0 12px 30px rgba(255,45,76,.16); }
.mutation-alert-head { color: var(--danger); font-size: 21px; font-weight: 950; letter-spacing: .02em; }
.mutation-alert-body { display: flex; align-items: center; gap: 14px; margin-top: 9px; }
.mutation-alert-number { display: grid; place-items: center; width: 68px; height: 68px; flex: 0 0 68px; border-radius: 50%; background: var(--danger); color: #fff; font-size: 31px; font-weight: 1000; box-shadow: 0 7px 22px rgba(255,45,76,.35); }
.mutation-alert-detail { min-width: 0; font-size: 14px; line-height: 1.65; }
.mutation-alert-score { color: var(--danger); font-size: 16px; font-weight: 900; }
.mutation-item { color: var(--danger); }
.mutation-item .pill, .mutation-item-entity, .mutation-item-detail b, .mutation-item-detail span { color: var(--danger) !important; font-weight: 900; }
.mutation-item-entity { display: flex; align-items: center; min-height: 58px; margin-bottom: 12px; }
.mutation-item-entity .pill { min-height: 58px; padding: 10px 18px; border-width: 2px; border-radius: 22px; font-size: 23px; line-height: 1; }
.mutation-secondary { opacity: .9; }
.mutation-secondary-summary, .mutation-secondary-card { border: 1px solid rgba(111,168,205,.38); background: linear-gradient(135deg, rgba(76,139,177,.10), rgba(76,139,177,.035)); box-shadow: none; }
.mutation-secondary-summary { padding: 10px 12px; }
.mutation-secondary-head { color: #78aecd; font-size: 14px; font-weight: 800; }
.mutation-secondary-number { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; border-radius: 50%; background: rgba(86,151,190,.24); border: 1px solid rgba(126,185,219,.58); color: #b8dcef; font-size: 19px; font-weight: 900; }
.mutation-secondary-score { color: #89bad5; font-size: 13px; font-weight: 750; }
.mutation-secondary-card { padding: 10px 12px; }
.mutation-secondary-entity { display: flex; align-items: center; margin: 7px 0; }
.mutation-secondary-entity .pill { min-height: 38px; padding: 6px 11px; font-size: 16px; border-width: 1px; }
.mutation-secondary-detail { color: var(--muted); font-size: 12px; line-height: 1.45; }
.mutation-secondary-detail b { color: #a9c8da; }
.success { color: var(--green); }
.grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.grid > .card { min-height: 94px; }

/* 排行 */
.rank-row { display: grid; grid-template-columns: 30px 43px minmax(0,1fr) auto; align-items: center; gap: 7px; min-height: 51px; padding: 8px 1px; border-bottom: 1px solid rgba(255,255,255,.055); }
.rank-row:last-child { border-bottom: 0; }
.badge { width: 28px; height: 28px; display: grid; place-items: center; color: #b0c1d7; font-size: 11px; font-weight: 850; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.06); border-radius: 9px; }
.rank-row:nth-child(-n+3) .badge { color: #082018; background: linear-gradient(145deg, #ffdf78, #dfad42); border-color: transparent; }
.number { font-size: 20px; font-weight: 950; letter-spacing: -.02em; }
.counter { color: var(--gold); font-size: 10.5px; font-weight: 850; white-space: nowrap; }
.bar { height: 5px; margin-top: 6px; overflow: hidden; background: rgba(255,255,255,.085); border-radius: 99px; }
.bar > i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #39d7bb, #4eaaf7); box-shadow: 0 0 10px rgba(62,211,191,.28); }
.kill-sort-table { display: grid; gap: 5px; }
.kill-sort-row { display: grid; grid-template-columns: 30px 30px minmax(0,1fr); align-items: start; gap: 7px; padding: 8px 2px; border-bottom: 1px solid rgba(255,255,255,.06); }
.kill-sort-row:last-child { border-bottom: 0; }
.kill-sort-zodiac { padding-top: 5px; font-size: 18px; }
.kill-sort-detail { min-width: 0; }
.kill-sort-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-bottom: 6px; font-size: 11px; }
.kill-sort-meta > span { color: var(--gold); }
.distrust-button { min-height: 27px; margin-left: auto; padding: 3px 7px; color: #ff9aa8; border: 1px solid rgba(255,105,127,.34); border-radius: 8px; background: rgba(255,70,94,.07); }
.distrust-button.active { color: #fff; background: rgba(255,70,94,.3); border-color: rgba(255,121,140,.8); }
.kill-sort-people { display: flex; flex-wrap: wrap; gap: 5px; }
.kill-person-vote { display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:36px;padding:5px 8px;color:#dfeaf7;font-size:10.5px;text-align:left;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);border-radius:9px; }
.kill-person-vote.observe { color:#ffd27c;background:rgba(255,189,67,.08);border-color:rgba(255,199,94,.28); }
.kill-person-vote.untrust { color:#9aa9ba;text-decoration:line-through;text-decoration-thickness:2px;opacity:.62;background:rgba(255,70,94,.06);border-color:rgba(255,105,127,.24); }
.kill-person-vote small{font-size:9px;color:var(--muted)}
.kill-votes{display:inline-flex;gap:2px;flex-wrap:nowrap}.kill-vote{min-width:28px;min-height:27px;padding:2px 5px;border:1px solid rgba(255,255,255,.13);border-radius:7px;background:rgba(255,255,255,.04);color:var(--muted);font-size:9px;font-weight:800}.kill-vote.trust.active{color:#92ffe7;background:rgba(38,202,170,.18);border-color:rgba(64,226,196,.62)}.kill-vote.observe.active{color:#ffe19a;background:rgba(255,188,62,.18);border-color:rgba(255,202,98,.62)}.kill-vote.untrust.active{color:#ff9aad;background:rgba(255,70,94,.16);border-color:rgba(255,105,127,.58)}
.kill-sort-row.row-untrusted { order: 99; opacity: .58; }
.kill-sort-row.row-untrusted .kill-sort-zodiac,.kill-sort-row.row-untrusted .kill-sort-meta,.kill-sort-row.row-untrusted .kill-sort-people { text-decoration: line-through; text-decoration-thickness: 2px; }
.kill-remainder { display: grid; grid-template-columns: 64px minmax(0,1fr); align-items: start; gap: 7px; margin-top: 11px; padding: 10px; background: rgba(3,14,27,.48); border: 1px solid rgba(255,255,255,.07); border-radius: 12px; }
.kill-remainder > b { color: var(--muted); font-size: 11px; }
.kill-remainder > p { margin: 2px 0; color: #dce8f7; font-size: 12px; line-height: 1.55; word-break: break-all; }
.kill-advice { display: grid; gap: 7px; margin-top: 10px; padding: 11px; background: linear-gradient(135deg,rgba(255,205,87,.13),rgba(57,211,143,.06)); border: 1px solid rgba(255,211,103,.3); border-radius: 13px; }
.kill-advice > div { display: grid; grid-template-columns: 78px minmax(0,1fr); align-items: center; gap: 6px; }
.kill-advice > div > b { color: var(--gold); font-size: 12px; }
.kill-advice > .copy-button { justify-self: end; }

/* 号码池 */
.number-grid { display: grid; grid-template-columns: repeat(7, minmax(0,1fr)); gap: 9px 4px; padding: 4px 0 2px; }
.number-cell { min-width: 0; min-height: 71px; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 3px; border-radius: 12px; transition: background .15s, transform .15s; }
.number-cell[data-action] { padding: 3px 0; cursor: pointer; }
.number-cell[data-action]:active { transform: scale(.94); background: rgba(255,255,255,.06); }
.number-ball { width: 42px; height: 42px; display: grid; place-items: center; position: relative; color: #eff7ff; font-size: 16px; font-weight: 950; background: linear-gradient(145deg, #13273f, #0b192c); border: 2px solid rgba(151,178,208,.34); border-radius: 50%; box-shadow: inset 0 2px 5px rgba(255,255,255,.035), 0 6px 14px rgba(0,0,0,.16); }
.number-ball.heaven { color: #62b7ff; background: linear-gradient(145deg, #17486a, #102c46); border-color: #62b7ff; box-shadow: 0 0 0 3px rgba(98,183,255,.09), 0 7px 16px rgba(18,104,164,.18); }
.number-ball.earth { color: #d7a15b; background: linear-gradient(145deg, #59432b, #34291f); border-color: #d7a15b; box-shadow: 0 0 0 3px rgba(215,161,91,.08), 0 7px 16px rgba(126,88,38,.16); }
.number-cell.heaven { background: linear-gradient(180deg, rgba(23,103,154,.24), rgba(23,103,154,.06)); border-color: rgba(114,201,255,.46); }
.number-cell.earth { background: linear-gradient(180deg, rgba(133,90,40,.28), rgba(133,90,40,.07)); border-color: rgba(239,188,112,.46); }
.number-cell small { max-width: 100%; overflow: hidden; color: #aebfd3; font-size: 8.5px; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.attr-mini-row { width: 46px; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 2px; line-height: 1; }
.attr-mini { width: 13px; height: 14px; display: inline-grid; place-items: center; color: #dbe7f6; font-size: 8px; font-weight: 900; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); border-radius: 4px; }
.attr-mini.heaven { color: #62b7ff; background: #173f5d; border-color: #62b7ff; }
.attr-mini.earth { color: #d7a15b; background: #534128; border-color: #d7a15b; }
.attr-mini.wave-red { color: #fff1f3; background: #b74459; border-color: #ff7b8f; }
.attr-mini.wave-blue { color: #edf7ff; background: #316da8; border-color: #6cbcff; }
.attr-mini.wave-green { color: #edfff5; background: #277a55; border-color: #62dda0; }
.attr-mini.element-metal { color: #2c2100; background: #f2cc5e; border-color: #ffe493; }
.attr-mini.element-wood { color: #efffec; background: #4d8b42; border-color: #8cd77e; }
.attr-mini.element-water { color: #edf8ff; background: #3478a8; border-color: #79c6f3; }
.attr-mini.element-fire { color: #fff0e9; background: #b84d35; border-color: #ff8b70; }
.attr-mini.element-earth { color: #fff3df; background: #8b6740; border-color: #d9a86b; }
.attr-mini.home { color: #edfff8; background: #257766; border-color: #5bd8be; }
.attr-mini.wild { color: #f5efff; background: #68469a; border-color: #a987df; }
.attr-mini.lucky { color: #ecfff4; background: #287b4b; border-color: #65d996; }
.attr-mini.unlucky { color: #fff0f2; background: #963d50; border-color: #f1788e; }
.number-stat { color: var(--gold) !important; font-weight: 850; }
.heaven { color: var(--blue); }
.earth { color: var(--earth); }
.rank-row .number.heaven,.kill-sort-zodiac.heaven { color:#e9f7ff;background:#17679a;border:1px solid #72c9ff;border-radius:9px;box-shadow:inset 0 1px rgba(255,255,255,.16),0 5px 14px rgba(16,105,160,.22);text-align:center; }
.rank-row .number.earth,.kill-sort-zodiac.earth { color:#fff4dc;background:#855a28;border:1px solid #efbc70;border-radius:9px;box-shadow:inset 0 1px rgba(255,255,255,.13),0 5px 14px rgba(126,80,30,.2);text-align:center; }
.mutation-alert-number.heaven,.mutation-secondary-number.heaven { color:#eefaff;background:linear-gradient(145deg,#1d78ae,#15547e);border:2px solid #7ed0ff; }
.mutation-alert-number.earth,.mutation-secondary-number.earth { color:#fff4dc;background:linear-gradient(145deg,#936633,#68451f);border:2px solid #f1bf75; }
.pool-copy-head,.zodiac-tree-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:5px 0 9px}.pool-copy-head>span,.zodiac-tree-head small{color:var(--muted);font-size:11px}.copy-button{min-height:32px;padding:5px 10px;color:#aeeeff;border:1px solid rgba(96,190,255,.42);border-radius:9px;background:rgba(49,137,204,.1)}
.zodiac-tree{margin-top:13px;padding:11px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(3,14,27,.5)}.zodiac-tree-head{margin:0 0 8px}.zodiac-tree-head>div{display:flex;flex-direction:column;gap:2px}.zodiac-tree-list{display:grid;gap:5px}.zodiac-tree-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:35px;padding:5px 7px;border-radius:9px;background:rgba(255,255,255,.035)}.zodiac-tree-row>b{font-size:15px}.zodiac-tree-row>span{color:#dce8f7;font-size:12px;line-height:1.45;word-spacing:3px}.zodiac-tree-row.heaven{color:#dff4ff;background:linear-gradient(90deg,rgba(23,103,154,.48),rgba(23,103,154,.12));border-left:4px solid #72c9ff}.zodiac-tree-row.earth{color:#fff0cf;background:linear-gradient(90deg,rgba(133,90,40,.5),rgba(133,90,40,.12));border-left:4px solid #efbc70}.zodiac-tree-row .copy-button{min-height:27px;padding:3px 7px;font-size:10px}

/* 标签、筛选、勾选 */
.pill { display: inline-flex; align-items: center; min-height: 29px; margin: 2px; padding: 5px 9px; color: #dce8f7; font-size: 11.5px; background: rgba(255,255,255,.05); border: 1px solid var(--line); border-radius: 999px; }
button.pill { cursor: pointer; }
.pill.active { color: #73f0d9; background: rgba(40,210,181,.15); border-color: rgba(68,226,199,.62); box-shadow: 0 5px 14px rgba(17,164,140,.1); }
.pill.killed { color: #a8b4c5; text-decoration: line-through; opacity: .68; }
.killed-line { color: #a8b4c5; text-decoration: line-through; text-decoration-thickness: 2px; opacity: .72; }
.rf-idiom { margin-top: 8px; color: #ffd166; font-weight: 800; }
.rf-current-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 10px; }
.rf-compact-list { display: grid; gap: 5px; }
.rf-compact-row { display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; padding: 7px 9px; border-radius: 9px; background: rgba(255,255,255,.035); }
.rf-result { font-weight: 800; text-align: center; }
.rf-details { margin-top: 8px; }
.rf-details summary { cursor: pointer; color: #ffd166; font-weight: 800; padding: 8px 0; }
.pill.heaven { color: #eefaff; background: linear-gradient(145deg, #1d78ae, #15547e); border-color: #7ed0ff; box-shadow: 0 5px 14px rgba(29,128,190,.24); }
.pill.earth { color: #fff4dc; background: linear-gradient(145deg, #936633, #68451f); border-color: #f1bf75; box-shadow: 0 5px 14px rgba(126,88,38,.22); }
.pill.entity { min-height: 24px; margin: 1px 2px; padding: 2px 7px; vertical-align: middle; font-size: inherit; font-weight: 850; }
.entity-lead { margin: 0 0 10px; }
.entity-line { display: flex; align-items: center; flex-wrap: wrap; gap: 3px; margin: 8px 0; }
.entity-line > b { min-width: 34px; color: var(--muted); font-size: 11px; }
.toolbar, .choice-row { display: flex; align-items: center; gap: 7px; padding: 3px 1px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; }
.toolbar::-webkit-scrollbar, .choice-row::-webkit-scrollbar { display: none; }
.attribute-layout { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; align-items: stretch; }
.attribute-card { min-width: 0; margin: 0; padding: 8px; border-radius: 13px; }
.attribute-card.attribute-element { grid-column: 1/-1; }
.attribute-card .card-title-row { gap: 3px; margin-bottom: 4px; }
.attribute-card .card-title-row h3 { margin: 0; font-size: 12px; white-space: nowrap; }
.attribute-choice-row { display: grid; grid-template-columns: repeat(var(--attribute-count), minmax(0, 1fr)); gap: 3px; overflow: visible; width: 100%; padding: 0; }
.attribute-choice-row .choice { min-width: 0; min-height: 44px; width: 100%; display: flex; align-items: center; justify-content: center; gap: 3px; padding: 4px 1px; white-space: nowrap; border-radius: 9px; }
.attribute-choice-row .choice span { font-size: 12px; line-height: 1; }
.attribute-choice-row .choice small { display: inline; color: var(--muted); font-size: 8px; line-height: 1; }
.attribute-choice-row .choice small.attribute-percent-high { color: var(--gold); font-weight: 950; }
.attribute-card-actions { display: flex; align-items: center; justify-content: flex-end; gap: 2px; flex-wrap: nowrap; }
.attribute-card-actions .parameter-button { min-height: 25px; padding: 3px 4px; font-size: 9px; border-radius: 7px; }
.attribute-history-summary { margin-top: 5px; overflow: hidden; color: #aeeeff; font-size: 8.5px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.attribute-history-list { display: grid; gap: 7px; margin-top: 10px; }
.attribute-history-row { display: grid; grid-template-columns: 64px 38px 42px 58px minmax(92px,1fr); align-items: center; gap: 7px; padding: 8px 9px; border: 1px solid rgba(255,255,255,.09); border-radius: 10px; background: rgba(255,255,255,.025); font-size: 12px; }
.attribute-history-row.hit { border-color: rgba(82,224,157,.35); }
.attribute-history-row.miss { border-color: rgba(255,107,129,.30); }
.attribute-history-row.hit > span:nth-of-type(3) { color: #52e09d; font-weight: 800; }
.attribute-history-row.miss > span:nth-of-type(3) { color: #ff6b81; font-weight: 800; }
.attribute-history-row small { color: #9aaec6; }
@media (max-width: 390px) {
  .attribute-layout { gap: 4px; }
  .attribute-card { padding: 6px; }
  .attribute-card .card-title-row h3 { font-size: 11px; }
  .attribute-card-actions .parameter-button { padding-inline: 3px; font-size: 8px; }
  .attribute-choice-row { gap: 2px; }
  .attribute-choice-row .choice { min-height: 42px; }
  .attribute-choice-row .choice span { font-size: 11px; }
  .attribute-history-summary { font-size: 7.8px; }
  .attribute-history-row { grid-template-columns: 58px 34px 36px 52px minmax(74px,1fr); gap: 4px; padding-inline: 6px; font-size: 11px; }
}
.attribute-tolerance-basis { margin: 7px 0 10px; padding: 9px 11px; color: #aeeeff; font-size: 11px; line-height: 1.55; background: rgba(49,137,204,.09); border: 1px solid rgba(96,190,255,.25); border-radius: 11px; }
.attribute-tolerance-card { margin-bottom: 9px; }
.attribute-tolerance-card .pool-copy-head { margin-top: 0; }
.attribute-tolerance-card .pool-copy-head b { color: #f3f8ff; font-size: 13px; }
.toolbar > * { flex: 0 0 auto; }
.choice { min-width: 54px; min-height: 43px; padding: 9px 12px; color: #e6eef9; background: rgba(255,255,255,.045); border-color: var(--line); border-radius: 12px; white-space: nowrap; }
.choice small { color: inherit; opacity: .72; }
.check-row { display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: start; gap: 8px; }
.check { width: 30px; height: 30px; display: grid; place-items: center; color: transparent; background: rgba(3,15,28,.72); border: 2px solid rgba(156,182,210,.34); border-radius: 10px; }
.check.checked { color: #05221b; background: linear-gradient(145deg, #65ead0, #32c8b0); border-color: #63e8d0; box-shadow: 0 7px 18px rgba(37,203,175,.18); }
.selected-probability .check.checked { color: #251b00; background: linear-gradient(145deg, #ffe38c, #eeb74d); border-color: #ffe18a; }
.probability-choice { display: flex; align-items: center; gap: 7px; width: fit-content; min-height: 36px; margin: 8px 0 4px; padding: 3px 9px 3px 3px; color: #dce8f7; font-size: 12px; border: 1px solid var(--line); border-radius: 10px; }
.probability-choice.selected-probability { color: #ffe291; background: linear-gradient(135deg, rgba(255,205,87,.18), rgba(255,173,59,.08)); border-color: rgba(255,211,103,.72); }
.folk-expert-card { padding: 0; overflow: hidden; border-color: rgba(255,211,103,.3); }
.folk-card-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 15px 15px 12px; background: linear-gradient(135deg,rgba(255,205,87,.13),rgba(59,207,180,.06)); border-bottom: 1px solid rgba(255,255,255,.08); }
.folk-card-head h2 { margin: 0 0 3px; font-size: 18px; }
.folk-caption { padding: 10px 15px; color: #dce8f7; font-size: 12px; font-weight: 850; background: rgba(3,15,28,.42); }
.folk-item { margin: 0 12px 11px; padding: 12px; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.075); border-radius: 14px; }
.folk-item.selected-probability { background: linear-gradient(135deg,rgba(255,205,87,.12),rgba(255,173,59,.045)); border-color: rgba(255,211,103,.46); }
.folk-item-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.folk-item-head .probability-choice { flex: 0 0 auto; margin: 0; }
.folk-zodiac-line { color: #d9e8f6; font-weight: 800; }
.folk-selector-row { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 8px; }
.ten-zodiac-layout { display: grid; gap: 7px; margin: 9px 0; }
.ten-zodiac-row { display: grid; grid-template-columns: 62px minmax(0,1fr); align-items: start; gap: 6px; }
.ten-zodiac-row > b { padding-top: 5px; color: #c9ddf0; font-size: 11px; line-height: 1.2; white-space: nowrap; }
.ten-zodiac-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 4px; min-width: 0; }
.ten-kill-row { padding-top: 7px; border-top: 1px solid rgba(255,255,255,.055); }
.ten-kill-grid { display: flex; flex-wrap: wrap; gap: 4px; min-width: 0; }
.ten-zodiac-grid .pill,.ten-kill-grid .pill { display: inline-flex; align-items: center; justify-content: center; min-width: 0; margin: 0; padding: 5px 3px; font-size: 12px; line-height: 1; }
.ten-history { display: grid; gap: 7px; }
.ten-history-row { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 6px; align-items: start; padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,.055); }
.ten-history-issue { padding-top: 6px; font-size: 11px; white-space: nowrap; }
.ten-history-body { min-width: 0; }
.ten-history-body .ten-zodiac-layout { margin: 0; }
.ten-history-result { margin-top: 6px; color: var(--muted); font-size: 10.5px; }
.ten-history-status { display: grid; justify-items: center; gap: 5px; padding-top: 4px; font-size: 11px; }
.evidence-badge.compact { width: 20px; height: 20px; justify-content: center; padding: 0; font-size: 10px; }
@media(max-width:480px){
  .folk-ten-item { margin-inline: 8px; padding: 10px; }
  .folk-ten-item .folk-item-head { align-items: start; gap: 5px; }
  .folk-ten-item .folk-item-head .clue-card-head { min-width: 0; }
  .folk-ten-item .folk-item-head .probability-choice { padding-right: 6px; }
  .folk-ten-item .folk-item-head .probability-choice b { font-size: 10.5px; }
  .ten-zodiac-row { grid-template-columns: 55px minmax(0,1fr); gap: 4px; }
  .ten-zodiac-grid { gap: 3px; }
  .ten-zodiac-grid .pill,.ten-kill-grid .pill { padding-inline: 2px; font-size: 11.5px; }
  .ten-history-row { grid-template-columns: 38px minmax(0,1fr) 22px; gap: 4px; }
  .ten-history-row .ten-zodiac-row { grid-template-columns: 52px minmax(0,1fr); }
}

/* 细节块 */
.history { margin-top: 10px; padding-top: 8px; border-top: 1px solid rgba(255,255,255,.08); }
.history-row { display: grid; grid-template-columns: 54px minmax(0,1fr) auto auto; gap: 7px; align-items: center; min-height: 34px; padding: 6px 1px; font-size: 11.5px; border-bottom: 1px solid rgba(255,255,255,.045); }
.clue-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.clue-card-head .clue-title{flex:1;min-width:0}.freshness-badge,.evidence-badge{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;font-weight:900}.freshness-badge{padding:4px 8px;font-size:10px;border:1px solid}.freshness-badge.updated{color:#76f2d8;background:rgba(39,205,172,.16);border-color:rgba(72,229,200,.68);box-shadow:0 0 12px rgba(39,205,172,.12)}.freshness-badge.not-updated{color:#ffc878;background:rgba(255,162,52,.13);border-color:rgba(255,184,84,.55)}.evidence-badge{padding:2px 6px;font-size:9px;border:1px solid}.evidence-badge.local-archive{color:#8cebd7;background:rgba(31,173,147,.13);border-color:rgba(72,214,188,.42)}.evidence-badge.self-reported{color:#ffd18a;background:rgba(255,177,57,.12);border-color:rgba(255,190,82,.42)}.evidence-badge.missing{color:#ff9dae;background:rgba(255,77,103,.1);border-color:rgba(255,104,125,.4)}.card.data-not-updated,.folk-item.data-not-updated{border-color:rgba(255,177,74,.28);background:linear-gradient(145deg,rgba(52,37,18,.72),rgba(9,24,41,.92))}.card.data-updated,.folk-item.data-updated{border-color:rgba(58,211,182,.24)}
.subtle-box { margin-top: 8px; padding: 10px; background: rgba(2,13,25,.5); border: 1px solid rgba(255,255,255,.065); border-radius: 13px; }
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.parameter-judgment { margin: 10px 0; padding: 10px 12px; color: #ffe291; font-weight: 850; line-height: 1.45; background: rgba(255,205,87,.1); border: 1px solid rgba(255,211,103,.3); border-radius: 12px; }
.parameter-option { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 8px; margin: 7px 0; padding: 8px 10px; overflow: hidden; background: rgba(255,255,255,.045); border-radius: 10px; }
.parameter-option > * { position: relative; z-index: 1; }
.parameter-option i { position: absolute; inset: auto auto 0 0; height: 3px; background: linear-gradient(90deg,var(--teal),var(--blue)); }
.parameter-legend { margin: 5px 0 8px; color: var(--muted); font-size: 9px; line-height: 1.4; }
.parameter-row { display: grid; grid-template-columns: 20px 30px 36px repeat(4,minmax(0,1fr)); align-items: center; gap: 4px; min-height: 36px; padding: 5px 3px; font-size: 10px; border-bottom: 1px solid rgba(255,255,255,.06); }
.parameter-row .number { font-size: 15px; }

/* 弹层与提示 */
.modal { position: fixed; inset: 0; z-index: 30; display: flex; align-items: flex-end; padding-top: env(safe-area-inset-top); background: rgba(0,5,13,.74); backdrop-filter: blur(8px); }
.modal-sheet { width: 100%; max-width: 780px; max-height: 86vh; margin: 0 auto; padding: 16px 15px calc(18px + env(safe-area-inset-bottom)); overflow: auto; background: linear-gradient(160deg, #172b45, #0c1b2e); border: 1px solid var(--line-strong); border-bottom: 0; border-radius: 25px 25px 0 0; box-shadow: 0 -24px 70px rgba(0,0,0,.42); }
.modal-sheet::before { content: ""; display: block; width: 42px; height: 4px; margin: -5px auto 12px; background: rgba(255,255,255,.24); border-radius: 99px; }
.modal-head { position: sticky; top: -16px; z-index: 2; display: flex; align-items: center; justify-content: space-between; padding: 7px 0 11px; background: #142740ed; backdrop-filter: blur(12px); }
.modal-head h2 { margin: 0; font-size: 20px; }
.toast { position: fixed; left: 50%; bottom: calc(94px + env(safe-area-inset-bottom)); z-index: 40; max-width: calc(100vw - 34px); padding: 11px 16px; color: #ecf7ff; font-size: 13px; white-space: nowrap; transform: translateX(-50%); background: rgba(7,20,34,.95); border: 1px solid var(--line-strong); border-radius: 13px; box-shadow: 0 14px 42px rgba(0,0,0,.42); backdrop-filter: blur(18px); }

/* 底部导航 */
nav { position: fixed; left: 7px; right: 7px; bottom: 7px; z-index: 20; max-width: 760px; min-height: 67px; margin: auto; display: grid; grid-template-columns: repeat(7,1fr); padding: 5px 4px calc(5px + env(safe-area-inset-bottom)); background: linear-gradient(160deg, rgba(20,39,61,.95), rgba(8,21,37,.96)); border: 1px solid rgba(147,185,218,.18); border-radius: 20px; box-shadow: 0 15px 45px rgba(0,0,0,.43), inset 0 1px rgba(255,255,255,.035); backdrop-filter: blur(22px) saturate(145%); }
nav button { position: relative; min-width: 0; min-height: 54px; padding: 28px 1px 5px; overflow: hidden; color: #889bb2; font-size: 9.5px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; background: transparent; border: 0; border-radius: 14px; }
nav button::before { position: absolute; top: 5px; left: 50%; width: 23px; height: 23px; display: grid; place-items: center; font-size: 15px; transform: translateX(-50%); border-radius: 8px; }
nav button:nth-child(1)::before { content: "⌂"; }
nav button:nth-child(2)::before { content: "↗"; }
nav button:nth-child(3)::before { content: "◫"; }
nav button:nth-child(4)::before { content: "×"; }
nav button:nth-child(5)::before { content: "≡"; }
nav button:nth-child(6)::before { content: "♜"; }
nav button:nth-child(7)::before { content: "◎"; }
nav button.active { color: #6fecd6; background: linear-gradient(180deg, rgba(61,219,191,.16), rgba(61,219,191,.055)); box-shadow: inset 0 0 0 1px rgba(79,227,201,.08); }
nav button.active::before { color: #09241e; background: linear-gradient(145deg, #67ead2, #47bde9); box-shadow: 0 6px 16px rgba(49,205,179,.2); }

.loading, .empty { padding: 45px 14px; color: var(--muted); text-align: center; }
.loading::before { content: ""; width: 22px; height: 22px; display: block; margin: 0 auto 12px; border: 2px solid rgba(255,255,255,.12); border-top-color: var(--teal); border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
:where(.blank-screen) { position: fixed; inset: 0; background: #05070a; }

@media (min-width: 600px) {
  main { padding-inline: 16px; }
  .grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .number-grid { grid-template-columns: repeat(10,minmax(0,1fr)); }
}
@media (max-width: 390px) {
  main { padding-inline: 9px; }
  .card { padding: 12px; border-radius: 16px; }
  .number-grid { grid-template-columns: repeat(7,minmax(0,1fr)); gap-inline: 2px; }
  .number-ball { width: 39px; height: 39px; font-size: 15px; }
  nav { left: 4px; right: 4px; bottom: 4px; }
  nav button { font-size: 8.5px; }
  .kill-sort-row { grid-template-columns: 27px 25px minmax(0,1fr); gap: 5px; }
  .kill-sort-meta { gap: 4px; }
  .distrust-button { width: 100%; margin-left: 0; }
}
@media (max-width: 345px) {
  .number-grid { grid-template-columns: repeat(6,minmax(0,1fr)); }
  .grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation-duration: .01ms !important; }
}
/* 本期热力方 */
.rf-panel{display:grid;gap:12px;padding:14px;border:1px solid rgba(255,208,92,.28);border-radius:18px;background:linear-gradient(145deg,rgba(255,208,92,.08),rgba(82,133,255,.06))}
.rf-fax{padding:13px;border-radius:14px;background:rgba(9,18,32,.62);line-height:1.55}.rf-fax strong{display:block;color:#ffd77a;font-size:16px;margin-bottom:6px}.rf-fax p{margin:2px 0;color:var(--muted);font-size:12px}.rf-sub{margin-top:7px;font-size:12px}
.rf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.rf-number-title,.rf-trend-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.rf-number-title span,.rf-trend-head span{font-size:11px;color:var(--muted)}
.rf-trend{display:flex;gap:7px;overflow-x:auto;padding:9px 2px}.rf-trend-item{min-width:36px;text-align:center}.rf-trend-item small{display:block;margin-top:4px;color:var(--muted)}.rf-dot{display:grid;place-items:center;width:28px;height:28px;margin:auto;border-radius:50%;font-weight:900}.rf-dot.hit{background:rgba(57,211,143,.18);color:#39d38f;border:1px solid #39d38f}.rf-dot.miss{background:rgba(255,95,107,.14);color:#ff6b78;border:1px solid #ff6b78}
.rf-history{display:grid;gap:6px}.rf-history-row{display:grid;grid-template-columns:58px 70px 1fr;align-items:center;gap:6px;padding:7px 9px;border-radius:10px;background:rgba(255,255,255,.035);font-size:11px}.rf-history-row .pill{margin:2px}
.formula-kill-panel{border-color:rgba(103,234,210,.30);background:linear-gradient(145deg,rgba(38,190,166,.09),rgba(77,121,255,.06))}.formula-kill-head{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px}.formula-kill-table{display:grid;gap:4px;overflow-x:auto;max-width:100%;overscroll-behavior-x:contain}.formula-kill-row{display:grid;grid-template-columns:40px 56px 68px 64px 144px minmax(260px,1fr);align-items:center;gap:5px;min-width:674px;padding:7px 8px;border-radius:10px;background:rgba(255,255,255,.035);font-size:13px;text-align:center}.formula-kill-row>span:first-child{color:var(--muted)}.formula-kill-row>strong{color:#c7fff4}.formula-distribution{color:#ffd77a;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.formula-distribution-all{text-align:left;padding-inline:8px}.formula-kill-header{background:rgba(80,220,195,.12);color:#9eeedd;font-size:12px}.formula-kill-summary{padding:10px 11px;border-radius:11px;background:rgba(255,208,92,.08);line-height:1.75;font-size:12px}.formula-kill-summary b{color:#ffd77a}
@media(max-width:700px){.rf-grid{grid-template-columns:1fr}.rf-panel{padding:10px}.rf-history-row{grid-template-columns:52px 62px 1fr}}
.pz-tops{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.pz-tops>div{min-width:0;padding:9px 6px;border:1px solid rgba(105,217,197,.18);border-radius:12px;background:rgba(7,23,38,.55)}.pz-tops small{display:block;color:var(--muted);font-weight:900;margin-bottom:5px}.pz-tops strong{display:flex;flex-wrap:wrap;gap:3px}.pz-eval{display:grid;gap:5px;margin-top:9px}.pz-eval-row{display:grid;grid-template-columns:54px 42px repeat(5,minmax(0,1fr));gap:5px;align-items:center;padding:7px 6px;border-bottom:1px solid rgba(255,255,255,.06);font-size:10px}.pz-eval-row small{display:block;color:var(--muted);font-size:8px}
.pz-support-list{display:grid;gap:7px}.pz-support-row{display:grid;grid-template-columns:34px 92px minmax(0,1fr);gap:8px;align-items:start;padding:9px;border:1px solid rgba(105,217,197,.13);border-radius:12px;background:rgba(4,18,31,.54)}.pz-support-rank{color:#ffd77a;font-size:13px;font-weight:950}.pz-support-zodiac{display:grid;gap:4px}.pz-support-zodiac small{color:var(--muted);font-size:9px}.pz-support-detail b{color:#aeeeff;font-size:11px}.pz-support-detail p{margin:3px 0;color:#dce8f7;font-size:10.5px;line-height:1.45}.pz-support-detail>small{display:block;margin-top:4px;color:var(--muted);font-size:9px}.pz-support-detail .pz-risk{color:#ffc16d}
.model-history{margin-top:9px;padding:8px 9px;border:1px solid rgba(105,217,197,.18);border-radius:12px;background:rgba(4,18,31,.42)}.model-history>summary{cursor:pointer;color:#aeeeff;font-weight:900;font-size:11px}.model-history-list{display:grid;gap:6px;margin-top:8px}.model-history-row{display:grid;grid-template-columns:58px minmax(100px,.8fr) minmax(130px,1.3fr) 64px 24px;gap:6px;align-items:center;padding:7px 8px;border-radius:10px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.025);font-size:10.5px}.model-history-row.hit{border-color:rgba(82,224,157,.28)}.model-history-row.miss{border-color:rgba(255,107,129,.25)}.model-history-row.hit>strong{color:#52e09d}.model-history-row.miss>strong{color:#ff6b81}.model-history-row small{color:var(--muted)}.model-history-row.ping-zodiac-history{grid-template-columns:58px minmax(150px,1.3fr) repeat(4,minmax(108px,1fr)) 24px;overflow-x:auto}.model-history-row.ping-zodiac-history>span{white-space:nowrap}.model-history-row .zodiac-chip{margin:1px;padding:3px 5px;font-size:9px}
@media(max-width:700px){.pz-tops{grid-template-columns:repeat(2,minmax(0,1fr))}.pz-tops>div:last-child{grid-column:1/-1}.pz-eval-row{grid-template-columns:48px 34px repeat(2,minmax(0,1fr))}.pz-eval-row span:nth-child(n+5){grid-column:3/-1}.pz-support-row{grid-template-columns:27px 70px minmax(0,1fr);gap:6px;padding:8px 6px}.pz-support-zodiac .zodiac-chip{width:max-content}.pz-support-detail p{font-size:10px}}
@media(max-width:700px){.model-history-row{grid-template-columns:50px minmax(92px,1fr) minmax(118px,1.2fr) 58px 20px;padding-inline:5px;gap:4px;font-size:9.5px}.model-history-row.ping-zodiac-history{display:flex;align-items:center;min-width:max-content}.model-history-row.ping-zodiac-history>b{width:50px}.model-history-row.ping-zodiac-history>span{min-width:104px}.model-history-row.ping-zodiac-history>span:nth-of-type(1){min-width:145px}}

/* 统一卡片显隐与历史战绩入口 */
.card-collapse-toggle{display:block;margin:0 0 8px auto;padding:5px 9px;color:#a8c5df;font-size:10px;border:1px solid rgba(145,185,218,.2);border-radius:999px;background:rgba(4,17,30,.55)}
.card-collapsed{min-height:0!important;padding-block:9px!important}
.card-collapsed>:not(.card-collapse-toggle){display:none!important}
.history-toggle{display:inline-flex;align-items:center;justify-content:center;margin-top:8px;padding:7px 10px;color:#b9f7eb;border:1px solid rgba(94,225,201,.25);border-radius:10px;background:rgba(45,181,158,.09)}
.history-source-legend{margin-top:8px;color:#8ca6bd;font-size:10px}
.formula-kill-history{min-width:0;width:100%;overflow:hidden}
.formula-kill-row{grid-template-columns:40px 56px 68px 64px 190px 112px 144px minmax(260px,1fr);min-width:986px}
.formula-kill-people{display:flex;flex-wrap:wrap;gap:4px;align-items:center;text-align:left;min-width:0}.formula-kill-people .kill-tree-person{font-size:13px;white-space:nowrap;min-height:30px}.overview-cache-status{padding:8px 10px;border:1px solid rgba(255,215,122,.35);border-radius:9px;background:rgba(255,215,122,.08);margin-bottom:10px}
.formula-sequence-meta{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;line-height:1.5}
.sequence-gap-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:9px 0;font-size:12px}
.sequence-badge{padding:2px 6px;border-radius:6px;font-size:12px;font-weight:800;white-space:nowrap}
.sequence-priority1{color:#ffb0a5}.sequence-priority2{color:#ffe093}.sequence-observe{color:#bdc5ff}
.sequence-badge.sequence-priority1{background:#632921}.sequence-badge.sequence-priority2{background:#574319}.sequence-badge.sequence-observe{background:#303755}
.formula-kill-row.sequence-row-priority1{background:rgba(255,111,88,.12);box-shadow:inset 4px 0 #ff7868}
.formula-kill-row.sequence-row-priority2{background:rgba(255,209,102,.10);box-shadow:inset 4px 0 #ffd166}
.formula-kill-row.sequence-row-observe{background:rgba(151,167,255,.07);box-shadow:inset 4px 0 #9babff}
.formula-kill-history>summary{min-height:44px;display:flex;align-items:center;font-size:14px;font-weight:700;cursor:pointer}
.formula-history-metrics{display:flex;flex-wrap:wrap;gap:8px 14px;margin:8px 0;font-size:12px}
.formula-history-scroll{min-width:0;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.formula-history-table{width:100%;min-width:510px;border-collapse:collapse;font-size:13px}
.formula-history-table th,.formula-history-table td{padding:9px 8px;text-align:center;white-space:nowrap;border-bottom:1px solid rgba(145,185,218,.18)}
.formula-history-table th{color:#9cd7e8;background:rgba(70,130,165,.12)}
.formula-history-table .formula-special-rank{font-size:17px;font-weight:800;color:#ffd76b}
.previous-draw-card{min-width:0;border-color:rgba(98,183,255,.28)}
.draw-result-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:8px 0 10px;font-size:14px}
.draw-result-heading>span{font-size:11px;color:var(--muted)}
.draw-balls{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;max-width:560px;margin-inline:auto}
.draw-ball{min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px;padding:5px 0;border-radius:10px}
.draw-ball>small{font-size:10px;color:var(--muted)}
.draw-special{background:rgba(255,181,71,.09);box-shadow:inset 0 0 0 1px rgba(255,181,71,.28)}
.draw-special>small{color:#ffcc78;font-weight:800}
.draw-number{display:flex;align-items:center;justify-content:center;width:min(100%,38px);aspect-ratio:1;border:1px solid currentColor;border-radius:50%;font-size:19px;font-weight:800}
.draw-number.heaven{color:#62b7ff;background:#173f5d}.draw-number.earth{color:#d7a15b;background:#534128}
.draw-attributes{display:flex;align-items:center;justify-content:center;gap:2px;white-space:nowrap;font-size:12px}
.draw-attributes .attr-mini{font-size:10px;min-width:0;padding:1px 2px;border-radius:4px}
.draw-history>summary{display:flex;align-items:center;min-height:44px;margin-top:9px;color:#9cd7e8;font-size:13px;cursor:pointer}
.draw-history-list .draw-result{padding:8px 0 14px;border-top:1px solid rgba(145,185,218,.18)}
.pz-history-list{display:grid;gap:14px;margin-top:12px}
.pz-history-record{min-width:0;padding:12px 10px;border:1px solid rgba(130,180,213,.2);border-radius:12px;background:rgba(17,43,64,.35)}
.pz-history-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:14px}.pz-history-head small{font-size:11px;color:var(--muted)}
.pz-history-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:26px;align-items:start}
.pz-history-layout h4{margin:0 0 9px;color:#aeeeff;font-size:12px;line-height:1.5}
.pz-history-draws{min-width:0}.pz-actual-zodiacs{display:flex;flex-wrap:wrap;align-items:center;gap:3px;margin-top:10px;font-size:11px}.pz-actual-zodiacs>span:first-child{color:var(--muted);margin-right:5px}
.pz-history-results{min-width:0;padding-left:14px;border-left:2px solid rgba(98,183,255,.28)}
.pz-history-top{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;gap:8px;align-items:center;min-height:34px;padding:3px 0;border-bottom:1px solid rgba(145,185,218,.1)}
.pz-history-top>b{font-size:14px;color:#9cd7e8}.pz-history-top>span{display:flex;flex-wrap:wrap;gap:3px}.pz-history-top>strong{font-size:17px;text-align:center}.pz-history-top .pill,.pz-actual-zodiacs .pill{margin:0;padding:3px 5px;font-size:12px}
@media(max-width:620px){.pz-history-layout{grid-template-columns:minmax(0,1fr);gap:20px}.pz-history-results{margin-left:12px;padding-left:12px}.pz-history-record{padding:12px 8px}.pz-history-draws .draw-balls{gap:3px}.pz-history-draws .draw-number{font-size:17px}}
.soft-filter-history { margin: 16px 0 0; padding: 12px; border: 1px solid #38617c; border-radius: 12px; min-width: 0; }
.soft-filter-history > summary { cursor: pointer; padding: 12px 0; color: #aeeeff; font-size: 17px; font-weight: 800; }
.sf-summary,.sf-dimensions,.sf-values,.sf-history-list { display: grid; gap: 8px; margin-top: 10px; min-width: 0; }
.sf-summary { font-size: 16px; color: #aeeeff; }
.sf-dimension,.sf-history-row { padding: 10px; border: 1px solid #33546b; border-radius: 10px; min-width: 0; }
.sf-dimension h4 { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 0; font-size: 16px; }
.sf-dimension h4 span { font-size: 13px; color: #aeeeff; }
.sf-values { grid-template-columns: repeat(auto-fit,minmax(115px,1fr)); }
.sf-values > div { display: grid; gap: 6px; padding: 10px; background: #132c40; border-radius: 8px; font-size: 15px; }
.sf-values b { font-size: 16px; color: #f7d778; }
.sf-values small,.sf-history-row footer { color: #a9bed2; font-size: 13px; }
.sf-history-row header { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.sf-history-row header small { margin-left: auto; color: #a9bed2; }
.sf-result-number { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: 1px solid currentColor; border-radius: 50%; font-weight: 800; }
.sf-result-number.heaven { color: #62b7ff; background: #173f5d; }.sf-result-number.earth { color: #d7a15b; background: #534128; }
.sf-history-dimensions { display: grid; gap: 8px; margin-bottom: 10px; }
.sf-history-dimensions > div { display: grid; grid-template-columns: 38px minmax(0,1fr) 24px; gap: 8px; align-items: center; font-size: 14px; }
.sf-hit { color: #52e09d; }.sf-miss { color: #ff6b81; }
.sf-history-row footer { overflow-wrap: anywhere; }

/* Independent soft-filter trial: larger touch targets without changing model inputs. */
.soft-filter-card > h3 { font-size:23px; font-weight:900; }.soft-filter-card > .meta { font-size:14px; }
.soft-trial-picks { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:12px 0; }
.soft-trial-pick { min-width:0; min-height:98px; display:grid; gap:4px; justify-items:center; align-content:center; padding:10px 4px; border:1px solid #52718b; border-radius:14px; background:#152d40; color:#edf6ff; cursor:pointer; touch-action:manipulation; }
.soft-trial-pick > span { font-size:16px; font-weight:700; }
.soft-trial-pick > strong { font-size:29px; line-height:1.2; }
.soft-trial-pick > small { font-size:13px; color:#b6cde0; }
.soft-trial-pick.selected { border:2px solid #ffd166; background:#4a3b1a; }
.soft-trial-pick.selected strong,.soft-trial-pick.selected small { color:#ffdd85; }
.soft-trial-pick:disabled { opacity:.55; cursor:default; }
.soft-trial-pick:disabled > strong { font-size:18px; }
.soft-trial-pick:focus-visible,.soft-trial-levels button:focus-visible { outline:3px solid #62b7ff; outline-offset:2px; }
.soft-trial-tools { display:flex; gap:10px; flex-wrap:wrap; }
.soft-trial-tools button { min-height:44px; font-size:16px; }
.soft-trial-rule,.soft-trial-empty { font-size:15px; line-height:1.65; color:#bcd0e0; }
.soft-trial-basis { color:#ffdd85; font-size:16px; font-weight:700; padding:8px 0; }
.soft-trial-levels { display:flex; gap:8px; margin:8px 0 16px; }
.soft-trial-levels button { flex:1; min-width:0; min-height:62px; padding:8px 3px; display:grid; gap:3px; border:1px solid #52718b; border-radius:12px; background:#152d40; color:#c8d8e7; cursor:pointer; touch-action:manipulation; }
.soft-trial-levels b { font-size:20px; }.soft-trial-levels span { font-size:14px; }
.soft-trial-levels .selected { background:#174637; border:2px solid #52e09d; color:#e8fff3; }
.soft-trial-group-head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:10px 0; }
.soft-trial-group-head > div { display:grid; gap:4px; }.soft-trial-group-head strong { font-size:18px; }.soft-trial-group-head span { color:#bcd0e0; font-size:14px; }
.soft-trial-group-head button { min-height:44px; font-size:15px; }
.soft-trial-numbers { display:grid; grid-template-columns:repeat(auto-fit,minmax(78px,1fr)); gap:9px; }
.soft-trial-number { min-width:0; border:1px solid currentColor; border-radius:12px; padding:9px 5px 7px; background:#172b3d; text-align:center; }
.soft-trial-number.heaven { color:#62b7ff; background:#173f5d; }.soft-trial-number.earth { color:#d7a15b; background:#453620; }
.soft-trial-number-title { display:flex; align-items:center; justify-content:center; gap:7px; }
.soft-trial-number-title b { font-size:25px; line-height:1.25; }.soft-trial-number-title strong { font-size:20px; }
.soft-trial-number-attrs { display:grid; gap:5px; margin:7px 0 4px; font-size:14px; font-weight:700; }
.soft-trial-attr-line { display:flex; justify-content:center; align-items:center; gap:4px; line-height:1; }
.soft-trial-number-attrs .attr-mini { flex:0 0 20px; width:20px; min-width:20px; height:20px; line-height:1; padding:0; font-size:14px; }.soft-trial-number > small { font-size:12px; }
@media(min-width:800px){.soft-trial-picks{max-width:650px}.soft-trial-numbers{grid-template-columns:repeat(auto-fit,minmax(88px,1fr))}.soft-trial-number{max-width:150px}}
.kill-role-choices{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin:8px 0}
.kill-role-button,.kill-role-default{min-height:44px;padding:7px 11px;border:1px solid var(--line,#354655);border-radius:10px;background:transparent;color:inherit;font:inherit;font-size:13px;cursor:pointer}
.kill-role-button.active{background:#694d0c;color:#ffdf75;border-color:#d4a632;font-weight:800}
.kill-role-default{font-size:12px;opacity:.8}
.kill-role-saved{border-top:1px solid var(--line,#354655);padding:10px 0;overflow-wrap:anywhere}
.kill-role-choices button:focus-visible{outline:2px solid #ffdf75;outline-offset:2px}
.evidence-badge.local-captured{color:#90cfff;background:#17364c;border-color:#447f9c}
.evidence-badge.mixed{color:#ffdf75;background:#473d20;border-color:#9b8337}
.hero-evidence-detail,.hero-comparison-note,.hero-history-detail{font-size:11px;line-height:1.6;overflow-wrap:anywhere;margin:5px 0;color:#b1c7d9}
.hero-comparison-note{color:#ffcf7c}
.hero-history-detail{padding:0 2px 6px 54px;color:#c5ad82}
.with-kill-people .zodiac-tree-row>.zodiac-tree-inline-content{display:block;min-width:0;overflow-x:auto;overflow-y:hidden;white-space:nowrap;overflow-wrap:normal;word-spacing:normal;color:inherit;font-size:13px;line-height:1.7;font-weight:650;touch-action:pan-x pan-y;scrollbar-width:thin}
.with-kill-people .zodiac-tree-row>b{white-space:nowrap}
.zodiac-tree-copy-actions{display:flex;gap:8px;margin:3px 0 8px}.with-kill-people .zodiac-tree-head small{font-size:10px}.with-kill-people .zodiac-tree-head>.copy-button{flex-shrink:0;white-space:nowrap}
.kill-tree-person{display:inline-block;white-space:nowrap;border:1px solid transparent;border-radius:5px;font:inherit;font-weight:750;padding:3px 4px;cursor:pointer;touch-action:manipulation;user-select:none;vertical-align:middle}
.kill-tree-person.role-mandatory,.kill-role-button.role-mandatory.active{color:#ff8293;background:rgba(255,102,122,.16);border-color:rgba(255,102,122,.55)}
.kill-tree-person.role-fixed,.kill-role-button.role-fixed.active{color:#ffda79;background:rgba(255,209,102,.16);border-color:rgba(255,209,102,.55)}
.kill-role-button.role-watch.active{color:#8edcff;background:rgba(67,160,210,.17);border-color:#5786a4}.kill-role-button.role-normal.active{color:#c2cbd5;background:rgba(170,182,196,.12);border-color:#667586}
.card.kill-person-mandatory{background:linear-gradient(110deg,rgba(135,36,57,.26),rgba(22,24,40,.92));border-color:rgba(255,102,122,.6)}
.card.kill-person-fixed{background:linear-gradient(110deg,rgba(123,91,30,.27),rgba(22,24,40,.92));border-color:rgba(255,209,102,.6)}
.kill-person-mandatory .clue-title,.kill-sort-person-name.role-mandatory{color:#ff8293;background:rgba(255,102,122,.14)}
.kill-person-fixed .clue-title,.kill-sort-person-name.role-fixed{color:#ffda79;background:rgba(255,209,102,.14)}
.kill-person-mandatory .clue-title,.kill-person-fixed .clue-title,.kill-sort-person-name{border-radius:5px;padding:3px 5px}
.kill-tree-person:focus-visible{outline:2px solid currentColor;outline-offset:1px}
.with-kill-people .zodiac-tree-head{align-items:flex-start}.with-kill-people .zodiac-tree-head small{line-height:1.5}.with-kill-people .zodiac-tree-row>.copy-button{white-space:nowrap;font-size:11px}
