:root {
  --ink: #1d241b;
  --paper: #f2ead3;
  --paper-dark: #d7caab;
  --grass: #58a936;
  --grass-light: #85d34e;
  --grass-dark: #2e6725;
  --dirt: #86532d;
  --dirt-dark: #4d311f;
  --stone: #767b78;
  --sky: #75c8ef;
  --gold: #f5c842;
  --red: #c94a3d;
  --shadow: 6px 6px 0 rgba(34, 31, 22, .32);
  --pixel: "Courier New", "Microsoft YaHei", monospace;
}

* { box-sizing: border-box; }
.skip-link { position: fixed; left: -9999px; top: 8px; z-index: 999; padding: 9px 12px; color: #fff; background: #173316; border: 3px solid #fff; }
.skip-link:focus { left: 8px; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background:
    linear-gradient(rgba(75, 60, 35, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(75, 60, 35, .055) 1px, transparent 1px),
    var(--paper);
  background-size: 24px 24px;
  font-family: var(--pixel);
  line-height: 1.5;
}
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }

.skip-link {
  position: fixed; left: 12px; top: -60px; z-index: 100;
  padding: 10px; background: #fff; border: 3px solid #000;
}
.skip-link:focus { top: 12px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }

.site-header {
  min-height: 78px; padding: 12px clamp(18px, 5vw, 72px);
  display: flex; align-items: center; gap: 36px;
  background: #242b22; color: #fff;
  border-bottom: 6px solid #10140f;
  position: relative; z-index: 20;
}
.brand { display: flex; align-items: center; gap: 11px; text-decoration: none; margin-right: auto; }
.brand-cube {
  width: 46px; height: 46px; display: grid; place-items: center;
  color: #fff; background: var(--grass); font-size: 26px; font-weight: 900;
  border: 4px solid #152311; box-shadow: inset -7px -7px 0 var(--grass-dark), 4px 4px 0 #080a08;
}
.brand strong, .brand small { display: block; line-height: 1; letter-spacing: 2px; }
.brand strong { font-size: 20px; }
.brand small { color: var(--grass-light); font-size: 11px; margin-top: 5px; }
.status-chip {
  border: 2px solid #596354; padding: 7px 10px; font-size: 11px; color: #c6cec1;
  white-space: nowrap;
}
.status-chip i { display: inline-block; width: 9px; height: 9px; margin-right: 7px; background: var(--gold); box-shadow: 0 0 0 2px #111; }
.status-chip.online i { background: var(--grass-light); }
.status-chip.offline i { background: var(--red); }

.hero {
  min-height: 560px; padding: 80px clamp(24px, 8vw, 120px) 115px;
  display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr); align-items: center; gap: 5vw;
  position: relative; overflow: hidden;
  background:
    linear-gradient(180deg, transparent 0 73%, rgba(55, 130, 44, .16) 73% 74%, rgba(96, 63, 35, .12) 74%),
    linear-gradient(#72c7ee, #b8e9f8 72%, #8dcc57 72%);
  border-bottom: 10px solid var(--dirt-dark);
}
.hero:after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 44px;
  background: repeating-linear-gradient(90deg, var(--dirt) 0 24px, #754524 24px 48px);
  border-top: 10px solid var(--grass-dark);
}
.hero-copy { position: relative; z-index: 3; max-width: 720px; }
.eyebrow { margin: 0 0 17px; color: #173c1b; font-size: 12px; font-weight: 900; letter-spacing: 2px; }
.eyebrow.dark { color: var(--grass-dark); }
h1, h2, p { margin-top: 0; }
h1 { margin-bottom: 24px; font-size: clamp(40px, 6vw, 78px); line-height: 1.02; letter-spacing: -4px; text-shadow: 4px 4px 0 rgba(255,255,255,.42); }
h1 span { color: #fff; -webkit-text-stroke: 2px #234d20; text-shadow: 5px 5px 0 #2f722a; }
.pixel-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 20px;
  min-height: 52px; padding: 13px 22px; border: 4px solid #173316;
  background: var(--grass); color: #fff; font-weight: 900; text-decoration: none; cursor: pointer;
  box-shadow: inset -5px -5px 0 var(--grass-dark), inset 4px 4px 0 var(--grass-light), 5px 5px 0 rgba(22, 36, 20, .55);
  text-shadow: 2px 2px 0 #244b20;
}
.pixel-button:hover { transform: translate(-1px, -1px); box-shadow: inset -5px -5px 0 var(--grass-dark), inset 4px 4px 0 var(--grass-light), 7px 7px 0 rgba(22, 36, 20, .55); }
.pixel-button:active { transform: translate(4px, 4px); box-shadow: inset 4px 4px 0 var(--grass-dark); }
.pixel-button:disabled { cursor: not-allowed; filter: grayscale(1); opacity: .58; transform: none; }
.cloud { position: absolute; height: 30px; width: 110px; background: rgba(255,255,255,.75); box-shadow: 28px -22px 0 rgba(255,255,255,.75), 66px 0 0 rgba(255,255,255,.75); }
.cloud-one { top: 75px; left: 54%; }
.cloud-two { top: 190px; left: 82%; transform: scale(.7); }
.voxel-scene { min-height: 340px; position: relative; z-index: 2; }
.sun { position: absolute; width: 76px; height: 76px; right: 5%; top: 0; background: #ffe064; box-shadow: 0 0 0 8px rgba(255,224,100,.22); }
.floating-island { position: absolute; width: min(390px, 80vw); height: 220px; left: 50%; top: 52%; transform: translate(-50%,-45%); }
.grass-top { position: absolute; inset: 0 0 auto; height: 70px; background: linear-gradient(135deg, #85dc56 0 22%, #66b63f 22% 45%, #87d457 45% 66%, #58a936 66%); transform: skewY(-7deg); border: 7px solid #2b6625; box-shadow: var(--shadow); }
.dirt-face { position: absolute; top: 65px; left: 15px; width: calc(100% - 30px); height: 125px; background: repeating-linear-gradient(135deg, var(--dirt) 0 28px, #754424 28px 56px); border: 7px solid var(--dirt-dark); clip-path: polygon(0 0,100% 0,78% 100%,27% 100%); }
.ore { position: absolute; width: 19px; height: 19px; z-index: 3; background: #4cd9df; box-shadow: 18px 13px 0 #288f9b, -9px 27px 0 #78edf0; transform: rotate(10deg); }
.ore-one { left: 105px; top: 104px; } .ore-two { right: 85px; top: 132px; transform: scale(.7); }
.mini-chart { position: absolute; z-index: 5; left: 62px; right: 62px; top: -15px; height: 80px; display: flex; align-items: end; justify-content: space-around; }
.mini-chart i { width: 22px; background: #fff; border: 4px solid #1e4121; box-shadow: 3px 3px 0 rgba(0,0,0,.25); }
.mini-chart i:nth-child(1) { height: 25px; } .mini-chart i:nth-child(2) { height: 43px; background:#f7cf46; } .mini-chart i:nth-child(3) { height: 34px; } .mini-chart i:nth-child(4) { height: 64px; background:#f7cf46; } .mini-chart i:nth-child(5) { height: 77px; }

.world-stats {
  max-width: 900px; margin: -55px auto 80px; padding: 0 20px;
  display: grid; grid-template-columns: repeat(3,1fr); position: relative; z-index: 8;
}
.world-stats article { padding: 22px 14px; text-align: center; background: #f7f0dc; border: 4px solid #4b432e; border-right-width: 0; box-shadow: 0 8px 0 rgba(45,37,23,.23); }
.world-stats article:last-child { border-right-width: 4px; }
.world-stats span { display: block; color: var(--grass-dark); font-size: 28px; font-weight: 900; }
.world-stats small { font-family: "Microsoft YaHei", sans-serif; font-weight: 700; color: #6b624f; }

.scanner-section, .chart-section, .results-section { max-width: 1240px; margin: 0 auto 100px; padding: 0 24px; scroll-margin-top: 24px; }
.section-heading { max-width: 700px; margin-bottom: 34px; }
h2 { margin-bottom: 10px; font-size: clamp(27px, 4vw, 42px); line-height: 1.15; }
.section-heading > p:last-child { font-family: "Microsoft YaHei", sans-serif; color: #6d6553; }
.scanner-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 30px; align-items: start; }
.block-panel { background: #f8f1de; border: 4px solid #443d2d; box-shadow: var(--shadow); }
.panel-title { padding: 13px 16px; color: #fff; background: #4a514a; border-bottom: 4px solid #252b25; font-weight: 900; text-shadow: 2px 2px 0 #1a1d1a; }
.panel-title span { color: var(--grass-light); }
.filter-tabs { display: grid; grid-template-columns: repeat(3,1fr); margin: 18px 18px 12px; border: 3px solid #57503d; }
.filter-tab { padding: 10px 5px; border: 0; border-right: 2px solid #57503d; background: #ddd1b5; color: #514936; font-weight: 900; cursor: pointer; }
.filter-tab:last-child { border: 0; }
.filter-tab.active { background: var(--grass); color: #fff; box-shadow: inset 0 -4px 0 var(--grass-dark); }
.search-box { display: block; margin: 0 18px 13px; }
.search-box input { width: 100%; padding: 12px 13px; color: #292619; background: #fffdf5; border: 3px solid #625a45; outline: none; border-radius: 0; }
.search-box input:focus { border-color: var(--grass-dark); box-shadow: 0 0 0 3px rgba(83,164,52,.2); }
.market-list { height: 330px; margin: 0 18px; overflow-y: auto; border: 3px solid #655b45; background: #c8baa0; padding: 8px; scrollbar-color: var(--dirt) #e7dcc5; }
.market-item { width: 100%; display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 10px; margin-bottom: 7px; padding: 9px; border: 3px solid #776b51; background: #f9f2df; text-align: left; cursor: pointer; box-shadow: inset -3px -3px 0 #d5c6a7; }
.market-item:hover, .market-item:focus { border-color: var(--grass-dark); transform: translateX(2px); }
.market-item.selected { color: #fff; background: #4c8e35; border-color: #244b20; box-shadow: inset -4px -4px 0 #2d6627; }
.market-item .token-icon { width: 36px; height: 36px; display: grid; place-items: center; background: var(--stone); color: #fff; border: 3px solid #3d403e; font-size: 12px; font-weight: 900; }
.market-item.tradfi .token-icon { color: #4a3510; background: var(--gold); border-color: #816615; }
.market-item strong, .market-item small { display: block; }
.market-item small { font-family: "Microsoft YaHei", sans-serif; font-size: 10px; opacity: .72; }
.market-item em { font-style: normal; font-size: 10px; padding: 3px 5px; border: 2px solid currentColor; opacity: .78; }
.empty-state { padding: 30px 10px; text-align: center; color: #665d4a; }
.catalog-note { margin: 11px 18px 16px; color: #746b57; font-size: 10px; }
.analysis-panel { min-height: 518px; }
.selected-market { margin: 22px; padding: 16px; display: flex; gap: 15px; align-items: center; background: #e4dac1; border: 3px solid #73684f; box-shadow: inset -4px -4px 0 #cabd9f; }
.market-icon { width: 58px; height: 58px; flex: 0 0 auto; display: grid; place-items: center; color: #fff; background: var(--stone); border: 4px solid #3f4441; font-size: 20px; font-weight: 900; }
.selected-market small, .selected-market strong, .selected-market em { display: block; }
.selected-market strong { font-size: 22px; }
.selected-market em { color: #776b53; font-family: "Microsoft YaHei", sans-serif; font-size: 11px; font-style: normal; }
.crafting-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; margin: 0 22px 22px; }
.crafting-grid div { min-height: 94px; padding: 10px; background: #6f746f; color: #fff; border: 3px solid #3d423e; box-shadow: inset -4px -4px 0 #505550, inset 3px 3px 0 #919792; }
.crafting-grid b { display: block; color: var(--grass-light); font-size: 11px; }
.crafting-grid span { display: block; font-family: "Microsoft YaHei", sans-serif; font-size: 14px; font-weight: 900; }
.crafting-grid small { color: #d5d9d3; font-size: 9px; }
.analyze-button { width: calc(100% - 44px); margin: 0 22px; }
.analysis-hint { margin: 13px 22px 21px; color: #766d5a; font-family: "Microsoft YaHei", sans-serif; font-size: 11px; text-align: center; }

.chart-panel { padding: 22px; }
.chart-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.chart-toolbar h2 { margin-bottom: 4px; font-size: clamp(25px, 3vw, 36px); }
.chart-quote { display: flex; align-items: baseline; gap: 12px; margin: 0; font-family: "Microsoft YaHei", sans-serif; }
.chart-quote strong { font-size: 24px; }
.chart-quote span { font-size: 12px; font-weight: 900; }
.chart-quote span.up { color: #277a30; } .chart-quote span.down { color: #b73c31; }
.chart-live-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: 7px; color: #766d58; font-family: "Microsoft YaHei", sans-serif; font-size: 10px; }
.live-status { display: inline-flex; align-items: center; gap: 6px; font-weight: 900; }
.live-status i { width: 8px; height: 8px; background: #d3ad39; border: 1px solid #4c4535; box-shadow: 0 0 0 2px rgba(211,173,57,.2); }
.live-status.live { color: #277a30; }.live-status.live i { background: #58b64e; animation: live-pulse 1.4s steps(2,end) infinite; }
.live-status.reconnecting, .live-status.offline { color: #a64936; }.live-status.reconnecting i, .live-status.offline i { background: #d35449; }
@keyframes live-pulse { 50% { opacity: .42; } }
.chart-actions { display: flex; align-items: stretch; gap: 9px; }
.timeframe-tabs { display: flex; border: 3px solid #57503d; }
.timeframe-tabs button { min-width: 72px; padding: 10px 12px; border: 0; border-right: 2px solid #57503d; background: #ddd1b5; color: #514936; font-weight: 900; cursor: pointer; }
.timeframe-tabs button:last-child { border-right: 0; }
.timeframe-tabs button.active { color: #fff; background: var(--grass); box-shadow: inset 0 -4px 0 var(--grass-dark); }
.chart-realtime-button { padding: 8px 11px; border: 3px solid #57503d; color: #f8f1de; background: #4a514a; font-size: 10px; font-weight: 900; cursor: pointer; box-shadow: inset 0 -3px 0 #292e29; }
.chart-realtime-button:hover, .chart-realtime-button:focus { color: #fff; background: #387a31; }
.chart-ohlc { min-height: 29px; display: flex; flex-wrap: wrap; gap: 5px 16px; margin-top: 14px; padding: 6px 9px; color: #a9b6a7; background: #273028; border: 3px solid #3c443d; border-bottom: 0; font-family: "Microsoft YaHei", sans-serif; font-size: 10px; }
.chart-ohlc b { color: #eff4ea; }
.chart-legend { display: flex; flex-wrap: wrap; gap: 18px; margin: 18px 0 8px; color: #6d6553; font-family: "Microsoft YaHei", sans-serif; font-size: 10px; }
.chart-legend span { display: flex; align-items: center; gap: 6px; }
.chart-legend i { width: 16px; height: 4px; display: inline-block; background: #4da946; }
.chart-legend .legend-down { background: #d35449; }.chart-legend .legend-ote { background: #ddb83f; }.chart-legend .legend-liquidity { background: #46a8c4; }
.chart-layer-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin: 0 0 10px; font-family: "Microsoft YaHei", sans-serif; }
.chart-layer-controls strong { margin-right: 3px; color: #5f5746; font-size: 10px; }
.chart-layer-controls button, .chart-insight-tabs button { padding: 6px 9px; border: 2px solid #776b51; color: #5f5746; background: #e5dbc2; font-size: 10px; font-weight: 900; cursor: pointer; }
.chart-layer-controls button.active, .chart-insight-tabs button.active { color: #fff; background: #397f35; border-color: #214f20; box-shadow: inset 0 -3px 0 #285b27; }
.chart-realtime-button.active { color: #fff; background: #397f35; }
.chart-wrap { position: relative; height: 440px; overflow: hidden; background: #182019; border: 4px solid #3c443d; box-shadow: inset 0 0 0 2px #0e130f; }
#priceChart { position: relative; z-index: 1; display: block; width: 100%; height: 100%; }
.ote-band { position: absolute; z-index: 2; left: 0; right: 68px; pointer-events: none; background: rgba(221,184,63,.13); border-top: 1px dashed rgba(241,206,85,.72); border-bottom: 1px dashed rgba(241,206,85,.72); box-shadow: inset 0 0 12px rgba(241,206,85,.08); }
.ote-band[hidden] { display: none; }
.chart-loading { position: absolute; z-index: 3; inset: 0; display: grid; place-items: center; color: #d8e1d4; background: rgba(19,27,20,.82); font-family: "Microsoft YaHei", sans-serif; font-size: 12px; }
.chart-loading[hidden] { display: none; }
.chart-levels { margin-top: 12px; padding: 12px; background: #e8dec6; border: 3px solid #766b52; font-family: "Microsoft YaHei", sans-serif; }
.chart-levels-title { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 5px 16px; margin-bottom: 9px; }
.chart-levels-title strong { font-size: 12px; }.chart-levels-title span, .chart-level-empty { margin: 0; color: #776d57; font-size: 10px; }
.chart-level-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; }
.chart-level-item { min-width: 0; padding: 8px 9px; background: #f9f3e2; border: 2px solid #8a7d60; border-left: 6px solid var(--level-color,#6f7c70); }
.chart-level-item span, .chart-level-item strong, .chart-level-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.chart-level-item span { color: #6f6652; font-size: 9px; }.chart-level-item strong { margin: 1px 0; font-size: 13px; }.chart-level-item small { color: #867b64; font-size: 9px; }
.chart-level-item[role="button"] { cursor: pointer; }.chart-level-item[role="button"]:hover, .chart-level-item[role="button"]:focus { border-color: #386f36; transform: translateY(-1px); outline: none; }
.chart-insights { margin-top: 12px; border: 3px solid #655b45; background: #cfc2a7; }
.chart-insight-tabs { display: flex; gap: 0; overflow-x: auto; border-bottom: 3px solid #655b45; scrollbar-width: thin; }
.chart-insight-tabs button { flex: 1 0 auto; min-width: 82px; border-width: 0 2px 0 0; padding: 9px 10px; }
.chart-insight-body { min-height: 92px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; padding: 9px; }
.chart-insight-item { min-width: 0; padding: 9px 10px; color: #3f392b; background: #f9f3e2; border: 2px solid #8a7d60; font-family: "Microsoft YaHei", sans-serif; }
.chart-insight-item span, .chart-insight-item strong, .chart-insight-item small { display: block; overflow-wrap: anywhere; }
.chart-insight-item span { color: #726853; font-size: 9px; }.chart-insight-item strong { margin: 3px 0; font-size: 13px; }.chart-insight-item small { color: #82765f; font-size: 9px; line-height: 1.5; }
.chart-insight-item.locatable { cursor: pointer; border-left: 6px solid #397f35; }.chart-insight-item.locatable:hover, .chart-insight-item.locatable:focus { border-color: #397f35; outline: none; }
.analysis-stale { color: #a64936; font-weight: 900; }
.chart-note { margin: 10px 0 0; color: #776d57; font-family: "Microsoft YaHei", sans-serif; font-size: 10px; }
.tradingview-credit { margin: 5px 0 0; color: #8a806a; font-family: "Microsoft YaHei", sans-serif; font-size: 9px; text-align: right; }
.tradingview-credit a { color: #386f36; }

.results-section { scroll-margin-top: 20px; }
.result-head { padding: 22px; display: grid; grid-template-columns: 1fr auto auto auto; gap: 28px; align-items: center; margin-bottom: 25px; }
.result-head { contain: layout paint; }
.result-head h2 { margin: 0; overflow-wrap: anywhere; word-break: break-word; }
.result-head p:last-child { margin: 5px 0 0; color: #756c57; font-size: 11px; }
.score-block, .readiness-block, .decision-block { min-width: 135px; padding-left: 20px; border-left: 3px dashed #a99c7c; }
.score-block small, .readiness-block small, .decision-block small { display: block; color: #756c57; }
.score-block strong { display: block; color: var(--grass-dark); font-size: 38px; line-height: 1.2; }
.score-block em { font-size: 14px; font-style: normal; color: #6c6657; }
.score-track { width: 140px; height: 12px; padding: 2px; background: #4e4b40; }
.score-track i { display: block; height: 100%; width: 0; background: var(--grass-light); transition: width .6s ease; }
.decision-block strong { display: block; font-size: 25px; color: var(--dirt); }
.decision-block span { color: #706853; font-size: 11px; }
.readiness-block strong { display: block; color: #286d2c; font-size: 31px; line-height: 1.25; }.readiness-block span { color: #706853; font-size: 11px; }
.setup-panel { margin-bottom: 24px; }
.panel-title span { margin-left: 7px; color: #c9d7c5; font-family: "Microsoft YaHei", sans-serif; font-size: 9px; text-shadow: none; }
.setup-checklist { display: grid; grid-template-columns: repeat(5,1fr); gap: 0; }
.gate-item { min-height: 74px; padding: 13px; border-right: 3px solid #655b45; font-family: "Microsoft YaHei", sans-serif; }
.gate-item:last-child { border-right: 0; }
.gate-item b, .gate-item span { display: block; }
.gate-item b { margin-bottom: 5px; font-size: 12px; }.gate-item span { color: #746b57; font-size: 10px; }
.gate-item.pass b { color: #277a30; }.gate-item.wait b { color: #a54b32; }
.score-detail-panel { margin-bottom: 24px; }
.score-breakdown { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; }
.score-dimension { padding: 14px; border-right: 3px solid #655b45; border-bottom: 3px solid #655b45; font-family: "Microsoft YaHei", sans-serif; }
.score-dimension:nth-child(3n) { border-right: 0; }.score-dimension:nth-child(n+4) { border-bottom: 0; }
.score-dimension > div { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; }.score-dimension strong { color: #286d2c; font-size: 20px; }.score-dimension strong small { color: #756c57; font-size: 10px; }
.score-dimension > span { display: block; margin: 4px 0; color: #6d624e; font-size: 10px; font-weight: 900; }
.score-dimension > i { display: block; height: 7px; background: #4e4b40; }.score-dimension > i em { display: block; height: 100%; background: #6fc34d; }
.score-dimension > p { margin: 7px 0 0; color: #7a6f58; font-size: 9px; line-height: 1.5; }
.layer-results { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-bottom: 24px; }
.layer-card { overflow: hidden; }
.layer-card header { padding: 13px 14px; display: flex; align-items: center; gap: 10px; background: #4b514c; color: #fff; border-bottom: 4px solid #292e29; }
.layer-card header b { width: 28px; height: 28px; display: grid; place-items: center; background: var(--grass); border: 2px solid #214f20; font-size: 11px; }
.layer-card header span { font-family: "Microsoft YaHei", sans-serif; font-weight: 900; }
.layer-content { padding: 15px; min-height: 175px; }
.fact-row { display: grid; grid-template-columns: minmax(90px,.8fr) 1.2fr; gap: 10px; padding: 7px 0; border-bottom: 2px dotted #c0b292; font-family: "Microsoft YaHei", sans-serif; font-size: 11px; }
.fact-row span { color: #776d57; overflow-wrap: anywhere; }
.fact-row b { text-align: right; overflow-wrap: anywhere; }
.result-bottom { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.entry-card > div:last-child, .risk-list, .quality-list { padding: 18px; margin: 0; font-family: "Microsoft YaHei", sans-serif; font-size: 12px; }
.plan-banner { margin-bottom: 12px; padding: 11px; border: 2px solid #a98738; border-left-width: 6px; background: #fff4cf; }.plan-banner.executable { border-color: #4d8c3d; background: #e7f3dc; }.plan-banner.invalidated { border-color: #b44336; background: #f7dfd8; }
.plan-banner b { display: block; }.plan-banner p { margin: 5px 0 0; color: #5d5544; line-height: 1.6; }
.plan-conditions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 13px; }.plan-conditions span { padding: 5px 7px; border: 2px solid #8e8164; background: #eee4cb; font-size: 9px; font-weight: 900; }.plan-conditions .pass { color: #286d2c; border-color: #6b985b; background: #e5f1da; }.plan-conditions .wait { color: #9f4733; border-color: #b47a69; background: #f5e4dc; }
.risk-item, .quality-item { margin-bottom: 12px; padding: 11px; background: #fff9e9; border: 2px solid #b5a787; border-left-width: 6px; }
.risk-item:last-child, .quality-item:last-child { margin-bottom: 0; }
.risk-item.high { border-left-color: #bd3f32; }.risk-item.medium { border-left-color: #d39d31; }.risk-item.low { border-left-color: #4c8e35; }
.risk-heading { display: flex; align-items: flex-start; gap: 7px; }
.risk-heading span { flex: 0 0 auto; padding: 2px 5px; color: #fff; background: #a64a36; font-size: 9px; font-weight: 900; }
.risk-item.medium .risk-heading span { background: #a77922; }.risk-item.low .risk-heading span { background: #397b33; }
.risk-item p, .quality-item p { margin: 7px 0 0; color: #554d3c; line-height: 1.65; }
.risk-item small { display: block; margin-top: 7px; color: #756b55; line-height: 1.55; }
.quality-item { border-left-color: #6f7c70; }
.safe-state { margin: 0; padding: 12px; color: #286d2c; background: #e8f1dc; border: 2px solid #86a86f; line-height: 1.6; }
.disclaimer { max-width: 1192px; margin: 0 auto 85px; padding: 22px 24px; display: grid; grid-template-columns: auto 1fr; gap: 25px; background: #292d28; color: #e3e0d5; border: 4px solid #121512; box-shadow: var(--shadow); }
.disclaimer strong { color: var(--gold); white-space: nowrap; }
.disclaimer p { margin: 0; font-family: "Microsoft YaHei", sans-serif; font-size: 12px; line-height: 1.8; }
footer { padding: 25px clamp(20px,5vw,70px); display: flex; justify-content: space-between; gap: 20px; background: #20251f; color: #aab2a5; border-top: 7px solid #10130f; font-size: 10px; }

@media (max-width: 900px) {
  .hero { min-height: auto; grid-template-columns: 1fr; padding-top: 60px; }
  .voxel-scene { min-height: 270px; }
  .scanner-grid { grid-template-columns: 1fr; }
  .layer-results { grid-template-columns: repeat(2,1fr); }
  .result-head { grid-template-columns: 1fr 1fr; }
  .result-head > div:first-child { grid-column: 1 / -1; }
  .score-block { border-left: 0; padding-left: 0; }
  .chart-wrap { height: 380px; }
  .chart-level-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .chart-insight-body { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .setup-checklist { grid-template-columns: repeat(3,1fr); }
  .result-bottom { grid-template-columns: 1fr 1fr; }
  .entry-card { grid-column: 1 / -1; }
  .gate-item:nth-child(3) { border-right: 0; }.gate-item:nth-child(n+4) { border-top: 3px solid #655b45; }
}
@media (max-width: 600px) {
  .site-header { padding: 10px 14px; }
  .status-chip { font-size: 0; padding: 8px; }
  .status-chip i { margin: 0; }
  h1 { letter-spacing: -2px; }
  .world-stats { grid-template-columns: repeat(3,1fr); margin-bottom: 60px; }
  .crafting-grid { grid-template-columns: repeat(2,1fr); }
  .layer-results, .result-bottom { grid-template-columns: 1fr; }
  .entry-card { grid-column: auto; }
  .result-head { grid-template-columns: 1fr; gap: 20px; }
  .result-head > div:first-child { grid-column: auto; }
  .score-block, .readiness-block, .decision-block { border-left: 0; border-top: 3px dashed #a99c7c; padding: 15px 0 0; }
  .disclaimer { grid-template-columns: 1fr; margin-left: 20px; margin-right: 20px; gap: 8px; }
  footer { display: grid; text-align: center; }
  .scanner-section, .chart-section, .results-section { padding-left: 12px; padding-right: 12px; margin-bottom: 58px; }
  .chart-panel { padding: 12px; }
  .chart-toolbar { align-items: stretch; flex-direction: column; gap: 15px; }
  .chart-actions { display: grid; grid-template-columns: 1fr; }
  .timeframe-tabs { display: grid; grid-template-columns: repeat(4,1fr); }
  .timeframe-tabs button { min-width: 0; padding: 9px 3px; }
  .chart-wrap { height: 345px; }
  .chart-ohlc { gap: 5px 10px; margin-top: 10px; }
  .chart-legend { gap: 8px 12px; margin-top: 12px; }
  .chart-quote strong { font-size: 20px; }
  .chart-level-grid { grid-template-columns: 1fr 1fr; gap: 6px; }
  .chart-layer-controls { gap: 5px; }.chart-layer-controls button { flex: 1 0 calc(33.333% - 5px); padding: 7px 3px; }
  .chart-insight-body { grid-template-columns: 1fr; }
  .chart-insight-tabs button { min-width: 76px; }
  .score-breakdown { grid-template-columns: 1fr; }.score-dimension, .score-dimension:nth-child(3n), .score-dimension:nth-child(n+4) { border-right: 0; border-bottom: 3px solid #655b45; }.score-dimension:last-child { border-bottom: 0; }
  .setup-checklist { grid-template-columns: 1fr; }
  .gate-item, .gate-item:nth-child(3) { border-right: 0; border-top: 3px solid #655b45; min-height: 58px; }
  .gate-item:first-child { border-top: 0; }
}

/* Personal market navigation and signal-history polish */
.market-panel .filter-tabs {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.market-item-row {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 38px;
  gap: 7px;
  margin-bottom: 7px;
}
.market-item-row .market-item { min-width: 0; margin: 0; }
.market-favorite {
  display: grid;
  place-items: center;
  color: #6a725f;
  background: #f4f0e4;
  border: 1px solid #a7aa99;
  cursor: pointer;
  font-size: 20px;
  transition: color .18s ease, background .18s ease, border-color .18s ease;
}
.market-favorite:hover,
.market-favorite:focus-visible,
.market-favorite.active {
  color: #8b6b20;
  background: #fff8d9;
  border-color: #aa9150;
  outline: none;
}
.market-pagination {
  margin: 10px 18px 0;
  display: grid;
  grid-template-columns: 72px 1fr 72px;
  align-items: center;
  gap: 8px;
}
.market-pagination button {
  min-height: 32px;
  color: #425d4b;
  background: #f8f5eb;
  border: 1px solid #9ca798;
  cursor: pointer;
  font-size: 10px;
  font-weight: 700;
}
.market-pagination button:hover:not(:disabled),
.market-pagination button:focus-visible { color: #fff; background: #568a67; outline: none; }
.market-pagination button:disabled { opacity: .35; cursor: default; }
.market-pagination span { color: #667067; text-align: center; font-family: "Microsoft YaHei", sans-serif; font-size: 9px; }
.history-panel {
  margin-top: 12px;
  overflow: hidden;
  background: rgba(250,248,240,.95);
  border: 1px solid #9d9278;
  box-shadow: 0 8px 20px rgba(54,67,55,.08);
}
.history-heading {
  min-height: 56px;
  padding: 12px 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  background: linear-gradient(90deg,#e7eee3,#f4efe0);
  border-bottom: 1px solid #b8b09c;
}
.history-heading strong,
.history-heading span { display: block; }
.history-heading strong { color: #294b38; font-size: 14px; }
.history-heading > div > span { margin-top: 4px; color: #6c756d; font-family: "Microsoft YaHei", sans-serif; font-size: 9px; }
.history-legend { display: flex; gap: 14px; color: #667067; font-size: 9px; }
.history-legend span { display: flex; align-items: center; gap: 6px; }
.history-legend i { width: 9px; height: 3px; display: inline-block; }
.history-score-dot { background: #376f52; }
.history-readiness-dot { background: #b49345; }
.history-chart { min-height: 180px; padding: 12px 16px 16px; }
.history-chart svg { width: 100%; height: 168px; display: block; overflow: visible; }
.history-chart svg text { fill: #7b796d; font-family: "Microsoft YaHei", sans-serif; font-size: 9px; }
.history-grid { stroke: #d6d0c1; stroke-width: 1; stroke-dasharray: 4 5; }
.history-score-line,
.history-readiness-line { fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 3; }
.history-score-line { stroke: #376f52; }
.history-readiness-line { stroke: #b49345; stroke-width: 2; opacity: .85; }
.history-score-points { fill: #f8f5e9; stroke: #376f52; stroke-width: 2; }
.history-date { fill: #8b877b !important; }
.history-signals { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 7px; }
.history-signal { padding: 8px; background: #f2ede1; border: 1px solid #d0c7b3; }
.history-signal b,
.history-signal small { display: block; }
.history-signal b { color: #315e47; font-size: 14px; }
.history-signal small { margin-top: 3px; color: #716d62; font-family: "Microsoft YaHei", sans-serif; font-size: 8px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.layer-card header .layer-toggle {
  min-width: 48px;
  min-height: 28px;
  margin-left: auto;
  color: #f6eed9;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(239,221,168,.55);
  cursor: pointer;
  font-size: 9px;
}
.layer-card header .layer-toggle:hover,
.layer-card header .layer-toggle:focus-visible { background: rgba(255,255,255,.16); outline: none; }
.layer-content[hidden] { display: none; }

@media (max-width: 760px) {
  .market-panel .filter-tabs { grid-template-columns: repeat(5,minmax(54px,1fr)); overflow-x: auto; }
  .market-panel .filter-tab { padding-left: 4px; padding-right: 4px; }
  .opportunity-filters { grid-template-columns: repeat(2,1fr); }
  .opportunity-filters button { border-top: 1px solid #9eaa9d; }
  .opportunity-filters button:first-child,
  .opportunity-filters button:nth-child(2) { border-top: 0; }
  .history-heading { align-items: flex-start; flex-direction: column; }
  .history-signals { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .history-chart { padding-left: 8px; padding-right: 8px; }
}

@media (max-width: 600px) {
  #results { display: flex; flex-direction: column; }
  #results .result-head { order: 1; }
  #results .setup-panel { order: 2; }
  #results .result-bottom { order: 3; }
  #results .score-detail-panel { order: 4; }
  #results .layer-results { order: 5; }
  .layer-results { gap: 10px; }
  .layer-card header { min-height: 54px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }

/* ============================================================
   Obsidian Edition — 轻奢 Minecraft 视觉系统
   保留方块秩序与像素材质，去除卡通化高饱和草地效果。
   ============================================================ */
:root {
  --ink: #18201c;
  --paper: #eee8dc;
  --paper-dark: #d8cfbd;
  --grass: #285e49;
  --grass-light: #70a98a;
  --grass-dark: #163c30;
  --dirt: #7a5737;
  --dirt-dark: #34281f;
  --stone: #4b5651;
  --sky: #101714;
  --gold: #c6a96a;
  --gold-light: #e2cf9b;
  --red: #a9534c;
  --obsidian: #0b100e;
  --obsidian-soft: #121b17;
  --ivory: #f3eee3;
  --line: #aa9872;
  --shadow: 0 22px 55px rgba(0, 0, 0, .23), 0 2px 0 rgba(198, 169, 106, .24);
  --pixel: "Courier New", "Microsoft YaHei", monospace;
}

body {
  color: #e7e2d7;
  background:
    linear-gradient(rgba(198,169,106,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(198,169,106,.035) 1px, transparent 1px),
    radial-gradient(circle at 50% -10%, #1a2922 0, #0d1310 42%, #090d0b 100%);
  background-size: 32px 32px, 32px 32px, auto;
}

.site-header {
  min-height: 72px;
  padding: 12px clamp(18px, 5vw, 72px);
  position: sticky;
  top: 0;
  background: rgba(9, 14, 11, .9);
  border-bottom: 1px solid rgba(198,169,106,.42);
  box-shadow: 0 12px 35px rgba(0,0,0,.22);
  backdrop-filter: blur(14px);
}
.brand-cube {
  width: 42px; height: 42px;
  color: var(--gold-light);
  background: linear-gradient(145deg, #244f3e, #122a21);
  border: 1px solid #8b7549;
  box-shadow: inset 0 0 0 3px #0b1712, inset -8px -8px 14px rgba(0,0,0,.3), 0 8px 22px rgba(0,0,0,.3);
}
.brand strong { color: #f3eee3; font-weight: 700; letter-spacing: 3px; }
.brand small { color: var(--gold); letter-spacing: 3px; }
.status-chip { border: 1px solid #4e5a53; color: #aab5ae; background: rgba(255,255,255,.025); }
.status-chip i { width: 7px; height: 7px; box-shadow: 0 0 12px currentColor; border-radius: 50%; }

.hero {
  min-height: 585px;
  padding: 92px clamp(24px, 8vw, 120px) 150px;
  background:
    radial-gradient(circle at 79% 34%, rgba(66,112,88,.2), transparent 24%),
    linear-gradient(115deg, #111a16 0 56%, #0a0f0c 56% 100%);
  border-bottom: 1px solid rgba(198,169,106,.45);
}
.hero:before {
  content: "";
  position: absolute; inset: 0;
  background:
    linear-gradient(90deg, transparent 0 49.9%, rgba(198,169,106,.06) 50%, transparent 50.1%),
    linear-gradient(0deg, transparent 0 49.9%, rgba(198,169,106,.04) 50%, transparent 50.1%);
  background-size: 64px 64px;
  mask-image: linear-gradient(90deg, transparent, #000 55%);
}
.hero:after { height: 6px; background: linear-gradient(90deg, #17261f, var(--gold), #17261f); border: 0; opacity: .7; }
.cloud { display: none; }
.hero-copy { max-width: 760px; }
.hero .eyebrow { color: var(--gold); font-size: 11px; letter-spacing: 3.5px; }
.hero h1 { margin-bottom: 24px; color: #f3eee3; font-size: clamp(44px, 6vw, 82px); font-weight: 700; letter-spacing: -3px; text-shadow: 0 10px 35px rgba(0,0,0,.38); }
.hero h1 span { color: var(--gold-light); -webkit-text-stroke: 0; text-shadow: 0 10px 35px rgba(0,0,0,.4); }
.hero-description { max-width: 670px; margin-bottom: 32px; color: #aeb9b2; font-family: "Microsoft YaHei", sans-serif; font-size: 15px; line-height: 1.9; }
.pixel-button {
  min-height: 50px;
  padding: 13px 23px;
  color: #f9f4e9;
  background: linear-gradient(145deg, #326f56, #1d4d3b);
  border: 1px solid #a58b57;
  box-shadow: inset 0 0 0 2px rgba(8,24,17,.42), 0 12px 30px rgba(0,0,0,.25);
  text-shadow: none;
  letter-spacing: .5px;
}
.pixel-button:hover { transform: translateY(-2px); box-shadow: inset 0 0 0 2px rgba(8,24,17,.42), 0 16px 34px rgba(0,0,0,.34); }
.pixel-button:active { transform: translateY(0); box-shadow: inset 0 4px 12px rgba(0,0,0,.25); }

.voxel-scene { min-height: 360px; }
.sun { width: 64px; height: 64px; right: 8%; top: 2%; background: #c9ac6b; box-shadow: 0 0 0 1px #e6d5a6, 0 0 55px rgba(198,169,106,.2); opacity: .82; }
.floating-island { width: min(410px, 82vw); height: 230px; filter: drop-shadow(0 30px 28px rgba(0,0,0,.42)); }
.grass-top { height: 66px; background: linear-gradient(135deg, #315d49 0 23%, #244c3c 23% 47%, #3a6b54 47% 69%, #1b4033 69%); border: 1px solid #9e895d; box-shadow: inset 0 0 0 5px #142c23; }
.dirt-face { top: 62px; background: repeating-linear-gradient(135deg, #27302c 0 30px, #18201c 30px 60px); border: 1px solid #75684d; box-shadow: inset 0 0 0 5px #111713; }
.ore { background: #c9ae70; box-shadow: 18px 13px 0 #7e6b44, -9px 27px 0 #ded0a5; opacity: .75; }
.mini-chart i { background: #d8e0da; border: 1px solid #b59a62; box-shadow: 0 0 0 3px #183025, 0 8px 16px rgba(0,0,0,.2); }
.mini-chart i:nth-child(2), .mini-chart i:nth-child(4) { background: #c8aa65; }

.world-stats { max-width: 1120px; margin: -62px auto 82px; grid-template-columns: repeat(4,1fr); }
.world-stats article { padding: 22px 14px; background: rgba(18,27,23,.96); border: 1px solid #6b6049; border-right-width: 0; box-shadow: 0 18px 36px rgba(0,0,0,.28); }
.world-stats article:last-child { border-right-width: 1px; }
.world-stats span { color: var(--gold-light); font-size: 27px; }
.world-stats small { color: #9ea9a2; font-weight: 500; letter-spacing: .5px; }

.scanner-section, .chart-section, .results-section, .opportunities-section { max-width: 1280px; margin: 0 auto 100px; padding: 0 24px; scroll-margin-top: 100px; }
.section-heading { max-width: 780px; }
.section-heading h2 { color: #f0eadf; font-weight: 600; letter-spacing: -1.5px; }
.section-heading > p:last-child { color: #98a39c; line-height: 1.8; }
.eyebrow.dark { color: var(--gold); letter-spacing: 2.8px; }
.block-panel { color: var(--ink); background: linear-gradient(145deg, #f5f0e6, #e8e0d1); border: 1px solid #a99a79; box-shadow: var(--shadow); }
.panel-title, .layer-card header { color: #f2ede3; background: linear-gradient(135deg, #1d2924, #36423c); border-bottom: 1px solid #9b8658; }
.panel-title { padding: 15px 18px; letter-spacing: .4px; }
.panel-title > span:first-child { color: var(--gold-light); }

.opportunity-heading { display: grid; grid-template-columns: 1fr; }
.opportunity-panel { overflow: hidden; }
.opportunity-toolbar { min-height: 78px; padding: 18px 20px; display: flex; justify-content: space-between; align-items: center; gap: 20px; background: #111a16; color: #eee8dc; border-bottom: 1px solid #81714f; }
.opportunity-toolbar strong, .opportunity-toolbar span { display: block; }
.opportunity-toolbar strong { color: var(--gold-light); font-size: 16px; letter-spacing: 1px; }
.opportunity-toolbar span { margin-top: 5px; color: #95a099; font-family: "Microsoft YaHei", sans-serif; font-size: 10px; }
.opportunity-filters { display: flex; border: 1px solid #4f5a54; }
.opportunity-filters button { min-height: 36px; padding: 7px 12px; color: #aeb8b2; background: #17211c; border: 0; border-right: 1px solid #4f5a54; cursor: pointer; font-size: 10px; font-weight: 700; }
.opportunity-filters button:last-child { border-right: 0; }
.opportunity-filters button.active { color: #151a17; background: var(--gold-light); }
.opportunity-head, .opportunity-row { display: grid; grid-template-columns: minmax(210px,1.5fr) .55fr .8fr .9fr .65fr .85fr; align-items: center; gap: 14px; }
.opportunity-head { padding: 10px 18px; color: #756d5e; background: #dcd3c2; border-bottom: 1px solid #b5a787; font-family: "Microsoft YaHei", sans-serif; font-size: 9px; letter-spacing: .6px; }
.opportunity-row { width: 100%; min-height: 74px; padding: 12px 18px; color: #243029; background: rgba(249,246,238,.86); border: 0; border-bottom: 1px solid #d1c7b2; text-align: left; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.opportunity-row:last-child { border-bottom: 0; }
.opportunity-row:hover, .opportunity-row:focus { z-index: 1; background: #fffdf7; box-shadow: inset 4px 0 0 var(--gold); outline: none; }
.opportunity-row > span b, .opportunity-row > span small { display: block; }
.opportunity-row > span b { font-size: 12px; }
.opportunity-row > span small { margin-top: 4px; color: #807768; font-family: "Microsoft YaHei", sans-serif; font-size: 9px; }
.opportunity-market { display: grid !important; grid-template-columns: 32px 1fr; align-items: center; column-gap: 12px; }
.opportunity-market i { grid-row: 1 / 3; width: 30px; height: 30px; display: grid; place-items: center; color: var(--gold-light); background: #1c2923; border: 1px solid #8e7b52; font-size: 9px; font-style: normal; }
.opportunity-market b { font-size: 15px !important; letter-spacing: .5px; }
.opportunity-score b { color: #245a45; font-size: 24px !important; }
.opportunity-readiness > i { width: 72px; height: 4px; display: block; margin-top: 7px; background: #d1c6af; }
.opportunity-readiness > i em { height: 100%; display: block; background: #39735a; }
.stage-execution { box-shadow: inset 4px 0 0 #3c765c; }
.bias-bullish b { color: #287354; }.bias-bearish b { color: #a14c46; }
.opportunity-note { margin: 0; padding: 12px 18px; color: #766e60; background: #e4dccd; border-top: 1px solid #c8bda6; font-family: "Microsoft YaHei", sans-serif; font-size: 9px; }

.scanner-grid { gap: 24px; }
.filter-tabs, .timeframe-tabs { border: 1px solid #81745b; }
.filter-tab, .timeframe-tabs button { border-right: 1px solid #81745b; background: #ddd5c5; }
.filter-tab.active, .timeframe-tabs button.active { background: #285e49; box-shadow: inset 0 -2px 0 #183c2f; }
.search-box input { border: 1px solid #8c7d5e; background: #fbf8f1; }
.search-box input:focus { border-color: #285e49; box-shadow: 0 0 0 3px rgba(40,94,73,.13); }
.market-list { border: 1px solid #958666; background: #d7cebd; }
.market-item { border: 1px solid #a4977e; background: #f7f2e8; box-shadow: none; }
.market-item:hover, .market-item:focus { border-color: #285e49; transform: translateX(3px); }
.market-item.selected { background: #285e49; border-color: #9a8658; box-shadow: inset 3px 0 0 var(--gold-light); }
.market-item .token-icon, .market-icon { background: linear-gradient(145deg,#3d4d45,#222d28); border: 1px solid #887852; }
.selected-market { background: #ded6c6; border: 1px solid #9b8d70; box-shadow: inset 0 0 0 3px rgba(255,255,255,.26); }
.crafting-grid div { background: linear-gradient(145deg,#394740,#242f2a); border: 1px solid #8d7c55; box-shadow: inset 0 0 0 2px #1b2621; }
.crafting-grid b { color: var(--gold-light); }
.crafting-grid small { color: #aeb9b2; }

.chart-toolbar h2, .result-head h2 { color: #1c251f; }
.chart-realtime-button, .chart-layer-controls button, .chart-insight-tabs button { border: 1px solid #776b51; box-shadow: none; }
.chart-realtime-button { color: #eee8dc; background: #202d27; }
.chart-layer-controls button.active, .chart-insight-tabs button.active, .chart-realtime-button.active { background: #285e49; border-color: #8c7b51; box-shadow: inset 0 -2px 0 #183b2e; }
.chart-wrap { border: 1px solid #8f7b50; box-shadow: inset 0 0 0 3px #0d1410, 0 14px 28px rgba(0,0,0,.18); }
.chart-ohlc { border: 1px solid #59635d; border-bottom: 0; background: #17211c; }
.chart-levels, .chart-insights { border: 1px solid #998b6e; }
.chart-level-item, .chart-insight-item { border: 1px solid #ad9d7d; background: #f8f3e9; }
.chart-insight-tabs { border-bottom: 1px solid #998b6e; }
.chart-insight-tabs button { border-right: 1px solid #998b6e; }

.result-head { border-top: 2px solid var(--gold); }
.score-block, .readiness-block, .decision-block { border-left: 1px solid #aa9b7d; }
.score-block strong, .readiness-block strong { color: #285e49; }
.score-track { height: 8px; background: #c9c0ad; }
.score-track i { background: linear-gradient(90deg,#285e49,var(--gold)); }
.setup-panel, .score-detail-panel { overflow: hidden; }
.setup-checklist, .score-breakdown { background: rgba(255,255,255,.26); }
.gate-item, .score-dimension { border-color: #c5b9a1 !important; border-width: 0 1px 1px 0 !important; }
.layer-results { gap: 16px; }
.layer-card header { border-bottom: 1px solid #927d51; }
.layer-card header b { color: #1a231e; background: var(--gold-light); border: 1px solid #8d784e; }
.fact-row { border-bottom: 1px dotted #bcb096; }
.result-bottom { gap: 16px; }
.risk-item, .quality-item, .safe-state, .plan-banner, .plan-conditions span { border-width: 1px; }
.disclaimer { background: #111915; border: 1px solid #756647; box-shadow: 0 20px 45px rgba(0,0,0,.25); }
footer { background: #090d0b; border-top: 1px solid #4d4432; }

@media (max-width: 900px) {
  .world-stats { grid-template-columns: repeat(2,1fr); max-width: 680px; }
  .world-stats article:nth-child(2) { border-right-width: 1px; }
  .world-stats article:nth-child(n+3) { border-top: 0; }
  .opportunity-head { display: none; }
  .opportunity-row { grid-template-columns: minmax(170px,1.4fr) .6fr .8fr; gap: 10px 14px; }
  .opportunity-row > span:nth-child(n+4) { padding-top: 8px; border-top: 1px solid #d6cbb5; }
}

@media (max-width: 600px) {
  .site-header { min-height: 62px; }
  .hero { min-height: auto; padding: 72px 22px 100px; grid-template-columns: 1fr; }
  .hero h1 { font-size: clamp(40px, 13vw, 58px); letter-spacing: -2px; }
  .hero-description { font-size: 13px; }
  .voxel-scene { min-height: 230px; opacity: .85; }
  .floating-island { transform: translate(-50%,-52%) scale(.78); }
  .world-stats { margin-top: -42px; padding: 0 12px; }
  .world-stats article { padding: 17px 8px; }
  .world-stats span { font-size: 22px; }
  .world-stats small { font-size: 9px; }
  .opportunities-section { padding: 0 12px; margin-bottom: 70px; }
  .opportunity-toolbar { align-items: stretch; flex-direction: column; }
  .opportunity-filters { display: grid; grid-template-columns: repeat(2,1fr); }
  .opportunity-filters button:nth-child(2) { border-right: 0; }
  .opportunity-filters button:nth-child(n+3) { border-top: 1px solid #4f5a54; }
  .opportunity-row { grid-template-columns: 1.25fr .55fr; padding: 14px; }
  .opportunity-row > span:nth-child(3) { grid-column: 1 / -1; display: grid; grid-template-columns: 70px 1fr; align-items: center; gap: 10px; padding: 8px 0; border-top: 1px solid #d6cbb5; }
  .opportunity-readiness > i { width: 100%; margin: 0; }
  .opportunity-row > span:nth-child(n+4) { padding-top: 7px; }
  .opportunity-row > span:nth-child(6) { text-align: right; }
  .scanner-section, .chart-section, .results-section { padding-left: 12px; padding-right: 12px; }
  .score-block, .readiness-block, .decision-block { border-left: 0; border-top: 1px solid #aa9b7d; }
}

/* ============================================================
   Quartz Meadow Edition — 明亮轻奢体素主题
   ============================================================ */
:root {
  --ink: #24352c;
  --paper: #f4f0e5;
  --paper-dark: #ddd4bd;
  --grass: #4f8a62;
  --grass-light: #91b978;
  --grass-dark: #2d6648;
  --dirt: #ad8151;
  --dirt-dark: #725234;
  --stone: #8d9990;
  --sky: #acd8ee;
  --gold: #b7964e;
  --gold-light: #ddc986;
  --line: #b9aa87;
  --ivory: #faf7ef;
  --shadow: 0 18px 45px rgba(73, 83, 69, .13), 0 3px 0 rgba(137, 115, 67, .13);
}

body {
  color: var(--ink);
  background:
    linear-gradient(rgba(80,108,86,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(80,108,86,.05) 1px, transparent 1px),
    linear-gradient(180deg, #f7f4eb 0%, #eee8d8 100%);
  background-size: 32px 32px, 32px 32px, auto;
}

.site-header {
  color: #26372e;
  background: rgba(250,248,240,.94);
  border-bottom: 1px solid #b9a774;
  box-shadow: 0 10px 30px rgba(58,72,61,.1);
}
.brand-cube {
  color: #fffdf4;
  background: linear-gradient(145deg,#6aa178,#397154);
  border-color: #a78c4d;
  box-shadow: inset 0 0 0 3px #e9dfc6, inset -7px -7px 13px rgba(33,77,53,.22), 0 7px 18px rgba(60,81,65,.14);
}
.brand strong { color: #26372e; }
.brand small { color: #8a6c2f; }
.status-chip { color: #53665b; background: #f8f5ec; border-color: #b9b29e; }
.status-chip.online i { background: #61a879; }

.hero-visual {
  min-height: 0;
  height: clamp(390px, 43vw, 700px);
  padding: 0;
  display: block;
  position: relative;
  background: #b8dff0;
  border-bottom: 1px solid #a79055;
}
.hero-visual:before, .hero-visual:after { display: none; }
.hero-visual picture, .hero-visual img { width: 100%; height: 100%; display: block; }
.hero-visual img { object-fit: cover; object-position: center center; }

.world-stats { margin-top: -58px; }
.world-stats article {
  color: #2e4036;
  background: rgba(252,249,240,.96);
  border-color: #ae9b69;
  box-shadow: 0 16px 36px rgba(70,82,67,.16);
  backdrop-filter: blur(10px);
}
.world-stats span { color: #397156; }
.world-stats small { color: #6c756f; }

.section-heading h2 { color: #26382f; }
.section-heading > p:last-child { color: #69776e; }
.eyebrow.dark { color: #947433; }
.block-panel {
  color: #26352d;
  background: linear-gradient(145deg,#fffdf7,#eee7d8);
  border-color: #b6a47b;
  box-shadow: var(--shadow);
}
.panel-title, .layer-card header {
  color: #fffdf5;
  background:
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(135deg,#5f8f6c,#3d7355);
  background-size: 16px 16px, 16px 16px, auto;
  border-bottom-color: #b59a58;
}
.panel-title span { color: #f2dfa2; }

.opportunity-toolbar {
  color: #2d4437;
  background:
    linear-gradient(rgba(70,106,81,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(70,106,81,.055) 1px, transparent 1px),
    #e7eee3;
  background-size: 18px 18px;
  border-bottom-color: #b7a677;
}
.opportunity-toolbar strong { color: #376b4e; }
.opportunity-toolbar span { color: #66746b; }
.opportunity-filters { border-color: #9eaa9d; }
.opportunity-filters button { color: #506258; background: #f7f5ec; border-color: #abb3a8; }
.opportunity-filters button.active { color: #fff; background: #4a825e; }
.opportunity-head { color: #6b716b; background: #e8e1d2; }
.opportunity-row { background: rgba(255,253,247,.94); }
.opportunity-row:hover, .opportunity-row:focus { background: #f4faef; box-shadow: inset 4px 0 0 #5b956d; }
.opportunity-market i { color: #fff8df; background: #47795a; border-color: #a78e50; }
.opportunity-score b { color: #397156; }
.opportunity-readiness > i em { background: #55906a; }
.opportunity-note { color: #6b7069; background: #eee8da; }

.filter-tab.active, .timeframe-tabs button.active { background: #4d8560; }
.market-list { background: #e4ddcc; }
.market-item { background: #fffdf7; }
.market-item.selected { background: #568a67; }
.market-item .token-icon, .market-icon { background: linear-gradient(145deg,#75957f,#4c705a); border-color: #a88e50; }
.selected-market { background: #e8e5d8; }
.crafting-grid div {
  color: #294035;
  background:
    linear-gradient(rgba(70,108,82,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(70,108,82,.07) 1px, transparent 1px),
    linear-gradient(145deg,#eff3e9,#dce7d8);
  background-size: 16px 16px, 16px 16px, auto;
  border-color: #9ba88f;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.5);
}
.crafting-grid b { color: #8b6d31; }
.crafting-grid small { color: #6b786f; }
.pixel-button { background: linear-gradient(145deg,#68a077,#437b5a); }

.chart-panel { background: linear-gradient(145deg,#fffdf8,#eee8db); }
.chart-ohlc { color: #4e6256; background: #e4eee1; border-color: #9fad9f; }
.chart-ohlc b { color: #294335; }
.chart-wrap { background: #f7f3e9; border-color: #ad9c70; box-shadow: inset 0 0 0 3px #e8e1d1, 0 14px 28px rgba(79,91,75,.13); }
.chart-loading { color: #4c5f54; background: rgba(247,243,233,.88); }
.chart-realtime-button { color: #fff; background: #568367; }
.chart-layer-controls button, .chart-insight-tabs button { color: #506056; background: #eee8da; }
.chart-layer-controls button.active, .chart-insight-tabs button.active, .chart-realtime-button.active { background: #4b815e; }
.chart-levels, .chart-insights { background: #e7dfcf; }
.chart-level-item, .chart-insight-item { background: #fffaf0; }

.score-block strong, .readiness-block strong { color: #397156; }
.score-track i { background: linear-gradient(90deg,#4d8963,#c1a45e); }
.decision-block strong { color: #8b5f31; }
.layer-card header b { color: #31533f; background: #f1d98c; }
.safe-state { color: #386849; background: #edf5e8; }
.disclaimer { color: #405148; background: #e5eadf; border-color: #ad9b70; box-shadow: 0 18px 40px rgba(76,86,72,.12); }
.disclaimer strong { color: #86682e; }
footer { color: #607067; background: #dde5d9; border-top-color: #a89667; }

@media (max-width: 900px) {
  .hero-visual { height: clamp(340px, 65vw, 520px); }
  .hero-visual img { object-position: 58% center; }
}

@media (max-width: 600px) {
  .hero-visual { height: 360px; }
  .hero-visual img { object-position: 61% center; }
  .world-stats { margin-top: -34px; }
  .opportunity-toolbar { background-color: #e7eee3; }
}

/* Opportunity board pagination and precision polish */
.section-heading {
  position: relative;
  padding-left: 18px;
}
.section-heading::before {
  content: "";
  position: absolute;
  inset: 4px auto 5px 0;
  width: 3px;
  background: linear-gradient(#b79a55 0 34%, #5b916b 34% 100%);
  box-shadow: 4px 0 0 rgba(183,154,85,.12);
}
.opportunity-panel {
  position: relative;
  box-shadow: 0 22px 52px rgba(72,83,70,.14), 0 3px 0 rgba(151,128,75,.22);
}
.opportunity-panel::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg,#4d825f 0 58%,#c4a45b 58% 76%,#e4d39d 76%);
  pointer-events: none;
}
.opportunity-filters button {
  transition: color .18s ease, background .18s ease, box-shadow .18s ease;
}
.opportunity-filters button:hover,
.opportunity-filters button:focus-visible {
  color: #315841;
  background: #edf3e9;
  outline: none;
  box-shadow: inset 0 -2px 0 #ae9352;
}
.opportunity-filters button.active:hover,
.opportunity-filters button.active:focus-visible {
  color: #fff;
  background: #3f7653;
}
.opportunity-list { background: #f3eee2; }
.opportunity-row:nth-child(even) { background: rgba(248,247,239,.98); }
.opportunity-row:hover .opportunity-market i,
.opportunity-row:focus-visible .opportunity-market i {
  background: #3f7454;
  box-shadow: 0 0 0 3px rgba(183,154,85,.16);
}
.opportunity-pagination {
  min-height: 82px;
  display: grid;
  grid-template-columns: minmax(112px,1fr) auto minmax(112px,1fr);
  align-items: center;
  gap: 18px;
  padding: 15px 18px;
  background:
    linear-gradient(rgba(75,119,88,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(75,119,88,.045) 1px, transparent 1px),
    #e9eee4;
  background-size: 18px 18px;
  border-top: 1px solid #b9aa84;
}
.opportunity-page-step,
.opportunity-page-number {
  min-height: 38px;
  color: #385544;
  background: #fffdf7;
  border: 1px solid #9eaa9d;
  box-shadow: 0 3px 0 rgba(120,102,62,.13);
  cursor: pointer;
  font-family: inherit;
  font-weight: 700;
  transition: transform .16s ease, color .16s ease, background .16s ease, box-shadow .16s ease;
}
.opportunity-page-step {
  min-width: 112px;
  padding: 8px 14px;
}
.opportunity-page-step:first-child { justify-self: start; }
.opportunity-page-step:last-child { justify-self: end; }
.opportunity-page-step:hover:not(:disabled),
.opportunity-page-number:hover:not(.active),
.opportunity-page-step:focus-visible,
.opportunity-page-number:focus-visible {
  color: #245138;
  background: #f4faef;
  border-color: #668a70;
  outline: none;
  transform: translateY(-1px);
  box-shadow: 0 4px 0 rgba(85,119,92,.18);
}
.opportunity-page-step:disabled {
  color: #9da49d;
  background: rgba(255,253,247,.58);
  border-color: #c8cdc4;
  box-shadow: none;
  cursor: not-allowed;
}
.opportunity-page-center {
  min-width: 280px;
  display: grid;
  justify-items: center;
  gap: 9px;
}
.opportunity-page-center > span {
  color: #667269;
  font-family: "Microsoft YaHei", sans-serif;
  font-size: 10px;
}
.opportunity-page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.opportunity-page-number {
  width: 36px;
  padding: 5px;
}
.opportunity-page-number.active {
  color: #fffdf5;
  background: #4b805d;
  border-color: #9f864c;
  box-shadow: inset 0 -2px 0 #315b40, 0 3px 0 rgba(120,102,62,.15);
  cursor: default;
}
.opportunity-page-ellipsis {
  min-width: 22px;
  color: #8c826d;
  text-align: center;
  font-size: 11px;
}
.opportunity-pagination.is-empty .opportunity-page-numbers { opacity: .55; }

@media (max-width: 600px) {
  .section-heading { padding-left: 13px; }
  .opportunity-pagination {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    padding: 14px;
  }
  .opportunity-page-center {
    grid-column: 1 / -1;
    grid-row: 1;
    min-width: 0;
  }
  .opportunity-page-step:first-child {
    grid-column: 1;
    grid-row: 2;
    width: 100%;
  }
  .opportunity-page-step:last-child {
    grid-column: 2;
    grid-row: 2;
    width: 100%;
  }
  .opportunity-page-number { width: 34px; }
}
