:root{font-family:Inter,system-ui,sans-serif;color-scheme:dark;background:#0a0f16;color:#e7edf5}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,#152336,#080c12 55%)}header{display:flex;justify-content:space-between;align-items:center;padding:18px 4vw;border-bottom:1px solid #26364a}nav{display:flex;gap:14px;align-items:center}a{color:#8fc7ff}main{max-width:1200px;margin:24px auto;padding:0 16px}.panel{background:#101925;border:1px solid #26364a;border-radius:14px;padding:18px;margin-bottom:18px;box-shadow:0 12px 40px #0007}textarea{width:100%;min-height:360px;background:#080d14;color:#dfeaff;border:1px solid #334860;border-radius:9px;padding:14px;font:14px ui-monospace,monospace}button,select,input{background:#18283b;color:#fff;border:1px solid #3c5875;border-radius:8px;padding:10px 14px}.row{display:flex;gap:10px;margin-top:12px}.status{margin-top:12px;padding:10px;border-radius:8px}.ok{background:#103522}.bad{background:#481c22}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.card{background:#0b121c;border:1px solid #293b50;border-radius:10px;padding:12px}.value{font-size:1.6rem;font-weight:700}.hidden{display:none}pre{white-space:pre-wrap;overflow:auto}table{width:100%;border-collapse:collapse;margin-top:12px}td,th{padding:8px;border-bottom:1px solid #26364a;text-align:right}td:first-child,th:first-child{text-align:left}

.market-controls {
  display: grid;
  gap: 14px;
  margin-bottom: 16px;
}

.hub-switches,
.price-mode {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}

.hub-switches label,
.price-mode label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}

.market-table-wrap {
  overflow-x: auto;
}

.market-matrix {
  width: 100%;
  border-collapse: collapse;
  margin-top: 12px;
}

.market-matrix th,
.market-matrix td {
  padding: 9px 11px;
  border-bottom: 1px solid #2c3b4d;
  text-align: right;
  white-space: nowrap;
}

.market-matrix th:first-child,
.market-matrix td:first-child {
  text-align: left;
  white-space: normal;
  min-width: 260px;
}

.market-matrix th:nth-child(2),
.market-matrix td:nth-child(2) {
  text-align: center;
}

.market-matrix td strong {
  display: block;
}

.market-matrix td small {
  display: block;
  opacity: 0.65;
  margin-top: 2px;
}

.market-matrix tfoot th {
  font-size: 1.05rem;
  border-top: 2px solid #456078;
  border-bottom: none;
}

.fit-validation {
  margin: 14px 0;
  padding: 14px 16px;
  border: 1px solid;
  border-radius: 8px;
}

.fit-validation > strong {
  display: block;
  margin-bottom: 8px;
  font-size: 1.05rem;
}

.fit-validation-ok {
  background: rgba(25, 125, 65, 0.18);
  border-color: #277a4b;
}

.fit-validation-error {
  background: rgba(150, 45, 45, 0.16);
  border-color: #9b4545;
}

.issue-list {
  display: grid;
  gap: 9px;
  margin: 8px 0 0;
  padding-left: 20px;
}

.issue {
  padding-left: 4px;
}

.issue strong,
.issue span {
  display: block;
}

.issue span {
  margin-top: 2px;
  opacity: 0.82;
}

.card-error {
  border-color: #a34848 !important;
  background: rgba(150, 45, 45, 0.12);
}

.status-ok {
  background: #123e27 !important;
}

.status-error {
  background: #4a1d1d !important;
}

.technical-details {
  margin-top: 18px;
}

.technical-details summary {
  cursor: pointer;
  opacity: 0.75;
  margin-bottom: 10px;
}

.technical-details pre {
  max-height: 500px;
  overflow: auto;
}

.technical-details {
  display: none;
}

.card-subvalue {
  margin-top: 4px;
  font-size: 0.8rem;
  opacity: 0.7;
}

.card-error .card-subvalue {
  opacity: 1;
}

#copy-skills-ai {
  margin-left: 8px;
  white-space: nowrap;
}

#copy-skills-ai:disabled {
  opacity: 0.65;
  cursor: wait;
}
