/* 私有订阅转换前端 - 本地化样式，无外部依赖 */
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
               "Hiragino Sans GB", "Microsoft YaHei", Roboto, sans-serif;
  background: #0f1115;
  color: #e6e8ee;
  line-height: 1.55;
  min-height: 100vh;
}
.wrap {
  max-width: 880px;
  margin: 0 auto;
  padding: 32px 20px 80px;
}
h1 {
  font-size: 28px;
  margin: 0 0 4px;
  letter-spacing: 1px;
}
.sub { color: #98a0b0; margin: 0 0 24px; font-size: 14px; }

.card {
  background: #181b22;
  border: 1px solid #262a35;
  border-radius: 10px;
  padding: 20px;
  margin-bottom: 18px;
}
.card.small { padding: 14px 18px; }
.card h2 { font-size: 15px; margin: 0 0 6px; color: #cfd4e0; }
.card p, .card code { font-size: 13px; color: #c2c8d6; }
.card code {
  background: #0d0f14; padding: 1px 6px; border-radius: 4px;
  border: 1px solid #232732;
}

.label {
  display: block;
  font-size: 12px;
  color: #98a0b0;
  margin: 10px 0 4px;
  letter-spacing: .3px;
}

textarea, input[type=text], select {
  width: 100%;
  background: #0d0f14;
  color: #e6e8ee;
  border: 1px solid #2b3040;
  border-radius: 6px;
  padding: 10px 12px;
  font-size: 14px;
  font-family: inherit;
  outline: none;
  transition: border-color .15s;
}
textarea {
  font-family: ui-monospace, SFMono-Regular, "JetBrains Mono", Menlo, Consolas, monospace;
  resize: vertical;
}
textarea:focus, input:focus, select:focus { border-color: #4d6cff; }

select:disabled { color: #888; cursor: not-allowed; }

.row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 6px;
}
.row .col { min-width: 0; }
@media (max-width: 640px) {
  .row { grid-template-columns: 1fr; }
}

.adv {
  margin-top: 14px;
  border: 1px dashed #2b3040;
  border-radius: 6px;
  padding: 8px 12px;
}
.adv summary {
  cursor: pointer;
  user-select: none;
  font-size: 13px;
  color: #b0b8cc;
  outline: none;
}
.chk {
  font-size: 13px;
  color: #cfd4e0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.chk input { transform: translateY(1px); }

.actions {
  display: flex;
  gap: 10px;
  margin: 16px 0 8px;
  flex-wrap: wrap;
}
button {
  background: #4d6cff;
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 10px 16px;
  font-size: 14px;
  cursor: pointer;
  transition: background .15s, opacity .15s;
}
button:hover { background: #3d5ae0; }
button:disabled { background: #303747; cursor: not-allowed; opacity: .7; }
button#copy, button#open {
  background: transparent;
  color: #b8c0d4;
  border: 1px solid #2b3040;
}
button#copy:hover:not(:disabled),
button#open:hover:not(:disabled) {
  border-color: #4d6cff;
  color: #fff;
}

.hint {
  font-size: 12px;
  color: #6a7388;
  margin-top: 6px;
}
