:root { color-scheme: dark; font-family: "Microsoft YaHei", system-ui, sans-serif; background: #111827; color: #e5e7eb; }
.brand-heading {display:flex;align-items:center;gap:18px;}
.brand-heading img {object-fit:contain;border-radius:0;background:transparent;flex-shrink:0;width:48px;height:48px;}
.brand-slogan {margin:0;color:#8f9baa;font-size:13px;}
.brand-links {display:flex;gap:20px;margin:18px 0 8px;}
.brand-links a,.brand-copy a {color:#b9c7d5;}
.brand-copy {line-height:1.9;}
.brand-copy h2 {margin-top:28px;color:#e2e8f0;font-size:20px;}
.brand-values {display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;}
.brand-values article {padding:16px 0;border-top:1px solid #2c3644;background:transparent;}
.brand-values h3 {margin-top:0;color:#e2e8f0;font-size:16px;}
.brand-copy textarea {width:100%;min-height:120px;background:#0f172a;color:#eee;border:1px solid #475569;border-radius:8px;padding:12px;}
.message-entry {border-top:1px solid #334155;padding:14px 0;overflow-wrap:anywhere;white-space:pre-wrap;}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; background: radial-gradient(circle at top, #21344b, #111827 42rem); min-height: 100vh; }
header, main { max-width: 1040px; margin: auto; padding-left: 24px; padding-right: 24px; }
header { padding-top: 52px; padding-bottom: 22px; }
h1 { margin: 5px 0 10px; font-size: clamp(1.8rem, 4vw, 2.8rem); }
h2 { margin-top: 0; }
.eyebrow { color: #67e8f9; font-weight: 700; letter-spacing: .08em; font-size: .8rem; margin: 0; }
main { padding-bottom: 48px; display: grid; grid-template-columns: minmax(0,1fr); gap: 18px; }
.card { background: rgba(17, 24, 39, .9); border: 1px solid #334155; padding: 24px; border-radius: 14px; box-shadow: 0 10px 25px rgba(0,0,0,.2); }
.notice { border-color: #f59e0b; background: rgba(69, 39, 10, .45); }
.muted { color: #cbd5e1; }
button { border: 0; border-radius: 8px; background: #22c55e; color: #052e16; padding: 10px 15px; font-weight: 700; cursor: pointer; margin-left: 8px; }
button:disabled { background: #475569; color: #cbd5e1; cursor: not-allowed; }
input, select { background: #0f172a; color: #e5e7eb; border: 1px solid #475569; padding: 9px; border-radius: 7px; margin: 6px; }
label { display: inline-block; font-weight: 600; }
.status, .hint { color: #94a3b8; }
.info-box { white-space: pre-wrap; margin: 14px 0; padding: 12px; background: #0f172a; border-radius: 8px; color: #cbd5e1; }
.query-row, .settings { display: flex; gap: 12px; align-items: end; flex-wrap: wrap; margin-top: 16px; }
.opportunity-toolbar { display: flex; gap: 12px; align-items: end; flex-wrap: wrap; margin: 14px 0; }
.mapping-box { margin-top: 22px; padding-top: 18px; border-top: 1px solid #334155; }
.mapping-box h3 { margin: 0 0 8px; }
.setting { display: grid; gap: 3px; min-width: 190px; }
.setting small { color: #94a3b8; max-width: 245px; }
table { border-collapse: collapse; width: 100%; margin-top: 18px; font-variant-numeric: tabular-nums; }
th, td { text-align: right; padding: 9px; border-bottom: 1px solid #334155; }
th:first-child, td:first-child { text-align: left; }
.summary { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.metric { background: #0f172a; border-radius: 8px; padding: 10px; min-width: 145px; }
.metric b { display: block; color: #67e8f9; margin-top: 4px; }
.opportunity { border-top: 1px solid #475569; margin-top: 16px; padding-top: 14px; }
.opportunity h3 { margin-bottom: 8px; }
.opportunity ul { padding-left: 20px; color: #cbd5e1; }
.table-scroll { overflow: auto; max-height: 72vh; isolation: isolate; }
.opportunity-table thead th { position: sticky; top: 0; z-index: 2; background: #172234; box-shadow: inset 0 -1px #475569; }
.opportunity-table { min-width: 920px; margin-top: 6px; }
.opportunity-table th { color: #94a3b8; font-size: .82rem; white-space: nowrap; }
.opportunity-table td { vertical-align: top; line-height: 1.45; }
.opportunity-table details { min-width: 320px; text-align: left; }
.opportunity-table summary { color: #67e8f9; cursor: pointer; }
.profession-requirement { display: inline-flex; align-items: center; white-space: nowrap; }
.production-route summary { font-size: .8rem; }
.production-steps, .production-steps .muted-small { font-size: .72rem; line-height: 1.5; }
.production-steps p { margin: 8px 0; }
.money-range { display: flex; flex-direction: column; align-items: flex-end; white-space: nowrap; }
.money-range > span:not(.range-divider) { display: inline-flex; white-space: nowrap; }
.range-divider { color: #94a3b8; align-self: center; font-size: .8rem; line-height: 1; }
.opportunity-table ul { margin: 8px 0; padding-left: 18px; }
.muted-small { color: #94a3b8; font-size: .9rem; font-weight: normal; }
.coin { display: inline-flex; align-items: center; gap: 3px; margin-right: 5px; white-space: nowrap; }
.coin-icon { width: .85em; height: .85em; flex-shrink: 0; vertical-align: baseline; }
.money-inputs { display: flex; gap: 6px; }
.money-inputs > span { display: inline-flex; align-items: center; gap: 3px; }
.money-inputs input { width: 72px; margin: 6px 0; }
.advanced-panel { margin: 16px 0; }
.optional-panel { margin-top: 16px; }
.optional-settings { display: grid; grid-template-columns: repeat(auto-fit,minmax(285px,1fr)); gap: 12px; margin: 12px 0; }
.optional-group { border: 1px solid #334155; border-radius: 8px; padding: 10px; }
.optional-group .setting { min-width: 0; }
.optional-group .setting small { max-width: none; }
.optional-group > label { margin-bottom: 8px; }
.optional-group input[type=checkbox] { margin: 0 7px 0 0; }
.optional-group .list-options { display: flex; flex-wrap: wrap; gap: 8px; }
.history-cell { width: 170px; min-width: 150px; text-align: right; }
.opportunity-table .history-cell details { width: 170px; min-width: 0; max-width: 170px; text-align: inherit; }
.history-cell summary { font-size: .8rem; }
.history-cell details .muted-small { display: block; font-size: .72rem; line-height: 1.5; white-space: normal; overflow-wrap: anywhere; }
.item-icon { width: 32px; height: 32px; border-radius: 4px; vertical-align: middle; flex-shrink: 0; }
.item-icon-missing { display: inline-grid; place-items: center; background: #334155; }
.muted-small .item-icon { width: 18px; height: 18px; margin-right: 4px; }
.material-row, .product-row { display: flex; gap: 8px; align-items: center; text-align: left; margin-bottom: 8px; }
.materials-cell { min-width: 250px; }
.material-yield { margin: 0 0 8px; text-align: left; color: #67e8f9; font-size: .85rem; }
.opportunity-table thead th { cursor: help; text-decoration: underline dotted #64748b; text-underline-offset: 5px; }
.strategy-panel { padding: 14px; background: #0f172a; border-radius: 8px; }
.stockout-panel { margin: 16px 0; }
header, main { max-width: 1600px; }
.opportunity-table { min-width: 1350px; }
a { color: #67e8f9; }
code { color: #a5f3fc; }
@media (max-width: 600px) { header, main { padding-left: 16px; padding-right: 16px; } .card { padding: 18px; } button { margin: 6px 0; } }
.profession-setting { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; padding: 6px 0; }
.profession-setting input[type="number"] { width: 90px; }
.sort-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:12px 14px; margin-top:16px; border:1px solid #334155; border-radius:9px; background:#0f172a; }
.sort-toolbar select { width:clamp(210px,25vw,340px); max-width:100%; margin:0; }
.sort-directions { display:inline-flex; gap:0; border:1px solid #475569; border-radius:7px; overflow:hidden; }
.sort-directions button { background:transparent; color:#cbd5e1; margin:0; border-radius:0; padding:9px 12px; font-weight:500; }
.sort-directions button[aria-pressed="true"] { background:#155e75; color:#ecfeff; }
.sort-toolbar .hint { font-size:.8rem; flex:1; min-width:200px; }
.sort-marker { color:#67e8f9; }
.reference-price { cursor: help; text-decoration: underline dotted #64748b; text-underline-offset: 4px; }
.card, .info-box { min-width: 0; }
.table-scroll { width: 100%; max-width: 100%; }
.opportunity-table { table-layout: fixed; min-width: 1380px; }
.opportunity-table th:first-child, .opportunity-table td:first-child { width: 250px; max-width: 250px; }
.opportunity-table td:first-child .product-row { align-items: flex-start; }
.opportunity-table td:first-child b { font-size: .88rem; overflow-wrap: anywhere; }
.opportunity-table .production-route { min-width: 0; width: 100%; max-width: 232px; }
.production-steps { overflow-wrap: anywhere; white-space: normal; }
.opportunity-table th:nth-child(3) { width: 160px; }
.opportunity-table th:nth-child(8) { width: 170px; }
.opportunity-table th:last-child { width: 250px; }
.setup-grid .card { padding: 12px 14px; }
.setup-grid h2 { font-size: .95rem; margin: 0 0 6px; }
.setup-grid .hint, #mapping-status { font-size: .72rem; line-height: 1.4; }
.setup-grid input, .setup-grid select { padding: 6px; margin: 4px 0; }

.opportunity-table { min-width: 1600px; }
.opportunity-table th:nth-child(2) { width: 90px; }
.opportunity-table th:nth-child(3) { width: 170px; }
.opportunity-table th:nth-child(4), .opportunity-table th:nth-child(5) { width: 150px; }
.opportunity-table th:nth-child(6) { width: 90px; }
.opportunity-table th:nth-child(7) { width: 110px; }
.opportunity-table th:nth-child(8) { width: 180px; }
.opportunity-table th:nth-child(9) { width: 140px; }
.opportunity-table th:last-child { width: 270px; }
.setup-grid .status { margin: 6px 0 0; }
.footer-tools { font-size: .8rem; }
.footer-tools .strategy-actions { margin-top: 0; }
.setup-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.setup-grid .card { padding: 18px; }
.setup-grid h2 { font-size: 1.05rem; margin: 0 0 10px; }
.setup-grid .hint { font-size: .8rem; margin: 8px 0; }
.setup-grid select, .setup-grid input[type=file] { width: 100%; max-width: 100%; margin: 6px 0; }
.setup-grid label { width: 100%; }
.setup-grid button { margin: 6px 0 0; }
.setup-grid .info-box { font-size: .8rem; padding: 8px; margin: 8px 0; }
.strategy-panel h3 { margin: 0 0 8px; font-size: 1rem; }
.strategy-panel .settings { margin-top: 0; gap: 10px; }
.strategy-panel .setting { min-width: 170px; }
.strategy-panel #sales-route-settings { margin-top: 8px; }
.optional-panel { border: 1px solid #334155; border-radius: 8px; padding: 12px; margin-top: 10px; }
.optional-panel > summary { cursor: pointer; color: #67e8f9; font-weight: 600; }
.optional-settings { grid-template-columns: repeat(3,minmax(0,1fr)); align-items: start; gap: 8px; margin: 10px 0 0; }
.optional-group { padding: 10px; }
.optional-group .setting { font-size: .78rem; grid-template-columns: minmax(0,1fr) 75px; align-items: center; gap: 6px; margin: 2px 0; }
.optional-group .setting input, .optional-group .setting select { width: 100%; margin: 2px 0; padding: 6px; }
.optional-group > label { font-size: .86rem; display: flex; align-items: center; margin-bottom: 6px; }
.optional-group > label.setting { display: grid; }
#sales-route-settings { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
#sales-route-settings > label { margin: 0; }
#opportunity-result { white-space: normal; }
.profession-group { grid-column: 1 / -1; }
.optional-group .list-options { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 4px 12px; }
.profession-setting { gap: 4px; padding: 2px 0; }
.profession-setting label { font-size: .76rem; }
.profession-setting input[type=number] { width: 65px; padding: 5px; margin: 2px; }
.stockout-panel { margin: 0; grid-column: span 2; }
.stockout-panel .settings { margin-top: 4px; gap: 12px; }
.stockout-panel .setting { display: grid; grid-template-columns: auto 140px; }
input[type=checkbox][data-setting] { appearance: none; width: 38px; height: 22px; min-width: 38px; padding: 0; border: 1px solid #64748b; background: #475569; border-radius: 20px; position: relative; cursor: pointer; transition: background .2s, border-color .2s; margin: 0 7px 0 0; }
input[type=checkbox][data-setting]::before { content: ''; position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; background: white; border-radius: 50%; transition: transform .2s; }
input[type=checkbox][data-setting]:checked { background: #22c55e; border-color: #22c55e; }
input[type=checkbox][data-setting]:checked::before { transform: translateX(16px); }
input[type=checkbox][data-setting]:focus-visible { outline: 2px solid #67e8f9; outline-offset: 3px; }
.strategy-actions { display: flex; align-items: center; gap: 14px; margin-top: 12px; }
.resale-reference-settings,.resale-backtest-settings {padding:12px;border:1px solid #34465a;border-radius:8px;margin-top:10px;}
.resale-reference-settings h4 {margin:0 0 8px;font-size:.85rem;color:#c5d9e7;}
.resale-liquidity-settings {margin:12px 0;padding:12px;border:1px solid #34465a;border-radius:8px;min-width:0;}
.resale-liquidity-settings legend {color:#73d1e4;font-size:13px;padding:0 6px;}
.resale-settings-form .settings {gap:12px 18px;}
.resale-settings-form .settings label {font-size:12px;}
.resale-settings-form .settings input {width:115px;}
.resale-settings-form .hint {font-size:11px;margin:8px 0;}
.resale-window-setting {display:flex;flex-direction:column;align-items:flex-start;gap:3px;}
.resale-window-setting .resale-availability {margin:0 6px;color:#94a3b8;}
.resale-settings-form .settings:has(.resale-window-setting) {align-items:flex-start;}
.resale-total-cost {white-space:normal;}
.resale-table th:first-child {width:15%;}
.resale-table th:last-child {width:18%;}
.resale-table th:nth-child(5) {width:17%;}
.resale-table .item-icon {width:22px;height:22px;}
.resale-table th,.resale-table td {font-size:11px;padding:9px 6px;}
.resale-listing {display:flex;align-items:center;flex-wrap:wrap;gap:2px 4px;margin-bottom:4px;}
.resale-listing>span:last-child {color:#96adbf;}
.resale-backtest-toggle {display:flex;align-items:center;font-weight:600;font-size:.85rem;}
#resale-backtest-fields {margin-top:12px;}
#resale-backtest-fields[hidden] {display:none;}
.backtest-events th:first-child {width:28%;}
.backtest-expanded-row>td {padding:16px!important;background:#142333;border:1px solid #34465a;width:auto!important;}
.resale-validation-detail .backtest-events {width:100%;table-layout:fixed;}
.resale-validation-detail .backtest-events th,.resale-validation-detail .backtest-events td {font-size:12px;padding:9px;vertical-align:top;}
.resale-validation-detail .backtest-events th:first-child {width:32%;}
.resale-validation-detail .backtest-summary {display:flex;flex-wrap:wrap;gap:10px 24px;}
input[type=checkbox][data-key="filter_backtest_enabled"] {appearance:none;width:38px;height:22px;min-width:38px;padding:0;border:1px solid #64748b;background:#475569;border-radius:20px;position:relative;cursor:pointer;transition:background .2s;margin:0 8px 0 0;}
input[type=checkbox][data-key="filter_backtest_enabled"]::before {content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;background:white;border-radius:50%;transition:transform .2s;}
input[type=checkbox][data-key="filter_backtest_enabled"]:checked {background:#22c55e;border-color:#22c55e;}
input[type=checkbox][data-key="filter_backtest_enabled"]:checked::before {transform:translateX(16px);}
input[type=checkbox][data-key="filter_backtest_enabled"]:focus-visible {outline:2px solid #67e8f9;outline-offset:3px;}
.strategy-actions button { margin: 0; flex-shrink: 0; }
.strategy-feedback { flex: 1; padding: 10px 14px; border: 1px solid #155e75; border-radius: 8px; background: #083344; }
.strategy-feedback p { margin: 6px 0 0; font-size: .88rem; }
.update-progress { height: 5px; background: #164e63; border-radius: 6px; overflow: hidden; }
.update-progress span { display: block; width: 35%; height: 100%; background: #67e8f9; animation: strategy-progress 1.2s ease-in-out infinite; }
.strategy-feedback[data-state=success] { background: #052e16; border-color: #16a34a; color: #bbf7d0; }
.strategy-feedback[data-state=success] .update-progress span { width: 100%; animation: none; background: #22c55e; }
.strategy-feedback[data-state=error] { background: #450a0a; border-color: #ef4444; color: #fecaca; }
.strategy-feedback[data-state=error] .update-progress { display: none; }
@keyframes strategy-progress { from { transform: translateX(-100%); } to { transform: translateX(390%); } }
@media (max-width: 1050px) { .setup-grid { grid-template-columns: 1fr; } .optional-settings { grid-template-columns: repeat(2,minmax(0,1fr)); } .optional-group .list-options { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 600px) { .optional-settings { grid-template-columns: 1fr; } .stockout-panel { grid-column: auto; } .optional-group .list-options { grid-template-columns: repeat(2,minmax(0,1fr)); } .strategy-actions { align-items: stretch; flex-direction: column; } }
@media (prefers-reduced-motion: reduce) { input[type=checkbox][data-setting], input[type=checkbox][data-setting]::before { transition: none; } .update-progress span { animation: none; } }
.setup-grid .card { padding: 12px 14px; }
.setup-grid h2 { font-size: .95rem; margin: 0 0 6px; }
.setup-grid .hint, #mapping-status { font-size: .72rem; line-height: 1.4; }
.setup-grid input, .setup-grid select { padding: 6px; margin: 4px 0; }
.opportunity-table { width: 100%; min-width: 0; table-layout: fixed; }
.opportunity-table th, .opportunity-table td { padding: 7px 5px; font-size: .78rem; overflow-wrap: anywhere; }
.opportunity-table th { white-space: normal; font-size: .74rem; }
.opportunity-table th:first-child, .opportunity-table td:first-child { width: 17%; max-width: none; }
.opportunity-table th:nth-child(2) { width: 7%; }
.opportunity-table th:nth-child(3) { width: 10%; }
.opportunity-table th:nth-child(4), .opportunity-table th:nth-child(5) { width: 10%; }
.opportunity-table th:nth-child(6) { width: 6%; }
.opportunity-table th:nth-child(7) { width: 7%; }
.opportunity-table th:nth-child(8) { width: 12%; }
.opportunity-table th:nth-child(9) { width: 9%; }
.opportunity-table th:last-child { width: 12%; }
.opportunity-table .history-cell, .opportunity-table .materials-cell { min-width: 0; width: auto; }
.opportunity-table .history-cell details, .opportunity-table .production-route { width: 100%; min-width: 0; max-width: 100%; }
.opportunity-table .product-row b { font-size: .82rem; }
.opportunity-table .product-row > .item-icon { width: 25px; height: 25px; }
.opportunity-table .muted-small { font-size: .72rem; }
.opportunity-table .material-row { gap: 5px; margin-bottom: 7px; align-items: flex-start; }
.opportunity-table .material-row > .item-icon { width: 20px; height: 20px; }
.opportunity-table .material-row > div { min-width: 0; overflow-wrap: anywhere; font-size: .72rem; }
.opportunity-table .material-row .muted-small, .material-yield { font-size: .67rem; }
.opportunity-table .coin { gap: 2px; margin-right: 2px; }
.opportunity-table .money-range > span:not(.range-divider) { flex-wrap: wrap; justify-content: flex-end; white-space: normal; }
.opportunity-table .history-cell summary { font-size: .72rem; }
.opportunity-table .profession-requirement { white-space: normal; }
.table-scroll { overflow: visible; max-height: none; isolation: auto; }
.opportunity-table thead th { top: 0; }
.npc-price-label { display: inline-block; margin-left: 3px; padding: 1px 3px; border: 1px solid #a16207; border-radius: 4px; color: #fde68a; background: #422006; font-size: .6rem; }
.opportunity-table .material-details { width: 100%; min-width: 0; max-width: 100%; font-size: .67rem; text-align: left; }
.material-details summary { font-size: .67rem; }
.material-detail { margin: 6px 0; line-height: 1.5; overflow-wrap: anywhere; }
.recipe-learning { color: #94a3b8; font-size: .67rem; margin: 4px 0; overflow-wrap: anywhere; }
.item-hover, .route-hover { cursor: help; }
.route-hover { color: #67e8f9; font-size: .75rem; text-decoration: underline dotted; text-underline-offset: 3px; }
.game-tooltip { position: fixed; z-index: 100; background: rgba(5,8,18,.98); border: 1px solid #64748b; border-radius: 7px; box-shadow: 0 8px 28px #000a; padding: 12px; color: #fff; font-size: .78rem; line-height: 1.5; max-height: calc(100vh - 24px); overflow: auto; }
.tooltip-name { display: block; margin-bottom: 5px; }
.tooltip-stat { color: #1eff00; }
.game-tooltip a { display: inline-block; margin-top: 6px; font-size: .68rem; }
.game-tooltip .production-steps { font-size: .72rem; }
.material-extra { display: none; font-size: .67rem; color: #94a3b8; margin-top: 3px; }
.material-disclosure[open] + .material-list .material-extra { display: block; }
.opportunity-table .material-disclosure { min-width: 0; width: 100%; margin: 0 0 5px; text-align: left; font-size: .67rem; }
.opportunity-table th:first-child, .opportunity-table td:first-child { width: 15%; }
.opportunity-table th:last-child { width: 14%; }
[hidden] { display: none !important; }
.page-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0; border-bottom:1px solid #34465a; padding-bottom:10px; }
.page-tabs a { padding:10px 16px; border-radius:7px; text-decoration:none; color:#bfcddd; background:#192536; }
.page-tabs a[aria-current="page"] { color:#fff; background:#23566b; box-shadow:inset 0 -3px #45bfd5; }
.database-toolbar { display:flex; flex-wrap:wrap; align-items:end; gap:12px; margin:14px 0; }
.database-toolbar label { display:flex; gap:6px; flex-direction:column; }
.db-record { display:flex; width:100%; justify-content:space-between; gap:12px; text-align:left; margin:5px 0; padding:12px; }
.db-record small { font-weight:normal; }
.db-fields { display:grid; grid-template-columns:minmax(130px,1fr) minmax(0,3fr); font-size:13px; gap:0; }
.db-fields dt,.db-fields dd { margin:0; padding:8px; border-bottom:1px solid #34465a; overflow-wrap:anywhere; }
.module-settings { margin-bottom:20px; }
.module-feedback { margin-left:12px; }
@media(max-width:650px) { .db-record {flex-direction:column;} .page-tabs a {padding:8px;} }
.disenchant-table { table-layout:fixed; width:100%; font-size:12px; }
.disenchant-table th { position:sticky; top:0; z-index:2; background:#172234; color:#94a3b8; cursor:help; text-decoration:underline dotted #64748b; font-size:12px; }
.disenchant-table td { vertical-align:top; overflow-wrap:anywhere; padding:10px 7px; }
.disenchant-table th:first-child {width:15%;}
.disenchant-table th:last-child {width:42%;}
.disenchant-table small {display:block; color:#94a3b8; font-size:11px; margin-top:4px;}
.disenchant-outputs {display:flex;flex-wrap:wrap;gap:8px 12px;}
.disenchant-output {display:flex; align-items:flex-start; gap:5px; margin-bottom:0;flex:1 1 125px;}
.disenchant-output img {width:18px;height:18px;}
.disenchant-table th,.disenchant-table td {text-align:left;}
.disenchant-table .money-range {align-items:flex-start;}
.disenchant-table .range-divider {align-self:center;}
.module-settings .profit-input-group {display:flex; flex-wrap:wrap; align-items:center; gap:8px;}
.module-settings .profit-input-group input {width:65px;}
.module-settings .profit-input-group label {display:flex; align-items:center; gap:5px;}
.vendor-arbitrage-table {width:100%;table-layout:fixed;font-size:13px;}
.vendor-arbitrage-table th {position:sticky;top:0;background:#172234;color:#94a3b8;font-size:12px;cursor:help;z-index:2;}
.vendor-arbitrage-table th:first-child {width:22%;}
.vendor-arbitrage-table td {vertical-align:top;overflow-wrap:anywhere;}
.advanced-table {width:100%;table-layout:fixed;font-size:12px;}
.advanced-table th {position:sticky;top:0;background:#172234;color:#94a3b8;z-index:2;text-align:left;font-size:12px;}
.advanced-table td {vertical-align:top;text-align:left;padding:10px 7px;overflow-wrap:anywhere;}
.advanced-table th:first-child {width:19%;}
.advanced-table th:last-child {width:22%;}
.advanced-table small {display:block;color:#94a3b8;font-size:11px;margin:5px 0;}
.advanced-table .money-range {align-items:flex-start;}
.advanced-table details summary {color:#45bfd5;cursor:pointer;}
.advanced-table img {border-radius:4px;vertical-align:middle;}
.quote-table th:last-child {width:10%;}
.quote-table th:first-child {width:26%;}
.quote-item {background:transparent;border:0;display:flex;align-items:center;gap:8px;text-align:left;padding:0;color:#45bfd5;}
.quote-up {color:#fca5a5;}.quote-down {color:#86efac;}
.quote-check {flex-direction:row!important;align-items:center;}
#quote-detail {margin-top:24px;border-top:1px solid #34465a;padding-top:20px;}
.quote-detail-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;}
.quote-detail-heading h3 {display:flex;align-items:center;gap:8px;}
.quote-metrics {display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:16px 0;}
.quote-metrics>div {background:#192536;padding:12px;border-radius:7px;}
.quote-metrics small {display:block;color:#94a3b8;margin-bottom:6px;}
.quote-chart {margin:18px 0;padding:14px;background:#111d2c;border-radius:8px;}
.quote-chart small {font-size:11px;color:#94a3b8;}
.quote-chart svg {display:block;width:100%;max-height:300px;}
.quote-chart svg text {fill:#94a3b8;font-size:11px;}
.quote-chart-empty {padding:24px;color:#94a3b8;background:#111d2c;margin:16px 0;border-radius:8px;}
.item-link {display:inline-flex;align-items:center;gap:5px;color:#bfcddd;text-decoration:none;cursor:pointer;max-width:100%;font-weight:500;}
.item-link:hover {text-decoration:underline;}
.item-link:focus-visible {outline:2px solid #45bfd5;outline-offset:3px;}
.item-link .item-icon {width:22px;height:22px;flex-shrink:0;}
.material-row .item-link .item-icon,.disenchant-output .item-link .item-icon {width:18px;height:18px;}
.item-dialog {width:min(1100px,94vw);max-height:92vh;box-sizing:border-box;background:#111d2c;color:#dce5f1;border:1px solid #52657c;border-radius:12px;padding:24px;overflow:auto;}
.item-page {min-width:0;width:100%;box-sizing:border-box;}
.item-page .item-dialog-heading {position:static;background:transparent;}
.optional-settings>.resale-liquidity-settings {grid-column:1/-1;min-width:0;margin:0;}
.analysis-sort-toolbar {margin:12px 0;gap:12px;}
.analysis-sort-toolbar label {display:flex;align-items:center;gap:8px;}
.dashboard-deals-footer {display:flex;justify-content:flex-end;padding:12px 0 0;}
.item-dialog::backdrop {background:#020617bb;backdrop-filter:blur(3px);}
.item-dialog-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:-24px;background:#111d2c;z-index:5;padding:12px 0;border-bottom:1px solid #34465a;}
.item-dialog-heading h2 {display:flex;align-items:center;gap:8px;margin:0;font-size:20px;}
.item-dialog-heading>div {display:flex;gap:8px;}
.item-meta {padding:14px;background:#070f1e;margin:12px 0;border-radius:8px;line-height:1.6;font-size:13px;}
.item-meta .tooltip-name {display:none;}
.item-detail-nav {display:flex;gap:8px;flex-wrap:wrap;margin:14px 0;}
.item-section {margin:22px 0;scroll-margin-top:80px;}
.item-section summary {cursor:pointer;color:#45bfd5;}
.overview-columns {display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.overview-block {min-width:0;margin:18px 0;}
.market-overview {border-bottom:1px solid #34465a;margin-bottom:22px;padding-bottom:12px;}
.market-overview .overview-columns {gap:16px;}
.market-overview .overview-columns table {font-size:12px;}
.market-overview .overview-columns summary {color:#45bfd5;font-size:14px;cursor:pointer;padding:8px 0;}
.item-market-evidence .quote-metrics strong {font-size:16px;}
.item-market-evidence h3 {margin-top:18px;}
.backtest-summary {display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;margin:10px 0;}
.backtest-events {font-size:11px;}
@media(max-width:1000px){.overview-columns{grid-template-columns:1fr}}
.heatmap-scroll {overflow-x:auto;}
.heatmap {display:grid;grid-template-columns:38px repeat(24,minmax(30px,1fr));gap:3px;margin:14px 0;font-size:10px;}
.chart-legend {display:inline-flex;gap:8px;align-items:center;margin-left:18px;font-size:12px;color:#bdccda;}
.chart-legend i {display:inline-block;width:12px;height:8px;}
.price-key {background:#45bfd5;}
.stock-key {background:#8974d6;}
.combined-chart figcaption small {display:block;margin:6px 0;}
.item-meta {line-height:1.7;}
.heat-cell {height:20px;border-radius:3px;}
.heatmap small {text-align:center;color:#94a3b8;font-size:11px;line-height:18px;}
.item-dialog th {position:static;}
.auction-category-picker {position:relative;display:flex;flex-direction:column;gap:6px;min-width:160px;font-size:14px;}
.auction-category-picker>span {font-weight:600;}
#quote-category-trigger {background:#0b1424;border:1px solid #34465a;color:#dce6f3;text-align:left;font-weight:400;padding:8px 12px;min-height:36px;max-width:290px;margin:6px;}
.auction-category-menu {position:absolute;left:0;top:100%;z-index:80;display:flex;align-items:stretch;padding:6px;background:#111d2c;border:1px solid #40546b;border-radius:7px;box-shadow:0 12px 30px #0009;max-width:calc(100vw - 36px);overflow-x:auto;}
.auction-category-column {width:175px;flex:0 0 175px;max-height:50vh;overflow-y:auto;overflow-x:hidden;}
.auction-category-column+.auction-category-column {border-left:1px solid #34465a;}
.auction-category-menu[data-side=above] {top:auto;bottom:100%;}
.auction-category-column button {display:block;width:100%;background:transparent;color:#dce6f3;text-align:left;border:0;border-radius:3px;padding:8px 10px;font-size:13px;font-weight:400;white-space:nowrap;margin:0;}
.auction-category-column button:hover,.auction-category-column button:focus-visible,.auction-category-column button.pointed {background:#244052;color:#7ee2ed;}
.auction-category-column button.selected {color:#71e8a6;}
#request-feedback {position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(1552px,calc(100% - 48px));z-index:1200;box-shadow:0 -6px 28px #000b;border-width:2px;border-radius:8px 8px 0 0;pointer-events:none;}
.strategy-feedback[data-state=loading]:not(#request-feedback) {display:none;}
main {padding-bottom:110px;}
@media(max-width:600px){#request-feedback{width:calc(100% - 32px);}}
#request-feedback p {font-size:15px;font-weight:600;}
#request-feedback .update-progress {height:7px;}
.home-hero {display:grid;grid-template-columns:1.5fr 1fr;gap:30px;align-items:center;padding:35px 30px;margin:-12px -12px 30px;border-radius:12px;background:radial-gradient(ellipse at 85% 40%,#0b54644d,transparent 65%),linear-gradient(125deg,#102034,#0b1525);border:1px solid #295066;overflow:hidden;}
.home-kicker {font-size:11px;letter-spacing:.18em;color:#67e8f9;font-weight:700;margin:0 0 10px;}
.home-hero h2 {font-size:clamp(25px,3vw,42px);line-height:1.4;margin:0 0 16px;letter-spacing:-.04em;}
.home-hero-copy>p:not(.home-kicker) {color:#a8bbce;font-size:14px;line-height:1.9;max-width:580px;}
.home-hero-actions {display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin:24px 0;}
.home-hero-actions a {color:#bdd1df;text-decoration:none;font-size:13px;}
.home-hero-actions .home-primary {background:#67e8f9;color:#082f49;border-radius:6px;padding:12px 18px;font-weight:700;}
.home-primary span {margin-left:14px;}
.home-promises {display:flex;gap:16px;color:#7b94aa;font-size:11px;}
.home-promises span::before {content:'◆';color:#38bdf8;font-size:8px;margin-right:6px;}
.home-hero-art {position:relative;height:220px;display:grid;place-items:center;}
.orbit {position:absolute;width:220px;height:220px;border:1px solid #3ca7bc55;border-radius:50%;transform:rotate(-25deg);}
.orbit-two {width:290px;height:140px;border-color:#659ac444;transform:rotate(30deg);}
.hero-core {display:grid;place-items:center;width:90px;height:90px;border:1px solid #67e8f9;border-radius:24px;color:#a5f3fc;font-size:32px;font-weight:700;background:#103448;box-shadow:0 0 65px #06b6d444;transform:rotate(-8deg);}
.hero-node {position:absolute;padding:9px 14px;background:#142b3b;border:1px solid #365567;border-radius:6px;color:#b8d6e4;font-size:12px;}
.node-one {top:6px;left:24%;}.node-two {top:60px;right:7%;}.node-three {bottom:4px;right:28%;}.node-four {bottom:63px;left:4%;}
.market-tools {padding:12px 20px;box-shadow:none;}
.market-tools>summary {cursor:pointer;color:#b9ccdc;font-size:13px;}.market-tools>summary span {color:#71879c;margin-left:15px;font-size:11px;}
.market-tools .setup-grid {margin-top:16px;}.market-tools .card {padding:16px;border-radius:8px;box-shadow:none;}.market-tools h2 {font-size:15px;}
header {padding-top:24px;padding-bottom:16px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;}
header h1 {font-size:22px;flex:1;min-width:220px;margin:0;}header .eyebrow {width:100%;font-size:10px;}header>label {font-size:11px;color:#8fa6ba;}
.page-tabs {margin:0;}
.radar-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0;align-items:start;}
.radar-card {background:linear-gradient(135deg,#172b3a,#111d2b);border:1px solid #314c60;border-radius:9px;overflow:hidden;}
.radar-card>summary {list-style:none;cursor:pointer;padding:18px;}.radar-card>summary::-webkit-details-marker{display:none;}
.radar-card summary>span:first-child {color:#b4cedf;font-size:13px;}.radar-card strong {display:block;color:#ecf9ff;font-size:32px;margin:10px 0;}.radar-card strong small {font-size:11px;color:#7797ab;font-weight:400;}
.radar-card summary p {color:#7995aa;font-size:11px;line-height:1.7;margin:0 0 12px;}.radar-open {font-size:11px;color:#67e8f9;}
.radar-content {padding:0 12px 16px;border-top:1px solid #314c60;font-size:11px;}.radar-content .overview-block {margin:12px 0;}.radar-content h3{font-size:12px;}
.radar-content table {font-size:10px;}.radar-content th,.radar-content td {padding:5px;}.radar-content th:nth-child(4),.radar-content td:nth-child(4){display:none;}
.radar-item {display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid #243749;}.radar-item>span {white-space:nowrap;font-size:10px;color:#839db1;}
.market-observation {display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12px;color:#a4bdcf;}.radar-baseline {font-size:11px;line-height:1.8;}
.scan-summary {font-size:12px;color:#819caf;margin-top:18px;}.scan-summary summary {cursor:pointer;}.home-watch .overview-block {margin-bottom:8px;}.home-watch .hint {font-size:12px;}
.home-dashboard {margin-bottom:34px;border-bottom:1px solid #314457;padding-bottom:24px;}
.dashboard-link {font-size:12px;color:#67e8f9;text-decoration:none;}
.dashboard-settings {font-size:12px;color:#86a2b5;margin:12px 0;}.dashboard-settings summary{cursor:pointer;}.dashboard-settings input{width:95px;}
.dashboard-note {font-size:11px;line-height:1.8;}.dashboard-note a{color:#67e8f9;}
.dashboard-empty {padding:14px;background:#173448;color:#9cc7dc;border-radius:7px;font-size:12px;line-height:1.8;}
.dashboard-deals {overflow-x:auto;}.dashboard-deals table {margin-top:12px;font-size:13px;}.dashboard-deals th{font-size:11px;color:#93afc3;}.dashboard-deals td>small{display:block;color:#6f8da4;font-size:10px;margin-top:4px;}
.daily-title {margin-top:28px;}.daily-title small{font-size:11px;color:#6f8da4;font-weight:400;margin-left:12px;}
.leaderboard-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.leaderboard-card {min-width:0;background:#101e2c;border:1px solid #293d50;border-radius:9px;padding:16px;}.leaderboard-card h4{margin:0;font-size:14px;}.leaderboard-card>p{font-size:11px;color:#718fa6;margin:6px 0 12px;}.leaderboard-card table{font-size:12px;margin:0;}.leaderboard-card th{font-size:10px;color:#7a98af;}.leaderboard-card th,.leaderboard-card td{padding:7px 4px;}.leaderboard-card td:last-child{white-space:nowrap;}.leaderboard-card .item-icon{width:20px;height:20px;}.rank-number{color:#54748c;font-size:10px;margin-right:8px;}.dashboard-skeleton{padding:30px;color:#7395aa;background:linear-gradient(100deg,#102030,#19364a,#102030);border-radius:8px;}
@media(max-width:1200px){.leaderboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:750px){.leaderboard-grid{grid-template-columns:1fr;}.dashboard-link{font-size:10px;}.dashboard-deals table{font-size:11px;}}
@media(max-width:1000px){.radar-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.home-hero{grid-template-columns:1fr;}.home-hero-art{display:none;}}
@media(max-width:600px){.home-hero{padding:22px 16px;}.home-promises{gap:9px;font-size:10px;}.radar-grid{gap:8px;}.radar-card>summary{padding:12px;}.market-observation{font-size:10px;}.home-hero-actions{gap:12px;}}
@media(max-width:650px){.item-dialog{padding:12px;width:98vw;max-height:96vh}.item-dialog-heading{top:-12px}.item-dialog-heading h2{font-size:16px}.item-dialog-heading button{padding:6px}.heatmap{gap:1px;font-size:8px}}
/* Public platform: one compact market selector, no operator panels. */
.public-market-bar{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;padding:14px 20px}
.public-market-bar label{display:flex;align-items:center;gap:12px;white-space:nowrap}
.public-market-bar select{min-width:210px}
.public-market-bar p{margin:0}
.setup-grid,.footer-tools{display:none!important}
.platform-footer{max-width:1440px;margin:24px auto;padding:0 24px 40px;font-size:12px;color:#8795a9}
