:root{
  --bg:#07111c;--bg2:#091521;--panel:#0d1925;--panel2:#111f2d;--line:#1e3040;
  --text:#edf6ff;--muted:#8194a6;--cyan:#67e8f9;--blue:#60a5fa;--violet:#9b8cff;
  --green:#57e389;--red:#ff6b7a;--amber:#f5c451;--shadow:0 18px 60px rgba(0,0,0,.28)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(1000px 520px at 30% -10%,rgba(59,130,246,.12),transparent 60%),radial-gradient(900px 480px at 85% 5%,rgba(139,92,246,.08),transparent 60%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}.noise{position:fixed;inset:0;pointer-events:none;opacity:.022;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E")}.topbar{height:76px;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid rgba(255,255,255,.055);background:rgba(7,17,28,.84);backdrop-filter:blur(18px)}.brand-wrap{display:flex;align-items:center;gap:12px}.logo{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(135deg,var(--cyan),var(--violet));color:#06101a;font-weight:900;box-shadow:0 0 34px rgba(103,232,249,.18)}.brand{font-weight:800;letter-spacing:.2px}.subtitle{font-size:11px;color:var(--muted);margin-top:1px}.context-controls{display:flex;align-items:end;gap:10px}.context-controls label{display:flex;flex-direction:column;gap:5px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}select{height:36px;min-width:145px;border:1px solid var(--line);border-radius:9px;background:#0b1722;color:var(--text);padding:0 30px 0 11px;outline:none}.live-badge{height:36px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:#0b1722;font-size:12px}.live-badge i{width:7px;height:7px;border-radius:99px;background:var(--muted)}.live-badge.good{color:#bdfbd1;border-color:rgba(87,227,137,.25);background:rgba(87,227,137,.07)}.live-badge.good i{background:var(--green);box-shadow:0 0 14px rgba(87,227,137,.7)}.live-badge.warn{color:#ffe4a3;border-color:rgba(245,196,81,.25);background:rgba(245,196,81,.07)}.live-badge.warn i{background:var(--amber)}.shell{width:min(1480px,calc(100% - 48px));margin:0 auto;padding:58px 0 80px}.hero{display:flex;justify-content:space-between;gap:36px;align-items:end;margin-bottom:28px}.eyebrow{font-size:11px;letter-spacing:.18em;color:var(--cyan);font-weight:800}.hero h1{margin:9px 0 10px;font-size:clamp(32px,4vw,56px);line-height:1.02;letter-spacing:-.045em;max-width:790px}.hero p{max-width:760px;color:var(--muted);font-size:15px;line-height:1.7;margin:0}.freshness{font-size:12px;color:var(--muted);white-space:nowrap}.search-card{padding:16px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(17,31,45,.9),rgba(11,23,34,.9));border-radius:16px;box-shadow:var(--shadow);margin-bottom:18px}.search-box{height:58px;display:flex;align-items:center;border:1px solid #284052;background:#08131d;border-radius:12px;padding:0 16px;transition:.2s}.search-box:focus-within{border-color:rgba(103,232,249,.7);box-shadow:0 0 0 3px rgba(103,232,249,.07)}.search-box svg{width:22px;height:22px;fill:none;stroke:#7f96aa;stroke-width:1.8}.search-box input{flex:1;height:100%;border:0;background:transparent;color:var(--text);font-size:17px;outline:none;padding:0 14px}.search-box input::placeholder{color:#577083}.search-box kbd{font-family:inherit;font-size:11px;color:#70879a;border:1px solid #294052;border-bottom-color:#1e3344;background:#0f1d29;border-radius:6px;padding:4px 7px}.search-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;padding:11px 4px 0}.metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:18px 0}.metric{min-height:112px;padding:17px;border:1px solid var(--line);border-radius:14px;background:rgba(13,25,37,.85)}.metric-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.metric-value{font-size:24px;font-weight:800;letter-spacing:-.035em;margin-top:12px}.metric-note{font-size:11px;color:var(--muted);margin-top:7px}.metric-value.green{color:var(--green)}.metric-value.amber{color:var(--amber)}.metric-value.cyan{color:var(--cyan)}.tabs{display:flex;gap:6px;padding:5px;border:1px solid var(--line);background:#091521;border-radius:12px;width:max-content;margin:28px 0 16px}.tab{border:0;background:transparent;color:var(--muted);padding:9px 15px;border-radius:8px;font-weight:700;cursor:pointer}.tab.active{background:#132434;color:var(--text);box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}.tab-panel{display:none}.tab-panel.active{display:block}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin:12px 2px 14px}.panel-heading h2{margin:0;font-size:19px}.panel-heading p{margin:4px 0 0;color:var(--muted);font-size:12px}.ghost-btn{border:1px solid var(--line);background:#0d1a26;color:#b8c8d6;height:34px;padding:0 12px;border-radius:9px;cursor:pointer}.ghost-btn:hover{border-color:#355168;color:white}.item-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.item-card{display:grid;grid-template-columns:58px 1fr auto;gap:14px;align-items:center;padding:15px;border:1px solid var(--line);background:rgba(13,25,37,.82);border-radius:14px;cursor:pointer;transition:.18s}.item-card:hover{transform:translateY(-1px);border-color:#345064;background:#102030}.item-card.selected{border-color:rgba(103,232,249,.55);box-shadow:0 0 0 2px rgba(103,232,249,.05)}.item-icon{width:58px;height:58px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#122536,#0b1723);border:1px solid #203546;overflow:hidden}.item-icon img{width:100%;height:100%;object-fit:contain;image-rendering:auto}.item-icon .fallback{font-weight:800;color:#5d768a}.item-name{font-weight:780;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-sub{font-size:11px;color:var(--muted);margin-top:5px;display:flex;gap:10px;flex-wrap:wrap}.price-stack{display:flex;gap:7px;align-items:center}.price-pill{min-width:105px;padding:8px 10px;border-radius:10px;background:#0a1621;border:1px solid #203747;text-align:right}.price-pill small{display:block;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}.price-pill strong{font-size:13px}.price-pill.sell strong{color:#bde9ff}.price-pill.buy strong{color:#c9ffd8}.price-pill.spread strong{color:#f4d580}.detail-panel{margin-top:14px;border:1px solid #284354;background:#0b1823;border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.detail-head{display:flex;align-items:center;gap:15px;padding:18px 20px;border-bottom:1px solid var(--line)}.detail-head .item-icon{width:64px;height:64px}.detail-title{flex:1}.detail-title h3{margin:0;font-size:20px}.detail-title p{margin:5px 0 0;color:var(--muted);font-size:12px}.detail-close{border:1px solid var(--line);background:transparent;color:#9eb1c1;width:34px;height:34px;border-radius:9px;cursor:pointer}.enchant-strip{display:flex;gap:8px;flex-wrap:wrap;padding:13px 18px;border-bottom:1px solid var(--line);background:#091521}.ench{font-size:11px;border:1px solid #203646;border-radius:8px;padding:7px 9px;color:#a8bac8}.ench b{color:white}.offer-filters{display:flex;gap:6px;padding:12px 18px 0}.offer-filter{border:1px solid var(--line);background:#0c1a26;color:#8398aa;border-radius:8px;padding:7px 10px;font-size:11px;cursor:pointer}.offer-filter.active{color:white;border-color:#3b586b;background:#142635}.table-wrap{border:1px solid var(--line);border-radius:14px;background:rgba(13,25,37,.82);overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th{position:sticky;top:0;background:#0d1b27;color:#71889b;font-size:9px;text-transform:uppercase;letter-spacing:.09em;text-align:left;padding:11px 13px;border-bottom:1px solid var(--line)}.data-table td{font-size:12px;color:#c6d5e1;padding:11px 13px;border-bottom:1px solid rgba(30,48,64,.7)}.data-table tr:last-child td{border-bottom:0}.data-table tr:hover td{background:rgba(255,255,255,.015)}.trade-badge,.status-badge{display:inline-flex;align-items:center;border-radius:7px;padding:4px 7px;font-size:9px;font-weight:800;letter-spacing:.05em}.trade-badge.sell{background:rgba(96,165,250,.11);color:#a9d4ff}.trade-badge.buy{background:rgba(87,227,137,.1);color:#9af0b7}.trade-badge.package{background:rgba(155,140,255,.11);color:#c8beff}.status-badge.online{background:rgba(87,227,137,.1);color:#8df0ae}.status-badge.offline{background:rgba(255,107,122,.1);color:#ff9ca7}.status-badge.busy{background:rgba(245,196,81,.1);color:#f8d477}.section-label{margin:20px 2px 10px;color:#7f95a7;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.worker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.worker-card{border:1px solid var(--line);border-radius:14px;background:rgba(13,25,37,.84);padding:16px}.worker-top{display:flex;justify-content:space-between;gap:10px}.worker-name{font-weight:800}.worker-char{color:var(--muted);font-size:11px;margin-top:3px}.worker-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.mini{padding:9px;border-radius:9px;background:#091621;border:1px solid #1a2d3c}.mini span{display:block;color:#71889a;font-size:9px;text-transform:uppercase;letter-spacing:.06em}.mini b{display:block;margin-top:5px;font-size:12px}.empty{padding:36px;text-align:center;border:1px dashed #294052;border-radius:14px;color:var(--muted)}.hidden{display:none!important}.muted{color:var(--muted)}.money{font-variant-numeric:tabular-nums}.positive{color:var(--green)!important}.negative{color:var(--red)!important}.warning{color:var(--amber)!important}footer{text-align:center;color:#50687b;font-size:11px;padding:0 0 38px}
@media(max-width:1180px){.metrics{grid-template-columns:repeat(3,1fr)}.item-grid{grid-template-columns:1fr}.worker-grid{grid-template-columns:1fr}}@media(max-width:760px){.topbar{height:auto;min-height:72px;padding:14px 16px;align-items:flex-start;gap:12px}.subtitle{display:none}.context-controls{flex-wrap:wrap;justify-content:flex-end}.context-controls label span{display:none}select{min-width:108px;max-width:135px}.shell{width:min(100% - 24px,1480px);padding-top:32px}.hero{display:block}.freshness{margin-top:18px}.hero h1{font-size:36px}.metrics{grid-template-columns:repeat(2,1fr)}.metric{min-height:100px}.metric-value{font-size:20px}.item-card{grid-template-columns:50px 1fr}.item-icon{width:50px;height:50px}.price-stack{grid-column:1/-1;justify-content:stretch}.price-pill{flex:1;text-align:left;min-width:0}.tabs{width:100%;overflow:auto}.tab{flex:1;white-space:nowrap}.worker-stats{grid-template-columns:repeat(2,1fr)}.panel-heading{align-items:flex-start}.search-box input{font-size:15px}}

/* Web v1.1 — catalog, current worker cards and full order book */
.cyan-text{color:var(--cyan)!important}.worker-offline{border-color:rgba(255,107,122,.18);background:linear-gradient(180deg,rgba(35,22,29,.35),rgba(13,25,37,.84))}.worker-error{margin-top:10px;padding:8px 10px;border:1px solid rgba(255,107,122,.14);border-radius:8px;background:rgba(255,107,122,.055);color:#d78e98;font-size:10px;overflow-wrap:anywhere}.mini em{display:block;margin-top:3px;color:#60788b;font-size:9px;font-style:normal}.mini.featured{background:linear-gradient(145deg,#0a1925,#0c1b28);border-color:#243d4e}.worker-stats-rich{grid-template-columns:repeat(4,minmax(0,1fr))}.marketless{opacity:.82}.marketless:hover{opacity:1}.no-market{color:#a37f63!important}.detail-icon{flex:0 0 auto}.source-link{display:inline-block;margin-top:7px;color:#70dcea;font-size:10px;text-decoration:none}.source-link:hover{text-decoration:underline}.orderbook-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px 18px 18px}.book-panel{min-width:0;border:1px solid var(--line);border-radius:13px;background:#091621;overflow:hidden}.sell-book{box-shadow:inset 0 2px 0 rgba(96,165,250,.35)}.buy-book{box-shadow:inset 0 2px 0 rgba(87,227,137,.35)}.book-title{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line);background:#0c1a26}.book-title>div{display:flex;align-items:baseline;gap:9px}.book-title span{font-size:10px;font-weight:900;letter-spacing:.1em}.sell-book .book-title span{color:#a9d4ff}.buy-book .book-title span{color:#9af0b7}.book-title b{font-size:10px;color:var(--muted);font-weight:500}.book-title>strong{font-size:12px;color:#91a7b8}.book-scroll{max-height:430px;overflow:auto}.order-table{width:100%;border-collapse:collapse;min-width:570px}.order-table th{position:sticky;top:0;z-index:1;background:#0a1722;color:#607b8f;font-size:8px;text-transform:uppercase;letter-spacing:.08em;text-align:left;padding:9px 11px;border-bottom:1px solid var(--line)}.order-table td{font-size:11px;padding:9px 11px;border-bottom:1px solid rgba(30,48,64,.62);color:#becfdb}.order-table tr:last-child td{border-bottom:0}.order-table tr:hover td{background:rgba(255,255,255,.018)}.book-price{font-weight:800;font-variant-numeric:tabular-nums;color:#bde9ff!important}.book-empty{padding:34px 18px;color:var(--muted);text-align:center;font-size:11px}.package-book{padding:0 18px 18px}.package-title{border:1px solid var(--line);border-bottom:0;border-radius:12px 12px 0 0}.package-title span{color:#c8beff}.package-book .table-wrap{border-radius:0 0 12px 12px}.table-item{display:flex;align-items:center;gap:8px;min-width:180px}.tiny-icon{width:30px;height:30px;display:grid;place-items:center;flex:0 0 30px;border-radius:7px;overflow:hidden;background:#0b1823;border:1px solid #203546}.tiny-icon img{width:100%;height:100%;object-fit:contain}.tiny-icon .fallback{font-size:8px;color:#5d768a}.small{font-size:9px!important;margin-top:3px}.error-text{max-width:240px;overflow-wrap:anywhere}.recovery-state{display:inline-flex;border-radius:7px;padding:4px 7px;font-size:9px;font-weight:800;letter-spacing:.04em}.recovery-state.done{background:rgba(87,227,137,.1);color:#8df0ae}.recovery-state.partial{background:rgba(245,196,81,.1);color:#f8d477}.recovery-state.waiting{background:rgba(155,140,255,.1);color:#c8beff}.unsold-table{min-width:1200px}
@media(max-width:1050px){.orderbook-grid{grid-template-columns:1fr}.worker-stats-rich{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.orderbook-grid{padding:10px}.worker-stats-rich{grid-template-columns:repeat(2,minmax(0,1fr))}.book-title>div{display:block}.book-title b{display:block;margin-top:3px}}

/* v1.2 ordinary-session health */
.status-badge.degraded{background:rgba(255,107,122,.12);color:#ff9ca7;border:1px solid rgba(255,107,122,.12)}
.status-badge.duplicate{background:rgba(245,196,81,.12);color:#f8d477;border:1px solid rgba(245,196,81,.12)}
.worker-degraded{border-color:rgba(245,196,81,.32);box-shadow:inset 0 2px 0 rgba(245,196,81,.12)}
.worker-duplicate{border-color:rgba(245,196,81,.18);background:linear-gradient(180deg,rgba(38,32,18,.20),rgba(13,25,37,.84))}
.worker-warning,.session-warning{margin-top:10px;padding:10px 12px;border:1px solid rgba(245,196,81,.18);border-radius:9px;background:rgba(245,196,81,.055);color:#d8bd78;font-size:10px;line-height:1.45}
.session-warning{margin:10px 0 2px;font-size:11px}.session-warning strong{color:#f8d477}
.ordinary-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.ordinary-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

.worker-selected-note{margin-top:3px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#55748e}
/* NightFix 1.4.0: intrinsic grid sizing must not let long names overlap prices. */
.item-grid,.worker-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
.item-card {min-width:0; grid-template-columns:48px minmax(0,1fr);align-items:start;gap:10px 12px;}
.item-card > *, .item-copy,.detail-title,.worker-top > div {min-width:0;max-width:100%;}
.item-name,.detail-title h3,.worker-char,.history-table td {white-space:normal;overflow-wrap:anywhere;word-break:normal;}
.item-name {line-height:1.4;}
.item-card .price-stack {grid-column:2/-1;display:flex;flex-wrap:wrap;justify-self:stretch;justify-content:flex-end;min-width:0;max-width:100%;}
.price-pill {min-width:92px;max-width:100%;flex:0 1 auto;}
.price-pill strong {overflow-wrap:anywhere;}
.item-sub {flex-wrap:wrap;line-height:1.5;}
.market-mode {display:flex;align-items:center;gap:7px;white-space:normal;}
.market-mode input {width:auto;}
.search-meta {flex-wrap:wrap;gap:10px;}
.search-box #clearSearch {flex:0 0 auto;}
.search-box input {min-width:0;}
.history-controls {display:flex;gap:16px;flex-wrap:wrap;margin:18px 0;}
.history-controls label {display:flex;flex-direction:column;gap:7px;font-size:12px;color:#97aebb;}
.history-controls select,.history-controls input {padding:9px 12px;background:#0c1b25;border:1px solid #2d4555;border-radius:7px;color:#e4edf3;min-width:100px;max-width:100%;}
.history-controls input {width:100px;}
.source-metrics {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:12px;}
.source-card {border:1px solid #284254;border-radius:12px;padding:16px;background:#0b1924;min-width:0;}
.source-card h3 {font-size:14px;margin:0 0 8px;}
.source-values {display:flex;gap:15px;flex-wrap:wrap;margin-top:12px;}
.source-values span {font-size:11px;color:#8da8b8;display:grid;gap:7px;}
.source-values b {font-size:16px;color:#dceaf2;}
.history-table {min-width:1100px;}
.history-table td {max-width:210px;vertical-align:top;}
.history-table small {display:block;color:#8fa6b5;margin-top:5px;}
.event-payload {font:11px/1.5 monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-width:520px;margin:0;}
.history-pager {display:flex;align-items:center;justify-content:flex-end;gap:16px;margin:16px 0;}
button:disabled,select:disabled {opacity:.45;cursor:default;}
.price-history {padding:18px;border-top:1px solid #263e4f;}
.price-history canvas {display:block;width:100%;height:300px;max-width:100%;}
.chart-legend {display:flex;gap:22px;font-size:12px;}
.legend-sell {color:#65d9ef;}.legend-buy {color:#5ae899;}
#chartStatus {font-size:12px;color:#a1b9c6;margin:12px 0;}
#chartTooltip {min-height:30px;color:#bbd2df;}
#chartData {max-height:240px;overflow:auto;}
.price-history details {margin-top:10px;}
@media(max-width:800px){.item-grid,.worker-grid,.source-metrics{grid-template-columns:minmax(0,1fr);} .shell{max-width:100%;} .search-meta{align-items:flex-start;}.history-controls label{flex:1 1 120px;}}
#spreadCharacterSelect {min-width:175px;max-width:220px;}
.worker-historical {border-style:dashed;border-color:rgba(155,140,255,.34);}
@media(max-width:760px){.topbar{flex-direction:column;align-items:stretch;gap:10px}.context-controls{width:100%;justify-content:flex-start}.context-controls label{flex:1 1 105px}.context-controls select,#spreadCharacterSelect{width:100%;min-width:0;max-width:none}.live-badge{flex:0 0 auto}}
