*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#14161a;color:#e6e6e6}.app{max-width:1100px;margin:0 auto;padding:16px}header{display:flex;align-items:center;gap:12px}header h1{font-size:20px;margin:0}select.region{background:#1e2127;color:#e6e6e6;border:1px solid #3a404b;border-radius:6px;padding:5px 8px;font-size:13px}.scan{margin-left:auto;display:flex;align-items:center;gap:10px}.status{color:#8a8f98;font-size:13px}button{background:#2a2f38;color:#e6e6e6;border:1px solid #3a404b;border-radius:6px;padding:6px 14px;cursor:pointer;font-size:13px}button:hover:not(:disabled){background:#353b46}button:disabled{opacity:.5;cursor:default}nav{display:flex;gap:8px;margin:16px 0 12px}nav button.active{background:#3b6ea5;border-color:#3b6ea5}.filters{display:flex;align-items:center;gap:16px;margin-bottom:12px;font-size:13px;color:#b9bec7;flex-wrap:wrap}.filters label{display:flex;align-items:center;gap:6px}.filters input[type=number],.filters select{background:#1e2127;color:#e6e6e6;border:1px solid #3a404b;border-radius:4px;padding:4px 6px;width:90px}.filters select{width:auto}.count{margin-left:auto;color:#8a8f98}.error{color:#e5534b;font-size:13px}.table-wrap{height:calc(100vh - 190px);overflow:auto}table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px}th{text-align:left;padding:8px;border-bottom:1px solid #3a404b;color:#b9bec7;-webkit-user-select:none;user-select:none;white-space:nowrap;position:sticky;top:0;background:#14161a;z-index:1}th.sortable{cursor:pointer}th.num{text-align:right}tbody tr{height:53px}td{padding:6px 8px;border-bottom:1px solid #23272e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}td.num{text-align:right;font-variant-numeric:tabular-nums}td .item{display:flex;align-items:center;gap:8px}td .item img{width:40px;height:40px;flex-shrink:0}td .item span{overflow:hidden;text-overflow:ellipsis}td .item small,td.item small{display:block;color:#8a8f98}td.profit{color:#57ab5a;font-weight:600}td.age{color:#8a8f98}.empty{color:#8a8f98;padding:24px 0;text-align:center}tbody tr[data-index]{cursor:pointer}tbody tr[data-index]:hover td{background:#1a1e24}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10;padding:16px}.modal{background:#1a1d22;border:1px solid #3a404b;border-radius:10px;padding:16px;width:min(780px,100%);max-height:90vh;overflow-y:auto}.modal-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.modal-head img{width:44px;height:44px}.modal-head small{display:block;color:#8a8f98}.modal-head .close{margin-left:auto;padding:4px 10px}.legend{display:flex;gap:18px;font-size:12px;color:#b9bec7;margin:4px 0 2px}.legend span{display:inline-flex;align-items:center;gap:6px}.history-chart{width:100%;height:auto;display:block}.chart-readout{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:#8a8f98;min-height:20px;padding:2px 0}.chart-readout span{display:inline-flex;align-items:center;gap:6px}.chart-readout strong{font-variant-numeric:tabular-nums}.chart-readout em{font-style:normal}.history-table summary{cursor:pointer;color:#8a8f98;font-size:12px;margin-top:8px}.history-table div{max-height:240px;overflow-y:auto;margin-top:8px}.history-table table{font-size:12px}.history-table th{position:static}.route{border:1px solid #23272e;border-radius:8px;margin-bottom:8px;overflow:hidden}.route-head{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:#1a1d22;border:none;border-radius:0;padding:10px 14px;font-size:13px}.route-head:hover{background:#1e222a}.route-name{font-weight:600;min-width:200px}.route-stats{margin-left:auto;color:#8a8f98}.profit-text{color:#57ab5a}.chev{color:#8a8f98}.badge{font-size:11px;padding:1px 8px;border-radius:10px}.badge.risky{background:#e5534b26;color:#e5534b}.badge.mists{background:#9085e926;color:#9085e9}.manifest{font-size:12px}.manifest th{position:static;cursor:default}.manifest tbody tr{height:auto;cursor:pointer}.manifest tbody tr:hover td{background:#1a1e24}.manifest td.item img{width:28px;height:28px}.manifest td.item{display:flex;align-items:center;gap:8px}.sell-item{display:flex;align-items:center;gap:10px;margin:4px 0 10px}.sell-item img{width:40px;height:40px}.sell-item small{color:#8a8f98}.sell-table tbody tr{height:auto;cursor:pointer}.sell-table tbody tr:hover td{background:#1a1e24}.sell-table th{position:static;cursor:default}.sell-table tr.best td{background:#57ab5a12}.best-badge{background:#57ab5a33;color:#57ab5a;margin-left:8px}.route-note{color:#8a8f98;font-size:12px;margin-top:12px}.info-note{border:1px solid #23272e;border-radius:8px;background:#1a1d22;margin-bottom:12px;font-size:13px}.info-note summary{cursor:pointer;padding:10px 14px;color:#b9bec7;-webkit-user-select:none;user-select:none}.info-note summary:hover{color:#e6e6e6}.info-note>div{padding:0 14px 4px;color:#8a8f98;line-height:1.55}.info-note p{margin:8px 0}.info-note strong{color:#b9bec7}.craft-table{table-layout:auto;font-size:13px}.craft-table th{position:static;cursor:default}.craft-table tbody tr.row{height:auto;cursor:pointer}.craft-table tbody tr.row:hover td{background:#1a1e24}.craft-table td .item img{width:32px;height:32px}.craft-detail td{background:#16181d;padding:12px 14px;white-space:normal}.craft-detail .breakdown{display:flex;flex-wrap:wrap;gap:28px}.craft-mats{min-width:260px}.craft-mats .mat{display:flex;align-items:center;gap:8px;padding:3px 0;color:#b9bec7}.craft-mats .mat img{width:24px;height:24px}.craft-mats .mat-cost{margin-left:auto;font-variant-numeric:tabular-nums;color:#8a8f98}.craft-math{min-width:260px;color:#b9bec7}.craft-math .line{display:flex;justify-content:space-between;gap:24px;padding:2px 0;font-variant-numeric:tabular-nums}.craft-math .line.neg{color:#8a8f98}.craft-math .line.total{border-top:1px solid #3a404b;margin-top:4px;padding-top:5px;color:#e6e6e6;font-weight:600}.craft-history{margin-top:10px;padding:4px 10px;font-size:12px}footer{margin-top:12px;padding:12px 0;color:#8a8f98;font-size:12px;text-align:center}footer a{color:#b9bec7}footer p{margin:6px 0}footer .disclaimer{font-size:11px;color:#6b7079}
