.skf-wrap .skf-app,
.skf-shortcode-wrap .skf-app {
  --skf-bg: #f6f7fb;
  --skf-card: #ffffff;
  --skf-line: #dde3ee;
  --skf-text: #172033;
  --skf-muted: #647084;
  --skf-accent: #2563eb;
  --skf-accent-dark: #1d4ed8;
  --skf-soft: #eff6ff;
  --skf-green: #0f766e;
  color: var(--skf-text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  max-width: 1180px;
  margin: 20px 0;
}
.skf-shortcode-wrap .skf-app { margin: 24px auto; }
.skf-app * { box-sizing: border-box; }
.skf-hero {
  background: linear-gradient(135deg, #0f172a, #1e3a8a 58%, #2563eb);
  color: #fff;
  border-radius: 18px;
  padding: 28px;
  margin-bottom: 18px;
  box-shadow: 0 16px 40px rgba(15, 23, 42, .16);
}
.skf-hero h2 { margin: 8px 0 6px; font-size: 30px; line-height: 1.25; color:#fff; }
.skf-hero p { margin: 0; color: rgba(255,255,255,.88); font-size: 15px; }
.skf-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  font-size: 12px !important;
  color:#fff !important;
}
.skf-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 18px; }
.skf-panel {
  background: var(--skf-card);
  border: 1px solid var(--skf-line);
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .06);
}
.skf-panel h3 { margin: 0 0 16px; font-size: 19px; color: var(--skf-text); }
.skf-panel label { display: block; font-weight: 700; margin: 14px 0 7px; }
.skf-panel label span { color: #dc2626; font-size: 12px; }
.skf-panel input,
.skf-panel textarea,
.skf-panel select {
  width: 100%;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  padding: 11px 12px;
  font-size: 15px;
  background: #fff;
  color: var(--skf-text);
}
.skf-panel textarea { resize: vertical; }
.skf-actions,
.skf-result-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.skf-app .button,
.skf-app button.button {
  min-height: 38px;
  border-radius: 10px;
  cursor: pointer;
}
.skf-app .button-primary,
.skf-app button.button-primary {
  background: var(--skf-accent);
  border-color: var(--skf-accent);
  color: #fff;
}
.skf-app .button-primary:hover { background: var(--skf-accent-dark); }
.skf-guide-panel ol { margin-left: 20px; color: var(--skf-muted); line-height: 1.8; }
.skf-mini-box {
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: 14px;
  padding: 14px;
  margin-top: 16px;
}
.skf-mini-box p { margin: 6px 0 0; color: var(--skf-muted); }
.skf-results { margin-top: 18px; }
.skf-result-head { display:flex; justify-content:space-between; gap:12px; align-items:center; flex-wrap:wrap; }
.skf-tabs { display:flex; flex-wrap:wrap; gap:8px; margin: 18px 0; border-bottom:1px solid var(--skf-line); padding-bottom:10px; }
.skf-tab {
  border: 1px solid var(--skf-line);
  background: #fff;
  border-radius: 999px;
  padding: 8px 13px;
  color: var(--skf-muted);
  font-weight: 700;
  cursor: pointer;
}
.skf-tab.is-active { background: var(--skf-accent); border-color: var(--skf-accent); color:#fff; }
.skf-tab-panel { display:none; }
.skf-tab-panel.is-active { display:block; }
.skf-card-grid { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:14px; }
.skf-card {
  border: 1px solid var(--skf-line);
  border-radius: 14px;
  padding: 14px;
  background: #fff;
}
.skf-card h4 { margin:0 0 10px; font-size: 16px; }
.skf-link-list,
.skf-keyword-list,
.skf-title-list,
.skf-outline-list,
.skf-cta-list { list-style:none; padding:0; margin:0; display:grid; gap:8px; }
.skf-link-list a {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  background: var(--skf-soft);
  color: #1d4ed8;
  border-radius: 10px;
  text-decoration:none;
  font-weight:700;
}
.skf-link-list a:hover { background:#dbeafe; }
.skf-pill-list { display:flex; flex-wrap:wrap; gap:8px; }
.skf-pill {
  display:inline-flex;
  gap:7px;
  align-items:center;
  border: 1px solid var(--skf-line);
  border-radius:999px;
  background:#f8fafc;
  padding:8px 10px;
  font-size:13px;
}
.skf-pill button,
.skf-small-copy,
.skf-small-save {
  border:0;
  background:#e0e7ff;
  color:#3730a3;
  border-radius:7px;
  padding:4px 7px;
  cursor:pointer;
  font-size:12px;
}
.skf-title-item,
.skf-outline-item,
.skf-cta-item {
  padding: 12px;
  background:#f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  line-height: 1.7;
}
.skf-title-item strong,
.skf-outline-item strong { color:#0f172a; }
.skf-intent-table { width:100%; border-collapse:collapse; margin-top: 10px; }
.skf-intent-table th,
.skf-intent-table td { border:1px solid var(--skf-line); padding:10px; vertical-align:top; }
.skf-intent-table th { background:#f8fafc; text-align:left; }
.skf-memo-form { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:12px; margin-bottom:14px; }
.skf-memo-form textarea { grid-column: 1 / -1; }
.skf-memo-actions { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:14px; }
.skf-memo-list { display:grid; gap:10px; }
.skf-memo-item { border:1px solid var(--skf-line); border-radius:14px; padding:12px; background:#f8fafc; }
.skf-memo-item strong { display:block; margin-bottom:4px; }
.skf-memo-meta { color:var(--skf-muted); font-size:12px; margin-bottom:8px; }
.skf-admin-note {
  background:#fff;
  border:1px solid #dde3ee;
  border-radius:16px;
  padding:20px;
  margin-top:18px;
}
.skf-toast {
  position: fixed;
  right: 22px;
  bottom: 22px;
  background:#111827;
  color:#fff;
  padding: 12px 14px;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,.22);
  z-index: 999999;
  font-size:14px;
}
@media (max-width: 860px) {
  .skf-grid, .skf-card-grid, .skf-memo-form { grid-template-columns:1fr; }
  .skf-result-head { align-items:flex-start; }
  .skf-hero h2 { font-size:24px; }
}
