:root {
  --bg: #07111f;
  --bg-2: #0b1728;
  --panel: #0f1b2e;
  --panel-2: #111f34;
  --ink: #f8fbff;
  --muted: #9eb1c8;
  --line: rgba(148, 163, 184, .22);
  --blue: #0b5cff;
  --blue-2: #2d7dff;
  --gold: #f5b421;
  --gold-2: #ffd36a;
  --white: #ffffff;
  --shadow: 0 24px 70px rgba(0,0,0,.35);
  --radius: 22px;
  --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: var(--font); background: radial-gradient(circle at 20% 0%, rgba(13,92,255,.22), transparent 32%), var(--bg); color: var(--ink); }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.site-header { position: sticky; top: 0; z-index: 50; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 18px 5vw; background: rgba(7,17,31,.82); backdrop-filter: blur(18px); border-bottom: 1px solid var(--line); }
.brand { display: flex; align-items: center; gap: 12px; min-width: 260px; }
.brand-mark { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(245,180,33,.55); border-radius: 14px; color: var(--gold); font-weight: 900; background: linear-gradient(135deg, rgba(11,92,255,.25), rgba(245,180,33,.1)); }
.brand strong { display: block; font-size: 20px; letter-spacing: .04em; }
.brand small { display: block; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.nav { display: flex; align-items: center; gap: 18px; color: #c6d3e4; font-size: 14px; }
.nav a:hover { color: var(--white); }
.nav-pill, .logout-form button { border: 1px solid rgba(45,125,255,.5); padding: 10px 14px; border-radius: 999px; background: rgba(11,92,255,.18); color: white; cursor: pointer; }
.logout-form { display: inline; margin: 0; }
.logout-form button { font: inherit; }
.mobile-nav-toggle { display: none; }
main { min-height: 70vh; }
.hero, .page-hero, .section-head, .dark-feature, .featured-report, .category-grid, .recent-feed, .report-grid, .pricing-grid, .actor-grid, .actor-profile, .report-layout, .editor-shell, .editor-composer, .empty-state, .auth-card { width: min(1180px, 90vw); margin-left: auto; margin-right: auto; }
.hybrid-hero { display: grid; grid-template-columns: 1.05fr .95fr; gap: 36px; padding: 84px 0 36px; align-items: center; }
.eyebrow { display: inline-flex; color: var(--gold); text-transform: uppercase; letter-spacing: .12em; font-size: 12px; font-weight: 800; }
h1, h2, h3 { margin: 0; line-height: 1.04; letter-spacing: -.035em; }
h1 { font-size: clamp(44px, 7vw, 82px); }
h2 { font-size: clamp(28px, 4vw, 44px); }
h3 { font-size: 28px; }
p { color: var(--muted); line-height: 1.7; }
.hero-copy h1 span { color: var(--blue-2); }
.hero-copy p { font-size: 18px; max-width: 660px; }
.actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 12px 18px; border-radius: 12px; font-weight: 800; border: 1px solid var(--line); background: rgba(255,255,255,.04); color: white; cursor: pointer; }
.btn.primary { background: linear-gradient(135deg, var(--blue), var(--blue-2)); border-color: rgba(45,125,255,.6); box-shadow: 0 12px 30px rgba(11,92,255,.3); }
.btn.gold, .gold { background: linear-gradient(135deg, var(--gold), var(--gold-2)); color: #14100a; border-color: rgba(245,180,33,.7); }
.btn.ghost { background: rgba(255,255,255,.04); }
.btn.small { min-height: 34px; padding: 9px 12px; font-size: 13px; }
.hero-visual { min-height: 420px; border-radius: var(--radius); background: linear-gradient(145deg, rgba(255,255,255,.05), rgba(11,92,255,.10)); border: 1px solid var(--line); padding: 24px; box-shadow: var(--shadow); }
.map-card { position: relative; height: 100%; min-height: 370px; overflow: hidden; border-radius: 18px; background: radial-gradient(circle at 60% 35%, rgba(245,180,33,.26), transparent 24%), radial-gradient(circle at 35% 65%, rgba(45,125,255,.35), transparent 28%), #081323; }
.map-grid, .map-mini, .card-map { position: absolute; inset: 0; opacity: .65; background-image: linear-gradient(rgba(45,125,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(45,125,255,.12) 1px, transparent 1px); background-size: 32px 32px; }
.map-glow { position: absolute; width: 18px; height: 18px; background: var(--gold); border-radius: 50%; box-shadow: 0 0 40px 12px rgba(245,180,33,.45); }
.map-glow.one { top: 26%; left: 40%; } .map-glow.two { top: 52%; left: 63%; } .map-glow.three { top: 68%; left: 34%; }
.map-card p { position: absolute; left: 24px; bottom: 20px; color: white; font-weight: 900; }
.dark-feature { display: grid; grid-template-columns: 1.3fr .7fr; gap: 20px; padding: 26px; border-radius: var(--radius); background: linear-gradient(135deg, #07111f, #0d1f36); border: 1px solid var(--line); box-shadow: var(--shadow); }
.actor-card-home { display: grid; grid-template-columns: 180px 1fr; gap: 22px; align-items: center; }
.actor-card-home img, .actor-placeholder { border-radius: 20px; background: linear-gradient(145deg, #172843, #07111f); border: 1px solid rgba(245,180,33,.4); aspect-ratio: 1 / 1; object-fit: cover; }
.actor-placeholder { display: grid; place-items: center; font-size: 38px; font-weight: 900; color: var(--gold); }
.actor-placeholder.small { width: 78px; height: 78px; font-size: 22px; }
.actor-placeholder.large { width: 260px; height: 260px; font-size: 70px; }
.trend-card { border: 1px solid var(--line); border-radius: 18px; padding: 22px; background: rgba(255,255,255,.04); }
.trend-lines { height: 120px; display: flex; align-items: end; gap: 12px; padding: 20px 0; }
.trend-lines i { display: block; width: 30px; border-radius: 999px 999px 0 0; background: linear-gradient(var(--gold), var(--blue)); }
.trend-lines i:nth-child(1){height:40px}.trend-lines i:nth-child(2){height:75px}.trend-lines i:nth-child(3){height:55px}.trend-lines i:nth-child(4){height:100px}.trend-lines i:nth-child(5){height:66px}
.section-head { padding: 64px 0 18px; }
.section-head.inline { display: flex; align-items: end; justify-content: space-between; padding-top: 0; }
.featured-report { display: grid; grid-template-columns: .95fr 1.05fr; gap: 0; overflow: hidden; border-radius: var(--radius); background: #f8fbff; color: #101827; box-shadow: var(--shadow); }
.featured-image { min-height: 320px; background: #081323; position: relative; overflow: hidden; }
.featured-image img { width: 100%; height: 100%; object-fit: cover; }
.map-mini { position: relative; height: 100%; min-height: 320px; background-color: #07111f; }
.featured-copy { padding: 34px; }
.featured-copy p, .featured-copy .tag-row span { color: #405269; }
.featured-copy a { color: var(--blue); font-weight: 900; }
.badge { display: inline-flex; align-items: center; padding: 6px 10px; border-radius: 999px; background: rgba(11,92,255,.12); color: var(--blue-2); border: 1px solid rgba(45,125,255,.28); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.tag-row { display: flex; gap: 8px; flex-wrap: wrap; margin: 16px 0; }
.tag-row span { padding: 6px 10px; border-radius: 999px; background: rgba(255,255,255,.08); border: 1px solid var(--line); color: #dbeafe; font-size: 12px; }
.category-grid, .report-grid, .pricing-grid, .actor-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.category-card, .report-card, .price-card, .actor-tile, .empty-state, .auth-card { border: 1px solid var(--line); background: rgba(255,255,255,.045); border-radius: 18px; padding: 24px; box-shadow: 0 10px 30px rgba(0,0,0,.16); }
.category-card strong { display: block; font-size: 18px; margin-bottom: 6px; }
.category-card span, .report-card a { color: var(--blue-2); font-weight: 900; }
.recent-feed { margin-top: 60px; padding: 28px; border-radius: var(--radius); background: rgba(255,255,255,.04); border: 1px solid var(--line); }
.feed-table { display: grid; gap: 10px; }
.feed-row { display: grid; grid-template-columns: 140px 1fr 140px; gap: 18px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.035); }
.feed-row span { color: var(--gold); }
.feed-row em { color: var(--muted); font-style: normal; text-align: right; }
.page-hero.compact { padding: 78px 0 28px; }
.search-bar { display: grid; grid-template-columns: 1fr 220px auto; gap: 12px; margin-top: 24px; }
input, select, textarea { width: 100%; border: 1px solid rgba(148,163,184,.35); background: rgba(255,255,255,.06); color: var(--ink); border-radius: 12px; padding: 12px 14px; font: inherit; outline: none; }
select option { color: #111827; }
textarea { resize: vertical; min-height: 120px; }
.report-card { display: grid; gap: 18px; }
.report-card img, .card-map { height: 180px; border-radius: 14px; object-fit: cover; background-color: #081323; position: relative; }
.price-card.featured { border-color: rgba(245,180,33,.65); background: linear-gradient(145deg, rgba(245,180,33,.12), rgba(255,255,255,.045)); }
.price-card h2 { color: var(--gold); margin: 12px 0; }
.price-card ul { line-height: 2; color: #d6e0ee; }
.actor-tile img { width: 100%; border-radius: 16px; aspect-ratio: 1 / 1; object-fit: cover; margin-bottom: 16px; }
.actor-profile { display: grid; grid-template-columns: 300px 1fr; gap: 34px; align-items: center; padding: 68px 0 24px; }
.actor-profile img { border-radius: var(--radius); aspect-ratio: 1 / 1; object-fit: cover; border: 1px solid rgba(245,180,33,.45); }
dl { display: grid; grid-template-columns: 140px 1fr; gap: 12px; color: var(--muted); } dt { color: var(--gold); font-weight: 900; }
.report-layout { padding: 64px 0; }
.report-header { display: grid; grid-template-columns: 1fr 220px; gap: 24px; margin-bottom: 28px; }
.back-link { color: var(--muted); display: inline-block; margin-bottom: 18px; }
.meta-row { display: flex; flex-wrap: wrap; gap: 12px; color: var(--muted); margin-top: 12px; }
.related-actor { border: 1px solid var(--line); border-radius: 18px; padding: 18px; background: rgba(255,255,255,.045); }
.related-actor img { border-radius: 14px; margin-bottom: 12px; }
.report-section, .report-figure { border: 1px solid var(--line); border-radius: 18px; padding: 26px; margin: 18px 0; background: rgba(255,255,255,.045); }
.report-section span, .step { color: var(--gold); font-weight: 900; letter-spacing: .08em; }
.report-section h2 { font-size: 28px; margin: 8px 0 12px; }
.report-section.compact { margin: 0; }
.report-split { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.report-figure img { width: 100%; border-radius: 14px; }
.report-figure figcaption { color: var(--muted); margin-top: 10px; text-align: center; }
.ioc-list { word-break: break-all; }
.code-block { overflow: auto; padding: 18px; border-radius: 14px; background: #020817; border: 1px solid rgba(45,125,255,.25); color: #c7f9ff; }
.editor-shell { display: grid; grid-template-columns: 240px 1fr; gap: 24px; padding: 48px 0; }
.editor-sidebar, .module-palette, .preview-pane { position: sticky; top: 92px; align-self: start; display: grid; gap: 10px; border: 1px solid var(--line); border-radius: 18px; padding: 18px; background: rgba(255,255,255,.045); }
.editor-sidebar a, .module-palette a { padding: 12px; border-radius: 12px; color: #cbd5e1; }
.editor-sidebar a.active, .editor-sidebar a:hover, .module-palette a:hover { background: rgba(11,92,255,.18); color: white; }
.editor-topbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 20px; }
.editor-list { display: grid; gap: 12px; }
.editor-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; border: 1px solid var(--line); border-radius: 18px; padding: 18px; background: rgba(255,255,255,.045); }
.row-actions { display: flex; gap: 10px; color: var(--blue-2); font-weight: 900; }
.editor-composer { display: grid; grid-template-columns: 220px minmax(0, 1fr) 260px; gap: 18px; padding: 42px 0; align-items: start; }
.composer-canvas { display: grid; gap: 18px; }
.sticky-actions { position: sticky; top: 82px; z-index: 30; background: rgba(7,17,31,.9); backdrop-filter: blur(18px); border: 1px solid var(--line); border-radius: 18px; padding: 16px; }
.form-card { border: 1px solid var(--line); border-radius: 18px; padding: 22px; background: rgba(255,255,255,.055); }
.form-card h2 { font-size: 28px; margin: 6px 0 16px; }
.form-card label { display: grid; gap: 8px; color: #d7e4f5; font-weight: 800; margin-bottom: 14px; }
.form-grid.two { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.upload-box { border: 1px dashed rgba(45,125,255,.6); border-radius: 18px; padding: 20px; text-align: center; background: rgba(11,92,255,.08); margin-bottom: 14px; }
.upload-box img { max-height: 220px; margin: 14px auto; border-radius: 12px; }
.preview-card { border: 1px solid var(--line); border-radius: 16px; background: #f8fbff; color: #111827; padding: 18px; }
.preview-card p { color: #405269; }
.hint { font-size: 13px; }
.publish-check { display: inline-flex; align-items: center; gap: 8px; color: #dbeafe; }
.messages { width: min(1180px, 90vw); margin: 18px auto 0; }
.message { padding: 12px 16px; border-radius: 12px; background: rgba(34,197,94,.14); border: 1px solid rgba(34,197,94,.35); color: #d8ffe7; }
.message.error { background: rgba(239,68,68,.15); border-color: rgba(239,68,68,.35); color: #ffe4e4; }
.auth-card { max-width: 460px; margin-top: 80px; }
.form-stack p { display: grid; gap: 8px; }
.site-footer { margin-top: 80px; padding: 30px 5vw; border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 20px; color: var(--muted); }
.footer-links { display: flex; gap: 18px; }
@media (max-width: 980px) {
  .hybrid-hero, .dark-feature, .featured-report, .report-header, .report-split, .actor-profile, .editor-shell, .editor-composer { grid-template-columns: 1fr; }
  .category-grid, .report-grid, .pricing-grid, .actor-grid { grid-template-columns: 1fr 1fr; }
  .preview-pane, .module-palette, .editor-sidebar { position: static; }
  .nav { display: none; position: absolute; top: 78px; left: 5vw; right: 5vw; padding: 18px; border-radius: 18px; background: #07111f; border: 1px solid var(--line); flex-direction: column; align-items: flex-start; }
  .nav.open { display: flex; }
  .mobile-nav-toggle { display: inline-flex; }
}
@media (max-width: 680px) {
  .category-grid, .report-grid, .pricing-grid, .actor-grid, .search-bar, .form-grid.two, .feed-row { grid-template-columns: 1fr; }
  .site-header, .site-footer { flex-direction: column; align-items: flex-start; }
  h1 { font-size: 42px; }
}

/* v0.2: tema claro/oscuro con variables persistentes */
html[data-theme="light"] {
  --bg: #f5f8ff;
  --bg-2: #eaf0fb;
  --panel: #ffffff;
  --panel-2: #f8fbff;
  --ink: #0b1220;
  --muted: #4d617a;
  --line: rgba(15, 23, 42, .12);
  --shadow: 0 24px 70px rgba(15, 23, 42, .12);
}
html[data-theme="light"] body {
  background: radial-gradient(circle at 20% 0%, rgba(13,92,255,.12), transparent 32%), var(--bg);
}
html[data-theme="light"] .site-header {
  background: rgba(255,255,255,.86);
  box-shadow: 0 10px 28px rgba(15,23,42,.06);
}
html[data-theme="light"] .nav { color: #314156; }
html[data-theme="light"] .nav a:hover { color: #0b1220; }
html[data-theme="light"] .nav-pill,
html[data-theme="light"] .logout-form button,
html[data-theme="light"] .btn { color: #0b1220; background: rgba(11,92,255,.08); }
html[data-theme="light"] .btn.primary { color: white; }
html[data-theme="light"] .dark-feature,
html[data-theme="light"] .report-layout .report-section,
html[data-theme="light"] .report-figure,
html[data-theme="light"] .recent-feed,
html[data-theme="light"] .editor-sidebar,
html[data-theme="light"] .module-palette,
html[data-theme="light"] .preview-pane,
html[data-theme="light"] .form-card,
html[data-theme="light"] .editor-row,
html[data-theme="light"] .sticky-actions,
html[data-theme="light"] .related-actor,
html[data-theme="light"] .category-card,
html[data-theme="light"] .report-card,
html[data-theme="light"] .price-card,
html[data-theme="light"] .actor-tile,
html[data-theme="light"] .empty-state,
html[data-theme="light"] .auth-card {
  background: rgba(255,255,255,.86);
  color: var(--ink);
}
html[data-theme="light"] .dark-feature { background: linear-gradient(135deg, #ffffff, #eef5ff); }
html[data-theme="light"] .dark-feature p,
html[data-theme="light"] .form-card label,
html[data-theme="light"] .publish-check,
html[data-theme="light"] .editor-sidebar a,
html[data-theme="light"] .module-palette a { color: #405269; }
html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] textarea {
  color: #0b1220;
  background: #ffffff;
  border-color: rgba(15,23,42,.16);
}
html[data-theme="light"] .sticky-actions { background: rgba(255,255,255,.92); }
html[data-theme="light"] .message { color: #14532d; }
html[data-theme="light"] .message.error { color: #7f1d1d; }
html[data-theme="light"] .price-card ul { color: #405269; }
html[data-theme="light"] .tag-row span { color: #1f2a3a; background: rgba(11,92,255,.08); }
html[data-theme="light"] .code-block { background: #081323; color: #c7f9ff; }

.theme-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 9px 12px;
  background: rgba(255,255,255,.06);
  color: var(--ink);
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}
.theme-toggle span {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--blue), var(--gold));
  color: white;
}
.lang-switch {
  display: inline-flex;
  gap: 6px;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 4px;
  background: rgba(255,255,255,.06);
}
.lang-switch a,
.lang-switch span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 34px;
  border-radius: 999px;
  color: var(--muted);
  font-weight: 900;
  font-size: 13px;
}
.lang-switch .active {
  color: white;
  background: linear-gradient(135deg, var(--blue), var(--blue-2));
}
.lang-switch .disabled {
  opacity: .42;
  cursor: not-allowed;
}
.report-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 14px;
}
.language-tabs {
  display: flex;
  gap: 8px;
  margin: 12px 0 18px;
  border-bottom: 1px solid var(--line);
}
.language-tabs a {
  padding: 10px 14px;
  border-radius: 12px 12px 0 0;
  font-weight: 900;
  color: var(--muted);
}
.language-tabs a.active {
  color: var(--ink);
  background: rgba(11,92,255,.16);
  border: 1px solid var(--line);
  border-bottom-color: transparent;
}
.form-card .language-note {
  margin-top: -8px;
  font-size: 13px;
  color: var(--muted);
}

/* v0.3 editor, MITRE map, analytics */
.editor-shell {
  width: min(1480px, 94vw);
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr) 270px;
  gap: 18px;
  padding: 28px 0 50px;
}
.editor-side {
  position: sticky;
  top: 92px;
  align-self: start;
  display: grid;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 18px;
  background: rgba(255,255,255,.045);
}
.editor-side a { padding: 10px 12px; border-radius: 12px; color: #cbd5e1; }
.editor-side a:hover { background: rgba(11,92,255,.18); color: white; }
.editor-main { display: grid; gap: 18px; }
.editor-actions-bar {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255,255,255,.055);
  padding: 18px;
}
.editor-actions-bar h1 { font-size: clamp(38px, 5vw, 64px); }
.compact-actions { margin: 0; align-items: center; }
.editor-help, .language-note { color: var(--muted); border-left: 3px solid var(--gold); padding-left: 12px; }
.open-large-editor {
  justify-self: start;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 8px 10px;
  background: rgba(11,92,255,.18);
  color: var(--ink);
  cursor: pointer;
  font-weight: 800;
}
.current-img { max-height: 150px; border-radius: 12px; margin-top: 10px; }
.rich-field { min-height: 180px; line-height: 1.65; }
.rich-field.mono, .mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.preview-pane.improved { position: sticky; top: 92px; }
.editor-modal[hidden] { display: none; }
.editor-modal {
  position: fixed;
  inset: 0;
  z-index: 200;
  background: rgba(2, 6, 23, .74);
  display: grid;
  place-items: center;
  padding: 22px;
}
.editor-modal-panel {
  width: min(1040px, 96vw);
  max-height: 92vh;
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--panel);
  box-shadow: var(--shadow);
  overflow: hidden;
}
.editor-modal-head, .editor-modal-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--line);
}
.editor-modal-foot { border-top: 1px solid var(--line); border-bottom: 0; color: var(--muted); }
.editor-modal-head button {
  border: 1px solid var(--line);
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  color: var(--ink);
  cursor: pointer;
  font-size: 24px;
}
.format-toolbar { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 18px; border-bottom: 1px solid var(--line); }
.format-toolbar button {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 8px 10px;
  background: rgba(255,255,255,.06);
  color: var(--ink);
  cursor: pointer;
  font-weight: 800;
}
#largeEditorArea {
  border: 0;
  border-radius: 0;
  min-height: 55vh;
  background: rgba(255,255,255,.035);
  font-size: 16px;
  line-height: 1.7;
}
.report-body { color: var(--muted); line-height: 1.8; text-align: justify; }
.report-body h2, .report-body h3, .report-body h4 { color: var(--ink); margin: 22px 0 10px; }
.report-body h2 { font-size: 28px; }
.report-body h3 { font-size: 22px; }
.report-body p { text-align: justify; }
.report-body code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; background: rgba(11,92,255,.14); padding: 2px 6px; border-radius: 6px; }
.report-body pre { background: #020817; color: #c7f9ff; padding: 18px; border-radius: 14px; overflow: auto; }
.section-figure { margin: 22px 0 0; border: 1px solid var(--line); border-radius: 16px; padding: 12px; background: rgba(255,255,255,.04); }
.section-figure img { width: 100%; border-radius: 12px; }
.section-figure figcaption { color: var(--muted); text-align: center; margin-top: 10px; }
.hero-figure { margin-bottom: 22px; }
.mitre-table-wrap { overflow-x: auto; }
.mitre-table { width: 100%; border-collapse: collapse; overflow: hidden; border-radius: 14px; }
.mitre-table th, .mitre-table td { padding: 12px 14px; border-bottom: 1px solid var(--line); vertical-align: top; }
.mitre-table th { color: var(--gold); text-align: left; background: rgba(255,255,255,.04); }
.attack-map {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}
.attack-cell {
  min-height: 110px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(45,125,255,.35);
  background: linear-gradient(145deg, rgba(11,92,255,.12), rgba(245,180,33,.06));
  color: var(--ink);
  cursor: pointer;
  text-align: left;
}
.attack-cell strong { display: block; color: var(--gold); margin-bottom: 8px; }
.attack-cell span { color: var(--blue-2); font-weight: 900; }
.attack-cell.active { outline: 2px solid var(--gold); box-shadow: 0 0 34px rgba(245,180,33,.2); }
.attack-detail { margin-top: 14px; border: 1px solid var(--line); border-radius: 16px; padding: 16px; background: rgba(255,255,255,.04); }
.stats-grid { width: min(1180px, 90vw); margin: 0 auto 22px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.stat-card { border: 1px solid var(--line); border-radius: 18px; padding: 20px; background: rgba(255,255,255,.055); }
.stat-card span { color: var(--muted); display: block; margin-bottom: 8px; }
.stat-card strong { font-size: 34px; color: var(--gold); }
.report-split.wide { width: min(1180px, 90vw); margin: 0 auto 18px; }
html[data-theme="light"] .editor-side,
html[data-theme="light"] .editor-actions-bar,
html[data-theme="light"] .stat-card,
html[data-theme="light"] .attack-detail,
html[data-theme="light"] .section-figure { background: rgba(255,255,255,.86); }
html[data-theme="light"] .editor-side a { color: #405269; }
html[data-theme="light"] .open-large-editor,
html[data-theme="light"] .format-toolbar button,
html[data-theme="light"] .editor-modal-head button { color: #0b1220; }
@media (max-width: 1100px) {
  .editor-shell { grid-template-columns: 1fr; }
  .editor-side, .preview-pane.improved { position: static; }
  .stats-grid { grid-template-columns: 1fr; }
}

/* v0.3.1 - Obsidian Sentinel visual system
   Palette recommended for CTI: obsidian black, deep navy, electric blue, threat gold.
   Red is reserved for severity and alerts, not for the whole brand. */
:root {
  --bg: #020611;
  --bg-2: #041227;
  --panel: rgba(7, 23, 48, .86);
  --panel-2: rgba(10, 34, 70, .82);
  --ink: #f7fbff;
  --muted: #9cb4d4;
  --line: rgba(101, 151, 214, .24);
  --blue: #1f6fff;
  --blue-2: #00c8ff;
  --gold: #f6c44f;
  --gold-2: #ffe3a3;
  --red: #ff3b57;
  --green: #2ee59d;
  --shadow: 0 30px 90px rgba(0, 8, 24, .58);
  --radius: 24px;
}
body {
  background:
    radial-gradient(circle at 12% 6%, rgba(0, 200, 255, .18), transparent 28%),
    radial-gradient(circle at 82% 10%, rgba(246, 196, 79, .12), transparent 26%),
    radial-gradient(circle at 50% 95%, rgba(31, 111, 255, .16), transparent 34%),
    linear-gradient(180deg, #020611 0%, #041126 48%, #020611 100%);
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background-image:
    linear-gradient(rgba(0, 200, 255, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 200, 255, .045) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.76), transparent 88%);
}
.site-header {
  background: rgba(2, 6, 17, .86);
  border-bottom: 1px solid rgba(0, 200, 255, .18);
  box-shadow: 0 16px 50px rgba(0, 0, 0, .28);
}
.brand-mark {
  border-color: rgba(246, 196, 79, .78);
  background:
    radial-gradient(circle at 30% 20%, rgba(246,196,79,.32), transparent 36%),
    linear-gradient(145deg, rgba(31,111,255,.32), rgba(2,6,17,.92));
  box-shadow: 0 0 0 4px rgba(246,196,79,.04), 0 0 38px rgba(31,111,255,.24);
}
.brand strong { letter-spacing: .11em; }
.nav { color: #c9d8ec; }
.nav a { position: relative; }
.nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -9px;
  height: 2px;
  background: linear-gradient(90deg, var(--gold), var(--blue-2));
  transition: right .18s ease;
}
.nav a:hover::after { right: 0; }
.theme-toggle, .nav-pill, .logout-form button {
  border-color: rgba(0, 200, 255, .34);
  background: linear-gradient(145deg, rgba(31,111,255,.18), rgba(255,255,255,.035));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}
.btn.primary {
  background: linear-gradient(135deg, #164dff 0%, #00c8ff 100%);
  box-shadow: 0 18px 38px rgba(31,111,255,.32), inset 0 1px 0 rgba(255,255,255,.22);
}
.btn.gold, .gold {
  background: linear-gradient(135deg, #f1a915 0%, #ffe3a3 100%);
  color: #120d03;
  box-shadow: 0 18px 38px rgba(246,196,79,.20), inset 0 1px 0 rgba(255,255,255,.35);
}
.hero-visual, .dark-feature, .recent-feed, .category-card, .report-card, .price-card, .actor-tile, .empty-state, .auth-card,
.report-section, .report-figure, .related-actor, .editor-side, .module-palette, .preview-pane, .form-card, .editor-row, .sticky-actions,
.analytics-card, .chart-card, .metric-card {
  background:
    linear-gradient(145deg, rgba(9, 29, 62, .86), rgba(3, 10, 24, .92));
  border: 1px solid rgba(101, 151, 214, .22);
  box-shadow: 0 26px 72px rgba(0, 0, 0, .32), inset 0 1px 0 rgba(255,255,255,.045);
}
.hero-visual, .featured-report, .dark-feature, .report-section, .form-card { position: relative; overflow: hidden; }
.hero-visual::after, .dark-feature::after, .report-section::after, .form-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(0,200,255,.10), transparent 24%, transparent 70%, rgba(246,196,79,.08));
}
.map-card, .featured-image, .map-mini, .card-map {
  background-color: #020a18;
}
.map-card {
  border: 1px solid rgba(0,200,255,.18);
  background:
    radial-gradient(circle at 42% 36%, rgba(0,200,255,.28), transparent 18%),
    radial-gradient(circle at 68% 60%, rgba(246,196,79,.22), transparent 18%),
    linear-gradient(135deg, #020a18, #08244b 52%, #020611);
}
.map-grid, .map-mini, .card-map {
  background-image:
    linear-gradient(rgba(0,200,255,.13) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,200,255,.13) 1px, transparent 1px),
    radial-gradient(circle, rgba(246,196,79,.38) 1px, transparent 2px);
  background-size: 34px 34px, 34px 34px, 92px 92px;
}
.actor-placeholder, .actor-card-home img {
  background:
    radial-gradient(circle at 40% 20%, rgba(246,196,79,.32), transparent 24%),
    linear-gradient(145deg, #071a39, #020611 70%);
  border: 1px solid rgba(246,196,79,.48);
  box-shadow: inset 0 0 44px rgba(0,200,255,.10), 0 20px 48px rgba(0,0,0,.34);
}
.actor-placeholder::before {
  content: "";
  position: absolute;
}
.featured-report {
  background: linear-gradient(145deg, rgba(245,249,255,.96), rgba(223,235,255,.94));
  border: 1px solid rgba(0,200,255,.14);
}
.featured-copy h3 { color: #06101f; }
.badge, .lang-switch .active {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 10px 24px rgba(31,111,255,.18);
}
.badge {
  color: #92dfff;
  background: rgba(31,111,255,.16);
  border-color: rgba(0,200,255,.28);
}
.eyebrow {
  color: var(--gold);
  text-shadow: 0 0 18px rgba(246,196,79,.18);
}
h1 span, .hero-copy h1 span, .category-card span, .report-card a { color: #38d6ff; }
input, select, textarea {
  background: rgba(1, 8, 20, .58);
  border-color: rgba(101,151,214,.26);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045);
}
input:focus, select:focus, textarea:focus {
  border-color: rgba(0,200,255,.72);
  box-shadow: 0 0 0 3px rgba(0,200,255,.12);
}
.code-block, pre, code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}
.code-block {
  background: linear-gradient(145deg, #01050d, #03162d);
  border-color: rgba(0,200,255,.28);
  color: #b9f5ff;
}
.attack-cell.active, .attack-cell:hover {
  background: linear-gradient(135deg, rgba(31,111,255,.28), rgba(246,196,79,.20));
  border-color: rgba(246,196,79,.62);
  box-shadow: 0 0 26px rgba(31,111,255,.18);
}
.message {
  background: rgba(46,229,157,.12);
  border-color: rgba(46,229,157,.34);
}
.message.error {
  background: rgba(255,59,87,.12);
  border-color: rgba(255,59,87,.34);
}
html[data-theme="light"] {
  --bg: #eef5ff;
  --bg-2: #dfeaff;
  --panel: #ffffff;
  --panel-2: #f7fbff;
  --ink: #07111f;
  --muted: #4e617c;
  --line: rgba(15, 36, 68, .14);
  --blue: #1f6fff;
  --blue-2: #0077ff;
  --gold: #ba7a00;
  --gold-2: #f1b83a;
  --shadow: 0 24px 70px rgba(9, 29, 62, .12);
}
html[data-theme="light"] body {
  background:
    radial-gradient(circle at 10% 0%, rgba(31,111,255,.13), transparent 30%),
    radial-gradient(circle at 80% 0%, rgba(246,196,79,.16), transparent 28%),
    #eef5ff;
}
html[data-theme="light"] body::before { opacity: .22; }
html[data-theme="light"] .site-header { background: rgba(247,251,255,.88); }
html[data-theme="light"] .hero-visual,
html[data-theme="light"] .dark-feature,
html[data-theme="light"] .recent-feed,
html[data-theme="light"] .category-card,
html[data-theme="light"] .report-card,
html[data-theme="light"] .price-card,
html[data-theme="light"] .actor-tile,
html[data-theme="light"] .empty-state,
html[data-theme="light"] .auth-card,
html[data-theme="light"] .report-section,
html[data-theme="light"] .report-figure,
html[data-theme="light"] .related-actor,
html[data-theme="light"] .editor-side,
html[data-theme="light"] .module-palette,
html[data-theme="light"] .preview-pane,
html[data-theme="light"] .form-card,
html[data-theme="light"] .editor-row,
html[data-theme="light"] .sticky-actions {
  background: rgba(255,255,255,.88);
  color: var(--ink);
}
html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] textarea {
  background: #ffffff;
  color: #07111f;
}
html[data-theme="light"] .featured-report { background: #ffffff; }
html[data-theme="light"] .badge { color: #075985; background: rgba(0,119,255,.10); }

/* v0.3.2 Obsidian Sentinel visual upgrade */
:root {
  --obsidian: #020611;
  --void: #050a16;
  --navy-950: #07101f;
  --navy-900: #091a33;
  --navy-800: #0d2447;
  --electric: #1f6fff;
  --telemetry: #00c8ff;
  --gold: #f6c44f;
  --gold-2: #ffd77a;
  --danger: #ff3b57;
  --ink: #f8fbff;
  --muted: #a9b8d3;
  --line: rgba(157, 184, 226, .18);
  --panel: rgba(10, 27, 55, .82);
  --panel-2: rgba(7, 17, 35, .92);
}
html[data-theme="light"] {
  --obsidian: #f4f8ff;
  --void: #ffffff;
  --navy-950: #edf4ff;
  --navy-900: #ffffff;
  --navy-800: #dbeafe;
  --ink: #07101f;
  --muted: #3c506d;
  --line: rgba(15, 30, 55, .16);
  --panel: rgba(255,255,255,.94);
  --panel-2: rgba(245,248,255,.96);
}
body {
  background:
    radial-gradient(circle at 12% 0%, rgba(31,111,255,.26), transparent 30%),
    radial-gradient(circle at 86% 18%, rgba(246,196,79,.12), transparent 26%),
    linear-gradient(145deg, var(--obsidian), var(--void) 48%, #020814);
  background-attachment: fixed;
}
body.home-design-redteam {
  background:
    radial-gradient(circle at 76% 10%, rgba(255,59,87,.18), transparent 24%),
    radial-gradient(circle at 16% 0%, rgba(31,111,255,.22), transparent 30%),
    #020611;
}
.site-header { padding: 14px 4vw; background: rgba(2,6,17,.86); border-bottom: 1px solid rgba(31,111,255,.24); box-shadow: 0 16px 40px rgba(0,0,0,.28); }
html[data-theme="light"] .site-header { background: rgba(255,255,255,.86); }
.nav { gap: 14px; }
.nav-search { display: flex; align-items: center; gap: 6px; min-width: 260px; padding: 5px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.045); }
.nav-search input { border: 0; background: transparent; padding: 7px 9px; min-width: 190px; }
.nav-search button, .lang-toggle, .theme-toggle { border: 1px solid var(--line); background: rgba(255,255,255,.06); color: var(--ink); border-radius: 999px; padding: 9px 12px; font-weight: 900; cursor: pointer; }
.lang-toggle { color: var(--gold); }
.hero-command { grid-template-columns: 1.05fr .95fr; padding-top: 74px; }
.hero-copy h1 { max-width: 860px; font-weight: 950; text-shadow: 0 10px 40px rgba(31,111,255,.18); }
.hero-copy h1 span { background: linear-gradient(90deg, #fff, var(--telemetry), var(--gold)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero-search { margin-top: 28px; display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 8px; padding: 8px; border-radius: 18px; background: rgba(255,255,255,.07); border: 1px solid rgba(31,111,255,.28); box-shadow: 0 18px 60px rgba(0,0,0,.28); max-width: 760px; }
.hero-search span { display: grid; place-items: center; color: var(--gold); font-size: 22px; }
.hero-search input { border: 0; background: transparent; font-size: 16px; }
.threat-orb { position: relative; min-height: 470px; overflow: hidden; background: radial-gradient(circle at center, rgba(31,111,255,.22), transparent 34%), linear-gradient(145deg, rgba(9,26,51,.95), rgba(2,6,17,.95)); }
.intel-radar { position: absolute; inset: 38px; border-radius: 50%; border: 1px solid rgba(0,200,255,.18); display: grid; place-items: center; background: radial-gradient(circle, rgba(0,200,255,.12), transparent 55%); }
.intel-radar i { position: absolute; inset: calc(var(--i, 0) * 12%); border-radius: 50%; border: 1px solid rgba(31,111,255,.2); }
.intel-radar i:nth-child(1){--i:0}.intel-radar i:nth-child(2){--i:1}.intel-radar i:nth-child(3){--i:2}.intel-radar i:nth-child(4){--i:3}
.intel-radar strong { color: var(--gold); letter-spacing: .16em; font-weight: 950; }
.node { position: absolute; width: 14px; height: 14px; border-radius: 50%; background: var(--telemetry); box-shadow: 0 0 28px var(--telemetry); }
.n1{left:18%;top:36%}.n2{right:21%;top:26%;background:var(--gold);box-shadow:0 0 28px var(--gold)}.n3{right:28%;bottom:22%;background:var(--danger);box-shadow:0 0 28px var(--danger)}.n4{left:30%;bottom:28%}
.hero-stat { position: absolute; left: 26px; bottom: 26px; padding: 14px 18px; border: 1px solid var(--line); border-radius: 16px; background: rgba(2,6,17,.72); backdrop-filter: blur(12px); }
.hero-stat.second { left: auto; right: 26px; top: 26px; bottom: auto; }
.hero-stat b { display: block; color: var(--gold); font-size: 22px; } .hero-stat span { color: var(--muted); font-size: 12px; }
.design-preview-panel { width: min(1180px, 90vw); margin: 28px auto 0; display: grid; grid-template-columns: 1fr auto auto; gap: 20px; align-items: center; padding: 22px; border-radius: 22px; border: 1px solid rgba(246,196,79,.28); background: linear-gradient(135deg, rgba(246,196,79,.08), rgba(31,111,255,.08)); }
.design-preview-panel p { margin: 6px 0 0; }
.design-chips { display: flex; flex-wrap: wrap; gap: 8px; } .design-chips span { border: 1px solid var(--line); border-radius: 999px; padding: 8px 10px; color: var(--muted); } .design-chips .active { color: #15100a; background: var(--gold); }
.command-strip { background: linear-gradient(135deg, rgba(2,6,17,.98), rgba(7,23,48,.96)); border-color: rgba(31,111,255,.24); }
.severity-card { position: relative; overflow: hidden; }
.pulse-lines { height: 120px; display: flex; align-items: end; gap: 10px; }
.pulse-lines i { flex: 1; min-width: 18px; border-radius: 12px 12px 0 0; background: linear-gradient(var(--danger), var(--gold), var(--electric)); box-shadow: 0 0 24px rgba(31,111,255,.28); }
.pulse-lines i:nth-child(1){height:36px}.pulse-lines i:nth-child(2){height:72px}.pulse-lines i:nth-child(3){height:52px}.pulse-lines i:nth-child(4){height:110px}.pulse-lines i:nth-child(5){height:82px}
.premium-featured { background: linear-gradient(135deg, rgba(255,255,255,.95), rgba(236,244,255,.9)); }
html[data-theme="dark"] .premium-featured { background: linear-gradient(135deg, rgba(12,31,61,.98), rgba(3,10,24,.98)); color: var(--ink); border: 1px solid var(--line); }
html[data-theme="dark"] .featured-copy p { color: var(--muted); }
.search-results-grid { width: min(1180px, 90vw); margin: 0 auto 80px; display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.result-column { padding: 22px; border: 1px solid var(--line); border-radius: 22px; background: rgba(255,255,255,.045); }
.result-card { display: block; padding: 14px 0; border-top: 1px solid var(--line); }
.result-card strong { display: block; color: var(--ink); } .result-card span { color: var(--gold); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.editor-sidebar, .editor-side { background: linear-gradient(180deg, rgba(12,31,61,.96), rgba(2,6,17,.96)); border: 1px solid var(--line); box-shadow: 0 18px 60px rgba(0,0,0,.25); }
.editor-sidebar a, .editor-side a { display: block; padding: 10px 12px; border-radius: 12px; color: var(--muted); }
.editor-sidebar a.active, .editor-side a.active, .editor-sidebar a:hover, .editor-side a:hover { background: rgba(31,111,255,.16); color: var(--ink); }
.stat-grid.mini { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 0 0 22px; }
.stat-grid.mini div { padding: 18px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.045); } .stat-grid.mini strong { display:block; font-size: 28px; color: var(--gold); }
.tag-cloud { display: flex; gap: 10px; flex-wrap: wrap; margin: 22px 0; } .tag-cloud a { padding: 8px 12px; border-radius: 999px; background: rgba(31,111,255,.13); border: 1px solid rgba(31,111,255,.24); } .tag-cloud b { color: var(--gold); }
.actor-checkbox-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 20px 0; } .actor-checkbox-grid label { padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.05); }
.overlap-form { margin-top: 24px; }
.design-select-grid label { display: block; padding: 18px; border-radius: 18px; border: 1px solid var(--line); background: rgba(255,255,255,.045); }
.osint-card .card-map::after { content: "OSINT"; position:absolute; inset:0; display:grid; place-items:center; color:var(--gold); font-size:44px; font-weight:950; letter-spacing:.12em; }
@media (max-width: 1100px) {
  .site-header { align-items: flex-start; }
  .nav { flex-wrap: wrap; justify-content: flex-end; }
  .nav-search { order: 20; width: 100%; }
  .hero-command, .hybrid-hero, .dark-feature, .featured-report, .actor-profile { grid-template-columns: 1fr; }
  .design-preview-panel { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .category-grid, .report-grid, .pricing-grid, .actor-grid, .search-results-grid, .actor-checkbox-grid { grid-template-columns: 1fr; }
  .feed-row { grid-template-columns: 1fr; }
  h1 { font-size: clamp(36px, 14vw, 64px); }
  .site-header { position: static; }
}

/* v0.3.7 - professional public home and language switch */
.lang-toggle-pro {
  position: relative;
  display: inline-grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  min-width: 92px;
  height: 38px;
  padding: 4px;
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(0,200,255,.32);
  background: rgba(2,6,17,.72);
}
.lang-toggle-pro .lang-slider {
  position: absolute;
  top: 4px;
  bottom: 4px;
  left: 4px;
  width: calc(50% - 4px);
  border-radius: 999px;
  background: linear-gradient(135deg, var(--electric), var(--telemetry));
  box-shadow: 0 10px 24px rgba(31,111,255,.26);
  transition: transform .18s ease;
}
html[data-lang="en"] .lang-toggle-pro .lang-slider { transform: translateX(100%); }
.lang-toggle-pro .lang-option {
  position: relative;
  z-index: 2;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 30px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .08em;
}
.lang-toggle-pro .lang-option.active { color: #fff; }
.hero-professional { padding-bottom: 34px; }
.hero-lead { max-width: 820px; font-size: 18px; line-height: 1.85; color: #c8d7ec; }
.hero-kpis {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}
.hero-kpis div {
  min-width: 150px;
  padding: 14px 16px;
  border: 1px solid rgba(0,200,255,.22);
  border-radius: 16px;
  background: rgba(255,255,255,.045);
}
.hero-kpis strong { display: block; color: var(--gold); font-size: 22px; }
.hero-kpis span { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.command-center-card { border-color: rgba(246,196,79,.26); }
.home-intel-strip { margin-top: 30px; }
.intelligence-feature-card { align-items: stretch; }
.intelligence-feature-card .featured-copy { padding: 30px; }
.mini-meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0; }
.mini-meta span {
  border: 1px solid rgba(0,200,255,.22);
  border-radius: 999px;
  padding: 7px 10px;
  color: var(--muted);
  background: rgba(255,255,255,.04);
  font-size: 12px;
}
.mission-grid .category-card, .section-showcase-grid .report-card {
  min-height: 230px;
  overflow: hidden;
}
.section-showcase-grid .report-card { text-decoration: none; }
.section-showcase-grid .card-map { height: 120px; }
html[data-theme="light"] .lang-toggle-pro { background: rgba(255,255,255,.88); }
html[data-theme="light"] .hero-lead { color: #405269; }
html[data-theme="light"] .hero-kpis div { background: rgba(255,255,255,.72); }

/* v0.3.7 - Group-IB inspired intelligence detail layout */
.intel-detail-tabs {
  width: min(1480px, 94vw);
  margin: 0 auto;
  padding: 18px 0 0;
  display: flex;
  gap: 22px;
  align-items: center;
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 72px;
  z-index: 25;
  background: rgba(2,6,17,.82);
  backdrop-filter: blur(14px);
}
.intel-detail-tabs strong { margin-right: 8px; font-size: 22px; }
.intel-detail-tabs a { padding: 14px 0; color: var(--muted); font-weight: 900; border-bottom: 2px solid transparent; }
.intel-detail-tabs a.active, .intel-detail-tabs a:hover { color: var(--ink); border-bottom-color: var(--telemetry); }
.intel-profile-layout {
  width: min(1480px, 94vw);
  margin: 34px auto;
  display: grid;
  grid-template-columns: 360px minmax(0, 1fr);
  gap: 34px;
  align-items: start;
}
.intel-side-panel {
  position: sticky;
  top: 136px;
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 22px;
  background: linear-gradient(145deg, rgba(16,32,60,.96), rgba(7,14,30,.96));
}
.profile-avatar { width: 100%; aspect-ratio: 1/1; object-fit: cover; border-radius: 18px; border: 1px solid rgba(246,196,79,.36); margin-bottom: 18px; }
.intel-side-panel dl { grid-template-columns: 110px 1fr; font-size: 14px; }
.intel-main-panel { display: grid; gap: 18px; }
.report-section.flat { margin: 0; }
.split-facts { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
.split-facts div { border: 1px solid var(--line); border-radius: 16px; padding: 16px; background: rgba(255,255,255,.035); }
.split-facts strong { color: var(--gold); display: block; margin-bottom: 8px; }
.severity-dot { display:inline-block; width: 9px; height: 9px; border-radius: 999px; margin-right: 8px; background: var(--muted); }
.risk-high, .risk-critical { background: var(--danger); box-shadow: 0 0 14px rgba(255,59,87,.45); }
.risk-medium { background: var(--gold); box-shadow: 0 0 14px rgba(246,196,79,.35); }
.risk-low { background: var(--green); box-shadow: 0 0 14px rgba(46,229,157,.35); }
.actions.vertical { display: grid; gap: 10px; margin-top: 18px; }
@media (max-width: 980px) {
  .intel-profile-layout { grid-template-columns: 1fr; }
  .intel-side-panel, .intel-detail-tabs { position: static; }
  .split-facts { grid-template-columns: 1fr; }
}

/* v0.3.7 Home Studio private design selector */
.design-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.design-cards .design-option { position: relative; min-height: 210px; overflow: hidden; cursor: pointer; }
.design-cards input { position: absolute; opacity: 0; pointer-events: none; }
.design-cards strong { display: block; font-size: 22px; margin-bottom: 10px; }
.design-cards span { color: var(--muted); }
.design-cards i { position: absolute; inset: auto 18px 18px 18px; height: 78px; border-radius: 18px; background: linear-gradient(90deg, var(--electric), var(--telemetry), var(--gold)); opacity: .82; }
.design-cards .aurora i { background: linear-gradient(90deg, #00c8ff, #8b5cf6, #1f6fff); }
.design-cards .redteam i { background: linear-gradient(90deg, #1f6fff, #ff3b57, #f6c44f); }
.design-cards .design-option:has(input:checked) { border-color: rgba(246,196,79,.72); box-shadow: 0 0 0 3px rgba(246,196,79,.12), var(--shadow); }
@supports not selector(:has(*)) { .design-cards .design-option { border-color: rgba(246,196,79,.28); } }
@media (max-width: 980px) { .design-cards { grid-template-columns: 1fr; } }

/* v0.3.8: TDF and Threat Profile refinements */
.search-results-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tdf-grid { align-items: stretch; }
.tdf-card { display: grid; gap: 18px; }
.tdf-card-head { display: flex; justify-content: space-between; align-items: center; color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.tlp-badge { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 999px; border: 1px solid var(--line); font-weight: 900; font-size: 12px; letter-spacing: .08em; }
.tlp-clear { color: #dbeafe; background: rgba(148,163,184,.12); }
.tlp-green { color: #86efac; background: rgba(34,197,94,.12); border-color: rgba(34,197,94,.35); }
.tlp-amber { color: #facc15; background: rgba(250,204,21,.12); border-color: rgba(250,204,21,.35); }
.tlp-red { color: #ff8aa0; background: rgba(255,59,87,.14); border-color: rgba(255,59,87,.35); }
.tdf-sections-mini { display: flex; flex-wrap: wrap; gap: 8px; }
.tdf-sections-mini span { border: 1px solid var(--line); background: rgba(255,255,255,.05); border-radius: 999px; padding: 6px 10px; font-size: 12px; color: var(--muted); }
.tdf-detail-layout { width: min(1360px, 94vw); margin: 48px auto; display: grid; grid-template-columns: 330px 1fr; gap: 28px; }
.tdf-meta-panel { position: sticky; top: 110px; height: fit-content; }
.reference-list { display: grid; gap: 10px; padding-left: 20px; }
.reference-list a { color: var(--cyan); word-break: break-word; }
.switch-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.switch-grid label { border: 1px solid var(--line); border-radius: 16px; padding: 14px; background: rgba(255,255,255,.04); display: flex; align-items: center; gap: 10px; }
.switch-grid input { width: 18px; height: 18px; accent-color: var(--gold); }
.actor-tags { margin-top: 18px; }
.profile-main h1 { margin-bottom: 22px; }
.tp-duo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.tp-duo-grid .report-section { margin: 0; }
.compact-dl { display: grid; grid-template-columns: 140px 1fr; gap: 10px 16px; }
.compact-dl dt { color: var(--muted); }
.compact-dl dd { margin: 0; color: var(--ink); font-weight: 700; }
.profile-analysis { width: min(1360px, 94vw); margin: 34px auto; }
.diamond-section { overflow: hidden; }
.diamond-model { position: relative; min-height: 470px; display: grid; grid-template-columns: 1fr 1fr; gap: 130px 220px; align-items: stretch; padding: 30px; }
.diamond-node { position: relative; z-index: 2; border: 1px solid rgba(246,196,79,.28); background: linear-gradient(145deg, rgba(20,33,58,.96), rgba(7,17,31,.96)); border-radius: 22px; padding: 22px; box-shadow: var(--shadow); }
.diamond-node strong { color: var(--gold); text-transform: uppercase; letter-spacing: .08em; font-size: 12px; }
.diamond-node p { color: var(--muted); }
.diamond-lines { position: absolute; inset: 70px 20%; transform: rotate(45deg); border: 2px solid rgba(31,111,255,.35); border-radius: 18px; box-shadow: 0 0 50px rgba(31,111,255,.16); }
.diamond-lines::before, .diamond-lines::after { content: ''; position: absolute; background: rgba(31,111,255,.35); }
.diamond-lines::before { width: 2px; height: 100%; left: 50%; top: 0; }
.diamond-lines::after { height: 2px; width: 100%; left: 0; top: 50%; }
.diamond-meta { margin-top: 10px; border-top: 1px solid var(--line); padding-top: 18px; }
.mitre-navigator-board { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(190px, 1fr); gap: 12px; overflow-x: auto; padding: 16px 0 24px; }
.attack-column { min-width: 190px; display: grid; align-content: start; gap: 10px; }
.attack-column h3 { color: var(--muted); font-size: 13px; margin: 0 0 4px; text-transform: uppercase; letter-spacing: .08em; }
.attack-cell { text-align: left; border: 1px solid rgba(31,111,255,.28); background: rgba(3,8,20,.74); color: var(--ink); border-radius: 14px; padding: 12px; cursor: pointer; transition: .2s ease; }
.attack-cell strong { display: block; font-size: 13px; line-height: 1.25; }
.attack-cell small { color: var(--cyan); }
.attack-cell:hover, .attack-cell.active { border-color: var(--gold); box-shadow: 0 0 0 1px rgba(246,196,79,.2), 0 14px 32px rgba(246,196,79,.08); transform: translateY(-2px); }
.attack-detail { border: 1px solid var(--line); border-radius: 18px; padding: 18px; background: rgba(255,255,255,.04); margin-bottom: 18px; }
.attack-detail strong { color: var(--gold); }
.intel-detail-tabs { overflow-x: auto; }
@media (max-width: 980px) {
  .tdf-detail-layout, .tp-duo-grid { grid-template-columns: 1fr; }
  .switch-grid { grid-template-columns: 1fr 1fr; }
  .diamond-model { grid-template-columns: 1fr; gap: 18px; }
  .diamond-lines { display: none; }
}
@media (max-width: 680px) { .switch-grid, .search-results-grid.three { grid-template-columns: 1fr; } }
.inline-delete-form{display:inline;margin:0}.link-danger{background:transparent;border:0;color:#ff6b7c;cursor:pointer;font:inherit;padding:0}.link-danger:hover{text-decoration:underline;color:#ff3b57}.row-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}

/* v0.4.0 refinements: bilingual UI, TP layout, TDF analysis, diamond rhombus, IOC tables, carousel */
.home-hero-refined { width: min(1320px, 92vw); grid-template-columns: 1fr; padding-bottom: 26px; }
.hero-copy-wide { max-width: 960px; margin: 0 auto; text-align: left; }
.hero-copy-wide h1 { max-width: 980px; }
.intel-carousel-wrap { width: min(1320px, 92vw); margin: 8px auto 42px; }
.compact-head { margin-bottom: 14px; }
.intel-carousel { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(320px, 420px); gap: 16px; overflow-x: auto; padding: 8px 4px 18px; scroll-snap-type: x mandatory; }
.carousel-card { min-height: 260px; scroll-snap-align: start; display: grid; align-content: space-between; gap: 14px; border: 1px solid var(--line); border-radius: 24px; padding: 22px; background: linear-gradient(145deg, rgba(9,29,62,.92), rgba(2,6,17,.95)); box-shadow: var(--shadow); }
.carousel-card:hover { transform: translateY(-2px); border-color: rgba(246,196,79,.42); }
.carousel-type { color: var(--gold); font-weight: 900; letter-spacing: .08em; text-transform: uppercase; font-size: 12px; }
.carousel-card h3 { color: #86d9ff; font-size: 30px; }
.carousel-card small { color: var(--muted); }
.tp-polished { align-items: start; }
.actor-sticky-card { position: sticky; top: 92px; }
.tp-summary-row { display: grid; margin-top: 22px; }
.summary-wide { min-height: 260px; }
.tp-info-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 18px; }
.tp-info-grid .report-section { min-height: 260px; margin: 0; }
.centered-analysis { width: min(1180px, 90vw); margin-left: auto; margin-right: auto; }
.analysis-body-centered { max-width: 980px; margin: 0 auto; }
.analysis-body-centered h2, .analysis-body-centered h3 { text-align: center; }
.attack-detail { min-height: 104px; }
.diamond-rhombus { position: relative; min-height: 620px; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 120px 180px; align-items: center; padding: 84px 42px; overflow: hidden; }
.diamond-rhombus::before { content: ""; position: absolute; left: 50%; top: 50%; width: min(520px, 62vw); height: min(520px, 62vw); transform: translate(-50%, -50%) rotate(45deg); border: 1px solid rgba(31,111,255,.44); background: linear-gradient(135deg, rgba(31,111,255,.08), rgba(246,196,79,.035)); box-shadow: 0 0 90px rgba(31,111,255,.14) inset; }
.diamond-rhombus::after { content: ""; position: absolute; left: 50%; top: 50%; width: min(360px, 46vw); height: min(360px, 46vw); transform: translate(-50%, -50%) rotate(45deg); border: 1px dashed rgba(246,196,79,.34); }
.diamond-core { position: absolute; left: 50%; top: 50%; width: 84px; height: 84px; transform: translate(-50%, -50%) rotate(45deg); border-radius: 16px; border: 1px solid rgba(0,200,255,.48); background: radial-gradient(circle, rgba(0,200,255,.22), rgba(2,6,17,.88)); z-index: 1; }
.diamond-node { position: relative; z-index: 2; min-height: 170px; display: grid; align-content: start; border: 1px solid rgba(246,196,79,.28); border-radius: 22px; padding: 24px; background: linear-gradient(145deg, rgba(10,27,55,.92), rgba(2,6,17,.95)); }
.diamond-node p { margin: 10px 0 0; max-height: 220px; overflow: auto; }
.diamond-node strong { color: var(--gold); text-transform: uppercase; letter-spacing: .1em; font-size: 13px; }
.ioc-table-wrap { overflow-x: auto; }
.ioc-table { width: 100%; border-collapse: collapse; border-radius: 16px; overflow: hidden; }
.ioc-table th, .ioc-table td { padding: 13px 15px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.ioc-table th { color: var(--gold); background: rgba(255,255,255,.04); }
.ioc-table td:first-child { width: 160px; color: #8bdcff; font-weight: 900; }
.ioc-table code { word-break: break-all; white-space: normal; background: rgba(31,111,255,.10); color: #dff8ff; }
.tdf-card { min-height: 360px; grid-template-rows: auto 1fr auto; }
.tdf-sections-mini { display: flex; flex-wrap: wrap; gap: 8px; align-items: end; }
.tdf-sections-mini span { min-height: 34px; display: inline-flex; align-items: center; border: 1px solid var(--line); border-radius: 999px; padding: 7px 10px; color: var(--muted); background: rgba(255,255,255,.04); }
.lang-toggle-pro { position: relative; width: 86px; height: 38px; display: inline-grid; grid-template-columns: 1fr 1fr; align-items: center; padding: 3px; overflow: hidden; }
.lang-toggle-pro .lang-slider { position: absolute; width: 38px; height: 30px; top: 3px; left: 4px; border-radius: 999px; background: linear-gradient(135deg, var(--blue), #76d7ff); box-shadow: 0 10px 22px rgba(31,111,255,.28); transition: transform .18s ease; }
.lang-toggle-pro.is-en .lang-slider { transform: translateX(39px); }
.lang-toggle-pro .lang-option { position: relative; z-index: 1; text-align: center; font-size: 12px; color: var(--muted); }
.lang-toggle-pro .lang-option.active { color: #fff; }
.align-left { text-align: left !important; }
.align-center { text-align: center !important; }
.align-right { text-align: right !important; }
.report-body img { max-width: 100%; margin: 18px auto; border-radius: 14px; border: 1px solid var(--line); }
.report-body table { width: 100%; border-collapse: collapse; margin: 18px 0; }
.report-body th, .report-body td { border: 1px solid var(--line); padding: 10px 12px; }
.report-body th { color: var(--gold); background: rgba(255,255,255,.04); }
.switch-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; }
.switch-grid label { display: flex !important; flex-direction: row; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 14px; padding: 12px; margin: 0 !important; background: rgba(255,255,255,.035); }
.switch-grid input { width: auto; accent-color: var(--gold); }
.landscape-grid { width: min(1320px, 92vw); margin: 0 auto 70px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.landscape-panel { border: 1px solid var(--line); border-radius: 24px; padding: 22px; background: linear-gradient(145deg, rgba(9,29,62,.90), rgba(2,6,17,.95)); display: grid; gap: 14px; }
.landscape-panel a { display: grid; gap: 6px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.landscape-panel small { color: var(--muted); }
html[data-theme="light"] .carousel-card, html[data-theme="light"] .landscape-panel, html[data-theme="light"] .diamond-node { background: rgba(255,255,255,.92); }
html[data-theme="light"] .ioc-table code { color: #075985; }
@media (max-width: 1100px) { .tp-info-grid, .landscape-grid { grid-template-columns: 1fr; } .actor-sticky-card { position: static; } .diamond-rhombus { grid-template-columns: 1fr; gap: 18px; padding: 26px; } .diamond-rhombus::before, .diamond-rhombus::after, .diamond-core { display:none; } }

/* v0.4.1 editorial workflow refinements */
.section-access-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:14px}
.section-access-grid label{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:16px;background:rgba(10,22,44,.72)}
.section-access-grid select{grid-column:1/-1;margin-top:8px;width:100%;background:#07152a;color:var(--text);border:1px solid var(--line);border-radius:12px;padding:10px}
.editor-filter-bar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;padding:16px;border:1px solid var(--line);border-radius:20px;background:rgba(8,17,35,.76);margin:18px 0}
.editor-filter-bar label{display:grid;gap:6px;font-size:.85rem;color:var(--muted)}
.editor-filter-bar input,.editor-filter-bar select{min-height:42px;border-radius:12px;border:1px solid var(--line);background:#07152a;color:var(--text);padding:0 12px}
.editor-filter-bar .filter-grow{flex:1;min-width:280px}
.editor-modal-panel-wide{width:min(1180px,96vw);max-height:92vh;overflow:auto}
.editor-modal-head small{display:block;color:var(--muted);font-size:.78rem;margin-top:4px}
.brand-toolbar{position:sticky;top:0;z-index:3;background:rgba(8,17,35,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding-bottom:10px}
.editor-workbench{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.82fr);gap:16px}
.editor-workbench textarea{min-height:460px;font-family:var(--font-body);line-height:1.65;text-align:justify}
.editor-live-preview{border:1px solid var(--line);border-radius:18px;background:rgba(7,15,31,.72);padding:16px;overflow:auto;max-height:520px}
.editor-live-preview img{max-width:100%;border-radius:12px;border:1px solid var(--line)}
.editor-ioc-review{border:1px solid rgba(246,196,79,.38);border-radius:18px;background:rgba(7,15,31,.92);padding:14px;margin-top:14px}
.editor-modal-head.mini{padding:0 0 10px 0;border:0;display:flex;justify-content:space-between}
.ioc-review-table{width:100%;border-collapse:collapse;font-size:.92rem}
.ioc-review-table th,.ioc-review-table td{border-bottom:1px solid var(--line);padding:8px;text-align:left}
.ioc-review-table select,.ioc-review-table input{width:100%;border:1px solid var(--line);border-radius:10px;background:#07152a;color:var(--text);padding:9px}
.ioc-review-table button{border:1px solid var(--line);background:rgba(255,59,87,.16);color:#ff7b8e;border-radius:10px;padding:7px 10px}
.update-note{border-color:rgba(246,196,79,.35)!important;background:linear-gradient(135deg,rgba(246,196,79,.10),rgba(31,111,255,.06))!important}
.carousel-config select{min-height:210px;background:#07152a;color:var(--text);border:1px solid var(--line);border-radius:16px;padding:10px}
.tp-summary-row{display:block;margin:20px 0}
.summary-wide{min-height:230px}
.tp-info-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;align-items:stretch}
@media(max-width:1100px){.tp-info-grid{grid-template-columns:1fr}.editor-workbench{grid-template-columns:1fr}}
.analysis-centered{max-width:1120px;margin-inline:auto}
.diamond-grid.diamond-grid-rhombus{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,5vw,80px);padding:36px 44px;isolation:isolate}
.diamond-grid.diamond-grid-rhombus::before{content:"";position:absolute;inset:-20% 15%;border:1px solid rgba(31,111,255,.28);transform:rotate(45deg);z-index:-1}
.diamond-grid.diamond-grid-rhombus::after{content:"";position:absolute;inset:18% 33%;border:1px solid rgba(246,196,79,.22);transform:rotate(45deg);z-index:-1}
.diamond-grid.diamond-grid-rhombus .diamond-card{display:flex;flex-direction:column;justify-content:center;min-height:150px;text-align:left}
.report-body{text-align:justify}
.report-body .align-left{text-align:left}.report-body .align-center{text-align:center}.report-body .align-right{text-align:right}
.editor-list .editor-row h2{font-size:clamp(1.15rem,2vw,1.8rem)}

/* v0.4.2 rich editor polishing */
.report-body figure { margin: 22px auto; text-align: center; }
.report-body figure img { display: block; margin: 0 auto 10px; }
.report-body figcaption { color: var(--muted); font-size: .92rem; font-style: italic; }
.preview-body { color: var(--text); line-height: 1.75; }
.preview-body p { text-align: justify; }
.editor-workbench textarea { font-family: var(--font-body, system-ui), system-ui, sans-serif; line-height: 1.75; }
.editor-modal-panel-wide { max-height: 90vh; overflow: auto; }

/* v0.4.3 editorial workflow refinements */
body.editorial-mode .site-header .nav > a:not(.nav-pill),
body.editorial-mode .site-header .nav .nav-search { display: none; }
body.editorial-mode .site-footer { display: none; }
.editorial-stat-strip { margin: 22px 0 20px; }
.quick-module-panel { border: 1px solid var(--line); border-radius: 22px; background: linear-gradient(135deg, rgba(14,31,61,.72), rgba(5,10,22,.86)); padding: 20px; margin: 18px 0 34px; }
.quick-module-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; margin-top: 12px; }
.quick-module { display: block; border: 1px solid var(--line); border-radius: 16px; padding: 15px; color: var(--text); text-decoration: none; background: rgba(255,255,255,.045); transition: .2s ease; }
.quick-module:hover, .quick-module.active { border-color: rgba(246,196,79,.72); box-shadow: 0 0 0 1px rgba(246,196,79,.18), 0 14px 32px rgba(0,0,0,.22); transform: translateY(-1px); }
.quick-module strong { display:block; font-size:1.02rem; }
.quick-module small { display:block; color:var(--muted); margin-top:6px; line-height:1.45; }
.editor-floating-save { position: fixed; right: 24px; bottom: 24px; z-index: 80; border: 1px solid rgba(246,196,79,.55); border-radius: 999px; background: linear-gradient(135deg, var(--gold), #ffe38a); color: #081120; font-weight: 900; padding: 13px 20px; box-shadow: 0 16px 42px rgba(246,196,79,.26); cursor: pointer; }
.editor-floating-save:hover { transform: translateY(-1px); }
.compact-section-card { padding: 22px !important; }
.section-access-grid.compact { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
.section-access-grid.compact label { padding: 12px; border-radius: 14px; }
.section-access-grid.compact select { padding: 8px 10px; font-size: .92rem; }
.mitre-analysis-builder { border: 1px solid rgba(102,177,255,.38); border-radius: 22px; padding: 18px; background: linear-gradient(135deg, rgba(31,111,255,.09), rgba(0,0,0,.22)); margin: 14px 0 20px; }
.mitre-builder-head { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; margin-bottom:16px; }
.mitre-builder-head p { margin:.35rem 0 0; color:var(--muted); }
.mitre-builder-grid { display:grid; grid-template-columns: 280px 1fr; gap:16px; }
.mitre-tactic-list { display:grid; gap:8px; max-height:520px; overflow:auto; padding-right:4px; }
.mitre-tactic-list button { text-align:left; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.04); color:var(--text); padding:11px; cursor:pointer; }
.mitre-tactic-list button.active { border-color:rgba(246,196,79,.75); background:rgba(246,196,79,.10); }
.mitre-tactic-list small { display:block; color:var(--muted); margin-top:3px; }
.mitre-tactic-editor { border:1px solid var(--line); border-radius:18px; padding:16px; background:rgba(6,13,27,.74); }
.mitre-tactic-editor h3 { margin:0 0 12px; }
.mitre-tactic-editor label { display:grid; gap:8px; margin-bottom:12px; }
.mitre-tactic-editor select, .mitre-tactic-editor textarea { width:100%; border:1px solid var(--line); border-radius:14px; background:#07152a; color:var(--text); padding:12px; font:inherit; }
html[data-theme="light"] .mitre-tactic-editor select, html[data-theme="light"] .mitre-tactic-editor textarea { background:#fff; color:#0b1220; }
@media(max-width:980px){.mitre-builder-grid{grid-template-columns:1fr}.editor-floating-save{right:14px;bottom:14px}.quick-module-grid{grid-template-columns:1fr}}

/* v0.4.4 Visual organization system */
.visual-intel-system { width: min(1180px, 90vw); margin: 42px auto 10px; }
.compact-head p { max-width: 760px; }
.intel-lanes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.intel-lane { position: relative; min-height: 178px; display: grid; align-content: end; gap: 10px; padding: 20px; border: 1px solid rgba(148,163,184,.22); border-radius: 20px; background: linear-gradient(145deg, rgba(15,27,46,.96), rgba(2,6,17,.88)); overflow: hidden; box-shadow: 0 18px 45px rgba(0,0,0,.20); }
.intel-lane::before { content: ''; position: absolute; inset: -50% -30% auto auto; width: 190px; height: 190px; border-radius: 50%; background: radial-gradient(circle, rgba(31,111,255,.28), transparent 66%); }
.intel-lane::after { content: ''; position: absolute; left: 18px; top: 18px; width: 54px; height: 4px; border-radius: 999px; background: var(--gold); box-shadow: 0 0 24px rgba(246,196,79,.32); }
.intel-lane span { color: var(--gold); font-weight: 950; letter-spacing: .16em; font-size: 12px; }
.intel-lane strong { font-size: 20px; line-height: 1.08; color: var(--ink); }
.intel-lane p { margin: 0; font-size: 14px; line-height: 1.55; }
.lane-tdf { border-color: rgba(0,200,255,.28); }
.lane-tp { border-color: rgba(246,196,79,.32); }
.lane-campaign { border-color: rgba(255,59,87,.24); }
.lane-landscape { border-color: rgba(52,168,83,.24); }
.carousel-card { min-width: 320px; }
.intel-carousel { scroll-snap-type: x mandatory; }
.carousel-card { scroll-snap-align: start; }
.editorial-mode .site-header .nav > a:not(.nav-pill), .editorial-mode .site-header .nav-search, .editorial-mode .site-footer { display: none; }
.editorial-mode .site-header { background: rgba(2,6,17,.94); }
.quick-module-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.quick-module { min-height: 124px; }
.editor-row { border-left: 3px solid rgba(31,111,255,.55); }
.editor-row .row-actions a, .editor-row .row-actions button { font-weight: 900; }
@media (max-width: 980px) { .intel-lanes { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .intel-lanes { grid-template-columns: 1fr; } .carousel-card { min-width: 82vw; } }

.security-panel{max-width:780px;margin:6rem auto;padding:2rem;border:1px solid rgba(246,196,79,.25);border-radius:24px;background:linear-gradient(135deg,rgba(7,22,47,.96),rgba(2,6,17,.98));box-shadow:0 30px 120px rgba(0,0,0,.45)}
.security-secret{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin:1rem 0;padding:1rem;border:1px solid rgba(96,165,250,.25);border-radius:16px;background:rgba(255,255,255,.04)}
.security-secret code,.readonly-code{font-family:var(--font-code,monospace);color:#f6c44f;word-break:break-all}.readonly-code{width:100%;min-height:90px;padding:1rem;border-radius:14px;background:#020611;border:1px solid rgba(255,255,255,.12)}
.auth-form{display:grid;gap:.75rem;margin-top:1rem}.auth-form input{max-width:260px;font-size:1.2rem;letter-spacing:.2rem;text-align:center}
